@abi-software/map-utilities 1.8.0 → 1.8.1
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.
- package/dist/map-utilities.js +1282 -1282
- package/dist/map-utilities.umd.cjs +5 -5
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/components/ConnectivityGraph/ConnectivityGraph.vue +1 -1
- package/src/components/ConnectivityList/ReconciliationTable.vue +2 -0
- package/src/components/Tooltip/CreateTooltipContent.vue +5 -3
|
@@ -26,7 +26,7 @@ usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`),{initialZIndex:n,curr
|
|
|
26
26
|
<br>`}e+=`<div><strong>Comment:</strong>${r.body.comment}</div>
|
|
27
27
|
<br>`}),t.push(`<div>${e}</div>`)}return t.join(`
|
|
28
28
|
|
|
29
|
-
<br>`)},onCopied:function(){const t=this.annotationEntry[this.entryIndex],e={event_name:"portal_maps_annotation_copy_content",category:String((t==null?void 0:t.featureId)||"")};this.trackEvent(e)},trackEvent:function(t){const e={event:"interaction_event",location:"map_annotation",...t};this.$emit("trackEvent",e)}},watch:{annotationEntry:{deep:!0,immediate:!0,handler:function(t,e){t!==e&&(this.entryIndex=0,t!=null&&t.length&&this.emitActiveItemChange())}},entry:{deep:!0,immediate:!0,handler:function(t,e){t&&t!==e&&(this.resetSubmission(),this.updatePrevSubmissions())}}},mounted:function(){var t;(t=this.$annotator)==null||t.authenticate(this.userApiKey).then(e=>{e.name&&e.email&&e.canUpdate?(this.creator=e,e.orcid||(this.creator.orcid="0000-0000-0000-0000"),this.authenticated=!0):this.errorMessage="",this.updatePrevSubmissions()})}},Zn=t=>(s.pushScopeId("data-v-2a2f8754"),t=t(),s.popScopeId(),t),gM={key:0,class:"toggle-button"},mM={class:"block"},yM=Zn(()=>s.createElementVNode("div",{class:"title"},"Feature Annotations",-1)),bM={class:"title-buttons"},wM={key:0},CM=["href"],EM=Zn(()=>s.createElementVNode("strong",{class:"sub-title"},"Previous submissions:",-1)),xM=Zn(()=>s.createElementVNode("strong",null,"Evidence: ",-1)),kM=["href"],SM={key:1},_M={key:2},TM=Zn(()=>s.createElementVNode("strong",null,"Comment: ",-1)),NM=Zn(()=>s.createElementVNode("strong",{class:"sub-title"},"Suggest changes:",-1)),IM=Zn(()=>s.createElementVNode("strong",null,"Evidence:",-1)),BM=Zn(()=>s.createElementVNode("strong",null,"Comment:",-1)),DM={class:"sub-title"};function OM(t,e,r,n,a,i){const o=Dt,l=mn,u=fs,c=os,d=xe.ArrowUp,f=Xe,h=xe.ArrowDown,v=xe.Edit,p=xe.Delete,g=xe.Finished,m=Mi,y=xe.Close,b=MR,w=RR,C=Pi,x=Tc;return s.openBlock(),s.createBlock(x,{class:"main"},{default:s.withCtx(()=>[r.annotationEntry.length>1?(s.openBlock(),s.createElementBlock("div",gM,[s.createVNode(l,{width:"auto",trigger:"hover",teleported:!1},{reference:s.withCtx(()=>[s.createVNode(o,{class:"button",onClick:i.previous,disabled:this.entryIndex===0},{default:s.withCtx(()=>[s.createTextVNode(" Previous ")]),_:1},8,["onClick","disabled"])]),default:s.withCtx(()=>[s.createElementVNode("span",null,s.toDisplayString(i.previousLabel),1)]),_:1}),s.createVNode(l,{width:"auto",trigger:"hover",teleported:!1},{reference:s.withCtx(()=>[s.createVNode(o,{class:"button",onClick:i.next,disabled:this.entryIndex===this.annotationEntry.length-1},{default:s.withCtx(()=>[s.createTextVNode(" Next ")]),_:1},8,["onClick","disabled"])]),default:s.withCtx(()=>[s.createElementVNode("span",null,s.toDisplayString(i.nextLabel),1)]),_:1})])):s.createCommentVNode("",!0),s.createElementVNode("div",mM,[s.createVNode(c,{class:"info-field"},{default:s.withCtx(()=>[yM,s.createElementVNode("div",bM,[s.createVNode(u,{onCopied:i.onCopied,content:i.updatedCopyContent},null,8,["onCopied","content"])])]),_:1}),i.entry?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.displayPair,(k,E)=>s.withDirectives((s.openBlock(),s.createBlock(c,{class:"dialog-text",key:k},{default:s.withCtx(()=>[s.createElementVNode("strong",null,s.toDisplayString(E)+": ",1),s.createTextVNode(" "),E!=="Ontology"?(s.openBlock(),s.createElementBlock("span",wM,s.toDisplayString(i.entry[k]),1)):(s.openBlock(),s.createElementBlock("a",{key:1,href:i.ontologyLink,target:"_blank"},s.toDisplayString(i.entry[k]),9,CM))]),_:2},1024)),[[s.vShow,i.entry[k]]])),128)),t.prevSubs.length>0?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.withDirectives(s.createElementVNode("div",{class:"hide",onClick:e[0]||(e[0]=k=>t.showSubmissions=!1)},[s.createTextVNode(" Hide previous submissions "),s.createVNode(f,null,{default:s.withCtx(()=>[s.createVNode(d)]),_:1})],512),[[s.vShow,t.showSubmissions]]),s.withDirectives(s.createElementVNode("div",{class:"hide",onClick:e[1]||(e[1]=k=>t.showSubmissions=!0)},[s.createTextVNode(" Show previous "+s.toDisplayString(t.prevSubs.length)+" submission(s) ",1),s.createVNode(f,null,{default:s.withCtx(()=>[s.createVNode(h)]),_:1})],512),[[s.vShow,!t.showSubmissions]]),t.showSubmissions?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.createVNode(c,{class:"dialog-spacer"}),s.createVNode(c,{class:"dialog-text"},{default:s.withCtx(()=>[EM]),_:1}),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.prevSubs,(k,E)=>(s.openBlock(),s.createElementBlock("div",{class:"entry",key:E},[k.creator?(s.openBlock(),s.createBlock(c,{key:0,class:"dialog-text"},{default:s.withCtx(()=>[s.createElementVNode("strong",null,s.toDisplayString(i.formatTime(k.created)),1),s.createTextVNode(" "+s.toDisplayString(k.creator.name),1)]),_:2},1024)):s.createCommentVNode("",!0),s.createVNode(c,{class:"dialog-text"},{default:s.withCtx(()=>[xM,(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(i.processEvidences(k),(_,S)=>(s.openBlock(),s.createBlock(c,{key:_,class:"dialog-text"},{default:s.withCtx(()=>[typeof _=="object"?(s.openBlock(),s.createElementBlock("a",{key:0,href:Object.values(_)[0],target:"_blank"},s.toDisplayString(Object.keys(_)[0]),9,kM)):(s.openBlock(),s.createElementBlock("span",SM,s.toDisplayString(_),1)),S!==k.body.evidence.length-1?(s.openBlock(),s.createElementBlock("span",_M,", ")):s.createCommentVNode("",!0)]),_:2},1024))),128))]),_:2},1024),s.createVNode(c,{class:"dialog-text"},{default:s.withCtx(()=>[TM,s.createTextVNode(" "+s.toDisplayString(k.body.comment),1)]),_:2},1024)]))),128))],64)):s.createCommentVNode("",!0)],64)):s.createCommentVNode("",!0),t.authenticated||i.offlineAnnotationEnabled?(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[i.isEditable?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.createVNode(c,{class:"dialog-spacer"}),t.editing?(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[s.createVNode(c,{class:"dialog-text"},{default:s.withCtx(()=>[NM]),_:1}),i.isDeleted?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.createVNode(c,{class:"dialog-text"},{default:s.withCtx(()=>[IM]),_:1}),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.evidence,(k,E)=>(s.openBlock(),s.createBlock(c,{key:k},{default:s.withCtx(()=>[s.createVNode(m,{span:20},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(t.evidence[E]),1)]),_:2},1024),s.createVNode(m,{span:4},{default:s.withCtx(()=>[s.createVNode(f,{class:"standard-icon"},{default:s.withCtx(()=>[s.createVNode(y,{onClick:_=>i.removeEvidence(E)},null,8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128)),s.createVNode(c,null,{default:s.withCtx(()=>[s.createVNode(C,{size:"small",placeholder:"Enter",modelValue:t.newEvidence,"onUpdate:modelValue":e[4]||(e[4]=k=>t.newEvidence=k),onChange:e[5]||(e[5]=k=>i.evidenceEntered(k))},{prepend:s.withCtx(()=>[s.createVNode(w,{teleported:!1,modelValue:t.evidencePrefix,"onUpdate:modelValue":e[3]||(e[3]=k=>t.evidencePrefix=k),placeholder:"Other:",class:"select-box","popper-class":"flatmap_dropdown"},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.evidencePrefixes,k=>(s.openBlock(),s.createBlock(b,{key:k.label,value:k.value},{default:s.withCtx(()=>[s.createVNode(c,null,{default:s.withCtx(()=>[s.createVNode(m,{span:12},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(k.label),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])]),_:1})],64)),s.createVNode(c,null,{default:s.withCtx(()=>[BM]),_:1}),s.createVNode(c,{class:"dialog-text"},{default:s.withCtx(()=>[s.createVNode(C,{type:"textarea",autosize:{minRows:2,maxRows:4},placeholder:"Enter",modelValue:t.comment,"onUpdate:modelValue":e[6]||(e[6]=k=>t.comment=k)},null,8,["modelValue"])]),_:1}),s.createVNode(c,{class:"dialog-text"},{default:s.withCtx(()=>[s.createVNode(o,{class:"button",type:"primary",plain:"",onClick:i.submit},{default:s.withCtx(()=>[s.createTextVNode(" Submit ")]),_:1},8,["onClick"])]),_:1})],64)):(s.openBlock(),s.createBlock(c,{key:0},{default:s.withCtx(()=>[s.createVNode(f,{class:"standard-icon"},{default:s.withCtx(()=>[s.createVNode(v,{onClick:e[2]||(e[2]=k=>t.editing=!0)})]),_:1}),i.isDeleted?(s.openBlock(),s.createBlock(f,{key:0,class:"standard-icon"},{default:s.withCtx(()=>[s.createVNode(p,{onClick:i.submit},null,8,["onClick"])]),_:1})):i.isPositionUpdated?(s.openBlock(),s.createBlock(f,{key:1,class:"standard-icon"},{default:s.withCtx(()=>[s.createVNode(g,{onClick:i.submit},null,8,["onClick"])]),_:1})):s.createCommentVNode("",!0)]),_:1})),t.errorMessage?(s.openBlock(),s.createBlock(c,{key:2,class:"dialog-text"},{default:s.withCtx(()=>[s.createElementVNode("strong",DM,s.toDisplayString(t.errorMessage),1)]),_:1})):s.createCommentVNode("",!0)],64)):s.createCommentVNode("",!0)],64)):s.createCommentVNode("",!0)],64)):s.createCommentVNode("",!0)])]),_:1})}const T0=zt(vM,[["render",OM],["__scopeId","data-v-2a2f8754"]]),AM={name:"CreateTooltipContent",components:{Autocomplete:Uy,Button:Dt,Col:Mi,Container:ls,Header:m0,Input:Pi,Main:Tc},props:{createData:{type:Object,default:{drawingBox:!1,renaming:!1,toBeConfirmed:!1,points:[],tempGroupName:void 0,shape:"",x:0,y:0,editingIndex:-1,faceIndex:-1,toBeDeleted:!1,regionPrefix:"__annotation"}}},watch:{"createData.shape":{handler:function(t,e){this.group=this.createData.tempGroupName?this.createData.tempGroupName:"",e!==void 0&&this.$emit("cancel-create")},immediate:!0},"createData.tempGroupName":{handler:function(t){this.group=t||""},immediate:!0}},computed:{canBeConfirmed:function(){if(this.createData.editingIndex>-1)return!0;if(this.group)if(this.renaming){if(this.group!==this.createData.tempGroupName)return!0}else return!0;return!1},confirmText:function(){return this.createData.editingIndex>-1?"Edit":this.createData.renaming?"Rename":this.createData.toBeDeleted?"Delete":"Confirm"},creating:function(){return!(this.createData.editingIndex>-1||this.createData.renaming||this.createData.toBeDeleted)},dialogTitle:function(){const t=this.confirmText;return this.createData.toBeDeleted||this.createData.renaming?t:`${t} ${this.createData.shape}`},targetRegion:function(){return"regionPrefix"in this.createData?this.createData.regionPrefix:""}},data:function(){return{group:"default",region:"",showPoint:!1}},methods:{confirm:function(){this.$emit("confirm-create",{region:this.targetRegion+this.region,group:this.group,shape:this.createData.shape,editingIndex:this.createData.editingIndex,renaming:this.createData.renaming,deleting:this.createData.toBeDeleted}),this.group=this.createData.shape},cancel:function(){this.$emit("cancel-create")},fetchRegionSuggestions:function(t,e){e([]),this.$emit("create-region-suggestions",{term:t,cb:e})},fetchGroupSuggestions:function(t,e){e([]),this.$emit("create-group-suggestions",{term:t,cb:e,region:this.region})}}},PM=t=>(s.pushScopeId("data-v-1f36d377"),t=t(),s.popScopeId(),t),LM={key:0,class:"create-text"},RM={class:"suggested-value"},MM={class:"suggested-value"},FM=PM(()=>s.createElementVNode("div",{class:"warning-message"}," Group must be enterd before this action can be confirmed. ",-1));function $M(t,e,r,n,a,i){const o=m0,l=Mi,u=os,c=Uy,d=Dt,f=Tc,h=ls;return s.openBlock(),s.createBlock(h,{class:"create-container"},{default:s.withCtx(()=>[s.createVNode(o,{height:"30px",class:"header"},{default:s.withCtx(()=>[s.createElementVNode("div",null,s.toDisplayString(i.dialogTitle),1)]),_:1}),s.createVNode(f,{class:"slides-block"},{default:s.withCtx(()=>[i.creating&&i.targetRegion?(s.openBlock(),s.createElementBlock("span",LM,s.toDisplayString(`Primitives will be created in the ${i.targetRegion} region`),1)):s.createCommentVNode("",!0),s.withDirectives(s.createVNode(u,{class:"row"},{default:s.withCtx(()=>[s.createVNode(l,{offset:0,span:8},{default:s.withCtx(()=>[s.createTextVNode(" Position: ")]),_:1}),s.createVNode(l,{offset:0,span:16},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.createData.points,({value:v,i:p})=>(s.openBlock(),s.createBlock(u,{key:p,class:"value"},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(p),1)]),_:2},1024))),128))]),_:1})]),_:1},512),[[s.vShow,t.showPoint]]),s.createVNode(u,{class:"row"},{default:s.withCtx(()=>[s.createVNode(l,{offset:0,span:8},{default:s.withCtx(()=>[s.createTextVNode(" Region: ")]),_:1}),s.createVNode(l,{offset:0,span:16},{default:s.withCtx(()=>[s.createVNode(c,{class:"autocomplete-box","fit-input-width":!0,modelValue:t.region,"onUpdate:modelValue":e[0]||(e[0]=v=>t.region=v),placeholder:i.targetRegion,"fetch-suggestions":i.fetchRegionSuggestions,teleported:!0,"popper-class":"autocomplete-popper"},{default:s.withCtx(({item:v})=>[s.createElementVNode("div",RM,s.toDisplayString(v.value),1)]),_:1},8,["modelValue","placeholder","fetch-suggestions"])]),_:1})]),_:1}),s.createVNode(u,{class:"row"},{default:s.withCtx(()=>[s.createVNode(l,{offset:0,span:8},{default:s.withCtx(()=>[s.createTextVNode(" Group: ")]),_:1}),s.createVNode(l,{offset:0,span:16},{default:s.withCtx(()=>[s.createVNode(c,{class:"autocomplete-box",disabled:r.createData.editingIndex>-1||r.createData.toBeDeleted,"fit-input-width":!0,modelValue:t.group,"onUpdate:modelValue":e[1]||(e[1]=v=>t.group=v),placeholder:r.createData.shape,"fetch-suggestions":i.fetchGroupSuggestions,teleported:!0,"popper-class":"autocomplete-popper"},{default:s.withCtx(({item:v})=>[s.createElementVNode("div",MM,s.toDisplayString(v.value),1)]),_:1},8,["disabled","modelValue","placeholder","fetch-suggestions"])]),_:1})]),_:1}),i.canBeConfirmed?s.createCommentVNode("",!0):(s.openBlock(),s.createBlock(u,{key:1,class:"row"},{default:s.withCtx(()=>[FM]),_:1})),s.createVNode(u,null,{default:s.withCtx(()=>[s.createVNode(l,{offset:0,span:12},{default:s.withCtx(()=>[s.createVNode(d,{type:"primary",plain:"",onClick:i.confirm,disabled:!i.canBeConfirmed},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(i.confirmText),1)]),_:1},8,["onClick","disabled"])]),_:1}),s.createVNode(l,{offset:0,span:12},{default:s.withCtx(()=>[s.createVNode(d,{type:"primary",plain:"",onClick:i.cancel},{default:s.withCtx(()=>[s.createTextVNode(" Cancel ")]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1})]),_:1})}const VM=zt(AM,[["render",$M],["__scopeId","data-v-1f36d377"]]);function ht(t){"@babel/helpers - typeof";return ht=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ht(t)}function Pc(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function qM(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Lc(t,e,r){return e&&qM(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function N0(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function vr(t,e){return zM(t)||HM(t,e)||I0(t,e)||KM()}function zM(t){if(Array.isArray(t))return t}function HM(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],a=!0,i=!1,o,l;try{for(r=r.call(t);!(a=(o=r.next()).done)&&(n.push(o.value),!(e&&n.length===e));a=!0);}catch(u){i=!0,l=u}finally{try{!a&&r.return!=null&&r.return()}finally{if(i)throw l}}return n}}function I0(t,e){if(t){if(typeof t=="string")return B0(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return B0(t,e)}}function B0(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function KM(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
29
|
+
<br>`)},onCopied:function(){const t=this.annotationEntry[this.entryIndex],e={event_name:"portal_maps_annotation_copy_content",category:String((t==null?void 0:t.featureId)||"")};this.trackEvent(e)},trackEvent:function(t){const e={event:"interaction_event",location:"map_annotation",...t};this.$emit("trackEvent",e)}},watch:{annotationEntry:{deep:!0,immediate:!0,handler:function(t,e){t!==e&&(this.entryIndex=0,t!=null&&t.length&&this.emitActiveItemChange())}},entry:{deep:!0,immediate:!0,handler:function(t,e){t&&t!==e&&(this.resetSubmission(),this.updatePrevSubmissions())}}},mounted:function(){var t;(t=this.$annotator)==null||t.authenticate(this.userApiKey).then(e=>{e.name&&e.email&&e.canUpdate?(this.creator=e,e.orcid||(this.creator.orcid="0000-0000-0000-0000"),this.authenticated=!0):this.errorMessage="",this.updatePrevSubmissions()})}},Zn=t=>(s.pushScopeId("data-v-2a2f8754"),t=t(),s.popScopeId(),t),gM={key:0,class:"toggle-button"},mM={class:"block"},yM=Zn(()=>s.createElementVNode("div",{class:"title"},"Feature Annotations",-1)),bM={class:"title-buttons"},wM={key:0},CM=["href"],EM=Zn(()=>s.createElementVNode("strong",{class:"sub-title"},"Previous submissions:",-1)),xM=Zn(()=>s.createElementVNode("strong",null,"Evidence: ",-1)),kM=["href"],SM={key:1},_M={key:2},TM=Zn(()=>s.createElementVNode("strong",null,"Comment: ",-1)),NM=Zn(()=>s.createElementVNode("strong",{class:"sub-title"},"Suggest changes:",-1)),IM=Zn(()=>s.createElementVNode("strong",null,"Evidence:",-1)),BM=Zn(()=>s.createElementVNode("strong",null,"Comment:",-1)),DM={class:"sub-title"};function OM(t,e,r,n,a,i){const o=Dt,l=mn,u=fs,c=os,d=xe.ArrowUp,f=Xe,h=xe.ArrowDown,v=xe.Edit,p=xe.Delete,g=xe.Finished,m=Mi,y=xe.Close,b=MR,w=RR,C=Pi,x=Tc;return s.openBlock(),s.createBlock(x,{class:"main"},{default:s.withCtx(()=>[r.annotationEntry.length>1?(s.openBlock(),s.createElementBlock("div",gM,[s.createVNode(l,{width:"auto",trigger:"hover",teleported:!1},{reference:s.withCtx(()=>[s.createVNode(o,{class:"button",onClick:i.previous,disabled:this.entryIndex===0},{default:s.withCtx(()=>[s.createTextVNode(" Previous ")]),_:1},8,["onClick","disabled"])]),default:s.withCtx(()=>[s.createElementVNode("span",null,s.toDisplayString(i.previousLabel),1)]),_:1}),s.createVNode(l,{width:"auto",trigger:"hover",teleported:!1},{reference:s.withCtx(()=>[s.createVNode(o,{class:"button",onClick:i.next,disabled:this.entryIndex===this.annotationEntry.length-1},{default:s.withCtx(()=>[s.createTextVNode(" Next ")]),_:1},8,["onClick","disabled"])]),default:s.withCtx(()=>[s.createElementVNode("span",null,s.toDisplayString(i.nextLabel),1)]),_:1})])):s.createCommentVNode("",!0),s.createElementVNode("div",mM,[s.createVNode(c,{class:"info-field"},{default:s.withCtx(()=>[yM,s.createElementVNode("div",bM,[s.createVNode(u,{onCopied:i.onCopied,content:i.updatedCopyContent},null,8,["onCopied","content"])])]),_:1}),i.entry?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.displayPair,(k,E)=>s.withDirectives((s.openBlock(),s.createBlock(c,{class:"dialog-text",key:k},{default:s.withCtx(()=>[s.createElementVNode("strong",null,s.toDisplayString(E)+": ",1),s.createTextVNode(" "),E!=="Ontology"?(s.openBlock(),s.createElementBlock("span",wM,s.toDisplayString(i.entry[k]),1)):(s.openBlock(),s.createElementBlock("a",{key:1,href:i.ontologyLink,target:"_blank"},s.toDisplayString(i.entry[k]),9,CM))]),_:2},1024)),[[s.vShow,i.entry[k]]])),128)),t.prevSubs.length>0?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.withDirectives(s.createElementVNode("div",{class:"hide",onClick:e[0]||(e[0]=k=>t.showSubmissions=!1)},[s.createTextVNode(" Hide previous submissions "),s.createVNode(f,null,{default:s.withCtx(()=>[s.createVNode(d)]),_:1})],512),[[s.vShow,t.showSubmissions]]),s.withDirectives(s.createElementVNode("div",{class:"hide",onClick:e[1]||(e[1]=k=>t.showSubmissions=!0)},[s.createTextVNode(" Show previous "+s.toDisplayString(t.prevSubs.length)+" submission(s) ",1),s.createVNode(f,null,{default:s.withCtx(()=>[s.createVNode(h)]),_:1})],512),[[s.vShow,!t.showSubmissions]]),t.showSubmissions?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.createVNode(c,{class:"dialog-spacer"}),s.createVNode(c,{class:"dialog-text"},{default:s.withCtx(()=>[EM]),_:1}),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.prevSubs,(k,E)=>(s.openBlock(),s.createElementBlock("div",{class:"entry",key:E},[k.creator?(s.openBlock(),s.createBlock(c,{key:0,class:"dialog-text"},{default:s.withCtx(()=>[s.createElementVNode("strong",null,s.toDisplayString(i.formatTime(k.created)),1),s.createTextVNode(" "+s.toDisplayString(k.creator.name),1)]),_:2},1024)):s.createCommentVNode("",!0),s.createVNode(c,{class:"dialog-text"},{default:s.withCtx(()=>[xM,(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(i.processEvidences(k),(_,S)=>(s.openBlock(),s.createBlock(c,{key:_,class:"dialog-text"},{default:s.withCtx(()=>[typeof _=="object"?(s.openBlock(),s.createElementBlock("a",{key:0,href:Object.values(_)[0],target:"_blank"},s.toDisplayString(Object.keys(_)[0]),9,kM)):(s.openBlock(),s.createElementBlock("span",SM,s.toDisplayString(_),1)),S!==k.body.evidence.length-1?(s.openBlock(),s.createElementBlock("span",_M,", ")):s.createCommentVNode("",!0)]),_:2},1024))),128))]),_:2},1024),s.createVNode(c,{class:"dialog-text"},{default:s.withCtx(()=>[TM,s.createTextVNode(" "+s.toDisplayString(k.body.comment),1)]),_:2},1024)]))),128))],64)):s.createCommentVNode("",!0)],64)):s.createCommentVNode("",!0),t.authenticated||i.offlineAnnotationEnabled?(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[i.isEditable?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.createVNode(c,{class:"dialog-spacer"}),t.editing?(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[s.createVNode(c,{class:"dialog-text"},{default:s.withCtx(()=>[NM]),_:1}),i.isDeleted?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.createVNode(c,{class:"dialog-text"},{default:s.withCtx(()=>[IM]),_:1}),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.evidence,(k,E)=>(s.openBlock(),s.createBlock(c,{key:k},{default:s.withCtx(()=>[s.createVNode(m,{span:20},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(t.evidence[E]),1)]),_:2},1024),s.createVNode(m,{span:4},{default:s.withCtx(()=>[s.createVNode(f,{class:"standard-icon"},{default:s.withCtx(()=>[s.createVNode(y,{onClick:_=>i.removeEvidence(E)},null,8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128)),s.createVNode(c,null,{default:s.withCtx(()=>[s.createVNode(C,{size:"small",placeholder:"Enter",modelValue:t.newEvidence,"onUpdate:modelValue":e[4]||(e[4]=k=>t.newEvidence=k),onChange:e[5]||(e[5]=k=>i.evidenceEntered(k))},{prepend:s.withCtx(()=>[s.createVNode(w,{teleported:!1,modelValue:t.evidencePrefix,"onUpdate:modelValue":e[3]||(e[3]=k=>t.evidencePrefix=k),placeholder:"Other:",class:"select-box","popper-class":"flatmap_dropdown"},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(t.evidencePrefixes,k=>(s.openBlock(),s.createBlock(b,{key:k.label,value:k.value},{default:s.withCtx(()=>[s.createVNode(c,null,{default:s.withCtx(()=>[s.createVNode(m,{span:12},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(k.label),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])]),_:1})],64)),s.createVNode(c,null,{default:s.withCtx(()=>[BM]),_:1}),s.createVNode(c,{class:"dialog-text"},{default:s.withCtx(()=>[s.createVNode(C,{type:"textarea",autosize:{minRows:2,maxRows:4},placeholder:"Enter",modelValue:t.comment,"onUpdate:modelValue":e[6]||(e[6]=k=>t.comment=k)},null,8,["modelValue"])]),_:1}),s.createVNode(c,{class:"dialog-text"},{default:s.withCtx(()=>[s.createVNode(o,{class:"button",type:"primary",plain:"",onClick:i.submit},{default:s.withCtx(()=>[s.createTextVNode(" Submit ")]),_:1},8,["onClick"])]),_:1})],64)):(s.openBlock(),s.createBlock(c,{key:0},{default:s.withCtx(()=>[s.createVNode(f,{class:"standard-icon"},{default:s.withCtx(()=>[s.createVNode(v,{onClick:e[2]||(e[2]=k=>t.editing=!0)})]),_:1}),i.isDeleted?(s.openBlock(),s.createBlock(f,{key:0,class:"standard-icon"},{default:s.withCtx(()=>[s.createVNode(p,{onClick:i.submit},null,8,["onClick"])]),_:1})):i.isPositionUpdated?(s.openBlock(),s.createBlock(f,{key:1,class:"standard-icon"},{default:s.withCtx(()=>[s.createVNode(g,{onClick:i.submit},null,8,["onClick"])]),_:1})):s.createCommentVNode("",!0)]),_:1})),t.errorMessage?(s.openBlock(),s.createBlock(c,{key:2,class:"dialog-text"},{default:s.withCtx(()=>[s.createElementVNode("strong",DM,s.toDisplayString(t.errorMessage),1)]),_:1})):s.createCommentVNode("",!0)],64)):s.createCommentVNode("",!0)],64)):s.createCommentVNode("",!0)],64)):s.createCommentVNode("",!0)])]),_:1})}const T0=zt(vM,[["render",OM],["__scopeId","data-v-2a2f8754"]]),AM={name:"CreateTooltipContent",components:{Autocomplete:Uy,Button:Dt,Col:Mi,Container:ls,Header:m0,Input:Pi,Main:Tc},props:{createData:{type:Object,default:{drawingBox:!1,renaming:!1,toBeConfirmed:!1,points:[],tempGroupName:void 0,shape:"",x:0,y:0,editingIndex:-1,faceIndex:-1,toBeDeleted:!1,regionPrefix:"__annotation"}}},watch:{"createData.shape":{handler:function(t,e){this.group=this.createData.tempGroupName?this.createData.tempGroupName:"",e!==void 0&&this.$emit("cancel-create")},immediate:!0},"createData.tempGroupName":{handler:function(t){this.group=t||""},immediate:!0}},computed:{canBeConfirmed:function(){if(!this.createData.toBeDeleted&&this.createData.editingIndex>-1)return!0;if(this.group)if(this.createData.renaming){if(this.group!==this.createData.tempGroupName)return!0}else return!0;return!1},confirmText:function(){return!this.createData.toBeDeleted&&this.createData.editingIndex>-1?"Edit":this.createData.renaming?"Rename":this.createData.toBeDeleted?"Delete":"Confirm"},creating:function(){return!(this.createData.editingIndex>-1||this.createData.renaming||this.createData.toBeDeleted)},dialogTitle:function(){const t=this.confirmText;return this.createData.toBeDeleted||this.createData.renaming?t:`${t} ${this.createData.shape}`},targetRegion:function(){return"regionPrefix"in this.createData?this.createData.regionPrefix:""}},data:function(){return{group:"default",region:"",showPoint:!1}},methods:{confirm:function(){this.$emit("confirm-create",{region:this.targetRegion+this.region,group:this.group,shape:this.createData.shape,editingIndex:this.createData.editingIndex,renaming:this.createData.renaming,deleting:this.createData.toBeDeleted}),this.group=this.createData.shape},cancel:function(){this.$emit("cancel-create")},fetchRegionSuggestions:function(t,e){e([]),this.$emit("create-region-suggestions",{term:t,cb:e})},fetchGroupSuggestions:function(t,e){e([]),this.$emit("create-group-suggestions",{term:t,cb:e,region:this.region})}}},PM=t=>(s.pushScopeId("data-v-4077111a"),t=t(),s.popScopeId(),t),LM={key:0,class:"create-text"},RM={class:"suggested-value"},MM={class:"suggested-value"},FM=PM(()=>s.createElementVNode("div",{class:"warning-message"}," Group must be enterd before this action can be confirmed. ",-1));function $M(t,e,r,n,a,i){const o=m0,l=Mi,u=os,c=Uy,d=Dt,f=Tc,h=ls;return s.openBlock(),s.createBlock(h,{class:"create-container"},{default:s.withCtx(()=>[s.createVNode(o,{height:"30px",class:"header"},{default:s.withCtx(()=>[s.createElementVNode("div",null,s.toDisplayString(i.dialogTitle),1)]),_:1}),s.createVNode(f,{class:"slides-block"},{default:s.withCtx(()=>[i.creating&&i.targetRegion?(s.openBlock(),s.createElementBlock("span",LM,s.toDisplayString(`Primitives will be created in the ${i.targetRegion} region`),1)):s.createCommentVNode("",!0),s.withDirectives(s.createVNode(u,{class:"row"},{default:s.withCtx(()=>[s.createVNode(l,{offset:0,span:8},{default:s.withCtx(()=>[s.createTextVNode(" Position: ")]),_:1}),s.createVNode(l,{offset:0,span:16},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.createData.points,({value:v,i:p})=>(s.openBlock(),s.createBlock(u,{key:p,class:"value"},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(p),1)]),_:2},1024))),128))]),_:1})]),_:1},512),[[s.vShow,t.showPoint]]),s.createVNode(u,{class:"row"},{default:s.withCtx(()=>[s.createVNode(l,{offset:0,span:8},{default:s.withCtx(()=>[s.createTextVNode(" Region: ")]),_:1}),s.createVNode(l,{offset:0,span:16},{default:s.withCtx(()=>[s.createVNode(c,{class:"autocomplete-box","fit-input-width":!0,modelValue:t.region,"onUpdate:modelValue":e[0]||(e[0]=v=>t.region=v),placeholder:i.targetRegion,"fetch-suggestions":i.fetchRegionSuggestions,teleported:!0,"popper-class":"autocomplete-popper"},{default:s.withCtx(({item:v})=>[s.createElementVNode("div",RM,s.toDisplayString(v.value),1)]),_:1},8,["modelValue","placeholder","fetch-suggestions"])]),_:1})]),_:1}),s.createVNode(u,{class:"row"},{default:s.withCtx(()=>[s.createVNode(l,{offset:0,span:8},{default:s.withCtx(()=>[s.createTextVNode(" Group: ")]),_:1}),s.createVNode(l,{offset:0,span:16},{default:s.withCtx(()=>[s.createVNode(c,{class:"autocomplete-box",disabled:r.createData.editingIndex>-1||r.createData.toBeDeleted,"fit-input-width":!0,modelValue:t.group,"onUpdate:modelValue":e[1]||(e[1]=v=>t.group=v),placeholder:r.createData.shape,"fetch-suggestions":i.fetchGroupSuggestions,teleported:!0,"popper-class":"autocomplete-popper"},{default:s.withCtx(({item:v})=>[s.createElementVNode("div",MM,s.toDisplayString(v.value),1)]),_:1},8,["disabled","modelValue","placeholder","fetch-suggestions"])]),_:1})]),_:1}),i.canBeConfirmed?s.createCommentVNode("",!0):(s.openBlock(),s.createBlock(u,{key:1,class:"row"},{default:s.withCtx(()=>[FM]),_:1})),s.createVNode(u,null,{default:s.withCtx(()=>[s.createVNode(l,{offset:0,span:12},{default:s.withCtx(()=>[s.createVNode(d,{type:"primary",plain:"",onClick:i.confirm,disabled:!i.canBeConfirmed},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(i.confirmText),1)]),_:1},8,["onClick","disabled"])]),_:1}),s.createVNode(l,{offset:0,span:12},{default:s.withCtx(()=>[s.createVNode(d,{type:"primary",plain:"",onClick:i.cancel},{default:s.withCtx(()=>[s.createTextVNode(" Cancel ")]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1})]),_:1})}const VM=zt(AM,[["render",$M],["__scopeId","data-v-4077111a"]]);function ht(t){"@babel/helpers - typeof";return ht=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ht(t)}function Pc(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function qM(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function Lc(t,e,r){return e&&qM(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function N0(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function vr(t,e){return zM(t)||HM(t,e)||I0(t,e)||KM()}function zM(t){if(Array.isArray(t))return t}function HM(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],a=!0,i=!1,o,l;try{for(r=r.call(t);!(a=(o=r.next()).done)&&(n.push(o.value),!(e&&n.length===e));a=!0);}catch(u){i=!0,l=u}finally{try{!a&&r.return!=null&&r.return()}finally{if(i)throw l}}return n}}function I0(t,e){if(t){if(typeof t=="string")return B0(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return B0(t,e)}}function B0(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function KM(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
30
30
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function D0(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=I0(t))||e){r&&(t=r);var n=0,a=function(){};return{s:a,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(u){throw u},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
31
31
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,o=!1,l;return{s:function(){r=r.call(t)},n:function(){var u=r.next();return i=u.done,u},e:function(u){o=!0,l=u},f:function(){try{!i&&r.return!=null&&r.return()}finally{if(o)throw l}}}}var pt=typeof window>"u"?null:window,O0=pt?pt.navigator:null;pt&&pt.document;var GM=ht(""),A0=ht({}),UM=ht(function(){}),WM=typeof HTMLElement>"u"?"undefined":ht(HTMLElement),Hi=function(e){return e&&e.instanceString&&Je(e.instanceString)?e.instanceString():null},Ee=function(e){return e!=null&&ht(e)==GM},Je=function(e){return e!=null&&ht(e)===UM},Ke=function(e){return!Xt(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},Pe=function(e){return e!=null&&ht(e)===A0&&!Ke(e)&&e.constructor===Object},jM=function(e){return e!=null&&ht(e)===A0},de=function(e){return e!=null&&ht(e)===ht(1)&&!isNaN(e)},YM=function(e){return de(e)&&Math.floor(e)===e},hs=function(e){if(WM!=="undefined")return e!=null&&e instanceof HTMLElement},Xt=function(e){return Ki(e)||P0(e)},Ki=function(e){return Hi(e)==="collection"&&e._private.single},P0=function(e){return Hi(e)==="collection"&&!e._private.single},Rc=function(e){return Hi(e)==="core"},L0=function(e){return Hi(e)==="stylesheet"},ZM=function(e){return Hi(e)==="event"},yn=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},XM=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},JM=function(e){return Pe(e)&&de(e.x1)&&de(e.x2)&&de(e.y1)&&de(e.y2)},QM=function(e){return jM(e)&&Je(e.then)},eF=function(){return O0&&O0.userAgent.match(/msie|trident|edge/i)},Gi=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var i=[],o=0;o<arguments.length;o++)i.push(arguments[o]);return i.join("$")});var n=function a(){var i=this,o=arguments,l,u=r.apply(i,o),c=a.cache;return(l=c[u])||(l=c[u]=e.apply(i,o)),l};return n.cache={},n},Mc=Gi(function(t){return t.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}),ps=Gi(function(t){return t.replace(/(-\w)/g,function(e){return e[1].toUpperCase()})}),R0=Gi(function(t,e){return t+e[0].toUpperCase()+e.substring(1)},function(t,e){return t+"$"+e}),M0=function(e){return yn(e)?e:e.charAt(0).toUpperCase()+e.substring(1)},vt="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))",tF="rgb[a]?\\(("+vt+"[%]?)\\s*,\\s*("+vt+"[%]?)\\s*,\\s*("+vt+"[%]?)(?:\\s*,\\s*("+vt+"))?\\)",rF="rgb[a]?\\((?:"+vt+"[%]?)\\s*,\\s*(?:"+vt+"[%]?)\\s*,\\s*(?:"+vt+"[%]?)(?:\\s*,\\s*(?:"+vt+"))?\\)",nF="hsl[a]?\\(("+vt+")\\s*,\\s*("+vt+"[%])\\s*,\\s*("+vt+"[%])(?:\\s*,\\s*("+vt+"))?\\)",aF="hsl[a]?\\((?:"+vt+")\\s*,\\s*(?:"+vt+"[%])\\s*,\\s*(?:"+vt+"[%])(?:\\s*,\\s*(?:"+vt+"))?\\)",iF="\\#[0-9a-fA-F]{3}",oF="\\#[0-9a-fA-F]{6}",F0=function(e,r){return e<r?-1:e>r?1:0},sF=function(e,r){return-1*F0(e,r)},Te=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r<e.length;r++){var n=e[r];if(n!=null)for(var a=Object.keys(n),i=0;i<a.length;i++){var o=a[i];t[o]=n[o]}}return t},lF=function(e){if(!(!(e.length===4||e.length===7)||e[0]!=="#")){var r=e.length===4,n,a,i,o=16;return r?(n=parseInt(e[1]+e[1],o),a=parseInt(e[2]+e[2],o),i=parseInt(e[3]+e[3],o)):(n=parseInt(e[1]+e[2],o),a=parseInt(e[3]+e[4],o),i=parseInt(e[5]+e[6],o)),[n,a,i]}},cF=function(e){var r,n,a,i,o,l,u,c;function d(p,g,m){return m<0&&(m+=1),m>1&&(m-=1),m<1/6?p+(g-p)*6*m:m<1/2?g:m<2/3?p+(g-p)*(2/3-m)*6:p}var f=new RegExp("^"+nF+"$").exec(e);if(f){if(n=parseInt(f[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,a=parseFloat(f[2]),a<0||a>100||(a=a/100,i=parseFloat(f[3]),i<0||i>100)||(i=i/100,o=f[4],o!==void 0&&(o=parseFloat(o),o<0||o>1)))return;if(a===0)l=u=c=Math.round(i*255);else{var h=i<.5?i*(1+a):i+a-i*a,v=2*i-h;l=Math.round(255*d(v,h,n+1/3)),u=Math.round(255*d(v,h,n)),c=Math.round(255*d(v,h,n-1/3))}r=[l,u,c,o]}return r},uF=function(e){var r,n=new RegExp("^"+tF+"$").exec(e);if(n){r=[];for(var a=[],i=1;i<=3;i++){var o=n[i];if(o[o.length-1]==="%"&&(a[i]=!0),o=parseFloat(o),a[i]&&(o=o/100*255),o<0||o>255)return;r.push(Math.floor(o))}var l=a[1]||a[2]||a[3],u=a[1]&&a[2]&&a[3];if(l&&!u)return;var c=n[4];if(c!==void 0){if(c=parseFloat(c),c<0||c>1)return;r.push(c)}}return r},dF=function(e){return hF[e.toLowerCase()]},fF=function(e){return(Ke(e)?e:null)||dF(e)||lF(e)||uF(e)||cF(e)},hF={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},$0=function(e){for(var r=e.map,n=e.keys,a=n.length,i=0;i<a;i++){var o=n[i];if(Pe(o))throw Error("Tried to set map with object key");i<n.length-1?(r[o]==null&&(r[o]={}),r=r[o]):r[o]=e.value}},V0=function(e){for(var r=e.map,n=e.keys,a=n.length,i=0;i<a;i++){var o=n[i];if(Pe(o))throw Error("Tried to get map with object key");if(r=r[o],r==null)return r}return r};function pF(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Xn=pF,Ui=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function vF(t,e){return e={exports:{}},t(e,e.exports),e.exports}var gF=typeof Ui=="object"&&Ui&&Ui.Object===Object&&Ui,mF=gF,yF=typeof self=="object"&&self&&self.Object===Object&&self,bF=mF||yF||Function("return this")(),vs=bF,wF=function(){return vs.Date.now()},Fc=wF,CF=/\s/;function EF(t){for(var e=t.length;e--&&CF.test(t.charAt(e)););return e}var xF=EF,kF=/^\s+/;function SF(t){return t&&t.slice(0,xF(t)+1).replace(kF,"")}var _F=SF,TF=vs.Symbol,Ma=TF,q0=Object.prototype,NF=q0.hasOwnProperty,IF=q0.toString,Wi=Ma?Ma.toStringTag:void 0;function BF(t){var e=NF.call(t,Wi),r=t[Wi];try{t[Wi]=void 0;var n=!0}catch{}var a=IF.call(t);return n&&(e?t[Wi]=r:delete t[Wi]),a}var DF=BF,OF=Object.prototype,AF=OF.toString;function PF(t){return AF.call(t)}var LF=PF,RF="[object Null]",MF="[object Undefined]",z0=Ma?Ma.toStringTag:void 0;function FF(t){return t==null?t===void 0?MF:RF:z0&&z0 in Object(t)?DF(t):LF(t)}var H0=FF;function $F(t){return t!=null&&typeof t=="object"}var VF=$F,qF="[object Symbol]";function zF(t){return typeof t=="symbol"||VF(t)&&H0(t)==qF}var ji=zF,K0=NaN,HF=/^[-+]0x[0-9a-f]+$/i,KF=/^0b[01]+$/i,GF=/^0o[0-7]+$/i,UF=parseInt;function WF(t){if(typeof t=="number")return t;if(ji(t))return K0;if(Xn(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Xn(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=_F(t);var r=KF.test(t);return r||GF.test(t)?UF(t.slice(2),r?2:8):HF.test(t)?K0:+t}var G0=WF,jF="Expected a function",YF=Math.max,ZF=Math.min;function XF(t,e,r){var n,a,i,o,l,u,c=0,d=!1,f=!1,h=!0;if(typeof t!="function")throw new TypeError(jF);e=G0(e)||0,Xn(r)&&(d=!!r.leading,f="maxWait"in r,i=f?YF(G0(r.maxWait)||0,e):i,h="trailing"in r?!!r.trailing:h);function v(k){var E=n,_=a;return n=a=void 0,c=k,o=t.apply(_,E),o}function p(k){return c=k,l=setTimeout(y,e),d?v(k):o}function g(k){var E=k-u,_=k-c,S=e-E;return f?ZF(S,i-_):S}function m(k){var E=k-u,_=k-c;return u===void 0||E>=e||E<0||f&&_>=i}function y(){var k=Fc();if(m(k))return b(k);l=setTimeout(y,g(k))}function b(k){return l=void 0,h&&n?v(k):(n=a=void 0,o)}function w(){l!==void 0&&clearTimeout(l),c=0,n=u=a=l=void 0}function C(){return l===void 0?o:b(Fc())}function x(){var k=Fc(),E=m(k);if(n=arguments,a=this,u=k,E){if(l===void 0)return p(u);if(f)return clearTimeout(l),l=setTimeout(y,e),v(u)}return l===void 0&&(l=setTimeout(y,e)),o}return x.cancel=w,x.flush=C,x}var gs=XF,$c=pt?pt.performance:null,U0=$c&&$c.now?function(){return $c.now()}:function(){return Date.now()},JF=function(){if(pt){if(pt.requestAnimationFrame)return function(t){pt.requestAnimationFrame(t)};if(pt.mozRequestAnimationFrame)return function(t){pt.mozRequestAnimationFrame(t)};if(pt.webkitRequestAnimationFrame)return function(t){pt.webkitRequestAnimationFrame(t)};if(pt.msRequestAnimationFrame)return function(t){pt.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout(function(){t(U0())},1e3/60)}}(),ms=function(e){return JF(e)},Zr=U0,Fa=9261,W0=65599,Yi=5381,j0=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Fa,n=r,a;a=e.next(),!a.done;)n=n*W0+a.value|0;return n},Zi=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Fa;return r*W0+e|0},Xi=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Yi;return(r<<5)+r+e|0},QF=function(e,r){return e*2097152+r},bn=function(e){return e[0]*2097152+e[1]},ys=function(e,r){return[Zi(e[0],r[0]),Xi(e[1],r[1])]},e5=function(e,r){var n={value:0,done:!1},a=0,i=e.length,o={next:function(){return a<i?n.value=e[a++]:n.done=!0,n}};return j0(o,r)},Jn=function(e,r){var n={value:0,done:!1},a=0,i=e.length,o={next:function(){return a<i?n.value=e.charCodeAt(a++):n.done=!0,n}};return j0(o,r)},Y0=function(){return t5(arguments)},t5=function(e){for(var r,n=0;n<e.length;n++){var a=e[n];n===0?r=Jn(a):r=Jn(a,r)}return r},Z0=!0,r5=console.warn!=null,n5=console.trace!=null,Vc=Number.MAX_SAFE_INTEGER||9007199254740991,X0=function(){return!0},bs=function(){return!1},J0=function(){return 0},qc=function(){},Qe=function(e){throw new Error(e)},Q0=function(e){if(e!==void 0)Z0=!!e;else return Z0},$e=function(e){Q0()&&(r5?console.warn(e):(console.log(e),n5&&console.trace()))},a5=function(e){return Te({},e)},Nr=function(e){return e==null?e:Ke(e)?e.slice():Pe(e)?a5(e):e},i5=function(e){return e.slice()},eb=function(e,r){for(r=e="";e++<36;r+=e*51&52?(e^15?8^Math.random()*(e^20?16:4):4).toString(16):"-");return r},o5={},tb=function(){return o5},St=function(e){var r=Object.keys(e);return function(n){for(var a={},i=0;i<r.length;i++){var o=r[i],l=n==null?void 0:n[o];a[o]=l===void 0?e[o]:l}return a}},wn=function(e,r,n){for(var a=e.length-1;a>=0;a--)e[a]===r&&e.splice(a,1)},zc=function(e){e.splice(0,e.length)},s5=function(e,r){for(var n=0;n<r.length;n++){var a=r[n];e.push(a)}},gr=function(e,r,n){return n&&(r=R0(n,r)),e[r]},Cn=function(e,r,n,a){n&&(r=R0(n,r)),e[r]=a},l5=function(){function t(){Pc(this,t),this._obj={}}return Lc(t,[{key:"set",value:function(r,n){return this._obj[r]=n,this}},{key:"delete",value:function(r){return this._obj[r]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(r){return this._obj[r]!==void 0}},{key:"get",value:function(r){return this._obj[r]}}]),t}(),Ir=typeof Map<"u"?Map:l5,c5="undefined",u5=function(){function t(e){if(Pc(this,t),this._obj=Object.create(null),this.size=0,e!=null){var r;e.instanceString!=null&&e.instanceString()===this.instanceString()?r=e.toArray():r=e;for(var n=0;n<r.length;n++)this.add(r[n])}}return Lc(t,[{key:"instanceString",value:function(){return"set"}},{key:"add",value:function(r){var n=this._obj;n[r]!==1&&(n[r]=1,this.size++)}},{key:"delete",value:function(r){var n=this._obj;n[r]===1&&(n[r]=0,this.size--)}},{key:"clear",value:function(){this._obj=Object.create(null)}},{key:"has",value:function(r){return this._obj[r]===1}},{key:"toArray",value:function(){var r=this;return Object.keys(this._obj).filter(function(n){return r.has(n)})}},{key:"forEach",value:function(r,n){return this.toArray().forEach(r,n)}}]),t}(),$a=(typeof Set>"u"?"undefined":ht(Set))!==c5?Set:u5,ws=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!Rc(e)){Qe("An element must have a core reference and parameters set");return}var a=r.group;if(a==null&&(r.data&&r.data.source!=null&&r.data.target!=null?a="edges":a="nodes"),a!=="nodes"&&a!=="edges"){Qe("An element must be of type `nodes` or `edges`; you specified `"+a+"`");return}this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:a,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?a==="edges":!!r.pannable,active:!1,classes:new $a,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(i.position.x==null&&(i.position.x=0),i.position.y==null&&(i.position.y=0),r.renderedPosition){var o=r.renderedPosition,l=e.pan(),u=e.zoom();i.position={x:(o.x-l.x)/u,y:(o.y-l.y)/u}}var c=[];Ke(r.classes)?c=r.classes:Ee(r.classes)&&(c=r.classes.split(/\s+/));for(var d=0,f=c.length;d<f;d++){var h=c[d];!h||h===""||i.classes.add(h)}this.createEmitter();var v=r.style||r.css;v&&($e("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."),this.style(v)),(n===void 0||n)&&this.restore()},rb=function(e){return e={bfs:e.bfs||!e.dfs,dfs:e.dfs||!e.bfs},function(n,a,i){var o;Pe(n)&&!Xt(n)&&(o=n,n=o.roots||o.root,a=o.visit,i=o.directed),i=arguments.length===2&&!Je(a)?a:i,a=Je(a)?a:function(){};for(var l=this._private.cy,u=n=Ee(n)?this.filter(n):n,c=[],d=[],f={},h={},v={},p=0,g,m=this.byGroup(),y=m.nodes,b=m.edges,w=0;w<u.length;w++){var C=u[w],x=C.id();C.isNode()&&(c.unshift(C),e.bfs&&(v[x]=!0,d.push(C)),h[x]=0)}for(var k=function(){var O=e.bfs?c.shift():c.pop(),D=O.id();if(e.dfs){if(v[D])return"continue";v[D]=!0,d.push(O)}var L=h[D],A=f[D],M=A!=null?A.source():null,P=A!=null?A.target():null,z=A==null?void 0:O.same(M)?P[0]:M[0],W=void 0;if(W=a(O,A,z,p++,L),W===!0)return g=O,"break";if(W===!1)return"break";for(var H=O.connectedEdges().filter(function(q){return(!i||q.source().same(O))&&b.has(q)}),G=0;G<H.length;G++){var X=H[G],F=X.connectedNodes().filter(function(q){return!q.same(O)&&y.has(q)}),V=F.id();F.length!==0&&!v[V]&&(F=F[0],c.push(F),e.bfs&&(v[V]=!0,d.push(F)),f[V]=X,h[V]=h[D]+1)}};c.length!==0;){var E=k();if(E!=="continue"&&E==="break")break}for(var _=l.collection(),S=0;S<d.length;S++){var T=d[S],N=f[T.id()];N!=null&&_.push(N),_.push(T)}return{path:l.collection(_),found:l.collection(g)}}},Ji={breadthFirstSearch:rb({bfs:!0}),depthFirstSearch:rb({dfs:!0})};Ji.bfs=Ji.breadthFirstSearch,Ji.dfs=Ji.depthFirstSearch;var d5=vF(function(t,e){(function(){var r,n,a,i,o,l,u,c,d,f,h,v,p,g,m;a=Math.floor,f=Math.min,n=function(y,b){return y<b?-1:y>b?1:0},d=function(y,b,w,C,x){var k;if(w==null&&(w=0),x==null&&(x=n),w<0)throw new Error("lo must be non-negative");for(C==null&&(C=y.length);w<C;)k=a((w+C)/2),x(b,y[k])<0?C=k:w=k+1;return[].splice.apply(y,[w,w-w].concat(b)),b},l=function(y,b,w){return w==null&&(w=n),y.push(b),g(y,0,y.length-1,w)},o=function(y,b){var w,C;return b==null&&(b=n),w=y.pop(),y.length?(C=y[0],y[0]=w,m(y,0,b)):C=w,C},c=function(y,b,w){var C;return w==null&&(w=n),C=y[0],y[0]=b,m(y,0,w),C},u=function(y,b,w){var C;return w==null&&(w=n),y.length&&w(y[0],b)<0&&(C=[y[0],b],b=C[0],y[0]=C[1],m(y,0,w)),b},i=function(y,b){var w,C,x,k,E,_;for(b==null&&(b=n),k=(function(){_=[];for(var S=0,T=a(y.length/2);0<=T?S<T:S>T;0<=T?S++:S--)_.push(S);return _}).apply(this).reverse(),E=[],C=0,x=k.length;C<x;C++)w=k[C],E.push(m(y,w,b));return E},p=function(y,b,w){var C;if(w==null&&(w=n),C=y.indexOf(b),C!==-1)return g(y,0,C,w),m(y,C,w)},h=function(y,b,w){var C,x,k,E,_;if(w==null&&(w=n),x=y.slice(0,b),!x.length)return x;for(i(x,w),_=y.slice(b),k=0,E=_.length;k<E;k++)C=_[k],u(x,C,w);return x.sort(w).reverse()},v=function(y,b,w){var C,x,k,E,_,S,T,N,B;if(w==null&&(w=n),b*10<=y.length){if(k=y.slice(0,b).sort(w),!k.length)return k;for(x=k[k.length-1],T=y.slice(b),E=0,S=T.length;E<S;E++)C=T[E],w(C,x)<0&&(d(k,C,0,null,w),k.pop(),x=k[k.length-1]);return k}for(i(y,w),B=[],_=0,N=f(b,y.length);0<=N?_<N:_>N;0<=N?++_:--_)B.push(o(y,w));return B},g=function(y,b,w,C){var x,k,E;for(C==null&&(C=n),x=y[w];w>b;){if(E=w-1>>1,k=y[E],C(x,k)<0){y[w]=k,w=E;continue}break}return y[w]=x},m=function(y,b,w){var C,x,k,E,_;for(w==null&&(w=n),x=y.length,_=b,k=y[b],C=2*b+1;C<x;)E=C+1,E<x&&!(w(y[C],y[E])<0)&&(C=E),y[b]=y[C],b=C,C=2*b+1;return y[b]=k,g(y,_,b,w)},r=function(){y.push=l,y.pop=o,y.replace=c,y.pushpop=u,y.heapify=i,y.updateItem=p,y.nlargest=h,y.nsmallest=v;function y(b){this.cmp=b??n,this.nodes=[]}return y.prototype.push=function(b){return l(this.nodes,b,this.cmp)},y.prototype.pop=function(){return o(this.nodes,this.cmp)},y.prototype.peek=function(){return this.nodes[0]},y.prototype.contains=function(b){return this.nodes.indexOf(b)!==-1},y.prototype.replace=function(b){return c(this.nodes,b,this.cmp)},y.prototype.pushpop=function(b){return u(this.nodes,b,this.cmp)},y.prototype.heapify=function(){return i(this.nodes,this.cmp)},y.prototype.updateItem=function(b){return p(this.nodes,b,this.cmp)},y.prototype.clear=function(){return this.nodes=[]},y.prototype.empty=function(){return this.nodes.length===0},y.prototype.size=function(){return this.nodes.length},y.prototype.clone=function(){var b;return b=new y,b.nodes=this.nodes.slice(0),b},y.prototype.toArray=function(){return this.nodes.slice(0)},y.prototype.insert=y.prototype.push,y.prototype.top=y.prototype.peek,y.prototype.front=y.prototype.peek,y.prototype.has=y.prototype.contains,y.prototype.copy=y.prototype.clone,y}(),function(y,b){return t.exports=b()}(this,function(){return r})}).call(Ui)}),Qi=d5,f5=St({root:null,weight:function(e){return 1},directed:!1}),h5={dijkstra:function(e){if(!Pe(e)){var r=arguments;e={root:r[0],weight:r[1],directed:r[2]}}var n=f5(e),a=n.root,i=n.weight,o=n.directed,l=this,u=i,c=Ee(a)?this.filter(a)[0]:a[0],d={},f={},h={},v=this.byGroup(),p=v.nodes,g=v.edges;g.unmergeBy(function(L){return L.isLoop()});for(var m=function(A){return d[A.id()]},y=function(A,M){d[A.id()]=M,b.updateItem(A)},b=new Qi(function(L,A){return m(L)-m(A)}),w=0;w<p.length;w++){var C=p[w];d[C.id()]=C.same(c)?0:1/0,b.push(C)}for(var x=function(A,M){for(var P=(o?A.edgesTo(M):A.edgesWith(M)).intersect(g),z=1/0,W,H=0;H<P.length;H++){var G=P[H],X=u(G);(X<z||!W)&&(z=X,W=G)}return{edge:W,dist:z}};b.size()>0;){var k=b.pop(),E=m(k),_=k.id();if(h[_]=E,E!==1/0)for(var S=k.neighborhood().intersect(p),T=0;T<S.length;T++){var N=S[T],B=N.id(),O=x(k,N),D=E+O.dist;D<m(N)&&(y(N,D),f[B]={node:k,edge:O.edge})}}return{distanceTo:function(A){var M=Ee(A)?p.filter(A)[0]:A[0];return h[M.id()]},pathTo:function(A){var M=Ee(A)?p.filter(A)[0]:A[0],P=[],z=M,W=z.id();if(M.length>0)for(P.unshift(M);f[W];){var H=f[W];P.unshift(H.edge),P.unshift(H.node),z=H.node,W=z.id()}return l.spawn(P)}}}},p5={kruskal:function(e){e=e||function(w){return 1};for(var r=this.byGroup(),n=r.nodes,a=r.edges,i=n.length,o=new Array(i),l=n,u=function(C){for(var x=0;x<o.length;x++){var k=o[x];if(k.has(C))return x}},c=0;c<i;c++)o[c]=this.spawn(n[c]);for(var d=a.sort(function(w,C){return e(w)-e(C)}),f=0;f<d.length;f++){var h=d[f],v=h.source()[0],p=h.target()[0],g=u(v),m=u(p),y=o[g],b=o[m];g!==m&&(l.merge(h),y.merge(b),o.splice(m,1))}return l}},v5=St({root:null,goal:null,weight:function(e){return 1},heuristic:function(e){return 0},directed:!1}),g5={aStar:function(e){var r=this.cy(),n=v5(e),a=n.root,i=n.goal,o=n.heuristic,l=n.directed,u=n.weight;a=r.collection(a)[0],i=r.collection(i)[0];var c=a.id(),d=i.id(),f={},h={},v={},p=new Qi(function(W,H){return h[W.id()]-h[H.id()]}),g=new $a,m={},y={},b=function(H,G){p.push(H),g.add(G)},w,C,x=function(){w=p.pop(),C=w.id(),g.delete(C)},k=function(H){return g.has(H)};b(a,c),f[c]=0,h[c]=o(a);for(var E=0;p.size()>0;){if(x(),E++,C===d){for(var _=[],S=i,T=d,N=y[T];_.unshift(S),N!=null&&_.unshift(N),S=m[T],S!=null;)T=S.id(),N=y[T];return{found:!0,distance:f[C],path:this.spawn(_),steps:E}}v[C]=!0;for(var B=w._private.edges,O=0;O<B.length;O++){var D=B[O];if(this.hasElementWithId(D.id())&&!(l&&D.data("source")!==C)){var L=D.source(),A=D.target(),M=L.id()!==C?L:A,P=M.id();if(this.hasElementWithId(P)&&!v[P]){var z=f[C]+u(D);if(!k(P)){f[P]=z,h[P]=z+o(M),b(M,P),m[P]=w,y[P]=D;continue}z<f[P]&&(f[P]=z,h[P]=z+o(M),m[P]=w,y[P]=D)}}}}return{found:!1,distance:void 0,path:void 0,steps:E}}},m5=St({weight:function(e){return 1},directed:!1}),y5={floydWarshall:function(e){for(var r=this.cy(),n=m5(e),a=n.weight,i=n.directed,o=a,l=this.byGroup(),u=l.nodes,c=l.edges,d=u.length,f=d*d,h=function(X){return u.indexOf(X)},v=function(X){return u[X]},p=new Array(f),g=0;g<f;g++){var m=g%d,y=(g-m)/d;y===m?p[g]=0:p[g]=1/0}for(var b=new Array(f),w=new Array(f),C=0;C<c.length;C++){var x=c[C],k=x.source()[0],E=x.target()[0];if(k!==E){var _=h(k),S=h(E),T=_*d+S,N=o(x);if(p[T]>N&&(p[T]=N,b[T]=S,w[T]=x),!i){var B=S*d+_;!i&&p[B]>N&&(p[B]=N,b[B]=_,w[B]=x)}}}for(var O=0;O<d;O++)for(var D=0;D<d;D++)for(var L=D*d+O,A=0;A<d;A++){var M=D*d+A,P=O*d+A;p[L]+p[P]<p[M]&&(p[M]=p[L]+p[P],b[M]=b[L])}var z=function(X){return(Ee(X)?r.filter(X):X)[0]},W=function(X){return h(z(X))},H={distance:function(X,F){var V=W(X),q=W(F);return p[V*d+q]},path:function(X,F){var V=W(X),q=W(F),$=v(V);if(V===q)return $.collection();if(b[V*d+q]==null)return r.collection();var K=r.collection(),R=V,j;for(K.merge($);V!==q;)R=V,V=b[V*d+q],j=w[R*d+V],K.merge(j),K.merge(v(V));return K}};return H}},b5=St({weight:function(e){return 1},directed:!1,root:null}),w5={bellmanFord:function(e){var r=this,n=b5(e),a=n.weight,i=n.directed,o=n.root,l=a,u=this,c=this.cy(),d=this.byGroup(),f=d.edges,h=d.nodes,v=h.length,p=new Ir,g=!1,m=[];o=c.collection(o)[0],f.unmergeBy(function(ie){return ie.isLoop()});for(var y=f.length,b=function(fe){var pe=p.get(fe.id());return pe||(pe={},p.set(fe.id(),pe)),pe},w=function(fe){return(Ee(fe)?c.$(fe):fe)[0]},C=function(fe){return b(w(fe)).dist},x=function(fe){for(var pe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:o,Oe=w(fe),Ie=[],we=Oe;;){if(we==null)return r.spawn();var ke=b(we),re=ke.edge,I=ke.pred;if(Ie.unshift(we[0]),we.same(pe)&&Ie.length>0)break;re!=null&&Ie.unshift(re),we=I}return u.spawn(Ie)},k=0;k<v;k++){var E=h[k],_=b(E);E.same(o)?_.dist=0:_.dist=1/0,_.pred=null,_.edge=null}for(var S=!1,T=function(fe,pe,Oe,Ie,we,ke){var re=Ie.dist+ke;re<we.dist&&!Oe.same(Ie.edge)&&(we.dist=re,we.pred=fe,we.edge=Oe,S=!0)},N=1;N<v;N++){S=!1;for(var B=0;B<y;B++){var O=f[B],D=O.source(),L=O.target(),A=l(O),M=b(D),P=b(L);T(D,L,O,M,P,A),i||T(L,D,O,P,M,A)}if(!S)break}if(S)for(var z=[],W=0;W<y;W++){var H=f[W],G=H.source(),X=H.target(),F=l(H),V=b(G).dist,q=b(X).dist;if(V+F<q||!i&&q+F<V)if(g||($e("Graph contains a negative weight cycle for Bellman-Ford"),g=!0),e.findNegativeWeightCycles!==!1){var $=[];V+F<q&&$.push(G),!i&&q+F<V&&$.push(X);for(var K=$.length,R=0;R<K;R++){var j=$[R],Y=[j];Y.push(b(j).edge);for(var se=b(j).pred;Y.indexOf(se)===-1;)Y.push(se),Y.push(b(se).edge),se=b(se).pred;Y=Y.slice(Y.indexOf(se));for(var ce=Y[0].id(),ae=0,ne=2;ne<Y.length;ne+=2)Y[ne].id()<ce&&(ce=Y[ne].id(),ae=ne);Y=Y.slice(ae).concat(Y.slice(0,ae)),Y.push(Y[0]);var ue=Y.map(function(ie){return ie.id()}).join(",");z.indexOf(ue)===-1&&(m.push(u.spawn(Y)),z.push(ue))}}else break}return{distanceTo:C,pathTo:x,hasNegativeWeightCycle:g,negativeWeightCycles:m}}},C5=Math.sqrt(2),E5=function(e,r,n){n.length===0&&Qe("Karger-Stein must be run on a connected (sub)graph");for(var a=n[e],i=a[1],o=a[2],l=r[i],u=r[o],c=n,d=c.length-1;d>=0;d--){var f=c[d],h=f[1],v=f[2];(r[h]===l&&r[v]===u||r[h]===u&&r[v]===l)&&c.splice(d,1)}for(var p=0;p<c.length;p++){var g=c[p];g[1]===u?(c[p]=g.slice(),c[p][1]=l):g[2]===u&&(c[p]=g.slice(),c[p][2]=l)}for(var m=0;m<r.length;m++)r[m]===u&&(r[m]=l);return c},Hc=function(e,r,n,a){for(;n>a;){var i=Math.floor(Math.random()*r.length);r=E5(i,e,r),n--}return r},x5={kargerStein:function(){var e=this,r=this.byGroup(),n=r.nodes,a=r.edges;a.unmergeBy(function(P){return P.isLoop()});var i=n.length,o=a.length,l=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),u=Math.floor(i/C5);if(i<2){Qe("At least 2 nodes are required for Karger-Stein algorithm");return}for(var c=[],d=0;d<o;d++){var f=a[d];c.push([d,n.indexOf(f.source()),n.indexOf(f.target())])}for(var h=1/0,v=[],p=new Array(i),g=new Array(i),m=new Array(i),y=function(z,W){for(var H=0;H<i;H++)W[H]=z[H]},b=0;b<=l;b++){for(var w=0;w<i;w++)g[w]=w;var C=Hc(g,c.slice(),i,u),x=C.slice();y(g,m);var k=Hc(g,C,u,2),E=Hc(m,x,u,2);k.length<=E.length&&k.length<h?(h=k.length,v=k,y(g,p)):E.length<=k.length&&E.length<h&&(h=E.length,v=E,y(m,p))}for(var _=this.spawn(v.map(function(P){return a[P[0]]})),S=this.spawn(),T=this.spawn(),N=p[0],B=0;B<p.length;B++){var O=p[B],D=n[B];O===N?S.merge(D):T.merge(D)}var L=function(z){var W=e.spawn();return z.forEach(function(H){W.merge(H),H.connectedEdges().forEach(function(G){e.contains(G)&&!_.contains(G)&&W.merge(G)})}),W},A=[L(S),L(T)],M={cut:_,components:A,partition1:S,partition2:T};return M}},k5=function(e){return{x:e.x,y:e.y}},Cs=function(e,r,n){return{x:e.x*r+n.x,y:e.y*r+n.y}},nb=function(e,r,n){return{x:(e.x-n.x)/r,y:(e.y-n.y)/r}},Va=function(e){return{x:e[0],y:e[1]}},S5=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,a=1/0,i=r;i<n;i++){var o=e[i];isFinite(o)&&(a=Math.min(o,a))}return a},_5=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,a=-1/0,i=r;i<n;i++){var o=e[i];isFinite(o)&&(a=Math.max(o,a))}return a},T5=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,a=0,i=0,o=r;o<n;o++){var l=e[o];isFinite(l)&&(a+=l,i++)}return a/i},N5=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;a?e=e.slice(r,n):(n<e.length&&e.splice(n,e.length-n),r>0&&e.splice(0,r));for(var l=0,u=e.length-1;u>=0;u--){var c=e[u];o?isFinite(c)||(e[u]=-1/0,l++):e.splice(u,1)}i&&e.sort(function(h,v){return h-v});var d=e.length,f=Math.floor(d/2);return d%2!==0?e[f+1+l]:(e[f-1+l]+e[f+l])/2},I5=function(e){return Math.PI*e/180},Es=function(e,r){return Math.atan2(r,e)-Math.PI/2},Kc=Math.log2||function(t){return Math.log(t)/Math.log(2)},ab=function(e){return e>0?1:e<0?-1:0},Qn=function(e,r){return Math.sqrt(ea(e,r))},ea=function(e,r){var n=r.x-e.x,a=r.y-e.y;return n*n+a*a},B5=function(e){for(var r=e.length,n=0,a=0;a<r;a++)n+=e[a];for(var i=0;i<r;i++)e[i]=e[i]/n;return e},bt=function(e,r,n,a){return(1-a)*(1-a)*e+2*(1-a)*a*r+a*a*n},qa=function(e,r,n,a){return{x:bt(e.x,r.x,n.x,a),y:bt(e.y,r.y,n.y,a)}},D5=function(e,r,n,a){var i={x:r.x-e.x,y:r.y-e.y},o=Qn(e,r),l={x:i.x/o,y:i.y/o};return n=n??0,a=a??n*o,{x:e.x+l.x*a,y:e.y+l.y*a}},eo=function(e,r,n){return Math.max(e,Math.min(n,r))},Ut=function(e){if(e==null)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};if(e.x1!=null&&e.y1!=null){if(e.x2!=null&&e.y2!=null&&e.x2>=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},O5=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},A5=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},P5=function(e,r,n){return{x1:e.x1+r,x2:e.x2+r,y1:e.y1+n,y2:e.y2+n,w:e.w,h:e.h}},ib=function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},L5=function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},xs=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},ks=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,a,i,o;if(r.length===1)n=a=i=o=r[0];else if(r.length===2)n=i=r[0],o=a=r[1];else if(r.length===4){var l=vr(r,4);n=l[0],a=l[1],i=l[2],o=l[3]}return e.x1-=o,e.x2+=a,e.y1-=n,e.y2+=i,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},ob=function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},Gc=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2<r.x1||r.x2<e.x1||e.y2<r.y1||r.y2<e.y1||e.y1>r.y2||r.y1>e.y2)},za=function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},R5=function(e,r){return za(e,r.x,r.y)},sb=function(e,r){return za(e,r.x1,r.y1)&&za(e,r.x2,r.y2)},lb=function(e,r,n,a,i,o,l){var u=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",c=u==="auto"?ra(i,o):u,d=i/2,f=o/2;c=Math.min(c,d,f);var h=c!==d,v=c!==f,p;if(h){var g=n-d+c-l,m=a-f-l,y=n+d-c+l,b=m;if(p=En(e,r,n,a,g,m,y,b,!1),p.length>0)return p}if(v){var w=n+d+l,C=a-f+c-l,x=w,k=a+f-c+l;if(p=En(e,r,n,a,w,C,x,k,!1),p.length>0)return p}if(h){var E=n-d+c-l,_=a+f+l,S=n+d-c+l,T=_;if(p=En(e,r,n,a,E,_,S,T,!1),p.length>0)return p}if(v){var N=n-d-l,B=a-f+c-l,O=N,D=a+f-c+l;if(p=En(e,r,n,a,N,B,O,D,!1),p.length>0)return p}var L;{var A=n-d+c,M=a-f+c;if(L=to(e,r,n,a,A,M,c+l),L.length>0&&L[0]<=A&&L[1]<=M)return[L[0],L[1]]}{var P=n+d-c,z=a-f+c;if(L=to(e,r,n,a,P,z,c+l),L.length>0&&L[0]>=P&&L[1]<=z)return[L[0],L[1]]}{var W=n+d-c,H=a+f-c;if(L=to(e,r,n,a,W,H,c+l),L.length>0&&L[0]>=W&&L[1]>=H)return[L[0],L[1]]}{var G=n-d+c,X=a+f-c;if(L=to(e,r,n,a,G,X,c+l),L.length>0&&L[0]<=G&&L[1]>=X)return[L[0],L[1]]}return[]},M5=function(e,r,n,a,i,o,l){var u=l,c=Math.min(n,i),d=Math.max(n,i),f=Math.min(a,o),h=Math.max(a,o);return c-u<=e&&e<=d+u&&f-u<=r&&r<=h+u},F5=function(e,r,n,a,i,o,l,u,c){var d={x1:Math.min(n,l,i)-c,x2:Math.max(n,l,i)+c,y1:Math.min(a,u,o)-c,y2:Math.max(a,u,o)+c};return!(e<d.x1||e>d.x2||r<d.y1||r>d.y2)},$5=function(e,r,n,a){n-=a;var i=r*r-4*e*n;if(i<0)return[];var o=Math.sqrt(i),l=2*e,u=(-r+o)/l,c=(-r-o)/l;return[u,c]},V5=function(e,r,n,a,i){var o=1e-5;e===0&&(e=o),r/=e,n/=e,a/=e;var l,u,c,d,f,h,v,p;if(u=(3*n-r*r)/9,c=-(27*a)+r*(9*n-2*(r*r)),c/=54,l=u*u*u+c*c,i[1]=0,v=r/3,l>0){f=c+Math.sqrt(l),f=f<0?-Math.pow(-f,1/3):Math.pow(f,1/3),h=c-Math.sqrt(l),h=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),i[0]=-v+f+h,v+=(f+h)/2,i[4]=i[2]=-v,v=Math.sqrt(3)*(-h+f)/2,i[3]=v,i[5]=-v;return}if(i[5]=i[3]=0,l===0){p=c<0?-Math.pow(-c,1/3):Math.pow(c,1/3),i[0]=-v+2*p,i[4]=i[2]=-(p+v);return}u=-u,d=u*u*u,d=Math.acos(c/Math.sqrt(d)),p=2*Math.sqrt(u),i[0]=-v+p*Math.cos(d/3),i[2]=-v+p*Math.cos((d+2*Math.PI)/3),i[4]=-v+p*Math.cos((d+4*Math.PI)/3)},q5=function(e,r,n,a,i,o,l,u){var c=1*n*n-4*n*i+2*n*l+4*i*i-4*i*l+l*l+a*a-4*a*o+2*a*u+4*o*o-4*o*u+u*u,d=1*9*n*i-3*n*n-3*n*l-6*i*i+3*i*l+9*a*o-3*a*a-3*a*u-6*o*o+3*o*u,f=1*3*n*n-6*n*i+n*l-n*e+2*i*i+2*i*e-l*e+3*a*a-6*a*o+a*u-a*r+2*o*o+2*o*r-u*r,h=1*n*i-n*n+n*e-i*e+a*o-a*a+a*r-o*r,v=[];V5(c,d,f,h,v);for(var p=1e-7,g=[],m=0;m<6;m+=2)Math.abs(v[m+1])<p&&v[m]>=0&&v[m]<=1&&g.push(v[m]);g.push(1),g.push(0);for(var y=-1,b,w,C,x=0;x<g.length;x++)b=Math.pow(1-g[x],2)*n+2*(1-g[x])*g[x]*i+g[x]*g[x]*l,w=Math.pow(1-g[x],2)*a+2*(1-g[x])*g[x]*o+g[x]*g[x]*u,C=Math.pow(b-e,2)+Math.pow(w-r,2),y>=0?C<y&&(y=C):y=C;return y},z5=function(e,r,n,a,i,o){var l=[e-n,r-a],u=[i-n,o-a],c=u[0]*u[0]+u[1]*u[1],d=l[0]*l[0]+l[1]*l[1],f=l[0]*u[0]+l[1]*u[1],h=f*f/c;return f<0?d:h>c?(e-i)*(e-i)+(r-o)*(r-o):d-h},Wt=function(e,r,n){for(var a,i,o,l,u,c=0,d=0;d<n.length/2;d++)if(a=n[d*2],i=n[d*2+1],d+1<n.length/2?(o=n[(d+1)*2],l=n[(d+1)*2+1]):(o=n[(d+1-n.length/2)*2],l=n[(d+1-n.length/2)*2+1]),!(a==e&&o==e))if(a>=e&&e>=o||a<=e&&e<=o)u=(e-a)/(o-a)*(l-i)+i,u>r&&c++;else continue;return c%2!==0},Xr=function(e,r,n,a,i,o,l,u,c){var d=new Array(n.length),f;u[0]!=null?(f=Math.atan(u[1]/u[0]),u[0]<0?f=f+Math.PI/2:f=-f-Math.PI/2):f=u;for(var h=Math.cos(-f),v=Math.sin(-f),p=0;p<d.length/2;p++)d[p*2]=o/2*(n[p*2]*h-n[p*2+1]*v),d[p*2+1]=l/2*(n[p*2+1]*h+n[p*2]*v),d[p*2]+=a,d[p*2+1]+=i;var g;if(c>0){var m=_s(d,-c);g=Ss(m)}else g=d;return Wt(e,r,g)},H5=function(e,r,n,a,i,o,l,u){for(var c=new Array(n.length*2),d=0;d<u.length;d++){var f=u[d];c[d*4+0]=f.startX,c[d*4+1]=f.startY,c[d*4+2]=f.stopX,c[d*4+3]=f.stopY;var h=Math.pow(f.cx-e,2)+Math.pow(f.cy-r,2);if(h<=Math.pow(f.radius,2))return!0}return Wt(e,r,c)},Ss=function(e){for(var r=new Array(e.length/2),n,a,i,o,l,u,c,d,f=0;f<e.length/4;f++){n=e[f*4],a=e[f*4+1],i=e[f*4+2],o=e[f*4+3],f<e.length/4-1?(l=e[(f+1)*4],u=e[(f+1)*4+1],c=e[(f+1)*4+2],d=e[(f+1)*4+3]):(l=e[0],u=e[1],c=e[2],d=e[3]);var h=En(n,a,i,o,l,u,c,d,!0);r[f*2]=h[0],r[f*2+1]=h[1]}return r},_s=function(e,r){for(var n=new Array(e.length*2),a,i,o,l,u=0;u<e.length/2;u++){a=e[u*2],i=e[u*2+1],u<e.length/2-1?(o=e[(u+1)*2],l=e[(u+1)*2+1]):(o=e[0],l=e[1]);var c=l-i,d=-(o-a),f=Math.sqrt(c*c+d*d),h=c/f,v=d/f;n[u*4]=a+h*r,n[u*4+1]=i+v*r,n[u*4+2]=o+h*r,n[u*4+3]=l+v*r}return n},K5=function(e,r,n,a,i,o){var l=n-e,u=a-r;l/=i,u/=o;var c=Math.sqrt(l*l+u*u),d=c-1;if(d<0)return[];var f=d/c;return[(n-e)*f+e,(a-r)*f+r]},ta=function(e,r,n,a,i,o,l){return e-=i,r-=o,e/=n/2+l,r/=a/2+l,e*e+r*r<=1},to=function(e,r,n,a,i,o,l){var u=[n-e,a-r],c=[e-i,r-o],d=u[0]*u[0]+u[1]*u[1],f=2*(c[0]*u[0]+c[1]*u[1]),h=c[0]*c[0]+c[1]*c[1]-l*l,v=f*f-4*d*h;if(v<0)return[];var p=(-f+Math.sqrt(v))/(2*d),g=(-f-Math.sqrt(v))/(2*d),m=Math.min(p,g),y=Math.max(p,g),b=[];if(m>=0&&m<=1&&b.push(m),y>=0&&y<=1&&b.push(y),b.length===0)return[];var w=b[0]*u[0]+e,C=b[0]*u[1]+r;if(b.length>1){if(b[0]==b[1])return[w,C];var x=b[1]*u[0]+e,k=b[1]*u[1]+r;return[w,C,x,k]}else return[w,C]},Uc=function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},En=function(e,r,n,a,i,o,l,u,c){var d=e-i,f=n-e,h=l-i,v=r-o,p=a-r,g=u-o,m=h*v-g*d,y=f*v-p*d,b=g*f-h*p;if(b!==0){var w=m/b,C=y/b,x=.001,k=0-x,E=1+x;return k<=w&&w<=E&&k<=C&&C<=E?[e+w*f,r+w*p]:c?[e+w*f,r+w*p]:[]}else return m===0||y===0?Uc(e,n,l)===l?[l,u]:Uc(e,n,i)===i?[i,o]:Uc(i,l,n)===n?[n,a]:[]:[]},ro=function(e,r,n,a,i,o,l,u){var c=[],d,f=new Array(n.length),h=!0;o==null&&(h=!1);var v;if(h){for(var p=0;p<f.length/2;p++)f[p*2]=n[p*2]*o+a,f[p*2+1]=n[p*2+1]*l+i;if(u>0){var g=_s(f,-u);v=Ss(g)}else v=f}else v=n;for(var m,y,b,w,C=0;C<v.length/2;C++)m=v[C*2],y=v[C*2+1],C<v.length/2-1?(b=v[(C+1)*2],w=v[(C+1)*2+1]):(b=v[0],w=v[1]),d=En(e,r,a,i,m,y,b,w),d.length!==0&&c.push(d[0],d[1]);return c},G5=function(e,r,n,a,i,o,l,u,c){var d=[],f,h=new Array(n.length*2);c.forEach(function(b,w){w===0?(h[h.length-2]=b.startX,h[h.length-1]=b.startY):(h[w*4-2]=b.startX,h[w*4-1]=b.startY),h[w*4]=b.stopX,h[w*4+1]=b.stopY,f=to(e,r,a,i,b.cx,b.cy,b.radius),f.length!==0&&d.push(f[0],f[1])});for(var v=0;v<h.length/4;v++)f=En(e,r,a,i,h[v*4],h[v*4+1],h[v*4+2],h[v*4+3],!1),f.length!==0&&d.push(f[0],f[1]);if(d.length>2){for(var p=[d[0],d[1]],g=Math.pow(p[0]-e,2)+Math.pow(p[1]-r,2),m=1;m<d.length/2;m++){var y=Math.pow(d[m*2]-e,2)+Math.pow(d[m*2+1]-r,2);y<=g&&(p[0]=d[m*2],p[1]=d[m*2+1],g=y)}return p}return d},Ts=function(e,r,n){var a=[e[0]-r[0],e[1]-r[1]],i=Math.sqrt(a[0]*a[0]+a[1]*a[1]),o=(i-n)/i;return o<0&&(o=1e-5),[r[0]+o*a[0],r[1]+o*a[1]]},Ht=function(e,r){var n=Wc(e,r);return n=cb(n),n},cb=function(e){for(var r,n,a=e.length/2,i=1/0,o=1/0,l=-1/0,u=-1/0,c=0;c<a;c++)r=e[2*c],n=e[2*c+1],i=Math.min(i,r),l=Math.max(l,r),o=Math.min(o,n),u=Math.max(u,n);for(var d=2/(l-i),f=2/(u-o),h=0;h<a;h++)r=e[2*h]=e[2*h]*d,n=e[2*h+1]=e[2*h+1]*f,i=Math.min(i,r),l=Math.max(l,r),o=Math.min(o,n),u=Math.max(u,n);if(o<-1)for(var v=0;v<a;v++)n=e[2*v+1]=e[2*v+1]+(-1-o);return e},Wc=function(e,r){var n=1/e*2*Math.PI,a=e%2===0?Math.PI/2+n/2:Math.PI/2;a+=r;for(var i=new Array(e*2),o,l=0;l<e;l++)o=l*n+a,i[2*l]=Math.cos(o),i[2*l+1]=Math.sin(-o);return i},ra=function(e,r){return Math.min(e/4,r/4,8)},ub=function(e,r){return Math.min(e/10,r/10,8)},jc=function(){return 8},U5=function(e,r,n){return[e-2*r+n,2*(r-e),e]},Yc=function(e,r){return{heightOffset:Math.min(15,.05*r),widthOffset:Math.min(100,.25*e),ctrlPtOffsetPct:.05}},W5=St({dampingFactor:.8,precision:1e-6,iterations:200,weight:function(e){return 1}}),j5={pageRank:function(e){for(var r=W5(e),n=r.dampingFactor,a=r.precision,i=r.iterations,o=r.weight,l=this._private.cy,u=this.byGroup(),c=u.nodes,d=u.edges,f=c.length,h=f*f,v=d.length,p=new Array(h),g=new Array(f),m=(1-n)/f,y=0;y<f;y++){for(var b=0;b<f;b++){var w=y*f+b;p[w]=0}g[y]=0}for(var C=0;C<v;C++){var x=d[C],k=x.data("source"),E=x.data("target");if(k!==E){var _=c.indexOfId(k),S=c.indexOfId(E),T=o(x),N=S*f+_;p[N]+=T,g[_]+=T}}for(var B=1/f+m,O=0;O<f;O++)if(g[O]===0)for(var D=0;D<f;D++){var L=D*f+O;p[L]=B}else for(var A=0;A<f;A++){var M=A*f+O;p[M]=p[M]/g[O]+m}for(var P=new Array(f),z=new Array(f),W,H=0;H<f;H++)P[H]=1;for(var G=0;G<i;G++){for(var X=0;X<f;X++)z[X]=0;for(var F=0;F<f;F++)for(var V=0;V<f;V++){var q=F*f+V;z[F]+=p[q]*P[V]}B5(z),W=P,P=z,z=W;for(var $=0,K=0;K<f;K++){var R=W[K]-P[K];$+=R*R}if($<a)break}var j={rank:function(se){return se=l.collection(se)[0],P[c.indexOf(se)]}};return j}},db=St({root:null,weight:function(e){return 1},directed:!1,alpha:0}),Ha={degreeCentralityNormalized:function(e){e=db(e);var r=this.cy(),n=this.nodes(),a=n.length;if(e.directed){for(var d={},f={},h=0,v=0,p=0;p<a;p++){var g=n[p],m=g.id();e.root=g;var y=this.degreeCentrality(e);h<y.indegree&&(h=y.indegree),v<y.outdegree&&(v=y.outdegree),d[m]=y.indegree,f[m]=y.outdegree}return{indegree:function(w){return h==0?0:(Ee(w)&&(w=r.filter(w)),d[w.id()]/h)},outdegree:function(w){return v===0?0:(Ee(w)&&(w=r.filter(w)),f[w.id()]/v)}}}else{for(var i={},o=0,l=0;l<a;l++){var u=n[l];e.root=u;var c=this.degreeCentrality(e);o<c.degree&&(o=c.degree),i[u.id()]=c.degree}return{degree:function(w){return o===0?0:(Ee(w)&&(w=r.filter(w)),i[w.id()]/o)}}}},degreeCentrality:function(e){e=db(e);var r=this.cy(),n=this,a=e,i=a.root,o=a.weight,l=a.directed,u=a.alpha;if(i=r.collection(i)[0],l){for(var v=i.connectedEdges(),p=v.filter(function(k){return k.target().same(i)&&n.has(k)}),g=v.filter(function(k){return k.source().same(i)&&n.has(k)}),m=p.length,y=g.length,b=0,w=0,C=0;C<p.length;C++)b+=o(p[C]);for(var x=0;x<g.length;x++)w+=o(g[x]);return{indegree:Math.pow(m,1-u)*Math.pow(b,u),outdegree:Math.pow(y,1-u)*Math.pow(w,u)}}else{for(var c=i.connectedEdges().intersection(n),d=c.length,f=0,h=0;h<c.length;h++)f+=o(c[h]);return{degree:Math.pow(d,1-u)*Math.pow(f,u)}}}};Ha.dc=Ha.degreeCentrality,Ha.dcn=Ha.degreeCentralityNormalised=Ha.degreeCentralityNormalized;var fb=St({harmonic:!0,weight:function(){return 1},directed:!1,root:null}),Ka={closenessCentralityNormalized:function(e){for(var r=fb(e),n=r.harmonic,a=r.weight,i=r.directed,o=this.cy(),l={},u=0,c=this.nodes(),d=this.floydWarshall({weight:a,directed:i}),f=0;f<c.length;f++){for(var h=0,v=c[f],p=0;p<c.length;p++)if(f!==p){var g=d.distance(v,c[p]);n?h+=1/g:h+=g}n||(h=1/h),u<h&&(u=h),l[v.id()]=h}return{closeness:function(y){return u==0?0:(Ee(y)?y=o.filter(y)[0].id():y=y.id(),l[y]/u)}}},closenessCentrality:function(e){var r=fb(e),n=r.root,a=r.weight,i=r.directed,o=r.harmonic;n=this.filter(n)[0];for(var l=this.dijkstra({root:n,weight:a,directed:i}),u=0,c=this.nodes(),d=0;d<c.length;d++){var f=c[d];if(!f.same(n)){var h=l.distanceTo(f);o?u+=1/h:u+=h}}return o?u:1/u}};Ka.cc=Ka.closenessCentrality,Ka.ccn=Ka.closenessCentralityNormalised=Ka.closenessCentralityNormalized;var Y5=St({weight:null,directed:!1}),Zc={betweennessCentrality:function(e){for(var r=Y5(e),n=r.directed,a=r.weight,i=a!=null,o=this.cy(),l=this.nodes(),u={},c={},d=0,f={set:function(w,C){c[w]=C,C>d&&(d=C)},get:function(w){return c[w]}},h=0;h<l.length;h++){var v=l[h],p=v.id();n?u[p]=v.outgoers().nodes():u[p]=v.openNeighborhood().nodes(),f.set(p,0)}for(var g=function(w){for(var C=l[w].id(),x=[],k={},E={},_={},S=new Qi(function(V,q){return _[V]-_[q]}),T=0;T<l.length;T++){var N=l[T].id();k[N]=[],E[N]=0,_[N]=1/0}for(E[C]=1,_[C]=0,S.push(C);!S.empty();){var B=S.pop();if(x.push(B),i)for(var O=0;O<u[B].length;O++){var D=u[B][O],L=o.getElementById(B),A=void 0;L.edgesTo(D).length>0?A=L.edgesTo(D)[0]:A=D.edgesTo(L)[0];var M=a(A);D=D.id(),_[D]>_[B]+M&&(_[D]=_[B]+M,S.nodes.indexOf(D)<0?S.push(D):S.updateItem(D),E[D]=0,k[D]=[]),_[D]==_[B]+M&&(E[D]=E[D]+E[B],k[D].push(B))}else for(var P=0;P<u[B].length;P++){var z=u[B][P].id();_[z]==1/0&&(S.push(z),_[z]=_[B]+1),_[z]==_[B]+1&&(E[z]=E[z]+E[B],k[z].push(B))}}for(var W={},H=0;H<l.length;H++)W[l[H].id()]=0;for(;x.length>0;){for(var G=x.pop(),X=0;X<k[G].length;X++){var F=k[G][X];W[F]=W[F]+E[F]/E[G]*(1+W[G])}G!=l[w].id()&&f.set(G,f.get(G)+W[G])}},m=0;m<l.length;m++)g(m);var y={betweenness:function(w){var C=o.collection(w).id();return f.get(C)},betweennessNormalized:function(w){if(d==0)return 0;var C=o.collection(w).id();return f.get(C)/d}};return y.betweennessNormalised=y.betweennessNormalized,y}};Zc.bc=Zc.betweennessCentrality;var Z5=St({expandFactor:2,inflateFactor:2,multFactor:1,maxIterations:20,attributes:[function(t){return 1}]}),X5=function(e){return Z5(e)},J5=function(e,r){for(var n=0,a=0;a<r.length;a++)n+=r[a](e);return n},Q5=function(e,r,n){for(var a=0;a<r;a++)e[a*r+a]=n},hb=function(e,r){for(var n,a=0;a<r;a++){n=0;for(var i=0;i<r;i++)n+=e[i*r+a];for(var o=0;o<r;o++)e[o*r+a]=e[o*r+a]/n}},e$=function(e,r,n){for(var a=new Array(n*n),i=0;i<n;i++){for(var o=0;o<n;o++)a[i*n+o]=0;for(var l=0;l<n;l++)for(var u=0;u<n;u++)a[i*n+u]+=e[i*n+l]*r[l*n+u]}return a},t$=function(e,r,n){for(var a=e.slice(0),i=1;i<n;i++)e=e$(e,a,r);return e},r$=function(e,r,n){for(var a=new Array(r*r),i=0;i<r*r;i++)a[i]=Math.pow(e[i],n);return hb(a,r),a},n$=function(e,r,n,a){for(var i=0;i<n;i++){var o=Math.round(e[i]*Math.pow(10,a))/Math.pow(10,a),l=Math.round(r[i]*Math.pow(10,a))/Math.pow(10,a);if(o!==l)return!1}return!0},a$=function(e,r,n,a){for(var i=[],o=0;o<r;o++){for(var l=[],u=0;u<r;u++)Math.round(e[o*r+u]*1e3)/1e3>0&&l.push(n[u]);l.length!==0&&i.push(a.collection(l))}return i},i$=function(e,r){for(var n=0;n<e.length;n++)if(!r[n]||e[n].id()!==r[n].id())return!1;return!0},o$=function(e){for(var r=0;r<e.length;r++)for(var n=0;n<e.length;n++)r!=n&&i$(e[r],e[n])&&e.splice(n,1);return e},pb=function(e){for(var r=this.nodes(),n=this.edges(),a=this.cy(),i=X5(e),o={},l=0;l<r.length;l++)o[r[l].id()]=l;for(var u=r.length,c=u*u,d=new Array(c),f,h=0;h<c;h++)d[h]=0;for(var v=0;v<n.length;v++){var p=n[v],g=o[p.source().id()],m=o[p.target().id()],y=J5(p,i.attributes);d[g*u+m]+=y,d[m*u+g]+=y}Q5(d,u,i.multFactor),hb(d,u);for(var b=!0,w=0;b&&w<i.maxIterations;)b=!1,f=t$(d,u,i.expandFactor),d=r$(f,u,i.inflateFactor),n$(d,f,c,4)||(b=!0),w++;var C=a$(d,u,r,a);return C=o$(C),C},s$={markovClustering:pb,mcl:pb},l$=function(e){return e},vb=function(e,r){return Math.abs(r-e)},gb=function(e,r,n){return e+vb(r,n)},mb=function(e,r,n){return e+Math.pow(n-r,2)},c$=function(e){return Math.sqrt(e)},u$=function(e,r,n){return Math.max(e,vb(r,n))},no=function(e,r,n,a,i){for(var o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:l$,l=a,u,c,d=0;d<e;d++)u=r(d),c=n(d),l=i(l,u,c);return o(l)},Ga={euclidean:function(e,r,n){return e>=2?no(e,r,n,0,mb,c$):no(e,r,n,0,gb)},squaredEuclidean:function(e,r,n){return no(e,r,n,0,mb)},manhattan:function(e,r,n){return no(e,r,n,0,gb)},max:function(e,r,n){return no(e,r,n,-1/0,u$)}};Ga["squared-euclidean"]=Ga.squaredEuclidean,Ga.squaredeuclidean=Ga.squaredEuclidean;function Ns(t,e,r,n,a,i){var o;return Je(t)?o=t:o=Ga[t]||Ga.euclidean,e===0&&Je(t)?o(a,i):o(e,r,n,a,i)}var d$=St({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),Xc=function(e){return d$(e)},Is=function(e,r,n,a,i){var o=i!=="kMedoids",l=o?function(f){return n[f]}:function(f){return a[f](n)},u=function(h){return a[h](r)},c=n,d=r;return Ns(e,a.length,l,u,c,d)},Jc=function(e,r,n){for(var a=n.length,i=new Array(a),o=new Array(a),l=new Array(r),u=null,c=0;c<a;c++)i[c]=e.min(n[c]).value,o[c]=e.max(n[c]).value;for(var d=0;d<r;d++){u=[];for(var f=0;f<a;f++)u[f]=Math.random()*(o[f]-i[f])+i[f];l[d]=u}return l},yb=function(e,r,n,a,i){for(var o=1/0,l=0,u=0;u<r.length;u++){var c=Is(n,e,r[u],a,i);c<o&&(o=c,l=u)}return l},bb=function(e,r,n){for(var a=[],i=null,o=0;o<r.length;o++)i=r[o],n[i.id()]===e&&a.push(i);return a},f$=function(e,r,n){return Math.abs(r-e)<=n},h$=function(e,r,n){for(var a=0;a<e.length;a++)for(var i=0;i<e[a].length;i++){var o=Math.abs(e[a][i]-r[a][i]);if(o>n)return!1}return!0},p$=function(e,r,n){for(var a=0;a<n;a++)if(e===r[a])return!0;return!1},wb=function(e,r){var n=new Array(r);if(e.length<50)for(var a=0;a<r;a++){for(var i=e[Math.floor(Math.random()*e.length)];p$(i,n,a);)i=e[Math.floor(Math.random()*e.length)];n[a]=i}else for(var o=0;o<r;o++)n[o]=e[Math.floor(Math.random()*e.length)];return n},Cb=function(e,r,n){for(var a=0,i=0;i<r.length;i++)a+=Is("manhattan",r[i],e,n,"kMedoids");return a},v$=function(e){var r=this.cy(),n=this.nodes(),a=null,i=Xc(e),o=new Array(i.k),l={},u;i.testMode?typeof i.testCentroids=="number"?(i.testCentroids,u=Jc(n,i.k,i.attributes)):ht(i.testCentroids)==="object"?u=i.testCentroids:u=Jc(n,i.k,i.attributes):u=Jc(n,i.k,i.attributes);for(var c=!0,d=0;c&&d<i.maxIterations;){for(var f=0;f<n.length;f++)a=n[f],l[a.id()]=yb(a,u,i.distance,i.attributes,"kMeans");c=!1;for(var h=0;h<i.k;h++){var v=bb(h,n,l);if(v.length!==0){for(var p=i.attributes.length,g=u[h],m=new Array(p),y=new Array(p),b=0;b<p;b++){y[b]=0;for(var w=0;w<v.length;w++)a=v[w],y[b]+=i.attributes[b](a);m[b]=y[b]/v.length,f$(m[b],g[b],i.sensitivityThreshold)||(c=!0)}u[h]=m,o[h]=r.collection(v)}}d++}return o},g$=function(e){var r=this.cy(),n=this.nodes(),a=null,i=Xc(e),o=new Array(i.k),l,u={},c,d=new Array(i.k);i.testMode?typeof i.testCentroids=="number"||(ht(i.testCentroids)==="object"?l=i.testCentroids:l=wb(n,i.k)):l=wb(n,i.k);for(var f=!0,h=0;f&&h<i.maxIterations;){for(var v=0;v<n.length;v++)a=n[v],u[a.id()]=yb(a,l,i.distance,i.attributes,"kMedoids");f=!1;for(var p=0;p<l.length;p++){var g=bb(p,n,u);if(g.length!==0){d[p]=Cb(l[p],g,i.attributes);for(var m=0;m<g.length;m++)c=Cb(g[m],g,i.attributes),c<d[p]&&(d[p]=c,l[p]=g[m],f=!0);o[p]=r.collection(g)}}h++}return o},m$=function(e,r,n,a,i){for(var o,l,u=0;u<r.length;u++)for(var c=0;c<e.length;c++)a[u][c]=Math.pow(n[u][c],i.m);for(var d=0;d<e.length;d++)for(var f=0;f<i.attributes.length;f++){o=0,l=0;for(var h=0;h<r.length;h++)o+=a[h][d]*i.attributes[f](r[h]),l+=a[h][d];e[d][f]=o/l}},y$=function(e,r,n,a,i){for(var o=0;o<e.length;o++)r[o]=e[o].slice();for(var l,u,c,d=2/(i.m-1),f=0;f<n.length;f++)for(var h=0;h<a.length;h++){l=0;for(var v=0;v<n.length;v++)u=Is(i.distance,a[h],n[f],i.attributes,"cmeans"),c=Is(i.distance,a[h],n[v],i.attributes,"cmeans"),l+=Math.pow(u/c,d);e[h][f]=1/l}},b$=function(e,r,n,a){for(var i=new Array(n.k),o=0;o<i.length;o++)i[o]=[];for(var l,u,c=0;c<r.length;c++){l=-1/0,u=-1;for(var d=0;d<r[0].length;d++)r[c][d]>l&&(l=r[c][d],u=d);i[u].push(e[c])}for(var f=0;f<i.length;f++)i[f]=a.collection(i[f]);return i},Eb=function(e){var r=this.cy(),n=this.nodes(),a=Xc(e),i,o,l,u,c;u=new Array(n.length);for(var d=0;d<n.length;d++)u[d]=new Array(a.k);l=new Array(n.length);for(var f=0;f<n.length;f++)l[f]=new Array(a.k);for(var h=0;h<n.length;h++){for(var v=0,p=0;p<a.k;p++)l[h][p]=Math.random(),v+=l[h][p];for(var g=0;g<a.k;g++)l[h][g]=l[h][g]/v}o=new Array(a.k);for(var m=0;m<a.k;m++)o[m]=new Array(a.attributes.length);c=new Array(n.length);for(var y=0;y<n.length;y++)c[y]=new Array(a.k);for(var b=!0,w=0;b&&w<a.maxIterations;)b=!1,m$(o,n,l,c,a),y$(l,u,o,n,a),h$(l,u,a.sensitivityThreshold)||(b=!0),w++;return i=b$(n,l,a,r),{clusters:i,degreeOfMembership:l}},w$={kMeans:v$,kMedoids:g$,fuzzyCMeans:Eb,fcm:Eb},C$=St({distance:"euclidean",linkage:"min",mode:"threshold",threshold:1/0,addDendrogram:!1,dendrogramDepth:0,attributes:[]}),E$={single:"min",complete:"max"},x$=function(e){var r=C$(e),n=E$[r.linkage];return n!=null&&(r.linkage=n),r},xb=function(e,r,n,a,i){for(var o=0,l=1/0,u,c=i.attributes,d=function(S,T){return Ns(i.distance,c.length,function(N){return c[N](S)},function(N){return c[N](T)},S,T)},f=0;f<e.length;f++){var h=e[f].key,v=n[h][a[h]];v<l&&(o=h,l=v)}if(i.mode==="threshold"&&l>=i.threshold||i.mode==="dendrogram"&&e.length===1)return!1;var p=r[o],g=r[a[o]],m;i.mode==="dendrogram"?m={left:p,right:g,key:p.key}:m={value:p.value.concat(g.value),key:p.key},e[p.index]=m,e.splice(g.index,1),r[p.key]=m;for(var y=0;y<e.length;y++){var b=e[y];p.key===b.key?u=1/0:i.linkage==="min"?(u=n[p.key][b.key],n[p.key][b.key]>n[g.key][b.key]&&(u=n[g.key][b.key])):i.linkage==="max"?(u=n[p.key][b.key],n[p.key][b.key]<n[g.key][b.key]&&(u=n[g.key][b.key])):i.linkage==="mean"?u=(n[p.key][b.key]*p.size+n[g.key][b.key]*g.size)/(p.size+g.size):i.mode==="dendrogram"?u=d(b.value,p.value):u=d(b.value[0],p.value[0]),n[p.key][b.key]=n[b.key][p.key]=u}for(var w=0;w<e.length;w++){var C=e[w].key;if(a[C]===p.key||a[C]===g.key){for(var x=C,k=0;k<e.length;k++){var E=e[k].key;n[C][E]<n[C][x]&&(x=E)}a[C]=x}e[w].index=w}return p.key=g.key=p.index=g.index=null,!0},Bs=function t(e,r,n){e&&(e.value?r.push(e.value):(e.left&&t(e.left,r),e.right&&t(e.right,r)))},k$=function t(e,r){if(!e)return"";if(e.left&&e.right){var n=t(e.left,r),a=t(e.right,r),i=r.add({group:"nodes",data:{id:n+","+a}});return r.add({group:"edges",data:{source:n,target:i.id()}}),r.add({group:"edges",data:{source:a,target:i.id()}}),i.id()}else if(e.value)return e.value.id()},S$=function t(e,r,n){if(!e)return[];var a=[],i=[],o=[];return r===0?(e.left&&Bs(e.left,a),e.right&&Bs(e.right,i),o=a.concat(i),[n.collection(o)]):r===1?e.value?[n.collection(e.value)]:(e.left&&Bs(e.left,a),e.right&&Bs(e.right,i),[n.collection(a),n.collection(i)]):e.value?[n.collection(e.value)]:(e.left&&(a=t(e.left,r-1,n)),e.right&&(i=t(e.right,r-1,n)),a.concat(i))},kb=function(e){for(var r=this.cy(),n=this.nodes(),a=x$(e),i=a.attributes,o=function(w,C){return Ns(a.distance,i.length,function(x){return i[x](w)},function(x){return i[x](C)},w,C)},l=[],u=[],c=[],d=[],f=0;f<n.length;f++){var h={value:a.mode==="dendrogram"?n[f]:[n[f]],key:f,index:f};l[f]=h,d[f]=h,u[f]=[],c[f]=0}for(var v=0;v<l.length;v++)for(var p=0;p<=v;p++){var g=void 0;a.mode==="dendrogram"?g=v===p?1/0:o(l[v].value,l[p].value):g=v===p?1/0:o(l[v].value[0],l[p].value[0]),u[v][p]=g,u[p][v]=g,g<u[v][c[v]]&&(c[v]=p)}for(var m=xb(l,d,u,c,a);m;)m=xb(l,d,u,c,a);var y;return a.mode==="dendrogram"?(y=S$(l[0],a.dendrogramDepth,r),a.addDendrogram&&k$(l[0],r)):(y=new Array(l.length),l.forEach(function(b,w){b.key=b.index=null,y[w]=r.collection(b.value)})),y},_$={hierarchicalClustering:kb,hca:kb},T$=St({distance:"euclidean",preference:"median",damping:.8,maxIterations:1e3,minIterations:100,attributes:[]}),N$=function(e){var r=e.damping,n=e.preference;.5<=r&&r<1||Qe("Damping must range on [0.5, 1). Got: ".concat(r));var a=["median","mean","min","max"];return a.some(function(i){return i===n})||de(n)||Qe("Preference must be one of [".concat(a.map(function(i){return"'".concat(i,"'")}).join(", "),"] or a number. Got: ").concat(n)),T$(e)},I$=function(e,r,n,a){var i=function(l,u){return a[u](l)};return-Ns(e,a.length,function(o){return i(r,o)},function(o){return i(n,o)},r,n)},B$=function(e,r){var n=null;return r==="median"?n=N5(e):r==="mean"?n=T5(e):r==="min"?n=S5(e):r==="max"?n=_5(e):n=r,n},D$=function(e,r,n){for(var a=[],i=0;i<e;i++)r[i*e+i]+n[i*e+i]>0&&a.push(i);return a},Sb=function(e,r,n){for(var a=[],i=0;i<e;i++){for(var o=-1,l=-1/0,u=0;u<n.length;u++){var c=n[u];r[i*e+c]>l&&(o=c,l=r[i*e+c])}o>0&&a.push(o)}for(var d=0;d<n.length;d++)a[n[d]]=n[d];return a},O$=function(e,r,n){for(var a=Sb(e,r,n),i=0;i<n.length;i++){for(var o=[],l=0;l<a.length;l++)a[l]===n[i]&&o.push(l);for(var u=-1,c=-1/0,d=0;d<o.length;d++){for(var f=0,h=0;h<o.length;h++)f+=r[o[h]*e+o[d]];f>c&&(u=d,c=f)}n[i]=o[u]}return a=Sb(e,r,n),a},_b=function(e){for(var r=this.cy(),n=this.nodes(),a=N$(e),i={},o=0;o<n.length;o++)i[n[o].id()]=o;var l,u,c,d,f,h;l=n.length,u=l*l,c=new Array(u);for(var v=0;v<u;v++)c[v]=-1/0;for(var p=0;p<l;p++)for(var g=0;g<l;g++)p!==g&&(c[p*l+g]=I$(a.distance,n[p],n[g],a.attributes));d=B$(c,a.preference);for(var m=0;m<l;m++)c[m*l+m]=d;f=new Array(u);for(var y=0;y<u;y++)f[y]=0;h=new Array(u);for(var b=0;b<u;b++)h[b]=0;for(var w=new Array(l),C=new Array(l),x=new Array(l),k=0;k<l;k++)w[k]=0,C[k]=0,x[k]=0;for(var E=new Array(l*a.minIterations),_=0;_<E.length;_++)E[_]=0;var S;for(S=0;S<a.maxIterations;S++){for(var T=0;T<l;T++){for(var N=-1/0,B=-1/0,O=-1,D=0,L=0;L<l;L++)w[L]=f[T*l+L],D=h[T*l+L]+c[T*l+L],D>=N?(B=N,N=D,O=L):D>B&&(B=D);for(var A=0;A<l;A++)f[T*l+A]=(1-a.damping)*(c[T*l+A]-N)+a.damping*w[A];f[T*l+O]=(1-a.damping)*(c[T*l+O]-B)+a.damping*w[O]}for(var M=0;M<l;M++){for(var P=0,z=0;z<l;z++)w[z]=h[z*l+M],C[z]=Math.max(0,f[z*l+M]),P+=C[z];P-=C[M],C[M]=f[M*l+M],P+=C[M];for(var W=0;W<l;W++)h[W*l+M]=(1-a.damping)*Math.min(0,P-C[W])+a.damping*w[W];h[M*l+M]=(1-a.damping)*(P-C[M])+a.damping*w[M]}for(var H=0,G=0;G<l;G++){var X=h[G*l+G]+f[G*l+G]>0?1:0;E[S%a.minIterations*l+G]=X,H+=X}if(H>0&&(S>=a.minIterations-1||S==a.maxIterations-1)){for(var F=0,V=0;V<l;V++){x[V]=0;for(var q=0;q<a.minIterations;q++)x[V]+=E[q*l+V];(x[V]===0||x[V]===a.minIterations)&&F++}if(F===l)break}}for(var $=D$(l,f,h),K=O$(l,c,$),R={},j=0;j<$.length;j++)R[$[j]]=[];for(var Y=0;Y<n.length;Y++){var se=i[n[Y].id()],ce=K[se];ce!=null&&R[ce].push(n[Y])}for(var ae=new Array($.length),ne=0;ne<$.length;ne++)ae[ne]=r.collection(R[$[ne]]);return ae},A$={affinityPropagation:_b,ap:_b},P$=St({root:void 0,directed:!1}),L$={hierholzer:function(e){if(!Pe(e)){var r=arguments;e={root:r[0],directed:r[1]}}var n=P$(e),a=n.root,i=n.directed,o=this,l=!1,u,c,d;a&&(d=Ee(a)?this.filter(a)[0].id():a[0].id());var f={},h={};i?o.forEach(function(b){var w=b.id();if(b.isNode()){var C=b.indegree(!0),x=b.outdegree(!0),k=C-x,E=x-C;k==1?u?l=!0:u=w:E==1?c?l=!0:c=w:(E>1||k>1)&&(l=!0),f[w]=[],b.outgoers().forEach(function(_){_.isEdge()&&f[w].push(_.id())})}else h[w]=[void 0,b.target().id()]}):o.forEach(function(b){var w=b.id();if(b.isNode()){var C=b.degree(!0);C%2&&(u?c?l=!0:c=w:u=w),f[w]=[],b.connectedEdges().forEach(function(x){return f[w].push(x.id())})}else h[w]=[b.source().id(),b.target().id()]});var v={found:!1,trail:void 0};if(l)return v;if(c&&u)if(i){if(d&&c!=d)return v;d=c}else{if(d&&c!=d&&u!=d)return v;d||(d=c)}else d||(d=o[0].id());var p=function(w){for(var C=w,x=[w],k,E,_;f[C].length;)k=f[C].shift(),E=h[k][0],_=h[k][1],C!=_?(f[_]=f[_].filter(function(S){return S!=k}),C=_):!i&&C!=E&&(f[E]=f[E].filter(function(S){return S!=k}),C=E),x.unshift(k),x.unshift(C);return x},g=[],m=[];for(m=p(d);m.length!=1;)f[m[0]].length==0?(g.unshift(o.getElementById(m.shift())),g.unshift(o.getElementById(m.shift()))):m=p(m.shift()).concat(m);g.unshift(o.getElementById(m.shift()));for(var y in f)if(f[y].length)return v;return v.found=!0,v.trail=this.spawn(g,!0),v}},Ds=function(){var e=this,r={},n=0,a=0,i=[],o=[],l={},u=function(h,v){for(var p=o.length-1,g=[],m=e.spawn();o[p].x!=h||o[p].y!=v;)g.push(o.pop().edge),p--;g.push(o.pop().edge),g.forEach(function(y){var b=y.connectedNodes().intersection(e);m.merge(y),b.forEach(function(w){var C=w.id(),x=w.connectedEdges().intersection(e);m.merge(w),r[C].cutVertex?m.merge(x.filter(function(k){return k.isLoop()})):m.merge(x)})}),i.push(m)},c=function f(h,v,p){h===p&&(a+=1),r[v]={id:n,low:n++,cutVertex:!1};var g=e.getElementById(v).connectedEdges().intersection(e);if(g.size()===0)i.push(e.spawn(e.getElementById(v)));else{var m,y,b,w;g.forEach(function(C){m=C.source().id(),y=C.target().id(),b=m===v?y:m,b!==p&&(w=C.id(),l[w]||(l[w]=!0,o.push({x:v,y:b,edge:C})),b in r?r[v].low=Math.min(r[v].low,r[b].id):(f(h,b,v),r[v].low=Math.min(r[v].low,r[b].low),r[v].id<=r[b].low&&(r[v].cutVertex=!0,u(v,b))))})}};e.forEach(function(f){if(f.isNode()){var h=f.id();h in r||(a=0,c(h,h),r[h].cutVertex=a>1)}});var d=Object.keys(r).filter(function(f){return r[f].cutVertex}).map(function(f){return e.getElementById(f)});return{cut:e.spawn(d),components:i}},R$={hopcroftTarjanBiconnected:Ds,htbc:Ds,htb:Ds,hopcroftTarjanBiconnectedComponents:Ds},Os=function(){var e=this,r={},n=0,a=[],i=[],o=e.spawn(e),l=function u(c){i.push(c),r[c]={index:n,low:n++,explored:!1};var d=e.getElementById(c).connectedEdges().intersection(e);if(d.forEach(function(g){var m=g.target().id();m!==c&&(m in r||u(m),r[m].explored||(r[c].low=Math.min(r[c].low,r[m].low)))}),r[c].index===r[c].low){for(var f=e.spawn();;){var h=i.pop();if(f.merge(e.getElementById(h)),r[h].low=r[c].index,r[h].explored=!0,h===c)break}var v=f.edgesWith(f),p=f.merge(v);a.push(p),o=o.difference(p)}};return e.forEach(function(u){if(u.isNode()){var c=u.id();c in r||l(c)}}),{cut:o,components:a}},M$={tarjanStronglyConnected:Os,tsc:Os,tscc:Os,tarjanStronglyConnectedComponents:Os},Tb={};[Ji,h5,p5,g5,y5,w5,x5,j5,Ha,Ka,Zc,s$,w$,_$,A$,L$,R$,M$].forEach(function(t){Te(Tb,t)});/*!
|
|
32
32
|
Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable
|
|
@@ -38,10 +38,10 @@ Licensed under The MIT License (http://opensource.org/licenses/MIT)
|
|
|
38
38
|
https://jquery.org/license/
|
|
39
39
|
https://tldrlegal.com/license/mit-license
|
|
40
40
|
https://github.com/jquery/jquery/blob/master/src/event.js
|
|
41
|
-
*/var s1=function(e,r){this.recycle(e,r)};function uo(){return!1}function $s(){return!0}s1.prototype={instanceString:function(){return"event"},recycle:function(e,r){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=uo,e!=null&&e.preventDefault?(this.type=e.type,this.isDefaultPrevented=e.defaultPrevented?$s:uo):e!=null&&e.type?r=e:this.type=e,r!=null&&(this.originalEvent=r.originalEvent,this.type=r.type!=null?r.type:this.type,this.cy=r.cy,this.target=r.target,this.position=r.position,this.renderedPosition=r.renderedPosition,this.namespace=r.namespace,this.layout=r.layout),this.cy!=null&&this.position!=null&&this.renderedPosition==null){var n=this.position,a=this.cy.zoom(),i=this.cy.pan();this.renderedPosition={x:n.x*a+i.x,y:n.y*a+i.y}}this.timeStamp=e&&e.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=$s;var e=this.originalEvent;e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){this.isPropagationStopped=$s;var e=this.originalEvent;e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=$s,this.stopPropagation()},isDefaultPrevented:uo,isPropagationStopped:uo,isImmediatePropagationStopped:uo};var l1=/^([^.]+)(\.(?:[^.]+))?$/,_z=".*",c1={qualifierCompare:function(e,r){return e===r},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(e){return e},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},u1=Object.keys(c1),Tz={};function Vs(){for(var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Tz,e=arguments.length>1?arguments[1]:void 0,r=0;r<u1.length;r++){var n=u1[r];this[n]=t[n]||c1[n]}this.context=e||this.context,this.listeners=[],this.emitting=0}var Nn=Vs.prototype,d1=function(e,r,n,a,i,o,l){Je(a)&&(i=a,a=null),l&&(o==null?o=l:o=Te({},o,l));for(var u=Ke(n)?n:n.split(/\s+/),c=0;c<u.length;c++){var d=u[c];if(!yn(d)){var f=d.match(l1);if(f){var h=f[1],v=f[2]?f[2]:null,p=r(e,d,h,v,a,i,o);if(p===!1)break}}}},f1=function(e,r){return e.addEventFields(e.context,r),new s1(r.type,r)},Nz=function(e,r,n){if(ZM(n)){r(e,n);return}else if(Pe(n)){r(e,f1(e,n));return}for(var a=Ke(n)?n:n.split(/\s+/),i=0;i<a.length;i++){var o=a[i];if(!yn(o)){var l=o.match(l1);if(l){var u=l[1],c=l[2]?l[2]:null,d=f1(e,{type:u,namespace:c,target:e.context});r(e,d)}}}};Nn.on=Nn.addListener=function(t,e,r,n,a){return d1(this,function(i,o,l,u,c,d,f){Je(d)&&i.listeners.push({event:o,callback:d,type:l,namespace:u,qualifier:c,conf:f})},t,e,r,n,a),this},Nn.one=function(t,e,r,n){return this.on(t,e,r,n,{one:!0})},Nn.removeListener=Nn.off=function(t,e,r,n){var a=this;this.emitting!==0&&(this.listeners=i5(this.listeners));for(var i=this.listeners,o=function(c){var d=i[c];d1(a,function(f,h,v,p,g,m){if((d.type===v||t==="*")&&(!p&&d.namespace!==".*"||d.namespace===p)&&(!g||f.qualifierCompare(d.qualifier,g))&&(!m||d.callback===m))return i.splice(c,1),!1},t,e,r,n)},l=i.length-1;l>=0;l--)o(l);return this},Nn.removeAllListeners=function(){return this.removeListener("*")},Nn.emit=Nn.trigger=function(t,e,r){var n=this.listeners,a=n.length;return this.emitting++,Ke(e)||(e=[e]),Nz(this,function(i,o){r!=null&&(n=[{event:o.event,type:o.type,namespace:o.namespace,callback:r}],a=n.length);for(var l=function(d){var f=n[d];if(f.type===o.type&&(!f.namespace||f.namespace===o.namespace||f.namespace===_z)&&i.eventMatches(i.context,f,o)){var h=[o];e!=null&&s5(h,e),i.beforeEmit(i.context,f,o),f.conf&&f.conf.one&&(i.listeners=i.listeners.filter(function(g){return g!==f}));var v=i.callbackContext(i.context,f,o),p=f.callback.apply(v,h);i.afterEmit(i.context,f,o),p===!1&&(o.stopPropagation(),o.preventDefault())}},u=0;u<a;u++)l(u);i.bubble(i.context)&&!o.isPropagationStopped()&&i.parent(i.context).emit(o,e)},t),this.emitting--,this};var Iz={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var a=r.qualifier;return a!=null?e!==n.target&&Ki(n.target)&&a.matches(n.target):!0},addEventFields:function(e,r){r.cy=e.cy(),r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e},beforeEmit:function(e,r){r.conf&&r.conf.once&&r.conf.onceCollection.removeListener(r.event,r.qualifier,r.callback)},bubble:function(){return!0},parent:function(e){return e.isChild()?e.parent():e.cy()}},qs=function(e){return Ee(e)?new kn(e):e},h1={createEmitter:function(){for(var e=0;e<this.length;e++){var r=this[e],n=r._private;n.emitter||(n.emitter=new Vs(Iz,r))}return this},emitter:function(){return this._private.emitter},on:function(e,r,n){for(var a=qs(r),i=0;i<this.length;i++){var o=this[i];o.emitter().on(e,a,n)}return this},removeListener:function(e,r,n){for(var a=qs(r),i=0;i<this.length;i++){var o=this[i];o.emitter().removeListener(e,a,n)}return this},removeAllListeners:function(){for(var e=0;e<this.length;e++){var r=this[e];r.emitter().removeAllListeners()}return this},one:function(e,r,n){for(var a=qs(r),i=0;i<this.length;i++){var o=this[i];o.emitter().one(e,a,n)}return this},once:function(e,r,n){for(var a=qs(r),i=0;i<this.length;i++){var o=this[i];o.emitter().on(e,a,n,{once:!0,onceCollection:this})}},emit:function(e,r){for(var n=0;n<this.length;n++){var a=this[n];a.emitter().emit(e,r)}return this},emitAndNotify:function(e,r){if(this.length!==0)return this.cy().notify(e,this),this.emit(e,r),this}};Ve.eventAliasesOn(h1);var p1={nodes:function(e){return this.filter(function(r){return r.isNode()}).filter(e)},edges:function(e){return this.filter(function(r){return r.isEdge()}).filter(e)},byGroup:function(){for(var e=this.spawn(),r=this.spawn(),n=0;n<this.length;n++){var a=this[n];a.isNode()?e.push(a):r.push(a)}return{nodes:e,edges:r}},filter:function(e,r){if(e===void 0)return this;if(Ee(e)||Xt(e))return new kn(e).filter(this);if(Je(e)){for(var n=this.spawn(),a=this,i=0;i<a.length;i++){var o=a[i],l=r?e.apply(r,[o,i,a]):e(o,i,a);l&&n.push(o)}return n}return this.spawn()},not:function(e){if(e){Ee(e)&&(e=this.filter(e));for(var r=this.spawn(),n=0;n<this.length;n++){var a=this[n],i=e.has(a);i||r.push(a)}return r}else return this},absoluteComplement:function(){var e=this.cy();return e.mutableElements().not(this)},intersect:function(e){if(Ee(e)){var r=e;return this.filter(r)}for(var n=this.spawn(),a=this,i=e,o=this.length<e.length,l=o?a:i,u=o?i:a,c=0;c<l.length;c++){var d=l[c];u.has(d)&&n.push(d)}return n},xor:function(e){var r=this._private.cy;Ee(e)&&(e=r.$(e));var n=this.spawn(),a=this,i=e,o=function(u,c){for(var d=0;d<u.length;d++){var f=u[d],h=f._private.data.id,v=c.hasElementWithId(h);v||n.push(f)}};return o(a,i),o(i,a),n},diff:function(e){var r=this._private.cy;Ee(e)&&(e=r.$(e));var n=this.spawn(),a=this.spawn(),i=this.spawn(),o=this,l=e,u=function(d,f,h){for(var v=0;v<d.length;v++){var p=d[v],g=p._private.data.id,m=f.hasElementWithId(g);m?i.merge(p):h.push(p)}};return u(o,l,n),u(l,o,a),{left:n,right:a,both:i}},add:function(e){var r=this._private.cy;if(!e)return this;if(Ee(e)){var n=e;e=r.mutableElements().filter(n)}for(var a=this.spawnSelf(),i=0;i<e.length;i++){var o=e[i],l=!this.has(o);l&&a.push(o)}return a},merge:function(e){var r=this._private,n=r.cy;if(!e)return this;if(e&&Ee(e)){var a=e;e=n.mutableElements().filter(a)}for(var i=r.map,o=0;o<e.length;o++){var l=e[o],u=l._private.data.id,c=!i.has(u);if(c){var d=this.length++;this[d]=l,i.set(u,{ele:l,index:d})}}return this},unmergeAt:function(e){var r=this[e],n=r.id(),a=this._private,i=a.map;this[e]=void 0,i.delete(n);var o=e===this.length-1;if(this.length>1&&!o){var l=this.length-1,u=this[l],c=u._private.data.id;this[l]=void 0,this[e]=u,i.set(c,{ele:u,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,n=e._private.data.id,a=r.map,i=a.get(n);if(!i)return this;var o=i.index;return this.unmergeAt(o),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&Ee(e)){var n=e;e=r.mutableElements().filter(n)}for(var a=0;a<e.length;a++)this.unmergeOne(e[a]);return this},unmergeBy:function(e){for(var r=this.length-1;r>=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},map:function(e,r){for(var n=[],a=this,i=0;i<a.length;i++){var o=a[i],l=r?e.apply(r,[o,i,a]):e(o,i,a);n.push(l)}return n},reduce:function(e,r){for(var n=r,a=this,i=0;i<a.length;i++)n=e(n,a[i],i,a);return n},max:function(e,r){for(var n=-1/0,a,i=this,o=0;o<i.length;o++){var l=i[o],u=r?e.apply(r,[l,o,i]):e(l,o,i);u>n&&(n=u,a=l)}return{value:n,ele:a}},min:function(e,r){for(var n=1/0,a,i=this,o=0;o<i.length;o++){var l=i[o],u=r?e.apply(r,[l,o,i]):e(l,o,i);u<n&&(n=u,a=l)}return{value:n,ele:a}}},Re=p1;Re.u=Re["|"]=Re["+"]=Re.union=Re.or=Re.add,Re["\\"]=Re["!"]=Re["-"]=Re.difference=Re.relativeComplement=Re.subtract=Re.not,Re.n=Re["&"]=Re["."]=Re.and=Re.intersection=Re.intersect,Re["^"]=Re["(+)"]=Re["(-)"]=Re.symmetricDifference=Re.symdiff=Re.xor,Re.fnFilter=Re.filterFn=Re.stdFilter=Re.filter,Re.complement=Re.abscomp=Re.absoluteComplement;var Bz={isNode:function(){return this.group()==="nodes"},isEdge:function(){return this.group()==="edges"},isLoop:function(){return this.isEdge()&&this.source()[0]===this.target()[0]},isSimple:function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},group:function(){var e=this[0];if(e)return e._private.group}},v1=function(e,r){var n=e.cy(),a=n.hasCompoundNodes();function i(d){var f=d.pstyle("z-compound-depth");return f.value==="auto"?a?d.zDepth():0:f.value==="bottom"?-1:f.value==="top"?Vc:0}var o=i(e)-i(r);if(o!==0)return o;function l(d){var f=d.pstyle("z-index-compare");return f.value==="auto"&&d.isNode()?1:0}var u=l(e)-l(r);if(u!==0)return u;var c=e.pstyle("z-index").value-r.pstyle("z-index").value;return c!==0?c:e.poolIndex()-r.poolIndex()},zs={forEach:function(e,r){if(Je(e))for(var n=this.length,a=0;a<n;a++){var i=this[a],o=r?e.apply(r,[i,a,this]):e(i,a,this);if(o===!1)break}return this},toArray:function(){for(var e=[],r=0;r<this.length;r++)e.push(this[r]);return e},slice:function(e,r){var n=[],a=this.length;r==null&&(r=a),e==null&&(e=0),e<0&&(e=a+e),r<0&&(r=a+r);for(var i=e;i>=0&&i<r&&i<a;i++)n.push(this[i]);return this.spawn(n)},size:function(){return this.length},eq:function(e){return this[e]||this.spawn()},first:function(){return this[0]||this.spawn()},last:function(){return this[this.length-1]||this.spawn()},empty:function(){return this.length===0},nonempty:function(){return!this.empty()},sort:function(e){if(!Je(e))return this;var r=this.toArray().sort(e);return this.spawn(r)},sortByZIndex:function(){return this.sort(v1)},zDepth:function(){var e=this[0];if(e){var r=e._private,n=r.group;if(n==="nodes"){var a=r.data.parent?e.parents().size():0;return e.isParent()?a:Vc-1}else{var i=r.source,o=r.target,l=i.zDepth(),u=o.zDepth();return Math.max(l,u,0)}}}};zs.each=zs.forEach;var Dz=function(){var e="undefined",r=(typeof Symbol>"u"?"undefined":ht(Symbol))!=e&&ht(Symbol.iterator)!=e;r&&(zs[Symbol.iterator]=function(){var n=this,a={value:void 0,done:!1},i=0,o=this.length;return N0({next:function(){return i<o?a.value=n[i++]:(a.value=void 0,a.done=!0),a}},Symbol.iterator,function(){return this})})};Dz();var Oz=St({nodeDimensionsIncludeLabels:!1}),Hs={layoutDimensions:function(e){e=Oz(e);var r;if(!this.takesUpSpace())r={w:0,h:0};else if(e.nodeDimensionsIncludeLabels){var n=this.boundingBox();r={w:n.w,h:n.h}}else r={w:this.outerWidth(),h:this.outerHeight()};return(r.w===0||r.h===0)&&(r.w=r.h=1),r},layoutPositions:function(e,r,n){var a=this.nodes().filter(function(x){return!x.isParent()}),i=this.cy(),o=r.eles,l=function(k){return k.id()},u=Gi(n,l);e.emit({type:"layoutstart",layout:e}),e.animations=[];var c=function(k,E,_){var S={x:E.x1+E.w/2,y:E.y1+E.h/2},T={x:(_.x-S.x)*k,y:(_.y-S.y)*k};return{x:S.x+T.x,y:S.y+T.y}},d=r.spacingFactor&&r.spacingFactor!==1,f=function(){if(!d)return null;for(var k=Ut(),E=0;E<a.length;E++){var _=a[E],S=u(_,E);L5(k,S.x,S.y)}return k},h=f(),v=Gi(function(x,k){var E=u(x,k);if(d){var _=Math.abs(r.spacingFactor);E=c(_,h,E)}return r.transform!=null&&(E=r.transform(x,E)),E},l);if(r.animate){for(var p=0;p<a.length;p++){var g=a[p],m=v(g,p),y=r.animateFilter==null||r.animateFilter(g,p);if(y){var b=g.animation({position:m,duration:r.animationDuration,easing:r.animationEasing});e.animations.push(b)}else g.position(m)}if(r.fit){var w=i.animation({fit:{boundingBox:o.boundingBoxAt(v),padding:r.padding},duration:r.animationDuration,easing:r.animationEasing});e.animations.push(w)}else if(r.zoom!==void 0&&r.pan!==void 0){var C=i.animation({zoom:r.zoom,pan:r.pan,duration:r.animationDuration,easing:r.animationEasing});e.animations.push(C)}e.animations.forEach(function(x){return x.play()}),e.one("layoutready",r.ready),e.emit({type:"layoutready",layout:e}),Ua.all(e.animations.map(function(x){return x.promise()})).then(function(){e.one("layoutstop",r.stop),e.emit({type:"layoutstop",layout:e})})}else a.positions(v),r.fit&&i.fit(r.eles,r.padding),r.zoom!=null&&i.zoom(r.zoom),r.pan&&i.pan(r.pan),e.one("layoutready",r.ready),e.emit({type:"layoutready",layout:e}),e.one("layoutstop",r.stop),e.emit({type:"layoutstop",layout:e});return this},layout:function(e){var r=this.cy();return r.makeLayout(Te({},e,{eles:this}))}};Hs.createLayout=Hs.makeLayout=Hs.layout;function g1(t,e,r){var n=r._private,a=n.styleCache=n.styleCache||[],i;return(i=a[t])!=null||(i=a[t]=e(r)),i}function Ks(t,e){return t=Jn(t),function(n){return g1(t,e,n)}}function Gs(t,e){t=Jn(t);var r=function(a){return e.call(a)};return function(){var a=this[0];if(a)return g1(t,r,a)}}var _t={recalculateRenderedStyle:function(e){var r=this.cy(),n=r.renderer(),a=r.styleEnabled();return n&&a&&n.recalculateRenderedStyle(this,e),this},dirtyStyleCache:function(){var e=this.cy(),r=function(i){return i._private.styleCache=null};if(e.hasCompoundNodes()){var n;n=this.spawnSelf().merge(this.descendants()).merge(this.parents()),n.merge(n.connectedEdges()),n.forEach(r)}else this.forEach(function(a){r(a),a.connectedEdges().forEach(r)});return this},updateStyle:function(e){var r=this._private.cy;if(!r.styleEnabled())return this;if(r.batching()){var n=r._private.batchStyleEles;return n.merge(this),this}var a=r.hasCompoundNodes(),i=this;e=!!(e||e===void 0),a&&(i=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var o=i;return e?o.emitAndNotify("style"):o.emit("style"),i.forEach(function(l){return l._private.styleDirty=!0}),this},cleanStyle:function(){var e=this.cy();if(e.styleEnabled())for(var r=0;r<this.length;r++){var n=this[r];n._private.styleDirty&&(n._private.styleDirty=!1,e.style().apply(n))}},parsedStyle:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],a=n.cy();if(a.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[e];return i??(r?a.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},numericStyleUnits:function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},renderedStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},style:function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var a=!1,i=n.style();if(Pe(e)){var o=e;i.applyBypass(this,o,a),this.emitAndNotify("style")}else if(Ee(e))if(r===void 0){var l=this[0];return l?i.getStylePropertyValue(l,e):void 0}else i.applyBypass(this,e,r,a),this.emitAndNotify("style");else if(e===void 0){var u=this[0];return u?i.getRawStyle(u):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,a=r.style(),i=this;if(e===void 0)for(var o=0;o<i.length;o++){var l=i[o];a.removeAllBypasses(l,n)}else{e=e.split(/\s+/);for(var u=0;u<i.length;u++){var c=i[u];a.removeBypasses(c,e,n)}}return this.emitAndNotify("style"),this},show:function(){return this.css("display","element"),this},hide:function(){return this.css("display","none"),this},effectiveOpacity:function(){var e=this.cy();if(!e.styleEnabled())return 1;var r=e.hasCompoundNodes(),n=this[0];if(n){var a=n._private,i=n.pstyle("opacity").value;if(!r)return i;var o=a.data.parent?n.parents():null;if(o)for(var l=0;l<o.length;l++){var u=o[l],c=u.pstyle("opacity").value;i=c*i}return i}},transparent:function(){var e=this.cy();if(!e.styleEnabled())return!1;var r=this[0],n=r.cy().hasCompoundNodes();if(r)return n?r.effectiveOpacity()===0:r.pstyle("opacity").value===0},backgrounding:function(){var e=this.cy();if(!e.styleEnabled())return!1;var r=this[0];return!!r._private.backgrounding}};function uu(t,e){var r=t._private,n=r.data.parent?t.parents():null;if(n)for(var a=0;a<n.length;a++){var i=n[a];if(!e(i))return!1}return!0}function du(t){var e=t.ok,r=t.edgeOkViaNode||t.ok,n=t.parentOk||t.ok;return function(){var a=this.cy();if(!a.styleEnabled())return!0;var i=this[0],o=a.hasCompoundNodes();if(i){var l=i._private;if(!e(i))return!1;if(i.isNode())return!o||uu(i,n);var u=l.source,c=l.target;return r(u)&&(!o||uu(u,r))&&(u===c||r(c)&&(!o||uu(c,r)))}}}var ei=Ks("eleTakesUpSpace",function(t){return t.pstyle("display").value==="element"&&t.width()!==0&&(t.isNode()?t.height()!==0:!0)});_t.takesUpSpace=Gs("takesUpSpace",du({ok:ei}));var Az=Ks("eleInteractive",function(t){return t.pstyle("events").value==="yes"&&t.pstyle("visibility").value==="visible"&&ei(t)}),Pz=Ks("parentInteractive",function(t){return t.pstyle("visibility").value==="visible"&&ei(t)});_t.interactive=Gs("interactive",du({ok:Az,parentOk:Pz,edgeOkViaNode:ei})),_t.noninteractive=function(){var t=this[0];if(t)return!t.interactive()};var Lz=Ks("eleVisible",function(t){return t.pstyle("visibility").value==="visible"&&t.pstyle("opacity").pfValue!==0&&ei(t)}),Rz=ei;_t.visible=Gs("visible",du({ok:Lz,edgeOkViaNode:Rz})),_t.hidden=function(){var t=this[0];if(t)return!t.visible()},_t.isBundledBezier=Gs("isBundledBezier",function(){return this.cy().styleEnabled()?!this.removed()&&this.pstyle("curve-style").value==="bezier"&&this.takesUpSpace():!1}),_t.bypass=_t.css=_t.style,_t.renderedCss=_t.renderedStyle,_t.removeBypass=_t.removeCss=_t.removeStyle,_t.pstyle=_t.parsedStyle;var In={};function m1(t){return function(){var e=arguments,r=[];if(e.length===2){var n=e[0],a=e[1];this.on(t.event,n,a)}else if(e.length===1&&Je(e[0])){var i=e[0];this.on(t.event,i)}else if(e.length===0||e.length===1&&Ke(e[0])){for(var o=e.length===1?e[0]:null,l=0;l<this.length;l++){var u=this[l],c=!t.ableField||u._private[t.ableField],d=u._private[t.field]!=t.value;if(t.overrideAble){var f=t.overrideAble(u);if(f!==void 0&&(c=f,!f))return this}c&&(u._private[t.field]=t.value,d&&r.push(u))}var h=this.spawn(r);h.updateStyle(),h.emit(t.event),o&&h.emit(o)}return this}}function ti(t){In[t.field]=function(){var e=this[0];if(e){if(t.overrideField){var r=t.overrideField(e);if(r!==void 0)return r}return e._private[t.field]}},In[t.on]=m1({event:t.on,field:t.field,ableField:t.ableField,overrideAble:t.overrideAble,value:!0}),In[t.off]=m1({event:t.off,field:t.field,ableField:t.ableField,overrideAble:t.overrideAble,value:!1})}ti({field:"locked",overrideField:function(e){return e.cy().autolock()?!0:void 0},on:"lock",off:"unlock"}),ti({field:"grabbable",overrideField:function(e){return e.cy().autoungrabify()||e.pannable()?!1:void 0},on:"grabify",off:"ungrabify"}),ti({field:"selected",ableField:"selectable",overrideAble:function(e){return e.cy().autounselectify()?!1:void 0},on:"select",off:"unselect"}),ti({field:"selectable",overrideField:function(e){return e.cy().autounselectify()?!1:void 0},on:"selectify",off:"unselectify"}),In.deselect=In.unselect,In.grabbed=function(){var t=this[0];if(t)return t._private.grabbed},ti({field:"active",on:"activate",off:"unactivate"}),ti({field:"pannable",on:"panify",off:"unpanify"}),In.inactive=function(){var t=this[0];if(t)return!t._private.active};var Ot={},y1=function(e){return function(n){for(var a=this,i=[],o=0;o<a.length;o++){var l=a[o];if(l.isNode()){for(var u=!1,c=l.connectedEdges(),d=0;d<c.length;d++){var f=c[d],h=f.source(),v=f.target();if(e.noIncomingEdges&&v===l&&h!==l||e.noOutgoingEdges&&h===l&&v!==l){u=!0;break}}u||i.push(l)}}return this.spawn(i,!0).filter(n)}},b1=function(e){return function(r){for(var n=this,a=[],i=0;i<n.length;i++){var o=n[i];if(o.isNode())for(var l=o.connectedEdges(),u=0;u<l.length;u++){var c=l[u],d=c.source(),f=c.target();e.outgoing&&d===o?(a.push(c),a.push(f)):e.incoming&&f===o&&(a.push(c),a.push(d))}}return this.spawn(a,!0).filter(r)}},w1=function(e){return function(r){for(var n=this,a=[],i={};;){var o=e.outgoing?n.outgoers():n.incomers();if(o.length===0)break;for(var l=!1,u=0;u<o.length;u++){var c=o[u],d=c.id();i[d]||(i[d]=!0,a.push(c),l=!0)}if(!l)break;n=o}return this.spawn(a,!0).filter(r)}};Ot.clearTraversalCache=function(){for(var t=0;t<this.length;t++)this[t]._private.traversalCache=null},Te(Ot,{roots:y1({noIncomingEdges:!0}),leaves:y1({noOutgoingEdges:!0}),outgoers:ar(b1({outgoing:!0}),"outgoers"),successors:w1({outgoing:!0}),incomers:ar(b1({incoming:!0}),"incomers"),predecessors:w1({})}),Te(Ot,{neighborhood:ar(function(t){for(var e=[],r=this.nodes(),n=0;n<r.length;n++)for(var a=r[n],i=a.connectedEdges(),o=0;o<i.length;o++){var l=i[o],u=l.source(),c=l.target(),d=a===u?c:u;d.length>0&&e.push(d[0]),e.push(l[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),Ot.neighbourhood=Ot.neighborhood,Ot.closedNeighbourhood=Ot.closedNeighborhood,Ot.openNeighbourhood=Ot.openNeighborhood,Te(Ot,{source:ar(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"source"),target:ar(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"target"),sources:C1({attr:"source"}),targets:C1({attr:"target"})});function C1(t){return function(r){for(var n=[],a=0;a<this.length;a++){var i=this[a],o=i._private[t.attr];o&&n.push(o)}return this.spawn(n,!0).filter(r)}}Te(Ot,{edgesWith:ar(E1(),"edgesWith"),edgesTo:ar(E1({thisIsSrc:!0}),"edgesTo")});function E1(t){return function(r){var n=[],a=this._private.cy,i=t||{};Ee(r)&&(r=a.$(r));for(var o=0;o<r.length;o++)for(var l=r[o]._private.edges,u=0;u<l.length;u++){var c=l[u],d=c._private.data,f=this.hasElementWithId(d.source)&&r.hasElementWithId(d.target),h=r.hasElementWithId(d.source)&&this.hasElementWithId(d.target),v=f||h;v&&((i.thisIsSrc||i.thisIsTgt)&&(i.thisIsSrc&&!f||i.thisIsTgt&&!h)||n.push(c))}return this.spawn(n,!0)}}Te(Ot,{connectedEdges:ar(function(t){for(var e=[],r=this,n=0;n<r.length;n++){var a=r[n];if(a.isNode())for(var i=a._private.edges,o=0;o<i.length;o++){var l=i[o];e.push(l)}}return this.spawn(e,!0).filter(t)},"connectedEdges"),connectedNodes:ar(function(t){for(var e=[],r=this,n=0;n<r.length;n++){var a=r[n];a.isEdge()&&(e.push(a.source()[0]),e.push(a.target()[0]))}return this.spawn(e,!0).filter(t)},"connectedNodes"),parallelEdges:ar(x1(),"parallelEdges"),codirectedEdges:ar(x1({codirected:!0}),"codirectedEdges")});function x1(t){var e={codirected:!1};return t=Te({},e,t),function(n){for(var a=[],i=this.edges(),o=t,l=0;l<i.length;l++)for(var u=i[l],c=u._private,d=c.source,f=d._private.data.id,h=c.data.target,v=d._private.edges,p=0;p<v.length;p++){var g=v[p],m=g._private.data,y=m.target,b=m.source,w=y===h&&b===f,C=f===y&&h===b;(o.codirected&&w||!o.codirected&&(w||C))&&a.push(g)}return this.spawn(a,!0).filter(n)}}Te(Ot,{components:function(e){var r=this,n=r.cy(),a=n.collection(),i=e==null?r.nodes():e.nodes(),o=[];e!=null&&i.empty()&&(i=e.sources());var l=function(d,f){a.merge(d),i.unmerge(d),f.merge(d)};if(i.empty())return r.spawn();var u=function(){var d=n.collection();o.push(d);var f=i[0];l(f,d),r.bfs({directed:!1,roots:f,visit:function(v){return l(v,d)}}),d.forEach(function(h){h.connectedEdges().forEach(function(v){r.has(v)&&d.has(v.source())&&d.has(v.target())&&d.merge(v)})})};do u();while(i.length>0);return o},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),Ot.componentsOf=Ot.components;var Tt=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){Qe("A collection must have a reference to the core");return}var i=new Ir,o=!1;if(!r)r=[];else if(r.length>0&&Pe(r[0])&&!Ki(r[0])){o=!0;for(var l=[],u=new $a,c=0,d=r.length;c<d;c++){var f=r[c];f.data==null&&(f.data={});var h=f.data;if(h.id==null)h.id=eb();else if(e.hasElementWithId(h.id)||u.has(h.id))continue;var v=new ws(e,f,!1);l.push(v),u.add(h.id)}r=l}this.length=0;for(var p=0,g=r.length;p<g;p++){var m=r[p][0];if(m!=null){var y=m._private.data.id;(!n||!i.has(y))&&(n&&i.set(y,{index:this.length,ele:m}),this[this.length]=m,this.length++)}}this._private={eles:this,cy:e,get map(){return this.lazyMap==null&&this.rebuildMap(),this.lazyMap},set map(b){this.lazyMap=b},rebuildMap:function(){for(var w=this.lazyMap=new Ir,C=this.eles,x=0;x<C.length;x++){var k=C[x];w.set(k.id(),{index:x,ele:k})}}},n&&(this._private.map=i),o&&!a&&this.restore()},Ge=ws.prototype=Tt.prototype=Object.create(Array.prototype);Ge.instanceString=function(){return"collection"},Ge.spawn=function(t,e){return new Tt(this.cy(),t,e)},Ge.spawnSelf=function(){return this.spawn(this)},Ge.cy=function(){return this._private.cy},Ge.renderer=function(){return this._private.cy.renderer()},Ge.element=function(){return this[0]},Ge.collection=function(){return P0(this)?this:new Tt(this._private.cy,[this])},Ge.unique=function(){return new Tt(this._private.cy,this,!0)},Ge.hasElementWithId=function(t){return t=""+t,this._private.map.has(t)},Ge.getElementById=function(t){t=""+t;var e=this._private.cy,r=this._private.map.get(t);return r?r.ele:new Tt(e)},Ge.$id=Ge.getElementById,Ge.poolIndex=function(){var t=this._private.cy,e=t._private.elements,r=this[0]._private.data.id;return e._private.map.get(r).index},Ge.indexOf=function(t){var e=t[0]._private.data.id;return this._private.map.get(e).index},Ge.indexOfId=function(t){return t=""+t,this._private.map.get(t).index},Ge.json=function(t){var e=this.element(),r=this.cy();if(e==null&&t)return this;if(e!=null){var n=e._private;if(Pe(t)){if(r.startBatch(),t.data){e.data(t.data);var a=n.data;if(e.isEdge()){var i=!1,o={},l=t.data.source,u=t.data.target;l!=null&&l!=a.source&&(o.source=""+l,i=!0),u!=null&&u!=a.target&&(o.target=""+u,i=!0),i&&(e=e.move(o))}else{var c="parent"in t.data,d=t.data.parent;c&&(d!=null||a.parent!=null)&&d!=a.parent&&(d===void 0&&(d=null),d!=null&&(d=""+d),e=e.move({parent:d}))}}t.position&&e.position(t.position);var f=function(g,m,y){var b=t[g];b!=null&&b!==n[g]&&(b?e[m]():e[y]())};return f("removed","remove","restore"),f("selected","select","unselect"),f("selectable","selectify","unselectify"),f("locked","lock","unlock"),f("grabbable","grabify","ungrabify"),f("pannable","panify","unpanify"),t.classes!=null&&e.classes(t.classes),r.endBatch(),this}else if(t===void 0){var h={data:Nr(n.data),position:Nr(n.position),group:n.group,removed:n.removed,selected:n.selected,selectable:n.selectable,locked:n.locked,grabbable:n.grabbable,pannable:n.pannable,classes:null};h.classes="";var v=0;return n.classes.forEach(function(p){return h.classes+=v++===0?p:" "+p}),h}}},Ge.jsons=function(){for(var t=[],e=0;e<this.length;e++){var r=this[e],n=r.json();t.push(n)}return t},Ge.clone=function(){for(var t=this.cy(),e=[],r=0;r<this.length;r++){var n=this[r],a=n.json(),i=new ws(t,a,!1);e.push(i)}return new Tt(t,e)},Ge.copy=Ge.clone,Ge.restore=function(){for(var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),a=n._private,i=[],o=[],l,u=0,c=r.length;u<c;u++){var d=r[u];e&&!d.removed()||(d.isNode()?i.push(d):o.push(d))}l=i.concat(o);var f,h=function(){l.splice(f,1),f--};for(f=0;f<l.length;f++){var v=l[f],p=v._private,g=p.data;if(v.clearTraversalCache(),!(!e&&!p.removed)){if(g.id===void 0)g.id=eb();else if(de(g.id))g.id=""+g.id;else if(yn(g.id)||!Ee(g.id)){Qe("Can not create element with invalid string ID `"+g.id+"`"),h();continue}else if(n.hasElementWithId(g.id)){Qe("Can not create second element with ID `"+g.id+"`"),h();continue}}var m=g.id;if(v.isNode()){var y=p.position;y.x==null&&(y.x=0),y.y==null&&(y.y=0)}if(v.isEdge()){for(var b=v,w=["source","target"],C=w.length,x=!1,k=0;k<C;k++){var E=w[k],_=g[E];de(_)&&(_=g[E]=""+g[E]),_==null||_===""?(Qe("Can not create edge `"+m+"` with unspecified "+E),x=!0):n.hasElementWithId(_)||(Qe("Can not create edge `"+m+"` with nonexistant "+E+" `"+_+"`"),x=!0)}if(x){h();continue}var S=n.getElementById(g.source),T=n.getElementById(g.target);S.same(T)?S._private.edges.push(b):(S._private.edges.push(b),T._private.edges.push(b)),b._private.source=S,b._private.target=T}p.map=new Ir,p.map.set(m,{ele:v,index:0}),p.removed=!1,e&&n.addToPool(v)}for(var N=0;N<i.length;N++){var B=i[N],O=B._private.data;de(O.parent)&&(O.parent=""+O.parent);var D=O.parent,L=D!=null;if(L||B._private.parent){var A=B._private.parent?n.collection().merge(B._private.parent):n.getElementById(D);if(A.empty())O.parent=void 0;else if(A[0].removed())$e("Node added with missing parent, reference to parent removed"),O.parent=void 0,B._private.parent=null;else{for(var M=!1,P=A;!P.empty();){if(B.same(P)){M=!0,O.parent=void 0;break}P=P.parent()}M||(A[0]._private.children.push(B),B._private.parent=A[0],a.hasCompoundNodes=!0)}}}if(l.length>0){for(var z=l.length===r.length?r:new Tt(n,l),W=0;W<z.length;W++){var H=z[W];H.isNode()||(H.parallelEdges().clearTraversalCache(),H.source().clearTraversalCache(),H.target().clearTraversalCache())}var G;a.hasCompoundNodes?G=n.collection().merge(z).merge(z.connectedNodes()).merge(z.parent()):G=z,G.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(t),t?z.emitAndNotify("add"):e&&z.emit("add")}return r},Ge.removed=function(){var t=this[0];return t&&t._private.removed},Ge.inside=function(){var t=this[0];return t&&!t._private.removed},Ge.remove=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],a={},i=r._private.cy;function o(D){for(var L=D._private.edges,A=0;A<L.length;A++)u(L[A])}function l(D){for(var L=D._private.children,A=0;A<L.length;A++)u(L[A])}function u(D){var L=a[D.id()];e&&D.removed()||L||(a[D.id()]=!0,D.isNode()?(n.push(D),o(D),l(D)):n.unshift(D))}for(var c=0,d=r.length;c<d;c++){var f=r[c];u(f)}function h(D,L){var A=D._private.edges;wn(A,L),D.clearTraversalCache()}function v(D){D.clearTraversalCache()}var p=[];p.ids={};function g(D,L){L=L[0],D=D[0];var A=D._private.children,M=D.id();wn(A,L),L._private.parent=null,p.ids[M]||(p.ids[M]=!0,p.push(D))}r.dirtyCompoundBoundsCache(),e&&i.removeFromPool(n);for(var m=0;m<n.length;m++){var y=n[m];if(y.isEdge()){var b=y.source()[0],w=y.target()[0];h(b,y),h(w,y);for(var C=y.parallelEdges(),x=0;x<C.length;x++){var k=C[x];v(k),k.isBundledBezier()&&k.dirtyBoundingBoxCache()}}else{var E=y.parent();E.length!==0&&g(E,y)}e&&(y._private.removed=!0)}var _=i._private.elements;i._private.hasCompoundNodes=!1;for(var S=0;S<_.length;S++){var T=_[S];if(T.isParent()){i._private.hasCompoundNodes=!0;break}}var N=new Tt(this.cy(),n);N.size()>0&&(t?N.emitAndNotify("remove"):e&&N.emit("remove"));for(var B=0;B<p.length;B++){var O=p[B];(!e||!O.removed())&&O.updateStyle()}return N},Ge.move=function(t){var e=this._private.cy,r=this,n=!1,a=!1,i=function(p){return p==null?p:""+p};if(t.source!==void 0||t.target!==void 0){var o=i(t.source),l=i(t.target),u=o!=null&&e.hasElementWithId(o),c=l!=null&&e.hasElementWithId(l);(u||c)&&(e.batch(function(){r.remove(n,a),r.emitAndNotify("moveout");for(var v=0;v<r.length;v++){var p=r[v],g=p._private.data;p.isEdge()&&(u&&(g.source=o),c&&(g.target=l))}r.restore(n,a)}),r.emitAndNotify("move"))}else if(t.parent!==void 0){var d=i(t.parent),f=d===null||e.hasElementWithId(d);if(f){var h=d===null?void 0:d;e.batch(function(){var v=r.remove(n,a);v.emitAndNotify("moveout");for(var p=0;p<r.length;p++){var g=r[p],m=g._private.data;g.isNode()&&(m.parent=h)}v.restore(n,a)}),r.emitAndNotify("move")}}return this},[Tb,Wq,Rs,_n,Xa,cz,Ms,Sz,h1,p1,Bz,zs,Hs,_t,In,Ot].forEach(function(t){Te(Ge,t)});var Mz={add:function(e){var r,n=this;if(Xt(e)){var a=e;if(a._private.cy===n)r=a.restore();else{for(var i=[],o=0;o<a.length;o++){var l=a[o];i.push(l.json())}r=new Tt(n,i)}}else if(Ke(e)){var u=e;r=new Tt(n,u)}else if(Pe(e)&&(Ke(e.nodes)||Ke(e.edges))){for(var c=e,d=[],f=["nodes","edges"],h=0,v=f.length;h<v;h++){var p=f[h],g=c[p];if(Ke(g))for(var m=0,y=g.length;m<y;m++){var b=Te({group:p},g[m]);d.push(b)}}r=new Tt(n,d)}else{var w=e;r=new ws(n,w).collection()}return r},remove:function(e){if(!Xt(e)){if(Ee(e)){var r=e;e=this.$(r)}}return e.remove()}};/*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */function Fz(t,e,r,n){var a=4,i=.001,o=1e-7,l=10,u=11,c=1/(u-1),d=typeof Float32Array<"u";if(arguments.length!==4)return!1;for(var f=0;f<4;++f)if(typeof arguments[f]!="number"||isNaN(arguments[f])||!isFinite(arguments[f]))return!1;t=Math.min(t,1),r=Math.min(r,1),t=Math.max(t,0),r=Math.max(r,0);var h=d?new Float32Array(u):new Array(u);function v(T,N){return 1-3*N+3*T}function p(T,N){return 3*N-6*T}function g(T){return 3*T}function m(T,N,B){return((v(N,B)*T+p(N,B))*T+g(N))*T}function y(T,N,B){return 3*v(N,B)*T*T+2*p(N,B)*T+g(N)}function b(T,N){for(var B=0;B<a;++B){var O=y(N,t,r);if(O===0)return N;var D=m(N,t,r)-T;N-=D/O}return N}function w(){for(var T=0;T<u;++T)h[T]=m(T*c,t,r)}function C(T,N,B){var O,D,L=0;do D=N+(B-N)/2,O=m(D,t,r)-T,O>0?B=D:N=D;while(Math.abs(O)>o&&++L<l);return D}function x(T){for(var N=0,B=1,O=u-1;B!==O&&h[B]<=T;++B)N+=c;--B;var D=(T-h[B])/(h[B+1]-h[B]),L=N+D*c,A=y(L,t,r);return A>=i?b(T,L):A===0?L:C(T,N,N+c)}var k=!1;function E(){k=!0,(t!==e||r!==n)&&w()}var _=function(N){return k||E(),t===e&&r===n?N:N===0?0:N===1?1:m(x(N),e,n)};_.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var S="generateBezier("+[t,e,r,n]+")";return _.toString=function(){return S},_}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var $z=function(){function t(n){return-n.tension*n.x-n.friction*n.v}function e(n,a,i){var o={x:n.x+i.dx*a,v:n.v+i.dv*a,tension:n.tension,friction:n.friction};return{dx:o.v,dv:t(o)}}function r(n,a){var i={dx:n.v,dv:t(n)},o=e(n,a*.5,i),l=e(n,a*.5,o),u=e(n,a,l),c=1/6*(i.dx+2*(o.dx+l.dx)+u.dx),d=1/6*(i.dv+2*(o.dv+l.dv)+u.dv);return n.x=n.x+c*a,n.v=n.v+d*a,n}return function n(a,i,o){var l={x:-1,v:0,tension:null,friction:null},u=[0],c=0,d=1/1e4,f=16/1e3,h,v,p;for(a=parseFloat(a)||500,i=parseFloat(i)||20,o=o||null,l.tension=a,l.friction=i,h=o!==null,h?(c=n(a,i),v=c/o*f):v=f;p=r(p||l,v),u.push(1+p.x),c+=16,Math.abs(p.x)>d&&Math.abs(p.v)>d;);return h?function(g){return u[g*(u.length-1)|0]}:c}}(),Ue=function(e,r,n,a){var i=Fz(e,r,n,a);return function(o,l,u){return o+(l-o)*i(u)}},Us={linear:function(e,r,n){return e+(r-e)*n},ease:Ue(.25,.1,.25,1),"ease-in":Ue(.42,0,1,1),"ease-out":Ue(0,0,.58,1),"ease-in-out":Ue(.42,0,.58,1),"ease-in-sine":Ue(.47,0,.745,.715),"ease-out-sine":Ue(.39,.575,.565,1),"ease-in-out-sine":Ue(.445,.05,.55,.95),"ease-in-quad":Ue(.55,.085,.68,.53),"ease-out-quad":Ue(.25,.46,.45,.94),"ease-in-out-quad":Ue(.455,.03,.515,.955),"ease-in-cubic":Ue(.55,.055,.675,.19),"ease-out-cubic":Ue(.215,.61,.355,1),"ease-in-out-cubic":Ue(.645,.045,.355,1),"ease-in-quart":Ue(.895,.03,.685,.22),"ease-out-quart":Ue(.165,.84,.44,1),"ease-in-out-quart":Ue(.77,0,.175,1),"ease-in-quint":Ue(.755,.05,.855,.06),"ease-out-quint":Ue(.23,1,.32,1),"ease-in-out-quint":Ue(.86,0,.07,1),"ease-in-expo":Ue(.95,.05,.795,.035),"ease-out-expo":Ue(.19,1,.22,1),"ease-in-out-expo":Ue(1,0,0,1),"ease-in-circ":Ue(.6,.04,.98,.335),"ease-out-circ":Ue(.075,.82,.165,1),"ease-in-out-circ":Ue(.785,.135,.15,.86),spring:function(e,r,n){if(n===0)return Us.linear;var a=$z(e,r,n);return function(i,o,l){return i+(o-i)*a(l)}},"cubic-bezier":Ue};function k1(t,e,r,n,a){if(n===1||e===r)return r;var i=a(e,r,n);return t==null||((t.roundValue||t.color)&&(i=Math.round(i)),t.min!==void 0&&(i=Math.max(i,t.min)),t.max!==void 0&&(i=Math.min(i,t.max))),i}function S1(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function ri(t,e,r,n,a){var i=a!=null?a.type:null;r<0?r=0:r>1&&(r=1);var o=S1(t,a),l=S1(e,a);if(de(o)&&de(l))return k1(i,o,l,r,n);if(Ke(o)&&Ke(l)){for(var u=[],c=0;c<l.length;c++){var d=o[c],f=l[c];if(d!=null&&f!=null){var h=k1(i,d,f,r,n);u.push(h)}else u.push(f)}return u}}function Vz(t,e,r,n){var a=!n,i=t._private,o=e._private,l=o.easing,u=o.startTime,c=n?t:t.cy(),d=c.style();if(!o.easingImpl)if(l==null)o.easingImpl=Us.linear;else{var f;if(Ee(l)){var h=d.parse("transition-timing-function",l);f=h.value}else f=l;var v,p;Ee(f)?(v=f,p=[]):(v=f[1],p=f.slice(2).map(function(z){return+z})),p.length>0?(v==="spring"&&p.push(o.duration),o.easingImpl=Us[v].apply(null,p)):o.easingImpl=Us[v]}var g=o.easingImpl,m;if(o.duration===0?m=1:m=(r-u)/o.duration,o.applying&&(m=o.progress),m<0?m=0:m>1&&(m=1),o.delay==null){var y=o.startPosition,b=o.position;if(b&&a&&!t.locked()){var w={};fo(y.x,b.x)&&(w.x=ri(y.x,b.x,m,g)),fo(y.y,b.y)&&(w.y=ri(y.y,b.y,m,g)),t.position(w)}var C=o.startPan,x=o.pan,k=i.pan,E=x!=null&&n;E&&(fo(C.x,x.x)&&(k.x=ri(C.x,x.x,m,g)),fo(C.y,x.y)&&(k.y=ri(C.y,x.y,m,g)),t.emit("pan"));var _=o.startZoom,S=o.zoom,T=S!=null&&n;T&&(fo(_,S)&&(i.zoom=eo(i.minZoom,ri(_,S,m,g),i.maxZoom)),t.emit("zoom")),(E||T)&&t.emit("viewport");var N=o.style;if(N&&N.length>0&&a){for(var B=0;B<N.length;B++){var O=N[B],D=O.name,L=O,A=o.startStyle[D],M=d.properties[A.name],P=ri(A,L,m,g,M);d.overrideBypass(t,D,P)}t.emit("style")}}return o.progress=m,m}function fo(t,e){return t==null||e==null?!1:de(t)&&de(e)?!0:!!(t&&e)}function qz(t,e,r,n){var a=e._private;a.started=!0,a.startTime=r-a.progress*a.duration}function _1(t,e){var r=e._private.aniEles,n=[];function a(d,f){var h=d._private,v=h.animation.current,p=h.animation.queue,g=!1;if(v.length===0){var m=p.shift();m&&v.push(m)}for(var y=function(k){for(var E=k.length-1;E>=0;E--){var _=k[E];_()}k.splice(0,k.length)},b=v.length-1;b>=0;b--){var w=v[b],C=w._private;if(C.stopped){v.splice(b,1),C.hooked=!1,C.playing=!1,C.started=!1,y(C.frames);continue}!C.playing&&!C.applying||(C.playing&&C.applying&&(C.applying=!1),C.started||qz(d,w,t),Vz(d,w,t,f),C.applying&&(C.applying=!1),y(C.frames),C.step!=null&&C.step(t),w.completed()&&(v.splice(b,1),C.hooked=!1,C.playing=!1,C.started=!1,y(C.completes)),g=!0)}return!f&&v.length===0&&p.length===0&&n.push(d),g}for(var i=!1,o=0;o<r.length;o++){var l=r[o],u=a(l);i=i||u}var c=a(e,!0);(i||c)&&(r.length>0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}var zz={animate:Ve.animate(),animation:Ve.animation(),animated:Ve.animated(),clearQueue:Ve.clearQueue(),delay:Ve.delay(),delayAnimation:Ve.delayAnimation(),stop:Ve.stop(),addToAnimationPool:function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&ms(function(i){_1(i,e),r()})}var n=e.renderer();n&&n.beforeRender?n.beforeRender(function(i,o){_1(o,e)},n.beforeRenderPriorities.animations):r()}},Hz={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var a=r.qualifier;return a!=null?e!==n.target&&Ki(n.target)&&a.matches(n.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e}},Ws=function(e){return Ee(e)?new kn(e):e},T1={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new Vs(Hz,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,n){return this.emitter().on(e,Ws(r),n),this},removeListener:function(e,r,n){return this.emitter().removeListener(e,Ws(r),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,n){return this.emitter().one(e,Ws(r),n),this},once:function(e,r,n){return this.emitter().one(e,Ws(r),n),this},emit:function(e,r){return this.emitter().emit(e,r),this},emitAndNotify:function(e,r){return this.emit(e),this.notify(e,r),this}};Ve.eventAliasesOn(T1);var fu={png:function(e){var r=this._private.renderer;return e=e||{},r.png(e)},jpg:function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)}};fu.jpeg=fu.jpg;var js={layout:function(e){var r=this;if(e==null){Qe("Layout options must be specified to make a layout");return}if(e.name==null){Qe("A `name` must be specified to make a layout");return}var n=e.name,a=r.extension("layout",n);if(a==null){Qe("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var i;Ee(e.eles)?i=r.$(e.eles):i=e.eles!=null?e.eles:r.$();var o=new a(Te({},e,{cy:r,eles:i}));return o}};js.createLayout=js.makeLayout=js.layout;var Kz={notify:function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var a=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&a.merge(r);return}if(n.notificationsEnabled){var i=this.renderer();this.destroyed()||!i||i.notify(e,r)}},notifications:function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var a=e.batchNotifications[n];a.empty()?r.notify(n):r.notify(n,a)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),a=0;a<n.length;a++){var i=n[a],o=e[i],l=r.getElementById(i);l.data(o)}})}},Gz=St({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1}),hu={renderTo:function(e,r,n,a){var i=this._private.renderer;return i.renderTo(e,r,n,a),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify("draw"),this},resize:function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},initRenderer:function(e){var r=this,n=r.extension("renderer",e.name);if(n==null){Qe("Can not initialise: No such renderer `".concat(e.name,"` found. Did you forget to import it and `cytoscape.use()` it?"));return}e.wheelSensitivity!==void 0&&$e("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");var a=Gz(e);a.cy=r,r._private.renderer=new n(a),this.notify("init")},destroyRenderer:function(){var e=this;e.notify("destroy");var r=e.container();if(r)for(r._cyreg=null;r.childNodes.length>0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var a=n._private;a.rscratch={},a.rstyle={},a.animation.current=[],a.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};hu.invalidateDimensions=hu.resize;var Ys={collection:function(e,r){return Ee(e)?this.$(e):Xt(e)?e.collection():Ke(e)?(r||(r={}),new Tt(this,e,r.unique,r.removed)):new Tt(this)},nodes:function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},$:function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},mutableElements:function(){return this._private.elements}};Ys.elements=Ys.filter=Ys.$;var At={},ho="t",Uz="f";At.apply=function(t){for(var e=this,r=e._private,n=r.cy,a=n.collection(),i=0;i<t.length;i++){var o=t[i],l=e.getContextMeta(o);if(!l.empty){var u=e.getContextStyle(l),c=e.applyContextStyle(l,u,o);o._private.appliedInitStyle?e.updateTransitions(o,c.diffProps):o._private.appliedInitStyle=!0;var d=e.updateStyleHints(o);d&&a.push(o)}}return a},At.getPropertiesDiff=function(t,e){var r=this,n=r._private.propDiffs=r._private.propDiffs||{},a=t+"-"+e,i=n[a];if(i)return i;for(var o=[],l={},u=0;u<r.length;u++){var c=r[u],d=t[u]===ho,f=e[u]===ho,h=d!==f,v=c.mappedProperties.length>0;if(h||f&&v){var p=void 0;h&&v||h?p=c.properties:v&&(p=c.mappedProperties);for(var g=0;g<p.length;g++){for(var m=p[g],y=m.name,b=!1,w=u+1;w<r.length;w++){var C=r[w],x=e[w]===ho;if(x&&(b=C.properties[m.name]!=null,b))break}!l[y]&&!b&&(l[y]=!0,o.push(y))}}}return n[a]=o,o},At.getContextMeta=function(t){for(var e=this,r="",n,a=t._private.styleCxtKey||"",i=0;i<e.length;i++){var o=e[i],l=o.selector&&o.selector.matches(t);l?r+=ho:r+=Uz}return n=e.getPropertiesDiff(a,r),t._private.styleCxtKey=r,{key:r,diffPropNames:n,empty:n.length===0}},At.getContextStyle=function(t){var e=t.key,r=this,n=this._private.contextStyles=this._private.contextStyles||{};if(n[e])return n[e];for(var a={_private:{key:e}},i=0;i<r.length;i++){var o=r[i],l=e[i]===ho;if(l)for(var u=0;u<o.properties.length;u++){var c=o.properties[u];a[c.name]=c}}return n[e]=a,a},At.applyContextStyle=function(t,e,r){for(var n=this,a=t.diffPropNames,i={},o=n.types,l=0;l<a.length;l++){var u=a[l],c=e[u],d=r.pstyle(u);if(!c)if(d)d.bypass?c={name:u,deleteBypassed:!0}:c={name:u,delete:!0};else continue;if(d!==c){if(c.mapped===o.fn&&d!=null&&d.mapping!=null&&d.mapping.value===c.value){var f=d.mapping,h=f.fnValue=c.value(r);if(h===f.prevFnValue)continue}var v=i[u]={prev:d};n.applyParsedProperty(r,c),v.next=r.pstyle(u),v.next&&v.next.bypass&&(v.next=v.next.bypassed)}}return{diffProps:i}},At.updateStyleHints=function(t){var e=t._private,r=this,n=r.propertyGroupNames,a=r.propertyGroupKeys,i=function(Y,se,ce){return r.getPropertiesHash(Y,se,ce)},o=e.styleKey;if(t.removed())return!1;var l=e.group==="nodes",u=t._private.style;n=Object.keys(u);for(var c=0;c<a.length;c++){var d=a[c];e.styleKeys[d]=[Fa,Yi]}for(var f=function(Y,se){return e.styleKeys[se][0]=Zi(Y,e.styleKeys[se][0])},h=function(Y,se){return e.styleKeys[se][1]=Xi(Y,e.styleKeys[se][1])},v=function(Y,se){f(Y,se),h(Y,se)},p=function(Y,se){for(var ce=0;ce<Y.length;ce++){var ae=Y.charCodeAt(ce);f(ae,se),h(ae,se)}},g=2e9,m=function(Y){return-128<Y&&Y<128&&Math.floor(Y)!==Y?g-(Y*1024|0):Y},y=0;y<n.length;y++){var b=n[y],w=u[b];if(w!=null){var C=this.properties[b],x=C.type,k=C.groupKey,E=void 0;C.hashOverride!=null?E=C.hashOverride(t,w):w.pfValue!=null&&(E=w.pfValue);var _=C.enums==null?w.value:null,S=E!=null,T=_!=null,N=S||T,B=w.units;if(x.number&&N&&!x.multiple){var O=S?E:_;v(m(O),k),!S&&B!=null&&p(B,k)}else p(w.strValue,k)}}for(var D=[Fa,Yi],L=0;L<a.length;L++){var A=a[L],M=e.styleKeys[A];D[0]=Zi(M[0],D[0]),D[1]=Xi(M[1],D[1])}e.styleKey=QF(D[0],D[1]);var P=e.styleKeys;e.labelDimsKey=bn(P.labelDimensions);var z=i(t,["label"],P.labelDimensions);if(e.labelKey=bn(z),e.labelStyleKey=bn(ys(P.commonLabel,z)),!l){var W=i(t,["source-label"],P.labelDimensions);e.sourceLabelKey=bn(W),e.sourceLabelStyleKey=bn(ys(P.commonLabel,W));var H=i(t,["target-label"],P.labelDimensions);e.targetLabelKey=bn(H),e.targetLabelStyleKey=bn(ys(P.commonLabel,H))}if(l){var G=e.styleKeys,X=G.nodeBody,F=G.nodeBorder,V=G.nodeOutline,q=G.backgroundImage,$=G.compound,K=G.pie,R=[X,F,V,q,$,K].filter(function(j){return j!=null}).reduce(ys,[Fa,Yi]);e.nodeKey=bn(R),e.hasPie=K!=null&&K[0]!==Fa&&K[1]!==Yi}return o!==e.styleKey},At.clearStyleHints=function(t){var e=t._private;e.styleCxtKey="",e.styleKeys={},e.styleKey=null,e.labelKey=null,e.labelStyleKey=null,e.sourceLabelKey=null,e.sourceLabelStyleKey=null,e.targetLabelKey=null,e.targetLabelStyleKey=null,e.nodeKey=null,e.hasPie=null},At.applyParsedProperty=function(t,e){var r=this,n=e,a=t._private.style,i,o=r.types,l=r.properties[n.name].type,u=n.bypass,c=a[n.name],d=c&&c.bypass,f=t._private,h="mapping",v=function(X){return X==null?null:X.pfValue!=null?X.pfValue:X.value},p=function(){var X=v(c),F=v(n);r.checkTriggers(t,n.name,X,F)};if(e.name==="curve-style"&&t.isEdge()&&(e.value!=="bezier"&&t.isLoop()||e.value==="haystack"&&(t.source().isParent()||t.target().isParent()))&&(n=e=this.parse(e.name,"bezier",u)),n.delete)return a[n.name]=void 0,p(),!0;if(n.deleteBypassed)return c?c.bypass?(c.bypassed=void 0,p(),!0):!1:(p(),!0);if(n.deleteBypass)return c?c.bypass?(a[n.name]=c.bypassed,p(),!0):!1:(p(),!0);var g=function(){$e("Do not assign mappings to elements without corresponding data (i.e. ele `"+t.id()+"` has no mapping for property `"+n.name+"` with data field `"+n.field+"`); try a `["+n.field+"]` selector to limit scope to elements with `"+n.field+"` defined")};switch(n.mapped){case o.mapData:{for(var m=n.field.split("."),y=f.data,b=0;b<m.length&&y;b++){var w=m[b];y=y[w]}if(y==null)return g(),!1;var C;if(de(y)){var x=n.fieldMax-n.fieldMin;x===0?C=0:C=(y-n.fieldMin)/x}else return $e("Do not use continuous mappers without specifying numeric data (i.e. `"+n.field+": "+y+"` for `"+t.id()+"` is non-numeric)"),!1;if(C<0?C=0:C>1&&(C=1),l.color){var k=n.valueMin[0],E=n.valueMax[0],_=n.valueMin[1],S=n.valueMax[1],T=n.valueMin[2],N=n.valueMax[2],B=n.valueMin[3]==null?1:n.valueMin[3],O=n.valueMax[3]==null?1:n.valueMax[3],D=[Math.round(k+(E-k)*C),Math.round(_+(S-_)*C),Math.round(T+(N-T)*C),Math.round(B+(O-B)*C)];i={bypass:n.bypass,name:n.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else if(l.number){var L=n.valueMin+(n.valueMax-n.valueMin)*C;i=this.parse(n.name,L,n.bypass,h)}else return!1;if(!i)return g(),!1;i.mapping=n,n=i;break}case o.data:{for(var A=n.field.split("."),M=f.data,P=0;P<A.length&&M;P++){var z=A[P];M=M[z]}if(M!=null&&(i=this.parse(n.name,M,n.bypass,h)),!i)return g(),!1;i.mapping=n,n=i;break}case o.fn:{var W=n.value,H=n.fnValue!=null?n.fnValue:W(t);if(n.prevFnValue=H,H==null)return $e("Custom function mappers may not return null (i.e. `"+n.name+"` for ele `"+t.id()+"` is null)"),!1;if(i=this.parse(n.name,H,n.bypass,h),!i)return $e("Custom function mappers may not return invalid values for the property type (i.e. `"+n.name+"` for ele `"+t.id()+"` is invalid)"),!1;i.mapping=Nr(n),n=i;break}case void 0:break;default:return!1}return u?(d?n.bypassed=c.bypassed:n.bypassed=c,a[n.name]=n):d?c.bypassed=n:a[n.name]=n,p(),!0},At.cleanElements=function(t,e){for(var r=0;r<t.length;r++){var n=t[r];if(this.clearStyleHints(n),n.dirtyCompoundBoundsCache(),n.dirtyBoundingBoxCache(),!e)n._private.style={};else for(var a=n._private.style,i=Object.keys(a),o=0;o<i.length;o++){var l=i[o],u=a[l];u!=null&&(u.bypass?u.bypassed=null:a[l]=null)}}},At.update=function(){var t=this._private.cy,e=t.mutableElements();e.updateStyle()},At.updateTransitions=function(t,e){var r=this,n=t._private,a=t.pstyle("transition-property").value,i=t.pstyle("transition-duration").pfValue,o=t.pstyle("transition-delay").pfValue;if(a.length>0&&i>0){for(var l={},u=!1,c=0;c<a.length;c++){var d=a[c],f=t.pstyle(d),h=e[d];if(h){var v=h.prev,p=v,g=h.next!=null?h.next:f,m=!1,y=void 0,b=1e-6;p&&(de(p.pfValue)&&de(g.pfValue)?(m=g.pfValue-p.pfValue,y=p.pfValue+b*m):de(p.value)&&de(g.value)?(m=g.value-p.value,y=p.value+b*m):Ke(p.value)&&Ke(g.value)&&(m=p.value[0]!==g.value[0]||p.value[1]!==g.value[1]||p.value[2]!==g.value[2],y=p.strValue),m&&(l[d]=g.strValue,this.applyBypass(t,d,y),u=!0))}}if(!u)return;n.transitioning=!0,new Ua(function(w){o>0?t.delayAnimation(o).play().promise().then(w):w()}).then(function(){return t.animation({style:l,duration:i,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,a),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,a),t.emitAndNotify("style"),n.transitioning=!1)},At.checkTrigger=function(t,e,r,n,a,i){var o=this.properties[e],l=a(o);l!=null&&l(r,n)&&i(o)},At.checkZOrderTrigger=function(t,e,r,n){var a=this;this.checkTrigger(t,e,r,n,function(i){return i.triggersZOrder},function(){a._private.cy.notify("zorder",t)})},At.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(a){return a.triggersBounds},function(a){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),a.triggersBoundsOfParallelBeziers&&e==="curve-style"&&(r==="bezier"||n==="bezier")&&t.parallelEdges().forEach(function(i){i.isBundledBezier()&&i.dirtyBoundingBoxCache()}),a.triggersBoundsOfConnectedEdges&&e==="display"&&(r==="none"||n==="none")&&t.connectedEdges().forEach(function(i){i.dirtyBoundingBoxCache()})})},At.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n)};var po={};po.applyBypass=function(t,e,r,n){var a=this,i=[],o=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var l=0;l<a.properties.length;l++){var u=a.properties[l],c=u.name,d=this.parse(c,r,!0);d&&i.push(d)}}else if(Ee(e)){var f=this.parse(e,r,!0);f&&i.push(f)}else if(Pe(e)){var h=e;n=r;for(var v=Object.keys(h),p=0;p<v.length;p++){var g=v[p],m=h[g];if(m===void 0&&(m=h[ps(g)]),m!==void 0){var y=this.parse(g,m,!0);y&&i.push(y)}}}else return!1;if(i.length===0)return!1;for(var b=!1,w=0;w<t.length;w++){for(var C=t[w],x={},k=void 0,E=0;E<i.length;E++){var _=i[E];if(n){var S=C.pstyle(_.name);k=x[_.name]={prev:S}}b=this.applyParsedProperty(C,Nr(_))||b,n&&(k.next=C.pstyle(_.name))}b&&this.updateStyleHints(C),n&&this.updateTransitions(C,x,o)}return b},po.overrideBypass=function(t,e,r){e=Mc(e);for(var n=0;n<t.length;n++){var a=t[n],i=a._private.style[e],o=this.properties[e].type,l=o.color,u=o.mutiple,c=i?i.pfValue!=null?i.pfValue:i.value:null;!i||!i.bypass?this.applyBypass(a,e,r):(i.value=r,i.pfValue!=null&&(i.pfValue=r),l?i.strValue="rgb("+r.join(",")+")":u?i.strValue=r.join(" "):i.strValue=""+r,this.updateStyleHints(a)),this.checkTriggers(a,e,c,r)}},po.removeAllBypasses=function(t,e){return this.removeBypasses(t,this.propertyNames,e)},po.removeBypasses=function(t,e,r){for(var n=!0,a=0;a<t.length;a++){for(var i=t[a],o={},l=0;l<e.length;l++){var u=e[l],c=this.properties[u],d=i.pstyle(c.name);if(!(!d||!d.bypass)){var f="",h=this.parse(u,f,!0),v=o[c.name]={prev:d};this.applyParsedProperty(i,h),v.next=i.pstyle(c.name)}}this.updateStyleHints(i),r&&this.updateTransitions(i,o,n)}};var pu={};pu.getEmSizeInPixels=function(){var t=this.containerCss("font-size");return t!=null?parseFloat(t):1},pu.containerCss=function(t){var e=this._private.cy,r=e.container(),n=e.window();if(n&&r&&n.getComputedStyle)return n.getComputedStyle(r).getPropertyValue(t)};var Br={};Br.getRenderedStyle=function(t,e){return e?this.getStylePropertyValue(t,e,!0):this.getRawStyle(t,!0)},Br.getRawStyle=function(t,e){var r=this;if(t=t[0],t){for(var n={},a=0;a<r.properties.length;a++){var i=r.properties[a],o=r.getStylePropertyValue(t,i.name,e);o!=null&&(n[i.name]=o,n[ps(i.name)]=o)}return n}},Br.getIndexedStyle=function(t,e,r,n){var a=t.pstyle(e)[r][n];return a??t.cy().style().getDefaultProperty(e)[r][0]},Br.getStylePropertyValue=function(t,e,r){var n=this;if(t=t[0],t){var a=n.properties[e];a.alias&&(a=a.pointsTo);var i=a.type,o=t.pstyle(a.name);if(o){var l=o.value,u=o.units,c=o.strValue;if(r&&i.number&&l!=null&&de(l)){var d=t.cy().zoom(),f=function(m){return m*d},h=function(m,y){return f(m)+y},v=Ke(l),p=v?u.every(function(g){return g!=null}):u!=null;return p?v?l.map(function(g,m){return h(g,u[m])}).join(" "):h(l,u):v?l.map(function(g){return Ee(g)?g:""+f(g)}).join(" "):""+f(l)}else if(c!=null)return c}return null}},Br.getAnimationStartStyle=function(t,e){for(var r={},n=0;n<e.length;n++){var a=e[n],i=a.name,o=t.pstyle(i);o!==void 0&&(Pe(o)?o=this.parse(i,o.strValue):o=this.parse(i,o)),o&&(r[i]=o)}return r},Br.getPropsList=function(t){var e=this,r=[],n=t,a=e.properties;if(n)for(var i=Object.keys(n),o=0;o<i.length;o++){var l=i[o],u=n[l],c=a[l]||a[Mc(l)],d=this.parse(c.name,u);d&&r.push(d)}return r},Br.getNonDefaultPropertiesHash=function(t,e,r){var n=r.slice(),a,i,o,l,u,c;for(u=0;u<e.length;u++)if(a=e[u],i=t.pstyle(a,!1),i!=null)if(i.pfValue!=null)n[0]=Zi(l,n[0]),n[1]=Xi(l,n[1]);else for(o=i.strValue,c=0;c<o.length;c++)l=o.charCodeAt(c),n[0]=Zi(l,n[0]),n[1]=Xi(l,n[1]);return n},Br.getPropertiesHash=Br.getNonDefaultPropertiesHash;var Zs={};Zs.appendFromJson=function(t){for(var e=this,r=0;r<t.length;r++){var n=t[r],a=n.selector,i=n.style||n.css,o=Object.keys(i);e.selector(a);for(var l=0;l<o.length;l++){var u=o[l],c=i[u];e.css(u,c)}}return e},Zs.fromJson=function(t){var e=this;return e.resetToDefault(),e.appendFromJson(t),e},Zs.json=function(){for(var t=[],e=this.defaultLength;e<this.length;e++){for(var r=this[e],n=r.selector,a=r.properties,i={},o=0;o<a.length;o++){var l=a[o];i[l.name]=l.strValue}t.push({selector:n?n.toString():"core",style:i})}return t};var vu={};vu.appendFromString=function(t){var e=this,r=this,n=""+t,a,i,o;n=n.replace(/[/][*](\s|.)+?[*][/]/g,"");function l(){n.length>a.length?n=n.substr(a.length):n=""}function u(){i.length>o.length?i=i.substr(o.length):i=""}for(;;){var c=n.match(/^\s*$/);if(c)break;var d=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!d){$e("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}a=d[0];var f=d[1];if(f!=="core"){var h=new kn(f);if(h.invalid){$e("Skipping parsing of block: Invalid selector found in string stylesheet: "+f),l();continue}}var v=d[2],p=!1;i=v;for(var g=[];;){var m=i.match(/^\s*$/);if(m)break;var y=i.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!y){$e("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+v),p=!0;break}o=y[0];var b=y[1],w=y[2],C=e.properties[b];if(!C){$e("Skipping property: Invalid property name in: "+o),u();continue}var x=r.parse(b,w);if(!x){$e("Skipping property: Invalid property definition in: "+o),u();continue}g.push({name:b,val:w}),u()}if(p){l();break}r.selector(f);for(var k=0;k<g.length;k++){var E=g[k];r.css(E.name,E.val)}l()}return r},vu.fromString=function(t){var e=this;return e.resetToDefault(),e.appendFromString(t),e};var Nt={};(function(){var t=vt,e=rF,r=aF,n=iF,a=oF,i=function(R){return"^"+R+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},o=function(R){var j=t+"|\\w+|"+e+"|"+r+"|"+n+"|"+a;return"^"+R+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+t+")\\s*\\,\\s*("+t+")\\s*,\\s*("+j+")\\s*\\,\\s*("+j+")\\)$"},l=[`^url\\s*\\(\\s*['"]?(.+?)['"]?\\s*\\)$`,"^(none)$","^(.+)$"];Nt.types={time:{number:!0,min:0,units:"s|ms",implicitUnits:"ms"},percent:{number:!0,min:0,max:100,units:"%",implicitUnits:"%"},percentages:{number:!0,min:0,max:100,units:"%",implicitUnits:"%",multiple:!0},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},nonNegativeNumber:{number:!0,min:0,unitless:!0},position:{enums:["parent","origin"]},nodeSize:{number:!0,min:0,enums:["label"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizeMaybePercent:{number:!0,allowPercent:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},axisDirection:{enums:["horizontal","leftward","rightward","vertical","upward","downward","auto"]},paddingRelativeTo:{enums:["width","height","average","min","max"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:["auto"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:["inner","include-padding"],multiple:!0},bgRepeat:{enums:["repeat","repeat-x","repeat-y","no-repeat"],multiple:!0},bgFit:{enums:["none","contain","cover"],multiple:!0},bgCrossOrigin:{enums:["anonymous","use-credentials","null"],multiple:!0},bgClip:{enums:["none","node"],multiple:!0},bgContainment:{enums:["inside","over"],multiple:!0},color:{color:!0},colors:{color:!0,multiple:!0},fill:{enums:["solid","linear-gradient","radial-gradient"]},bool:{enums:["yes","no"]},bools:{enums:["yes","no"],multiple:!0},lineStyle:{enums:["solid","dotted","dashed"]},lineCap:{enums:["butt","round","square"]},linePosition:{enums:["center","inside","outside"]},lineJoin:{enums:["round","bevel","miter"]},borderStyle:{enums:["solid","dotted","dashed","double"]},curveStyle:{enums:["bezier","unbundled-bezier","haystack","segments","straight","straight-triangle","taxi","round-segments","round-taxi"]},radiusType:{enums:["arc-radius","influence-radius"],multiple:!0},fontFamily:{regex:'^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$'},fontStyle:{enums:["italic","normal","oblique"]},fontWeight:{enums:["normal","bold","bolder","lighter","100","200","300","400","500","600","800","900",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:["none","underline","overline","line-through"]},textTransform:{enums:["none","uppercase","lowercase"]},textWrap:{enums:["none","wrap","ellipsis"]},textOverflowWrap:{enums:["whitespace","anywhere"]},textBackgroundShape:{enums:["rectangle","roundrectangle","round-rectangle"]},nodeShape:{enums:["rectangle","roundrectangle","round-rectangle","cutrectangle","cut-rectangle","bottomroundrectangle","bottom-round-rectangle","barrel","ellipse","triangle","round-triangle","square","pentagon","round-pentagon","hexagon","round-hexagon","concavehexagon","concave-hexagon","heptagon","round-heptagon","octagon","round-octagon","tag","round-tag","star","diamond","round-diamond","vee","rhomboid","right-rhomboid","polygon"]},overlayShape:{enums:["roundrectangle","round-rectangle","ellipse"]},cornerRadius:{number:!0,min:0,units:"px|em",implicitUnits:"px",enums:["auto"]},compoundIncludeLabels:{enums:["include","exclude"]},arrowShape:{enums:["tee","triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","square","circle","diamond","chevron","none"]},arrowFill:{enums:["filled","hollow"]},arrowWidth:{number:!0,units:"%|px|em",implicitUnits:"px",enums:["match-line"]},display:{enums:["element","none"]},visibility:{enums:["hidden","visible"]},zCompoundDepth:{enums:["bottom","orphan","auto","top"]},zIndexCompare:{enums:["auto","manual"]},valign:{enums:["top","center","bottom"]},halign:{enums:["left","center","right"]},justification:{enums:["left","center","right","auto"]},text:{string:!0},data:{mapping:!0,regex:i("data")},layoutData:{mapping:!0,regex:i("layoutData")},scratch:{mapping:!0,regex:i("scratch")},mapData:{mapping:!0,regex:o("mapData")},mapLayoutData:{mapping:!0,regex:o("mapLayoutData")},mapScratch:{mapping:!0,regex:o("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:l,singleRegexMatchValue:!0},urls:{regexes:l,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:"deg|rad",implicitUnits:"rad"},textRotation:{number:!0,units:"deg|rad",implicitUnits:"rad",enums:["none","autorotate"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:["intersection","node-position","endpoints"]},edgeEndpoint:{number:!0,multiple:!0,units:"%|px|em|deg|rad",implicitUnits:"px",enums:["inside-to-node","outside-to-node","outside-to-node-or-label","outside-to-line","outside-to-line-or-label"],singleEnum:!0,validate:function(R,j){switch(R.length){case 2:return j[0]!=="deg"&&j[0]!=="rad"&&j[1]!=="deg"&&j[1]!=="rad";case 1:return Ee(R[0])||j[0]==="deg"||j[0]==="rad";default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+t+")\\s*,\\s*("+t+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+t+")\\s*,\\s*("+t+")\\s*,\\s*("+t+")\\s*,\\s*("+t+")\\s*\\)$"],enums:["linear","ease","ease-in","ease-out","ease-in-out","ease-in-sine","ease-out-sine","ease-in-out-sine","ease-in-quad","ease-out-quad","ease-in-out-quad","ease-in-cubic","ease-out-cubic","ease-in-out-cubic","ease-in-quart","ease-out-quart","ease-in-out-quart","ease-in-quint","ease-out-quint","ease-in-out-quint","ease-in-expo","ease-out-expo","ease-in-out-expo","ease-in-circ","ease-out-circ","ease-in-out-circ"]},gradientDirection:{enums:["to-bottom","to-top","to-left","to-right","to-bottom-right","to-bottom-left","to-top-right","to-top-left","to-right-bottom","to-left-bottom","to-right-top","to-left-top"]},boundsExpansion:{number:!0,multiple:!0,min:0,validate:function(R){var j=R.length;return j===1||j===2||j===4}}};var u={zeroNonZero:function(R,j){return(R==null||j==null)&&R!==j||R==0&&j!=0?!0:R!=0&&j==0},any:function(R,j){return R!=j},emptyNonEmpty:function(R,j){var Y=yn(R),se=yn(j);return Y&&!se||!Y&&se}},c=Nt.types,d=[{name:"label",type:c.text,triggersBounds:u.any,triggersZOrder:u.emptyNonEmpty},{name:"text-rotation",type:c.textRotation,triggersBounds:u.any},{name:"text-margin-x",type:c.bidirectionalSize,triggersBounds:u.any},{name:"text-margin-y",type:c.bidirectionalSize,triggersBounds:u.any}],f=[{name:"source-label",type:c.text,triggersBounds:u.any},{name:"source-text-rotation",type:c.textRotation,triggersBounds:u.any},{name:"source-text-margin-x",type:c.bidirectionalSize,triggersBounds:u.any},{name:"source-text-margin-y",type:c.bidirectionalSize,triggersBounds:u.any},{name:"source-text-offset",type:c.size,triggersBounds:u.any}],h=[{name:"target-label",type:c.text,triggersBounds:u.any},{name:"target-text-rotation",type:c.textRotation,triggersBounds:u.any},{name:"target-text-margin-x",type:c.bidirectionalSize,triggersBounds:u.any},{name:"target-text-margin-y",type:c.bidirectionalSize,triggersBounds:u.any},{name:"target-text-offset",type:c.size,triggersBounds:u.any}],v=[{name:"font-family",type:c.fontFamily,triggersBounds:u.any},{name:"font-style",type:c.fontStyle,triggersBounds:u.any},{name:"font-weight",type:c.fontWeight,triggersBounds:u.any},{name:"font-size",type:c.size,triggersBounds:u.any},{name:"text-transform",type:c.textTransform,triggersBounds:u.any},{name:"text-wrap",type:c.textWrap,triggersBounds:u.any},{name:"text-overflow-wrap",type:c.textOverflowWrap,triggersBounds:u.any},{name:"text-max-width",type:c.size,triggersBounds:u.any},{name:"text-outline-width",type:c.size,triggersBounds:u.any},{name:"line-height",type:c.positiveNumber,triggersBounds:u.any}],p=[{name:"text-valign",type:c.valign,triggersBounds:u.any},{name:"text-halign",type:c.halign,triggersBounds:u.any},{name:"color",type:c.color},{name:"text-outline-color",type:c.color},{name:"text-outline-opacity",type:c.zeroOneNumber},{name:"text-background-color",type:c.color},{name:"text-background-opacity",type:c.zeroOneNumber},{name:"text-background-padding",type:c.size,triggersBounds:u.any},{name:"text-border-opacity",type:c.zeroOneNumber},{name:"text-border-color",type:c.color},{name:"text-border-width",type:c.size,triggersBounds:u.any},{name:"text-border-style",type:c.borderStyle,triggersBounds:u.any},{name:"text-background-shape",type:c.textBackgroundShape,triggersBounds:u.any},{name:"text-justification",type:c.justification}],g=[{name:"events",type:c.bool,triggersZOrder:u.any},{name:"text-events",type:c.bool,triggersZOrder:u.any}],m=[{name:"display",type:c.display,triggersZOrder:u.any,triggersBounds:u.any,triggersBoundsOfConnectedEdges:!0},{name:"visibility",type:c.visibility,triggersZOrder:u.any},{name:"opacity",type:c.zeroOneNumber,triggersZOrder:u.zeroNonZero},{name:"text-opacity",type:c.zeroOneNumber},{name:"min-zoomed-font-size",type:c.size},{name:"z-compound-depth",type:c.zCompoundDepth,triggersZOrder:u.any},{name:"z-index-compare",type:c.zIndexCompare,triggersZOrder:u.any},{name:"z-index",type:c.number,triggersZOrder:u.any}],y=[{name:"overlay-padding",type:c.size,triggersBounds:u.any},{name:"overlay-color",type:c.color},{name:"overlay-opacity",type:c.zeroOneNumber,triggersBounds:u.zeroNonZero},{name:"overlay-shape",type:c.overlayShape,triggersBounds:u.any},{name:"overlay-corner-radius",type:c.cornerRadius}],b=[{name:"underlay-padding",type:c.size,triggersBounds:u.any},{name:"underlay-color",type:c.color},{name:"underlay-opacity",type:c.zeroOneNumber,triggersBounds:u.zeroNonZero},{name:"underlay-shape",type:c.overlayShape,triggersBounds:u.any},{name:"underlay-corner-radius",type:c.cornerRadius}],w=[{name:"transition-property",type:c.propList},{name:"transition-duration",type:c.time},{name:"transition-delay",type:c.time},{name:"transition-timing-function",type:c.easing}],C=function(R,j){return j.value==="label"?-R.poolIndex():j.pfValue},x=[{name:"height",type:c.nodeSize,triggersBounds:u.any,hashOverride:C},{name:"width",type:c.nodeSize,triggersBounds:u.any,hashOverride:C},{name:"shape",type:c.nodeShape,triggersBounds:u.any},{name:"shape-polygon-points",type:c.polygonPointList,triggersBounds:u.any},{name:"corner-radius",type:c.cornerRadius},{name:"background-color",type:c.color},{name:"background-fill",type:c.fill},{name:"background-opacity",type:c.zeroOneNumber},{name:"background-blacken",type:c.nOneOneNumber},{name:"background-gradient-stop-colors",type:c.colors},{name:"background-gradient-stop-positions",type:c.percentages},{name:"background-gradient-direction",type:c.gradientDirection},{name:"padding",type:c.sizeMaybePercent,triggersBounds:u.any},{name:"padding-relative-to",type:c.paddingRelativeTo,triggersBounds:u.any},{name:"bounds-expansion",type:c.boundsExpansion,triggersBounds:u.any}],k=[{name:"border-color",type:c.color},{name:"border-opacity",type:c.zeroOneNumber},{name:"border-width",type:c.size,triggersBounds:u.any},{name:"border-style",type:c.borderStyle},{name:"border-cap",type:c.lineCap},{name:"border-join",type:c.lineJoin},{name:"border-dash-pattern",type:c.numbers},{name:"border-dash-offset",type:c.number},{name:"border-position",type:c.linePosition}],E=[{name:"outline-color",type:c.color},{name:"outline-opacity",type:c.zeroOneNumber},{name:"outline-width",type:c.size,triggersBounds:u.any},{name:"outline-style",type:c.borderStyle},{name:"outline-offset",type:c.size,triggersBounds:u.any}],_=[{name:"background-image",type:c.urls},{name:"background-image-crossorigin",type:c.bgCrossOrigin},{name:"background-image-opacity",type:c.zeroOneNumbers},{name:"background-image-containment",type:c.bgContainment},{name:"background-image-smoothing",type:c.bools},{name:"background-position-x",type:c.bgPos},{name:"background-position-y",type:c.bgPos},{name:"background-width-relative-to",type:c.bgRelativeTo},{name:"background-height-relative-to",type:c.bgRelativeTo},{name:"background-repeat",type:c.bgRepeat},{name:"background-fit",type:c.bgFit},{name:"background-clip",type:c.bgClip},{name:"background-width",type:c.bgWH},{name:"background-height",type:c.bgWH},{name:"background-offset-x",type:c.bgPos},{name:"background-offset-y",type:c.bgPos}],S=[{name:"position",type:c.position,triggersBounds:u.any},{name:"compound-sizing-wrt-labels",type:c.compoundIncludeLabels,triggersBounds:u.any},{name:"min-width",type:c.size,triggersBounds:u.any},{name:"min-width-bias-left",type:c.sizeMaybePercent,triggersBounds:u.any},{name:"min-width-bias-right",type:c.sizeMaybePercent,triggersBounds:u.any},{name:"min-height",type:c.size,triggersBounds:u.any},{name:"min-height-bias-top",type:c.sizeMaybePercent,triggersBounds:u.any},{name:"min-height-bias-bottom",type:c.sizeMaybePercent,triggersBounds:u.any}],T=[{name:"line-style",type:c.lineStyle},{name:"line-color",type:c.color},{name:"line-fill",type:c.fill},{name:"line-cap",type:c.lineCap},{name:"line-opacity",type:c.zeroOneNumber},{name:"line-dash-pattern",type:c.numbers},{name:"line-dash-offset",type:c.number},{name:"line-outline-width",type:c.size},{name:"line-outline-color",type:c.color},{name:"line-gradient-stop-colors",type:c.colors},{name:"line-gradient-stop-positions",type:c.percentages},{name:"curve-style",type:c.curveStyle,triggersBounds:u.any,triggersBoundsOfParallelBeziers:!0},{name:"haystack-radius",type:c.zeroOneNumber,triggersBounds:u.any},{name:"source-endpoint",type:c.edgeEndpoint,triggersBounds:u.any},{name:"target-endpoint",type:c.edgeEndpoint,triggersBounds:u.any},{name:"control-point-step-size",type:c.size,triggersBounds:u.any},{name:"control-point-distances",type:c.bidirectionalSizes,triggersBounds:u.any},{name:"control-point-weights",type:c.numbers,triggersBounds:u.any},{name:"segment-distances",type:c.bidirectionalSizes,triggersBounds:u.any},{name:"segment-weights",type:c.numbers,triggersBounds:u.any},{name:"segment-radii",type:c.numbers,triggersBounds:u.any},{name:"radius-type",type:c.radiusType,triggersBounds:u.any},{name:"taxi-turn",type:c.bidirectionalSizeMaybePercent,triggersBounds:u.any},{name:"taxi-turn-min-distance",type:c.size,triggersBounds:u.any},{name:"taxi-direction",type:c.axisDirection,triggersBounds:u.any},{name:"taxi-radius",type:c.number,triggersBounds:u.any},{name:"edge-distances",type:c.edgeDistances,triggersBounds:u.any},{name:"arrow-scale",type:c.positiveNumber,triggersBounds:u.any},{name:"loop-direction",type:c.angle,triggersBounds:u.any},{name:"loop-sweep",type:c.angle,triggersBounds:u.any},{name:"source-distance-from-node",type:c.size,triggersBounds:u.any},{name:"target-distance-from-node",type:c.size,triggersBounds:u.any}],N=[{name:"ghost",type:c.bool,triggersBounds:u.any},{name:"ghost-offset-x",type:c.bidirectionalSize,triggersBounds:u.any},{name:"ghost-offset-y",type:c.bidirectionalSize,triggersBounds:u.any},{name:"ghost-opacity",type:c.zeroOneNumber}],B=[{name:"selection-box-color",type:c.color},{name:"selection-box-opacity",type:c.zeroOneNumber},{name:"selection-box-border-color",type:c.color},{name:"selection-box-border-width",type:c.size},{name:"active-bg-color",type:c.color},{name:"active-bg-opacity",type:c.zeroOneNumber},{name:"active-bg-size",type:c.size},{name:"outside-texture-bg-color",type:c.color},{name:"outside-texture-bg-opacity",type:c.zeroOneNumber}],O=[];Nt.pieBackgroundN=16,O.push({name:"pie-size",type:c.sizeMaybePercent});for(var D=1;D<=Nt.pieBackgroundN;D++)O.push({name:"pie-"+D+"-background-color",type:c.color}),O.push({name:"pie-"+D+"-background-size",type:c.percent}),O.push({name:"pie-"+D+"-background-opacity",type:c.zeroOneNumber});var L=[],A=Nt.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:c.arrowShape,triggersBounds:u.any},{name:"arrow-color",type:c.color},{name:"arrow-fill",type:c.arrowFill},{name:"arrow-width",type:c.arrowWidth}].forEach(function(K){A.forEach(function(R){var j=R+"-"+K.name,Y=K.type,se=K.triggersBounds;L.push({name:j,type:Y,triggersBounds:se})})},{});var M=Nt.properties=[].concat(g,w,m,y,b,N,p,v,d,f,h,x,k,E,_,O,S,T,L,B),P=Nt.propertyGroups={behavior:g,transition:w,visibility:m,overlay:y,underlay:b,ghost:N,commonLabel:p,labelDimensions:v,mainLabel:d,sourceLabel:f,targetLabel:h,nodeBody:x,nodeBorder:k,nodeOutline:E,backgroundImage:_,pie:O,compound:S,edgeLine:T,edgeArrow:L,core:B},z=Nt.propertyGroupNames={},W=Nt.propertyGroupKeys=Object.keys(P);W.forEach(function(K){z[K]=P[K].map(function(R){return R.name}),P[K].forEach(function(R){return R.groupKey=K})});var H=Nt.aliases=[{name:"content",pointsTo:"label"},{name:"control-point-distance",pointsTo:"control-point-distances"},{name:"control-point-weight",pointsTo:"control-point-weights"},{name:"segment-distance",pointsTo:"segment-distances"},{name:"segment-weight",pointsTo:"segment-weights"},{name:"segment-radius",pointsTo:"segment-radii"},{name:"edge-text-rotation",pointsTo:"text-rotation"},{name:"padding-left",pointsTo:"padding"},{name:"padding-right",pointsTo:"padding"},{name:"padding-top",pointsTo:"padding"},{name:"padding-bottom",pointsTo:"padding"}];Nt.propertyNames=M.map(function(K){return K.name});for(var G=0;G<M.length;G++){var X=M[G];M[X.name]=X}for(var F=0;F<H.length;F++){var V=H[F],q=M[V.pointsTo],$={name:V.name,alias:!0,pointsTo:q};M.push($),M[V.name]=$}})(),Nt.getDefaultProperty=function(t){return this.getDefaultProperties()[t]},Nt.getDefaultProperties=function(){var t=this._private;if(t.defaultProperties!=null)return t.defaultProperties;for(var e=Te({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125,events:"yes","text-events":"no","text-valign":"top","text-halign":"center","text-justification":"auto","line-height":1,color:"#000","text-outline-color":"#000","text-outline-width":0,"text-outline-opacity":1,"text-opacity":1,"text-decoration":"none","text-transform":"none","text-wrap":"none","text-overflow-wrap":"whitespace","text-max-width":9999,"text-background-color":"#000","text-background-opacity":0,"text-background-shape":"rectangle","text-background-padding":0,"text-border-opacity":0,"text-border-width":0,"text-border-style":"solid","text-border-color":"#000","font-family":"Helvetica Neue, Helvetica, sans-serif","font-style":"normal","font-weight":"normal","font-size":16,"min-zoomed-font-size":0,"text-rotation":"none","source-text-rotation":"none","target-text-rotation":"none",visibility:"visible",display:"element",opacity:1,"z-compound-depth":"auto","z-index-compare":"auto","z-index":0,label:"","text-margin-x":0,"text-margin-y":0,"source-label":"","source-text-offset":0,"source-text-margin-x":0,"source-text-margin-y":0,"target-label":"","target-text-offset":0,"target-text-margin-x":0,"target-text-margin-y":0,"overlay-opacity":0,"overlay-color":"#000","overlay-padding":10,"overlay-shape":"round-rectangle","overlay-corner-radius":"auto","underlay-opacity":0,"underlay-color":"#000","underlay-padding":10,"underlay-shape":"round-rectangle","underlay-corner-radius":"auto","transition-property":"none","transition-duration":0,"transition-delay":0,"transition-timing-function":"linear","background-blacken":0,"background-color":"#999","background-fill":"solid","background-opacity":1,"background-image":"none","background-image-crossorigin":"anonymous","background-image-opacity":1,"background-image-containment":"inside","background-image-smoothing":"yes","background-position-x":"50%","background-position-y":"50%","background-offset-x":0,"background-offset-y":0,"background-width-relative-to":"include-padding","background-height-relative-to":"include-padding","background-repeat":"no-repeat","background-fit":"none","background-clip":"node","background-width":"auto","background-height":"auto","border-color":"#000","border-opacity":1,"border-width":0,"border-style":"solid","border-dash-pattern":[4,2],"border-dash-offset":0,"border-cap":"butt","border-join":"miter","border-position":"center","outline-color":"#999","outline-opacity":1,"outline-width":0,"outline-offset":0,"outline-style":"solid",height:30,width:30,shape:"ellipse","shape-polygon-points":"-1, -1, 1, -1, 1, 1, -1, 1","corner-radius":"auto","bounds-expansion":0,"background-gradient-direction":"to-bottom","background-gradient-stop-colors":"#999","background-gradient-stop-positions":"0%",ghost:"no","ghost-offset-y":0,"ghost-offset-x":0,"ghost-opacity":0,padding:0,"padding-relative-to":"width",position:"origin","compound-sizing-wrt-labels":"include","min-width":0,"min-width-bias-left":0,"min-width-bias-right":0,"min-height":0,"min-height-bias-top":0,"min-height-bias-bottom":0},{"pie-size":"100%"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce(function(u,c){for(var d=1;d<=Nt.pieBackgroundN;d++){var f=c.name.replace("{{i}}",d),h=c.value;u[f]=h}return u},{}),{"line-style":"solid","line-color":"#999","line-fill":"solid","line-cap":"butt","line-opacity":1,"line-outline-width":0,"line-outline-color":"#000","line-gradient-stop-colors":"#999","line-gradient-stop-positions":"0%","control-point-step-size":40,"control-point-weights":.5,"segment-weights":.5,"segment-distances":20,"segment-radii":15,"radius-type":"arc-radius","taxi-turn":"50%","taxi-radius":15,"taxi-turn-min-distance":10,"taxi-direction":"auto","edge-distances":"intersection","curve-style":"haystack","haystack-radius":0,"arrow-scale":1,"loop-direction":"-45deg","loop-sweep":"-90deg","source-distance-from-node":0,"target-distance-from-node":0,"source-endpoint":"outside-to-node","target-endpoint":"outside-to-node","line-dash-pattern":[6,3],"line-dash-offset":0},[{name:"arrow-shape",value:"none"},{name:"arrow-color",value:"#999"},{name:"arrow-fill",value:"filled"},{name:"arrow-width",value:1}].reduce(function(u,c){return Nt.arrowPrefixes.forEach(function(d){var f=d+"-"+c.name,h=c.value;u[f]=h}),u},{})),r={},n=0;n<this.properties.length;n++){var a=this.properties[n];if(!a.pointsTo){var i=a.name,o=e[i],l=this.parse(i,o);r[i]=l}}return t.defaultProperties=r,t.defaultProperties},Nt.addDefaultStylesheet=function(){this.selector(":parent").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3}).selector(":loop").css({"curve-style":"bezier"}).selector("edge:compound").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector(":parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}),this.defaultLength=this.length};var Xs={};Xs.parse=function(t,e,r,n){var a=this;if(Je(e))return a.parseImplWarn(t,e,r,n);var i=n==="mapping"||n===!0||n===!1||n==null?"dontcare":n,o=r?"t":"f",l=""+e,u=Y0(t,l,o,i),c=a.propCache=a.propCache||[],d;return(d=c[u])||(d=c[u]=a.parseImplWarn(t,e,r,n)),(r||n==="mapping")&&(d=Nr(d),d&&(d.value=Nr(d.value))),d},Xs.parseImplWarn=function(t,e,r,n){var a=this.parseImpl(t,e,r,n);return!a&&e!=null&&$e("The style property `".concat(t,": ").concat(e,"` is invalid")),a&&(a.name==="width"||a.name==="height")&&e==="label"&&$e("The style value of `label` is deprecated for `"+a.name+"`"),a},Xs.parseImpl=function(t,e,r,n){var a=this;t=Mc(t);var i=a.properties[t],o=e,l=a.types;if(!i||e===void 0)return null;i.alias&&(i=i.pointsTo,t=i.name);var u=Ee(e);u&&(e=e.trim());var c=i.type;if(!c)return null;if(r&&(e===""||e===null))return{name:t,value:e,bypass:!0,deleteBypass:!0};if(Je(e))return{name:t,value:e,strValue:"fn",mapped:l.fn,bypass:r};var d,f;if(!(!u||n||e.length<7||e[1]!=="a")){if(e.length>=7&&e[0]==="d"&&(d=new RegExp(l.data.regex).exec(e))){if(r)return!1;var h=l.data;return{name:t,value:d,strValue:""+e,mapped:h,field:d[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(f=new RegExp(l.mapData.regex).exec(e))){if(r||c.multiple)return!1;var v=l.mapData;if(!(c.color||c.number))return!1;var p=this.parse(t,f[4]);if(!p||p.mapped)return!1;var g=this.parse(t,f[5]);if(!g||g.mapped)return!1;if(p.pfValue===g.pfValue||p.strValue===g.strValue)return $e("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+p.strValue+"`"),this.parse(t,p.strValue);if(c.color){var m=p.value,y=g.value,b=m[0]===y[0]&&m[1]===y[1]&&m[2]===y[2]&&(m[3]===y[3]||(m[3]==null||m[3]===1)&&(y[3]==null||y[3]===1));if(b)return!1}return{name:t,value:f,strValue:""+e,mapped:v,field:f[1],fieldMin:parseFloat(f[2]),fieldMax:parseFloat(f[3]),valueMin:p.value,valueMax:g.value,bypass:r}}}if(c.multiple&&n!=="multiple"){var w;if(u?w=e.split(/\s+/):Ke(e)?w=e:w=[e],c.evenMultiple&&w.length%2!==0)return null;for(var C=[],x=[],k=[],E="",_=!1,S=0;S<w.length;S++){var T=a.parse(t,w[S],r,"multiple");_=_||Ee(T.value),C.push(T.value),k.push(T.pfValue!=null?T.pfValue:T.value),x.push(T.units),E+=(S>0?" ":"")+T.strValue}return c.validate&&!c.validate(C,x)?null:c.singleEnum&&_?C.length===1&&Ee(C[0])?{name:t,value:C[0],strValue:C[0],bypass:r}:null:{name:t,value:C,pfValue:k,strValue:E,bypass:r,units:x}}var N=function(){for(var R=0;R<c.enums.length;R++){var j=c.enums[R];if(j===e)return{name:t,value:e,strValue:""+e,bypass:r}}return null};if(c.number){var B,O="px";if(c.units&&(B=c.units),c.implicitUnits&&(O=c.implicitUnits),!c.unitless)if(u){var D="px|em"+(c.allowPercent?"|\\%":"");B&&(D=B);var L=e.match("^("+vt+")("+D+")?$");L&&(e=L[1],B=L[2]||O)}else(!B||c.implicitUnits)&&(B=O);if(e=parseFloat(e),isNaN(e)&&c.enums===void 0)return null;if(isNaN(e)&&c.enums!==void 0)return e=o,N();if(c.integer&&!YM(e)||c.min!==void 0&&(e<c.min||c.strictMin&&e===c.min)||c.max!==void 0&&(e>c.max||c.strictMax&&e===c.max))return null;var A={name:t,value:e,strValue:""+e+(B||""),units:B,bypass:r};return c.unitless||B!=="px"&&B!=="em"?A.pfValue=e:A.pfValue=B==="px"||!B?e:this.getEmSizeInPixels()*e,(B==="ms"||B==="s")&&(A.pfValue=B==="ms"?e:1e3*e),(B==="deg"||B==="rad")&&(A.pfValue=B==="rad"?e:I5(e)),B==="%"&&(A.pfValue=e/100),A}else if(c.propList){var M=[],P=""+e;if(P!=="none"){for(var z=P.split(/\s*,\s*|\s+/),W=0;W<z.length;W++){var H=z[W].trim();a.properties[H]?M.push(H):$e("`"+H+"` is not a valid property name")}if(M.length===0)return null}return{name:t,value:M,strValue:M.length===0?"none":M.join(" "),bypass:r}}else if(c.color){var G=fF(e);return G?{name:t,value:G,pfValue:G,strValue:"rgb("+G[0]+","+G[1]+","+G[2]+")",bypass:r}:null}else if(c.regex||c.regexes){if(c.enums){var X=N();if(X)return X}for(var F=c.regexes?c.regexes:[c.regex],V=0;V<F.length;V++){var q=new RegExp(F[V]),$=q.exec(e);if($)return{name:t,value:c.singleRegexMatchValue?$[1]:$,strValue:""+e,bypass:r}}return null}else return c.string?{name:t,value:""+e,strValue:""+e,bypass:r}:c.enums?N():null};var Pt=function t(e){if(!(this instanceof t))return new t(e);if(!Rc(e)){Qe("A style must have a core reference");return}this._private={cy:e,coreStyle:{}},this.length=0,this.resetToDefault()},Lt=Pt.prototype;Lt.instanceString=function(){return"style"},Lt.clear=function(){for(var t=this._private,e=t.cy,r=e.elements(),n=0;n<this.length;n++)this[n]=void 0;return this.length=0,t.contextStyles={},t.propDiffs={},this.cleanElements(r,!0),r.forEach(function(a){var i=a[0]._private;i.styleDirty=!0,i.appliedInitStyle=!1}),this},Lt.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this},Lt.core=function(t){return this._private.coreStyle[t]||this.getDefaultProperty(t)},Lt.selector=function(t){var e=t==="core"?null:new kn(t),r=this.length++;return this[r]={selector:e,properties:[],mappedProperties:[],index:r},this},Lt.css=function(){var t=this,e=arguments;if(e.length===1)for(var r=e[0],n=0;n<t.properties.length;n++){var a=t.properties[n],i=r[a.name];i===void 0&&(i=r[ps(a.name)]),i!==void 0&&this.cssRule(a.name,i)}else e.length===2&&this.cssRule(e[0],e[1]);return this},Lt.style=Lt.css,Lt.cssRule=function(t,e){var r=this.parse(t,e);if(r){var n=this.length-1;this[n].properties.push(r),this[n].properties[r.name]=r,r.name.match(/pie-(\d+)-background-size/)&&r.value&&(this._private.hasPie=!0),r.mapped&&this[n].mappedProperties.push(r);var a=!this[n].selector;a&&(this._private.coreStyle[r.name]=r)}return this},Lt.append=function(t){return L0(t)?t.appendToStyle(this):Ke(t)?this.appendFromJson(t):Ee(t)&&this.appendFromString(t),this},Pt.fromJson=function(t,e){var r=new Pt(t);return r.fromJson(e),r},Pt.fromString=function(t,e){return new Pt(t).fromString(e)},[At,po,pu,Br,Zs,vu,Nt,Xs].forEach(function(t){Te(Lt,t)}),Pt.types=Lt.types,Pt.properties=Lt.properties,Pt.propertyGroups=Lt.propertyGroups,Pt.propertyGroupNames=Lt.propertyGroupNames,Pt.propertyGroupKeys=Lt.propertyGroupKeys;var Wz={style:function(e){if(e){var r=this.setStyle(e);r.update()}return this._private.style},setStyle:function(e){var r=this._private;return L0(e)?r.style=e.generateStyle(this):Ke(e)?r.style=Pt.fromJson(this,e):Ee(e)?r.style=Pt.fromString(this,e):r.style=Pt(this),r.style},updateStyle:function(){this.mutableElements().updateStyle()}},jz="single",ia={autolock:function(e){if(e!==void 0)this._private.autolock=!!e;else return this._private.autolock;return this},autoungrabify:function(e){if(e!==void 0)this._private.autoungrabify=!!e;else return this._private.autoungrabify;return this},autounselectify:function(e){if(e!==void 0)this._private.autounselectify=!!e;else return this._private.autounselectify;return this},selectionType:function(e){var r=this._private;if(r.selectionType==null&&(r.selectionType=jz),e!==void 0)(e==="additive"||e==="single")&&(r.selectionType=e);else return r.selectionType;return this},panningEnabled:function(e){if(e!==void 0)this._private.panningEnabled=!!e;else return this._private.panningEnabled;return this},userPanningEnabled:function(e){if(e!==void 0)this._private.userPanningEnabled=!!e;else return this._private.userPanningEnabled;return this},zoomingEnabled:function(e){if(e!==void 0)this._private.zoomingEnabled=!!e;else return this._private.zoomingEnabled;return this},userZoomingEnabled:function(e){if(e!==void 0)this._private.userZoomingEnabled=!!e;else return this._private.userZoomingEnabled;return this},boxSelectionEnabled:function(e){if(e!==void 0)this._private.boxSelectionEnabled=!!e;else return this._private.boxSelectionEnabled;return this},pan:function(){var e=arguments,r=this._private.pan,n,a,i,o,l;switch(e.length){case 0:return r;case 1:if(Ee(e[0]))return n=e[0],r[n];if(Pe(e[0])){if(!this._private.panningEnabled)return this;i=e[0],o=i.x,l=i.y,de(o)&&(r.x=o),de(l)&&(r.y=l),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;n=e[0],a=e[1],(n==="x"||n==="y")&&de(a)&&(r[n]=a),this.emit("pan viewport");break}return this.notify("viewport"),this},panBy:function(e,r){var n=arguments,a=this._private.pan,i,o,l,u,c;if(!this._private.panningEnabled)return this;switch(n.length){case 1:Pe(e)&&(l=n[0],u=l.x,c=l.y,de(u)&&(a.x+=u),de(c)&&(a.y+=c),this.emit("pan viewport"));break;case 2:i=e,o=r,(i==="x"||i==="y")&&de(o)&&(a[i]+=o),this.emit("pan viewport");break}return this.notify("viewport"),this},fit:function(e,r){var n=this.getFitViewport(e,r);if(n){var a=this._private;a.zoom=n.zoom,a.pan=n.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},getFitViewport:function(e,r){if(de(e)&&r===void 0&&(r=e,e=void 0),!(!this._private.panningEnabled||!this._private.zoomingEnabled)){var n;if(Ee(e)){var a=e;e=this.$(a)}else if(JM(e)){var i=e;n={x1:i.x1,y1:i.y1,x2:i.x2,y2:i.y2},n.w=n.x2-n.x1,n.h=n.y2-n.y1}else Xt(e)||(e=this.mutableElements());if(!(Xt(e)&&e.empty())){n=n||e.boundingBox();var o=this.width(),l=this.height(),u;if(r=de(r)?r:0,!isNaN(o)&&!isNaN(l)&&o>0&&l>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){u=Math.min((o-2*r)/n.w,(l-2*r)/n.h),u=u>this._private.maxZoom?this._private.maxZoom:u,u=u<this._private.minZoom?this._private.minZoom:u;var c={x:(o-u*(n.x1+n.x2))/2,y:(l-u*(n.y1+n.y2))/2};return{zoom:u,pan:c}}}}},zoomRange:function(e,r){var n=this._private;if(r==null){var a=e;e=a.min,r=a.max}return de(e)&&de(r)&&e<=r?(n.minZoom=e,n.maxZoom=r):de(e)&&r===void 0&&e<=n.maxZoom?n.minZoom=e:de(r)&&e===void 0&&r>=n.minZoom&&(n.maxZoom=r),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var r=this._private,n=r.pan,a=r.zoom,i,o,l=!1;if(r.zoomingEnabled||(l=!0),de(e)?o=e:Pe(e)&&(o=e.level,e.position!=null?i=Cs(e.position,a,n):e.renderedPosition!=null&&(i=e.renderedPosition),i!=null&&!r.panningEnabled&&(l=!0)),o=o>r.maxZoom?r.maxZoom:o,o=o<r.minZoom?r.minZoom:o,l||!de(o)||o===a||i!=null&&(!de(i.x)||!de(i.y)))return null;if(i!=null){var u=n,c=a,d=o,f={x:-d/c*(i.x-u.x)+i.x,y:-d/c*(i.y-u.y)+i.y};return{zoomed:!0,panned:!0,zoom:d,pan:f}}else return{zoomed:!0,panned:!1,zoom:o,pan:n}},zoom:function(e){if(e===void 0)return this._private.zoom;var r=this.getZoomedViewport(e),n=this._private;return r==null||!r.zoomed?this:(n.zoom=r.zoom,r.panned&&(n.pan.x=r.pan.x,n.pan.y=r.pan.y),this.emit("zoom"+(r.panned?" pan":"")+" viewport"),this.notify("viewport"),this)},viewport:function(e){var r=this._private,n=!0,a=!0,i=[],o=!1,l=!1;if(!e)return this;if(de(e.zoom)||(n=!1),Pe(e.pan)||(a=!1),!n&&!a)return this;if(n){var u=e.zoom;u<r.minZoom||u>r.maxZoom||!r.zoomingEnabled?o=!0:(r.zoom=u,i.push("zoom"))}if(a&&(!o||!e.cancelOnFailedZoom)&&r.panningEnabled){var c=e.pan;de(c.x)&&(r.pan.x=c.x,l=!1),de(c.y)&&(r.pan.y=c.y,l=!1),l||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,r){if(this._private.panningEnabled){if(Ee(e)){var n=e;e=this.mutableElements().filter(n)}else Xt(e)||(e=this.mutableElements());if(e.length!==0){var a=e.boundingBox(),i=this.width(),o=this.height();r=r===void 0?this._private.zoom:r;var l={x:(i-r*(a.x1+a.x2))/2,y:(o-r*(a.y1+a.y2))/2};return l}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?function(){var a=n.window().getComputedStyle(r),i=function(l){return parseFloat(a.getPropertyValue(l))};return{width:r.clientWidth-i("padding-left")-i("padding-right"),height:r.clientHeight-i("padding-top")-i("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),a={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return a.w=a.x2-a.x1,a.h=a.y2-a.y1,a},renderedExtent:function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};ia.centre=ia.center,ia.autolockNodes=ia.autolock,ia.autoungrabifyNodes=ia.autoungrabify;var vo={data:Ve.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Ve.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Ve.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Ve.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};vo.attr=vo.data,vo.removeAttr=vo.removeData;var go=function(e){var r=this;e=Te({},e);var n=e.container;n&&!hs(n)&&hs(n[0])&&(n=n[0]);var a=n?n._cyreg:null;a=a||{},a&&a.cy&&(a.cy.destroy(),a={});var i=a.readies=a.readies||[];n&&(n._cyreg=a),a.cy=r;var o=pt!==void 0&&n!==void 0&&!e.headless,l=e;l.layout=Te({name:o?"grid":"null"},l.layout),l.renderer=Te({name:o?"canvas":"null"},l.renderer);var u=function(p,g,m){return g!==void 0?g:m!==void 0?m:p},c=this._private={container:n,ready:!1,options:l,elements:new Tt(this),listeners:[],aniEles:new Tt(this),data:l.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:u(!0,l.zoomingEnabled),userZoomingEnabled:u(!0,l.userZoomingEnabled),panningEnabled:u(!0,l.panningEnabled),userPanningEnabled:u(!0,l.userPanningEnabled),boxSelectionEnabled:u(!0,l.boxSelectionEnabled),autolock:u(!1,l.autolock,l.autolockNodes),autoungrabify:u(!1,l.autoungrabify,l.autoungrabifyNodes),autounselectify:u(!1,l.autounselectify),styleEnabled:l.styleEnabled===void 0?o:l.styleEnabled,zoom:de(l.zoom)?l.zoom:1,pan:{x:Pe(l.pan)&&de(l.pan.x)?l.pan.x:0,y:Pe(l.pan)&&de(l.pan.y)?l.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:u(250,l.multiClickDebounceTime)};this.createEmitter(),this.selectionType(l.selectionType),this.zoomRange({min:l.minZoom,max:l.maxZoom});var d=function(p,g){var m=p.some(QM);if(m)return Ua.all(p).then(g);g(p)};c.styleEnabled&&r.setStyle([]);var f=Te({},l,l.renderer);r.initRenderer(f);var h=function(p,g,m){r.notifications(!1);var y=r.mutableElements();y.length>0&&y.remove(),p!=null&&(Pe(p)||Ke(p))&&r.add(p),r.one("layoutready",function(w){r.notifications(!0),r.emit(w),r.one("load",g),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",m),r.emit("done")});var b=Te({},r._private.options.layout);b.eles=r.elements(),r.layout(b).run()};d([l.style,l.elements],function(v){var p=v[0],g=v[1];c.styleEnabled&&r.style().append(p),h(g,function(){r.startAnimationLoop(),c.ready=!0,Je(l.ready)&&r.on("ready",l.ready);for(var m=0;m<i.length;m++){var y=i[m];r.on("ready",y)}a&&(a.readies=[]),r.emit("ready")},l.done)})},Js=go.prototype;Te(Js,{instanceString:function(){return"core"},isReady:function(){return this._private.ready},destroyed:function(){return this._private.destroyed},ready:function(e){return this.isReady()?this.emitter().emit("ready",[],e):this.on("ready",e),this},destroy:function(){var e=this;if(!e.destroyed())return e.stopAnimationLoop(),e.destroyRenderer(),this.emit("destroy"),e._private.destroyed=!0,e},hasElementWithId:function(e){return this._private.elements.hasElementWithId(e)},getElementById:function(e){return this._private.elements.getElementById(e)},hasCompoundNodes:function(){return this._private.hasCompoundNodes},headless:function(){return this._private.renderer.isHeadless()},styleEnabled:function(){return this._private.styleEnabled},addToPool:function(e){return this._private.elements.merge(e),this},removeFromPool:function(e){return this._private.elements.unmerge(e),this},container:function(){return this._private.container||null},window:function(){var e=this._private.container;if(e==null)return pt;var r=this._private.container.ownerDocument;return r===void 0||r==null?pt:r.defaultView||pt},mount:function(e){if(e!=null){var r=this,n=r._private,a=n.options;return!hs(e)&&hs(e[0])&&(e=e[0]),r.stopAnimationLoop(),r.destroyRenderer(),n.container=e,n.styleEnabled=!0,r.invalidateSize(),r.initRenderer(Te({},a,a.renderer,{name:a.renderer.name==="null"?"canvas":a.renderer.name})),r.startAnimationLoop(),r.style(a.style),r.emit("mount"),r}},unmount:function(){var e=this;return e.stopAnimationLoop(),e.destroyRenderer(),e.initRenderer({name:"null"}),e.emit("unmount"),e},options:function(){return Nr(this._private.options)},json:function(e){var r=this,n=r._private,a=r.mutableElements(),i=function(C){return r.getElementById(C.id())};if(Pe(e)){if(r.startBatch(),e.elements){var o={},l=function(C,x){for(var k=[],E=[],_=0;_<C.length;_++){var S=C[_];if(!S.data.id){$e("cy.json() cannot handle elements without an ID attribute");continue}var T=""+S.data.id,N=r.getElementById(T);o[T]=!0,N.length!==0?E.push({ele:N,json:S}):(x&&(S.group=x),k.push(S))}r.add(k);for(var B=0;B<E.length;B++){var O=E[B],D=O.ele,L=O.json;D.json(L)}};if(Ke(e.elements))l(e.elements);else for(var u=["nodes","edges"],c=0;c<u.length;c++){var d=u[c],f=e.elements[d];Ke(f)&&l(f,d)}var h=r.collection();a.filter(function(w){return!o[w.id()]}).forEach(function(w){w.isParent()?h.merge(w):w.remove()}),h.forEach(function(w){return w.children().move({parent:null})}),h.forEach(function(w){return i(w).remove()})}e.style&&r.style(e.style),e.zoom!=null&&e.zoom!==n.zoom&&r.zoom(e.zoom),e.pan&&(e.pan.x!==n.pan.x||e.pan.y!==n.pan.y)&&r.pan(e.pan),e.data&&r.data(e.data);for(var v=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify","multiClickDebounceTime"],p=0;p<v.length;p++){var g=v[p];e[g]!=null&&r[g](e[g])}return r.endBatch(),this}else{var m=!!e,y={};m?y.elements=this.elements().map(function(w){return w.json()}):(y.elements={},a.forEach(function(w){var C=w.group();y.elements[C]||(y.elements[C]=[]),y.elements[C].push(w.json())})),this._private.styleEnabled&&(y.style=r.style().json()),y.data=Nr(r.data());var b=n.options;return y.zoomingEnabled=n.zoomingEnabled,y.userZoomingEnabled=n.userZoomingEnabled,y.zoom=n.zoom,y.minZoom=n.minZoom,y.maxZoom=n.maxZoom,y.panningEnabled=n.panningEnabled,y.userPanningEnabled=n.userPanningEnabled,y.pan=Nr(n.pan),y.boxSelectionEnabled=n.boxSelectionEnabled,y.renderer=Nr(b.renderer),y.hideEdgesOnViewport=b.hideEdgesOnViewport,y.textureOnViewport=b.textureOnViewport,y.wheelSensitivity=b.wheelSensitivity,y.motionBlur=b.motionBlur,y.multiClickDebounceTime=b.multiClickDebounceTime,y}}}),Js.$id=Js.getElementById,[Mz,zz,T1,fu,js,Kz,hu,Ys,Wz,ia,vo].forEach(function(t){Te(Js,t)});var Yz={fit:!0,directed:!1,padding:30,circle:!1,grid:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,depthSort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}},Zz={maximal:!1,acyclic:!1},ni=function(e){return e.scratch("breadthfirst")},N1=function(e,r){return e.scratch("breadthfirst",r)};function I1(t){this.options=Te({},Yz,Zz,t)}I1.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,a=n.nodes().filter(function(ae){return!ae.isParent()}),i=n,o=e.directed,l=e.acyclic||e.maximal||e.maximalAdjustments>0,u=Ut(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),c;if(Xt(e.roots))c=e.roots;else if(Ke(e.roots)){for(var d=[],f=0;f<e.roots.length;f++){var h=e.roots[f],v=r.getElementById(h);d.push(v)}c=r.collection(d)}else if(Ee(e.roots))c=r.$(e.roots);else if(o)c=a.roots();else{var p=n.components();c=r.collection();for(var g=function(ne){var ue=p[ne],ie=ue.maxDegree(!1),fe=ue.filter(function(pe){return pe.degree(!1)===ie});c=c.add(fe)},m=0;m<p.length;m++)g(m)}var y=[],b={},w=function(ne,ue){y[ue]==null&&(y[ue]=[]);var ie=y[ue].length;y[ue].push(ne),N1(ne,{index:ie,depth:ue})},C=function(ne,ue){var ie=ni(ne),fe=ie.depth,pe=ie.index;y[fe][pe]=null,w(ne,ue)};i.bfs({roots:c,directed:e.directed,visit:function(ne,ue,ie,fe,pe){var Oe=ne[0],Ie=Oe.id();w(Oe,pe),b[Ie]=!0}});for(var x=[],k=0;k<a.length;k++){var E=a[k];b[E.id()]||x.push(E)}var _=function(ne){for(var ue=y[ne],ie=0;ie<ue.length;ie++){var fe=ue[ie];if(fe==null){ue.splice(ie,1),ie--;continue}N1(fe,{depth:ne,index:ie})}},S=function(){for(var ne=0;ne<y.length;ne++)_(ne)},T=function(ne,ue){for(var ie=ni(ne),fe=ne.incomers().filter(function(I){return I.isNode()&&n.has(I)}),pe=-1,Oe=ne.id(),Ie=0;Ie<fe.length;Ie++){var we=fe[Ie],ke=ni(we);pe=Math.max(pe,ke.depth)}if(ie.depth<=pe){if(!e.acyclic&&ue[Oe])return null;var re=pe+1;return C(ne,re),ue[Oe]=re,!0}return!1};if(o&&l){var N=[],B={},O=function(ne){return N.push(ne)},D=function(){return N.shift()};for(a.forEach(function(ae){return N.push(ae)});N.length>0;){var L=D(),A=T(L,B);if(A)L.outgoers().filter(function(ae){return ae.isNode()&&n.has(ae)}).forEach(O);else if(A===null){$e("Detected double maximal shift for node `"+L.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}S();var M=0;if(e.avoidOverlap)for(var P=0;P<a.length;P++){var z=a[P],W=z.layoutDimensions(e),H=W.w,G=W.h;M=Math.max(M,H,G)}var X={},F=function(ne){if(X[ne.id()])return X[ne.id()];for(var ue=ni(ne).depth,ie=ne.neighborhood(),fe=0,pe=0,Oe=0;Oe<ie.length;Oe++){var Ie=ie[Oe];if(!(Ie.isEdge()||Ie.isParent()||!a.has(Ie))){var we=ni(Ie);if(we!=null){var ke=we.index,re=we.depth;if(!(ke==null||re==null)){var I=y[re].length;re<ue&&(fe+=ke/I,pe++)}}}}return pe=Math.max(1,pe),fe=fe/pe,pe===0&&(fe=0),X[ne.id()]=fe,fe},V=function(ne,ue){var ie=F(ne),fe=F(ue),pe=ie-fe;return pe===0?F0(ne.id(),ue.id()):pe};e.depthSort!==void 0&&(V=e.depthSort);for(var q=0;q<y.length;q++)y[q].sort(V),_(q);for(var $=[],K=0;K<x.length;K++)$.push(x[K]);y.unshift($),S();for(var R=0,j=0;j<y.length;j++)R=Math.max(y[j].length,R);var Y={x:u.x1+u.w/2,y:u.x1+u.h/2},se=y.reduce(function(ae,ne){return Math.max(ae,ne.length)},0),ce=function(ne){var ue=ni(ne),ie=ue.depth,fe=ue.index,pe=y[ie].length,Oe=Math.max(u.w/((e.grid?se:pe)+1),M),Ie=Math.max(u.h/(y.length+1),M),we=Math.min(u.w/2/y.length,u.h/2/y.length);if(we=Math.max(we,M),e.circle){var re=we*ie+we-(y.length>0&&y[0].length<=3?we/2:0),I=2*Math.PI/y[ie].length*fe;return ie===0&&y[0].length===1&&(re=1),{x:Y.x+re*Math.cos(I),y:Y.y+re*Math.sin(I)}}else{var ke={x:Y.x+(fe+1-(pe+1)/2)*Oe,y:(ie+1)*Ie};return ke}};return n.nodes().layoutPositions(this,e,ce),this};var Xz={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function B1(t){this.options=Te({},Xz,t)}B1.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,a=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));for(var o=Ut(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),l={x:o.x1+o.w/2,y:o.y1+o.h/2},u=e.sweep===void 0?2*Math.PI-2*Math.PI/i.length:e.sweep,c=u/Math.max(1,i.length-1),d,f=0,h=0;h<i.length;h++){var v=i[h],p=v.layoutDimensions(e),g=p.w,m=p.h;f=Math.max(f,g,m)}if(de(e.radius)?d=e.radius:i.length<=1?d=0:d=Math.min(o.h,o.w)/2-f,i.length>1&&e.avoidOverlap){f*=1.75;var y=Math.cos(c)-Math.cos(0),b=Math.sin(c)-Math.sin(0),w=Math.sqrt(f*f/(y*y+b*b));d=Math.max(w,d)}var C=function(k,E){var _=e.startAngle+E*c*(a?1:-1),S=d*Math.cos(_),T=d*Math.sin(_),N={x:l.x+S,y:l.y+T};return N};return n.nodes().layoutPositions(this,e,C),this};var Jz={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function D1(t){this.options=Te({},Jz,t)}D1.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,a=e.eles,i=a.nodes().not(":parent"),o=Ut(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),l={x:o.x1+o.w/2,y:o.y1+o.h/2},u=[],c=0,d=0;d<i.length;d++){var f=i[d],h=void 0;h=e.concentric(f),u.push({value:h,node:f}),f._private.scratch.concentric=h}i.updateStyle();for(var v=0;v<i.length;v++){var p=i[v],g=p.layoutDimensions(e);c=Math.max(c,g.w,g.h)}u.sort(function(ae,ne){return ne.value-ae.value});for(var m=e.levelWidth(i),y=[[]],b=y[0],w=0;w<u.length;w++){var C=u[w];if(b.length>0){var x=Math.abs(b[0].value-C.value);x>=m&&(b=[],y.push(b))}b.push(C)}var k=c+e.minNodeSpacing;if(!e.avoidOverlap){var E=y.length>0&&y[0].length>1,_=Math.min(o.w,o.h)/2-k,S=_/(y.length+E?1:0);k=Math.min(k,S)}for(var T=0,N=0;N<y.length;N++){var B=y[N],O=e.sweep===void 0?2*Math.PI-2*Math.PI/B.length:e.sweep,D=B.dTheta=O/Math.max(1,B.length-1);if(B.length>1&&e.avoidOverlap){var L=Math.cos(D)-Math.cos(0),A=Math.sin(D)-Math.sin(0),M=Math.sqrt(k*k/(L*L+A*A));T=Math.max(M,T)}B.r=T,T+=k}if(e.equidistant){for(var P=0,z=0,W=0;W<y.length;W++){var H=y[W],G=H.r-z;P=Math.max(P,G)}z=0;for(var X=0;X<y.length;X++){var F=y[X];X===0&&(z=F.r),F.r=z,z+=P}}for(var V={},q=0;q<y.length;q++)for(var $=y[q],K=$.dTheta,R=$.r,j=0;j<$.length;j++){var Y=$[j],se=e.startAngle+(r?1:-1)*K*j,ce={x:l.x+R*Math.cos(se),y:l.y+R*Math.sin(se)};V[Y.node.id()]=ce}return a.nodes().layoutPositions(this,e,function(ae){var ne=ae.id();return V[ne]}),this};var gu,Qz={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(e,r){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(e){return 2048},nodeOverlap:4,idealEdgeLength:function(e){return 32},edgeElasticity:function(e){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function Qs(t){this.options=Te({},Qz,t),this.options.layout=this;var e=this.options.eles.nodes(),r=this.options.eles.edges(),n=r.filter(function(a){var i=a.source().data("id"),o=a.target().data("id"),l=e.some(function(c){return c.data("id")===i}),u=e.some(function(c){return c.data("id")===o});return!l||!u});this.options.eles=this.options.eles.not(n)}Qs.prototype.run=function(){var t=this.options,e=t.cy,r=this;r.stopped=!1,(t.animate===!0||t.animate===!1)&&r.emit({type:"layoutstart",layout:r}),t.debug===!0?gu=!0:gu=!1;var n=e3(e,r,t);gu&&n3(n),t.randomize&&a3(n);var a=Zr(),i=function(){i3(n,e,t),t.fit===!0&&e.fit(t.padding)},o=function(h){return!(r.stopped||h>=t.numIter||(o3(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature<t.minTemp))},l=function(){if(t.animate===!0||t.animate===!1)i(),r.one("layoutstop",t.stop),r.emit({type:"layoutstop",layout:r});else{var h=t.eles.nodes(),v=O1(n,t,h);h.layoutPositions(r,t,v)}},u=0,c=!0;if(t.animate===!0){var d=function f(){for(var h=0;c&&h<t.refresh;)c=o(u),u++,h++;if(!c)P1(n,t),l();else{var v=Zr();v-a>=t.animationThreshold&&i(),ms(f)}};d()}else{for(;c;)c=o(u),u++;P1(n,t),l()}return this},Qs.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Qs.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var e3=function(e,r,n){for(var a=n.eles.edges(),i=n.eles.nodes(),o=Ut(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),l={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:a.size(),temperature:n.initialTemp,clientWidth:o.w,clientHeight:o.h,boundingBox:o},u=n.eles.components(),c={},d=0;d<u.length;d++)for(var f=u[d],h=0;h<f.length;h++){var v=f[h];c[v.id()]=d}for(var d=0;d<l.nodeSize;d++){var p=i[d],g=p.layoutDimensions(n),m={};m.isLocked=p.locked(),m.id=p.data("id"),m.parentId=p.data("parent"),m.cmptId=c[p.id()],m.children=[],m.positionX=p.position("x"),m.positionY=p.position("y"),m.offsetX=0,m.offsetY=0,m.height=g.w,m.width=g.h,m.maxX=m.positionX+m.width/2,m.minX=m.positionX-m.width/2,m.maxY=m.positionY+m.height/2,m.minY=m.positionY-m.height/2,m.padLeft=parseFloat(p.style("padding")),m.padRight=parseFloat(p.style("padding")),m.padTop=parseFloat(p.style("padding")),m.padBottom=parseFloat(p.style("padding")),m.nodeRepulsion=Je(n.nodeRepulsion)?n.nodeRepulsion(p):n.nodeRepulsion,l.layoutNodes.push(m),l.idToIndex[m.id]=d}for(var y=[],b=0,w=-1,C=[],d=0;d<l.nodeSize;d++){var p=l.layoutNodes[d],x=p.parentId;x!=null?l.layoutNodes[l.idToIndex[x]].children.push(p.id):(y[++w]=p.id,C.push(p.id))}for(l.graphSet.push(C);b<=w;){var k=y[b++],E=l.idToIndex[k],v=l.layoutNodes[E],_=v.children;if(_.length>0){l.graphSet.push(_);for(var d=0;d<_.length;d++)y[++w]=_[d]}}for(var d=0;d<l.graphSet.length;d++)for(var S=l.graphSet[d],h=0;h<S.length;h++){var T=l.idToIndex[S[h]];l.indexToGraph[T]=d}for(var d=0;d<l.edgeSize;d++){var N=a[d],B={};B.id=N.data("id"),B.sourceId=N.data("source"),B.targetId=N.data("target");var O=Je(n.idealEdgeLength)?n.idealEdgeLength(N):n.idealEdgeLength,D=Je(n.edgeElasticity)?n.edgeElasticity(N):n.edgeElasticity,L=l.idToIndex[B.sourceId],A=l.idToIndex[B.targetId],M=l.indexToGraph[L],P=l.indexToGraph[A];if(M!=P){for(var z=t3(B.sourceId,B.targetId,l),W=l.graphSet[z],H=0,m=l.layoutNodes[L];W.indexOf(m.id)===-1;)m=l.layoutNodes[l.idToIndex[m.parentId]],H++;for(m=l.layoutNodes[A];W.indexOf(m.id)===-1;)m=l.layoutNodes[l.idToIndex[m.parentId]],H++;O*=H*n.nestingFactor}B.idealLength=O,B.elasticity=D,l.layoutEdges.push(B)}return l},t3=function(e,r,n){var a=r3(e,r,0,n);return 2>a.count?0:a.graph},r3=function t(e,r,n,a){var i=a.graphSet[n];if(-1<i.indexOf(e)&&-1<i.indexOf(r))return{count:2,graph:n};for(var o=0,l=0;l<i.length;l++){var u=i[l],c=a.idToIndex[u],d=a.layoutNodes[c].children;if(d.length!==0){var f=a.indexToGraph[a.idToIndex[d[0]]],h=t(e,r,f,a);if(h.count!==0)if(h.count===1){if(o++,o===2)break}else return h}}return{count:o,graph:n}},n3,a3=function(e,r){for(var n=e.clientWidth,a=e.clientHeight,i=0;i<e.nodeSize;i++){var o=e.layoutNodes[i];o.children.length===0&&!o.isLocked&&(o.positionX=Math.random()*n,o.positionY=Math.random()*a)}},O1=function(e,r,n){var a=e.boundingBox,i={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};return r.boundingBox&&(n.forEach(function(o){var l=e.layoutNodes[e.idToIndex[o.data("id")]];i.x1=Math.min(i.x1,l.positionX),i.x2=Math.max(i.x2,l.positionX),i.y1=Math.min(i.y1,l.positionY),i.y2=Math.max(i.y2,l.positionY)}),i.w=i.x2-i.x1,i.h=i.y2-i.y1),function(o,l){var u=e.layoutNodes[e.idToIndex[o.data("id")]];if(r.boundingBox){var c=(u.positionX-i.x1)/i.w,d=(u.positionY-i.y1)/i.h;return{x:a.x1+c*a.w,y:a.y1+d*a.h}}else return{x:u.positionX,y:u.positionY}}},i3=function(e,r,n){var a=n.layout,i=n.eles.nodes(),o=O1(e,n,i);i.positions(o),e.ready!==!0&&(e.ready=!0,a.one("layoutready",n.ready),a.emit({type:"layoutready",layout:this}))},o3=function(e,r,n){s3(e,r),u3(e),d3(e,r),f3(e),h3(e)},s3=function(e,r){for(var n=0;n<e.graphSet.length;n++)for(var a=e.graphSet[n],i=a.length,o=0;o<i;o++)for(var l=e.layoutNodes[e.idToIndex[a[o]]],u=o+1;u<i;u++){var c=e.layoutNodes[e.idToIndex[a[u]]];l3(l,c,e,r)}},A1=function(e){return-e+2*e*Math.random()},l3=function(e,r,n,a){var i=e.cmptId,o=r.cmptId;if(!(i!==o&&!n.isCompound)){var l=r.positionX-e.positionX,u=r.positionY-e.positionY,c=1;l===0&&u===0&&(l=A1(c),u=A1(c));var d=c3(e,r,l,u);if(d>0)var f=a.nodeOverlap*d,h=Math.sqrt(l*l+u*u),v=f*l/h,p=f*u/h;else var g=el(e,l,u),m=el(r,-1*l,-1*u),y=m.x-g.x,b=m.y-g.y,w=y*y+b*b,h=Math.sqrt(w),f=(e.nodeRepulsion+r.nodeRepulsion)/w,v=f*y/h,p=f*b/h;e.isLocked||(e.offsetX-=v,e.offsetY-=p),r.isLocked||(r.offsetX+=v,r.offsetY+=p)}},c3=function(e,r,n,a){if(n>0)var i=e.maxX-r.minX;else var i=r.maxX-e.minX;if(a>0)var o=e.maxY-r.minY;else var o=r.maxY-e.minY;return i>=0&&o>=0?Math.sqrt(i*i+o*o):0},el=function(e,r,n){var a=e.positionX,i=e.positionY,o=e.height||1,l=e.width||1,u=n/r,c=o/l,d={};return r===0&&0<n||r===0&&0>n?(d.x=a,d.y=i+o/2,d):0<r&&-1*c<=u&&u<=c?(d.x=a+l/2,d.y=i+l*n/2/r,d):0>r&&-1*c<=u&&u<=c?(d.x=a-l/2,d.y=i-l*n/2/r,d):0<n&&(u<=-1*c||u>=c)?(d.x=a+o*r/2/n,d.y=i+o/2,d):(0>n&&(u<=-1*c||u>=c)&&(d.x=a-o*r/2/n,d.y=i-o/2),d)},u3=function(e,r){for(var n=0;n<e.edgeSize;n++){var a=e.layoutEdges[n],i=e.idToIndex[a.sourceId],o=e.layoutNodes[i],l=e.idToIndex[a.targetId],u=e.layoutNodes[l],c=u.positionX-o.positionX,d=u.positionY-o.positionY;if(!(c===0&&d===0)){var f=el(o,c,d),h=el(u,-1*c,-1*d),v=h.x-f.x,p=h.y-f.y,g=Math.sqrt(v*v+p*p),m=Math.pow(a.idealLength-g,2)/a.elasticity;if(g!==0)var y=m*v/g,b=m*p/g;else var y=0,b=0;o.isLocked||(o.offsetX+=y,o.offsetY+=b),u.isLocked||(u.offsetX-=y,u.offsetY-=b)}}},d3=function(e,r){if(r.gravity!==0)for(var n=1,a=0;a<e.graphSet.length;a++){var i=e.graphSet[a],o=i.length;if(a===0)var l=e.clientHeight/2,u=e.clientWidth/2;else var c=e.layoutNodes[e.idToIndex[i[0]]],d=e.layoutNodes[e.idToIndex[c.parentId]],l=d.positionX,u=d.positionY;for(var f=0;f<o;f++){var h=e.layoutNodes[e.idToIndex[i[f]]];if(!h.isLocked){var v=l-h.positionX,p=u-h.positionY,g=Math.sqrt(v*v+p*p);if(g>n){var m=r.gravity*v/g,y=r.gravity*p/g;h.offsetX+=m,h.offsetY+=y}}}}},f3=function(e,r){var n=[],a=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;a<=i;){var o=n[a++],l=e.idToIndex[o],u=e.layoutNodes[l],c=u.children;if(0<c.length&&!u.isLocked){for(var d=u.offsetX,f=u.offsetY,h=0;h<c.length;h++){var v=e.layoutNodes[e.idToIndex[c[h]]];v.offsetX+=d,v.offsetY+=f,n[++i]=c[h]}u.offsetX=0,u.offsetY=0}}},h3=function(e,r){for(var n=0;n<e.nodeSize;n++){var a=e.layoutNodes[n];0<a.children.length&&(a.maxX=void 0,a.minX=void 0,a.maxY=void 0,a.minY=void 0)}for(var n=0;n<e.nodeSize;n++){var a=e.layoutNodes[n];if(!(0<a.children.length||a.isLocked)){var i=p3(a.offsetX,a.offsetY,e.temperature);a.positionX+=i.x,a.positionY+=i.y,a.offsetX=0,a.offsetY=0,a.minX=a.positionX-a.width,a.maxX=a.positionX+a.width,a.minY=a.positionY-a.height,a.maxY=a.positionY+a.height,v3(a,e)}}for(var n=0;n<e.nodeSize;n++){var a=e.layoutNodes[n];0<a.children.length&&!a.isLocked&&(a.positionX=(a.maxX+a.minX)/2,a.positionY=(a.maxY+a.minY)/2,a.width=a.maxX-a.minX,a.height=a.maxY-a.minY)}},p3=function(e,r,n){var a=Math.sqrt(e*e+r*r);if(a>n)var i={x:n*e/a,y:n*r/a};else var i={x:e,y:r};return i},v3=function t(e,r){var n=e.parentId;if(n!=null){var a=r.layoutNodes[r.idToIndex[n]],i=!1;if((a.maxX==null||e.maxX+a.padRight>a.maxX)&&(a.maxX=e.maxX+a.padRight,i=!0),(a.minX==null||e.minX-a.padLeft<a.minX)&&(a.minX=e.minX-a.padLeft,i=!0),(a.maxY==null||e.maxY+a.padBottom>a.maxY)&&(a.maxY=e.maxY+a.padBottom,i=!0),(a.minY==null||e.minY-a.padTop<a.minY)&&(a.minY=e.minY-a.padTop,i=!0),i)return t(a,r)}},P1=function(e,r){for(var n=e.layoutNodes,a=[],i=0;i<n.length;i++){var o=n[i],l=o.cmptId,u=a[l]=a[l]||[];u.push(o)}for(var c=0,i=0;i<a.length;i++){var d=a[i];if(d){d.x1=1/0,d.x2=-1/0,d.y1=1/0,d.y2=-1/0;for(var f=0;f<d.length;f++){var h=d[f];d.x1=Math.min(d.x1,h.positionX-h.width/2),d.x2=Math.max(d.x2,h.positionX+h.width/2),d.y1=Math.min(d.y1,h.positionY-h.height/2),d.y2=Math.max(d.y2,h.positionY+h.height/2)}d.w=d.x2-d.x1,d.h=d.y2-d.y1,c+=d.w*d.h}}a.sort(function(b,w){return w.w*w.h-b.w*b.h});for(var v=0,p=0,g=0,m=0,y=Math.sqrt(c)*e.clientWidth/e.clientHeight,i=0;i<a.length;i++){var d=a[i];if(d){for(var f=0;f<d.length;f++){var h=d[f];h.isLocked||(h.positionX+=v-d.x1,h.positionY+=p-d.y1)}v+=d.w+r.componentSpacing,g+=d.w+r.componentSpacing,m=Math.max(m,d.h),g>y&&(p+=m+r.componentSpacing,v=0,g=0,m=0)}}},g3={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function L1(t){this.options=Te({},g3,t)}L1.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));var i=Ut(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(i.h===0||i.w===0)n.nodes().layoutPositions(this,e,function(X){return{x:i.x1,y:i.y1}});else{var o=a.size(),l=Math.sqrt(o*i.h/i.w),u=Math.round(l),c=Math.round(i.w/i.h*l),d=function(F){if(F==null)return Math.min(u,c);var V=Math.min(u,c);V==u?u=F:c=F},f=function(F){if(F==null)return Math.max(u,c);var V=Math.max(u,c);V==u?u=F:c=F},h=e.rows,v=e.cols!=null?e.cols:e.columns;if(h!=null&&v!=null)u=h,c=v;else if(h!=null&&v==null)u=h,c=Math.ceil(o/u);else if(h==null&&v!=null)c=v,u=Math.ceil(o/c);else if(c*u>o){var p=d(),g=f();(p-1)*g>=o?d(p-1):(g-1)*p>=o&&f(g-1)}else for(;c*u<o;){var m=d(),y=f();(y+1)*m>=o?f(y+1):d(m+1)}var b=i.w/c,w=i.h/u;if(e.condense&&(b=0,w=0),e.avoidOverlap)for(var C=0;C<a.length;C++){var x=a[C],k=x._private.position;(k.x==null||k.y==null)&&(k.x=0,k.y=0);var E=x.layoutDimensions(e),_=e.avoidOverlapPadding,S=E.w+_,T=E.h+_;b=Math.max(b,S),w=Math.max(w,T)}for(var N={},B=function(F,V){return!!N["c-"+F+"-"+V]},O=function(F,V){N["c-"+F+"-"+V]=!0},D=0,L=0,A=function(){L++,L>=c&&(L=0,D++)},M={},P=0;P<a.length;P++){var z=a[P],W=e.position(z);if(W&&(W.row!==void 0||W.col!==void 0)){var H={row:W.row,col:W.col};if(H.col===void 0)for(H.col=0;B(H.row,H.col);)H.col++;else if(H.row===void 0)for(H.row=0;B(H.row,H.col);)H.row++;M[z.id()]=H,O(H.row,H.col)}}var G=function(F,V){var q,$;if(F.locked()||F.isParent())return!1;var K=M[F.id()];if(K)q=K.col*b+b/2+i.x1,$=K.row*w+w/2+i.y1;else{for(;B(D,L);)A();q=L*b+b/2+i.x1,$=D*w+w/2+i.y1,O(D,L),A()}return{x:q,y:$}};a.layoutPositions(this,e,G)}return this};var m3={ready:function(){},stop:function(){}};function mu(t){this.options=Te({},m3,t)}mu.prototype.run=function(){var t=this.options,e=t.eles,r=this;return t.cy,r.emit("layoutstart"),e.nodes().positions(function(){return{x:0,y:0}}),r.one("layoutready",t.ready),r.emit("layoutready"),r.one("layoutstop",t.stop),r.emit("layoutstop"),this},mu.prototype.stop=function(){return this};var y3={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,spacingFactor:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function R1(t){this.options=Te({},y3,t)}R1.prototype.run=function(){var t=this.options,e=t.eles,r=e.nodes(),n=Je(t.positions);function a(i){if(t.positions==null)return k5(i.position());if(n)return t.positions(i);var o=t.positions[i._private.data.id];return o??null}return r.layoutPositions(this,t,function(i,o){var l=a(i);return i.locked()||l==null?!1:l}),this};var b3={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function M1(t){this.options=Te({},b3,t)}M1.prototype.run=function(){var t=this.options,e=t.cy,r=t.eles,n=Ut(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),a=function(o,l){return{x:n.x1+Math.round(Math.random()*n.w),y:n.y1+Math.round(Math.random()*n.h)}};return r.nodes().layoutPositions(this,t,a),this};var w3=[{name:"breadthfirst",impl:I1},{name:"circle",impl:B1},{name:"concentric",impl:D1},{name:"cose",impl:Qs},{name:"grid",impl:L1},{name:"null",impl:mu},{name:"preset",impl:R1},{name:"random",impl:M1}];function F1(t){this.options=t,this.notifications=0}var $1=function(){},V1=function(){throw new Error("A headless instance can not render images")};F1.prototype={recalculateRenderedStyle:$1,notify:function(){this.notifications++},init:$1,isHeadless:function(){return!0},png:V1,jpg:V1};var yu={};yu.arrowShapeWidth=.3,yu.registerArrowShapes=function(){var t=this.arrowShapes={},e=this,r=function(c,d,f,h,v,p,g){var m=v.x-f/2-g,y=v.x+f/2+g,b=v.y-f/2-g,w=v.y+f/2+g,C=m<=c&&c<=y&&b<=d&&d<=w;return C},n=function(c,d,f,h,v){var p=c*Math.cos(h)-d*Math.sin(h),g=c*Math.sin(h)+d*Math.cos(h),m=p*f,y=g*f,b=m+v.x,w=y+v.y;return{x:b,y:w}},a=function(c,d,f,h){for(var v=[],p=0;p<c.length;p+=2){var g=c[p],m=c[p+1];v.push(n(g,m,d,f,h))}return v},i=function(c){for(var d=[],f=0;f<c.length;f++){var h=c[f];d.push(h.x,h.y)}return d},o=function(c){return c.pstyle("width").pfValue*c.pstyle("arrow-scale").pfValue*2},l=function(c,d){Ee(d)&&(d=t[d]),t[c]=Te({name:c,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(h,v,p,g,m,y){var b=i(a(this.points,p+2*y,g,m)),w=Wt(h,v,b);return w},roughCollide:r,draw:function(h,v,p,g){var m=a(this.points,v,p,g);e.arrowShapeImpl("polygon")(h,m)},spacing:function(h){return 0},gap:o},d)};l("none",{collide:bs,roughCollide:bs,draw:qc,spacing:J0,gap:J0}),l("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),l("arrow","triangle"),l("triangle-backcurve",{points:t.triangle.points,controlPoint:[0,-.15],roughCollide:r,draw:function(c,d,f,h,v){var p=a(this.points,d,f,h),g=this.controlPoint,m=n(g[0],g[1],d,f,h);e.arrowShapeImpl(this.name)(c,p,m)},gap:function(c){return o(c)*.8}}),l("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(c,d,f,h,v,p,g){var m=i(a(this.points,f+2*g,h,v)),y=i(a(this.pointsTee,f+2*g,h,v)),b=Wt(c,d,m)||Wt(c,d,y);return b},draw:function(c,d,f,h,v){var p=a(this.points,d,f,h),g=a(this.pointsTee,d,f,h);e.arrowShapeImpl(this.name)(c,p,g)}}),l("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:function(c,d,f,h,v,p,g){var m=v,y=Math.pow(m.x-c,2)+Math.pow(m.y-d,2)<=Math.pow((f+2*g)*this.radius,2),b=i(a(this.points,f+2*g,h,v));return Wt(c,d,b)||y},draw:function(c,d,f,h,v){var p=a(this.pointsTr,d,f,h);e.arrowShapeImpl(this.name)(c,p,h.x,h.y,this.radius*d)},spacing:function(c){return e.getArrowWidth(c.pstyle("width").pfValue,c.pstyle("arrow-scale").value)*this.radius}}),l("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(c,d){var f=this.baseCrossLinePts.slice(),h=d/c,v=3,p=5;return f[v]=f[v]-h,f[p]=f[p]-h,f},collide:function(c,d,f,h,v,p,g){var m=i(a(this.points,f+2*g,h,v)),y=i(a(this.crossLinePts(f,p),f+2*g,h,v)),b=Wt(c,d,m)||Wt(c,d,y);return b},draw:function(c,d,f,h,v){var p=a(this.points,d,f,h),g=a(this.crossLinePts(d,v),d,f,h);e.arrowShapeImpl(this.name)(c,p,g)}}),l("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(c){return o(c)*.525}}),l("circle",{radius:.15,collide:function(c,d,f,h,v,p,g){var m=v,y=Math.pow(m.x-c,2)+Math.pow(m.y-d,2)<=Math.pow((f+2*g)*this.radius,2);return y},draw:function(c,d,f,h,v){e.arrowShapeImpl(this.name)(c,h.x,h.y,this.radius*d)},spacing:function(c){return e.getArrowWidth(c.pstyle("width").pfValue,c.pstyle("arrow-scale").value)*this.radius}}),l("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(c){return 1},gap:function(c){return 1}}),l("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),l("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(c){return c.pstyle("width").pfValue*c.pstyle("arrow-scale").value}}),l("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:function(c){return .95*c.pstyle("width").pfValue*c.pstyle("arrow-scale").value}})};var oa={};oa.projectIntoViewport=function(t,e){var r=this.cy,n=this.findContainerClientCoords(),a=n[0],i=n[1],o=n[4],l=r.pan(),u=r.zoom(),c=((t-a)/o-l.x)/u,d=((e-i)/o-l.y)/u;return[c,d]},oa.findContainerClientCoords=function(){if(this.containerBB)return this.containerBB;var t=this.container,e=t.getBoundingClientRect(),r=this.cy.window().getComputedStyle(t),n=function(y){return parseFloat(r.getPropertyValue(y))},a={left:n("padding-left"),right:n("padding-right"),top:n("padding-top"),bottom:n("padding-bottom")},i={left:n("border-left-width"),right:n("border-right-width"),top:n("border-top-width"),bottom:n("border-bottom-width")},o=t.clientWidth,l=t.clientHeight,u=a.left+a.right,c=a.top+a.bottom,d=i.left+i.right,f=e.width/(o+d),h=o-u,v=l-c,p=e.left+a.left+i.left,g=e.top+a.top+i.top;return this.containerBB=[p,g,h,v,f]},oa.invalidateContainerClientCoordsCache=function(){this.containerBB=null},oa.findNearestElement=function(t,e,r,n){return this.findNearestElements(t,e,r,n)[0]},oa.findNearestElements=function(t,e,r,n){var a=this,i=this,o=i.getCachedZSortedEles(),l=[],u=i.cy.zoom(),c=i.cy.hasCompoundNodes(),d=(n?24:8)/u,f=(n?8:2)/u,h=(n?8:2)/u,v=1/0,p,g;r&&(o=o.interactive);function m(E,_){if(E.isNode()){if(g)return;g=E,l.push(E)}if(E.isEdge()&&(_==null||_<v))if(p){if(p.pstyle("z-compound-depth").value===E.pstyle("z-compound-depth").value&&p.pstyle("z-compound-depth").value===E.pstyle("z-compound-depth").value){for(var S=0;S<l.length;S++)if(l[S].isEdge()){l[S]=E,p=E,v=_??v;break}}}else l.push(E),p=E,v=_??v}function y(E){var _=E.outerWidth()+2*f,S=E.outerHeight()+2*f,T=_/2,N=S/2,B=E.position(),O=E.pstyle("corner-radius").value==="auto"?"auto":E.pstyle("corner-radius").pfValue,D=E._private.rscratch;if(B.x-T<=t&&t<=B.x+T&&B.y-N<=e&&e<=B.y+N){var L=i.nodeShapes[a.getNodeShape(E)];if(L.checkPoint(t,e,0,_,S,B.x,B.y,O,D))return m(E,0),!0}}function b(E){var _=E._private,S=_.rscratch,T=E.pstyle("width").pfValue,N=E.pstyle("arrow-scale").value,B=T/2+d,O=B*B,D=B*2,P=_.source,z=_.target,L;if(S.edgeType==="segments"||S.edgeType==="straight"||S.edgeType==="haystack"){for(var A=S.allpts,M=0;M+3<A.length;M+=2)if(M5(t,e,A[M],A[M+1],A[M+2],A[M+3],D)&&O>(L=z5(t,e,A[M],A[M+1],A[M+2],A[M+3])))return m(E,L),!0}else if(S.edgeType==="bezier"||S.edgeType==="multibezier"||S.edgeType==="self"||S.edgeType==="compound"){for(var A=S.allpts,M=0;M+5<S.allpts.length;M+=4)if(F5(t,e,A[M],A[M+1],A[M+2],A[M+3],A[M+4],A[M+5],D)&&O>(L=q5(t,e,A[M],A[M+1],A[M+2],A[M+3],A[M+4],A[M+5])))return m(E,L),!0}for(var P=P||_.source,z=z||_.target,W=a.getArrowWidth(T,N),H=[{name:"source",x:S.arrowStartX,y:S.arrowStartY,angle:S.srcArrowAngle},{name:"target",x:S.arrowEndX,y:S.arrowEndY,angle:S.tgtArrowAngle},{name:"mid-source",x:S.midX,y:S.midY,angle:S.midsrcArrowAngle},{name:"mid-target",x:S.midX,y:S.midY,angle:S.midtgtArrowAngle}],M=0;M<H.length;M++){var G=H[M],X=i.arrowShapes[E.pstyle(G.name+"-arrow-shape").value],F=E.pstyle("width").pfValue;if(X.roughCollide(t,e,W,G.angle,{x:G.x,y:G.y},F,d)&&X.collide(t,e,W,G.angle,{x:G.x,y:G.y},F,d))return m(E),!0}c&&l.length>0&&(y(P),y(z))}function w(E,_,S){return gr(E,_,S)}function C(E,_){var S=E._private,T=h,N;_?N=_+"-":N="",E.boundingBox();var B=S.labelBounds[_||"main"],O=E.pstyle(N+"label").value,D=E.pstyle("text-events").strValue==="yes";if(!(!D||!O)){var L=w(S.rscratch,"labelX",_),A=w(S.rscratch,"labelY",_),M=w(S.rscratch,"labelAngle",_),P=E.pstyle(N+"text-margin-x").pfValue,z=E.pstyle(N+"text-margin-y").pfValue,W=B.x1-T-P,H=B.x2+T-P,G=B.y1-T-z,X=B.y2+T-z;if(M){var F=Math.cos(M),V=Math.sin(M),q=function(ce,ae){return ce=ce-L,ae=ae-A,{x:ce*F-ae*V+L,y:ce*V+ae*F+A}},$=q(W,G),K=q(W,X),R=q(H,G),j=q(H,X),Y=[$.x+P,$.y+z,R.x+P,R.y+z,j.x+P,j.y+z,K.x+P,K.y+z];if(Wt(t,e,Y))return m(E),!0}else if(za(B,t,e))return m(E),!0}}for(var x=o.length-1;x>=0;x--){var k=o[x];k.isNode()?y(k)||C(k):b(k)||C(k)||C(k,"source")||C(k,"target")}return l},oa.getAllInBox=function(t,e,r,n){var a=this.getCachedZSortedEles().interactive,i=[],o=Math.min(t,r),l=Math.max(t,r),u=Math.min(e,n),c=Math.max(e,n);t=o,r=l,e=u,n=c;for(var d=Ut({x1:t,y1:e,x2:r,y2:n}),f=0;f<a.length;f++){var h=a[f];if(h.isNode()){var v=h,p=v.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:!1});Gc(d,p)&&!sb(p,d)&&i.push(v)}else{var g=h,m=g._private,y=m.rscratch;if(y.startX!=null&&y.startY!=null&&!za(d,y.startX,y.startY)||y.endX!=null&&y.endY!=null&&!za(d,y.endX,y.endY))continue;if(y.edgeType==="bezier"||y.edgeType==="multibezier"||y.edgeType==="self"||y.edgeType==="compound"||y.edgeType==="segments"||y.edgeType==="haystack"){for(var b=m.rstyle.bezierPts||m.rstyle.linePts||m.rstyle.haystackPts,w=!0,C=0;C<b.length;C++)if(!R5(d,b[C])){w=!1;break}w&&i.push(g)}else(y.edgeType==="haystack"||y.edgeType==="straight")&&i.push(g)}}return i};var tl={};tl.calculateArrowAngles=function(t){var e=t._private.rscratch,r=e.edgeType==="haystack",n=e.edgeType==="bezier",a=e.edgeType==="multibezier",i=e.edgeType==="segments",o=e.edgeType==="compound",l=e.edgeType==="self",u,c,d,f,h,v,y,b;if(r?(d=e.haystackPts[0],f=e.haystackPts[1],h=e.haystackPts[2],v=e.haystackPts[3]):(d=e.arrowStartX,f=e.arrowStartY,h=e.arrowEndX,v=e.arrowEndY),y=e.midX,b=e.midY,i)u=d-e.segpts[0],c=f-e.segpts[1];else if(a||o||l||n){var p=e.allpts,g=bt(p[0],p[2],p[4],.1),m=bt(p[1],p[3],p[5],.1);u=d-g,c=f-m}else u=d-y,c=f-b;e.srcArrowAngle=Es(u,c);var y=e.midX,b=e.midY;if(r&&(y=(d+h)/2,b=(f+v)/2),u=h-d,c=v-f,i){var p=e.allpts;if(p.length/2%2===0){var w=p.length/2,C=w-2;u=p[w]-p[C],c=p[w+1]-p[C+1]}else if(e.isRound)u=e.midVector[1],c=-e.midVector[0];else{var w=p.length/2-1,C=w-2;u=p[w]-p[C],c=p[w+1]-p[C+1]}}else if(a||o||l){var p=e.allpts,x=e.ctrlpts,k,E,_,S;if(x.length/2%2===0){var T=p.length/2-1,N=T+2,B=N+2;k=bt(p[T],p[N],p[B],0),E=bt(p[T+1],p[N+1],p[B+1],0),_=bt(p[T],p[N],p[B],1e-4),S=bt(p[T+1],p[N+1],p[B+1],1e-4)}else{var N=p.length/2-1,T=N-2,B=N+2;k=bt(p[T],p[N],p[B],.4999),E=bt(p[T+1],p[N+1],p[B+1],.4999),_=bt(p[T],p[N],p[B],.5),S=bt(p[T+1],p[N+1],p[B+1],.5)}u=_-k,c=S-E}if(e.midtgtArrowAngle=Es(u,c),e.midDispX=u,e.midDispY=c,u*=-1,c*=-1,i){var p=e.allpts;if(p.length/2%2!==0){if(!e.isRound){var w=p.length/2-1,O=w+2;u=-(p[O]-p[w]),c=-(p[O+1]-p[w+1])}}}if(e.midsrcArrowAngle=Es(u,c),i)u=h-e.segpts[e.segpts.length-2],c=v-e.segpts[e.segpts.length-1];else if(a||o||l||n){var p=e.allpts,D=p.length,g=bt(p[D-6],p[D-4],p[D-2],.9),m=bt(p[D-5],p[D-3],p[D-1],.9);u=h-g,c=v-m}else u=h-y,c=v-b;e.tgtArrowAngle=Es(u,c)},tl.getArrowWidth=tl.getArrowHeight=function(t,e){var r=this.arrowWidthCache=this.arrowWidthCache||{},n=r[t+", "+e];return n||(n=Math.max(Math.pow(t*13.37,.9),29)*e,r[t+", "+e]=n,n)};var bu,wu,Dr={},or={},q1,z1,sa,rl,Qr,la,ca,Or,ai,nl,H1,K1,Cu,Eu,G1,U1=function(e,r,n){n.x=r.x-e.x,n.y=r.y-e.y,n.len=Math.sqrt(n.x*n.x+n.y*n.y),n.nx=n.x/n.len,n.ny=n.y/n.len,n.ang=Math.atan2(n.ny,n.nx)},C3=function(e,r){r.x=e.x*-1,r.y=e.y*-1,r.nx=e.nx*-1,r.ny=e.ny*-1,r.ang=e.ang>0?-(Math.PI-e.ang):Math.PI+e.ang},E3=function(e,r,n,a,i){if(e!==G1?U1(r,e,Dr):C3(or,Dr),U1(r,n,or),q1=Dr.nx*or.ny-Dr.ny*or.nx,z1=Dr.nx*or.nx-Dr.ny*-or.ny,Qr=Math.asin(Math.max(-1,Math.min(1,q1))),Math.abs(Qr)<1e-6){bu=r.x,wu=r.y,ca=ai=0;return}sa=1,rl=!1,z1<0?Qr<0?Qr=Math.PI+Qr:(Qr=Math.PI-Qr,sa=-1,rl=!0):Qr>0&&(sa=-1,rl=!0),r.radius!==void 0?ai=r.radius:ai=a,la=Qr/2,nl=Math.min(Dr.len/2,or.len/2),i?(Or=Math.abs(Math.cos(la)*ai/Math.sin(la)),Or>nl?(Or=nl,ca=Math.abs(Or*Math.sin(la)/Math.cos(la))):ca=ai):(Or=Math.min(nl,ai),ca=Math.abs(Or*Math.sin(la)/Math.cos(la))),Cu=r.x+or.nx*Or,Eu=r.y+or.ny*Or,bu=Cu-or.ny*ca*sa,wu=Eu+or.nx*ca*sa,H1=r.x+Dr.nx*Or,K1=r.y+Dr.ny*Or,G1=r};function W1(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function xu(t,e,r,n){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(E3(t,e,r,n,a),{cx:bu,cy:wu,radius:ca,startX:H1,startY:K1,stopX:Cu,stopY:Eu,startAngle:Dr.ang+Math.PI/2*sa,endAngle:or.ang-Math.PI/2*sa,counterClockwise:rl})}var Rt={};Rt.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,a=e.vectorNormInverse,i,o=t.pstyle("source-endpoint"),l=t.pstyle("target-endpoint"),u=o.units!=null&&l.units!=null,c=function(x,k,E,_){var S=_-k,T=E-x,N=Math.sqrt(T*T+S*S);return{x:-S/N,y:T/N}},d=t.pstyle("edge-distances").value;switch(d){case"node-position":i=r;break;case"intersection":i=n;break;case"endpoints":{if(u){var f=this.manualEndptToPx(t.source()[0],o),h=vr(f,2),v=h[0],p=h[1],g=this.manualEndptToPx(t.target()[0],l),m=vr(g,2),y=m[0],b=m[1],w={x1:v,y1:p,x2:y,y2:b};a=c(v,p,y,b),i=w}else $e("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),i=n;break}}return{midptPts:i,vectorNormInverse:a}},Rt.findHaystackPoints=function(t){for(var e=0;e<t.length;e++){var r=t[e],n=r._private,a=n.rscratch;if(!a.haystack){var i=Math.random()*2*Math.PI;a.source={x:Math.cos(i),y:Math.sin(i)},i=Math.random()*2*Math.PI,a.target={x:Math.cos(i),y:Math.sin(i)}}var o=n.source,l=n.target,u=o.position(),c=l.position(),d=o.width(),f=l.width(),h=o.height(),v=l.height(),p=r.pstyle("haystack-radius").value,g=p/2;a.haystackPts=a.allpts=[a.source.x*d*g+u.x,a.source.y*h*g+u.y,a.target.x*f*g+c.x,a.target.y*v*g+c.y],a.midX=(a.allpts[0]+a.allpts[2])/2,a.midY=(a.allpts[1]+a.allpts[3])/2,a.edgeType="haystack",a.haystack=!0,this.storeEdgeProjections(r),this.calculateArrowAngles(r),this.recalculateEdgeLabelProjections(r),this.calculateLabelAngles(r)}},Rt.findSegmentsPoints=function(t,e){var r=t._private.rscratch,n=t.pstyle("segment-weights"),a=t.pstyle("segment-distances"),i=t.pstyle("segment-radii"),o=t.pstyle("radius-type"),l=Math.min(n.pfValue.length,a.pfValue.length),u=i.pfValue[i.pfValue.length-1],c=o.pfValue[o.pfValue.length-1];r.edgeType="segments",r.segpts=[],r.radii=[],r.isArcRadius=[];for(var d=0;d<l;d++){var f=n.pfValue[d],h=a.pfValue[d],v=1-f,p=f,g=this.findMidptPtsEtc(t,e),m=g.midptPts,y=g.vectorNormInverse,b={x:m.x1*v+m.x2*p,y:m.y1*v+m.y2*p};r.segpts.push(b.x+y.x*h,b.y+y.y*h),r.radii.push(i.pfValue[d]!==void 0?i.pfValue[d]:u),r.isArcRadius.push((o.pfValue[d]!==void 0?o.pfValue[d]:c)==="arc-radius")}},Rt.findLoopPoints=function(t,e,r,n){var a=t._private.rscratch,i=e.dirCounts,o=e.srcPos,l=t.pstyle("control-point-distances"),u=l?l.pfValue[0]:void 0,c=t.pstyle("loop-direction").pfValue,d=t.pstyle("loop-sweep").pfValue,f=t.pstyle("control-point-step-size").pfValue;a.edgeType="self";var h=r,v=f;n&&(h=0,v=u);var p=c-Math.PI/2,g=p-d/2,m=p+d/2,y=c+"_"+d;h=i[y]===void 0?i[y]=0:++i[y],a.ctrlpts=[o.x+Math.cos(g)*1.4*v*(h/3+1),o.y+Math.sin(g)*1.4*v*(h/3+1),o.x+Math.cos(m)*1.4*v*(h/3+1),o.y+Math.sin(m)*1.4*v*(h/3+1)]},Rt.findCompoundLoopPoints=function(t,e,r,n){var a=t._private.rscratch;a.edgeType="compound";var i=e.srcPos,o=e.tgtPos,l=e.srcW,u=e.srcH,c=e.tgtW,d=e.tgtH,f=t.pstyle("control-point-step-size").pfValue,h=t.pstyle("control-point-distances"),v=h?h.pfValue[0]:void 0,p=r,g=f;n&&(p=0,g=v);var m=50,y={x:i.x-l/2,y:i.y-u/2},b={x:o.x-c/2,y:o.y-d/2},w={x:Math.min(y.x,b.x),y:Math.min(y.y,b.y)},C=.5,x=Math.max(C,Math.log(l*.01)),k=Math.max(C,Math.log(c*.01));a.ctrlpts=[w.x,w.y-(1+Math.pow(m,1.12)/100)*g*(p/3+1)*x,w.x-(1+Math.pow(m,1.12)/100)*g*(p/3+1)*k,w.y]},Rt.findStraightEdgePoints=function(t){t._private.rscratch.edgeType="straight"},Rt.findBezierPoints=function(t,e,r,n,a){var i=t._private.rscratch,o=t.pstyle("control-point-step-size").pfValue,l=t.pstyle("control-point-distances"),u=t.pstyle("control-point-weights"),c=l&&u?Math.min(l.value.length,u.value.length):1,d=l?l.pfValue[0]:void 0,f=u.value[0],h=n;i.edgeType=h?"multibezier":"bezier",i.ctrlpts=[];for(var v=0;v<c;v++){var p=(.5-e.eles.length/2+r)*o*(a?-1:1),g=void 0,m=ab(p);h&&(d=l?l.pfValue[v]:o,f=u.value[v]),n?g=d:g=d!==void 0?m*d:void 0;var y=g!==void 0?g:p,b=1-f,w=f,C=this.findMidptPtsEtc(t,e),x=C.midptPts,k=C.vectorNormInverse,E={x:x.x1*b+x.x2*w,y:x.y1*b+x.y2*w};i.ctrlpts.push(E.x+k.x*y,E.y+k.y*y)}},Rt.findTaxiPoints=function(t,e){var r=t._private.rscratch;r.edgeType="segments";var n="vertical",a="horizontal",i="leftward",o="rightward",l="downward",u="upward",c="auto",d=e.posPts,f=e.srcW,h=e.srcH,v=e.tgtW,p=e.tgtH,g=t.pstyle("edge-distances").value,m=g!=="node-position",y=t.pstyle("taxi-direction").value,b=y,w=t.pstyle("taxi-turn"),C=w.units==="%",x=w.pfValue,k=x<0,E=t.pstyle("taxi-turn-min-distance").pfValue,_=m?(f+v)/2:0,S=m?(h+p)/2:0,T=d.x2-d.x1,N=d.y2-d.y1,B=function(me,be){return me>0?Math.max(me-be,0):Math.min(me+be,0)},O=B(T,_),D=B(N,S),L=!1;b===c?y=Math.abs(O)>Math.abs(D)?a:n:b===u||b===l?(y=n,L=!0):(b===i||b===o)&&(y=a,L=!0);var A=y===n,M=A?D:O,P=A?N:T,z=ab(P),W=!1;!(L&&(C||k))&&(b===l&&P<0||b===u&&P>0||b===i&&P>0||b===o&&P<0)&&(z*=-1,M=z*Math.abs(M),W=!0);var H;if(C){var G=x<0?1+x:x;H=G*M}else{var X=x<0?M:0;H=X+x*z}var F=function(me){return Math.abs(me)<E||Math.abs(me)>=Math.abs(M)},V=F(H),q=F(Math.abs(M)-Math.abs(H)),$=V||q;if($&&!W)if(A){var K=Math.abs(P)<=h/2,R=Math.abs(T)<=v/2;if(K){var j=(d.x1+d.x2)/2,Y=d.y1,se=d.y2;r.segpts=[j,Y,j,se]}else if(R){var ce=(d.y1+d.y2)/2,ae=d.x1,ne=d.x2;r.segpts=[ae,ce,ne,ce]}else r.segpts=[d.x1,d.y2]}else{var ue=Math.abs(P)<=f/2,ie=Math.abs(N)<=p/2;if(ue){var fe=(d.y1+d.y2)/2,pe=d.x1,Oe=d.x2;r.segpts=[pe,fe,Oe,fe]}else if(ie){var Ie=(d.x1+d.x2)/2,we=d.y1,ke=d.y2;r.segpts=[Ie,we,Ie,ke]}else r.segpts=[d.x2,d.y1]}else if(A){var re=d.y1+H+(m?h/2*z:0),I=d.x1,U=d.x2;r.segpts=[I,re,U,re]}else{var te=d.x1+H+(m?f/2*z:0),Z=d.y1,J=d.y2;r.segpts=[te,Z,te,J]}if(r.isRound){var le=t.pstyle("taxi-radius").value,ee=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(le),r.isArcRadius=new Array(r.segpts.length/2).fill(ee)}},Rt.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,a=e.tgtPos,i=e.srcW,o=e.srcH,l=e.tgtW,u=e.tgtH,c=e.srcShape,d=e.tgtShape,f=e.srcCornerRadius,h=e.tgtCornerRadius,v=e.srcRs,p=e.tgtRs,g=!de(r.startX)||!de(r.startY),m=!de(r.arrowStartX)||!de(r.arrowStartY),y=!de(r.endX)||!de(r.endY),b=!de(r.arrowEndX)||!de(r.arrowEndY),w=3,C=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,x=w*C,k=Qn({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),E=k<x,_=Qn({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.endX,y:r.endY}),S=_<x,T=!1;if(g||m||E){T=!0;var N={x:r.ctrlpts[0]-n.x,y:r.ctrlpts[1]-n.y},B=Math.sqrt(N.x*N.x+N.y*N.y),O={x:N.x/B,y:N.y/B},D=Math.max(i,o),L={x:r.ctrlpts[0]+O.x*2*D,y:r.ctrlpts[1]+O.y*2*D},A=c.intersectLine(n.x,n.y,i,o,L.x,L.y,0,f,v);E?(r.ctrlpts[0]=r.ctrlpts[0]+O.x*(x-k),r.ctrlpts[1]=r.ctrlpts[1]+O.y*(x-k)):(r.ctrlpts[0]=A[0]+O.x*x,r.ctrlpts[1]=A[1]+O.y*x)}if(y||b||S){T=!0;var M={x:r.ctrlpts[0]-a.x,y:r.ctrlpts[1]-a.y},P=Math.sqrt(M.x*M.x+M.y*M.y),z={x:M.x/P,y:M.y/P},W=Math.max(i,o),H={x:r.ctrlpts[0]+z.x*2*W,y:r.ctrlpts[1]+z.y*2*W},G=d.intersectLine(a.x,a.y,l,u,H.x,H.y,0,h,p);S?(r.ctrlpts[0]=r.ctrlpts[0]+z.x*(x-_),r.ctrlpts[1]=r.ctrlpts[1]+z.y*(x-_)):(r.ctrlpts[0]=G[0]+z.x*x,r.ctrlpts[1]=G[1]+z.y*x)}T&&this.findEndpoints(t)}},Rt.storeAllpts=function(t){var e=t._private.rscratch;if(e.edgeType==="multibezier"||e.edgeType==="bezier"||e.edgeType==="self"||e.edgeType==="compound"){e.allpts=[],e.allpts.push(e.startX,e.startY);for(var r=0;r+1<e.ctrlpts.length;r+=2)e.allpts.push(e.ctrlpts[r],e.ctrlpts[r+1]),r+3<e.ctrlpts.length&&e.allpts.push((e.ctrlpts[r]+e.ctrlpts[r+2])/2,(e.ctrlpts[r+1]+e.ctrlpts[r+3])/2);e.allpts.push(e.endX,e.endY);var n,a;e.ctrlpts.length/2%2===0?(n=e.allpts.length/2-1,e.midX=e.allpts[n],e.midY=e.allpts[n+1]):(n=e.allpts.length/2-3,a=.5,e.midX=bt(e.allpts[n],e.allpts[n+2],e.allpts[n+4],a),e.midY=bt(e.allpts[n+1],e.allpts[n+3],e.allpts[n+5],a))}else if(e.edgeType==="straight")e.allpts=[e.startX,e.startY,e.endX,e.endY],e.midX=(e.startX+e.endX+e.arrowStartX+e.arrowEndX)/4,e.midY=(e.startY+e.endY+e.arrowStartY+e.arrowEndY)/4;else if(e.edgeType==="segments"){if(e.allpts=[],e.allpts.push(e.startX,e.startY),e.allpts.push.apply(e.allpts,e.segpts),e.allpts.push(e.endX,e.endY),e.isRound){e.roundCorners=[];for(var i=2;i+3<e.allpts.length;i+=2){var o=e.radii[i/2-1],l=e.isArcRadius[i/2-1];e.roundCorners.push(xu({x:e.allpts[i-2],y:e.allpts[i-1]},{x:e.allpts[i],y:e.allpts[i+1],radius:o},{x:e.allpts[i+2],y:e.allpts[i+3]},o,l))}}if(e.segpts.length%4===0){var u=e.segpts.length/2,c=u-2;e.midX=(e.segpts[c]+e.segpts[u])/2,e.midY=(e.segpts[c+1]+e.segpts[u+1])/2}else{var d=e.segpts.length/2-1;if(!e.isRound)e.midX=e.segpts[d],e.midY=e.segpts[d+1];else{var f={x:e.segpts[d],y:e.segpts[d+1]},h=e.roundCorners[d/2],v=[f.x-h.cx,f.y-h.cy],p=h.radius/Math.sqrt(Math.pow(v[0],2)+Math.pow(v[1],2));v=v.map(function(g){return g*p}),e.midX=h.cx+v[0],e.midY=h.cy+v[1],e.midVector=v}}}},Rt.checkForInvalidEdgeWarning=function(t){var e=t[0]._private.rscratch;e.nodesOverlap||de(e.startX)&&de(e.startY)&&de(e.endX)&&de(e.endY)?e.loggedErr=!1:e.loggedErr||(e.loggedErr=!0,$e("Edge `"+t.id()+"` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap."))},Rt.findEdgeControlPoints=function(t){var e=this;if(!(!t||t.length===0)){for(var r=this,n=r.cy,a=n.hasCompoundNodes(),i={map:new Ir,get:function(E){var _=this.map.get(E[0]);return _!=null?_.get(E[1]):null},set:function(E,_){var S=this.map.get(E[0]);S==null&&(S=new Ir,this.map.set(E[0],S)),S.set(E[1],_)}},o=[],l=[],u=0;u<t.length;u++){var c=t[u],d=c._private,f=c.pstyle("curve-style").value;if(!(c.removed()||!c.takesUpSpace())){if(f==="haystack"){l.push(c);continue}var h=f==="unbundled-bezier"||f.endsWith("segments")||f==="straight"||f==="straight-triangle"||f.endsWith("taxi"),v=f==="unbundled-bezier"||f==="bezier",p=d.source,g=d.target,m=p.poolIndex(),y=g.poolIndex(),b=[m,y].sort(),w=i.get(b);w==null&&(w={eles:[]},i.set(b,w),o.push(b)),w.eles.push(c),h&&(w.hasUnbundled=!0),v&&(w.hasBezier=!0)}}for(var C=function(E){var _=o[E],S=i.get(_),T=void 0;if(!S.hasUnbundled){var N=S.eles[0].parallelEdges().filter(function(te){return te.isBundledBezier()});zc(S.eles),N.forEach(function(te){return S.eles.push(te)}),S.eles.sort(function(te,Z){return te.poolIndex()-Z.poolIndex()})}var B=S.eles[0],O=B.source(),D=B.target();if(O.poolIndex()>D.poolIndex()){var L=O;O=D,D=L}var A=S.srcPos=O.position(),M=S.tgtPos=D.position(),P=S.srcW=O.outerWidth(),z=S.srcH=O.outerHeight(),W=S.tgtW=D.outerWidth(),H=S.tgtH=D.outerHeight(),G=S.srcShape=r.nodeShapes[e.getNodeShape(O)],X=S.tgtShape=r.nodeShapes[e.getNodeShape(D)],F=S.srcCornerRadius=O.pstyle("corner-radius").value==="auto"?"auto":O.pstyle("corner-radius").pfValue,V=S.tgtCornerRadius=D.pstyle("corner-radius").value==="auto"?"auto":D.pstyle("corner-radius").pfValue,q=S.tgtRs=D._private.rscratch,$=S.srcRs=O._private.rscratch;S.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var K=0;K<S.eles.length;K++){var R=S.eles[K],j=R[0]._private.rscratch,Y=R.pstyle("curve-style").value,se=Y==="unbundled-bezier"||Y.endsWith("segments")||Y.endsWith("taxi"),ce=!O.same(R.source());if(!S.calculatedIntersection&&O!==D&&(S.hasBezier||S.hasUnbundled)){S.calculatedIntersection=!0;var ae=G.intersectLine(A.x,A.y,P,z,M.x,M.y,0,F,$),ne=S.srcIntn=ae,ue=X.intersectLine(M.x,M.y,W,H,A.x,A.y,0,V,q),ie=S.tgtIntn=ue,fe=S.intersectionPts={x1:ae[0],x2:ue[0],y1:ae[1],y2:ue[1]},pe=S.posPts={x1:A.x,x2:M.x,y1:A.y,y2:M.y},Oe=ue[1]-ae[1],Ie=ue[0]-ae[0],we=Math.sqrt(Ie*Ie+Oe*Oe),ke=S.vector={x:Ie,y:Oe},re=S.vectorNorm={x:ke.x/we,y:ke.y/we},I={x:-re.y,y:re.x};S.nodesOverlap=!de(we)||X.checkPoint(ae[0],ae[1],0,W,H,M.x,M.y,V,q)||G.checkPoint(ue[0],ue[1],0,P,z,A.x,A.y,F,$),S.vectorNormInverse=I,T={nodesOverlap:S.nodesOverlap,dirCounts:S.dirCounts,calculatedIntersection:!0,hasBezier:S.hasBezier,hasUnbundled:S.hasUnbundled,eles:S.eles,srcPos:M,tgtPos:A,srcW:W,srcH:H,tgtW:P,tgtH:z,srcIntn:ie,tgtIntn:ne,srcShape:X,tgtShape:G,posPts:{x1:pe.x2,y1:pe.y2,x2:pe.x1,y2:pe.y1},intersectionPts:{x1:fe.x2,y1:fe.y2,x2:fe.x1,y2:fe.y1},vector:{x:-ke.x,y:-ke.y},vectorNorm:{x:-re.x,y:-re.y},vectorNormInverse:{x:-I.x,y:-I.y}}}var U=ce?T:S;j.nodesOverlap=U.nodesOverlap,j.srcIntn=U.srcIntn,j.tgtIntn=U.tgtIntn,j.isRound=Y.startsWith("round"),a&&(O.isParent()||O.isChild()||D.isParent()||D.isChild())&&(O.parents().anySame(D)||D.parents().anySame(O)||O.same(D)&&O.isParent())?e.findCompoundLoopPoints(R,U,K,se):O===D?e.findLoopPoints(R,U,K,se):Y.endsWith("segments")?e.findSegmentsPoints(R,U):Y.endsWith("taxi")?e.findTaxiPoints(R,U):Y==="straight"||!se&&S.eles.length%2===1&&K===Math.floor(S.eles.length/2)?e.findStraightEdgePoints(R):e.findBezierPoints(R,U,K,se,ce),e.findEndpoints(R),e.tryToCorrectInvalidPoints(R,U),e.checkForInvalidEdgeWarning(R),e.storeAllpts(R),e.storeEdgeProjections(R),e.calculateArrowAngles(R),e.recalculateEdgeLabelProjections(R),e.calculateLabelAngles(R)}},x=0;x<o.length;x++)C(x);this.findHaystackPoints(l)}};function j1(t){var e=[];if(t!=null){for(var r=0;r<t.length;r+=2){var n=t[r],a=t[r+1];e.push({x:n,y:a})}return e}}Rt.getSegmentPoints=function(t){var e=t[0]._private.rscratch,r=e.edgeType;if(r==="segments")return this.recalculateRenderedStyle(t),j1(e.segpts)},Rt.getControlPoints=function(t){var e=t[0]._private.rscratch,r=e.edgeType;if(r==="bezier"||r==="multibezier"||r==="self"||r==="compound")return this.recalculateRenderedStyle(t),j1(e.ctrlpts)},Rt.getEdgeMidpoint=function(t){var e=t[0]._private.rscratch;return this.recalculateRenderedStyle(t),{x:e.midX,y:e.midY}};var mo={};mo.manualEndptToPx=function(t,e){var r=this,n=t.position(),a=t.outerWidth(),i=t.outerHeight(),o=t._private.rscratch;if(e.value.length===2){var l=[e.pfValue[0],e.pfValue[1]];return e.units[0]==="%"&&(l[0]=l[0]*a),e.units[1]==="%"&&(l[1]=l[1]*i),l[0]+=n.x,l[1]+=n.y,l}else{var u=e.pfValue[0];u=-Math.PI/2+u;var c=2*Math.max(a,i),d=[n.x+Math.cos(u)*c,n.y+Math.sin(u)*c];return r.nodeShapes[this.getNodeShape(t)].intersectLine(n.x,n.y,a,i,d[0],d[1],0,t.pstyle("corner-radius").value==="auto"?"auto":t.pstyle("corner-radius").pfValue,o)}},mo.findEndpoints=function(t){var e=this,r,n=t.source()[0],a=t.target()[0],i=n.position(),o=a.position(),l=t.pstyle("target-arrow-shape").value,u=t.pstyle("source-arrow-shape").value,c=t.pstyle("target-distance-from-node").pfValue,d=t.pstyle("source-distance-from-node").pfValue,f=n._private.rscratch,h=a._private.rscratch,v=t.pstyle("curve-style").value,p=t._private.rscratch,g=p.edgeType,m=v==="taxi",y=g==="self"||g==="compound",b=g==="bezier"||g==="multibezier"||y,w=g!=="bezier",C=g==="straight"||g==="segments",x=g==="segments",k=b||w||C,E=y||m,_=t.pstyle("source-endpoint"),S=E?"outside-to-node":_.value,T=n.pstyle("corner-radius").value==="auto"?"auto":n.pstyle("corner-radius").pfValue,N=t.pstyle("target-endpoint"),B=E?"outside-to-node":N.value,O=a.pstyle("corner-radius").value==="auto"?"auto":a.pstyle("corner-radius").pfValue;p.srcManEndpt=_,p.tgtManEndpt=N;var D,L,A,M;if(b){var P=[p.ctrlpts[0],p.ctrlpts[1]],z=w?[p.ctrlpts[p.ctrlpts.length-2],p.ctrlpts[p.ctrlpts.length-1]]:P;D=z,L=P}else if(C){var W=x?p.segpts.slice(0,2):[o.x,o.y],H=x?p.segpts.slice(p.segpts.length-2):[i.x,i.y];D=H,L=W}if(B==="inside-to-node")r=[o.x,o.y];else if(N.units)r=this.manualEndptToPx(a,N);else if(B==="outside-to-line")r=p.tgtIntn;else if(B==="outside-to-node"||B==="outside-to-node-or-label"?A=D:(B==="outside-to-line"||B==="outside-to-line-or-label")&&(A=[i.x,i.y]),r=e.nodeShapes[this.getNodeShape(a)].intersectLine(o.x,o.y,a.outerWidth(),a.outerHeight(),A[0],A[1],0,O,h),B==="outside-to-node-or-label"||B==="outside-to-line-or-label"){var G=a._private.rscratch,X=G.labelWidth,F=G.labelHeight,V=G.labelX,q=G.labelY,$=X/2,K=F/2,R=a.pstyle("text-valign").value;R==="top"?q-=K:R==="bottom"&&(q+=K);var j=a.pstyle("text-halign").value;j==="left"?V-=$:j==="right"&&(V+=$);var Y=ro(A[0],A[1],[V-$,q-K,V+$,q-K,V+$,q+K,V-$,q+K],o.x,o.y);if(Y.length>0){var se=i,ce=ea(se,Va(r)),ae=ea(se,Va(Y)),ne=ce;if(ae<ce&&(r=Y,ne=ae),Y.length>2){var ue=ea(se,{x:Y[2],y:Y[3]});ue<ne&&(r=[Y[2],Y[3]])}}}var ie=Ts(r,D,e.arrowShapes[l].spacing(t)+c),fe=Ts(r,D,e.arrowShapes[l].gap(t)+c);if(p.endX=fe[0],p.endY=fe[1],p.arrowEndX=ie[0],p.arrowEndY=ie[1],S==="inside-to-node")r=[i.x,i.y];else if(_.units)r=this.manualEndptToPx(n,_);else if(S==="outside-to-line")r=p.srcIntn;else if(S==="outside-to-node"||S==="outside-to-node-or-label"?M=L:(S==="outside-to-line"||S==="outside-to-line-or-label")&&(M=[o.x,o.y]),r=e.nodeShapes[this.getNodeShape(n)].intersectLine(i.x,i.y,n.outerWidth(),n.outerHeight(),M[0],M[1],0,T,f),S==="outside-to-node-or-label"||S==="outside-to-line-or-label"){var pe=n._private.rscratch,Oe=pe.labelWidth,Ie=pe.labelHeight,we=pe.labelX,ke=pe.labelY,re=Oe/2,I=Ie/2,U=n.pstyle("text-valign").value;U==="top"?ke-=I:U==="bottom"&&(ke+=I);var te=n.pstyle("text-halign").value;te==="left"?we-=re:te==="right"&&(we+=re);var Z=ro(M[0],M[1],[we-re,ke-I,we+re,ke-I,we+re,ke+I,we-re,ke+I],i.x,i.y);if(Z.length>0){var J=o,le=ea(J,Va(r)),ee=ea(J,Va(Z)),oe=le;if(ee<le&&(r=[Z[0],Z[1]],oe=ee),Z.length>2){var me=ea(J,{x:Z[2],y:Z[3]});me<oe&&(r=[Z[2],Z[3]])}}}var be=Ts(r,L,e.arrowShapes[u].spacing(t)+d),ye=Ts(r,L,e.arrowShapes[u].gap(t)+d);p.startX=ye[0],p.startY=ye[1],p.arrowStartX=be[0],p.arrowStartY=be[1],k&&(!de(p.startX)||!de(p.startY)||!de(p.endX)||!de(p.endY)?p.badLine=!0:p.badLine=!1)},mo.getSourceEndpoint=function(t){var e=t[0]._private.rscratch;switch(this.recalculateRenderedStyle(t),e.edgeType){case"haystack":return{x:e.haystackPts[0],y:e.haystackPts[1]};default:return{x:e.arrowStartX,y:e.arrowStartY}}},mo.getTargetEndpoint=function(t){var e=t[0]._private.rscratch;switch(this.recalculateRenderedStyle(t),e.edgeType){case"haystack":return{x:e.haystackPts[2],y:e.haystackPts[3]};default:return{x:e.arrowEndX,y:e.arrowEndY}}};var ku={};function x3(t,e,r){for(var n=function(c,d,f,h){return bt(c,d,f,h)},a=e._private,i=a.rstyle.bezierPts,o=0;o<t.bezierProjPcts.length;o++){var l=t.bezierProjPcts[o];i.push({x:n(r[0],r[2],r[4],l),y:n(r[1],r[3],r[5],l)})}}ku.storeEdgeProjections=function(t){var e=t._private,r=e.rscratch,n=r.edgeType;if(e.rstyle.bezierPts=null,e.rstyle.linePts=null,e.rstyle.haystackPts=null,n==="multibezier"||n==="bezier"||n==="self"||n==="compound"){e.rstyle.bezierPts=[];for(var a=0;a+5<r.allpts.length;a+=4)x3(this,t,r.allpts.slice(a,a+6))}else if(n==="segments")for(var i=e.rstyle.linePts=[],a=0;a+1<r.allpts.length;a+=2)i.push({x:r.allpts[a],y:r.allpts[a+1]});else if(n==="haystack"){var o=r.haystackPts;e.rstyle.haystackPts=[{x:o[0],y:o[1]},{x:o[2],y:o[3]}]}e.rstyle.arrowWidth=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth},ku.recalculateEdgeProjections=function(t){this.findEdgeControlPoints(t)};var Ar={};Ar.recalculateNodeLabelProjection=function(t){var e=t.pstyle("label").strValue;if(!yn(e)){var r,n,a=t._private,i=t.width(),o=t.height(),l=t.padding(),u=t.position(),c=t.pstyle("text-halign").strValue,d=t.pstyle("text-valign").strValue,f=a.rscratch,h=a.rstyle;switch(c){case"left":r=u.x-i/2-l;break;case"right":r=u.x+i/2+l;break;default:r=u.x}switch(d){case"top":n=u.y-o/2-l;break;case"bottom":n=u.y+o/2+l;break;default:n=u.y}f.labelX=r,f.labelY=n,h.labelX=r,h.labelY=n,this.calculateLabelAngles(t),this.applyLabelDimensions(t)}};var Y1=function(e,r){var n=Math.atan(r/e);return e===0&&n<0&&(n=n*-1),n},Z1=function(e,r){var n=r.x-e.x,a=r.y-e.y;return Y1(n,a)},k3=function(e,r,n,a){var i=eo(0,a-.001,1),o=eo(0,a+.001,1),l=qa(e,r,n,i),u=qa(e,r,n,o);return Z1(l,u)};Ar.recalculateEdgeLabelProjections=function(t){var e,r=t._private,n=r.rscratch,a=this,i={mid:t.pstyle("label").strValue,source:t.pstyle("source-label").strValue,target:t.pstyle("target-label").strValue};if(i.mid||i.source||i.target){e={x:n.midX,y:n.midY};var o=function(f,h,v){Cn(r.rscratch,f,h,v),Cn(r.rstyle,f,h,v)};o("labelX",null,e.x),o("labelY",null,e.y);var l=Y1(n.midDispX,n.midDispY);o("labelAutoAngle",null,l);var u=function d(){if(d.cache)return d.cache;for(var f=[],h=0;h+5<n.allpts.length;h+=4){var v={x:n.allpts[h],y:n.allpts[h+1]},p={x:n.allpts[h+2],y:n.allpts[h+3]},g={x:n.allpts[h+4],y:n.allpts[h+5]};f.push({p0:v,p1:p,p2:g,startDist:0,length:0,segments:[]})}var m=r.rstyle.bezierPts,y=a.bezierProjPcts.length;function b(E,_,S,T,N){var B=Qn(_,S),O=E.segments[E.segments.length-1],D={p0:_,p1:S,t0:T,t1:N,startDist:O?O.startDist+O.length:0,length:B};E.segments.push(D),E.length+=B}for(var w=0;w<f.length;w++){var C=f[w],x=f[w-1];x&&(C.startDist=x.startDist+x.length),b(C,C.p0,m[w*y],0,a.bezierProjPcts[0]);for(var k=0;k<y-1;k++)b(C,m[w*y+k],m[w*y+k+1],a.bezierProjPcts[k],a.bezierProjPcts[k+1]);b(C,m[w*y+y-1],C.p2,a.bezierProjPcts[y-1],1)}return d.cache=f},c=function(f){var h,v=f==="source";if(i[f]){var p=t.pstyle(f+"-text-offset").pfValue;switch(n.edgeType){case"self":case"compound":case"bezier":case"multibezier":{for(var g=u(),m,y=0,b=0,w=0;w<g.length;w++){for(var C=g[v?w:g.length-1-w],x=0;x<C.segments.length;x++){var k=C.segments[v?x:C.segments.length-1-x],E=w===g.length-1&&x===C.segments.length-1;if(y=b,b+=k.length,b>=p||E){m={cp:C,segment:k};break}}if(m)break}var _=m.cp,S=m.segment,T=(p-y)/S.length,N=S.t1-S.t0,B=v?S.t0+N*T:S.t1-N*T;B=eo(0,B,1),e=qa(_.p0,_.p1,_.p2,B),h=k3(_.p0,_.p1,_.p2,B);break}case"straight":case"segments":case"haystack":{for(var O=0,D,L,A,M,P=n.allpts.length,z=0;z+3<P&&(v?(A={x:n.allpts[z],y:n.allpts[z+1]},M={x:n.allpts[z+2],y:n.allpts[z+3]}):(A={x:n.allpts[P-2-z],y:n.allpts[P-1-z]},M={x:n.allpts[P-4-z],y:n.allpts[P-3-z]}),D=Qn(A,M),L=O,O+=D,!(O>=p));z+=2);var W=p-L,H=W/D;H=eo(0,H,1),e=D5(A,M,H),h=Z1(A,M);break}}o("labelX",f,e.x),o("labelY",f,e.y),o("labelAutoAngle",f,h)}};c("source"),c("target"),this.applyLabelDimensions(t)}},Ar.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))},Ar.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),a=this.calculateLabelDimensions(t,n),i=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,l=gr(r.rscratch,"labelWrapCachedLines",e)||[],u=o!=="wrap"?1:Math.max(l.length,1),c=a.height/u,d=c*i,f=a.width,h=a.height+(u-1)*(i-1)*c;Cn(r.rstyle,"labelWidth",e,f),Cn(r.rscratch,"labelWidth",e,f),Cn(r.rstyle,"labelHeight",e,h),Cn(r.rscratch,"labelHeight",e,h),Cn(r.rscratch,"labelLineHeight",e,d)},Ar.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",a=t.pstyle(n+"label").strValue,i=t.pstyle("text-transform").value,o=function(X,F){return F?(Cn(r.rscratch,X,e,F),F):gr(r.rscratch,X,e)};if(!a)return"";i=="none"||(i=="uppercase"?a=a.toUpperCase():i=="lowercase"&&(a=a.toLowerCase()));var l=t.pstyle("text-wrap").value;if(l==="wrap"){var u=o("labelKey");if(u!=null&&o("labelWrapKey")===u)return o("labelWrapCachedText");for(var c="",d=a.split(`
|
|
41
|
+
*/var s1=function(e,r){this.recycle(e,r)};function uo(){return!1}function $s(){return!0}s1.prototype={instanceString:function(){return"event"},recycle:function(e,r){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=uo,e!=null&&e.preventDefault?(this.type=e.type,this.isDefaultPrevented=e.defaultPrevented?$s:uo):e!=null&&e.type?r=e:this.type=e,r!=null&&(this.originalEvent=r.originalEvent,this.type=r.type!=null?r.type:this.type,this.cy=r.cy,this.target=r.target,this.position=r.position,this.renderedPosition=r.renderedPosition,this.namespace=r.namespace,this.layout=r.layout),this.cy!=null&&this.position!=null&&this.renderedPosition==null){var n=this.position,a=this.cy.zoom(),i=this.cy.pan();this.renderedPosition={x:n.x*a+i.x,y:n.y*a+i.y}}this.timeStamp=e&&e.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=$s;var e=this.originalEvent;e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){this.isPropagationStopped=$s;var e=this.originalEvent;e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=$s,this.stopPropagation()},isDefaultPrevented:uo,isPropagationStopped:uo,isImmediatePropagationStopped:uo};var l1=/^([^.]+)(\.(?:[^.]+))?$/,_z=".*",c1={qualifierCompare:function(e,r){return e===r},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(e){return e},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},u1=Object.keys(c1),Tz={};function Vs(){for(var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Tz,e=arguments.length>1?arguments[1]:void 0,r=0;r<u1.length;r++){var n=u1[r];this[n]=t[n]||c1[n]}this.context=e||this.context,this.listeners=[],this.emitting=0}var Nn=Vs.prototype,d1=function(e,r,n,a,i,o,l){Je(a)&&(i=a,a=null),l&&(o==null?o=l:o=Te({},o,l));for(var u=Ke(n)?n:n.split(/\s+/),c=0;c<u.length;c++){var d=u[c];if(!yn(d)){var f=d.match(l1);if(f){var h=f[1],v=f[2]?f[2]:null,p=r(e,d,h,v,a,i,o);if(p===!1)break}}}},f1=function(e,r){return e.addEventFields(e.context,r),new s1(r.type,r)},Nz=function(e,r,n){if(ZM(n)){r(e,n);return}else if(Pe(n)){r(e,f1(e,n));return}for(var a=Ke(n)?n:n.split(/\s+/),i=0;i<a.length;i++){var o=a[i];if(!yn(o)){var l=o.match(l1);if(l){var u=l[1],c=l[2]?l[2]:null,d=f1(e,{type:u,namespace:c,target:e.context});r(e,d)}}}};Nn.on=Nn.addListener=function(t,e,r,n,a){return d1(this,function(i,o,l,u,c,d,f){Je(d)&&i.listeners.push({event:o,callback:d,type:l,namespace:u,qualifier:c,conf:f})},t,e,r,n,a),this},Nn.one=function(t,e,r,n){return this.on(t,e,r,n,{one:!0})},Nn.removeListener=Nn.off=function(t,e,r,n){var a=this;this.emitting!==0&&(this.listeners=i5(this.listeners));for(var i=this.listeners,o=function(c){var d=i[c];d1(a,function(f,h,v,p,g,m){if((d.type===v||t==="*")&&(!p&&d.namespace!==".*"||d.namespace===p)&&(!g||f.qualifierCompare(d.qualifier,g))&&(!m||d.callback===m))return i.splice(c,1),!1},t,e,r,n)},l=i.length-1;l>=0;l--)o(l);return this},Nn.removeAllListeners=function(){return this.removeListener("*")},Nn.emit=Nn.trigger=function(t,e,r){var n=this.listeners,a=n.length;return this.emitting++,Ke(e)||(e=[e]),Nz(this,function(i,o){r!=null&&(n=[{event:o.event,type:o.type,namespace:o.namespace,callback:r}],a=n.length);for(var l=function(d){var f=n[d];if(f.type===o.type&&(!f.namespace||f.namespace===o.namespace||f.namespace===_z)&&i.eventMatches(i.context,f,o)){var h=[o];e!=null&&s5(h,e),i.beforeEmit(i.context,f,o),f.conf&&f.conf.one&&(i.listeners=i.listeners.filter(function(g){return g!==f}));var v=i.callbackContext(i.context,f,o),p=f.callback.apply(v,h);i.afterEmit(i.context,f,o),p===!1&&(o.stopPropagation(),o.preventDefault())}},u=0;u<a;u++)l(u);i.bubble(i.context)&&!o.isPropagationStopped()&&i.parent(i.context).emit(o,e)},t),this.emitting--,this};var Iz={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var a=r.qualifier;return a!=null?e!==n.target&&Ki(n.target)&&a.matches(n.target):!0},addEventFields:function(e,r){r.cy=e.cy(),r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e},beforeEmit:function(e,r){r.conf&&r.conf.once&&r.conf.onceCollection.removeListener(r.event,r.qualifier,r.callback)},bubble:function(){return!0},parent:function(e){return e.isChild()?e.parent():e.cy()}},qs=function(e){return Ee(e)?new kn(e):e},h1={createEmitter:function(){for(var e=0;e<this.length;e++){var r=this[e],n=r._private;n.emitter||(n.emitter=new Vs(Iz,r))}return this},emitter:function(){return this._private.emitter},on:function(e,r,n){for(var a=qs(r),i=0;i<this.length;i++){var o=this[i];o.emitter().on(e,a,n)}return this},removeListener:function(e,r,n){for(var a=qs(r),i=0;i<this.length;i++){var o=this[i];o.emitter().removeListener(e,a,n)}return this},removeAllListeners:function(){for(var e=0;e<this.length;e++){var r=this[e];r.emitter().removeAllListeners()}return this},one:function(e,r,n){for(var a=qs(r),i=0;i<this.length;i++){var o=this[i];o.emitter().one(e,a,n)}return this},once:function(e,r,n){for(var a=qs(r),i=0;i<this.length;i++){var o=this[i];o.emitter().on(e,a,n,{once:!0,onceCollection:this})}},emit:function(e,r){for(var n=0;n<this.length;n++){var a=this[n];a.emitter().emit(e,r)}return this},emitAndNotify:function(e,r){if(this.length!==0)return this.cy().notify(e,this),this.emit(e,r),this}};Ve.eventAliasesOn(h1);var p1={nodes:function(e){return this.filter(function(r){return r.isNode()}).filter(e)},edges:function(e){return this.filter(function(r){return r.isEdge()}).filter(e)},byGroup:function(){for(var e=this.spawn(),r=this.spawn(),n=0;n<this.length;n++){var a=this[n];a.isNode()?e.push(a):r.push(a)}return{nodes:e,edges:r}},filter:function(e,r){if(e===void 0)return this;if(Ee(e)||Xt(e))return new kn(e).filter(this);if(Je(e)){for(var n=this.spawn(),a=this,i=0;i<a.length;i++){var o=a[i],l=r?e.apply(r,[o,i,a]):e(o,i,a);l&&n.push(o)}return n}return this.spawn()},not:function(e){if(e){Ee(e)&&(e=this.filter(e));for(var r=this.spawn(),n=0;n<this.length;n++){var a=this[n],i=e.has(a);i||r.push(a)}return r}else return this},absoluteComplement:function(){var e=this.cy();return e.mutableElements().not(this)},intersect:function(e){if(Ee(e)){var r=e;return this.filter(r)}for(var n=this.spawn(),a=this,i=e,o=this.length<e.length,l=o?a:i,u=o?i:a,c=0;c<l.length;c++){var d=l[c];u.has(d)&&n.push(d)}return n},xor:function(e){var r=this._private.cy;Ee(e)&&(e=r.$(e));var n=this.spawn(),a=this,i=e,o=function(u,c){for(var d=0;d<u.length;d++){var f=u[d],h=f._private.data.id,v=c.hasElementWithId(h);v||n.push(f)}};return o(a,i),o(i,a),n},diff:function(e){var r=this._private.cy;Ee(e)&&(e=r.$(e));var n=this.spawn(),a=this.spawn(),i=this.spawn(),o=this,l=e,u=function(d,f,h){for(var v=0;v<d.length;v++){var p=d[v],g=p._private.data.id,m=f.hasElementWithId(g);m?i.merge(p):h.push(p)}};return u(o,l,n),u(l,o,a),{left:n,right:a,both:i}},add:function(e){var r=this._private.cy;if(!e)return this;if(Ee(e)){var n=e;e=r.mutableElements().filter(n)}for(var a=this.spawnSelf(),i=0;i<e.length;i++){var o=e[i],l=!this.has(o);l&&a.push(o)}return a},merge:function(e){var r=this._private,n=r.cy;if(!e)return this;if(e&&Ee(e)){var a=e;e=n.mutableElements().filter(a)}for(var i=r.map,o=0;o<e.length;o++){var l=e[o],u=l._private.data.id,c=!i.has(u);if(c){var d=this.length++;this[d]=l,i.set(u,{ele:l,index:d})}}return this},unmergeAt:function(e){var r=this[e],n=r.id(),a=this._private,i=a.map;this[e]=void 0,i.delete(n);var o=e===this.length-1;if(this.length>1&&!o){var l=this.length-1,u=this[l],c=u._private.data.id;this[l]=void 0,this[e]=u,i.set(c,{ele:u,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,n=e._private.data.id,a=r.map,i=a.get(n);if(!i)return this;var o=i.index;return this.unmergeAt(o),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&Ee(e)){var n=e;e=r.mutableElements().filter(n)}for(var a=0;a<e.length;a++)this.unmergeOne(e[a]);return this},unmergeBy:function(e){for(var r=this.length-1;r>=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},map:function(e,r){for(var n=[],a=this,i=0;i<a.length;i++){var o=a[i],l=r?e.apply(r,[o,i,a]):e(o,i,a);n.push(l)}return n},reduce:function(e,r){for(var n=r,a=this,i=0;i<a.length;i++)n=e(n,a[i],i,a);return n},max:function(e,r){for(var n=-1/0,a,i=this,o=0;o<i.length;o++){var l=i[o],u=r?e.apply(r,[l,o,i]):e(l,o,i);u>n&&(n=u,a=l)}return{value:n,ele:a}},min:function(e,r){for(var n=1/0,a,i=this,o=0;o<i.length;o++){var l=i[o],u=r?e.apply(r,[l,o,i]):e(l,o,i);u<n&&(n=u,a=l)}return{value:n,ele:a}}},Re=p1;Re.u=Re["|"]=Re["+"]=Re.union=Re.or=Re.add,Re["\\"]=Re["!"]=Re["-"]=Re.difference=Re.relativeComplement=Re.subtract=Re.not,Re.n=Re["&"]=Re["."]=Re.and=Re.intersection=Re.intersect,Re["^"]=Re["(+)"]=Re["(-)"]=Re.symmetricDifference=Re.symdiff=Re.xor,Re.fnFilter=Re.filterFn=Re.stdFilter=Re.filter,Re.complement=Re.abscomp=Re.absoluteComplement;var Bz={isNode:function(){return this.group()==="nodes"},isEdge:function(){return this.group()==="edges"},isLoop:function(){return this.isEdge()&&this.source()[0]===this.target()[0]},isSimple:function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},group:function(){var e=this[0];if(e)return e._private.group}},v1=function(e,r){var n=e.cy(),a=n.hasCompoundNodes();function i(d){var f=d.pstyle("z-compound-depth");return f.value==="auto"?a?d.zDepth():0:f.value==="bottom"?-1:f.value==="top"?Vc:0}var o=i(e)-i(r);if(o!==0)return o;function l(d){var f=d.pstyle("z-index-compare");return f.value==="auto"&&d.isNode()?1:0}var u=l(e)-l(r);if(u!==0)return u;var c=e.pstyle("z-index").value-r.pstyle("z-index").value;return c!==0?c:e.poolIndex()-r.poolIndex()},zs={forEach:function(e,r){if(Je(e))for(var n=this.length,a=0;a<n;a++){var i=this[a],o=r?e.apply(r,[i,a,this]):e(i,a,this);if(o===!1)break}return this},toArray:function(){for(var e=[],r=0;r<this.length;r++)e.push(this[r]);return e},slice:function(e,r){var n=[],a=this.length;r==null&&(r=a),e==null&&(e=0),e<0&&(e=a+e),r<0&&(r=a+r);for(var i=e;i>=0&&i<r&&i<a;i++)n.push(this[i]);return this.spawn(n)},size:function(){return this.length},eq:function(e){return this[e]||this.spawn()},first:function(){return this[0]||this.spawn()},last:function(){return this[this.length-1]||this.spawn()},empty:function(){return this.length===0},nonempty:function(){return!this.empty()},sort:function(e){if(!Je(e))return this;var r=this.toArray().sort(e);return this.spawn(r)},sortByZIndex:function(){return this.sort(v1)},zDepth:function(){var e=this[0];if(e){var r=e._private,n=r.group;if(n==="nodes"){var a=r.data.parent?e.parents().size():0;return e.isParent()?a:Vc-1}else{var i=r.source,o=r.target,l=i.zDepth(),u=o.zDepth();return Math.max(l,u,0)}}}};zs.each=zs.forEach;var Dz=function(){var e="undefined",r=(typeof Symbol>"u"?"undefined":ht(Symbol))!=e&&ht(Symbol.iterator)!=e;r&&(zs[Symbol.iterator]=function(){var n=this,a={value:void 0,done:!1},i=0,o=this.length;return N0({next:function(){return i<o?a.value=n[i++]:(a.value=void 0,a.done=!0),a}},Symbol.iterator,function(){return this})})};Dz();var Oz=St({nodeDimensionsIncludeLabels:!1}),Hs={layoutDimensions:function(e){e=Oz(e);var r;if(!this.takesUpSpace())r={w:0,h:0};else if(e.nodeDimensionsIncludeLabels){var n=this.boundingBox();r={w:n.w,h:n.h}}else r={w:this.outerWidth(),h:this.outerHeight()};return(r.w===0||r.h===0)&&(r.w=r.h=1),r},layoutPositions:function(e,r,n){var a=this.nodes().filter(function(x){return!x.isParent()}),i=this.cy(),o=r.eles,l=function(k){return k.id()},u=Gi(n,l);e.emit({type:"layoutstart",layout:e}),e.animations=[];var c=function(k,E,_){var S={x:E.x1+E.w/2,y:E.y1+E.h/2},T={x:(_.x-S.x)*k,y:(_.y-S.y)*k};return{x:S.x+T.x,y:S.y+T.y}},d=r.spacingFactor&&r.spacingFactor!==1,f=function(){if(!d)return null;for(var k=Ut(),E=0;E<a.length;E++){var _=a[E],S=u(_,E);L5(k,S.x,S.y)}return k},h=f(),v=Gi(function(x,k){var E=u(x,k);if(d){var _=Math.abs(r.spacingFactor);E=c(_,h,E)}return r.transform!=null&&(E=r.transform(x,E)),E},l);if(r.animate){for(var p=0;p<a.length;p++){var g=a[p],m=v(g,p),y=r.animateFilter==null||r.animateFilter(g,p);if(y){var b=g.animation({position:m,duration:r.animationDuration,easing:r.animationEasing});e.animations.push(b)}else g.position(m)}if(r.fit){var w=i.animation({fit:{boundingBox:o.boundingBoxAt(v),padding:r.padding},duration:r.animationDuration,easing:r.animationEasing});e.animations.push(w)}else if(r.zoom!==void 0&&r.pan!==void 0){var C=i.animation({zoom:r.zoom,pan:r.pan,duration:r.animationDuration,easing:r.animationEasing});e.animations.push(C)}e.animations.forEach(function(x){return x.play()}),e.one("layoutready",r.ready),e.emit({type:"layoutready",layout:e}),Ua.all(e.animations.map(function(x){return x.promise()})).then(function(){e.one("layoutstop",r.stop),e.emit({type:"layoutstop",layout:e})})}else a.positions(v),r.fit&&i.fit(r.eles,r.padding),r.zoom!=null&&i.zoom(r.zoom),r.pan&&i.pan(r.pan),e.one("layoutready",r.ready),e.emit({type:"layoutready",layout:e}),e.one("layoutstop",r.stop),e.emit({type:"layoutstop",layout:e});return this},layout:function(e){var r=this.cy();return r.makeLayout(Te({},e,{eles:this}))}};Hs.createLayout=Hs.makeLayout=Hs.layout;function g1(t,e,r){var n=r._private,a=n.styleCache=n.styleCache||[],i;return(i=a[t])!=null||(i=a[t]=e(r)),i}function Ks(t,e){return t=Jn(t),function(n){return g1(t,e,n)}}function Gs(t,e){t=Jn(t);var r=function(a){return e.call(a)};return function(){var a=this[0];if(a)return g1(t,r,a)}}var _t={recalculateRenderedStyle:function(e){var r=this.cy(),n=r.renderer(),a=r.styleEnabled();return n&&a&&n.recalculateRenderedStyle(this,e),this},dirtyStyleCache:function(){var e=this.cy(),r=function(i){return i._private.styleCache=null};if(e.hasCompoundNodes()){var n;n=this.spawnSelf().merge(this.descendants()).merge(this.parents()),n.merge(n.connectedEdges()),n.forEach(r)}else this.forEach(function(a){r(a),a.connectedEdges().forEach(r)});return this},updateStyle:function(e){var r=this._private.cy;if(!r.styleEnabled())return this;if(r.batching()){var n=r._private.batchStyleEles;return n.merge(this),this}var a=r.hasCompoundNodes(),i=this;e=!!(e||e===void 0),a&&(i=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var o=i;return e?o.emitAndNotify("style"):o.emit("style"),i.forEach(function(l){return l._private.styleDirty=!0}),this},cleanStyle:function(){var e=this.cy();if(e.styleEnabled())for(var r=0;r<this.length;r++){var n=this[r];n._private.styleDirty&&(n._private.styleDirty=!1,e.style().apply(n))}},parsedStyle:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],a=n.cy();if(a.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[e];return i??(r?a.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},numericStyleUnits:function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},renderedStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},style:function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var a=!1,i=n.style();if(Pe(e)){var o=e;i.applyBypass(this,o,a),this.emitAndNotify("style")}else if(Ee(e))if(r===void 0){var l=this[0];return l?i.getStylePropertyValue(l,e):void 0}else i.applyBypass(this,e,r,a),this.emitAndNotify("style");else if(e===void 0){var u=this[0];return u?i.getRawStyle(u):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,a=r.style(),i=this;if(e===void 0)for(var o=0;o<i.length;o++){var l=i[o];a.removeAllBypasses(l,n)}else{e=e.split(/\s+/);for(var u=0;u<i.length;u++){var c=i[u];a.removeBypasses(c,e,n)}}return this.emitAndNotify("style"),this},show:function(){return this.css("display","element"),this},hide:function(){return this.css("display","none"),this},effectiveOpacity:function(){var e=this.cy();if(!e.styleEnabled())return 1;var r=e.hasCompoundNodes(),n=this[0];if(n){var a=n._private,i=n.pstyle("opacity").value;if(!r)return i;var o=a.data.parent?n.parents():null;if(o)for(var l=0;l<o.length;l++){var u=o[l],c=u.pstyle("opacity").value;i=c*i}return i}},transparent:function(){var e=this.cy();if(!e.styleEnabled())return!1;var r=this[0],n=r.cy().hasCompoundNodes();if(r)return n?r.effectiveOpacity()===0:r.pstyle("opacity").value===0},backgrounding:function(){var e=this.cy();if(!e.styleEnabled())return!1;var r=this[0];return!!r._private.backgrounding}};function uu(t,e){var r=t._private,n=r.data.parent?t.parents():null;if(n)for(var a=0;a<n.length;a++){var i=n[a];if(!e(i))return!1}return!0}function du(t){var e=t.ok,r=t.edgeOkViaNode||t.ok,n=t.parentOk||t.ok;return function(){var a=this.cy();if(!a.styleEnabled())return!0;var i=this[0],o=a.hasCompoundNodes();if(i){var l=i._private;if(!e(i))return!1;if(i.isNode())return!o||uu(i,n);var u=l.source,c=l.target;return r(u)&&(!o||uu(u,r))&&(u===c||r(c)&&(!o||uu(c,r)))}}}var ei=Ks("eleTakesUpSpace",function(t){return t.pstyle("display").value==="element"&&t.width()!==0&&(t.isNode()?t.height()!==0:!0)});_t.takesUpSpace=Gs("takesUpSpace",du({ok:ei}));var Az=Ks("eleInteractive",function(t){return t.pstyle("events").value==="yes"&&t.pstyle("visibility").value==="visible"&&ei(t)}),Pz=Ks("parentInteractive",function(t){return t.pstyle("visibility").value==="visible"&&ei(t)});_t.interactive=Gs("interactive",du({ok:Az,parentOk:Pz,edgeOkViaNode:ei})),_t.noninteractive=function(){var t=this[0];if(t)return!t.interactive()};var Lz=Ks("eleVisible",function(t){return t.pstyle("visibility").value==="visible"&&t.pstyle("opacity").pfValue!==0&&ei(t)}),Rz=ei;_t.visible=Gs("visible",du({ok:Lz,edgeOkViaNode:Rz})),_t.hidden=function(){var t=this[0];if(t)return!t.visible()},_t.isBundledBezier=Gs("isBundledBezier",function(){return this.cy().styleEnabled()?!this.removed()&&this.pstyle("curve-style").value==="bezier"&&this.takesUpSpace():!1}),_t.bypass=_t.css=_t.style,_t.renderedCss=_t.renderedStyle,_t.removeBypass=_t.removeCss=_t.removeStyle,_t.pstyle=_t.parsedStyle;var In={};function m1(t){return function(){var e=arguments,r=[];if(e.length===2){var n=e[0],a=e[1];this.on(t.event,n,a)}else if(e.length===1&&Je(e[0])){var i=e[0];this.on(t.event,i)}else if(e.length===0||e.length===1&&Ke(e[0])){for(var o=e.length===1?e[0]:null,l=0;l<this.length;l++){var u=this[l],c=!t.ableField||u._private[t.ableField],d=u._private[t.field]!=t.value;if(t.overrideAble){var f=t.overrideAble(u);if(f!==void 0&&(c=f,!f))return this}c&&(u._private[t.field]=t.value,d&&r.push(u))}var h=this.spawn(r);h.updateStyle(),h.emit(t.event),o&&h.emit(o)}return this}}function ti(t){In[t.field]=function(){var e=this[0];if(e){if(t.overrideField){var r=t.overrideField(e);if(r!==void 0)return r}return e._private[t.field]}},In[t.on]=m1({event:t.on,field:t.field,ableField:t.ableField,overrideAble:t.overrideAble,value:!0}),In[t.off]=m1({event:t.off,field:t.field,ableField:t.ableField,overrideAble:t.overrideAble,value:!1})}ti({field:"locked",overrideField:function(e){return e.cy().autolock()?!0:void 0},on:"lock",off:"unlock"}),ti({field:"grabbable",overrideField:function(e){return e.cy().autoungrabify()||e.pannable()?!1:void 0},on:"grabify",off:"ungrabify"}),ti({field:"selected",ableField:"selectable",overrideAble:function(e){return e.cy().autounselectify()?!1:void 0},on:"select",off:"unselect"}),ti({field:"selectable",overrideField:function(e){return e.cy().autounselectify()?!1:void 0},on:"selectify",off:"unselectify"}),In.deselect=In.unselect,In.grabbed=function(){var t=this[0];if(t)return t._private.grabbed},ti({field:"active",on:"activate",off:"unactivate"}),ti({field:"pannable",on:"panify",off:"unpanify"}),In.inactive=function(){var t=this[0];if(t)return!t._private.active};var Ot={},y1=function(e){return function(n){for(var a=this,i=[],o=0;o<a.length;o++){var l=a[o];if(l.isNode()){for(var u=!1,c=l.connectedEdges(),d=0;d<c.length;d++){var f=c[d],h=f.source(),v=f.target();if(e.noIncomingEdges&&v===l&&h!==l||e.noOutgoingEdges&&h===l&&v!==l){u=!0;break}}u||i.push(l)}}return this.spawn(i,!0).filter(n)}},b1=function(e){return function(r){for(var n=this,a=[],i=0;i<n.length;i++){var o=n[i];if(o.isNode())for(var l=o.connectedEdges(),u=0;u<l.length;u++){var c=l[u],d=c.source(),f=c.target();e.outgoing&&d===o?(a.push(c),a.push(f)):e.incoming&&f===o&&(a.push(c),a.push(d))}}return this.spawn(a,!0).filter(r)}},w1=function(e){return function(r){for(var n=this,a=[],i={};;){var o=e.outgoing?n.outgoers():n.incomers();if(o.length===0)break;for(var l=!1,u=0;u<o.length;u++){var c=o[u],d=c.id();i[d]||(i[d]=!0,a.push(c),l=!0)}if(!l)break;n=o}return this.spawn(a,!0).filter(r)}};Ot.clearTraversalCache=function(){for(var t=0;t<this.length;t++)this[t]._private.traversalCache=null},Te(Ot,{roots:y1({noIncomingEdges:!0}),leaves:y1({noOutgoingEdges:!0}),outgoers:ar(b1({outgoing:!0}),"outgoers"),successors:w1({outgoing:!0}),incomers:ar(b1({incoming:!0}),"incomers"),predecessors:w1({})}),Te(Ot,{neighborhood:ar(function(t){for(var e=[],r=this.nodes(),n=0;n<r.length;n++)for(var a=r[n],i=a.connectedEdges(),o=0;o<i.length;o++){var l=i[o],u=l.source(),c=l.target(),d=a===u?c:u;d.length>0&&e.push(d[0]),e.push(l[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),Ot.neighbourhood=Ot.neighborhood,Ot.closedNeighbourhood=Ot.closedNeighborhood,Ot.openNeighbourhood=Ot.openNeighborhood,Te(Ot,{source:ar(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"source"),target:ar(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"target"),sources:C1({attr:"source"}),targets:C1({attr:"target"})});function C1(t){return function(r){for(var n=[],a=0;a<this.length;a++){var i=this[a],o=i._private[t.attr];o&&n.push(o)}return this.spawn(n,!0).filter(r)}}Te(Ot,{edgesWith:ar(E1(),"edgesWith"),edgesTo:ar(E1({thisIsSrc:!0}),"edgesTo")});function E1(t){return function(r){var n=[],a=this._private.cy,i=t||{};Ee(r)&&(r=a.$(r));for(var o=0;o<r.length;o++)for(var l=r[o]._private.edges,u=0;u<l.length;u++){var c=l[u],d=c._private.data,f=this.hasElementWithId(d.source)&&r.hasElementWithId(d.target),h=r.hasElementWithId(d.source)&&this.hasElementWithId(d.target),v=f||h;v&&((i.thisIsSrc||i.thisIsTgt)&&(i.thisIsSrc&&!f||i.thisIsTgt&&!h)||n.push(c))}return this.spawn(n,!0)}}Te(Ot,{connectedEdges:ar(function(t){for(var e=[],r=this,n=0;n<r.length;n++){var a=r[n];if(a.isNode())for(var i=a._private.edges,o=0;o<i.length;o++){var l=i[o];e.push(l)}}return this.spawn(e,!0).filter(t)},"connectedEdges"),connectedNodes:ar(function(t){for(var e=[],r=this,n=0;n<r.length;n++){var a=r[n];a.isEdge()&&(e.push(a.source()[0]),e.push(a.target()[0]))}return this.spawn(e,!0).filter(t)},"connectedNodes"),parallelEdges:ar(x1(),"parallelEdges"),codirectedEdges:ar(x1({codirected:!0}),"codirectedEdges")});function x1(t){var e={codirected:!1};return t=Te({},e,t),function(n){for(var a=[],i=this.edges(),o=t,l=0;l<i.length;l++)for(var u=i[l],c=u._private,d=c.source,f=d._private.data.id,h=c.data.target,v=d._private.edges,p=0;p<v.length;p++){var g=v[p],m=g._private.data,y=m.target,b=m.source,w=y===h&&b===f,C=f===y&&h===b;(o.codirected&&w||!o.codirected&&(w||C))&&a.push(g)}return this.spawn(a,!0).filter(n)}}Te(Ot,{components:function(e){var r=this,n=r.cy(),a=n.collection(),i=e==null?r.nodes():e.nodes(),o=[];e!=null&&i.empty()&&(i=e.sources());var l=function(d,f){a.merge(d),i.unmerge(d),f.merge(d)};if(i.empty())return r.spawn();var u=function(){var d=n.collection();o.push(d);var f=i[0];l(f,d),r.bfs({directed:!1,roots:f,visit:function(v){return l(v,d)}}),d.forEach(function(h){h.connectedEdges().forEach(function(v){r.has(v)&&d.has(v.source())&&d.has(v.target())&&d.merge(v)})})};do u();while(i.length>0);return o},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),Ot.componentsOf=Ot.components;var Tt=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){Qe("A collection must have a reference to the core");return}var i=new Ir,o=!1;if(!r)r=[];else if(r.length>0&&Pe(r[0])&&!Ki(r[0])){o=!0;for(var l=[],u=new $a,c=0,d=r.length;c<d;c++){var f=r[c];f.data==null&&(f.data={});var h=f.data;if(h.id==null)h.id=eb();else if(e.hasElementWithId(h.id)||u.has(h.id))continue;var v=new ws(e,f,!1);l.push(v),u.add(h.id)}r=l}this.length=0;for(var p=0,g=r.length;p<g;p++){var m=r[p][0];if(m!=null){var y=m._private.data.id;(!n||!i.has(y))&&(n&&i.set(y,{index:this.length,ele:m}),this[this.length]=m,this.length++)}}this._private={eles:this,cy:e,get map(){return this.lazyMap==null&&this.rebuildMap(),this.lazyMap},set map(b){this.lazyMap=b},rebuildMap:function(){for(var w=this.lazyMap=new Ir,C=this.eles,x=0;x<C.length;x++){var k=C[x];w.set(k.id(),{index:x,ele:k})}}},n&&(this._private.map=i),o&&!a&&this.restore()},Ge=ws.prototype=Tt.prototype=Object.create(Array.prototype);Ge.instanceString=function(){return"collection"},Ge.spawn=function(t,e){return new Tt(this.cy(),t,e)},Ge.spawnSelf=function(){return this.spawn(this)},Ge.cy=function(){return this._private.cy},Ge.renderer=function(){return this._private.cy.renderer()},Ge.element=function(){return this[0]},Ge.collection=function(){return P0(this)?this:new Tt(this._private.cy,[this])},Ge.unique=function(){return new Tt(this._private.cy,this,!0)},Ge.hasElementWithId=function(t){return t=""+t,this._private.map.has(t)},Ge.getElementById=function(t){t=""+t;var e=this._private.cy,r=this._private.map.get(t);return r?r.ele:new Tt(e)},Ge.$id=Ge.getElementById,Ge.poolIndex=function(){var t=this._private.cy,e=t._private.elements,r=this[0]._private.data.id;return e._private.map.get(r).index},Ge.indexOf=function(t){var e=t[0]._private.data.id;return this._private.map.get(e).index},Ge.indexOfId=function(t){return t=""+t,this._private.map.get(t).index},Ge.json=function(t){var e=this.element(),r=this.cy();if(e==null&&t)return this;if(e!=null){var n=e._private;if(Pe(t)){if(r.startBatch(),t.data){e.data(t.data);var a=n.data;if(e.isEdge()){var i=!1,o={},l=t.data.source,u=t.data.target;l!=null&&l!=a.source&&(o.source=""+l,i=!0),u!=null&&u!=a.target&&(o.target=""+u,i=!0),i&&(e=e.move(o))}else{var c="parent"in t.data,d=t.data.parent;c&&(d!=null||a.parent!=null)&&d!=a.parent&&(d===void 0&&(d=null),d!=null&&(d=""+d),e=e.move({parent:d}))}}t.position&&e.position(t.position);var f=function(g,m,y){var b=t[g];b!=null&&b!==n[g]&&(b?e[m]():e[y]())};return f("removed","remove","restore"),f("selected","select","unselect"),f("selectable","selectify","unselectify"),f("locked","lock","unlock"),f("grabbable","grabify","ungrabify"),f("pannable","panify","unpanify"),t.classes!=null&&e.classes(t.classes),r.endBatch(),this}else if(t===void 0){var h={data:Nr(n.data),position:Nr(n.position),group:n.group,removed:n.removed,selected:n.selected,selectable:n.selectable,locked:n.locked,grabbable:n.grabbable,pannable:n.pannable,classes:null};h.classes="";var v=0;return n.classes.forEach(function(p){return h.classes+=v++===0?p:" "+p}),h}}},Ge.jsons=function(){for(var t=[],e=0;e<this.length;e++){var r=this[e],n=r.json();t.push(n)}return t},Ge.clone=function(){for(var t=this.cy(),e=[],r=0;r<this.length;r++){var n=this[r],a=n.json(),i=new ws(t,a,!1);e.push(i)}return new Tt(t,e)},Ge.copy=Ge.clone,Ge.restore=function(){for(var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),a=n._private,i=[],o=[],l,u=0,c=r.length;u<c;u++){var d=r[u];e&&!d.removed()||(d.isNode()?i.push(d):o.push(d))}l=i.concat(o);var f,h=function(){l.splice(f,1),f--};for(f=0;f<l.length;f++){var v=l[f],p=v._private,g=p.data;if(v.clearTraversalCache(),!(!e&&!p.removed)){if(g.id===void 0)g.id=eb();else if(de(g.id))g.id=""+g.id;else if(yn(g.id)||!Ee(g.id)){Qe("Can not create element with invalid string ID `"+g.id+"`"),h();continue}else if(n.hasElementWithId(g.id)){Qe("Can not create second element with ID `"+g.id+"`"),h();continue}}var m=g.id;if(v.isNode()){var y=p.position;y.x==null&&(y.x=0),y.y==null&&(y.y=0)}if(v.isEdge()){for(var b=v,w=["source","target"],C=w.length,x=!1,k=0;k<C;k++){var E=w[k],_=g[E];de(_)&&(_=g[E]=""+g[E]),_==null||_===""?(Qe("Can not create edge `"+m+"` with unspecified "+E),x=!0):n.hasElementWithId(_)||(Qe("Can not create edge `"+m+"` with nonexistant "+E+" `"+_+"`"),x=!0)}if(x){h();continue}var S=n.getElementById(g.source),T=n.getElementById(g.target);S.same(T)?S._private.edges.push(b):(S._private.edges.push(b),T._private.edges.push(b)),b._private.source=S,b._private.target=T}p.map=new Ir,p.map.set(m,{ele:v,index:0}),p.removed=!1,e&&n.addToPool(v)}for(var N=0;N<i.length;N++){var B=i[N],O=B._private.data;de(O.parent)&&(O.parent=""+O.parent);var D=O.parent,L=D!=null;if(L||B._private.parent){var A=B._private.parent?n.collection().merge(B._private.parent):n.getElementById(D);if(A.empty())O.parent=void 0;else if(A[0].removed())$e("Node added with missing parent, reference to parent removed"),O.parent=void 0,B._private.parent=null;else{for(var M=!1,P=A;!P.empty();){if(B.same(P)){M=!0,O.parent=void 0;break}P=P.parent()}M||(A[0]._private.children.push(B),B._private.parent=A[0],a.hasCompoundNodes=!0)}}}if(l.length>0){for(var z=l.length===r.length?r:new Tt(n,l),W=0;W<z.length;W++){var H=z[W];H.isNode()||(H.parallelEdges().clearTraversalCache(),H.source().clearTraversalCache(),H.target().clearTraversalCache())}var G;a.hasCompoundNodes?G=n.collection().merge(z).merge(z.connectedNodes()).merge(z.parent()):G=z,G.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(t),t?z.emitAndNotify("add"):e&&z.emit("add")}return r},Ge.removed=function(){var t=this[0];return t&&t._private.removed},Ge.inside=function(){var t=this[0];return t&&!t._private.removed},Ge.remove=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],a={},i=r._private.cy;function o(D){for(var L=D._private.edges,A=0;A<L.length;A++)u(L[A])}function l(D){for(var L=D._private.children,A=0;A<L.length;A++)u(L[A])}function u(D){var L=a[D.id()];e&&D.removed()||L||(a[D.id()]=!0,D.isNode()?(n.push(D),o(D),l(D)):n.unshift(D))}for(var c=0,d=r.length;c<d;c++){var f=r[c];u(f)}function h(D,L){var A=D._private.edges;wn(A,L),D.clearTraversalCache()}function v(D){D.clearTraversalCache()}var p=[];p.ids={};function g(D,L){L=L[0],D=D[0];var A=D._private.children,M=D.id();wn(A,L),L._private.parent=null,p.ids[M]||(p.ids[M]=!0,p.push(D))}r.dirtyCompoundBoundsCache(),e&&i.removeFromPool(n);for(var m=0;m<n.length;m++){var y=n[m];if(y.isEdge()){var b=y.source()[0],w=y.target()[0];h(b,y),h(w,y);for(var C=y.parallelEdges(),x=0;x<C.length;x++){var k=C[x];v(k),k.isBundledBezier()&&k.dirtyBoundingBoxCache()}}else{var E=y.parent();E.length!==0&&g(E,y)}e&&(y._private.removed=!0)}var _=i._private.elements;i._private.hasCompoundNodes=!1;for(var S=0;S<_.length;S++){var T=_[S];if(T.isParent()){i._private.hasCompoundNodes=!0;break}}var N=new Tt(this.cy(),n);N.size()>0&&(t?N.emitAndNotify("remove"):e&&N.emit("remove"));for(var B=0;B<p.length;B++){var O=p[B];(!e||!O.removed())&&O.updateStyle()}return N},Ge.move=function(t){var e=this._private.cy,r=this,n=!1,a=!1,i=function(p){return p==null?p:""+p};if(t.source!==void 0||t.target!==void 0){var o=i(t.source),l=i(t.target),u=o!=null&&e.hasElementWithId(o),c=l!=null&&e.hasElementWithId(l);(u||c)&&(e.batch(function(){r.remove(n,a),r.emitAndNotify("moveout");for(var v=0;v<r.length;v++){var p=r[v],g=p._private.data;p.isEdge()&&(u&&(g.source=o),c&&(g.target=l))}r.restore(n,a)}),r.emitAndNotify("move"))}else if(t.parent!==void 0){var d=i(t.parent),f=d===null||e.hasElementWithId(d);if(f){var h=d===null?void 0:d;e.batch(function(){var v=r.remove(n,a);v.emitAndNotify("moveout");for(var p=0;p<r.length;p++){var g=r[p],m=g._private.data;g.isNode()&&(m.parent=h)}v.restore(n,a)}),r.emitAndNotify("move")}}return this},[Tb,Wq,Rs,_n,Xa,cz,Ms,Sz,h1,p1,Bz,zs,Hs,_t,In,Ot].forEach(function(t){Te(Ge,t)});var Mz={add:function(e){var r,n=this;if(Xt(e)){var a=e;if(a._private.cy===n)r=a.restore();else{for(var i=[],o=0;o<a.length;o++){var l=a[o];i.push(l.json())}r=new Tt(n,i)}}else if(Ke(e)){var u=e;r=new Tt(n,u)}else if(Pe(e)&&(Ke(e.nodes)||Ke(e.edges))){for(var c=e,d=[],f=["nodes","edges"],h=0,v=f.length;h<v;h++){var p=f[h],g=c[p];if(Ke(g))for(var m=0,y=g.length;m<y;m++){var b=Te({group:p},g[m]);d.push(b)}}r=new Tt(n,d)}else{var w=e;r=new ws(n,w).collection()}return r},remove:function(e){if(!Xt(e)){if(Ee(e)){var r=e;e=this.$(r)}}return e.remove()}};/*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */function Fz(t,e,r,n){var a=4,i=.001,o=1e-7,l=10,u=11,c=1/(u-1),d=typeof Float32Array<"u";if(arguments.length!==4)return!1;for(var f=0;f<4;++f)if(typeof arguments[f]!="number"||isNaN(arguments[f])||!isFinite(arguments[f]))return!1;t=Math.min(t,1),r=Math.min(r,1),t=Math.max(t,0),r=Math.max(r,0);var h=d?new Float32Array(u):new Array(u);function v(T,N){return 1-3*N+3*T}function p(T,N){return 3*N-6*T}function g(T){return 3*T}function m(T,N,B){return((v(N,B)*T+p(N,B))*T+g(N))*T}function y(T,N,B){return 3*v(N,B)*T*T+2*p(N,B)*T+g(N)}function b(T,N){for(var B=0;B<a;++B){var O=y(N,t,r);if(O===0)return N;var D=m(N,t,r)-T;N-=D/O}return N}function w(){for(var T=0;T<u;++T)h[T]=m(T*c,t,r)}function C(T,N,B){var O,D,L=0;do D=N+(B-N)/2,O=m(D,t,r)-T,O>0?B=D:N=D;while(Math.abs(O)>o&&++L<l);return D}function x(T){for(var N=0,B=1,O=u-1;B!==O&&h[B]<=T;++B)N+=c;--B;var D=(T-h[B])/(h[B+1]-h[B]),L=N+D*c,A=y(L,t,r);return A>=i?b(T,L):A===0?L:C(T,N,N+c)}var k=!1;function E(){k=!0,(t!==e||r!==n)&&w()}var _=function(N){return k||E(),t===e&&r===n?N:N===0?0:N===1?1:m(x(N),e,n)};_.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var S="generateBezier("+[t,e,r,n]+")";return _.toString=function(){return S},_}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var $z=function(){function t(n){return-n.tension*n.x-n.friction*n.v}function e(n,a,i){var o={x:n.x+i.dx*a,v:n.v+i.dv*a,tension:n.tension,friction:n.friction};return{dx:o.v,dv:t(o)}}function r(n,a){var i={dx:n.v,dv:t(n)},o=e(n,a*.5,i),l=e(n,a*.5,o),u=e(n,a,l),c=1/6*(i.dx+2*(o.dx+l.dx)+u.dx),d=1/6*(i.dv+2*(o.dv+l.dv)+u.dv);return n.x=n.x+c*a,n.v=n.v+d*a,n}return function n(a,i,o){var l={x:-1,v:0,tension:null,friction:null},u=[0],c=0,d=1/1e4,f=16/1e3,h,v,p;for(a=parseFloat(a)||500,i=parseFloat(i)||20,o=o||null,l.tension=a,l.friction=i,h=o!==null,h?(c=n(a,i),v=c/o*f):v=f;p=r(p||l,v),u.push(1+p.x),c+=16,Math.abs(p.x)>d&&Math.abs(p.v)>d;);return h?function(g){return u[g*(u.length-1)|0]}:c}}(),Ue=function(e,r,n,a){var i=Fz(e,r,n,a);return function(o,l,u){return o+(l-o)*i(u)}},Us={linear:function(e,r,n){return e+(r-e)*n},ease:Ue(.25,.1,.25,1),"ease-in":Ue(.42,0,1,1),"ease-out":Ue(0,0,.58,1),"ease-in-out":Ue(.42,0,.58,1),"ease-in-sine":Ue(.47,0,.745,.715),"ease-out-sine":Ue(.39,.575,.565,1),"ease-in-out-sine":Ue(.445,.05,.55,.95),"ease-in-quad":Ue(.55,.085,.68,.53),"ease-out-quad":Ue(.25,.46,.45,.94),"ease-in-out-quad":Ue(.455,.03,.515,.955),"ease-in-cubic":Ue(.55,.055,.675,.19),"ease-out-cubic":Ue(.215,.61,.355,1),"ease-in-out-cubic":Ue(.645,.045,.355,1),"ease-in-quart":Ue(.895,.03,.685,.22),"ease-out-quart":Ue(.165,.84,.44,1),"ease-in-out-quart":Ue(.77,0,.175,1),"ease-in-quint":Ue(.755,.05,.855,.06),"ease-out-quint":Ue(.23,1,.32,1),"ease-in-out-quint":Ue(.86,0,.07,1),"ease-in-expo":Ue(.95,.05,.795,.035),"ease-out-expo":Ue(.19,1,.22,1),"ease-in-out-expo":Ue(1,0,0,1),"ease-in-circ":Ue(.6,.04,.98,.335),"ease-out-circ":Ue(.075,.82,.165,1),"ease-in-out-circ":Ue(.785,.135,.15,.86),spring:function(e,r,n){if(n===0)return Us.linear;var a=$z(e,r,n);return function(i,o,l){return i+(o-i)*a(l)}},"cubic-bezier":Ue};function k1(t,e,r,n,a){if(n===1||e===r)return r;var i=a(e,r,n);return t==null||((t.roundValue||t.color)&&(i=Math.round(i)),t.min!==void 0&&(i=Math.max(i,t.min)),t.max!==void 0&&(i=Math.min(i,t.max))),i}function S1(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function ri(t,e,r,n,a){var i=a!=null?a.type:null;r<0?r=0:r>1&&(r=1);var o=S1(t,a),l=S1(e,a);if(de(o)&&de(l))return k1(i,o,l,r,n);if(Ke(o)&&Ke(l)){for(var u=[],c=0;c<l.length;c++){var d=o[c],f=l[c];if(d!=null&&f!=null){var h=k1(i,d,f,r,n);u.push(h)}else u.push(f)}return u}}function Vz(t,e,r,n){var a=!n,i=t._private,o=e._private,l=o.easing,u=o.startTime,c=n?t:t.cy(),d=c.style();if(!o.easingImpl)if(l==null)o.easingImpl=Us.linear;else{var f;if(Ee(l)){var h=d.parse("transition-timing-function",l);f=h.value}else f=l;var v,p;Ee(f)?(v=f,p=[]):(v=f[1],p=f.slice(2).map(function(z){return+z})),p.length>0?(v==="spring"&&p.push(o.duration),o.easingImpl=Us[v].apply(null,p)):o.easingImpl=Us[v]}var g=o.easingImpl,m;if(o.duration===0?m=1:m=(r-u)/o.duration,o.applying&&(m=o.progress),m<0?m=0:m>1&&(m=1),o.delay==null){var y=o.startPosition,b=o.position;if(b&&a&&!t.locked()){var w={};fo(y.x,b.x)&&(w.x=ri(y.x,b.x,m,g)),fo(y.y,b.y)&&(w.y=ri(y.y,b.y,m,g)),t.position(w)}var C=o.startPan,x=o.pan,k=i.pan,E=x!=null&&n;E&&(fo(C.x,x.x)&&(k.x=ri(C.x,x.x,m,g)),fo(C.y,x.y)&&(k.y=ri(C.y,x.y,m,g)),t.emit("pan"));var _=o.startZoom,S=o.zoom,T=S!=null&&n;T&&(fo(_,S)&&(i.zoom=eo(i.minZoom,ri(_,S,m,g),i.maxZoom)),t.emit("zoom")),(E||T)&&t.emit("viewport");var N=o.style;if(N&&N.length>0&&a){for(var B=0;B<N.length;B++){var O=N[B],D=O.name,L=O,A=o.startStyle[D],M=d.properties[A.name],P=ri(A,L,m,g,M);d.overrideBypass(t,D,P)}t.emit("style")}}return o.progress=m,m}function fo(t,e){return t==null||e==null?!1:de(t)&&de(e)?!0:!!(t&&e)}function qz(t,e,r,n){var a=e._private;a.started=!0,a.startTime=r-a.progress*a.duration}function _1(t,e){var r=e._private.aniEles,n=[];function a(d,f){var h=d._private,v=h.animation.current,p=h.animation.queue,g=!1;if(v.length===0){var m=p.shift();m&&v.push(m)}for(var y=function(k){for(var E=k.length-1;E>=0;E--){var _=k[E];_()}k.splice(0,k.length)},b=v.length-1;b>=0;b--){var w=v[b],C=w._private;if(C.stopped){v.splice(b,1),C.hooked=!1,C.playing=!1,C.started=!1,y(C.frames);continue}!C.playing&&!C.applying||(C.playing&&C.applying&&(C.applying=!1),C.started||qz(d,w,t),Vz(d,w,t,f),C.applying&&(C.applying=!1),y(C.frames),C.step!=null&&C.step(t),w.completed()&&(v.splice(b,1),C.hooked=!1,C.playing=!1,C.started=!1,y(C.completes)),g=!0)}return!f&&v.length===0&&p.length===0&&n.push(d),g}for(var i=!1,o=0;o<r.length;o++){var l=r[o],u=a(l);i=i||u}var c=a(e,!0);(i||c)&&(r.length>0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}var zz={animate:Ve.animate(),animation:Ve.animation(),animated:Ve.animated(),clearQueue:Ve.clearQueue(),delay:Ve.delay(),delayAnimation:Ve.delayAnimation(),stop:Ve.stop(),addToAnimationPool:function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&ms(function(i){_1(i,e),r()})}var n=e.renderer();n&&n.beforeRender?n.beforeRender(function(i,o){_1(o,e)},n.beforeRenderPriorities.animations):r()}},Hz={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var a=r.qualifier;return a!=null?e!==n.target&&Ki(n.target)&&a.matches(n.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e}},Ws=function(e){return Ee(e)?new kn(e):e},T1={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new Vs(Hz,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,n){return this.emitter().on(e,Ws(r),n),this},removeListener:function(e,r,n){return this.emitter().removeListener(e,Ws(r),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,n){return this.emitter().one(e,Ws(r),n),this},once:function(e,r,n){return this.emitter().one(e,Ws(r),n),this},emit:function(e,r){return this.emitter().emit(e,r),this},emitAndNotify:function(e,r){return this.emit(e),this.notify(e,r),this}};Ve.eventAliasesOn(T1);var fu={png:function(e){var r=this._private.renderer;return e=e||{},r.png(e)},jpg:function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)}};fu.jpeg=fu.jpg;var js={layout:function(e){var r=this;if(e==null){Qe("Layout options must be specified to make a layout");return}if(e.name==null){Qe("A `name` must be specified to make a layout");return}var n=e.name,a=r.extension("layout",n);if(a==null){Qe("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var i;Ee(e.eles)?i=r.$(e.eles):i=e.eles!=null?e.eles:r.$();var o=new a(Te({},e,{cy:r,eles:i}));return o}};js.createLayout=js.makeLayout=js.layout;var Kz={notify:function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var a=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&a.merge(r);return}if(n.notificationsEnabled){var i=this.renderer();this.destroyed()||!i||i.notify(e,r)}},notifications:function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var a=e.batchNotifications[n];a.empty()?r.notify(n):r.notify(n,a)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),a=0;a<n.length;a++){var i=n[a],o=e[i],l=r.getElementById(i);l.data(o)}})}},Gz=St({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1}),hu={renderTo:function(e,r,n,a){var i=this._private.renderer;return i.renderTo(e,r,n,a),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify("draw"),this},resize:function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},initRenderer:function(e){var r=this,n=r.extension("renderer",e.name);if(n==null){Qe("Can not initialise: No such renderer `".concat(e.name,"` found. Did you forget to import it and `cytoscape.use()` it?"));return}e.wheelSensitivity!==void 0&&$e("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");var a=Gz(e);a.cy=r,r._private.renderer=new n(a),this.notify("init")},destroyRenderer:function(){var e=this;e.notify("destroy");var r=e.container();if(r)for(r._cyreg=null;r.childNodes.length>0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var a=n._private;a.rscratch={},a.rstyle={},a.animation.current=[],a.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};hu.invalidateDimensions=hu.resize;var Ys={collection:function(e,r){return Ee(e)?this.$(e):Xt(e)?e.collection():Ke(e)?(r||(r={}),new Tt(this,e,r.unique,r.removed)):new Tt(this)},nodes:function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},$:function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},mutableElements:function(){return this._private.elements}};Ys.elements=Ys.filter=Ys.$;var At={},ho="t",Uz="f";At.apply=function(t){for(var e=this,r=e._private,n=r.cy,a=n.collection(),i=0;i<t.length;i++){var o=t[i],l=e.getContextMeta(o);if(!l.empty){var u=e.getContextStyle(l),c=e.applyContextStyle(l,u,o);o._private.appliedInitStyle?e.updateTransitions(o,c.diffProps):o._private.appliedInitStyle=!0;var d=e.updateStyleHints(o);d&&a.push(o)}}return a},At.getPropertiesDiff=function(t,e){var r=this,n=r._private.propDiffs=r._private.propDiffs||{},a=t+"-"+e,i=n[a];if(i)return i;for(var o=[],l={},u=0;u<r.length;u++){var c=r[u],d=t[u]===ho,f=e[u]===ho,h=d!==f,v=c.mappedProperties.length>0;if(h||f&&v){var p=void 0;h&&v||h?p=c.properties:v&&(p=c.mappedProperties);for(var g=0;g<p.length;g++){for(var m=p[g],y=m.name,b=!1,w=u+1;w<r.length;w++){var C=r[w],x=e[w]===ho;if(x&&(b=C.properties[m.name]!=null,b))break}!l[y]&&!b&&(l[y]=!0,o.push(y))}}}return n[a]=o,o},At.getContextMeta=function(t){for(var e=this,r="",n,a=t._private.styleCxtKey||"",i=0;i<e.length;i++){var o=e[i],l=o.selector&&o.selector.matches(t);l?r+=ho:r+=Uz}return n=e.getPropertiesDiff(a,r),t._private.styleCxtKey=r,{key:r,diffPropNames:n,empty:n.length===0}},At.getContextStyle=function(t){var e=t.key,r=this,n=this._private.contextStyles=this._private.contextStyles||{};if(n[e])return n[e];for(var a={_private:{key:e}},i=0;i<r.length;i++){var o=r[i],l=e[i]===ho;if(l)for(var u=0;u<o.properties.length;u++){var c=o.properties[u];a[c.name]=c}}return n[e]=a,a},At.applyContextStyle=function(t,e,r){for(var n=this,a=t.diffPropNames,i={},o=n.types,l=0;l<a.length;l++){var u=a[l],c=e[u],d=r.pstyle(u);if(!c)if(d)d.bypass?c={name:u,deleteBypassed:!0}:c={name:u,delete:!0};else continue;if(d!==c){if(c.mapped===o.fn&&d!=null&&d.mapping!=null&&d.mapping.value===c.value){var f=d.mapping,h=f.fnValue=c.value(r);if(h===f.prevFnValue)continue}var v=i[u]={prev:d};n.applyParsedProperty(r,c),v.next=r.pstyle(u),v.next&&v.next.bypass&&(v.next=v.next.bypassed)}}return{diffProps:i}},At.updateStyleHints=function(t){var e=t._private,r=this,n=r.propertyGroupNames,a=r.propertyGroupKeys,i=function(Y,se,ce){return r.getPropertiesHash(Y,se,ce)},o=e.styleKey;if(t.removed())return!1;var l=e.group==="nodes",u=t._private.style;n=Object.keys(u);for(var c=0;c<a.length;c++){var d=a[c];e.styleKeys[d]=[Fa,Yi]}for(var f=function(Y,se){return e.styleKeys[se][0]=Zi(Y,e.styleKeys[se][0])},h=function(Y,se){return e.styleKeys[se][1]=Xi(Y,e.styleKeys[se][1])},v=function(Y,se){f(Y,se),h(Y,se)},p=function(Y,se){for(var ce=0;ce<Y.length;ce++){var ae=Y.charCodeAt(ce);f(ae,se),h(ae,se)}},g=2e9,m=function(Y){return-128<Y&&Y<128&&Math.floor(Y)!==Y?g-(Y*1024|0):Y},y=0;y<n.length;y++){var b=n[y],w=u[b];if(w!=null){var C=this.properties[b],x=C.type,k=C.groupKey,E=void 0;C.hashOverride!=null?E=C.hashOverride(t,w):w.pfValue!=null&&(E=w.pfValue);var _=C.enums==null?w.value:null,S=E!=null,T=_!=null,N=S||T,B=w.units;if(x.number&&N&&!x.multiple){var O=S?E:_;v(m(O),k),!S&&B!=null&&p(B,k)}else p(w.strValue,k)}}for(var D=[Fa,Yi],L=0;L<a.length;L++){var A=a[L],M=e.styleKeys[A];D[0]=Zi(M[0],D[0]),D[1]=Xi(M[1],D[1])}e.styleKey=QF(D[0],D[1]);var P=e.styleKeys;e.labelDimsKey=bn(P.labelDimensions);var z=i(t,["label"],P.labelDimensions);if(e.labelKey=bn(z),e.labelStyleKey=bn(ys(P.commonLabel,z)),!l){var W=i(t,["source-label"],P.labelDimensions);e.sourceLabelKey=bn(W),e.sourceLabelStyleKey=bn(ys(P.commonLabel,W));var H=i(t,["target-label"],P.labelDimensions);e.targetLabelKey=bn(H),e.targetLabelStyleKey=bn(ys(P.commonLabel,H))}if(l){var G=e.styleKeys,X=G.nodeBody,F=G.nodeBorder,V=G.nodeOutline,q=G.backgroundImage,$=G.compound,K=G.pie,R=[X,F,V,q,$,K].filter(function(j){return j!=null}).reduce(ys,[Fa,Yi]);e.nodeKey=bn(R),e.hasPie=K!=null&&K[0]!==Fa&&K[1]!==Yi}return o!==e.styleKey},At.clearStyleHints=function(t){var e=t._private;e.styleCxtKey="",e.styleKeys={},e.styleKey=null,e.labelKey=null,e.labelStyleKey=null,e.sourceLabelKey=null,e.sourceLabelStyleKey=null,e.targetLabelKey=null,e.targetLabelStyleKey=null,e.nodeKey=null,e.hasPie=null},At.applyParsedProperty=function(t,e){var r=this,n=e,a=t._private.style,i,o=r.types,l=r.properties[n.name].type,u=n.bypass,c=a[n.name],d=c&&c.bypass,f=t._private,h="mapping",v=function(X){return X==null?null:X.pfValue!=null?X.pfValue:X.value},p=function(){var X=v(c),F=v(n);r.checkTriggers(t,n.name,X,F)};if(e.name==="curve-style"&&t.isEdge()&&(e.value!=="bezier"&&t.isLoop()||e.value==="haystack"&&(t.source().isParent()||t.target().isParent()))&&(n=e=this.parse(e.name,"bezier",u)),n.delete)return a[n.name]=void 0,p(),!0;if(n.deleteBypassed)return c?c.bypass?(c.bypassed=void 0,p(),!0):!1:(p(),!0);if(n.deleteBypass)return c?c.bypass?(a[n.name]=c.bypassed,p(),!0):!1:(p(),!0);var g=function(){$e("Do not assign mappings to elements without corresponding data (i.e. ele `"+t.id()+"` has no mapping for property `"+n.name+"` with data field `"+n.field+"`); try a `["+n.field+"]` selector to limit scope to elements with `"+n.field+"` defined")};switch(n.mapped){case o.mapData:{for(var m=n.field.split("."),y=f.data,b=0;b<m.length&&y;b++){var w=m[b];y=y[w]}if(y==null)return g(),!1;var C;if(de(y)){var x=n.fieldMax-n.fieldMin;x===0?C=0:C=(y-n.fieldMin)/x}else return $e("Do not use continuous mappers without specifying numeric data (i.e. `"+n.field+": "+y+"` for `"+t.id()+"` is non-numeric)"),!1;if(C<0?C=0:C>1&&(C=1),l.color){var k=n.valueMin[0],E=n.valueMax[0],_=n.valueMin[1],S=n.valueMax[1],T=n.valueMin[2],N=n.valueMax[2],B=n.valueMin[3]==null?1:n.valueMin[3],O=n.valueMax[3]==null?1:n.valueMax[3],D=[Math.round(k+(E-k)*C),Math.round(_+(S-_)*C),Math.round(T+(N-T)*C),Math.round(B+(O-B)*C)];i={bypass:n.bypass,name:n.name,value:D,strValue:"rgb("+D[0]+", "+D[1]+", "+D[2]+")"}}else if(l.number){var L=n.valueMin+(n.valueMax-n.valueMin)*C;i=this.parse(n.name,L,n.bypass,h)}else return!1;if(!i)return g(),!1;i.mapping=n,n=i;break}case o.data:{for(var A=n.field.split("."),M=f.data,P=0;P<A.length&&M;P++){var z=A[P];M=M[z]}if(M!=null&&(i=this.parse(n.name,M,n.bypass,h)),!i)return g(),!1;i.mapping=n,n=i;break}case o.fn:{var W=n.value,H=n.fnValue!=null?n.fnValue:W(t);if(n.prevFnValue=H,H==null)return $e("Custom function mappers may not return null (i.e. `"+n.name+"` for ele `"+t.id()+"` is null)"),!1;if(i=this.parse(n.name,H,n.bypass,h),!i)return $e("Custom function mappers may not return invalid values for the property type (i.e. `"+n.name+"` for ele `"+t.id()+"` is invalid)"),!1;i.mapping=Nr(n),n=i;break}case void 0:break;default:return!1}return u?(d?n.bypassed=c.bypassed:n.bypassed=c,a[n.name]=n):d?c.bypassed=n:a[n.name]=n,p(),!0},At.cleanElements=function(t,e){for(var r=0;r<t.length;r++){var n=t[r];if(this.clearStyleHints(n),n.dirtyCompoundBoundsCache(),n.dirtyBoundingBoxCache(),!e)n._private.style={};else for(var a=n._private.style,i=Object.keys(a),o=0;o<i.length;o++){var l=i[o],u=a[l];u!=null&&(u.bypass?u.bypassed=null:a[l]=null)}}},At.update=function(){var t=this._private.cy,e=t.mutableElements();e.updateStyle()},At.updateTransitions=function(t,e){var r=this,n=t._private,a=t.pstyle("transition-property").value,i=t.pstyle("transition-duration").pfValue,o=t.pstyle("transition-delay").pfValue;if(a.length>0&&i>0){for(var l={},u=!1,c=0;c<a.length;c++){var d=a[c],f=t.pstyle(d),h=e[d];if(h){var v=h.prev,p=v,g=h.next!=null?h.next:f,m=!1,y=void 0,b=1e-6;p&&(de(p.pfValue)&&de(g.pfValue)?(m=g.pfValue-p.pfValue,y=p.pfValue+b*m):de(p.value)&&de(g.value)?(m=g.value-p.value,y=p.value+b*m):Ke(p.value)&&Ke(g.value)&&(m=p.value[0]!==g.value[0]||p.value[1]!==g.value[1]||p.value[2]!==g.value[2],y=p.strValue),m&&(l[d]=g.strValue,this.applyBypass(t,d,y),u=!0))}}if(!u)return;n.transitioning=!0,new Ua(function(w){o>0?t.delayAnimation(o).play().promise().then(w):w()}).then(function(){return t.animation({style:l,duration:i,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,a),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,a),t.emitAndNotify("style"),n.transitioning=!1)},At.checkTrigger=function(t,e,r,n,a,i){var o=this.properties[e],l=a(o);l!=null&&l(r,n)&&i(o)},At.checkZOrderTrigger=function(t,e,r,n){var a=this;this.checkTrigger(t,e,r,n,function(i){return i.triggersZOrder},function(){a._private.cy.notify("zorder",t)})},At.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(a){return a.triggersBounds},function(a){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),a.triggersBoundsOfParallelBeziers&&e==="curve-style"&&(r==="bezier"||n==="bezier")&&t.parallelEdges().forEach(function(i){i.isBundledBezier()&&i.dirtyBoundingBoxCache()}),a.triggersBoundsOfConnectedEdges&&e==="display"&&(r==="none"||n==="none")&&t.connectedEdges().forEach(function(i){i.dirtyBoundingBoxCache()})})},At.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n)};var po={};po.applyBypass=function(t,e,r,n){var a=this,i=[],o=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var l=0;l<a.properties.length;l++){var u=a.properties[l],c=u.name,d=this.parse(c,r,!0);d&&i.push(d)}}else if(Ee(e)){var f=this.parse(e,r,!0);f&&i.push(f)}else if(Pe(e)){var h=e;n=r;for(var v=Object.keys(h),p=0;p<v.length;p++){var g=v[p],m=h[g];if(m===void 0&&(m=h[ps(g)]),m!==void 0){var y=this.parse(g,m,!0);y&&i.push(y)}}}else return!1;if(i.length===0)return!1;for(var b=!1,w=0;w<t.length;w++){for(var C=t[w],x={},k=void 0,E=0;E<i.length;E++){var _=i[E];if(n){var S=C.pstyle(_.name);k=x[_.name]={prev:S}}b=this.applyParsedProperty(C,Nr(_))||b,n&&(k.next=C.pstyle(_.name))}b&&this.updateStyleHints(C),n&&this.updateTransitions(C,x,o)}return b},po.overrideBypass=function(t,e,r){e=Mc(e);for(var n=0;n<t.length;n++){var a=t[n],i=a._private.style[e],o=this.properties[e].type,l=o.color,u=o.mutiple,c=i?i.pfValue!=null?i.pfValue:i.value:null;!i||!i.bypass?this.applyBypass(a,e,r):(i.value=r,i.pfValue!=null&&(i.pfValue=r),l?i.strValue="rgb("+r.join(",")+")":u?i.strValue=r.join(" "):i.strValue=""+r,this.updateStyleHints(a)),this.checkTriggers(a,e,c,r)}},po.removeAllBypasses=function(t,e){return this.removeBypasses(t,this.propertyNames,e)},po.removeBypasses=function(t,e,r){for(var n=!0,a=0;a<t.length;a++){for(var i=t[a],o={},l=0;l<e.length;l++){var u=e[l],c=this.properties[u],d=i.pstyle(c.name);if(!(!d||!d.bypass)){var f="",h=this.parse(u,f,!0),v=o[c.name]={prev:d};this.applyParsedProperty(i,h),v.next=i.pstyle(c.name)}}this.updateStyleHints(i),r&&this.updateTransitions(i,o,n)}};var pu={};pu.getEmSizeInPixels=function(){var t=this.containerCss("font-size");return t!=null?parseFloat(t):1},pu.containerCss=function(t){var e=this._private.cy,r=e.container(),n=e.window();if(n&&r&&n.getComputedStyle)return n.getComputedStyle(r).getPropertyValue(t)};var Br={};Br.getRenderedStyle=function(t,e){return e?this.getStylePropertyValue(t,e,!0):this.getRawStyle(t,!0)},Br.getRawStyle=function(t,e){var r=this;if(t=t[0],t){for(var n={},a=0;a<r.properties.length;a++){var i=r.properties[a],o=r.getStylePropertyValue(t,i.name,e);o!=null&&(n[i.name]=o,n[ps(i.name)]=o)}return n}},Br.getIndexedStyle=function(t,e,r,n){var a=t.pstyle(e)[r][n];return a??t.cy().style().getDefaultProperty(e)[r][0]},Br.getStylePropertyValue=function(t,e,r){var n=this;if(t=t[0],t){var a=n.properties[e];a.alias&&(a=a.pointsTo);var i=a.type,o=t.pstyle(a.name);if(o){var l=o.value,u=o.units,c=o.strValue;if(r&&i.number&&l!=null&&de(l)){var d=t.cy().zoom(),f=function(m){return m*d},h=function(m,y){return f(m)+y},v=Ke(l),p=v?u.every(function(g){return g!=null}):u!=null;return p?v?l.map(function(g,m){return h(g,u[m])}).join(" "):h(l,u):v?l.map(function(g){return Ee(g)?g:""+f(g)}).join(" "):""+f(l)}else if(c!=null)return c}return null}},Br.getAnimationStartStyle=function(t,e){for(var r={},n=0;n<e.length;n++){var a=e[n],i=a.name,o=t.pstyle(i);o!==void 0&&(Pe(o)?o=this.parse(i,o.strValue):o=this.parse(i,o)),o&&(r[i]=o)}return r},Br.getPropsList=function(t){var e=this,r=[],n=t,a=e.properties;if(n)for(var i=Object.keys(n),o=0;o<i.length;o++){var l=i[o],u=n[l],c=a[l]||a[Mc(l)],d=this.parse(c.name,u);d&&r.push(d)}return r},Br.getNonDefaultPropertiesHash=function(t,e,r){var n=r.slice(),a,i,o,l,u,c;for(u=0;u<e.length;u++)if(a=e[u],i=t.pstyle(a,!1),i!=null)if(i.pfValue!=null)n[0]=Zi(l,n[0]),n[1]=Xi(l,n[1]);else for(o=i.strValue,c=0;c<o.length;c++)l=o.charCodeAt(c),n[0]=Zi(l,n[0]),n[1]=Xi(l,n[1]);return n},Br.getPropertiesHash=Br.getNonDefaultPropertiesHash;var Zs={};Zs.appendFromJson=function(t){for(var e=this,r=0;r<t.length;r++){var n=t[r],a=n.selector,i=n.style||n.css,o=Object.keys(i);e.selector(a);for(var l=0;l<o.length;l++){var u=o[l],c=i[u];e.css(u,c)}}return e},Zs.fromJson=function(t){var e=this;return e.resetToDefault(),e.appendFromJson(t),e},Zs.json=function(){for(var t=[],e=this.defaultLength;e<this.length;e++){for(var r=this[e],n=r.selector,a=r.properties,i={},o=0;o<a.length;o++){var l=a[o];i[l.name]=l.strValue}t.push({selector:n?n.toString():"core",style:i})}return t};var vu={};vu.appendFromString=function(t){var e=this,r=this,n=""+t,a,i,o;n=n.replace(/[/][*](\s|.)+?[*][/]/g,"");function l(){n.length>a.length?n=n.substr(a.length):n=""}function u(){i.length>o.length?i=i.substr(o.length):i=""}for(;;){var c=n.match(/^\s*$/);if(c)break;var d=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!d){$e("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}a=d[0];var f=d[1];if(f!=="core"){var h=new kn(f);if(h.invalid){$e("Skipping parsing of block: Invalid selector found in string stylesheet: "+f),l();continue}}var v=d[2],p=!1;i=v;for(var g=[];;){var m=i.match(/^\s*$/);if(m)break;var y=i.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!y){$e("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+v),p=!0;break}o=y[0];var b=y[1],w=y[2],C=e.properties[b];if(!C){$e("Skipping property: Invalid property name in: "+o),u();continue}var x=r.parse(b,w);if(!x){$e("Skipping property: Invalid property definition in: "+o),u();continue}g.push({name:b,val:w}),u()}if(p){l();break}r.selector(f);for(var k=0;k<g.length;k++){var E=g[k];r.css(E.name,E.val)}l()}return r},vu.fromString=function(t){var e=this;return e.resetToDefault(),e.appendFromString(t),e};var Nt={};(function(){var t=vt,e=rF,r=aF,n=iF,a=oF,i=function(R){return"^"+R+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},o=function(R){var j=t+"|\\w+|"+e+"|"+r+"|"+n+"|"+a;return"^"+R+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+t+")\\s*\\,\\s*("+t+")\\s*,\\s*("+j+")\\s*\\,\\s*("+j+")\\)$"},l=[`^url\\s*\\(\\s*['"]?(.+?)['"]?\\s*\\)$`,"^(none)$","^(.+)$"];Nt.types={time:{number:!0,min:0,units:"s|ms",implicitUnits:"ms"},percent:{number:!0,min:0,max:100,units:"%",implicitUnits:"%"},percentages:{number:!0,min:0,max:100,units:"%",implicitUnits:"%",multiple:!0},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},nonNegativeNumber:{number:!0,min:0,unitless:!0},position:{enums:["parent","origin"]},nodeSize:{number:!0,min:0,enums:["label"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizeMaybePercent:{number:!0,allowPercent:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},axisDirection:{enums:["horizontal","leftward","rightward","vertical","upward","downward","auto"]},paddingRelativeTo:{enums:["width","height","average","min","max"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:["auto"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:["inner","include-padding"],multiple:!0},bgRepeat:{enums:["repeat","repeat-x","repeat-y","no-repeat"],multiple:!0},bgFit:{enums:["none","contain","cover"],multiple:!0},bgCrossOrigin:{enums:["anonymous","use-credentials","null"],multiple:!0},bgClip:{enums:["none","node"],multiple:!0},bgContainment:{enums:["inside","over"],multiple:!0},color:{color:!0},colors:{color:!0,multiple:!0},fill:{enums:["solid","linear-gradient","radial-gradient"]},bool:{enums:["yes","no"]},bools:{enums:["yes","no"],multiple:!0},lineStyle:{enums:["solid","dotted","dashed"]},lineCap:{enums:["butt","round","square"]},linePosition:{enums:["center","inside","outside"]},lineJoin:{enums:["round","bevel","miter"]},borderStyle:{enums:["solid","dotted","dashed","double"]},curveStyle:{enums:["bezier","unbundled-bezier","haystack","segments","straight","straight-triangle","taxi","round-segments","round-taxi"]},radiusType:{enums:["arc-radius","influence-radius"],multiple:!0},fontFamily:{regex:'^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$'},fontStyle:{enums:["italic","normal","oblique"]},fontWeight:{enums:["normal","bold","bolder","lighter","100","200","300","400","500","600","800","900",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:["none","underline","overline","line-through"]},textTransform:{enums:["none","uppercase","lowercase"]},textWrap:{enums:["none","wrap","ellipsis"]},textOverflowWrap:{enums:["whitespace","anywhere"]},textBackgroundShape:{enums:["rectangle","roundrectangle","round-rectangle"]},nodeShape:{enums:["rectangle","roundrectangle","round-rectangle","cutrectangle","cut-rectangle","bottomroundrectangle","bottom-round-rectangle","barrel","ellipse","triangle","round-triangle","square","pentagon","round-pentagon","hexagon","round-hexagon","concavehexagon","concave-hexagon","heptagon","round-heptagon","octagon","round-octagon","tag","round-tag","star","diamond","round-diamond","vee","rhomboid","right-rhomboid","polygon"]},overlayShape:{enums:["roundrectangle","round-rectangle","ellipse"]},cornerRadius:{number:!0,min:0,units:"px|em",implicitUnits:"px",enums:["auto"]},compoundIncludeLabels:{enums:["include","exclude"]},arrowShape:{enums:["tee","triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","square","circle","diamond","chevron","none"]},arrowFill:{enums:["filled","hollow"]},arrowWidth:{number:!0,units:"%|px|em",implicitUnits:"px",enums:["match-line"]},display:{enums:["element","none"]},visibility:{enums:["hidden","visible"]},zCompoundDepth:{enums:["bottom","orphan","auto","top"]},zIndexCompare:{enums:["auto","manual"]},valign:{enums:["top","center","bottom"]},halign:{enums:["left","center","right"]},justification:{enums:["left","center","right","auto"]},text:{string:!0},data:{mapping:!0,regex:i("data")},layoutData:{mapping:!0,regex:i("layoutData")},scratch:{mapping:!0,regex:i("scratch")},mapData:{mapping:!0,regex:o("mapData")},mapLayoutData:{mapping:!0,regex:o("mapLayoutData")},mapScratch:{mapping:!0,regex:o("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:l,singleRegexMatchValue:!0},urls:{regexes:l,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:"deg|rad",implicitUnits:"rad"},textRotation:{number:!0,units:"deg|rad",implicitUnits:"rad",enums:["none","autorotate"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:["intersection","node-position","endpoints"]},edgeEndpoint:{number:!0,multiple:!0,units:"%|px|em|deg|rad",implicitUnits:"px",enums:["inside-to-node","outside-to-node","outside-to-node-or-label","outside-to-line","outside-to-line-or-label"],singleEnum:!0,validate:function(R,j){switch(R.length){case 2:return j[0]!=="deg"&&j[0]!=="rad"&&j[1]!=="deg"&&j[1]!=="rad";case 1:return Ee(R[0])||j[0]==="deg"||j[0]==="rad";default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+t+")\\s*,\\s*("+t+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+t+")\\s*,\\s*("+t+")\\s*,\\s*("+t+")\\s*,\\s*("+t+")\\s*\\)$"],enums:["linear","ease","ease-in","ease-out","ease-in-out","ease-in-sine","ease-out-sine","ease-in-out-sine","ease-in-quad","ease-out-quad","ease-in-out-quad","ease-in-cubic","ease-out-cubic","ease-in-out-cubic","ease-in-quart","ease-out-quart","ease-in-out-quart","ease-in-quint","ease-out-quint","ease-in-out-quint","ease-in-expo","ease-out-expo","ease-in-out-expo","ease-in-circ","ease-out-circ","ease-in-out-circ"]},gradientDirection:{enums:["to-bottom","to-top","to-left","to-right","to-bottom-right","to-bottom-left","to-top-right","to-top-left","to-right-bottom","to-left-bottom","to-right-top","to-left-top"]},boundsExpansion:{number:!0,multiple:!0,min:0,validate:function(R){var j=R.length;return j===1||j===2||j===4}}};var u={zeroNonZero:function(R,j){return(R==null||j==null)&&R!==j||R==0&&j!=0?!0:R!=0&&j==0},any:function(R,j){return R!=j},emptyNonEmpty:function(R,j){var Y=yn(R),se=yn(j);return Y&&!se||!Y&&se}},c=Nt.types,d=[{name:"label",type:c.text,triggersBounds:u.any,triggersZOrder:u.emptyNonEmpty},{name:"text-rotation",type:c.textRotation,triggersBounds:u.any},{name:"text-margin-x",type:c.bidirectionalSize,triggersBounds:u.any},{name:"text-margin-y",type:c.bidirectionalSize,triggersBounds:u.any}],f=[{name:"source-label",type:c.text,triggersBounds:u.any},{name:"source-text-rotation",type:c.textRotation,triggersBounds:u.any},{name:"source-text-margin-x",type:c.bidirectionalSize,triggersBounds:u.any},{name:"source-text-margin-y",type:c.bidirectionalSize,triggersBounds:u.any},{name:"source-text-offset",type:c.size,triggersBounds:u.any}],h=[{name:"target-label",type:c.text,triggersBounds:u.any},{name:"target-text-rotation",type:c.textRotation,triggersBounds:u.any},{name:"target-text-margin-x",type:c.bidirectionalSize,triggersBounds:u.any},{name:"target-text-margin-y",type:c.bidirectionalSize,triggersBounds:u.any},{name:"target-text-offset",type:c.size,triggersBounds:u.any}],v=[{name:"font-family",type:c.fontFamily,triggersBounds:u.any},{name:"font-style",type:c.fontStyle,triggersBounds:u.any},{name:"font-weight",type:c.fontWeight,triggersBounds:u.any},{name:"font-size",type:c.size,triggersBounds:u.any},{name:"text-transform",type:c.textTransform,triggersBounds:u.any},{name:"text-wrap",type:c.textWrap,triggersBounds:u.any},{name:"text-overflow-wrap",type:c.textOverflowWrap,triggersBounds:u.any},{name:"text-max-width",type:c.size,triggersBounds:u.any},{name:"text-outline-width",type:c.size,triggersBounds:u.any},{name:"line-height",type:c.positiveNumber,triggersBounds:u.any}],p=[{name:"text-valign",type:c.valign,triggersBounds:u.any},{name:"text-halign",type:c.halign,triggersBounds:u.any},{name:"color",type:c.color},{name:"text-outline-color",type:c.color},{name:"text-outline-opacity",type:c.zeroOneNumber},{name:"text-background-color",type:c.color},{name:"text-background-opacity",type:c.zeroOneNumber},{name:"text-background-padding",type:c.size,triggersBounds:u.any},{name:"text-border-opacity",type:c.zeroOneNumber},{name:"text-border-color",type:c.color},{name:"text-border-width",type:c.size,triggersBounds:u.any},{name:"text-border-style",type:c.borderStyle,triggersBounds:u.any},{name:"text-background-shape",type:c.textBackgroundShape,triggersBounds:u.any},{name:"text-justification",type:c.justification}],g=[{name:"events",type:c.bool,triggersZOrder:u.any},{name:"text-events",type:c.bool,triggersZOrder:u.any}],m=[{name:"display",type:c.display,triggersZOrder:u.any,triggersBounds:u.any,triggersBoundsOfConnectedEdges:!0},{name:"visibility",type:c.visibility,triggersZOrder:u.any},{name:"opacity",type:c.zeroOneNumber,triggersZOrder:u.zeroNonZero},{name:"text-opacity",type:c.zeroOneNumber},{name:"min-zoomed-font-size",type:c.size},{name:"z-compound-depth",type:c.zCompoundDepth,triggersZOrder:u.any},{name:"z-index-compare",type:c.zIndexCompare,triggersZOrder:u.any},{name:"z-index",type:c.number,triggersZOrder:u.any}],y=[{name:"overlay-padding",type:c.size,triggersBounds:u.any},{name:"overlay-color",type:c.color},{name:"overlay-opacity",type:c.zeroOneNumber,triggersBounds:u.zeroNonZero},{name:"overlay-shape",type:c.overlayShape,triggersBounds:u.any},{name:"overlay-corner-radius",type:c.cornerRadius}],b=[{name:"underlay-padding",type:c.size,triggersBounds:u.any},{name:"underlay-color",type:c.color},{name:"underlay-opacity",type:c.zeroOneNumber,triggersBounds:u.zeroNonZero},{name:"underlay-shape",type:c.overlayShape,triggersBounds:u.any},{name:"underlay-corner-radius",type:c.cornerRadius}],w=[{name:"transition-property",type:c.propList},{name:"transition-duration",type:c.time},{name:"transition-delay",type:c.time},{name:"transition-timing-function",type:c.easing}],C=function(R,j){return j.value==="label"?-R.poolIndex():j.pfValue},x=[{name:"height",type:c.nodeSize,triggersBounds:u.any,hashOverride:C},{name:"width",type:c.nodeSize,triggersBounds:u.any,hashOverride:C},{name:"shape",type:c.nodeShape,triggersBounds:u.any},{name:"shape-polygon-points",type:c.polygonPointList,triggersBounds:u.any},{name:"corner-radius",type:c.cornerRadius},{name:"background-color",type:c.color},{name:"background-fill",type:c.fill},{name:"background-opacity",type:c.zeroOneNumber},{name:"background-blacken",type:c.nOneOneNumber},{name:"background-gradient-stop-colors",type:c.colors},{name:"background-gradient-stop-positions",type:c.percentages},{name:"background-gradient-direction",type:c.gradientDirection},{name:"padding",type:c.sizeMaybePercent,triggersBounds:u.any},{name:"padding-relative-to",type:c.paddingRelativeTo,triggersBounds:u.any},{name:"bounds-expansion",type:c.boundsExpansion,triggersBounds:u.any}],k=[{name:"border-color",type:c.color},{name:"border-opacity",type:c.zeroOneNumber},{name:"border-width",type:c.size,triggersBounds:u.any},{name:"border-style",type:c.borderStyle},{name:"border-cap",type:c.lineCap},{name:"border-join",type:c.lineJoin},{name:"border-dash-pattern",type:c.numbers},{name:"border-dash-offset",type:c.number},{name:"border-position",type:c.linePosition}],E=[{name:"outline-color",type:c.color},{name:"outline-opacity",type:c.zeroOneNumber},{name:"outline-width",type:c.size,triggersBounds:u.any},{name:"outline-style",type:c.borderStyle},{name:"outline-offset",type:c.size,triggersBounds:u.any}],_=[{name:"background-image",type:c.urls},{name:"background-image-crossorigin",type:c.bgCrossOrigin},{name:"background-image-opacity",type:c.zeroOneNumbers},{name:"background-image-containment",type:c.bgContainment},{name:"background-image-smoothing",type:c.bools},{name:"background-position-x",type:c.bgPos},{name:"background-position-y",type:c.bgPos},{name:"background-width-relative-to",type:c.bgRelativeTo},{name:"background-height-relative-to",type:c.bgRelativeTo},{name:"background-repeat",type:c.bgRepeat},{name:"background-fit",type:c.bgFit},{name:"background-clip",type:c.bgClip},{name:"background-width",type:c.bgWH},{name:"background-height",type:c.bgWH},{name:"background-offset-x",type:c.bgPos},{name:"background-offset-y",type:c.bgPos}],S=[{name:"position",type:c.position,triggersBounds:u.any},{name:"compound-sizing-wrt-labels",type:c.compoundIncludeLabels,triggersBounds:u.any},{name:"min-width",type:c.size,triggersBounds:u.any},{name:"min-width-bias-left",type:c.sizeMaybePercent,triggersBounds:u.any},{name:"min-width-bias-right",type:c.sizeMaybePercent,triggersBounds:u.any},{name:"min-height",type:c.size,triggersBounds:u.any},{name:"min-height-bias-top",type:c.sizeMaybePercent,triggersBounds:u.any},{name:"min-height-bias-bottom",type:c.sizeMaybePercent,triggersBounds:u.any}],T=[{name:"line-style",type:c.lineStyle},{name:"line-color",type:c.color},{name:"line-fill",type:c.fill},{name:"line-cap",type:c.lineCap},{name:"line-opacity",type:c.zeroOneNumber},{name:"line-dash-pattern",type:c.numbers},{name:"line-dash-offset",type:c.number},{name:"line-outline-width",type:c.size},{name:"line-outline-color",type:c.color},{name:"line-gradient-stop-colors",type:c.colors},{name:"line-gradient-stop-positions",type:c.percentages},{name:"curve-style",type:c.curveStyle,triggersBounds:u.any,triggersBoundsOfParallelBeziers:!0},{name:"haystack-radius",type:c.zeroOneNumber,triggersBounds:u.any},{name:"source-endpoint",type:c.edgeEndpoint,triggersBounds:u.any},{name:"target-endpoint",type:c.edgeEndpoint,triggersBounds:u.any},{name:"control-point-step-size",type:c.size,triggersBounds:u.any},{name:"control-point-distances",type:c.bidirectionalSizes,triggersBounds:u.any},{name:"control-point-weights",type:c.numbers,triggersBounds:u.any},{name:"segment-distances",type:c.bidirectionalSizes,triggersBounds:u.any},{name:"segment-weights",type:c.numbers,triggersBounds:u.any},{name:"segment-radii",type:c.numbers,triggersBounds:u.any},{name:"radius-type",type:c.radiusType,triggersBounds:u.any},{name:"taxi-turn",type:c.bidirectionalSizeMaybePercent,triggersBounds:u.any},{name:"taxi-turn-min-distance",type:c.size,triggersBounds:u.any},{name:"taxi-direction",type:c.axisDirection,triggersBounds:u.any},{name:"taxi-radius",type:c.number,triggersBounds:u.any},{name:"edge-distances",type:c.edgeDistances,triggersBounds:u.any},{name:"arrow-scale",type:c.positiveNumber,triggersBounds:u.any},{name:"loop-direction",type:c.angle,triggersBounds:u.any},{name:"loop-sweep",type:c.angle,triggersBounds:u.any},{name:"source-distance-from-node",type:c.size,triggersBounds:u.any},{name:"target-distance-from-node",type:c.size,triggersBounds:u.any}],N=[{name:"ghost",type:c.bool,triggersBounds:u.any},{name:"ghost-offset-x",type:c.bidirectionalSize,triggersBounds:u.any},{name:"ghost-offset-y",type:c.bidirectionalSize,triggersBounds:u.any},{name:"ghost-opacity",type:c.zeroOneNumber}],B=[{name:"selection-box-color",type:c.color},{name:"selection-box-opacity",type:c.zeroOneNumber},{name:"selection-box-border-color",type:c.color},{name:"selection-box-border-width",type:c.size},{name:"active-bg-color",type:c.color},{name:"active-bg-opacity",type:c.zeroOneNumber},{name:"active-bg-size",type:c.size},{name:"outside-texture-bg-color",type:c.color},{name:"outside-texture-bg-opacity",type:c.zeroOneNumber}],O=[];Nt.pieBackgroundN=16,O.push({name:"pie-size",type:c.sizeMaybePercent});for(var D=1;D<=Nt.pieBackgroundN;D++)O.push({name:"pie-"+D+"-background-color",type:c.color}),O.push({name:"pie-"+D+"-background-size",type:c.percent}),O.push({name:"pie-"+D+"-background-opacity",type:c.zeroOneNumber});var L=[],A=Nt.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:c.arrowShape,triggersBounds:u.any},{name:"arrow-color",type:c.color},{name:"arrow-fill",type:c.arrowFill},{name:"arrow-width",type:c.arrowWidth}].forEach(function(K){A.forEach(function(R){var j=R+"-"+K.name,Y=K.type,se=K.triggersBounds;L.push({name:j,type:Y,triggersBounds:se})})},{});var M=Nt.properties=[].concat(g,w,m,y,b,N,p,v,d,f,h,x,k,E,_,O,S,T,L,B),P=Nt.propertyGroups={behavior:g,transition:w,visibility:m,overlay:y,underlay:b,ghost:N,commonLabel:p,labelDimensions:v,mainLabel:d,sourceLabel:f,targetLabel:h,nodeBody:x,nodeBorder:k,nodeOutline:E,backgroundImage:_,pie:O,compound:S,edgeLine:T,edgeArrow:L,core:B},z=Nt.propertyGroupNames={},W=Nt.propertyGroupKeys=Object.keys(P);W.forEach(function(K){z[K]=P[K].map(function(R){return R.name}),P[K].forEach(function(R){return R.groupKey=K})});var H=Nt.aliases=[{name:"content",pointsTo:"label"},{name:"control-point-distance",pointsTo:"control-point-distances"},{name:"control-point-weight",pointsTo:"control-point-weights"},{name:"segment-distance",pointsTo:"segment-distances"},{name:"segment-weight",pointsTo:"segment-weights"},{name:"segment-radius",pointsTo:"segment-radii"},{name:"edge-text-rotation",pointsTo:"text-rotation"},{name:"padding-left",pointsTo:"padding"},{name:"padding-right",pointsTo:"padding"},{name:"padding-top",pointsTo:"padding"},{name:"padding-bottom",pointsTo:"padding"}];Nt.propertyNames=M.map(function(K){return K.name});for(var G=0;G<M.length;G++){var X=M[G];M[X.name]=X}for(var F=0;F<H.length;F++){var V=H[F],q=M[V.pointsTo],$={name:V.name,alias:!0,pointsTo:q};M.push($),M[V.name]=$}})(),Nt.getDefaultProperty=function(t){return this.getDefaultProperties()[t]},Nt.getDefaultProperties=function(){var t=this._private;if(t.defaultProperties!=null)return t.defaultProperties;for(var e=Te({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125,events:"yes","text-events":"no","text-valign":"top","text-halign":"center","text-justification":"auto","line-height":1,color:"#000","text-outline-color":"#000","text-outline-width":0,"text-outline-opacity":1,"text-opacity":1,"text-decoration":"none","text-transform":"none","text-wrap":"none","text-overflow-wrap":"whitespace","text-max-width":9999,"text-background-color":"#000","text-background-opacity":0,"text-background-shape":"rectangle","text-background-padding":0,"text-border-opacity":0,"text-border-width":0,"text-border-style":"solid","text-border-color":"#000","font-family":"Helvetica Neue, Helvetica, sans-serif","font-style":"normal","font-weight":"normal","font-size":16,"min-zoomed-font-size":0,"text-rotation":"none","source-text-rotation":"none","target-text-rotation":"none",visibility:"visible",display:"element",opacity:1,"z-compound-depth":"auto","z-index-compare":"auto","z-index":0,label:"","text-margin-x":0,"text-margin-y":0,"source-label":"","source-text-offset":0,"source-text-margin-x":0,"source-text-margin-y":0,"target-label":"","target-text-offset":0,"target-text-margin-x":0,"target-text-margin-y":0,"overlay-opacity":0,"overlay-color":"#000","overlay-padding":10,"overlay-shape":"round-rectangle","overlay-corner-radius":"auto","underlay-opacity":0,"underlay-color":"#000","underlay-padding":10,"underlay-shape":"round-rectangle","underlay-corner-radius":"auto","transition-property":"none","transition-duration":0,"transition-delay":0,"transition-timing-function":"linear","background-blacken":0,"background-color":"#999","background-fill":"solid","background-opacity":1,"background-image":"none","background-image-crossorigin":"anonymous","background-image-opacity":1,"background-image-containment":"inside","background-image-smoothing":"yes","background-position-x":"50%","background-position-y":"50%","background-offset-x":0,"background-offset-y":0,"background-width-relative-to":"include-padding","background-height-relative-to":"include-padding","background-repeat":"no-repeat","background-fit":"none","background-clip":"node","background-width":"auto","background-height":"auto","border-color":"#000","border-opacity":1,"border-width":0,"border-style":"solid","border-dash-pattern":[4,2],"border-dash-offset":0,"border-cap":"butt","border-join":"miter","border-position":"center","outline-color":"#999","outline-opacity":1,"outline-width":0,"outline-offset":0,"outline-style":"solid",height:30,width:30,shape:"ellipse","shape-polygon-points":"-1, -1, 1, -1, 1, 1, -1, 1","corner-radius":"auto","bounds-expansion":0,"background-gradient-direction":"to-bottom","background-gradient-stop-colors":"#999","background-gradient-stop-positions":"0%",ghost:"no","ghost-offset-y":0,"ghost-offset-x":0,"ghost-opacity":0,padding:0,"padding-relative-to":"width",position:"origin","compound-sizing-wrt-labels":"include","min-width":0,"min-width-bias-left":0,"min-width-bias-right":0,"min-height":0,"min-height-bias-top":0,"min-height-bias-bottom":0},{"pie-size":"100%"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce(function(u,c){for(var d=1;d<=Nt.pieBackgroundN;d++){var f=c.name.replace("{{i}}",d),h=c.value;u[f]=h}return u},{}),{"line-style":"solid","line-color":"#999","line-fill":"solid","line-cap":"butt","line-opacity":1,"line-outline-width":0,"line-outline-color":"#000","line-gradient-stop-colors":"#999","line-gradient-stop-positions":"0%","control-point-step-size":40,"control-point-weights":.5,"segment-weights":.5,"segment-distances":20,"segment-radii":15,"radius-type":"arc-radius","taxi-turn":"50%","taxi-radius":15,"taxi-turn-min-distance":10,"taxi-direction":"auto","edge-distances":"intersection","curve-style":"haystack","haystack-radius":0,"arrow-scale":1,"loop-direction":"-45deg","loop-sweep":"-90deg","source-distance-from-node":0,"target-distance-from-node":0,"source-endpoint":"outside-to-node","target-endpoint":"outside-to-node","line-dash-pattern":[6,3],"line-dash-offset":0},[{name:"arrow-shape",value:"none"},{name:"arrow-color",value:"#999"},{name:"arrow-fill",value:"filled"},{name:"arrow-width",value:1}].reduce(function(u,c){return Nt.arrowPrefixes.forEach(function(d){var f=d+"-"+c.name,h=c.value;u[f]=h}),u},{})),r={},n=0;n<this.properties.length;n++){var a=this.properties[n];if(!a.pointsTo){var i=a.name,o=e[i],l=this.parse(i,o);r[i]=l}}return t.defaultProperties=r,t.defaultProperties},Nt.addDefaultStylesheet=function(){this.selector(":parent").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3}).selector(":loop").css({"curve-style":"bezier"}).selector("edge:compound").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector(":parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}),this.defaultLength=this.length};var Xs={};Xs.parse=function(t,e,r,n){var a=this;if(Je(e))return a.parseImplWarn(t,e,r,n);var i=n==="mapping"||n===!0||n===!1||n==null?"dontcare":n,o=r?"t":"f",l=""+e,u=Y0(t,l,o,i),c=a.propCache=a.propCache||[],d;return(d=c[u])||(d=c[u]=a.parseImplWarn(t,e,r,n)),(r||n==="mapping")&&(d=Nr(d),d&&(d.value=Nr(d.value))),d},Xs.parseImplWarn=function(t,e,r,n){var a=this.parseImpl(t,e,r,n);return!a&&e!=null&&$e("The style property `".concat(t,": ").concat(e,"` is invalid")),a&&(a.name==="width"||a.name==="height")&&e==="label"&&$e("The style value of `label` is deprecated for `"+a.name+"`"),a},Xs.parseImpl=function(t,e,r,n){var a=this;t=Mc(t);var i=a.properties[t],o=e,l=a.types;if(!i||e===void 0)return null;i.alias&&(i=i.pointsTo,t=i.name);var u=Ee(e);u&&(e=e.trim());var c=i.type;if(!c)return null;if(r&&(e===""||e===null))return{name:t,value:e,bypass:!0,deleteBypass:!0};if(Je(e))return{name:t,value:e,strValue:"fn",mapped:l.fn,bypass:r};var d,f;if(!(!u||n||e.length<7||e[1]!=="a")){if(e.length>=7&&e[0]==="d"&&(d=new RegExp(l.data.regex).exec(e))){if(r)return!1;var h=l.data;return{name:t,value:d,strValue:""+e,mapped:h,field:d[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(f=new RegExp(l.mapData.regex).exec(e))){if(r||c.multiple)return!1;var v=l.mapData;if(!(c.color||c.number))return!1;var p=this.parse(t,f[4]);if(!p||p.mapped)return!1;var g=this.parse(t,f[5]);if(!g||g.mapped)return!1;if(p.pfValue===g.pfValue||p.strValue===g.strValue)return $e("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+p.strValue+"`"),this.parse(t,p.strValue);if(c.color){var m=p.value,y=g.value,b=m[0]===y[0]&&m[1]===y[1]&&m[2]===y[2]&&(m[3]===y[3]||(m[3]==null||m[3]===1)&&(y[3]==null||y[3]===1));if(b)return!1}return{name:t,value:f,strValue:""+e,mapped:v,field:f[1],fieldMin:parseFloat(f[2]),fieldMax:parseFloat(f[3]),valueMin:p.value,valueMax:g.value,bypass:r}}}if(c.multiple&&n!=="multiple"){var w;if(u?w=e.split(/\s+/):Ke(e)?w=e:w=[e],c.evenMultiple&&w.length%2!==0)return null;for(var C=[],x=[],k=[],E="",_=!1,S=0;S<w.length;S++){var T=a.parse(t,w[S],r,"multiple");_=_||Ee(T.value),C.push(T.value),k.push(T.pfValue!=null?T.pfValue:T.value),x.push(T.units),E+=(S>0?" ":"")+T.strValue}return c.validate&&!c.validate(C,x)?null:c.singleEnum&&_?C.length===1&&Ee(C[0])?{name:t,value:C[0],strValue:C[0],bypass:r}:null:{name:t,value:C,pfValue:k,strValue:E,bypass:r,units:x}}var N=function(){for(var R=0;R<c.enums.length;R++){var j=c.enums[R];if(j===e)return{name:t,value:e,strValue:""+e,bypass:r}}return null};if(c.number){var B,O="px";if(c.units&&(B=c.units),c.implicitUnits&&(O=c.implicitUnits),!c.unitless)if(u){var D="px|em"+(c.allowPercent?"|\\%":"");B&&(D=B);var L=e.match("^("+vt+")("+D+")?$");L&&(e=L[1],B=L[2]||O)}else(!B||c.implicitUnits)&&(B=O);if(e=parseFloat(e),isNaN(e)&&c.enums===void 0)return null;if(isNaN(e)&&c.enums!==void 0)return e=o,N();if(c.integer&&!YM(e)||c.min!==void 0&&(e<c.min||c.strictMin&&e===c.min)||c.max!==void 0&&(e>c.max||c.strictMax&&e===c.max))return null;var A={name:t,value:e,strValue:""+e+(B||""),units:B,bypass:r};return c.unitless||B!=="px"&&B!=="em"?A.pfValue=e:A.pfValue=B==="px"||!B?e:this.getEmSizeInPixels()*e,(B==="ms"||B==="s")&&(A.pfValue=B==="ms"?e:1e3*e),(B==="deg"||B==="rad")&&(A.pfValue=B==="rad"?e:I5(e)),B==="%"&&(A.pfValue=e/100),A}else if(c.propList){var M=[],P=""+e;if(P!=="none"){for(var z=P.split(/\s*,\s*|\s+/),W=0;W<z.length;W++){var H=z[W].trim();a.properties[H]?M.push(H):$e("`"+H+"` is not a valid property name")}if(M.length===0)return null}return{name:t,value:M,strValue:M.length===0?"none":M.join(" "),bypass:r}}else if(c.color){var G=fF(e);return G?{name:t,value:G,pfValue:G,strValue:"rgb("+G[0]+","+G[1]+","+G[2]+")",bypass:r}:null}else if(c.regex||c.regexes){if(c.enums){var X=N();if(X)return X}for(var F=c.regexes?c.regexes:[c.regex],V=0;V<F.length;V++){var q=new RegExp(F[V]),$=q.exec(e);if($)return{name:t,value:c.singleRegexMatchValue?$[1]:$,strValue:""+e,bypass:r}}return null}else return c.string?{name:t,value:""+e,strValue:""+e,bypass:r}:c.enums?N():null};var Pt=function t(e){if(!(this instanceof t))return new t(e);if(!Rc(e)){Qe("A style must have a core reference");return}this._private={cy:e,coreStyle:{}},this.length=0,this.resetToDefault()},Lt=Pt.prototype;Lt.instanceString=function(){return"style"},Lt.clear=function(){for(var t=this._private,e=t.cy,r=e.elements(),n=0;n<this.length;n++)this[n]=void 0;return this.length=0,t.contextStyles={},t.propDiffs={},this.cleanElements(r,!0),r.forEach(function(a){var i=a[0]._private;i.styleDirty=!0,i.appliedInitStyle=!1}),this},Lt.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this},Lt.core=function(t){return this._private.coreStyle[t]||this.getDefaultProperty(t)},Lt.selector=function(t){var e=t==="core"?null:new kn(t),r=this.length++;return this[r]={selector:e,properties:[],mappedProperties:[],index:r},this},Lt.css=function(){var t=this,e=arguments;if(e.length===1)for(var r=e[0],n=0;n<t.properties.length;n++){var a=t.properties[n],i=r[a.name];i===void 0&&(i=r[ps(a.name)]),i!==void 0&&this.cssRule(a.name,i)}else e.length===2&&this.cssRule(e[0],e[1]);return this},Lt.style=Lt.css,Lt.cssRule=function(t,e){var r=this.parse(t,e);if(r){var n=this.length-1;this[n].properties.push(r),this[n].properties[r.name]=r,r.name.match(/pie-(\d+)-background-size/)&&r.value&&(this._private.hasPie=!0),r.mapped&&this[n].mappedProperties.push(r);var a=!this[n].selector;a&&(this._private.coreStyle[r.name]=r)}return this},Lt.append=function(t){return L0(t)?t.appendToStyle(this):Ke(t)?this.appendFromJson(t):Ee(t)&&this.appendFromString(t),this},Pt.fromJson=function(t,e){var r=new Pt(t);return r.fromJson(e),r},Pt.fromString=function(t,e){return new Pt(t).fromString(e)},[At,po,pu,Br,Zs,vu,Nt,Xs].forEach(function(t){Te(Lt,t)}),Pt.types=Lt.types,Pt.properties=Lt.properties,Pt.propertyGroups=Lt.propertyGroups,Pt.propertyGroupNames=Lt.propertyGroupNames,Pt.propertyGroupKeys=Lt.propertyGroupKeys;var Wz={style:function(e){if(e){var r=this.setStyle(e);r.update()}return this._private.style},setStyle:function(e){var r=this._private;return L0(e)?r.style=e.generateStyle(this):Ke(e)?r.style=Pt.fromJson(this,e):Ee(e)?r.style=Pt.fromString(this,e):r.style=Pt(this),r.style},updateStyle:function(){this.mutableElements().updateStyle()}},jz="single",ia={autolock:function(e){if(e!==void 0)this._private.autolock=!!e;else return this._private.autolock;return this},autoungrabify:function(e){if(e!==void 0)this._private.autoungrabify=!!e;else return this._private.autoungrabify;return this},autounselectify:function(e){if(e!==void 0)this._private.autounselectify=!!e;else return this._private.autounselectify;return this},selectionType:function(e){var r=this._private;if(r.selectionType==null&&(r.selectionType=jz),e!==void 0)(e==="additive"||e==="single")&&(r.selectionType=e);else return r.selectionType;return this},panningEnabled:function(e){if(e!==void 0)this._private.panningEnabled=!!e;else return this._private.panningEnabled;return this},userPanningEnabled:function(e){if(e!==void 0)this._private.userPanningEnabled=!!e;else return this._private.userPanningEnabled;return this},zoomingEnabled:function(e){if(e!==void 0)this._private.zoomingEnabled=!!e;else return this._private.zoomingEnabled;return this},userZoomingEnabled:function(e){if(e!==void 0)this._private.userZoomingEnabled=!!e;else return this._private.userZoomingEnabled;return this},boxSelectionEnabled:function(e){if(e!==void 0)this._private.boxSelectionEnabled=!!e;else return this._private.boxSelectionEnabled;return this},pan:function(){var e=arguments,r=this._private.pan,n,a,i,o,l;switch(e.length){case 0:return r;case 1:if(Ee(e[0]))return n=e[0],r[n];if(Pe(e[0])){if(!this._private.panningEnabled)return this;i=e[0],o=i.x,l=i.y,de(o)&&(r.x=o),de(l)&&(r.y=l),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;n=e[0],a=e[1],(n==="x"||n==="y")&&de(a)&&(r[n]=a),this.emit("pan viewport");break}return this.notify("viewport"),this},panBy:function(e,r){var n=arguments,a=this._private.pan,i,o,l,u,c;if(!this._private.panningEnabled)return this;switch(n.length){case 1:Pe(e)&&(l=n[0],u=l.x,c=l.y,de(u)&&(a.x+=u),de(c)&&(a.y+=c),this.emit("pan viewport"));break;case 2:i=e,o=r,(i==="x"||i==="y")&&de(o)&&(a[i]+=o),this.emit("pan viewport");break}return this.notify("viewport"),this},fit:function(e,r){var n=this.getFitViewport(e,r);if(n){var a=this._private;a.zoom=n.zoom,a.pan=n.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},getFitViewport:function(e,r){if(de(e)&&r===void 0&&(r=e,e=void 0),!(!this._private.panningEnabled||!this._private.zoomingEnabled)){var n;if(Ee(e)){var a=e;e=this.$(a)}else if(JM(e)){var i=e;n={x1:i.x1,y1:i.y1,x2:i.x2,y2:i.y2},n.w=n.x2-n.x1,n.h=n.y2-n.y1}else Xt(e)||(e=this.mutableElements());if(!(Xt(e)&&e.empty())){n=n||e.boundingBox();var o=this.width(),l=this.height(),u;if(r=de(r)?r:0,!isNaN(o)&&!isNaN(l)&&o>0&&l>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){u=Math.min((o-2*r)/n.w,(l-2*r)/n.h),u=u>this._private.maxZoom?this._private.maxZoom:u,u=u<this._private.minZoom?this._private.minZoom:u;var c={x:(o-u*(n.x1+n.x2))/2,y:(l-u*(n.y1+n.y2))/2};return{zoom:u,pan:c}}}}},zoomRange:function(e,r){var n=this._private;if(r==null){var a=e;e=a.min,r=a.max}return de(e)&&de(r)&&e<=r?(n.minZoom=e,n.maxZoom=r):de(e)&&r===void 0&&e<=n.maxZoom?n.minZoom=e:de(r)&&e===void 0&&r>=n.minZoom&&(n.maxZoom=r),this},minZoom:function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var r=this._private,n=r.pan,a=r.zoom,i,o,l=!1;if(r.zoomingEnabled||(l=!0),de(e)?o=e:Pe(e)&&(o=e.level,e.position!=null?i=Cs(e.position,a,n):e.renderedPosition!=null&&(i=e.renderedPosition),i!=null&&!r.panningEnabled&&(l=!0)),o=o>r.maxZoom?r.maxZoom:o,o=o<r.minZoom?r.minZoom:o,l||!de(o)||o===a||i!=null&&(!de(i.x)||!de(i.y)))return null;if(i!=null){var u=n,c=a,d=o,f={x:-d/c*(i.x-u.x)+i.x,y:-d/c*(i.y-u.y)+i.y};return{zoomed:!0,panned:!0,zoom:d,pan:f}}else return{zoomed:!0,panned:!1,zoom:o,pan:n}},zoom:function(e){if(e===void 0)return this._private.zoom;var r=this.getZoomedViewport(e),n=this._private;return r==null||!r.zoomed?this:(n.zoom=r.zoom,r.panned&&(n.pan.x=r.pan.x,n.pan.y=r.pan.y),this.emit("zoom"+(r.panned?" pan":"")+" viewport"),this.notify("viewport"),this)},viewport:function(e){var r=this._private,n=!0,a=!0,i=[],o=!1,l=!1;if(!e)return this;if(de(e.zoom)||(n=!1),Pe(e.pan)||(a=!1),!n&&!a)return this;if(n){var u=e.zoom;u<r.minZoom||u>r.maxZoom||!r.zoomingEnabled?o=!0:(r.zoom=u,i.push("zoom"))}if(a&&(!o||!e.cancelOnFailedZoom)&&r.panningEnabled){var c=e.pan;de(c.x)&&(r.pan.x=c.x,l=!1),de(c.y)&&(r.pan.y=c.y,l=!1),l||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,r){if(this._private.panningEnabled){if(Ee(e)){var n=e;e=this.mutableElements().filter(n)}else Xt(e)||(e=this.mutableElements());if(e.length!==0){var a=e.boundingBox(),i=this.width(),o=this.height();r=r===void 0?this._private.zoom:r;var l={x:(i-r*(a.x1+a.x2))/2,y:(o-r*(a.y1+a.y2))/2};return l}}},reset:function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?function(){var a=n.window().getComputedStyle(r),i=function(l){return parseFloat(a.getPropertyValue(l))};return{width:r.clientWidth-i("padding-left")-i("padding-right"),height:r.clientHeight-i("padding-top")-i("padding-bottom")}}():{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),a={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return a.w=a.x2-a.x1,a.h=a.y2-a.y1,a},renderedExtent:function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},multiClickDebounceTime:function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this}};ia.centre=ia.center,ia.autolockNodes=ia.autolock,ia.autoungrabifyNodes=ia.autoungrabify;var vo={data:Ve.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Ve.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Ve.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Ve.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};vo.attr=vo.data,vo.removeAttr=vo.removeData;var go=function(e){var r=this;e=Te({},e);var n=e.container;n&&!hs(n)&&hs(n[0])&&(n=n[0]);var a=n?n._cyreg:null;a=a||{},a&&a.cy&&(a.cy.destroy(),a={});var i=a.readies=a.readies||[];n&&(n._cyreg=a),a.cy=r;var o=pt!==void 0&&n!==void 0&&!e.headless,l=e;l.layout=Te({name:o?"grid":"null"},l.layout),l.renderer=Te({name:o?"canvas":"null"},l.renderer);var u=function(p,g,m){return g!==void 0?g:m!==void 0?m:p},c=this._private={container:n,ready:!1,options:l,elements:new Tt(this),listeners:[],aniEles:new Tt(this),data:l.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:u(!0,l.zoomingEnabled),userZoomingEnabled:u(!0,l.userZoomingEnabled),panningEnabled:u(!0,l.panningEnabled),userPanningEnabled:u(!0,l.userPanningEnabled),boxSelectionEnabled:u(!0,l.boxSelectionEnabled),autolock:u(!1,l.autolock,l.autolockNodes),autoungrabify:u(!1,l.autoungrabify,l.autoungrabifyNodes),autounselectify:u(!1,l.autounselectify),styleEnabled:l.styleEnabled===void 0?o:l.styleEnabled,zoom:de(l.zoom)?l.zoom:1,pan:{x:Pe(l.pan)&&de(l.pan.x)?l.pan.x:0,y:Pe(l.pan)&&de(l.pan.y)?l.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:u(250,l.multiClickDebounceTime)};this.createEmitter(),this.selectionType(l.selectionType),this.zoomRange({min:l.minZoom,max:l.maxZoom});var d=function(p,g){var m=p.some(QM);if(m)return Ua.all(p).then(g);g(p)};c.styleEnabled&&r.setStyle([]);var f=Te({},l,l.renderer);r.initRenderer(f);var h=function(p,g,m){r.notifications(!1);var y=r.mutableElements();y.length>0&&y.remove(),p!=null&&(Pe(p)||Ke(p))&&r.add(p),r.one("layoutready",function(w){r.notifications(!0),r.emit(w),r.one("load",g),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",m),r.emit("done")});var b=Te({},r._private.options.layout);b.eles=r.elements(),r.layout(b).run()};d([l.style,l.elements],function(v){var p=v[0],g=v[1];c.styleEnabled&&r.style().append(p),h(g,function(){r.startAnimationLoop(),c.ready=!0,Je(l.ready)&&r.on("ready",l.ready);for(var m=0;m<i.length;m++){var y=i[m];r.on("ready",y)}a&&(a.readies=[]),r.emit("ready")},l.done)})},Js=go.prototype;Te(Js,{instanceString:function(){return"core"},isReady:function(){return this._private.ready},destroyed:function(){return this._private.destroyed},ready:function(e){return this.isReady()?this.emitter().emit("ready",[],e):this.on("ready",e),this},destroy:function(){var e=this;if(!e.destroyed())return e.stopAnimationLoop(),e.destroyRenderer(),this.emit("destroy"),e._private.destroyed=!0,e},hasElementWithId:function(e){return this._private.elements.hasElementWithId(e)},getElementById:function(e){return this._private.elements.getElementById(e)},hasCompoundNodes:function(){return this._private.hasCompoundNodes},headless:function(){return this._private.renderer.isHeadless()},styleEnabled:function(){return this._private.styleEnabled},addToPool:function(e){return this._private.elements.merge(e),this},removeFromPool:function(e){return this._private.elements.unmerge(e),this},container:function(){return this._private.container||null},window:function(){var e=this._private.container;if(e==null)return pt;var r=this._private.container.ownerDocument;return r===void 0||r==null?pt:r.defaultView||pt},mount:function(e){if(e!=null){var r=this,n=r._private,a=n.options;return!hs(e)&&hs(e[0])&&(e=e[0]),r.stopAnimationLoop(),r.destroyRenderer(),n.container=e,n.styleEnabled=!0,r.invalidateSize(),r.initRenderer(Te({},a,a.renderer,{name:a.renderer.name==="null"?"canvas":a.renderer.name})),r.startAnimationLoop(),r.style(a.style),r.emit("mount"),r}},unmount:function(){var e=this;return e.stopAnimationLoop(),e.destroyRenderer(),e.initRenderer({name:"null"}),e.emit("unmount"),e},options:function(){return Nr(this._private.options)},json:function(e){var r=this,n=r._private,a=r.mutableElements(),i=function(C){return r.getElementById(C.id())};if(Pe(e)){if(r.startBatch(),e.elements){var o={},l=function(C,x){for(var k=[],E=[],_=0;_<C.length;_++){var S=C[_];if(!S.data.id){$e("cy.json() cannot handle elements without an ID attribute");continue}var T=""+S.data.id,N=r.getElementById(T);o[T]=!0,N.length!==0?E.push({ele:N,json:S}):(x&&(S.group=x),k.push(S))}r.add(k);for(var B=0;B<E.length;B++){var O=E[B],D=O.ele,L=O.json;D.json(L)}};if(Ke(e.elements))l(e.elements);else for(var u=["nodes","edges"],c=0;c<u.length;c++){var d=u[c],f=e.elements[d];Ke(f)&&l(f,d)}var h=r.collection();a.filter(function(w){return!o[w.id()]}).forEach(function(w){w.isParent()?h.merge(w):w.remove()}),h.forEach(function(w){return w.children().move({parent:null})}),h.forEach(function(w){return i(w).remove()})}e.style&&r.style(e.style),e.zoom!=null&&e.zoom!==n.zoom&&r.zoom(e.zoom),e.pan&&(e.pan.x!==n.pan.x||e.pan.y!==n.pan.y)&&r.pan(e.pan),e.data&&r.data(e.data);for(var v=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify","multiClickDebounceTime"],p=0;p<v.length;p++){var g=v[p];e[g]!=null&&r[g](e[g])}return r.endBatch(),this}else{var m=!!e,y={};m?y.elements=this.elements().map(function(w){return w.json()}):(y.elements={},a.forEach(function(w){var C=w.group();y.elements[C]||(y.elements[C]=[]),y.elements[C].push(w.json())})),this._private.styleEnabled&&(y.style=r.style().json()),y.data=Nr(r.data());var b=n.options;return y.zoomingEnabled=n.zoomingEnabled,y.userZoomingEnabled=n.userZoomingEnabled,y.zoom=n.zoom,y.minZoom=n.minZoom,y.maxZoom=n.maxZoom,y.panningEnabled=n.panningEnabled,y.userPanningEnabled=n.userPanningEnabled,y.pan=Nr(n.pan),y.boxSelectionEnabled=n.boxSelectionEnabled,y.renderer=Nr(b.renderer),y.hideEdgesOnViewport=b.hideEdgesOnViewport,y.textureOnViewport=b.textureOnViewport,y.wheelSensitivity=b.wheelSensitivity,y.motionBlur=b.motionBlur,y.multiClickDebounceTime=b.multiClickDebounceTime,y}}}),Js.$id=Js.getElementById,[Mz,zz,T1,fu,js,Kz,hu,Ys,Wz,ia,vo].forEach(function(t){Te(Js,t)});var Yz={fit:!0,directed:!1,padding:30,circle:!1,grid:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,depthSort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}},Zz={maximal:!1,acyclic:!1},ni=function(e){return e.scratch("breadthfirst")},N1=function(e,r){return e.scratch("breadthfirst",r)};function I1(t){this.options=Te({},Yz,Zz,t)}I1.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,a=n.nodes().filter(function(ae){return!ae.isParent()}),i=n,o=e.directed,l=e.acyclic||e.maximal||e.maximalAdjustments>0,u=Ut(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),c;if(Xt(e.roots))c=e.roots;else if(Ke(e.roots)){for(var d=[],f=0;f<e.roots.length;f++){var h=e.roots[f],v=r.getElementById(h);d.push(v)}c=r.collection(d)}else if(Ee(e.roots))c=r.$(e.roots);else if(o)c=a.roots();else{var p=n.components();c=r.collection();for(var g=function(ne){var ue=p[ne],ie=ue.maxDegree(!1),fe=ue.filter(function(pe){return pe.degree(!1)===ie});c=c.add(fe)},m=0;m<p.length;m++)g(m)}var y=[],b={},w=function(ne,ue){y[ue]==null&&(y[ue]=[]);var ie=y[ue].length;y[ue].push(ne),N1(ne,{index:ie,depth:ue})},C=function(ne,ue){var ie=ni(ne),fe=ie.depth,pe=ie.index;y[fe][pe]=null,w(ne,ue)};i.bfs({roots:c,directed:e.directed,visit:function(ne,ue,ie,fe,pe){var Oe=ne[0],Ie=Oe.id();w(Oe,pe),b[Ie]=!0}});for(var x=[],k=0;k<a.length;k++){var E=a[k];b[E.id()]||x.push(E)}var _=function(ne){for(var ue=y[ne],ie=0;ie<ue.length;ie++){var fe=ue[ie];if(fe==null){ue.splice(ie,1),ie--;continue}N1(fe,{depth:ne,index:ie})}},S=function(){for(var ne=0;ne<y.length;ne++)_(ne)},T=function(ne,ue){for(var ie=ni(ne),fe=ne.incomers().filter(function(I){return I.isNode()&&n.has(I)}),pe=-1,Oe=ne.id(),Ie=0;Ie<fe.length;Ie++){var we=fe[Ie],ke=ni(we);pe=Math.max(pe,ke.depth)}if(ie.depth<=pe){if(!e.acyclic&&ue[Oe])return null;var re=pe+1;return C(ne,re),ue[Oe]=re,!0}return!1};if(o&&l){var N=[],B={},O=function(ne){return N.push(ne)},D=function(){return N.shift()};for(a.forEach(function(ae){return N.push(ae)});N.length>0;){var L=D(),A=T(L,B);if(A)L.outgoers().filter(function(ae){return ae.isNode()&&n.has(ae)}).forEach(O);else if(A===null){$e("Detected double maximal shift for node `"+L.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}S();var M=0;if(e.avoidOverlap)for(var P=0;P<a.length;P++){var z=a[P],W=z.layoutDimensions(e),H=W.w,G=W.h;M=Math.max(M,H,G)}var X={},F=function(ne){if(X[ne.id()])return X[ne.id()];for(var ue=ni(ne).depth,ie=ne.neighborhood(),fe=0,pe=0,Oe=0;Oe<ie.length;Oe++){var Ie=ie[Oe];if(!(Ie.isEdge()||Ie.isParent()||!a.has(Ie))){var we=ni(Ie);if(we!=null){var ke=we.index,re=we.depth;if(!(ke==null||re==null)){var I=y[re].length;re<ue&&(fe+=ke/I,pe++)}}}}return pe=Math.max(1,pe),fe=fe/pe,pe===0&&(fe=0),X[ne.id()]=fe,fe},V=function(ne,ue){var ie=F(ne),fe=F(ue),pe=ie-fe;return pe===0?F0(ne.id(),ue.id()):pe};e.depthSort!==void 0&&(V=e.depthSort);for(var q=0;q<y.length;q++)y[q].sort(V),_(q);for(var $=[],K=0;K<x.length;K++)$.push(x[K]);y.unshift($),S();for(var R=0,j=0;j<y.length;j++)R=Math.max(y[j].length,R);var Y={x:u.x1+u.w/2,y:u.x1+u.h/2},se=y.reduce(function(ae,ne){return Math.max(ae,ne.length)},0),ce=function(ne){var ue=ni(ne),ie=ue.depth,fe=ue.index,pe=y[ie].length,Oe=Math.max(u.w/((e.grid?se:pe)+1),M),Ie=Math.max(u.h/(y.length+1),M),we=Math.min(u.w/2/y.length,u.h/2/y.length);if(we=Math.max(we,M),e.circle){var re=we*ie+we-(y.length>0&&y[0].length<=3?we/2:0),I=2*Math.PI/y[ie].length*fe;return ie===0&&y[0].length===1&&(re=1),{x:Y.x+re*Math.cos(I),y:Y.y+re*Math.sin(I)}}else{var ke={x:Y.x+(fe+1-(pe+1)/2)*Oe,y:(ie+1)*Ie};return ke}};return n.nodes().layoutPositions(this,e,ce),this};var Xz={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function B1(t){this.options=Te({},Xz,t)}B1.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,a=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));for(var o=Ut(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),l={x:o.x1+o.w/2,y:o.y1+o.h/2},u=e.sweep===void 0?2*Math.PI-2*Math.PI/i.length:e.sweep,c=u/Math.max(1,i.length-1),d,f=0,h=0;h<i.length;h++){var v=i[h],p=v.layoutDimensions(e),g=p.w,m=p.h;f=Math.max(f,g,m)}if(de(e.radius)?d=e.radius:i.length<=1?d=0:d=Math.min(o.h,o.w)/2-f,i.length>1&&e.avoidOverlap){f*=1.75;var y=Math.cos(c)-Math.cos(0),b=Math.sin(c)-Math.sin(0),w=Math.sqrt(f*f/(y*y+b*b));d=Math.max(w,d)}var C=function(k,E){var _=e.startAngle+E*c*(a?1:-1),S=d*Math.cos(_),T=d*Math.sin(_),N={x:l.x+S,y:l.y+T};return N};return n.nodes().layoutPositions(this,e,C),this};var Jz={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function D1(t){this.options=Te({},Jz,t)}D1.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,a=e.eles,i=a.nodes().not(":parent"),o=Ut(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),l={x:o.x1+o.w/2,y:o.y1+o.h/2},u=[],c=0,d=0;d<i.length;d++){var f=i[d],h=void 0;h=e.concentric(f),u.push({value:h,node:f}),f._private.scratch.concentric=h}i.updateStyle();for(var v=0;v<i.length;v++){var p=i[v],g=p.layoutDimensions(e);c=Math.max(c,g.w,g.h)}u.sort(function(ae,ne){return ne.value-ae.value});for(var m=e.levelWidth(i),y=[[]],b=y[0],w=0;w<u.length;w++){var C=u[w];if(b.length>0){var x=Math.abs(b[0].value-C.value);x>=m&&(b=[],y.push(b))}b.push(C)}var k=c+e.minNodeSpacing;if(!e.avoidOverlap){var E=y.length>0&&y[0].length>1,_=Math.min(o.w,o.h)/2-k,S=_/(y.length+E?1:0);k=Math.min(k,S)}for(var T=0,N=0;N<y.length;N++){var B=y[N],O=e.sweep===void 0?2*Math.PI-2*Math.PI/B.length:e.sweep,D=B.dTheta=O/Math.max(1,B.length-1);if(B.length>1&&e.avoidOverlap){var L=Math.cos(D)-Math.cos(0),A=Math.sin(D)-Math.sin(0),M=Math.sqrt(k*k/(L*L+A*A));T=Math.max(M,T)}B.r=T,T+=k}if(e.equidistant){for(var P=0,z=0,W=0;W<y.length;W++){var H=y[W],G=H.r-z;P=Math.max(P,G)}z=0;for(var X=0;X<y.length;X++){var F=y[X];X===0&&(z=F.r),F.r=z,z+=P}}for(var V={},q=0;q<y.length;q++)for(var $=y[q],K=$.dTheta,R=$.r,j=0;j<$.length;j++){var Y=$[j],se=e.startAngle+(r?1:-1)*K*j,ce={x:l.x+R*Math.cos(se),y:l.y+R*Math.sin(se)};V[Y.node.id()]=ce}return a.nodes().layoutPositions(this,e,function(ae){var ne=ae.id();return V[ne]}),this};var gu,Qz={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(e,r){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(e){return 2048},nodeOverlap:4,idealEdgeLength:function(e){return 32},edgeElasticity:function(e){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function Qs(t){this.options=Te({},Qz,t),this.options.layout=this;var e=this.options.eles.nodes(),r=this.options.eles.edges(),n=r.filter(function(a){var i=a.source().data("id"),o=a.target().data("id"),l=e.some(function(c){return c.data("id")===i}),u=e.some(function(c){return c.data("id")===o});return!l||!u});this.options.eles=this.options.eles.not(n)}Qs.prototype.run=function(){var t=this.options,e=t.cy,r=this;r.stopped=!1,(t.animate===!0||t.animate===!1)&&r.emit({type:"layoutstart",layout:r}),t.debug===!0?gu=!0:gu=!1;var n=e4(e,r,t);gu&&n4(n),t.randomize&&a4(n);var a=Zr(),i=function(){i4(n,e,t),t.fit===!0&&e.fit(t.padding)},o=function(h){return!(r.stopped||h>=t.numIter||(o4(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature<t.minTemp))},l=function(){if(t.animate===!0||t.animate===!1)i(),r.one("layoutstop",t.stop),r.emit({type:"layoutstop",layout:r});else{var h=t.eles.nodes(),v=O1(n,t,h);h.layoutPositions(r,t,v)}},u=0,c=!0;if(t.animate===!0){var d=function f(){for(var h=0;c&&h<t.refresh;)c=o(u),u++,h++;if(!c)P1(n,t),l();else{var v=Zr();v-a>=t.animationThreshold&&i(),ms(f)}};d()}else{for(;c;)c=o(u),u++;P1(n,t),l()}return this},Qs.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Qs.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var e4=function(e,r,n){for(var a=n.eles.edges(),i=n.eles.nodes(),o=Ut(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),l={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:a.size(),temperature:n.initialTemp,clientWidth:o.w,clientHeight:o.h,boundingBox:o},u=n.eles.components(),c={},d=0;d<u.length;d++)for(var f=u[d],h=0;h<f.length;h++){var v=f[h];c[v.id()]=d}for(var d=0;d<l.nodeSize;d++){var p=i[d],g=p.layoutDimensions(n),m={};m.isLocked=p.locked(),m.id=p.data("id"),m.parentId=p.data("parent"),m.cmptId=c[p.id()],m.children=[],m.positionX=p.position("x"),m.positionY=p.position("y"),m.offsetX=0,m.offsetY=0,m.height=g.w,m.width=g.h,m.maxX=m.positionX+m.width/2,m.minX=m.positionX-m.width/2,m.maxY=m.positionY+m.height/2,m.minY=m.positionY-m.height/2,m.padLeft=parseFloat(p.style("padding")),m.padRight=parseFloat(p.style("padding")),m.padTop=parseFloat(p.style("padding")),m.padBottom=parseFloat(p.style("padding")),m.nodeRepulsion=Je(n.nodeRepulsion)?n.nodeRepulsion(p):n.nodeRepulsion,l.layoutNodes.push(m),l.idToIndex[m.id]=d}for(var y=[],b=0,w=-1,C=[],d=0;d<l.nodeSize;d++){var p=l.layoutNodes[d],x=p.parentId;x!=null?l.layoutNodes[l.idToIndex[x]].children.push(p.id):(y[++w]=p.id,C.push(p.id))}for(l.graphSet.push(C);b<=w;){var k=y[b++],E=l.idToIndex[k],v=l.layoutNodes[E],_=v.children;if(_.length>0){l.graphSet.push(_);for(var d=0;d<_.length;d++)y[++w]=_[d]}}for(var d=0;d<l.graphSet.length;d++)for(var S=l.graphSet[d],h=0;h<S.length;h++){var T=l.idToIndex[S[h]];l.indexToGraph[T]=d}for(var d=0;d<l.edgeSize;d++){var N=a[d],B={};B.id=N.data("id"),B.sourceId=N.data("source"),B.targetId=N.data("target");var O=Je(n.idealEdgeLength)?n.idealEdgeLength(N):n.idealEdgeLength,D=Je(n.edgeElasticity)?n.edgeElasticity(N):n.edgeElasticity,L=l.idToIndex[B.sourceId],A=l.idToIndex[B.targetId],M=l.indexToGraph[L],P=l.indexToGraph[A];if(M!=P){for(var z=t4(B.sourceId,B.targetId,l),W=l.graphSet[z],H=0,m=l.layoutNodes[L];W.indexOf(m.id)===-1;)m=l.layoutNodes[l.idToIndex[m.parentId]],H++;for(m=l.layoutNodes[A];W.indexOf(m.id)===-1;)m=l.layoutNodes[l.idToIndex[m.parentId]],H++;O*=H*n.nestingFactor}B.idealLength=O,B.elasticity=D,l.layoutEdges.push(B)}return l},t4=function(e,r,n){var a=r4(e,r,0,n);return 2>a.count?0:a.graph},r4=function t(e,r,n,a){var i=a.graphSet[n];if(-1<i.indexOf(e)&&-1<i.indexOf(r))return{count:2,graph:n};for(var o=0,l=0;l<i.length;l++){var u=i[l],c=a.idToIndex[u],d=a.layoutNodes[c].children;if(d.length!==0){var f=a.indexToGraph[a.idToIndex[d[0]]],h=t(e,r,f,a);if(h.count!==0)if(h.count===1){if(o++,o===2)break}else return h}}return{count:o,graph:n}},n4,a4=function(e,r){for(var n=e.clientWidth,a=e.clientHeight,i=0;i<e.nodeSize;i++){var o=e.layoutNodes[i];o.children.length===0&&!o.isLocked&&(o.positionX=Math.random()*n,o.positionY=Math.random()*a)}},O1=function(e,r,n){var a=e.boundingBox,i={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};return r.boundingBox&&(n.forEach(function(o){var l=e.layoutNodes[e.idToIndex[o.data("id")]];i.x1=Math.min(i.x1,l.positionX),i.x2=Math.max(i.x2,l.positionX),i.y1=Math.min(i.y1,l.positionY),i.y2=Math.max(i.y2,l.positionY)}),i.w=i.x2-i.x1,i.h=i.y2-i.y1),function(o,l){var u=e.layoutNodes[e.idToIndex[o.data("id")]];if(r.boundingBox){var c=(u.positionX-i.x1)/i.w,d=(u.positionY-i.y1)/i.h;return{x:a.x1+c*a.w,y:a.y1+d*a.h}}else return{x:u.positionX,y:u.positionY}}},i4=function(e,r,n){var a=n.layout,i=n.eles.nodes(),o=O1(e,n,i);i.positions(o),e.ready!==!0&&(e.ready=!0,a.one("layoutready",n.ready),a.emit({type:"layoutready",layout:this}))},o4=function(e,r,n){s4(e,r),u4(e),d4(e,r),f4(e),h4(e)},s4=function(e,r){for(var n=0;n<e.graphSet.length;n++)for(var a=e.graphSet[n],i=a.length,o=0;o<i;o++)for(var l=e.layoutNodes[e.idToIndex[a[o]]],u=o+1;u<i;u++){var c=e.layoutNodes[e.idToIndex[a[u]]];l4(l,c,e,r)}},A1=function(e){return-e+2*e*Math.random()},l4=function(e,r,n,a){var i=e.cmptId,o=r.cmptId;if(!(i!==o&&!n.isCompound)){var l=r.positionX-e.positionX,u=r.positionY-e.positionY,c=1;l===0&&u===0&&(l=A1(c),u=A1(c));var d=c4(e,r,l,u);if(d>0)var f=a.nodeOverlap*d,h=Math.sqrt(l*l+u*u),v=f*l/h,p=f*u/h;else var g=el(e,l,u),m=el(r,-1*l,-1*u),y=m.x-g.x,b=m.y-g.y,w=y*y+b*b,h=Math.sqrt(w),f=(e.nodeRepulsion+r.nodeRepulsion)/w,v=f*y/h,p=f*b/h;e.isLocked||(e.offsetX-=v,e.offsetY-=p),r.isLocked||(r.offsetX+=v,r.offsetY+=p)}},c4=function(e,r,n,a){if(n>0)var i=e.maxX-r.minX;else var i=r.maxX-e.minX;if(a>0)var o=e.maxY-r.minY;else var o=r.maxY-e.minY;return i>=0&&o>=0?Math.sqrt(i*i+o*o):0},el=function(e,r,n){var a=e.positionX,i=e.positionY,o=e.height||1,l=e.width||1,u=n/r,c=o/l,d={};return r===0&&0<n||r===0&&0>n?(d.x=a,d.y=i+o/2,d):0<r&&-1*c<=u&&u<=c?(d.x=a+l/2,d.y=i+l*n/2/r,d):0>r&&-1*c<=u&&u<=c?(d.x=a-l/2,d.y=i-l*n/2/r,d):0<n&&(u<=-1*c||u>=c)?(d.x=a+o*r/2/n,d.y=i+o/2,d):(0>n&&(u<=-1*c||u>=c)&&(d.x=a-o*r/2/n,d.y=i-o/2),d)},u4=function(e,r){for(var n=0;n<e.edgeSize;n++){var a=e.layoutEdges[n],i=e.idToIndex[a.sourceId],o=e.layoutNodes[i],l=e.idToIndex[a.targetId],u=e.layoutNodes[l],c=u.positionX-o.positionX,d=u.positionY-o.positionY;if(!(c===0&&d===0)){var f=el(o,c,d),h=el(u,-1*c,-1*d),v=h.x-f.x,p=h.y-f.y,g=Math.sqrt(v*v+p*p),m=Math.pow(a.idealLength-g,2)/a.elasticity;if(g!==0)var y=m*v/g,b=m*p/g;else var y=0,b=0;o.isLocked||(o.offsetX+=y,o.offsetY+=b),u.isLocked||(u.offsetX-=y,u.offsetY-=b)}}},d4=function(e,r){if(r.gravity!==0)for(var n=1,a=0;a<e.graphSet.length;a++){var i=e.graphSet[a],o=i.length;if(a===0)var l=e.clientHeight/2,u=e.clientWidth/2;else var c=e.layoutNodes[e.idToIndex[i[0]]],d=e.layoutNodes[e.idToIndex[c.parentId]],l=d.positionX,u=d.positionY;for(var f=0;f<o;f++){var h=e.layoutNodes[e.idToIndex[i[f]]];if(!h.isLocked){var v=l-h.positionX,p=u-h.positionY,g=Math.sqrt(v*v+p*p);if(g>n){var m=r.gravity*v/g,y=r.gravity*p/g;h.offsetX+=m,h.offsetY+=y}}}}},f4=function(e,r){var n=[],a=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;a<=i;){var o=n[a++],l=e.idToIndex[o],u=e.layoutNodes[l],c=u.children;if(0<c.length&&!u.isLocked){for(var d=u.offsetX,f=u.offsetY,h=0;h<c.length;h++){var v=e.layoutNodes[e.idToIndex[c[h]]];v.offsetX+=d,v.offsetY+=f,n[++i]=c[h]}u.offsetX=0,u.offsetY=0}}},h4=function(e,r){for(var n=0;n<e.nodeSize;n++){var a=e.layoutNodes[n];0<a.children.length&&(a.maxX=void 0,a.minX=void 0,a.maxY=void 0,a.minY=void 0)}for(var n=0;n<e.nodeSize;n++){var a=e.layoutNodes[n];if(!(0<a.children.length||a.isLocked)){var i=p4(a.offsetX,a.offsetY,e.temperature);a.positionX+=i.x,a.positionY+=i.y,a.offsetX=0,a.offsetY=0,a.minX=a.positionX-a.width,a.maxX=a.positionX+a.width,a.minY=a.positionY-a.height,a.maxY=a.positionY+a.height,v4(a,e)}}for(var n=0;n<e.nodeSize;n++){var a=e.layoutNodes[n];0<a.children.length&&!a.isLocked&&(a.positionX=(a.maxX+a.minX)/2,a.positionY=(a.maxY+a.minY)/2,a.width=a.maxX-a.minX,a.height=a.maxY-a.minY)}},p4=function(e,r,n){var a=Math.sqrt(e*e+r*r);if(a>n)var i={x:n*e/a,y:n*r/a};else var i={x:e,y:r};return i},v4=function t(e,r){var n=e.parentId;if(n!=null){var a=r.layoutNodes[r.idToIndex[n]],i=!1;if((a.maxX==null||e.maxX+a.padRight>a.maxX)&&(a.maxX=e.maxX+a.padRight,i=!0),(a.minX==null||e.minX-a.padLeft<a.minX)&&(a.minX=e.minX-a.padLeft,i=!0),(a.maxY==null||e.maxY+a.padBottom>a.maxY)&&(a.maxY=e.maxY+a.padBottom,i=!0),(a.minY==null||e.minY-a.padTop<a.minY)&&(a.minY=e.minY-a.padTop,i=!0),i)return t(a,r)}},P1=function(e,r){for(var n=e.layoutNodes,a=[],i=0;i<n.length;i++){var o=n[i],l=o.cmptId,u=a[l]=a[l]||[];u.push(o)}for(var c=0,i=0;i<a.length;i++){var d=a[i];if(d){d.x1=1/0,d.x2=-1/0,d.y1=1/0,d.y2=-1/0;for(var f=0;f<d.length;f++){var h=d[f];d.x1=Math.min(d.x1,h.positionX-h.width/2),d.x2=Math.max(d.x2,h.positionX+h.width/2),d.y1=Math.min(d.y1,h.positionY-h.height/2),d.y2=Math.max(d.y2,h.positionY+h.height/2)}d.w=d.x2-d.x1,d.h=d.y2-d.y1,c+=d.w*d.h}}a.sort(function(b,w){return w.w*w.h-b.w*b.h});for(var v=0,p=0,g=0,m=0,y=Math.sqrt(c)*e.clientWidth/e.clientHeight,i=0;i<a.length;i++){var d=a[i];if(d){for(var f=0;f<d.length;f++){var h=d[f];h.isLocked||(h.positionX+=v-d.x1,h.positionY+=p-d.y1)}v+=d.w+r.componentSpacing,g+=d.w+r.componentSpacing,m=Math.max(m,d.h),g>y&&(p+=m+r.componentSpacing,v=0,g=0,m=0)}}},g4={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function L1(t){this.options=Te({},g4,t)}L1.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));var i=Ut(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(i.h===0||i.w===0)n.nodes().layoutPositions(this,e,function(X){return{x:i.x1,y:i.y1}});else{var o=a.size(),l=Math.sqrt(o*i.h/i.w),u=Math.round(l),c=Math.round(i.w/i.h*l),d=function(F){if(F==null)return Math.min(u,c);var V=Math.min(u,c);V==u?u=F:c=F},f=function(F){if(F==null)return Math.max(u,c);var V=Math.max(u,c);V==u?u=F:c=F},h=e.rows,v=e.cols!=null?e.cols:e.columns;if(h!=null&&v!=null)u=h,c=v;else if(h!=null&&v==null)u=h,c=Math.ceil(o/u);else if(h==null&&v!=null)c=v,u=Math.ceil(o/c);else if(c*u>o){var p=d(),g=f();(p-1)*g>=o?d(p-1):(g-1)*p>=o&&f(g-1)}else for(;c*u<o;){var m=d(),y=f();(y+1)*m>=o?f(y+1):d(m+1)}var b=i.w/c,w=i.h/u;if(e.condense&&(b=0,w=0),e.avoidOverlap)for(var C=0;C<a.length;C++){var x=a[C],k=x._private.position;(k.x==null||k.y==null)&&(k.x=0,k.y=0);var E=x.layoutDimensions(e),_=e.avoidOverlapPadding,S=E.w+_,T=E.h+_;b=Math.max(b,S),w=Math.max(w,T)}for(var N={},B=function(F,V){return!!N["c-"+F+"-"+V]},O=function(F,V){N["c-"+F+"-"+V]=!0},D=0,L=0,A=function(){L++,L>=c&&(L=0,D++)},M={},P=0;P<a.length;P++){var z=a[P],W=e.position(z);if(W&&(W.row!==void 0||W.col!==void 0)){var H={row:W.row,col:W.col};if(H.col===void 0)for(H.col=0;B(H.row,H.col);)H.col++;else if(H.row===void 0)for(H.row=0;B(H.row,H.col);)H.row++;M[z.id()]=H,O(H.row,H.col)}}var G=function(F,V){var q,$;if(F.locked()||F.isParent())return!1;var K=M[F.id()];if(K)q=K.col*b+b/2+i.x1,$=K.row*w+w/2+i.y1;else{for(;B(D,L);)A();q=L*b+b/2+i.x1,$=D*w+w/2+i.y1,O(D,L),A()}return{x:q,y:$}};a.layoutPositions(this,e,G)}return this};var m4={ready:function(){},stop:function(){}};function mu(t){this.options=Te({},m4,t)}mu.prototype.run=function(){var t=this.options,e=t.eles,r=this;return t.cy,r.emit("layoutstart"),e.nodes().positions(function(){return{x:0,y:0}}),r.one("layoutready",t.ready),r.emit("layoutready"),r.one("layoutstop",t.stop),r.emit("layoutstop"),this},mu.prototype.stop=function(){return this};var y4={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,spacingFactor:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function R1(t){this.options=Te({},y4,t)}R1.prototype.run=function(){var t=this.options,e=t.eles,r=e.nodes(),n=Je(t.positions);function a(i){if(t.positions==null)return k5(i.position());if(n)return t.positions(i);var o=t.positions[i._private.data.id];return o??null}return r.layoutPositions(this,t,function(i,o){var l=a(i);return i.locked()||l==null?!1:l}),this};var b4={fit:!0,padding:30,boundingBox:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,r){return!0},ready:void 0,stop:void 0,transform:function(e,r){return r}};function M1(t){this.options=Te({},b4,t)}M1.prototype.run=function(){var t=this.options,e=t.cy,r=t.eles,n=Ut(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),a=function(o,l){return{x:n.x1+Math.round(Math.random()*n.w),y:n.y1+Math.round(Math.random()*n.h)}};return r.nodes().layoutPositions(this,t,a),this};var w4=[{name:"breadthfirst",impl:I1},{name:"circle",impl:B1},{name:"concentric",impl:D1},{name:"cose",impl:Qs},{name:"grid",impl:L1},{name:"null",impl:mu},{name:"preset",impl:R1},{name:"random",impl:M1}];function F1(t){this.options=t,this.notifications=0}var $1=function(){},V1=function(){throw new Error("A headless instance can not render images")};F1.prototype={recalculateRenderedStyle:$1,notify:function(){this.notifications++},init:$1,isHeadless:function(){return!0},png:V1,jpg:V1};var yu={};yu.arrowShapeWidth=.3,yu.registerArrowShapes=function(){var t=this.arrowShapes={},e=this,r=function(c,d,f,h,v,p,g){var m=v.x-f/2-g,y=v.x+f/2+g,b=v.y-f/2-g,w=v.y+f/2+g,C=m<=c&&c<=y&&b<=d&&d<=w;return C},n=function(c,d,f,h,v){var p=c*Math.cos(h)-d*Math.sin(h),g=c*Math.sin(h)+d*Math.cos(h),m=p*f,y=g*f,b=m+v.x,w=y+v.y;return{x:b,y:w}},a=function(c,d,f,h){for(var v=[],p=0;p<c.length;p+=2){var g=c[p],m=c[p+1];v.push(n(g,m,d,f,h))}return v},i=function(c){for(var d=[],f=0;f<c.length;f++){var h=c[f];d.push(h.x,h.y)}return d},o=function(c){return c.pstyle("width").pfValue*c.pstyle("arrow-scale").pfValue*2},l=function(c,d){Ee(d)&&(d=t[d]),t[c]=Te({name:c,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(h,v,p,g,m,y){var b=i(a(this.points,p+2*y,g,m)),w=Wt(h,v,b);return w},roughCollide:r,draw:function(h,v,p,g){var m=a(this.points,v,p,g);e.arrowShapeImpl("polygon")(h,m)},spacing:function(h){return 0},gap:o},d)};l("none",{collide:bs,roughCollide:bs,draw:qc,spacing:J0,gap:J0}),l("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),l("arrow","triangle"),l("triangle-backcurve",{points:t.triangle.points,controlPoint:[0,-.15],roughCollide:r,draw:function(c,d,f,h,v){var p=a(this.points,d,f,h),g=this.controlPoint,m=n(g[0],g[1],d,f,h);e.arrowShapeImpl(this.name)(c,p,m)},gap:function(c){return o(c)*.8}}),l("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(c,d,f,h,v,p,g){var m=i(a(this.points,f+2*g,h,v)),y=i(a(this.pointsTee,f+2*g,h,v)),b=Wt(c,d,m)||Wt(c,d,y);return b},draw:function(c,d,f,h,v){var p=a(this.points,d,f,h),g=a(this.pointsTee,d,f,h);e.arrowShapeImpl(this.name)(c,p,g)}}),l("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:function(c,d,f,h,v,p,g){var m=v,y=Math.pow(m.x-c,2)+Math.pow(m.y-d,2)<=Math.pow((f+2*g)*this.radius,2),b=i(a(this.points,f+2*g,h,v));return Wt(c,d,b)||y},draw:function(c,d,f,h,v){var p=a(this.pointsTr,d,f,h);e.arrowShapeImpl(this.name)(c,p,h.x,h.y,this.radius*d)},spacing:function(c){return e.getArrowWidth(c.pstyle("width").pfValue,c.pstyle("arrow-scale").value)*this.radius}}),l("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(c,d){var f=this.baseCrossLinePts.slice(),h=d/c,v=3,p=5;return f[v]=f[v]-h,f[p]=f[p]-h,f},collide:function(c,d,f,h,v,p,g){var m=i(a(this.points,f+2*g,h,v)),y=i(a(this.crossLinePts(f,p),f+2*g,h,v)),b=Wt(c,d,m)||Wt(c,d,y);return b},draw:function(c,d,f,h,v){var p=a(this.points,d,f,h),g=a(this.crossLinePts(d,v),d,f,h);e.arrowShapeImpl(this.name)(c,p,g)}}),l("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(c){return o(c)*.525}}),l("circle",{radius:.15,collide:function(c,d,f,h,v,p,g){var m=v,y=Math.pow(m.x-c,2)+Math.pow(m.y-d,2)<=Math.pow((f+2*g)*this.radius,2);return y},draw:function(c,d,f,h,v){e.arrowShapeImpl(this.name)(c,h.x,h.y,this.radius*d)},spacing:function(c){return e.getArrowWidth(c.pstyle("width").pfValue,c.pstyle("arrow-scale").value)*this.radius}}),l("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(c){return 1},gap:function(c){return 1}}),l("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),l("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(c){return c.pstyle("width").pfValue*c.pstyle("arrow-scale").value}}),l("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:function(c){return .95*c.pstyle("width").pfValue*c.pstyle("arrow-scale").value}})};var oa={};oa.projectIntoViewport=function(t,e){var r=this.cy,n=this.findContainerClientCoords(),a=n[0],i=n[1],o=n[4],l=r.pan(),u=r.zoom(),c=((t-a)/o-l.x)/u,d=((e-i)/o-l.y)/u;return[c,d]},oa.findContainerClientCoords=function(){if(this.containerBB)return this.containerBB;var t=this.container,e=t.getBoundingClientRect(),r=this.cy.window().getComputedStyle(t),n=function(y){return parseFloat(r.getPropertyValue(y))},a={left:n("padding-left"),right:n("padding-right"),top:n("padding-top"),bottom:n("padding-bottom")},i={left:n("border-left-width"),right:n("border-right-width"),top:n("border-top-width"),bottom:n("border-bottom-width")},o=t.clientWidth,l=t.clientHeight,u=a.left+a.right,c=a.top+a.bottom,d=i.left+i.right,f=e.width/(o+d),h=o-u,v=l-c,p=e.left+a.left+i.left,g=e.top+a.top+i.top;return this.containerBB=[p,g,h,v,f]},oa.invalidateContainerClientCoordsCache=function(){this.containerBB=null},oa.findNearestElement=function(t,e,r,n){return this.findNearestElements(t,e,r,n)[0]},oa.findNearestElements=function(t,e,r,n){var a=this,i=this,o=i.getCachedZSortedEles(),l=[],u=i.cy.zoom(),c=i.cy.hasCompoundNodes(),d=(n?24:8)/u,f=(n?8:2)/u,h=(n?8:2)/u,v=1/0,p,g;r&&(o=o.interactive);function m(E,_){if(E.isNode()){if(g)return;g=E,l.push(E)}if(E.isEdge()&&(_==null||_<v))if(p){if(p.pstyle("z-compound-depth").value===E.pstyle("z-compound-depth").value&&p.pstyle("z-compound-depth").value===E.pstyle("z-compound-depth").value){for(var S=0;S<l.length;S++)if(l[S].isEdge()){l[S]=E,p=E,v=_??v;break}}}else l.push(E),p=E,v=_??v}function y(E){var _=E.outerWidth()+2*f,S=E.outerHeight()+2*f,T=_/2,N=S/2,B=E.position(),O=E.pstyle("corner-radius").value==="auto"?"auto":E.pstyle("corner-radius").pfValue,D=E._private.rscratch;if(B.x-T<=t&&t<=B.x+T&&B.y-N<=e&&e<=B.y+N){var L=i.nodeShapes[a.getNodeShape(E)];if(L.checkPoint(t,e,0,_,S,B.x,B.y,O,D))return m(E,0),!0}}function b(E){var _=E._private,S=_.rscratch,T=E.pstyle("width").pfValue,N=E.pstyle("arrow-scale").value,B=T/2+d,O=B*B,D=B*2,P=_.source,z=_.target,L;if(S.edgeType==="segments"||S.edgeType==="straight"||S.edgeType==="haystack"){for(var A=S.allpts,M=0;M+3<A.length;M+=2)if(M5(t,e,A[M],A[M+1],A[M+2],A[M+3],D)&&O>(L=z5(t,e,A[M],A[M+1],A[M+2],A[M+3])))return m(E,L),!0}else if(S.edgeType==="bezier"||S.edgeType==="multibezier"||S.edgeType==="self"||S.edgeType==="compound"){for(var A=S.allpts,M=0;M+5<S.allpts.length;M+=4)if(F5(t,e,A[M],A[M+1],A[M+2],A[M+3],A[M+4],A[M+5],D)&&O>(L=q5(t,e,A[M],A[M+1],A[M+2],A[M+3],A[M+4],A[M+5])))return m(E,L),!0}for(var P=P||_.source,z=z||_.target,W=a.getArrowWidth(T,N),H=[{name:"source",x:S.arrowStartX,y:S.arrowStartY,angle:S.srcArrowAngle},{name:"target",x:S.arrowEndX,y:S.arrowEndY,angle:S.tgtArrowAngle},{name:"mid-source",x:S.midX,y:S.midY,angle:S.midsrcArrowAngle},{name:"mid-target",x:S.midX,y:S.midY,angle:S.midtgtArrowAngle}],M=0;M<H.length;M++){var G=H[M],X=i.arrowShapes[E.pstyle(G.name+"-arrow-shape").value],F=E.pstyle("width").pfValue;if(X.roughCollide(t,e,W,G.angle,{x:G.x,y:G.y},F,d)&&X.collide(t,e,W,G.angle,{x:G.x,y:G.y},F,d))return m(E),!0}c&&l.length>0&&(y(P),y(z))}function w(E,_,S){return gr(E,_,S)}function C(E,_){var S=E._private,T=h,N;_?N=_+"-":N="",E.boundingBox();var B=S.labelBounds[_||"main"],O=E.pstyle(N+"label").value,D=E.pstyle("text-events").strValue==="yes";if(!(!D||!O)){var L=w(S.rscratch,"labelX",_),A=w(S.rscratch,"labelY",_),M=w(S.rscratch,"labelAngle",_),P=E.pstyle(N+"text-margin-x").pfValue,z=E.pstyle(N+"text-margin-y").pfValue,W=B.x1-T-P,H=B.x2+T-P,G=B.y1-T-z,X=B.y2+T-z;if(M){var F=Math.cos(M),V=Math.sin(M),q=function(ce,ae){return ce=ce-L,ae=ae-A,{x:ce*F-ae*V+L,y:ce*V+ae*F+A}},$=q(W,G),K=q(W,X),R=q(H,G),j=q(H,X),Y=[$.x+P,$.y+z,R.x+P,R.y+z,j.x+P,j.y+z,K.x+P,K.y+z];if(Wt(t,e,Y))return m(E),!0}else if(za(B,t,e))return m(E),!0}}for(var x=o.length-1;x>=0;x--){var k=o[x];k.isNode()?y(k)||C(k):b(k)||C(k)||C(k,"source")||C(k,"target")}return l},oa.getAllInBox=function(t,e,r,n){var a=this.getCachedZSortedEles().interactive,i=[],o=Math.min(t,r),l=Math.max(t,r),u=Math.min(e,n),c=Math.max(e,n);t=o,r=l,e=u,n=c;for(var d=Ut({x1:t,y1:e,x2:r,y2:n}),f=0;f<a.length;f++){var h=a[f];if(h.isNode()){var v=h,p=v.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:!1});Gc(d,p)&&!sb(p,d)&&i.push(v)}else{var g=h,m=g._private,y=m.rscratch;if(y.startX!=null&&y.startY!=null&&!za(d,y.startX,y.startY)||y.endX!=null&&y.endY!=null&&!za(d,y.endX,y.endY))continue;if(y.edgeType==="bezier"||y.edgeType==="multibezier"||y.edgeType==="self"||y.edgeType==="compound"||y.edgeType==="segments"||y.edgeType==="haystack"){for(var b=m.rstyle.bezierPts||m.rstyle.linePts||m.rstyle.haystackPts,w=!0,C=0;C<b.length;C++)if(!R5(d,b[C])){w=!1;break}w&&i.push(g)}else(y.edgeType==="haystack"||y.edgeType==="straight")&&i.push(g)}}return i};var tl={};tl.calculateArrowAngles=function(t){var e=t._private.rscratch,r=e.edgeType==="haystack",n=e.edgeType==="bezier",a=e.edgeType==="multibezier",i=e.edgeType==="segments",o=e.edgeType==="compound",l=e.edgeType==="self",u,c,d,f,h,v,y,b;if(r?(d=e.haystackPts[0],f=e.haystackPts[1],h=e.haystackPts[2],v=e.haystackPts[3]):(d=e.arrowStartX,f=e.arrowStartY,h=e.arrowEndX,v=e.arrowEndY),y=e.midX,b=e.midY,i)u=d-e.segpts[0],c=f-e.segpts[1];else if(a||o||l||n){var p=e.allpts,g=bt(p[0],p[2],p[4],.1),m=bt(p[1],p[3],p[5],.1);u=d-g,c=f-m}else u=d-y,c=f-b;e.srcArrowAngle=Es(u,c);var y=e.midX,b=e.midY;if(r&&(y=(d+h)/2,b=(f+v)/2),u=h-d,c=v-f,i){var p=e.allpts;if(p.length/2%2===0){var w=p.length/2,C=w-2;u=p[w]-p[C],c=p[w+1]-p[C+1]}else if(e.isRound)u=e.midVector[1],c=-e.midVector[0];else{var w=p.length/2-1,C=w-2;u=p[w]-p[C],c=p[w+1]-p[C+1]}}else if(a||o||l){var p=e.allpts,x=e.ctrlpts,k,E,_,S;if(x.length/2%2===0){var T=p.length/2-1,N=T+2,B=N+2;k=bt(p[T],p[N],p[B],0),E=bt(p[T+1],p[N+1],p[B+1],0),_=bt(p[T],p[N],p[B],1e-4),S=bt(p[T+1],p[N+1],p[B+1],1e-4)}else{var N=p.length/2-1,T=N-2,B=N+2;k=bt(p[T],p[N],p[B],.4999),E=bt(p[T+1],p[N+1],p[B+1],.4999),_=bt(p[T],p[N],p[B],.5),S=bt(p[T+1],p[N+1],p[B+1],.5)}u=_-k,c=S-E}if(e.midtgtArrowAngle=Es(u,c),e.midDispX=u,e.midDispY=c,u*=-1,c*=-1,i){var p=e.allpts;if(p.length/2%2!==0){if(!e.isRound){var w=p.length/2-1,O=w+2;u=-(p[O]-p[w]),c=-(p[O+1]-p[w+1])}}}if(e.midsrcArrowAngle=Es(u,c),i)u=h-e.segpts[e.segpts.length-2],c=v-e.segpts[e.segpts.length-1];else if(a||o||l||n){var p=e.allpts,D=p.length,g=bt(p[D-6],p[D-4],p[D-2],.9),m=bt(p[D-5],p[D-3],p[D-1],.9);u=h-g,c=v-m}else u=h-y,c=v-b;e.tgtArrowAngle=Es(u,c)},tl.getArrowWidth=tl.getArrowHeight=function(t,e){var r=this.arrowWidthCache=this.arrowWidthCache||{},n=r[t+", "+e];return n||(n=Math.max(Math.pow(t*13.37,.9),29)*e,r[t+", "+e]=n,n)};var bu,wu,Dr={},or={},q1,z1,sa,rl,Qr,la,ca,Or,ai,nl,H1,K1,Cu,Eu,G1,U1=function(e,r,n){n.x=r.x-e.x,n.y=r.y-e.y,n.len=Math.sqrt(n.x*n.x+n.y*n.y),n.nx=n.x/n.len,n.ny=n.y/n.len,n.ang=Math.atan2(n.ny,n.nx)},C4=function(e,r){r.x=e.x*-1,r.y=e.y*-1,r.nx=e.nx*-1,r.ny=e.ny*-1,r.ang=e.ang>0?-(Math.PI-e.ang):Math.PI+e.ang},E4=function(e,r,n,a,i){if(e!==G1?U1(r,e,Dr):C4(or,Dr),U1(r,n,or),q1=Dr.nx*or.ny-Dr.ny*or.nx,z1=Dr.nx*or.nx-Dr.ny*-or.ny,Qr=Math.asin(Math.max(-1,Math.min(1,q1))),Math.abs(Qr)<1e-6){bu=r.x,wu=r.y,ca=ai=0;return}sa=1,rl=!1,z1<0?Qr<0?Qr=Math.PI+Qr:(Qr=Math.PI-Qr,sa=-1,rl=!0):Qr>0&&(sa=-1,rl=!0),r.radius!==void 0?ai=r.radius:ai=a,la=Qr/2,nl=Math.min(Dr.len/2,or.len/2),i?(Or=Math.abs(Math.cos(la)*ai/Math.sin(la)),Or>nl?(Or=nl,ca=Math.abs(Or*Math.sin(la)/Math.cos(la))):ca=ai):(Or=Math.min(nl,ai),ca=Math.abs(Or*Math.sin(la)/Math.cos(la))),Cu=r.x+or.nx*Or,Eu=r.y+or.ny*Or,bu=Cu-or.ny*ca*sa,wu=Eu+or.nx*ca*sa,H1=r.x+Dr.nx*Or,K1=r.y+Dr.ny*Or,G1=r};function W1(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function xu(t,e,r,n){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(E4(t,e,r,n,a),{cx:bu,cy:wu,radius:ca,startX:H1,startY:K1,stopX:Cu,stopY:Eu,startAngle:Dr.ang+Math.PI/2*sa,endAngle:or.ang-Math.PI/2*sa,counterClockwise:rl})}var Rt={};Rt.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,a=e.vectorNormInverse,i,o=t.pstyle("source-endpoint"),l=t.pstyle("target-endpoint"),u=o.units!=null&&l.units!=null,c=function(x,k,E,_){var S=_-k,T=E-x,N=Math.sqrt(T*T+S*S);return{x:-S/N,y:T/N}},d=t.pstyle("edge-distances").value;switch(d){case"node-position":i=r;break;case"intersection":i=n;break;case"endpoints":{if(u){var f=this.manualEndptToPx(t.source()[0],o),h=vr(f,2),v=h[0],p=h[1],g=this.manualEndptToPx(t.target()[0],l),m=vr(g,2),y=m[0],b=m[1],w={x1:v,y1:p,x2:y,y2:b};a=c(v,p,y,b),i=w}else $e("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),i=n;break}}return{midptPts:i,vectorNormInverse:a}},Rt.findHaystackPoints=function(t){for(var e=0;e<t.length;e++){var r=t[e],n=r._private,a=n.rscratch;if(!a.haystack){var i=Math.random()*2*Math.PI;a.source={x:Math.cos(i),y:Math.sin(i)},i=Math.random()*2*Math.PI,a.target={x:Math.cos(i),y:Math.sin(i)}}var o=n.source,l=n.target,u=o.position(),c=l.position(),d=o.width(),f=l.width(),h=o.height(),v=l.height(),p=r.pstyle("haystack-radius").value,g=p/2;a.haystackPts=a.allpts=[a.source.x*d*g+u.x,a.source.y*h*g+u.y,a.target.x*f*g+c.x,a.target.y*v*g+c.y],a.midX=(a.allpts[0]+a.allpts[2])/2,a.midY=(a.allpts[1]+a.allpts[3])/2,a.edgeType="haystack",a.haystack=!0,this.storeEdgeProjections(r),this.calculateArrowAngles(r),this.recalculateEdgeLabelProjections(r),this.calculateLabelAngles(r)}},Rt.findSegmentsPoints=function(t,e){var r=t._private.rscratch,n=t.pstyle("segment-weights"),a=t.pstyle("segment-distances"),i=t.pstyle("segment-radii"),o=t.pstyle("radius-type"),l=Math.min(n.pfValue.length,a.pfValue.length),u=i.pfValue[i.pfValue.length-1],c=o.pfValue[o.pfValue.length-1];r.edgeType="segments",r.segpts=[],r.radii=[],r.isArcRadius=[];for(var d=0;d<l;d++){var f=n.pfValue[d],h=a.pfValue[d],v=1-f,p=f,g=this.findMidptPtsEtc(t,e),m=g.midptPts,y=g.vectorNormInverse,b={x:m.x1*v+m.x2*p,y:m.y1*v+m.y2*p};r.segpts.push(b.x+y.x*h,b.y+y.y*h),r.radii.push(i.pfValue[d]!==void 0?i.pfValue[d]:u),r.isArcRadius.push((o.pfValue[d]!==void 0?o.pfValue[d]:c)==="arc-radius")}},Rt.findLoopPoints=function(t,e,r,n){var a=t._private.rscratch,i=e.dirCounts,o=e.srcPos,l=t.pstyle("control-point-distances"),u=l?l.pfValue[0]:void 0,c=t.pstyle("loop-direction").pfValue,d=t.pstyle("loop-sweep").pfValue,f=t.pstyle("control-point-step-size").pfValue;a.edgeType="self";var h=r,v=f;n&&(h=0,v=u);var p=c-Math.PI/2,g=p-d/2,m=p+d/2,y=c+"_"+d;h=i[y]===void 0?i[y]=0:++i[y],a.ctrlpts=[o.x+Math.cos(g)*1.4*v*(h/3+1),o.y+Math.sin(g)*1.4*v*(h/3+1),o.x+Math.cos(m)*1.4*v*(h/3+1),o.y+Math.sin(m)*1.4*v*(h/3+1)]},Rt.findCompoundLoopPoints=function(t,e,r,n){var a=t._private.rscratch;a.edgeType="compound";var i=e.srcPos,o=e.tgtPos,l=e.srcW,u=e.srcH,c=e.tgtW,d=e.tgtH,f=t.pstyle("control-point-step-size").pfValue,h=t.pstyle("control-point-distances"),v=h?h.pfValue[0]:void 0,p=r,g=f;n&&(p=0,g=v);var m=50,y={x:i.x-l/2,y:i.y-u/2},b={x:o.x-c/2,y:o.y-d/2},w={x:Math.min(y.x,b.x),y:Math.min(y.y,b.y)},C=.5,x=Math.max(C,Math.log(l*.01)),k=Math.max(C,Math.log(c*.01));a.ctrlpts=[w.x,w.y-(1+Math.pow(m,1.12)/100)*g*(p/3+1)*x,w.x-(1+Math.pow(m,1.12)/100)*g*(p/3+1)*k,w.y]},Rt.findStraightEdgePoints=function(t){t._private.rscratch.edgeType="straight"},Rt.findBezierPoints=function(t,e,r,n,a){var i=t._private.rscratch,o=t.pstyle("control-point-step-size").pfValue,l=t.pstyle("control-point-distances"),u=t.pstyle("control-point-weights"),c=l&&u?Math.min(l.value.length,u.value.length):1,d=l?l.pfValue[0]:void 0,f=u.value[0],h=n;i.edgeType=h?"multibezier":"bezier",i.ctrlpts=[];for(var v=0;v<c;v++){var p=(.5-e.eles.length/2+r)*o*(a?-1:1),g=void 0,m=ab(p);h&&(d=l?l.pfValue[v]:o,f=u.value[v]),n?g=d:g=d!==void 0?m*d:void 0;var y=g!==void 0?g:p,b=1-f,w=f,C=this.findMidptPtsEtc(t,e),x=C.midptPts,k=C.vectorNormInverse,E={x:x.x1*b+x.x2*w,y:x.y1*b+x.y2*w};i.ctrlpts.push(E.x+k.x*y,E.y+k.y*y)}},Rt.findTaxiPoints=function(t,e){var r=t._private.rscratch;r.edgeType="segments";var n="vertical",a="horizontal",i="leftward",o="rightward",l="downward",u="upward",c="auto",d=e.posPts,f=e.srcW,h=e.srcH,v=e.tgtW,p=e.tgtH,g=t.pstyle("edge-distances").value,m=g!=="node-position",y=t.pstyle("taxi-direction").value,b=y,w=t.pstyle("taxi-turn"),C=w.units==="%",x=w.pfValue,k=x<0,E=t.pstyle("taxi-turn-min-distance").pfValue,_=m?(f+v)/2:0,S=m?(h+p)/2:0,T=d.x2-d.x1,N=d.y2-d.y1,B=function(me,be){return me>0?Math.max(me-be,0):Math.min(me+be,0)},O=B(T,_),D=B(N,S),L=!1;b===c?y=Math.abs(O)>Math.abs(D)?a:n:b===u||b===l?(y=n,L=!0):(b===i||b===o)&&(y=a,L=!0);var A=y===n,M=A?D:O,P=A?N:T,z=ab(P),W=!1;!(L&&(C||k))&&(b===l&&P<0||b===u&&P>0||b===i&&P>0||b===o&&P<0)&&(z*=-1,M=z*Math.abs(M),W=!0);var H;if(C){var G=x<0?1+x:x;H=G*M}else{var X=x<0?M:0;H=X+x*z}var F=function(me){return Math.abs(me)<E||Math.abs(me)>=Math.abs(M)},V=F(H),q=F(Math.abs(M)-Math.abs(H)),$=V||q;if($&&!W)if(A){var K=Math.abs(P)<=h/2,R=Math.abs(T)<=v/2;if(K){var j=(d.x1+d.x2)/2,Y=d.y1,se=d.y2;r.segpts=[j,Y,j,se]}else if(R){var ce=(d.y1+d.y2)/2,ae=d.x1,ne=d.x2;r.segpts=[ae,ce,ne,ce]}else r.segpts=[d.x1,d.y2]}else{var ue=Math.abs(P)<=f/2,ie=Math.abs(N)<=p/2;if(ue){var fe=(d.y1+d.y2)/2,pe=d.x1,Oe=d.x2;r.segpts=[pe,fe,Oe,fe]}else if(ie){var Ie=(d.x1+d.x2)/2,we=d.y1,ke=d.y2;r.segpts=[Ie,we,Ie,ke]}else r.segpts=[d.x2,d.y1]}else if(A){var re=d.y1+H+(m?h/2*z:0),I=d.x1,U=d.x2;r.segpts=[I,re,U,re]}else{var te=d.x1+H+(m?f/2*z:0),Z=d.y1,J=d.y2;r.segpts=[te,Z,te,J]}if(r.isRound){var le=t.pstyle("taxi-radius").value,ee=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(le),r.isArcRadius=new Array(r.segpts.length/2).fill(ee)}},Rt.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,a=e.tgtPos,i=e.srcW,o=e.srcH,l=e.tgtW,u=e.tgtH,c=e.srcShape,d=e.tgtShape,f=e.srcCornerRadius,h=e.tgtCornerRadius,v=e.srcRs,p=e.tgtRs,g=!de(r.startX)||!de(r.startY),m=!de(r.arrowStartX)||!de(r.arrowStartY),y=!de(r.endX)||!de(r.endY),b=!de(r.arrowEndX)||!de(r.arrowEndY),w=3,C=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,x=w*C,k=Qn({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),E=k<x,_=Qn({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.endX,y:r.endY}),S=_<x,T=!1;if(g||m||E){T=!0;var N={x:r.ctrlpts[0]-n.x,y:r.ctrlpts[1]-n.y},B=Math.sqrt(N.x*N.x+N.y*N.y),O={x:N.x/B,y:N.y/B},D=Math.max(i,o),L={x:r.ctrlpts[0]+O.x*2*D,y:r.ctrlpts[1]+O.y*2*D},A=c.intersectLine(n.x,n.y,i,o,L.x,L.y,0,f,v);E?(r.ctrlpts[0]=r.ctrlpts[0]+O.x*(x-k),r.ctrlpts[1]=r.ctrlpts[1]+O.y*(x-k)):(r.ctrlpts[0]=A[0]+O.x*x,r.ctrlpts[1]=A[1]+O.y*x)}if(y||b||S){T=!0;var M={x:r.ctrlpts[0]-a.x,y:r.ctrlpts[1]-a.y},P=Math.sqrt(M.x*M.x+M.y*M.y),z={x:M.x/P,y:M.y/P},W=Math.max(i,o),H={x:r.ctrlpts[0]+z.x*2*W,y:r.ctrlpts[1]+z.y*2*W},G=d.intersectLine(a.x,a.y,l,u,H.x,H.y,0,h,p);S?(r.ctrlpts[0]=r.ctrlpts[0]+z.x*(x-_),r.ctrlpts[1]=r.ctrlpts[1]+z.y*(x-_)):(r.ctrlpts[0]=G[0]+z.x*x,r.ctrlpts[1]=G[1]+z.y*x)}T&&this.findEndpoints(t)}},Rt.storeAllpts=function(t){var e=t._private.rscratch;if(e.edgeType==="multibezier"||e.edgeType==="bezier"||e.edgeType==="self"||e.edgeType==="compound"){e.allpts=[],e.allpts.push(e.startX,e.startY);for(var r=0;r+1<e.ctrlpts.length;r+=2)e.allpts.push(e.ctrlpts[r],e.ctrlpts[r+1]),r+3<e.ctrlpts.length&&e.allpts.push((e.ctrlpts[r]+e.ctrlpts[r+2])/2,(e.ctrlpts[r+1]+e.ctrlpts[r+3])/2);e.allpts.push(e.endX,e.endY);var n,a;e.ctrlpts.length/2%2===0?(n=e.allpts.length/2-1,e.midX=e.allpts[n],e.midY=e.allpts[n+1]):(n=e.allpts.length/2-3,a=.5,e.midX=bt(e.allpts[n],e.allpts[n+2],e.allpts[n+4],a),e.midY=bt(e.allpts[n+1],e.allpts[n+3],e.allpts[n+5],a))}else if(e.edgeType==="straight")e.allpts=[e.startX,e.startY,e.endX,e.endY],e.midX=(e.startX+e.endX+e.arrowStartX+e.arrowEndX)/4,e.midY=(e.startY+e.endY+e.arrowStartY+e.arrowEndY)/4;else if(e.edgeType==="segments"){if(e.allpts=[],e.allpts.push(e.startX,e.startY),e.allpts.push.apply(e.allpts,e.segpts),e.allpts.push(e.endX,e.endY),e.isRound){e.roundCorners=[];for(var i=2;i+3<e.allpts.length;i+=2){var o=e.radii[i/2-1],l=e.isArcRadius[i/2-1];e.roundCorners.push(xu({x:e.allpts[i-2],y:e.allpts[i-1]},{x:e.allpts[i],y:e.allpts[i+1],radius:o},{x:e.allpts[i+2],y:e.allpts[i+3]},o,l))}}if(e.segpts.length%4===0){var u=e.segpts.length/2,c=u-2;e.midX=(e.segpts[c]+e.segpts[u])/2,e.midY=(e.segpts[c+1]+e.segpts[u+1])/2}else{var d=e.segpts.length/2-1;if(!e.isRound)e.midX=e.segpts[d],e.midY=e.segpts[d+1];else{var f={x:e.segpts[d],y:e.segpts[d+1]},h=e.roundCorners[d/2],v=[f.x-h.cx,f.y-h.cy],p=h.radius/Math.sqrt(Math.pow(v[0],2)+Math.pow(v[1],2));v=v.map(function(g){return g*p}),e.midX=h.cx+v[0],e.midY=h.cy+v[1],e.midVector=v}}}},Rt.checkForInvalidEdgeWarning=function(t){var e=t[0]._private.rscratch;e.nodesOverlap||de(e.startX)&&de(e.startY)&&de(e.endX)&&de(e.endY)?e.loggedErr=!1:e.loggedErr||(e.loggedErr=!0,$e("Edge `"+t.id()+"` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap."))},Rt.findEdgeControlPoints=function(t){var e=this;if(!(!t||t.length===0)){for(var r=this,n=r.cy,a=n.hasCompoundNodes(),i={map:new Ir,get:function(E){var _=this.map.get(E[0]);return _!=null?_.get(E[1]):null},set:function(E,_){var S=this.map.get(E[0]);S==null&&(S=new Ir,this.map.set(E[0],S)),S.set(E[1],_)}},o=[],l=[],u=0;u<t.length;u++){var c=t[u],d=c._private,f=c.pstyle("curve-style").value;if(!(c.removed()||!c.takesUpSpace())){if(f==="haystack"){l.push(c);continue}var h=f==="unbundled-bezier"||f.endsWith("segments")||f==="straight"||f==="straight-triangle"||f.endsWith("taxi"),v=f==="unbundled-bezier"||f==="bezier",p=d.source,g=d.target,m=p.poolIndex(),y=g.poolIndex(),b=[m,y].sort(),w=i.get(b);w==null&&(w={eles:[]},i.set(b,w),o.push(b)),w.eles.push(c),h&&(w.hasUnbundled=!0),v&&(w.hasBezier=!0)}}for(var C=function(E){var _=o[E],S=i.get(_),T=void 0;if(!S.hasUnbundled){var N=S.eles[0].parallelEdges().filter(function(te){return te.isBundledBezier()});zc(S.eles),N.forEach(function(te){return S.eles.push(te)}),S.eles.sort(function(te,Z){return te.poolIndex()-Z.poolIndex()})}var B=S.eles[0],O=B.source(),D=B.target();if(O.poolIndex()>D.poolIndex()){var L=O;O=D,D=L}var A=S.srcPos=O.position(),M=S.tgtPos=D.position(),P=S.srcW=O.outerWidth(),z=S.srcH=O.outerHeight(),W=S.tgtW=D.outerWidth(),H=S.tgtH=D.outerHeight(),G=S.srcShape=r.nodeShapes[e.getNodeShape(O)],X=S.tgtShape=r.nodeShapes[e.getNodeShape(D)],F=S.srcCornerRadius=O.pstyle("corner-radius").value==="auto"?"auto":O.pstyle("corner-radius").pfValue,V=S.tgtCornerRadius=D.pstyle("corner-radius").value==="auto"?"auto":D.pstyle("corner-radius").pfValue,q=S.tgtRs=D._private.rscratch,$=S.srcRs=O._private.rscratch;S.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var K=0;K<S.eles.length;K++){var R=S.eles[K],j=R[0]._private.rscratch,Y=R.pstyle("curve-style").value,se=Y==="unbundled-bezier"||Y.endsWith("segments")||Y.endsWith("taxi"),ce=!O.same(R.source());if(!S.calculatedIntersection&&O!==D&&(S.hasBezier||S.hasUnbundled)){S.calculatedIntersection=!0;var ae=G.intersectLine(A.x,A.y,P,z,M.x,M.y,0,F,$),ne=S.srcIntn=ae,ue=X.intersectLine(M.x,M.y,W,H,A.x,A.y,0,V,q),ie=S.tgtIntn=ue,fe=S.intersectionPts={x1:ae[0],x2:ue[0],y1:ae[1],y2:ue[1]},pe=S.posPts={x1:A.x,x2:M.x,y1:A.y,y2:M.y},Oe=ue[1]-ae[1],Ie=ue[0]-ae[0],we=Math.sqrt(Ie*Ie+Oe*Oe),ke=S.vector={x:Ie,y:Oe},re=S.vectorNorm={x:ke.x/we,y:ke.y/we},I={x:-re.y,y:re.x};S.nodesOverlap=!de(we)||X.checkPoint(ae[0],ae[1],0,W,H,M.x,M.y,V,q)||G.checkPoint(ue[0],ue[1],0,P,z,A.x,A.y,F,$),S.vectorNormInverse=I,T={nodesOverlap:S.nodesOverlap,dirCounts:S.dirCounts,calculatedIntersection:!0,hasBezier:S.hasBezier,hasUnbundled:S.hasUnbundled,eles:S.eles,srcPos:M,tgtPos:A,srcW:W,srcH:H,tgtW:P,tgtH:z,srcIntn:ie,tgtIntn:ne,srcShape:X,tgtShape:G,posPts:{x1:pe.x2,y1:pe.y2,x2:pe.x1,y2:pe.y1},intersectionPts:{x1:fe.x2,y1:fe.y2,x2:fe.x1,y2:fe.y1},vector:{x:-ke.x,y:-ke.y},vectorNorm:{x:-re.x,y:-re.y},vectorNormInverse:{x:-I.x,y:-I.y}}}var U=ce?T:S;j.nodesOverlap=U.nodesOverlap,j.srcIntn=U.srcIntn,j.tgtIntn=U.tgtIntn,j.isRound=Y.startsWith("round"),a&&(O.isParent()||O.isChild()||D.isParent()||D.isChild())&&(O.parents().anySame(D)||D.parents().anySame(O)||O.same(D)&&O.isParent())?e.findCompoundLoopPoints(R,U,K,se):O===D?e.findLoopPoints(R,U,K,se):Y.endsWith("segments")?e.findSegmentsPoints(R,U):Y.endsWith("taxi")?e.findTaxiPoints(R,U):Y==="straight"||!se&&S.eles.length%2===1&&K===Math.floor(S.eles.length/2)?e.findStraightEdgePoints(R):e.findBezierPoints(R,U,K,se,ce),e.findEndpoints(R),e.tryToCorrectInvalidPoints(R,U),e.checkForInvalidEdgeWarning(R),e.storeAllpts(R),e.storeEdgeProjections(R),e.calculateArrowAngles(R),e.recalculateEdgeLabelProjections(R),e.calculateLabelAngles(R)}},x=0;x<o.length;x++)C(x);this.findHaystackPoints(l)}};function j1(t){var e=[];if(t!=null){for(var r=0;r<t.length;r+=2){var n=t[r],a=t[r+1];e.push({x:n,y:a})}return e}}Rt.getSegmentPoints=function(t){var e=t[0]._private.rscratch,r=e.edgeType;if(r==="segments")return this.recalculateRenderedStyle(t),j1(e.segpts)},Rt.getControlPoints=function(t){var e=t[0]._private.rscratch,r=e.edgeType;if(r==="bezier"||r==="multibezier"||r==="self"||r==="compound")return this.recalculateRenderedStyle(t),j1(e.ctrlpts)},Rt.getEdgeMidpoint=function(t){var e=t[0]._private.rscratch;return this.recalculateRenderedStyle(t),{x:e.midX,y:e.midY}};var mo={};mo.manualEndptToPx=function(t,e){var r=this,n=t.position(),a=t.outerWidth(),i=t.outerHeight(),o=t._private.rscratch;if(e.value.length===2){var l=[e.pfValue[0],e.pfValue[1]];return e.units[0]==="%"&&(l[0]=l[0]*a),e.units[1]==="%"&&(l[1]=l[1]*i),l[0]+=n.x,l[1]+=n.y,l}else{var u=e.pfValue[0];u=-Math.PI/2+u;var c=2*Math.max(a,i),d=[n.x+Math.cos(u)*c,n.y+Math.sin(u)*c];return r.nodeShapes[this.getNodeShape(t)].intersectLine(n.x,n.y,a,i,d[0],d[1],0,t.pstyle("corner-radius").value==="auto"?"auto":t.pstyle("corner-radius").pfValue,o)}},mo.findEndpoints=function(t){var e=this,r,n=t.source()[0],a=t.target()[0],i=n.position(),o=a.position(),l=t.pstyle("target-arrow-shape").value,u=t.pstyle("source-arrow-shape").value,c=t.pstyle("target-distance-from-node").pfValue,d=t.pstyle("source-distance-from-node").pfValue,f=n._private.rscratch,h=a._private.rscratch,v=t.pstyle("curve-style").value,p=t._private.rscratch,g=p.edgeType,m=v==="taxi",y=g==="self"||g==="compound",b=g==="bezier"||g==="multibezier"||y,w=g!=="bezier",C=g==="straight"||g==="segments",x=g==="segments",k=b||w||C,E=y||m,_=t.pstyle("source-endpoint"),S=E?"outside-to-node":_.value,T=n.pstyle("corner-radius").value==="auto"?"auto":n.pstyle("corner-radius").pfValue,N=t.pstyle("target-endpoint"),B=E?"outside-to-node":N.value,O=a.pstyle("corner-radius").value==="auto"?"auto":a.pstyle("corner-radius").pfValue;p.srcManEndpt=_,p.tgtManEndpt=N;var D,L,A,M;if(b){var P=[p.ctrlpts[0],p.ctrlpts[1]],z=w?[p.ctrlpts[p.ctrlpts.length-2],p.ctrlpts[p.ctrlpts.length-1]]:P;D=z,L=P}else if(C){var W=x?p.segpts.slice(0,2):[o.x,o.y],H=x?p.segpts.slice(p.segpts.length-2):[i.x,i.y];D=H,L=W}if(B==="inside-to-node")r=[o.x,o.y];else if(N.units)r=this.manualEndptToPx(a,N);else if(B==="outside-to-line")r=p.tgtIntn;else if(B==="outside-to-node"||B==="outside-to-node-or-label"?A=D:(B==="outside-to-line"||B==="outside-to-line-or-label")&&(A=[i.x,i.y]),r=e.nodeShapes[this.getNodeShape(a)].intersectLine(o.x,o.y,a.outerWidth(),a.outerHeight(),A[0],A[1],0,O,h),B==="outside-to-node-or-label"||B==="outside-to-line-or-label"){var G=a._private.rscratch,X=G.labelWidth,F=G.labelHeight,V=G.labelX,q=G.labelY,$=X/2,K=F/2,R=a.pstyle("text-valign").value;R==="top"?q-=K:R==="bottom"&&(q+=K);var j=a.pstyle("text-halign").value;j==="left"?V-=$:j==="right"&&(V+=$);var Y=ro(A[0],A[1],[V-$,q-K,V+$,q-K,V+$,q+K,V-$,q+K],o.x,o.y);if(Y.length>0){var se=i,ce=ea(se,Va(r)),ae=ea(se,Va(Y)),ne=ce;if(ae<ce&&(r=Y,ne=ae),Y.length>2){var ue=ea(se,{x:Y[2],y:Y[3]});ue<ne&&(r=[Y[2],Y[3]])}}}var ie=Ts(r,D,e.arrowShapes[l].spacing(t)+c),fe=Ts(r,D,e.arrowShapes[l].gap(t)+c);if(p.endX=fe[0],p.endY=fe[1],p.arrowEndX=ie[0],p.arrowEndY=ie[1],S==="inside-to-node")r=[i.x,i.y];else if(_.units)r=this.manualEndptToPx(n,_);else if(S==="outside-to-line")r=p.srcIntn;else if(S==="outside-to-node"||S==="outside-to-node-or-label"?M=L:(S==="outside-to-line"||S==="outside-to-line-or-label")&&(M=[o.x,o.y]),r=e.nodeShapes[this.getNodeShape(n)].intersectLine(i.x,i.y,n.outerWidth(),n.outerHeight(),M[0],M[1],0,T,f),S==="outside-to-node-or-label"||S==="outside-to-line-or-label"){var pe=n._private.rscratch,Oe=pe.labelWidth,Ie=pe.labelHeight,we=pe.labelX,ke=pe.labelY,re=Oe/2,I=Ie/2,U=n.pstyle("text-valign").value;U==="top"?ke-=I:U==="bottom"&&(ke+=I);var te=n.pstyle("text-halign").value;te==="left"?we-=re:te==="right"&&(we+=re);var Z=ro(M[0],M[1],[we-re,ke-I,we+re,ke-I,we+re,ke+I,we-re,ke+I],i.x,i.y);if(Z.length>0){var J=o,le=ea(J,Va(r)),ee=ea(J,Va(Z)),oe=le;if(ee<le&&(r=[Z[0],Z[1]],oe=ee),Z.length>2){var me=ea(J,{x:Z[2],y:Z[3]});me<oe&&(r=[Z[2],Z[3]])}}}var be=Ts(r,L,e.arrowShapes[u].spacing(t)+d),ye=Ts(r,L,e.arrowShapes[u].gap(t)+d);p.startX=ye[0],p.startY=ye[1],p.arrowStartX=be[0],p.arrowStartY=be[1],k&&(!de(p.startX)||!de(p.startY)||!de(p.endX)||!de(p.endY)?p.badLine=!0:p.badLine=!1)},mo.getSourceEndpoint=function(t){var e=t[0]._private.rscratch;switch(this.recalculateRenderedStyle(t),e.edgeType){case"haystack":return{x:e.haystackPts[0],y:e.haystackPts[1]};default:return{x:e.arrowStartX,y:e.arrowStartY}}},mo.getTargetEndpoint=function(t){var e=t[0]._private.rscratch;switch(this.recalculateRenderedStyle(t),e.edgeType){case"haystack":return{x:e.haystackPts[2],y:e.haystackPts[3]};default:return{x:e.arrowEndX,y:e.arrowEndY}}};var ku={};function x4(t,e,r){for(var n=function(c,d,f,h){return bt(c,d,f,h)},a=e._private,i=a.rstyle.bezierPts,o=0;o<t.bezierProjPcts.length;o++){var l=t.bezierProjPcts[o];i.push({x:n(r[0],r[2],r[4],l),y:n(r[1],r[3],r[5],l)})}}ku.storeEdgeProjections=function(t){var e=t._private,r=e.rscratch,n=r.edgeType;if(e.rstyle.bezierPts=null,e.rstyle.linePts=null,e.rstyle.haystackPts=null,n==="multibezier"||n==="bezier"||n==="self"||n==="compound"){e.rstyle.bezierPts=[];for(var a=0;a+5<r.allpts.length;a+=4)x4(this,t,r.allpts.slice(a,a+6))}else if(n==="segments")for(var i=e.rstyle.linePts=[],a=0;a+1<r.allpts.length;a+=2)i.push({x:r.allpts[a],y:r.allpts[a+1]});else if(n==="haystack"){var o=r.haystackPts;e.rstyle.haystackPts=[{x:o[0],y:o[1]},{x:o[2],y:o[3]}]}e.rstyle.arrowWidth=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth},ku.recalculateEdgeProjections=function(t){this.findEdgeControlPoints(t)};var Ar={};Ar.recalculateNodeLabelProjection=function(t){var e=t.pstyle("label").strValue;if(!yn(e)){var r,n,a=t._private,i=t.width(),o=t.height(),l=t.padding(),u=t.position(),c=t.pstyle("text-halign").strValue,d=t.pstyle("text-valign").strValue,f=a.rscratch,h=a.rstyle;switch(c){case"left":r=u.x-i/2-l;break;case"right":r=u.x+i/2+l;break;default:r=u.x}switch(d){case"top":n=u.y-o/2-l;break;case"bottom":n=u.y+o/2+l;break;default:n=u.y}f.labelX=r,f.labelY=n,h.labelX=r,h.labelY=n,this.calculateLabelAngles(t),this.applyLabelDimensions(t)}};var Y1=function(e,r){var n=Math.atan(r/e);return e===0&&n<0&&(n=n*-1),n},Z1=function(e,r){var n=r.x-e.x,a=r.y-e.y;return Y1(n,a)},k4=function(e,r,n,a){var i=eo(0,a-.001,1),o=eo(0,a+.001,1),l=qa(e,r,n,i),u=qa(e,r,n,o);return Z1(l,u)};Ar.recalculateEdgeLabelProjections=function(t){var e,r=t._private,n=r.rscratch,a=this,i={mid:t.pstyle("label").strValue,source:t.pstyle("source-label").strValue,target:t.pstyle("target-label").strValue};if(i.mid||i.source||i.target){e={x:n.midX,y:n.midY};var o=function(f,h,v){Cn(r.rscratch,f,h,v),Cn(r.rstyle,f,h,v)};o("labelX",null,e.x),o("labelY",null,e.y);var l=Y1(n.midDispX,n.midDispY);o("labelAutoAngle",null,l);var u=function d(){if(d.cache)return d.cache;for(var f=[],h=0;h+5<n.allpts.length;h+=4){var v={x:n.allpts[h],y:n.allpts[h+1]},p={x:n.allpts[h+2],y:n.allpts[h+3]},g={x:n.allpts[h+4],y:n.allpts[h+5]};f.push({p0:v,p1:p,p2:g,startDist:0,length:0,segments:[]})}var m=r.rstyle.bezierPts,y=a.bezierProjPcts.length;function b(E,_,S,T,N){var B=Qn(_,S),O=E.segments[E.segments.length-1],D={p0:_,p1:S,t0:T,t1:N,startDist:O?O.startDist+O.length:0,length:B};E.segments.push(D),E.length+=B}for(var w=0;w<f.length;w++){var C=f[w],x=f[w-1];x&&(C.startDist=x.startDist+x.length),b(C,C.p0,m[w*y],0,a.bezierProjPcts[0]);for(var k=0;k<y-1;k++)b(C,m[w*y+k],m[w*y+k+1],a.bezierProjPcts[k],a.bezierProjPcts[k+1]);b(C,m[w*y+y-1],C.p2,a.bezierProjPcts[y-1],1)}return d.cache=f},c=function(f){var h,v=f==="source";if(i[f]){var p=t.pstyle(f+"-text-offset").pfValue;switch(n.edgeType){case"self":case"compound":case"bezier":case"multibezier":{for(var g=u(),m,y=0,b=0,w=0;w<g.length;w++){for(var C=g[v?w:g.length-1-w],x=0;x<C.segments.length;x++){var k=C.segments[v?x:C.segments.length-1-x],E=w===g.length-1&&x===C.segments.length-1;if(y=b,b+=k.length,b>=p||E){m={cp:C,segment:k};break}}if(m)break}var _=m.cp,S=m.segment,T=(p-y)/S.length,N=S.t1-S.t0,B=v?S.t0+N*T:S.t1-N*T;B=eo(0,B,1),e=qa(_.p0,_.p1,_.p2,B),h=k4(_.p0,_.p1,_.p2,B);break}case"straight":case"segments":case"haystack":{for(var O=0,D,L,A,M,P=n.allpts.length,z=0;z+3<P&&(v?(A={x:n.allpts[z],y:n.allpts[z+1]},M={x:n.allpts[z+2],y:n.allpts[z+3]}):(A={x:n.allpts[P-2-z],y:n.allpts[P-1-z]},M={x:n.allpts[P-4-z],y:n.allpts[P-3-z]}),D=Qn(A,M),L=O,O+=D,!(O>=p));z+=2);var W=p-L,H=W/D;H=eo(0,H,1),e=D5(A,M,H),h=Z1(A,M);break}}o("labelX",f,e.x),o("labelY",f,e.y),o("labelAutoAngle",f,h)}};c("source"),c("target"),this.applyLabelDimensions(t)}},Ar.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))},Ar.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),a=this.calculateLabelDimensions(t,n),i=t.pstyle("line-height").pfValue,o=t.pstyle("text-wrap").strValue,l=gr(r.rscratch,"labelWrapCachedLines",e)||[],u=o!=="wrap"?1:Math.max(l.length,1),c=a.height/u,d=c*i,f=a.width,h=a.height+(u-1)*(i-1)*c;Cn(r.rstyle,"labelWidth",e,f),Cn(r.rscratch,"labelWidth",e,f),Cn(r.rstyle,"labelHeight",e,h),Cn(r.rscratch,"labelHeight",e,h),Cn(r.rscratch,"labelLineHeight",e,d)},Ar.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",a=t.pstyle(n+"label").strValue,i=t.pstyle("text-transform").value,o=function(X,F){return F?(Cn(r.rscratch,X,e,F),F):gr(r.rscratch,X,e)};if(!a)return"";i=="none"||(i=="uppercase"?a=a.toUpperCase():i=="lowercase"&&(a=a.toLowerCase()));var l=t.pstyle("text-wrap").value;if(l==="wrap"){var u=o("labelKey");if(u!=null&&o("labelWrapKey")===u)return o("labelWrapCachedText");for(var c="",d=a.split(`
|
|
42
42
|
`),f=t.pstyle("text-max-width").pfValue,h=t.pstyle("text-overflow-wrap").value,v=h==="anywhere",p=[],g=/[\s\u200b]+|$/g,m=0;m<d.length;m++){var y=d[m],b=this.calculateLabelDimensions(t,y),w=b.width;if(v){var C=y.split("").join(c);y=C}if(w>f){var x=y.matchAll(g),k="",E=0,_=D0(x),S;try{for(_.s();!(S=_.n()).done;){var T=S.value,N=T[0],B=y.substring(E,T.index);E=T.index+N.length;var O=k.length===0?B:k+B+N,D=this.calculateLabelDimensions(t,O),L=D.width;L<=f?k+=B+N:(k&&p.push(k),k=B+N)}}catch(G){_.e(G)}finally{_.f()}k.match(/^[\s\u200b]+$/)||p.push(k)}else p.push(y)}o("labelWrapCachedLines",p),a=o("labelWrapCachedText",p.join(`
|
|
43
43
|
`)),o("labelWrapKey",u)}else if(l==="ellipsis"){var A=t.pstyle("text-max-width").pfValue,M="",P="…",z=!1;if(this.calculateLabelDimensions(t,a).width<A)return a;for(var W=0;W<a.length;W++){var H=this.calculateLabelDimensions(t,M+a[W]+P).width;if(H>A)break;M+=a[W],W===a.length-1&&(z=!0)}return z||(M+=P),M}return a},Ar.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e},Ar.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),a=n.document,i=Jn(e,t._private.labelDimsKey),o=r.labelDimCache||(r.labelDimCache=[]),l=o[i];if(l!=null)return l;var u=0,c=t.pstyle("font-style").strValue,d=t.pstyle("font-size").pfValue,f=t.pstyle("font-family").strValue,h=t.pstyle("font-weight").strValue,v=this.labelCalcCanvas,p=this.labelCalcCanvasContext;if(!v){v=this.labelCalcCanvas=a.createElement("canvas"),p=this.labelCalcCanvasContext=v.getContext("2d");var g=v.style;g.position="absolute",g.left="-9999px",g.top="-9999px",g.zIndex="-1",g.visibility="hidden",g.pointerEvents="none"}p.font="".concat(c," ").concat(h," ").concat(d,"px ").concat(f);for(var m=0,y=0,b=e.split(`
|
|
44
|
-
`),w=0;w<b.length;w++){var C=b[w],x=p.measureText(C),k=Math.ceil(x.width),E=d;m=Math.max(k,m),y+=E}return m+=u,y+=u,o[i]={width:m,height:y}},Ar.calculateLabelAngle=function(t,e){var r=t._private,n=r.rscratch,a=t.isEdge(),i=e?e+"-":"",o=t.pstyle(i+"text-rotation"),l=o.strValue;return l==="none"?0:a&&l==="autorotate"?n.labelAutoAngle:l==="autorotate"?0:o.pfValue},Ar.calculateLabelAngles=function(t){var e=this,r=t.isEdge(),n=t._private,a=n.rscratch;a.labelAngle=e.calculateLabelAngle(t),r&&(a.sourceLabelAngle=e.calculateLabelAngle(t,"source"),a.targetLabelAngle=e.calculateLabelAngle(t,"target"))};var X1={},J1=28,Q1=!1;X1.getNodeShape=function(t){var e=this,r=t.pstyle("shape").value;if(r==="cutrectangle"&&(t.width()<J1||t.height()<J1))return Q1||($e("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),Q1=!0),"rectangle";if(t.isParent())return r==="rectangle"||r==="roundrectangle"||r==="round-rectangle"||r==="cutrectangle"||r==="cut-rectangle"||r==="barrel"?r:"rectangle";if(r==="polygon"){var n=t.pstyle("shape-polygon-points").value;return e.nodeShapes.makePolygon(n).name}return r};var al={};al.registerCalculationListeners=function(){var t=this.cy,e=t.collection(),r=this,n=function(o){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(o),l)for(var u=0;u<o.length;u++){var c=o[u],d=c._private,f=d.rstyle;f.clean=!1,f.cleanConnected=!1}};r.binder(t).on("bounds.* dirty.*",function(o){var l=o.target;n(l)}).on("style.* background.*",function(o){var l=o.target;n(l,!1)});var a=function(o){if(o){var l=r.onUpdateEleCalcsFns;e.cleanStyle();for(var u=0;u<e.length;u++){var c=e[u],d=c._private.rstyle;c.isNode()&&!d.cleanConnected&&(n(c.connectedEdges()),d.cleanConnected=!0)}if(l)for(var f=0;f<l.length;f++){var h=l[f];h(o,e)}r.recalculateRenderedStyle(e),e=t.collection()}};r.flushRenderedStyleQueue=function(){a(!0)},r.beforeRender(a,r.beforeRenderPriorities.eleCalcs)},al.onUpdateEleCalcs=function(t){var e=this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[];e.push(t)},al.recalculateRenderedStyle=function(t,e){var r=function(C){return C._private.rstyle.cleanConnected},n=[],a=[];if(!this.destroyed){e===void 0&&(e=!0);for(var i=0;i<t.length;i++){var o=t[i],l=o._private,u=l.rstyle;o.isEdge()&&(!r(o.source())||!r(o.target()))&&(u.clean=!1),!(e&&u.clean||o.removed())&&o.pstyle("display").value!=="none"&&(l.group==="nodes"?a.push(o):n.push(o),u.clean=!0)}for(var c=0;c<a.length;c++){var d=a[c],f=d._private,h=f.rstyle,v=d.position();this.recalculateNodeLabelProjection(d),h.nodeX=v.x,h.nodeY=v.y,h.nodeW=d.pstyle("width").pfValue,h.nodeH=d.pstyle("height").pfValue}this.recalculateEdgeProjections(n);for(var p=0;p<n.length;p++){var g=n[p],m=g._private,y=m.rstyle,b=m.rscratch;y.srcX=b.arrowStartX,y.srcY=b.arrowStartY,y.tgtX=b.arrowEndX,y.tgtY=b.arrowEndY,y.midX=b.midX,y.midY=b.midY,y.labelAngle=b.labelAngle,y.sourceLabelAngle=b.sourceLabelAngle,y.targetLabelAngle=b.targetLabelAngle}}};var il={};il.updateCachedGrabbedEles=function(){var t=this.cachedZSortedEles;if(t){t.drag=[],t.nondrag=[];for(var e=[],r=0;r<t.length;r++){var n=t[r],a=n._private.rscratch;n.grabbed()&&!n.isParent()?e.push(n):a.inDragLayer?t.drag.push(n):t.nondrag.push(n)}for(var r=0;r<e.length;r++){var n=e[r];t.drag.push(n)}}},il.invalidateCachedZSortedEles=function(){this.cachedZSortedEles=null},il.getCachedZSortedEles=function(t){if(t||!this.cachedZSortedEles){var e=this.cy.mutableElements().toArray();e.sort(v1),e.interactive=e.filter(function(r){return r.interactive()}),this.cachedZSortedEles=e,this.updateCachedGrabbedEles()}else e=this.cachedZSortedEles;return e};var ew={};[oa,tl,Rt,mo,ku,Ar,X1,al,il].forEach(function(t){Te(ew,t)});var tw={};tw.getCachedImage=function(t,e,r){var n=this,a=n.imageCache=n.imageCache||{},i=a[t];if(i)return i.image.complete||i.image.addEventListener("load",r),i.image;i=a[t]=a[t]||{};var o=i.image=new Image;o.addEventListener("load",r),o.addEventListener("error",function(){o.error=!0});var l="data:",u=t.substring(0,l.length).toLowerCase()===l;return u||(e=e==="null"?null:e,o.crossOrigin=e),o.src=t,o};var ii={};ii.registerBinding=function(t,e,r,n){var a=Array.prototype.slice.apply(arguments,[1]),i=this.binder(t);return i.on.apply(i,a)},ii.binder=function(t){var e=this,r=e.cy.window(),n=t===r||t===r.document||t===r.document.body||XM(t);if(e.supportsPassiveEvents==null){var a=!1;try{var i=Object.defineProperty({},"passive",{get:function(){return a=!0,!0}});r.addEventListener("test",null,i)}catch{}e.supportsPassiveEvents=a}var o=function(u,c,d){var f=Array.prototype.slice.call(arguments);return n&&e.supportsPassiveEvents&&(f[2]={capture:d??!1,passive:!1,once:!1}),e.bindings.push({target:t,args:f}),(t.addEventListener||t.on).apply(t,f),this};return{on:o,addEventListener:o,addListener:o,bind:o}},ii.nodeIsDraggable=function(t){return t&&t.isNode()&&!t.locked()&&t.grabbable()},ii.nodeIsGrabbable=function(t){return this.nodeIsDraggable(t)&&t.interactive()},ii.load=function(){var t=this,e=t.cy.window(),r=function(I){return I.selected()},n=function(I,U,te,Z){I==null&&(I=t.cy);for(var J=0;J<U.length;J++){var le=U[J];I.emit({originalEvent:te,type:le,position:Z})}},a=function(I){return I.shiftKey||I.metaKey||I.ctrlKey},i=function(I,U){var te=!0;if(t.cy.hasCompoundNodes()&&I&&I.pannable())for(var Z=0;U&&Z<U.length;Z++){var I=U[Z];if(I.isNode()&&I.isParent()&&!I.pannable()){te=!1;break}}else te=!0;return te},o=function(I){I[0]._private.grabbed=!0},l=function(I){I[0]._private.grabbed=!1},u=function(I){I[0]._private.rscratch.inDragLayer=!0},c=function(I){I[0]._private.rscratch.inDragLayer=!1},d=function(I){I[0]._private.rscratch.isGrabTarget=!0},f=function(I){I[0]._private.rscratch.isGrabTarget=!1},h=function(I,U){var te=U.addToList,Z=te.has(I);!Z&&I.grabbable()&&!I.locked()&&(te.merge(I),o(I))},v=function(I,U){if(I.cy().hasCompoundNodes()&&!(U.inDragLayer==null&&U.addToList==null)){var te=I.descendants();U.inDragLayer&&(te.forEach(u),te.connectedEdges().forEach(u)),U.addToList&&h(te,U)}},p=function(I,U){U=U||{};var te=I.cy().hasCompoundNodes();U.inDragLayer&&(I.forEach(u),I.neighborhood().stdFilter(function(Z){return!te||Z.isEdge()}).forEach(u)),U.addToList&&I.forEach(function(Z){h(Z,U)}),v(I,U),y(I,{inDragLayer:U.inDragLayer}),t.updateCachedGrabbedEles()},g=p,m=function(I){I&&(t.getCachedZSortedEles().forEach(function(U){l(U),c(U),f(U)}),t.updateCachedGrabbedEles())},y=function(I,U){if(!(U.inDragLayer==null&&U.addToList==null)&&I.cy().hasCompoundNodes()){var te=I.ancestors().orphans();if(!te.same(I)){var Z=te.descendants().spawnSelf().merge(te).unmerge(I).unmerge(I.descendants()),J=Z.connectedEdges();U.inDragLayer&&(J.forEach(u),Z.forEach(u)),U.addToList&&Z.forEach(function(le){h(le,U)})}}},b=function(){document.activeElement!=null&&document.activeElement.blur!=null&&document.activeElement.blur()},w=typeof MutationObserver<"u",C=typeof ResizeObserver<"u";w?(t.removeObserver=new MutationObserver(function(re){for(var I=0;I<re.length;I++){var U=re[I],te=U.removedNodes;if(te)for(var Z=0;Z<te.length;Z++){var J=te[Z];if(J===t.container){t.destroy();break}}}}),t.container.parentNode&&t.removeObserver.observe(t.container.parentNode,{childList:!0})):t.registerBinding(t.container,"DOMNodeRemoved",function(re){t.destroy()});var x=gs(function(){t.cy.resize()},100);w&&(t.styleObserver=new MutationObserver(x),t.styleObserver.observe(t.container,{attributes:!0})),t.registerBinding(e,"resize",x),C&&(t.resizeObserver=new ResizeObserver(x),t.resizeObserver.observe(t.container));var k=function(I,U){for(;I!=null;)U(I),I=I.parentNode},E=function(){t.invalidateContainerClientCoordsCache()};k(t.container,function(re){t.registerBinding(re,"transitionend",E),t.registerBinding(re,"animationend",E),t.registerBinding(re,"scroll",E)}),t.registerBinding(t.container,"contextmenu",function(re){re.preventDefault()});var _=function(){return t.selection[4]!==0},S=function(I){for(var U=t.findContainerClientCoords(),te=U[0],Z=U[1],J=U[2],le=U[3],ee=I.touches?I.touches:[I],oe=!1,me=0;me<ee.length;me++){var be=ee[me];if(te<=be.clientX&&be.clientX<=te+J&&Z<=be.clientY&&be.clientY<=Z+le){oe=!0;break}}if(!oe)return!1;for(var ye=t.container,Ne=I.target,ge=Ne.parentNode,Ce=!1;ge;){if(ge===ye){Ce=!0;break}ge=ge.parentNode}return!!Ce};t.registerBinding(t.container,"mousedown",function(I){if(S(I)&&!(t.hoverData.which===1&&I.which!==1)){I.preventDefault(),b(),t.hoverData.capture=!0,t.hoverData.which=I.which;var U=t.cy,te=[I.clientX,I.clientY],Z=t.projectIntoViewport(te[0],te[1]),J=t.selection,le=t.findNearestElements(Z[0],Z[1],!0,!1),ee=le[0],oe=t.dragData.possibleDragElements;t.hoverData.mdownPos=Z,t.hoverData.mdownGPos=te;var me=function(){t.hoverData.tapholdCancelled=!1,clearTimeout(t.hoverData.tapholdTimeout),t.hoverData.tapholdTimeout=setTimeout(function(){if(!t.hoverData.tapholdCancelled){var We=t.hoverData.down;We?We.emit({originalEvent:I,type:"taphold",position:{x:Z[0],y:Z[1]}}):U.emit({originalEvent:I,type:"taphold",position:{x:Z[0],y:Z[1]}})}},t.tapholdDuration)};if(I.which==3){t.hoverData.cxtStarted=!0;var be={originalEvent:I,type:"cxttapstart",position:{x:Z[0],y:Z[1]}};ee?(ee.activate(),ee.emit(be),t.hoverData.down=ee):U.emit(be),t.hoverData.downTime=new Date().getTime(),t.hoverData.cxtDragged=!1}else if(I.which==1){ee&&ee.activate();{if(ee!=null&&t.nodeIsGrabbable(ee)){var ye=function(We){return{originalEvent:I,type:We,position:{x:Z[0],y:Z[1]}}},Ne=function(We){We.emit(ye("grab"))};if(d(ee),!ee.selected())oe=t.dragData.possibleDragElements=U.collection(),g(ee,{addToList:oe}),ee.emit(ye("grabon")).emit(ye("grab"));else{oe=t.dragData.possibleDragElements=U.collection();var ge=U.$(function(Ce){return Ce.isNode()&&Ce.selected()&&t.nodeIsGrabbable(Ce)});p(ge,{addToList:oe}),ee.emit(ye("grabon")),ge.forEach(Ne)}t.redrawHint("eles",!0),t.redrawHint("drag",!0)}t.hoverData.down=ee,t.hoverData.downs=le,t.hoverData.downTime=new Date().getTime()}n(ee,["mousedown","tapstart","vmousedown"],I,{x:Z[0],y:Z[1]}),ee==null?(J[4]=1,t.data.bgActivePosistion={x:Z[0],y:Z[1]},t.redrawHint("select",!0),t.redraw()):ee.pannable()&&(J[4]=1),me()}J[0]=J[2]=Z[0],J[1]=J[3]=Z[1]}},!1),t.registerBinding(e,"mousemove",function(I){var U=t.hoverData.capture;if(!(!U&&!S(I))){var te=!1,Z=t.cy,J=Z.zoom(),le=[I.clientX,I.clientY],ee=t.projectIntoViewport(le[0],le[1]),oe=t.hoverData.mdownPos,me=t.hoverData.mdownGPos,be=t.selection,ye=null;!t.hoverData.draggingEles&&!t.hoverData.dragging&&!t.hoverData.selecting&&(ye=t.findNearestElement(ee[0],ee[1],!0,!1));var Ne=t.hoverData.last,ge=t.hoverData.down,Ce=[ee[0]-be[2],ee[1]-be[3]],We=t.dragData.possibleDragElements,qe;if(me){var st=le[0]-me[0],lt=st*st,rt=le[1]-me[1],Mt=rt*rt,mt=lt+Mt;t.hoverData.isOverThresholdDrag=qe=mt>=t.desktopTapThreshold2}var wt=a(I);qe&&(t.hoverData.tapholdCancelled=!0);var Qt=function(){var Q=t.hoverData.dragDelta=t.hoverData.dragDelta||[];Q.length===0?(Q.push(Ce[0]),Q.push(Ce[1])):(Q[0]+=Ce[0],Q[1]+=Ce[1])};te=!0,n(ye,["mousemove","vmousemove","tapdrag"],I,{x:ee[0],y:ee[1]});var Ft=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||Z.emit({originalEvent:I,type:"boxstart",position:{x:ee[0],y:ee[1]}}),be[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(qe){var $t={originalEvent:I,type:"cxtdrag",position:{x:ee[0],y:ee[1]}};ge?ge.emit($t):Z.emit($t),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||ye!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:I,type:"cxtdragout",position:{x:ee[0],y:ee[1]}}),t.hoverData.cxtOver=ye,ye&&ye.emit({originalEvent:I,type:"cxtdragover",position:{x:ee[0],y:ee[1]}}))}}else if(t.hoverData.dragging){if(te=!0,Z.panningEnabled()&&Z.userPanningEnabled()){var cr;if(t.hoverData.justStartedPan){var Cr=t.hoverData.mdownPos;cr={x:(ee[0]-Cr[0])*J,y:(ee[1]-Cr[1])*J},t.hoverData.justStartedPan=!1}else cr={x:Ce[0]*J,y:Ce[1]*J};Z.panBy(cr),Z.emit("dragpan"),t.hoverData.dragged=!0}ee=t.projectIntoViewport(I.clientX,I.clientY)}else if(be[4]==1&&(ge==null||ge.pannable())){if(qe){if(!t.hoverData.dragging&&Z.boxSelectionEnabled()&&(wt||!Z.panningEnabled()||!Z.userPanningEnabled()))Ft();else if(!t.hoverData.selecting&&Z.panningEnabled()&&Z.userPanningEnabled()){var Yt=i(ge,t.hoverData.downs);Yt&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,be[4]=0,t.data.bgActivePosistion=Va(oe),t.redrawHint("select",!0),t.redraw())}ge&&ge.pannable()&&ge.active()&&ge.unactivate()}}else{if(ge&&ge.pannable()&&ge.active()&&ge.unactivate(),(!ge||!ge.grabbed())&&ye!=Ne&&(Ne&&n(Ne,["mouseout","tapdragout"],I,{x:ee[0],y:ee[1]}),ye&&n(ye,["mouseover","tapdragover"],I,{x:ee[0],y:ee[1]}),t.hoverData.last=ye),ge)if(qe){if(Z.boxSelectionEnabled()&&wt)ge&&ge.grabbed()&&(m(We),ge.emit("freeon"),We.emit("free"),t.dragData.didDrag&&(ge.emit("dragfreeon"),We.emit("dragfree"))),Ft();else if(ge&&ge.grabbed()&&t.nodeIsDraggable(ge)){var nt=!t.dragData.didDrag;nt&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||p(We,{inDragLayer:!0});var ct={x:0,y:0};if(de(Ce[0])&&de(Ce[1])&&(ct.x+=Ce[0],ct.y+=Ce[1],nt)){var Ct=t.hoverData.dragDelta;Ct&&de(Ct[0])&&de(Ct[1])&&(ct.x+=Ct[0],ct.y+=Ct[1])}t.hoverData.draggingEles=!0,We.silentShift(ct).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else Qt();te=!0}if(be[2]=ee[0],be[3]=ee[1],te)return I.stopPropagation&&I.stopPropagation(),I.preventDefault&&I.preventDefault(),!1}},!1);var T,N,B;t.registerBinding(e,"mouseup",function(I){if(!(t.hoverData.which===1&&I.which!==1&&t.hoverData.capture)){var U=t.hoverData.capture;if(U){t.hoverData.capture=!1;var te=t.cy,Z=t.projectIntoViewport(I.clientX,I.clientY),J=t.selection,le=t.findNearestElement(Z[0],Z[1],!0,!1),ee=t.dragData.possibleDragElements,oe=t.hoverData.down,me=a(I);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,oe&&oe.unactivate(),t.hoverData.which===3){var be={originalEvent:I,type:"cxttapend",position:{x:Z[0],y:Z[1]}};if(oe?oe.emit(be):te.emit(be),!t.hoverData.cxtDragged){var ye={originalEvent:I,type:"cxttap",position:{x:Z[0],y:Z[1]}};oe?oe.emit(ye):te.emit(ye)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(n(le,["mouseup","tapend","vmouseup"],I,{x:Z[0],y:Z[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(n(oe,["click","tap","vclick"],I,{x:Z[0],y:Z[1]}),N=!1,I.timeStamp-B<=te.multiClickDebounceTime()?(T&&clearTimeout(T),N=!0,B=null,n(oe,["dblclick","dbltap","vdblclick"],I,{x:Z[0],y:Z[1]})):(T=setTimeout(function(){N||n(oe,["oneclick","onetap","voneclick"],I,{x:Z[0],y:Z[1]})},te.multiClickDebounceTime()),B=I.timeStamp)),oe==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(I)&&(te.$(r).unselect(["tapunselect"]),ee.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=ee=te.collection()),le==oe&&!t.dragData.didDrag&&!t.hoverData.selecting&&le!=null&&le._private.selectable&&(t.hoverData.dragging||(te.selectionType()==="additive"||me?le.selected()?le.unselect(["tapunselect"]):le.select(["tapselect"]):me||(te.$(r).unmerge(le).unselect(["tapunselect"]),le.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var Ne=te.collection(t.getAllInBox(J[0],J[1],J[2],J[3]));t.redrawHint("select",!0),Ne.length>0&&t.redrawHint("eles",!0),te.emit({type:"boxend",originalEvent:I,position:{x:Z[0],y:Z[1]}});var ge=function(qe){return qe.selectable()&&!qe.selected()};te.selectionType()==="additive"||me||te.$(r).unmerge(Ne).unselect(),Ne.emit("box").stdFilter(ge).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!J[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var Ce=oe&&oe.grabbed();m(ee),Ce&&(oe.emit("freeon"),ee.emit("free"),t.dragData.didDrag&&(oe.emit("dragfreeon"),ee.emit("dragfree")))}}J[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},!1);var O=function(I){if(!t.scrollingPage){var U=t.cy,te=U.zoom(),Z=U.pan(),J=t.projectIntoViewport(I.clientX,I.clientY),le=[J[0]*te+Z.x,J[1]*te+Z.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||_()){I.preventDefault();return}if(U.panningEnabled()&&U.userPanningEnabled()&&U.zoomingEnabled()&&U.userZoomingEnabled()){I.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout(function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()},150);var ee;I.deltaY!=null?ee=I.deltaY/-250:I.wheelDeltaY!=null?ee=I.wheelDeltaY/1e3:ee=I.wheelDelta/1e3,ee=ee*t.wheelSensitivity;var oe=I.deltaMode===1;oe&&(ee*=33);var me=U.zoom()*Math.pow(10,ee);I.type==="gesturechange"&&(me=t.gestureStartZoom*I.scale),U.zoom({level:me,renderedPosition:{x:le[0],y:le[1]}}),U.emit(I.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};t.registerBinding(t.container,"wheel",O,!0),t.registerBinding(e,"scroll",function(I){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(I){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||I.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(re){t.hasTouchStarted||O(re)},!0),t.registerBinding(t.container,"mouseout",function(I){var U=t.projectIntoViewport(I.clientX,I.clientY);t.cy.emit({originalEvent:I,type:"mouseout",position:{x:U[0],y:U[1]}})},!1),t.registerBinding(t.container,"mouseover",function(I){var U=t.projectIntoViewport(I.clientX,I.clientY);t.cy.emit({originalEvent:I,type:"mouseover",position:{x:U[0],y:U[1]}})},!1);var D,L,A,M,P,z,W,H,G,X,F,V,q,$=function(I,U,te,Z){return Math.sqrt((te-I)*(te-I)+(Z-U)*(Z-U))},K=function(I,U,te,Z){return(te-I)*(te-I)+(Z-U)*(Z-U)},R;t.registerBinding(t.container,"touchstart",R=function(I){if(t.hasTouchStarted=!0,!!S(I)){b(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var U=t.cy,te=t.touchData.now,Z=t.touchData.earlier;if(I.touches[0]){var J=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);te[0]=J[0],te[1]=J[1]}if(I.touches[1]){var J=t.projectIntoViewport(I.touches[1].clientX,I.touches[1].clientY);te[2]=J[0],te[3]=J[1]}if(I.touches[2]){var J=t.projectIntoViewport(I.touches[2].clientX,I.touches[2].clientY);te[4]=J[0],te[5]=J[1]}if(I.touches[1]){t.touchData.singleTouchMoved=!0,m(t.dragData.touchDragEles);var le=t.findContainerClientCoords();G=le[0],X=le[1],F=le[2],V=le[3],D=I.touches[0].clientX-G,L=I.touches[0].clientY-X,A=I.touches[1].clientX-G,M=I.touches[1].clientY-X,q=0<=D&&D<=F&&0<=A&&A<=F&&0<=L&&L<=V&&0<=M&&M<=V;var ee=U.pan(),oe=U.zoom();P=$(D,L,A,M),z=K(D,L,A,M),W=[(D+A)/2,(L+M)/2],H=[(W[0]-ee.x)/oe,(W[1]-ee.y)/oe];var me=200,be=me*me;if(z<be&&!I.touches[2]){var ye=t.findNearestElement(te[0],te[1],!0,!0),Ne=t.findNearestElement(te[2],te[3],!0,!0);ye&&ye.isNode()?(ye.activate().emit({originalEvent:I,type:"cxttapstart",position:{x:te[0],y:te[1]}}),t.touchData.start=ye):Ne&&Ne.isNode()?(Ne.activate().emit({originalEvent:I,type:"cxttapstart",position:{x:te[0],y:te[1]}}),t.touchData.start=Ne):U.emit({originalEvent:I,type:"cxttapstart",position:{x:te[0],y:te[1]}}),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!0,t.touchData.cxtDragged=!1,t.data.bgActivePosistion=void 0,t.redraw();return}}if(I.touches[2])U.boxSelectionEnabled()&&I.preventDefault();else if(!I.touches[1]){if(I.touches[0]){var ge=t.findNearestElements(te[0],te[1],!0,!0),Ce=ge[0];if(Ce!=null&&(Ce.activate(),t.touchData.start=Ce,t.touchData.starts=ge,t.nodeIsGrabbable(Ce))){var We=t.dragData.touchDragEles=U.collection(),qe=null;t.redrawHint("eles",!0),t.redrawHint("drag",!0),Ce.selected()?(qe=U.$(function(mt){return mt.selected()&&t.nodeIsGrabbable(mt)}),p(qe,{addToList:We})):g(Ce,{addToList:We}),d(Ce);var st=function(wt){return{originalEvent:I,type:wt,position:{x:te[0],y:te[1]}}};Ce.emit(st("grabon")),qe?qe.forEach(function(mt){mt.emit(st("grab"))}):Ce.emit(st("grab"))}n(Ce,["touchstart","tapstart","vmousedown"],I,{x:te[0],y:te[1]}),Ce==null&&(t.data.bgActivePosistion={x:J[0],y:J[1]},t.redrawHint("select",!0),t.redraw()),t.touchData.singleTouchMoved=!1,t.touchData.singleTouchStartTime=+new Date,clearTimeout(t.touchData.tapholdTimeout),t.touchData.tapholdTimeout=setTimeout(function(){t.touchData.singleTouchMoved===!1&&!t.pinching&&!t.touchData.selecting&&n(t.touchData.start,["taphold"],I,{x:te[0],y:te[1]})},t.tapholdDuration)}}if(I.touches.length>=1){for(var lt=t.touchData.startPosition=[null,null,null,null,null,null],rt=0;rt<te.length;rt++)lt[rt]=Z[rt]=te[rt];var Mt=I.touches[0];t.touchData.startGPosition=[Mt.clientX,Mt.clientY]}}},!1);var j;t.registerBinding(e,"touchmove",j=function(I){var U=t.touchData.capture;if(!(!U&&!S(I))){var te=t.selection,Z=t.cy,J=t.touchData.now,le=t.touchData.earlier,ee=Z.zoom();if(I.touches[0]){var oe=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);J[0]=oe[0],J[1]=oe[1]}if(I.touches[1]){var oe=t.projectIntoViewport(I.touches[1].clientX,I.touches[1].clientY);J[2]=oe[0],J[3]=oe[1]}if(I.touches[2]){var oe=t.projectIntoViewport(I.touches[2].clientX,I.touches[2].clientY);J[4]=oe[0],J[5]=oe[1]}var me=t.touchData.startGPosition,be;if(U&&I.touches[0]&&me){for(var ye=[],Ne=0;Ne<J.length;Ne++)ye[Ne]=J[Ne]-le[Ne];var ge=I.touches[0].clientX-me[0],Ce=ge*ge,We=I.touches[0].clientY-me[1],qe=We*We,st=Ce+qe;be=st>=t.touchTapThreshold2}if(U&&t.touchData.cxt){I.preventDefault();var lt=I.touches[0].clientX-G,rt=I.touches[0].clientY-X,Mt=I.touches[1].clientX-G,mt=I.touches[1].clientY-X,wt=K(lt,rt,Mt,mt),Qt=wt/z,Ft=150,$t=Ft*Ft,cr=1.5,Cr=cr*cr;if(Qt>=Cr||wt>=$t){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Yt={originalEvent:I,type:"cxttapend",position:{x:J[0],y:J[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(Yt),t.touchData.start=null):Z.emit(Yt)}}if(U&&t.touchData.cxt){var Yt={originalEvent:I,type:"cxtdrag",position:{x:J[0],y:J[1]}};t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(Yt):Z.emit(Yt),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var nt=t.findNearestElement(J[0],J[1],!0,!0);(!t.touchData.cxtOver||nt!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:I,type:"cxtdragout",position:{x:J[0],y:J[1]}}),t.touchData.cxtOver=nt,nt&&nt.emit({originalEvent:I,type:"cxtdragover",position:{x:J[0],y:J[1]}}))}else if(U&&I.touches[2]&&Z.boxSelectionEnabled())I.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||Z.emit({originalEvent:I,type:"boxstart",position:{x:J[0],y:J[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,te[4]=1,!te||te.length===0||te[0]===void 0?(te[0]=(J[0]+J[2]+J[4])/3,te[1]=(J[1]+J[3]+J[5])/3,te[2]=(J[0]+J[2]+J[4])/3+1,te[3]=(J[1]+J[3]+J[5])/3+1):(te[2]=(J[0]+J[2]+J[4])/3,te[3]=(J[1]+J[3]+J[5])/3),t.redrawHint("select",!0),t.redraw();else if(U&&I.touches[1]&&!t.touchData.didSelect&&Z.zoomingEnabled()&&Z.panningEnabled()&&Z.userZoomingEnabled()&&Z.userPanningEnabled()){I.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var ct=t.dragData.touchDragEles;if(ct){t.redrawHint("drag",!0);for(var Ct=0;Ct<ct.length;Ct++){var Pn=ct[Ct]._private;Pn.grabbed=!1,Pn.rscratch.inDragLayer=!1}}var Q=t.touchData.start,lt=I.touches[0].clientX-G,rt=I.touches[0].clientY-X,Mt=I.touches[1].clientX-G,mt=I.touches[1].clientY-X,he=$(lt,rt,Mt,mt),Ae=he/P;if(q){var He=lt-D,Fr=rt-L,Ln=Mt-A,vi=mt-M,an=(He+Ln)/2,ur=(Fr+vi)/2,Rn=Z.zoom(),Dg=Rn*Ae,Tl=Z.pan(),J_=H[0]*Rn+Tl.x,Q_=H[1]*Rn+Tl.y,o7={x:-Dg/Rn*(J_-Tl.x-an)+J_,y:-Dg/Rn*(Q_-Tl.y-ur)+Q_};if(Q&&Q.active()){var ct=t.dragData.touchDragEles;m(ct),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Q.unactivate().emit("freeon"),ct.emit("free"),t.dragData.didDrag&&(Q.emit("dragfreeon"),ct.emit("dragfree"))}Z.viewport({zoom:Dg,pan:o7,cancelOnFailedZoom:!0}),Z.emit("pinchzoom"),P=he,D=lt,L=rt,A=Mt,M=mt,t.pinching=!0}if(I.touches[0]){var oe=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);J[0]=oe[0],J[1]=oe[1]}if(I.touches[1]){var oe=t.projectIntoViewport(I.touches[1].clientX,I.touches[1].clientY);J[2]=oe[0],J[3]=oe[1]}if(I.touches[2]){var oe=t.projectIntoViewport(I.touches[2].clientX,I.touches[2].clientY);J[4]=oe[0],J[5]=oe[1]}}else if(I.touches[0]&&!t.touchData.didSelect){var Er=t.touchData.start,Og=t.touchData.last,nt;if(!t.hoverData.draggingEles&&!t.swipePanning&&(nt=t.findNearestElement(J[0],J[1],!0,!0)),U&&Er!=null&&I.preventDefault(),U&&Er!=null&&t.nodeIsDraggable(Er))if(be){var ct=t.dragData.touchDragEles,eT=!t.dragData.didDrag;eT&&p(ct,{inDragLayer:!0}),t.dragData.didDrag=!0;var Do={x:0,y:0};if(de(ye[0])&&de(ye[1])&&(Do.x+=ye[0],Do.y+=ye[1],eT)){t.redrawHint("eles",!0);var xr=t.touchData.dragDelta;xr&&de(xr[0])&&de(xr[1])&&(Do.x+=xr[0],Do.y+=xr[1])}t.hoverData.draggingEles=!0,ct.silentShift(Do).emit("position drag"),t.redrawHint("drag",!0),t.touchData.startPosition[0]==le[0]&&t.touchData.startPosition[1]==le[1]&&t.redrawHint("eles",!0),t.redraw()}else{var xr=t.touchData.dragDelta=t.touchData.dragDelta||[];xr.length===0?(xr.push(ye[0]),xr.push(ye[1])):(xr[0]+=ye[0],xr[1]+=ye[1])}if(n(Er||nt,["touchmove","tapdrag","vmousemove"],I,{x:J[0],y:J[1]}),(!Er||!Er.grabbed())&&nt!=Og&&(Og&&Og.emit({originalEvent:I,type:"tapdragout",position:{x:J[0],y:J[1]}}),nt&&nt.emit({originalEvent:I,type:"tapdragover",position:{x:J[0],y:J[1]}})),t.touchData.last=nt,U)for(var Ct=0;Ct<J.length;Ct++)J[Ct]&&t.touchData.startPosition[Ct]&&be&&(t.touchData.singleTouchMoved=!0);if(U&&(Er==null||Er.pannable())&&Z.panningEnabled()&&Z.userPanningEnabled()){var s7=i(Er,t.touchData.starts);s7&&(I.preventDefault(),t.data.bgActivePosistion||(t.data.bgActivePosistion=Va(t.touchData.startPosition)),t.swipePanning?(Z.panBy({x:ye[0]*ee,y:ye[1]*ee}),Z.emit("dragpan")):be&&(t.swipePanning=!0,Z.panBy({x:ge*ee,y:We*ee}),Z.emit("dragpan"),Er&&(Er.unactivate(),t.redrawHint("select",!0),t.touchData.start=null)));var oe=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);J[0]=oe[0],J[1]=oe[1]}}for(var Ne=0;Ne<J.length;Ne++)le[Ne]=J[Ne];U&&I.touches.length>0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var Y;t.registerBinding(e,"touchcancel",Y=function(I){var U=t.touchData.start;t.touchData.capture=!1,U&&U.unactivate()});var se,ce,ae,ne;if(t.registerBinding(e,"touchend",se=function(I){var U=t.touchData.start,te=t.touchData.capture;if(te)I.touches.length===0&&(t.touchData.capture=!1),I.preventDefault();else return;var Z=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var J=t.cy,le=J.zoom(),ee=t.touchData.now,oe=t.touchData.earlier;if(I.touches[0]){var me=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);ee[0]=me[0],ee[1]=me[1]}if(I.touches[1]){var me=t.projectIntoViewport(I.touches[1].clientX,I.touches[1].clientY);ee[2]=me[0],ee[3]=me[1]}if(I.touches[2]){var me=t.projectIntoViewport(I.touches[2].clientX,I.touches[2].clientY);ee[4]=me[0],ee[5]=me[1]}U&&U.unactivate();var be;if(t.touchData.cxt){if(be={originalEvent:I,type:"cxttapend",position:{x:ee[0],y:ee[1]}},U?U.emit(be):J.emit(be),!t.touchData.cxtDragged){var ye={originalEvent:I,type:"cxttap",position:{x:ee[0],y:ee[1]}};U?U.emit(ye):J.emit(ye)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!I.touches[2]&&J.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var Ne=J.collection(t.getAllInBox(Z[0],Z[1],Z[2],Z[3]));Z[0]=void 0,Z[1]=void 0,Z[2]=void 0,Z[3]=void 0,Z[4]=0,t.redrawHint("select",!0),J.emit({type:"boxend",originalEvent:I,position:{x:ee[0],y:ee[1]}});var ge=function($t){return $t.selectable()&&!$t.selected()};Ne.emit("box").stdFilter(ge).select().emit("boxselect"),Ne.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(U!=null&&U.unactivate(),I.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!I.touches[1]){if(!I.touches[0]){if(!I.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Ce=t.dragData.touchDragEles;if(U!=null){var We=U._private.grabbed;m(Ce),t.redrawHint("drag",!0),t.redrawHint("eles",!0),We&&(U.emit("freeon"),Ce.emit("free"),t.dragData.didDrag&&(U.emit("dragfreeon"),Ce.emit("dragfree"))),n(U,["touchend","tapend","vmouseup","tapdragout"],I,{x:ee[0],y:ee[1]}),U.unactivate(),t.touchData.start=null}else{var qe=t.findNearestElement(ee[0],ee[1],!0,!0);n(qe,["touchend","tapend","vmouseup","tapdragout"],I,{x:ee[0],y:ee[1]})}var st=t.touchData.startPosition[0]-ee[0],lt=st*st,rt=t.touchData.startPosition[1]-ee[1],Mt=rt*rt,mt=lt+Mt,wt=mt*le*le;t.touchData.singleTouchMoved||(U||J.$(":selected").unselect(["tapunselect"]),n(U,["tap","vclick"],I,{x:ee[0],y:ee[1]}),ce=!1,I.timeStamp-ne<=J.multiClickDebounceTime()?(ae&&clearTimeout(ae),ce=!0,ne=null,n(U,["dbltap","vdblclick"],I,{x:ee[0],y:ee[1]})):(ae=setTimeout(function(){ce||n(U,["onetap","voneclick"],I,{x:ee[0],y:ee[1]})},J.multiClickDebounceTime()),ne=I.timeStamp)),U!=null&&!t.dragData.didDrag&&U._private.selectable&&wt<t.touchTapThreshold2&&!t.pinching&&(J.selectionType()==="single"?(J.$(r).unmerge(U).unselect(["tapunselect"]),U.select(["tapselect"])):U.selected()?U.unselect(["tapunselect"]):U.select(["tapselect"]),t.redrawHint("eles",!0)),t.touchData.singleTouchMoved=!0}}}for(var Qt=0;Qt<ee.length;Qt++)oe[Qt]=ee[Qt];t.dragData.didDrag=!1,I.touches.length===0&&(t.touchData.dragDelta=[],t.touchData.startPosition=[null,null,null,null,null,null],t.touchData.startGPosition=null,t.touchData.didSelect=!1),I.touches.length<2&&(I.touches.length===1&&(t.touchData.startGPosition=[I.touches[0].clientX,I.touches[0].clientY]),t.pinching=!1,t.redrawHint("eles",!0),t.redraw())},!1),typeof TouchEvent>"u"){var ue=[],ie=function(I){return{clientX:I.clientX,clientY:I.clientY,force:1,identifier:I.pointerId,pageX:I.pageX,pageY:I.pageY,radiusX:I.width/2,radiusY:I.height/2,screenX:I.screenX,screenY:I.screenY,target:I.target}},fe=function(I){return{event:I,touch:ie(I)}},pe=function(I){ue.push(fe(I))},Oe=function(I){for(var U=0;U<ue.length;U++){var te=ue[U];if(te.event.pointerId===I.pointerId){ue.splice(U,1);return}}},Ie=function(I){var U=ue.filter(function(te){return te.event.pointerId===I.pointerId})[0];U.event=I,U.touch=ie(I)},we=function(I){I.touches=ue.map(function(U){return U.touch})},ke=function(I){return I.pointerType==="mouse"||I.pointerType===4};t.registerBinding(t.container,"pointerdown",function(re){ke(re)||(re.preventDefault(),pe(re),we(re),R(re))}),t.registerBinding(t.container,"pointerup",function(re){ke(re)||(Oe(re),we(re),se(re))}),t.registerBinding(t.container,"pointercancel",function(re){ke(re)||(Oe(re),we(re),Y(re))}),t.registerBinding(t.container,"pointermove",function(re){ke(re)||(re.preventDefault(),Ie(re),we(re),j(re))})}};var en={};en.generatePolygon=function(t,e){return this.nodeShapes[t]={renderer:this,name:t,points:e,draw:function(n,a,i,o,l,u){this.renderer.nodeShapeImpl("polygon",n,a,i,o,l,this.points)},intersectLine:function(n,a,i,o,l,u,c,d){return ro(l,u,this.points,n,a,i/2,o/2,c)},checkPoint:function(n,a,i,o,l,u,c,d){return Xr(n,a,this.points,u,c,o,l,[0,-1],i)}}},en.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i)},intersectLine:function(e,r,n,a,i,o,l,u){return K5(i,o,e,r,n/2+l,a/2+l)},checkPoint:function(e,r,n,a,i,o,l,u){return ta(e,r,a,i,o,l,n)}}},en.generateRoundPolygon=function(t,e){return this.nodeShapes[t]={renderer:this,name:t,points:e,getOrCreateCorners:function(n,a,i,o,l,u,c){if(u[c]!==void 0&&u[c+"-cx"]===n&&u[c+"-cy"]===a)return u[c];u[c]=new Array(e.length/2),u[c+"-cx"]=n,u[c+"-cy"]=a;var d=i/2,f=o/2;l=l==="auto"?ub(i,o):l;for(var h=new Array(e.length/2),v=0;v<e.length/2;v++)h[v]={x:n+d*e[v*2],y:a+f*e[v*2+1]};var p,g,m,y,b=h.length;for(g=h[b-1],p=0;p<b;p++)m=h[p%b],y=h[(p+1)%b],u[c][p]=xu(g,m,y,l),g=m,m=y;return u[c]},draw:function(n,a,i,o,l,u,c){this.renderer.nodeShapeImpl("round-polygon",n,a,i,o,l,this.points,this.getOrCreateCorners(a,i,o,l,u,c,"drawCorners"))},intersectLine:function(n,a,i,o,l,u,c,d,f){return G5(l,u,this.points,n,a,i,o,c,this.getOrCreateCorners(n,a,i,o,d,f,"corners"))},checkPoint:function(n,a,i,o,l,u,c,d,f){return H5(n,a,this.points,u,c,o,l,this.getOrCreateCorners(u,c,o,l,d,f,"corners"))}}},en.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:Ht(4,0),draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i,this.points,o)},intersectLine:function(e,r,n,a,i,o,l,u){return lb(i,o,e,r,n,a,l,u)},checkPoint:function(e,r,n,a,i,o,l,u){var c=a/2,d=i/2;u=u==="auto"?ra(a,i):u,u=Math.min(c,d,u);var f=u*2;return!!(Xr(e,r,this.points,o,l,a,i-f,[0,-1],n)||Xr(e,r,this.points,o,l,a-f,i,[0,-1],n)||ta(e,r,f,f,o-c+u,l-d+u,n)||ta(e,r,f,f,o+c-u,l-d+u,n)||ta(e,r,f,f,o+c-u,l+d-u,n)||ta(e,r,f,f,o-c+u,l+d-u,n))}}},en.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:jc(),points:Ht(4,0),draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i,null,o)},generateCutTrianglePts:function(e,r,n,a,i){var o=i==="auto"?this.cornerLength:i,l=r/2,u=e/2,c=n-u,d=n+u,f=a-l,h=a+l;return{topLeft:[c,f+o,c+o,f,c+o,f+o],topRight:[d-o,f,d,f+o,d-o,f+o],bottomRight:[d,h-o,d-o,h,d-o,h-o],bottomLeft:[c+o,h,c,h-o,c+o,h-o]}},intersectLine:function(e,r,n,a,i,o,l,u){var c=this.generateCutTrianglePts(n+2*l,a+2*l,e,r,u),d=[].concat.apply([],[c.topLeft.splice(0,4),c.topRight.splice(0,4),c.bottomRight.splice(0,4),c.bottomLeft.splice(0,4)]);return ro(i,o,d,e,r)},checkPoint:function(e,r,n,a,i,o,l,u){var c=u==="auto"?this.cornerLength:u;if(Xr(e,r,this.points,o,l,a,i-2*c,[0,-1],n)||Xr(e,r,this.points,o,l,a-2*c,i,[0,-1],n))return!0;var d=this.generateCutTrianglePts(a,i,o,l);return Wt(e,r,d.topLeft)||Wt(e,r,d.topRight)||Wt(e,r,d.bottomRight)||Wt(e,r,d.bottomLeft)}}},en.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:Ht(4,0),draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i)},intersectLine:function(e,r,n,a,i,o,l,u){var c=.15,d=.5,f=.85,h=this.generateBarrelBezierPts(n+2*l,a+2*l,e,r),v=function(m){var y=qa({x:m[0],y:m[1]},{x:m[2],y:m[3]},{x:m[4],y:m[5]},c),b=qa({x:m[0],y:m[1]},{x:m[2],y:m[3]},{x:m[4],y:m[5]},d),w=qa({x:m[0],y:m[1]},{x:m[2],y:m[3]},{x:m[4],y:m[5]},f);return[m[0],m[1],y.x,y.y,b.x,b.y,w.x,w.y,m[4],m[5]]},p=[].concat(v(h.topLeft),v(h.topRight),v(h.bottomRight),v(h.bottomLeft));return ro(i,o,p,e,r)},generateBarrelBezierPts:function(e,r,n,a){var i=r/2,o=e/2,l=n-o,u=n+o,c=a-i,d=a+i,f=Yc(e,r),h=f.heightOffset,v=f.widthOffset,p=f.ctrlPtOffsetPct*e,g={topLeft:[l,c+h,l+p,c,l+v,c],topRight:[u-v,c,u-p,c,u,c+h],bottomRight:[u,d-h,u-p,d,u-v,d],bottomLeft:[l+v,d,l+p,d,l,d-h]};return g.topLeft.isTop=!0,g.topRight.isTop=!0,g.bottomLeft.isBottom=!0,g.bottomRight.isBottom=!0,g},checkPoint:function(e,r,n,a,i,o,l,u){var c=Yc(a,i),d=c.heightOffset,f=c.widthOffset;if(Xr(e,r,this.points,o,l,a,i-2*d,[0,-1],n)||Xr(e,r,this.points,o,l,a-2*f,i,[0,-1],n))return!0;for(var h=this.generateBarrelBezierPts(a,i,o,l),v=function(_,S,T){var N=T[4],B=T[2],O=T[0],D=T[5],L=T[1],A=Math.min(N,O),M=Math.max(N,O),P=Math.min(D,L),z=Math.max(D,L);if(A<=_&&_<=M&&P<=S&&S<=z){var W=U5(N,B,O),H=$5(W[0],W[1],W[2],_),G=H.filter(function(X){return 0<=X&&X<=1});if(G.length>0)return G[0]}return null},p=Object.keys(h),g=0;g<p.length;g++){var m=p[g],y=h[m],b=v(e,r,y);if(b!=null){var w=y[5],C=y[3],x=y[1],k=bt(w,C,x,b);if(y.isTop&&k<=r||y.isBottom&&r<=k)return!0}}return!1}}},en.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:Ht(4,0),draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i,this.points,o)},intersectLine:function(e,r,n,a,i,o,l,u){var c=e-(n/2+l),d=r-(a/2+l),f=d,h=e+(n/2+l),v=En(i,o,e,r,c,d,h,f,!1);return v.length>0?v:lb(i,o,e,r,n,a,l,u)},checkPoint:function(e,r,n,a,i,o,l,u){u=u==="auto"?ra(a,i):u;var c=2*u;if(Xr(e,r,this.points,o,l,a,i-c,[0,-1],n)||Xr(e,r,this.points,o,l,a-c,i,[0,-1],n))return!0;var d=a/2+2*n,f=i/2+2*n,h=[o-d,l-f,o-d,l,o+d,l,o+d,l-f];return!!(Wt(e,r,h)||ta(e,r,c,c,o+a/2-u,l+i/2-u,n)||ta(e,r,c,c,o-a/2+u,l+i/2-u,n))}}},en.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",Ht(3,0)),this.generateRoundPolygon("round-triangle",Ht(3,0)),this.generatePolygon("rectangle",Ht(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",Ht(5,0)),this.generateRoundPolygon("round-pentagon",Ht(5,0)),this.generatePolygon("hexagon",Ht(6,0)),this.generateRoundPolygon("round-hexagon",Ht(6,0)),this.generatePolygon("heptagon",Ht(7,0)),this.generateRoundPolygon("round-heptagon",Ht(7,0)),this.generatePolygon("octagon",Ht(8,0)),this.generateRoundPolygon("round-octagon",Ht(8,0));var n=new Array(20);{var a=Wc(5,0),i=Wc(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var l=0;l<i.length/2;l++)i[l*2]*=o,i[l*2+1]*=o;for(var l=0;l<20/4;l++)n[l*4]=a[l*2],n[l*4+1]=a[l*2+1],n[l*4+2]=i[l*2],n[l*4+3]=i[l*2+1]}n=cb(n),this.generatePolygon("star",n),this.generatePolygon("vee",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,.333,-1,1,1,-.333,1]),this.generatePolygon("right-rhomboid",[-.333,-1,1,-1,.333,1,-1,1]),this.nodeShapes.concavehexagon=this.generatePolygon("concave-hexagon",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]);{var u=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",u),this.generateRoundPolygon("round-tag",u)}t.makePolygon=function(c){var d=c.join("$"),f="polygon-"+d,h;return(h=this[f])?h:e.generatePolygon(f,c)}};var yo={};yo.timeToRender=function(){return this.redrawTotalTime/this.redrawCount},yo.redraw=function(t){t=t||tb();var e=this;e.averageRedrawTime===void 0&&(e.averageRedrawTime=0),e.lastRedrawTime===void 0&&(e.lastRedrawTime=0),e.lastDrawTime===void 0&&(e.lastDrawTime=0),e.requestedFrame=!0,e.renderOptions=t},yo.beforeRender=function(t,e){if(!this.destroyed){e==null&&Qe("Priority is not optional for beforeRender");var r=this.beforeRenderCallbacks;r.push({fn:t,priority:e}),r.sort(function(n,a){return a.priority-n.priority})}};var rw=function(e,r,n){for(var a=e.beforeRenderCallbacks,i=0;i<a.length;i++)a[i].fn(r,n)};yo.startRenderLoop=function(){var t=this,e=t.cy;if(!t.renderLoopStarted){t.renderLoopStarted=!0;var r=function n(a){if(!t.destroyed){if(!e.batching())if(t.requestedFrame&&!t.skipFrame){rw(t,!0,a);var i=Zr();t.render(t.renderOptions);var o=t.lastDrawTime=Zr();t.averageRedrawTime===void 0&&(t.averageRedrawTime=o-i),t.redrawCount===void 0&&(t.redrawCount=0),t.redrawCount++,t.redrawTotalTime===void 0&&(t.redrawTotalTime=0);var l=o-i;t.redrawTotalTime+=l,t.lastRedrawTime=l,t.averageRedrawTime=t.averageRedrawTime/2+l/2,t.requestedFrame=!1}else rw(t,!1,a);t.skipFrame=!1,ms(n)}};ms(r)}};var S3=function(e){this.init(e)},nw=S3,oi=nw.prototype;oi.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],oi.init=function(t){var e=this;e.options=t,e.cy=t.cy;var r=e.container=t.cy.container(),n=e.cy.window();if(n){var a=n.document,i=a.head,o="__________cytoscape_stylesheet",l="__________cytoscape_container",u=a.getElementById(o)!=null;if(r.className.indexOf(l)<0&&(r.className=(r.className||"")+" "+l),!u){var c=a.createElement("style");c.id=o,c.textContent="."+l+" { position: relative; }",i.insertBefore(c,i.children[0])}var d=n.getComputedStyle(r),f=d.getPropertyValue("position");f==="static"&&$e("A Cytoscape container has style position:static and so can not use UI extensions properly")}e.selection=[void 0,void 0,void 0,void 0,0],e.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],e.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},e.dragData={possibleDragElements:[]},e.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},e.redraws=0,e.showFps=t.showFps,e.debug=t.debug,e.hideEdgesOnViewport=t.hideEdgesOnViewport,e.textureOnViewport=t.textureOnViewport,e.wheelSensitivity=t.wheelSensitivity,e.motionBlurEnabled=t.motionBlur,e.forcedPixelRatio=de(t.pixelRatio)?t.pixelRatio:null,e.motionBlur=t.motionBlur,e.motionBlurOpacity=t.motionBlurOpacity,e.motionBlurTransparency=1-e.motionBlurOpacity,e.motionBlurPxRatio=1,e.mbPxRBlurry=1,e.minMbLowQualFrames=4,e.fullQualityMb=!1,e.clearedForMotionBlur=[],e.desktopTapThreshold=t.desktopTapThreshold,e.desktopTapThreshold2=t.desktopTapThreshold*t.desktopTapThreshold,e.touchTapThreshold=t.touchTapThreshold,e.touchTapThreshold2=t.touchTapThreshold*t.touchTapThreshold,e.tapholdDuration=500,e.bindings=[],e.beforeRenderCallbacks=[],e.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},e.registerNodeShapes(),e.registerArrowShapes(),e.registerCalculationListeners()},oi.notify=function(t,e){var r=this,n=r.cy;if(!this.destroyed){if(t==="init"){r.load();return}if(t==="destroy"){r.destroy();return}(t==="add"||t==="remove"||t==="move"&&n.hasCompoundNodes()||t==="load"||t==="zorder"||t==="mount")&&r.invalidateCachedZSortedEles(),t==="viewport"&&r.redrawHint("select",!0),(t==="load"||t==="resize"||t==="mount")&&(r.invalidateContainerClientCoordsCache(),r.matchCanvasSize(r.container)),r.redrawHint("eles",!0),r.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()}},oi.destroy=function(){var t=this;t.destroyed=!0,t.cy.stopAnimationLoop();for(var e=0;e<t.bindings.length;e++){var r=t.bindings[e],n=r,a=n.target;(a.off||a.removeEventListener).apply(a,n.args)}if(t.bindings=[],t.beforeRenderCallbacks=[],t.onUpdateEleCalcsFns=[],t.removeObserver&&t.removeObserver.disconnect(),t.styleObserver&&t.styleObserver.disconnect(),t.resizeObserver&&t.resizeObserver.disconnect(),t.labelCalcDiv)try{document.body.removeChild(t.labelCalcDiv)}catch{}},oi.isHeadless=function(){return!1},[yu,ew,tw,ii,en,yo].forEach(function(t){Te(oi,t)});var Su=1e3/60,aw={setupDequeueing:function(e){return function(){var n=this,a=this.renderer;if(!n.dequeueingSetup){n.dequeueingSetup=!0;var i=gs(function(){a.redrawHint("eles",!0),a.redrawHint("drag",!0),a.redraw()},e.deqRedrawThreshold),o=function(c,d){var f=Zr(),h=a.averageRedrawTime,v=a.lastRedrawTime,p=[],g=a.cy.extent(),m=a.getPixelRatio();for(c||a.flushRenderedStyleQueue();;){var y=Zr(),b=y-f,w=y-d;if(v<Su){var C=Su-(c?h:0);if(w>=e.deqFastCost*C)break}else if(c){if(b>=e.deqCost*v||b>=e.deqAvgCost*h)break}else if(w>=e.deqNoDrawCost*Su)break;var x=e.deq(n,m,g);if(x.length>0)for(var k=0;k<x.length;k++)p.push(x[k]);else break}p.length>0&&(e.onDeqd(n,p),!c&&e.shouldRedraw(n,p,m,g)&&i())},l=e.priority||qc;a.beforeRender(o,l(n))}}}},_3=function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:bs;Pc(this,t),this.idsByKey=new Ir,this.keyForId=new Ir,this.cachesByLvl=new Ir,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return Lc(t,[{key:"getIdsFor",value:function(r){r==null&&Qe("Can not get id list for null key");var n=this.idsByKey,a=this.idsByKey.get(r);return a||(a=new $a,n.set(r,a)),a}},{key:"addIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).add(n)}},{key:"deleteIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).delete(n)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var n=r.id(),a=this.keyForId.get(n),i=this.getKey(r);this.deleteIdForKey(a,n),this.addIdForKey(i,n),this.keyForId.set(n,i)}},{key:"deleteKeyMappingFor",value:function(r){var n=r.id(),a=this.keyForId.get(n);this.deleteIdForKey(a,n),this.keyForId.delete(n)}},{key:"keyHasChangedFor",value:function(r){var n=r.id(),a=this.keyForId.get(n),i=this.getKey(r);return a!==i}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var n=this.cachesByLvl,a=this.lvls,i=n.get(r);return i||(i=new Ir,n.set(r,i),a.push(r)),i}},{key:"getCache",value:function(r,n){return this.getCachesAt(n).get(r)}},{key:"get",value:function(r,n){var a=this.getKey(r),i=this.getCache(a,n);return i!=null&&this.updateKeyMappingFor(r),i}},{key:"getForCachedKey",value:function(r,n){var a=this.keyForId.get(r.id()),i=this.getCache(a,n);return i}},{key:"hasCache",value:function(r,n){return this.getCachesAt(n).has(r)}},{key:"has",value:function(r,n){var a=this.getKey(r);return this.hasCache(a,n)}},{key:"setCache",value:function(r,n,a){a.key=r,this.getCachesAt(n).set(r,a)}},{key:"set",value:function(r,n,a){var i=this.getKey(r);this.setCache(i,n,a),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,n){this.getCachesAt(n).delete(r)}},{key:"delete",value:function(r,n){var a=this.getKey(r);this.deleteCache(a,n)}},{key:"invalidateKey",value:function(r){var n=this;this.lvls.forEach(function(a){return n.deleteCache(r,a)})}},{key:"invalidate",value:function(r){var n=r.id(),a=this.keyForId.get(n);this.deleteKeyMappingFor(r);var i=this.doesEleInvalidateKey(r);return i&&this.invalidateKey(a),i||this.getNumberOfIdsForKey(a)===0}}]),t}(),iw=25,ol=50,sl=-4,_u=3,T3=7.99,N3=8,I3=1024,B3=1024,D3=1024,O3=.2,A3=.8,P3=10,L3=.15,R3=.1,M3=.9,F3=.9,$3=100,V3=1,si={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},q3=St({getKey:null,doesEleInvalidateKey:bs,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:X0,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),bo=function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var a=q3(r);Te(n,a),n.lookup=new _3(a.getKey,a.doesEleInvalidateKey),n.setupDequeueing()},gt=bo.prototype;gt.reasons=si,gt.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]},gt.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n},gt.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new Qi(function(r,n){return n.reqs-r.reqs});return e},gt.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e},gt.getElement=function(t,e,r,n,a){var i=this,o=this.renderer,l=o.cy.zoom(),u=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!i.allowEdgeTxrCaching&&t.isEdge()||!i.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(Kc(l*r))),n<sl)n=sl;else if(l>=T3||n>_u)return null;var c=Math.pow(2,n),d=e.h*c,f=e.w*c,h=o.eleTextBiggerThanMin(t,c);if(!this.isVisible(t,h))return null;var v=u.get(t,n);if(v&&v.invalidated&&(v.invalidated=!1,v.texture.invalidatedWidth-=v.width),v)return v;var p;if(d<=iw?p=iw:d<=ol?p=ol:p=Math.ceil(d/ol)*ol,d>D3||f>B3)return null;var g=i.getTextureQueue(p),m=g[g.length-2],y=function(){return i.recycleTexture(p,f)||i.addTexture(p,f)};m||(m=g[g.length-1]),m||(m=y()),m.width-m.usedWidth<f&&(m=y());for(var b=function(A){return A&&A.scaledLabelShown===h},w=a&&a===si.dequeue,C=a&&a===si.highQuality,x=a&&a===si.downscale,k,E=n+1;E<=_u;E++){var _=u.get(t,E);if(_){k=_;break}}var S=k&&k.level===n+1?k:null,T=function(){m.context.drawImage(S.texture.canvas,S.x,0,S.width,S.height,m.usedWidth,0,f,d)};if(m.context.setTransform(1,0,0,1,0,0),m.context.clearRect(m.usedWidth,0,f,p),b(S))T();else if(b(k))if(C){for(var N=k.level;N>n;N--)S=i.getElement(t,e,r,N,si.downscale);T()}else return i.queueElement(t,k.level-1),k;else{var B;if(!w&&!C&&!x)for(var O=n-1;O>=sl;O--){var D=u.get(t,O);if(D){B=D;break}}if(b(B))return i.queueElement(t,n),B;m.context.translate(m.usedWidth,0),m.context.scale(c,c),this.drawElement(m.context,t,e,h,!1),m.context.scale(1/c,1/c),m.context.translate(-m.usedWidth,0)}return v={x:m.usedWidth,texture:m,level:n,scale:c,width:f,height:d,scaledLabelShown:h},m.usedWidth+=Math.ceil(f+N3),m.eleCaches.push(v),u.set(t,n,v),i.checkTextureFullness(m),v},gt.invalidateElements=function(t){for(var e=0;e<t.length;e++)this.invalidateElement(t[e])},gt.invalidateElement=function(t){var e=this,r=e.lookup,n=[],a=r.isInvalid(t);if(a){for(var i=sl;i<=_u;i++){var o=r.getForCachedKey(t,i);o&&n.push(o)}var l=r.invalidate(t);if(l)for(var u=0;u<n.length;u++){var c=n[u],d=c.texture;d.invalidatedWidth+=c.width,c.invalidated=!0,e.checkTextureUtility(d)}e.removeFromQueue(t)}},gt.checkTextureUtility=function(t){t.invalidatedWidth>=O3*t.width&&this.retireTexture(t)},gt.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>A3&&t.fullnessChecks>=P3?wn(r,t):t.fullnessChecks++},gt.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),a=this.lookup;wn(n,t),t.retired=!0;for(var i=t.eleCaches,o=0;o<i.length;o++){var l=i[o];a.deleteCache(l.key,l.level)}zc(i);var u=e.getRetiredTextureQueue(r);u.push(t)},gt.addTexture=function(t,e){var r=this,n=r.getTextureQueue(t),a={};return n.push(a),a.eleCaches=[],a.height=t,a.width=Math.max(I3,e),a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,a.canvas=r.renderer.makeOffscreenCanvas(a.width,a.height),a.context=a.canvas.getContext("2d"),a},gt.recycleTexture=function(t,e){for(var r=this,n=r.getTextureQueue(t),a=r.getRetiredTextureQueue(t),i=0;i<a.length;i++){var o=a[i];if(o.width>=e)return o.retired=!1,o.usedWidth=0,o.invalidatedWidth=0,o.fullnessChecks=0,zc(o.eleCaches),o.context.setTransform(1,0,0,1,0,0),o.context.clearRect(0,0,o.width,o.height),wn(a,o),n.push(o),o}},gt.queueElement=function(t,e){var r=this,n=r.getElementQueue(),a=r.getElementKeyToQueue(),i=this.getKey(t),o=a[i];if(o)o.level=Math.max(o.level,e),o.eles.merge(t),o.reqs++,n.updateItem(o);else{var l={eles:t.spawn().merge(t),level:e,reqs:1,key:i};n.push(l),a[i]=l}},gt.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),a=[],i=e.lookup,o=0;o<V3&&r.size()>0;o++){var l=r.pop(),u=l.key,c=l.eles[0],d=i.hasCache(c,l.level);if(n[u]=null,d)continue;a.push(l);var f=e.getBoundingBox(c);e.getElement(c,f,t,l.level,si.dequeue)}return a},gt.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),a=this.getKey(t),i=n[a];i!=null&&(i.eles.length===1?(i.reqs=Vc,r.updateItem(i),r.pop(),n[a]=null):i.eles.unmerge(t))},gt.onDequeue=function(t){this.onDequeues.push(t)},gt.offDequeue=function(t){wn(this.onDequeues,t)},gt.setupDequeueing=aw.setupDequeueing({deqRedrawThreshold:$3,deqCost:L3,deqAvgCost:R3,deqNoDrawCost:M3,deqFastCost:F3,deq:function(e,r,n){return e.dequeue(r,n)},onDeqd:function(e,r){for(var n=0;n<e.onDequeues.length;n++){var a=e.onDequeues[n];a(r)}},shouldRedraw:function(e,r,n,a){for(var i=0;i<r.length;i++)for(var o=r[i].eles,l=0;l<o.length;l++){var u=o[l].boundingBox();if(Gc(u,a))return!0}return!1},priority:function(e){return e.renderer.beforeRenderPriorities.eleTxrDeq}});var z3=1,wo=-4,ll=2,H3=3.99,K3=50,G3=50,U3=.15,W3=.1,j3=.9,Y3=.9,Z3=1,ow=250,X3=4e3*4e3,J3=!0,sw=function(e){var r=this,n=r.renderer=e,a=n.cy;r.layersByLevel={},r.firstGet=!0,r.lastInvalidationTime=Zr()-2*ow,r.skipping=!1,r.eleTxrDeqs=a.collection(),r.scheduleElementRefinement=gs(function(){r.refineElementTextures(r.eleTxrDeqs),r.eleTxrDeqs.unmerge(r.eleTxrDeqs)},G3),n.beforeRender(function(o,l){l-r.lastInvalidationTime<=ow?r.skipping=!0:r.skipping=!1},n.beforeRenderPriorities.lyrTxrSkip);var i=function(l,u){return u.reqs-l.reqs};r.layersQueue=new Qi(i),r.setupDequeueing()},It=sw.prototype,lw=0,Q3=Math.pow(2,53)-1;It.makeLayer=function(t,e){var r=Math.pow(2,e),n=Math.ceil(t.w*r),a=Math.ceil(t.h*r),i=this.renderer.makeOffscreenCanvas(n,a),o={id:lw=++lw%Q3,bb:t,level:e,width:n,height:a,canvas:i,context:i.getContext("2d"),eles:[],elesQueue:[],reqs:0},l=o.context,u=-o.bb.x1,c=-o.bb.y1;return l.scale(r,r),l.translate(u,c),o},It.getLayers=function(t,e,r){var n=this,a=n.renderer,i=a.cy,o=i.zoom(),l=n.firstGet;if(n.firstGet=!1,r==null){if(r=Math.ceil(Kc(o*e)),r<wo)r=wo;else if(o>=H3||r>ll)return null}n.validateLayersElesOrdering(r,t);var u=n.layersByLevel,c=Math.pow(2,r),d=u[r]=u[r]||[],f,h=n.levelIsComplete(r,t),v,p=function(){var T=function(L){if(n.validateLayersElesOrdering(L,t),n.levelIsComplete(L,t))return v=u[L],!0},N=function(L){if(!v)for(var A=r+L;wo<=A&&A<=ll&&!T(A);A+=L);};N(1),N(-1);for(var B=d.length-1;B>=0;B--){var O=d[B];O.invalid&&wn(d,O)}};if(!h)p();else return d;var g=function(){if(!f){f=Ut();for(var T=0;T<t.length;T++)ib(f,t[T].boundingBox())}return f},m=function(T){T=T||{};var N=T.after;g();var B=f.w*c*(f.h*c);if(B>X3)return null;var O=n.makeLayer(f,r);if(N!=null){var D=d.indexOf(N)+1;d.splice(D,0,O)}else(T.insert===void 0||T.insert)&&d.unshift(O);return O};if(n.skipping&&!l)return null;for(var y=null,b=t.length/z3,w=!l,C=0;C<t.length;C++){var x=t[C],k=x._private.rscratch,E=k.imgLayerCaches=k.imgLayerCaches||{},_=E[r];if(_){y=_;continue}if((!y||y.eles.length>=b||!sb(y.bb,x.boundingBox()))&&(y=m({insert:!0,after:y}),!y))return null;v||w?n.queueLayer(y,x):n.drawEleInLayer(y,x,r,e),y.eles.push(x),E[r]=y}return v||(w?null:d)},It.getEleLevelForLayerLevel=function(t,e){return t},It.drawEleInLayer=function(t,e,r,n){var a=this,i=this.renderer,o=t.context,l=e.boundingBox();l.w===0||l.h===0||!e.visible()||(r=a.getEleLevelForLayerLevel(r,n),i.setImgSmoothing(o,!1),i.drawCachedElement(o,e,null,null,r,J3),i.setImgSmoothing(o,!0))},It.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var a=0,i=0;i<n.length;i++){var o=n[i];if(o.reqs>0||o.invalid)return!1;a+=o.eles.length}return a===e.length},It.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n<r.length;n++){for(var a=r[n],i=-1,o=0;o<e.length;o++)if(a.eles[0]===e[o]){i=o;break}if(i<0){this.invalidateLayer(a);continue}for(var l=i,o=0;o<a.eles.length;o++)if(a.eles[o]!==e[l+o]){this.invalidateLayer(a);break}}},It.updateElementsInLayers=function(t,e){for(var r=this,n=Ki(t[0]),a=0;a<t.length;a++)for(var i=n?null:t[a],o=n?t[a]:t[a].ele,l=o._private.rscratch,u=l.imgLayerCaches=l.imgLayerCaches||{},c=wo;c<=ll;c++){var d=u[c];d&&(i&&r.getEleLevelForLayerLevel(d.level)!==i.level||e(d,o,i))}},It.haveLayers=function(){for(var t=this,e=!1,r=wo;r<=ll;r++){var n=t.layersByLevel[r];if(n&&n.length>0){e=!0;break}}return e},It.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Zr(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(n,a,i){e.invalidateLayer(n)}))},It.invalidateLayer=function(t){if(this.lastInvalidationTime=Zr(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];wn(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var a=0;a<r.length;a++){var i=r[a]._private.rscratch.imgLayerCaches;i&&(i[e]=null)}}},It.refineElementTextures=function(t){var e=this;e.updateElementsInLayers(t,function(n,a,i){var o=n.replacement;if(o||(o=n.replacement=e.makeLayer(n.bb,n.level),o.replaces=n,o.eles=n.eles),!o.reqs)for(var l=0;l<o.eles.length;l++)e.queueLayer(o,o.eles[l])})},It.enqueueElementRefinement=function(t){this.eleTxrDeqs.merge(t),this.scheduleElementRefinement()},It.queueLayer=function(t,e){var r=this,n=r.layersQueue,a=t.elesQueue,i=a.hasId=a.hasId||{};if(!t.replacement){if(e){if(i[e.id()])return;a.push(e),i[e.id()]=!0}t.reqs?(t.reqs++,n.updateItem(t)):(t.reqs=1,n.push(t))}},It.dequeue=function(t){for(var e=this,r=e.layersQueue,n=[],a=0;a<Z3&&r.size()!==0;){var i=r.peek();if(i.replacement){r.pop();continue}if(i.replaces&&i!==i.replaces.replacement){r.pop();continue}if(i.invalid){r.pop();continue}var o=i.elesQueue.shift();o&&(e.drawEleInLayer(i,o,i.level,t),a++),n.length===0&&n.push(!0),i.elesQueue.length===0&&(r.pop(),i.reqs=0,i.replaces&&e.applyLayerReplacement(i),e.requestRedraw())}return n},It.applyLayerReplacement=function(t){var e=this,r=e.layersByLevel[t.level],n=t.replaces,a=r.indexOf(n);if(!(a<0||n.invalid)){r[a]=t;for(var i=0;i<t.eles.length;i++){var o=t.eles[i]._private,l=o.imgLayerCaches=o.imgLayerCaches||{};l&&(l[t.level]=t)}e.requestRedraw()}},It.requestRedraw=gs(function(){var t=this.renderer;t.redrawHint("eles",!0),t.redrawHint("drag",!0),t.redraw()},100),It.setupDequeueing=aw.setupDequeueing({deqRedrawThreshold:K3,deqCost:U3,deqAvgCost:W3,deqNoDrawCost:j3,deqFastCost:Y3,deq:function(e,r){return e.dequeue(r)},onDeqd:qc,shouldRedraw:X0,priority:function(e){return e.renderer.beforeRenderPriorities.lyrTxrDeq}});var cw={},uw;function e4(t,e){for(var r=0;r<e.length;r++){var n=e[r];t.lineTo(n.x,n.y)}}function t4(t,e,r){for(var n,a=0;a<e.length;a++){var i=e[a];a===0&&(n=i),t.lineTo(i.x,i.y)}t.quadraticCurveTo(r.x,r.y,n.x,n.y)}function dw(t,e,r){t.beginPath&&t.beginPath();for(var n=e,a=0;a<n.length;a++){var i=n[a];t.lineTo(i.x,i.y)}var o=r,l=r[0];t.moveTo(l.x,l.y);for(var a=1;a<o.length;a++){var i=o[a];t.lineTo(i.x,i.y)}t.closePath&&t.closePath()}function r4(t,e,r,n,a){t.beginPath&&t.beginPath(),t.arc(r,n,a,0,Math.PI*2,!1);var i=e,o=i[0];t.moveTo(o.x,o.y);for(var l=0;l<i.length;l++){var u=i[l];t.lineTo(u.x,u.y)}t.closePath&&t.closePath()}function n4(t,e,r,n){t.arc(e,r,n,0,Math.PI*2,!1)}cw.arrowShapeImpl=function(t){return(uw||(uw={polygon:e4,"triangle-backcurve":t4,"triangle-tee":dw,"circle-triangle":r4,"triangle-cross":dw,circle:n4}))[t]};var Pr={};Pr.drawElement=function(t,e,r,n,a,i){var o=this;e.isNode()?o.drawNode(t,e,r,n,a,i):o.drawEdge(t,e,r,n,a,i)},Pr.drawElementOverlay=function(t,e){var r=this;e.isNode()?r.drawNodeOverlay(t,e):r.drawEdgeOverlay(t,e)},Pr.drawElementUnderlay=function(t,e){var r=this;e.isNode()?r.drawNodeUnderlay(t,e):r.drawEdgeUnderlay(t,e)},Pr.drawCachedElementPortion=function(t,e,r,n,a,i,o,l){var u=this,c=r.getBoundingBox(e);if(!(c.w===0||c.h===0)){var d=r.getElement(e,c,n,a,i);if(d!=null){var f=l(u,e);if(f===0)return;var h=o(u,e),v=c.x1,p=c.y1,g=c.w,m=c.h,y,b,w,C,x;if(h!==0){var k=r.getRotationPoint(e);w=k.x,C=k.y,t.translate(w,C),t.rotate(h),x=u.getImgSmoothing(t),x||u.setImgSmoothing(t,!0);var E=r.getRotationOffset(e);y=E.x,b=E.y}else y=v,b=p;var _;f!==1&&(_=t.globalAlpha,t.globalAlpha=_*f),t.drawImage(d.texture.canvas,d.x,0,d.width,d.height,y,b,g,m),f!==1&&(t.globalAlpha=_),h!==0&&(t.rotate(-h),t.translate(-w,-C),x||u.setImgSmoothing(t,!1))}else r.drawElement(t,e)}};var a4=function(){return 0},i4=function(e,r){return e.getTextAngle(r,null)},o4=function(e,r){return e.getTextAngle(r,"source")},s4=function(e,r){return e.getTextAngle(r,"target")},l4=function(e,r){return r.effectiveOpacity()},Tu=function(e,r){return r.pstyle("text-opacity").pfValue*r.effectiveOpacity()};Pr.drawCachedElement=function(t,e,r,n,a,i){var o=this,l=o.data,u=l.eleTxrCache,c=l.lblTxrCache,d=l.slbTxrCache,f=l.tlbTxrCache,h=e.boundingBox(),v=i===!0?u.reasons.highQuality:null;if(!(h.w===0||h.h===0||!e.visible())&&(!n||Gc(h,n))){var p=e.isEdge(),g=e.element()._private.rscratch.badLine;o.drawElementUnderlay(t,e),o.drawCachedElementPortion(t,e,u,r,a,v,a4,l4),(!p||!g)&&o.drawCachedElementPortion(t,e,c,r,a,v,i4,Tu),p&&!g&&(o.drawCachedElementPortion(t,e,d,r,a,v,o4,Tu),o.drawCachedElementPortion(t,e,f,r,a,v,s4,Tu)),o.drawElementOverlay(t,e)}},Pr.drawElements=function(t,e){for(var r=this,n=0;n<e.length;n++){var a=e[n];r.drawElement(t,a)}},Pr.drawCachedElements=function(t,e,r,n){for(var a=this,i=0;i<e.length;i++){var o=e[i];a.drawCachedElement(t,o,r,n)}},Pr.drawCachedNodes=function(t,e,r,n){for(var a=this,i=0;i<e.length;i++){var o=e[i];o.isNode()&&a.drawCachedElement(t,o,r,n)}},Pr.drawLayeredElements=function(t,e,r,n){var a=this,i=a.data.lyrTxrCache.getLayers(e,r);if(i)for(var o=0;o<i.length;o++){var l=i[o],u=l.bb;u.w===0||u.h===0||t.drawImage(l.canvas,u.x1,u.y1,u.w,u.h)}else a.drawCachedElements(t,e,r,n)};var tn={};tn.drawEdge=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this,l=e._private.rscratch;if(!(i&&!e.visible())&&!(l.badLine||l.allpts==null||isNaN(l.allpts[0]))){var u;r&&(u=r,t.translate(-u.x1,-u.y1));var c=i?e.pstyle("opacity").value:1,d=i?e.pstyle("line-opacity").value:1,f=e.pstyle("curve-style").value,h=e.pstyle("line-style").value,v=e.pstyle("width").pfValue,p=e.pstyle("line-cap").value,g=e.pstyle("line-outline-width").value,m=e.pstyle("line-outline-color").value,y=c*d,b=c*d,w=function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:y;f==="straight-triangle"?(o.eleStrokeStyle(t,e,L),o.drawEdgeTrianglePath(e,t,l.allpts)):(t.lineWidth=v,t.lineCap=p,o.eleStrokeStyle(t,e,L),o.drawEdgePath(e,t,l.allpts,h),t.lineCap="butt")},C=function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:y;if(t.lineWidth=v+g,t.lineCap=p,g>0)o.colorStrokeStyle(t,m[0],m[1],m[2],L);else{t.lineCap="butt";return}f==="straight-triangle"?o.drawEdgeTrianglePath(e,t,l.allpts):(o.drawEdgePath(e,t,l.allpts,h),t.lineCap="butt")},x=function(){a&&o.drawEdgeOverlay(t,e)},k=function(){a&&o.drawEdgeUnderlay(t,e)},E=function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b;o.drawArrowheads(t,e,L)},_=function(){o.drawElementText(t,e,null,n)};t.lineJoin="round";var S=e.pstyle("ghost").value==="yes";if(S){var T=e.pstyle("ghost-offset-x").pfValue,N=e.pstyle("ghost-offset-y").pfValue,B=e.pstyle("ghost-opacity").value,O=y*B;t.translate(T,N),w(O),E(O),t.translate(-T,-N)}else C();k(),w(),E(),x(),_(),r&&t.translate(u.x1,u.y1)}};var fw=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var a=n.pstyle("".concat(e,"-opacity")).value;if(a!==0){var i=this,o=i.usePaths(),l=n._private.rscratch,u=n.pstyle("".concat(e,"-padding")).pfValue,c=2*u,d=n.pstyle("".concat(e,"-color")).value;r.lineWidth=c,l.edgeType==="self"&&!o?r.lineCap="butt":r.lineCap="round",i.colorStrokeStyle(r,d[0],d[1],d[2],a),i.drawEdgePath(n,r,l.allpts,"solid")}}}};tn.drawEdgeOverlay=fw("overlay"),tn.drawEdgeUnderlay=fw("underlay"),tn.drawEdgePath=function(t,e,r,n){var a=t._private.rscratch,i=e,o,l=!1,u=this.usePaths(),c=t.pstyle("line-dash-pattern").pfValue,d=t.pstyle("line-dash-offset").pfValue;if(u){var f=r.join("$"),h=a.pathCacheKey&&a.pathCacheKey===f;h?(o=e=a.pathCache,l=!0):(o=e=new Path2D,a.pathCacheKey=f,a.pathCache=o)}if(i.setLineDash)switch(n){case"dotted":i.setLineDash([1,1]);break;case"dashed":i.setLineDash(c),i.lineDashOffset=d;break;case"solid":i.setLineDash([]);break}if(!l&&!a.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var v=2;v+3<r.length;v+=4)e.quadraticCurveTo(r[v],r[v+1],r[v+2],r[v+3]);break;case"straight":case"haystack":for(var p=2;p+1<r.length;p+=2)e.lineTo(r[p],r[p+1]);break;case"segments":if(a.isRound){var g=D0(a.roundCorners),m;try{for(g.s();!(m=g.n()).done;){var y=m.value;W1(e,y)}}catch(w){g.e(w)}finally{g.f()}e.lineTo(r[r.length-2],r[r.length-1])}else for(var b=2;b+1<r.length;b+=2)e.lineTo(r[b],r[b+1]);break}e=i,u?e.stroke(o):e.stroke(),e.setLineDash&&e.setLineDash([])},tn.drawEdgeTrianglePath=function(t,e,r){e.fillStyle=e.strokeStyle;for(var n=t.pstyle("width").pfValue,a=0;a+1<r.length;a+=2){var i=[r[a+2]-r[a],r[a+3]-r[a+1]],o=Math.sqrt(i[0]*i[0]+i[1]*i[1]),l=[i[1]/o,-i[0]/o],u=[l[0]*n/2,l[1]*n/2];e.beginPath(),e.moveTo(r[a]-u[0],r[a+1]-u[1]),e.lineTo(r[a]+u[0],r[a+1]+u[1]),e.lineTo(r[a+2],r[a+3]),e.closePath(),e.fill()}},tn.drawArrowheads=function(t,e,r){var n=e._private.rscratch,a=n.edgeType==="haystack";a||this.drawArrowhead(t,e,"source",n.arrowStartX,n.arrowStartY,n.srcArrowAngle,r),this.drawArrowhead(t,e,"mid-target",n.midX,n.midY,n.midtgtArrowAngle,r),this.drawArrowhead(t,e,"mid-source",n.midX,n.midY,n.midsrcArrowAngle,r),a||this.drawArrowhead(t,e,"target",n.arrowEndX,n.arrowEndY,n.tgtArrowAngle,r)},tn.drawArrowhead=function(t,e,r,n,a,i,o){if(!(isNaN(n)||n==null||isNaN(a)||a==null||isNaN(i)||i==null)){var l=this,u=e.pstyle(r+"-arrow-shape").value;if(u!=="none"){var c=e.pstyle(r+"-arrow-fill").value==="hollow"?"both":"filled",d=e.pstyle(r+"-arrow-fill").value,f=e.pstyle("width").pfValue,h=e.pstyle(r+"-arrow-width"),v=h.value==="match-line"?f:h.pfValue;h.units==="%"&&(v*=f);var p=e.pstyle("opacity").value;o===void 0&&(o=p);var g=t.globalCompositeOperation;(o!==1||d==="hollow")&&(t.globalCompositeOperation="destination-out",l.colorFillStyle(t,255,255,255,1),l.colorStrokeStyle(t,255,255,255,1),l.drawArrowShape(e,t,c,f,u,v,n,a,i),t.globalCompositeOperation=g);var m=e.pstyle(r+"-arrow-color").value;l.colorFillStyle(t,m[0],m[1],m[2],o),l.colorStrokeStyle(t,m[0],m[1],m[2],o),l.drawArrowShape(e,t,d,f,u,v,n,a,i)}}},tn.drawArrowShape=function(t,e,r,n,a,i,o,l,u){var c=this,d=this.usePaths()&&a!=="triangle-cross",f=!1,h,v=e,p={x:o,y:l},g=t.pstyle("arrow-scale").value,m=this.getArrowWidth(n,g),y=c.arrowShapes[a];if(d){var b=c.arrowPathCache=c.arrowPathCache||[],w=Jn(a),C=b[w];C!=null?(h=e=C,f=!0):(h=e=new Path2D,b[w]=h)}f||(e.beginPath&&e.beginPath(),d?y.draw(e,1,0,{x:0,y:0},1):y.draw(e,m,u,p,n),e.closePath&&e.closePath()),e=v,d&&(e.translate(o,l),e.rotate(u),e.scale(m,m)),(r==="filled"||r==="both")&&(d?e.fill(h):e.fill()),(r==="hollow"||r==="both")&&(e.lineWidth=i/(d?m:1),e.lineJoin="miter",d?e.stroke(h):e.stroke()),d&&(e.scale(1/m,1/m),e.rotate(-u),e.translate(-o,-l))};var Nu={};Nu.safeDrawImage=function(t,e,r,n,a,i,o,l,u,c){if(!(a<=0||i<=0||u<=0||c<=0))try{t.drawImage(e,r,n,a,i,o,l,u,c)}catch(d){$e(d)}},Nu.drawInscribedImage=function(t,e,r,n,a){var i=this,o=r.position(),l=o.x,u=o.y,c=r.cy().style(),d=c.getIndexedStyle.bind(c),f=d(r,"background-fit","value",n),h=d(r,"background-repeat","value",n),v=r.width(),p=r.height(),g=r.padding()*2,m=v+(d(r,"background-width-relative-to","value",n)==="inner"?0:g),y=p+(d(r,"background-height-relative-to","value",n)==="inner"?0:g),b=r._private.rscratch,w=d(r,"background-clip","value",n),C=w==="node",x=d(r,"background-image-opacity","value",n)*a,k=d(r,"background-image-smoothing","value",n),E=r.pstyle("corner-radius").value;E!=="auto"&&(E=r.pstyle("corner-radius").pfValue);var _=e.width||e.cachedW,S=e.height||e.cachedH;(_==null||S==null)&&(document.body.appendChild(e),_=e.cachedW=e.width||e.offsetWidth,S=e.cachedH=e.height||e.offsetHeight,document.body.removeChild(e));var T=_,N=S;if(d(r,"background-width","value",n)!=="auto"&&(d(r,"background-width","units",n)==="%"?T=d(r,"background-width","pfValue",n)*m:T=d(r,"background-width","pfValue",n)),d(r,"background-height","value",n)!=="auto"&&(d(r,"background-height","units",n)==="%"?N=d(r,"background-height","pfValue",n)*y:N=d(r,"background-height","pfValue",n)),!(T===0||N===0)){if(f==="contain"){var B=Math.min(m/T,y/N);T*=B,N*=B}else if(f==="cover"){var B=Math.max(m/T,y/N);T*=B,N*=B}var O=l-m/2,D=d(r,"background-position-x","units",n),L=d(r,"background-position-x","pfValue",n);D==="%"?O+=(m-T)*L:O+=L;var A=d(r,"background-offset-x","units",n),M=d(r,"background-offset-x","pfValue",n);A==="%"?O+=(m-T)*M:O+=M;var P=u-y/2,z=d(r,"background-position-y","units",n),W=d(r,"background-position-y","pfValue",n);z==="%"?P+=(y-N)*W:P+=W;var H=d(r,"background-offset-y","units",n),G=d(r,"background-offset-y","pfValue",n);H==="%"?P+=(y-N)*G:P+=G,b.pathCache&&(O-=l,P-=u,l=0,u=0);var X=t.globalAlpha;t.globalAlpha=x;var F=i.getImgSmoothing(t),V=!1;if(k==="no"&&F?(i.setImgSmoothing(t,!1),V=!0):k==="yes"&&!F&&(i.setImgSmoothing(t,!0),V=!0),h==="no-repeat")C&&(t.save(),b.pathCache?t.clip(b.pathCache):(i.nodeShapes[i.getNodeShape(r)].draw(t,l,u,m,y,E,b),t.clip())),i.safeDrawImage(t,e,0,0,_,S,O,P,T,N),C&&t.restore();else{var q=t.createPattern(e,h);t.fillStyle=q,i.nodeShapes[i.getNodeShape(r)].draw(t,l,u,m,y,E,b),t.translate(O,P),t.fill(),t.translate(-O,-P)}t.globalAlpha=X,V&&i.setImgSmoothing(t,F)}};var ua={};ua.eleTextBiggerThanMin=function(t,e){if(!e){var r=t.cy().zoom(),n=this.getPixelRatio(),a=Math.ceil(Kc(r*n));e=Math.pow(2,a)}var i=t.pstyle("font-size").pfValue*e,o=t.pstyle("min-zoomed-font-size").pfValue;return!(i<o)},ua.drawElementText=function(t,e,r,n,a){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this;if(n==null){if(i&&!o.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var l=e.pstyle("label");if(!l||!l.value)return;var u=o.getLabelJustification(e);t.textAlign=u,t.textBaseline="bottom"}else{var c=e.element()._private.rscratch.badLine,d=e.pstyle("label"),f=e.pstyle("source-label"),h=e.pstyle("target-label");if(c||(!d||!d.value)&&(!f||!f.value)&&(!h||!h.value))return;t.textAlign="center",t.textBaseline="bottom"}var v=!r,p;r&&(p=r,t.translate(-p.x1,-p.y1)),a==null?(o.drawText(t,e,null,v,i),e.isEdge()&&(o.drawText(t,e,"source",v,i),o.drawText(t,e,"target",v,i))):o.drawText(t,e,a,v,i),r&&t.translate(p.x1,p.y1)},ua.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r<this.fontCaches.length;r++)if(e=this.fontCaches[r],e.context===t)return e;return e={context:t},this.fontCaches.push(e),e},ua.setupTextStyle=function(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,a=e.pstyle("font-size").pfValue+"px",i=e.pstyle("font-family").strValue,o=e.pstyle("font-weight").strValue,l=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,u=e.pstyle("text-outline-opacity").value*l,c=e.pstyle("color").value,d=e.pstyle("text-outline-color").value;t.font=n+" "+o+" "+a+" "+i,t.lineJoin="round",this.colorFillStyle(t,c[0],c[1],c[2],l),this.colorStrokeStyle(t,d[0],d[1],d[2],u)};function Iu(t,e,r,n,a){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+i,r),t.lineTo(e+n-i,r),t.quadraticCurveTo(e+n,r,e+n,r+i),t.lineTo(e+n,r+a-i),t.quadraticCurveTo(e+n,r+a,e+n-i,r+a),t.lineTo(e+i,r+a),t.quadraticCurveTo(e,r+a,e,r+a-i),t.lineTo(e,r+i),t.quadraticCurveTo(e,r,e+i,r),t.closePath(),o?t.stroke():t.fill()}ua.getTextAngle=function(t,e){var r,n=t._private,a=n.rscratch,i=e?e+"-":"",o=t.pstyle(i+"text-rotation"),l=gr(a,"labelAngle",e);return o.strValue==="autorotate"?r=t.isEdge()?l:0:o.strValue==="none"?r=0:r=o.pfValue,r},ua.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=e._private,o=i.rscratch,l=a?e.effectiveOpacity():1;if(!(a&&(l===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var u=gr(o,"labelX",r),c=gr(o,"labelY",r),d,f,h=this.getLabelText(e,r);if(h!=null&&h!==""&&!isNaN(u)&&!isNaN(c)){this.setupTextStyle(t,e,a);var v=r?r+"-":"",p=gr(o,"labelWidth",r),g=gr(o,"labelHeight",r),m=e.pstyle(v+"text-margin-x").pfValue,y=e.pstyle(v+"text-margin-y").pfValue,b=e.isEdge(),w=e.pstyle("text-halign").value,C=e.pstyle("text-valign").value;b&&(w="center",C="center"),u+=m,c+=y;var x;switch(n?x=this.getTextAngle(e,r):x=0,x!==0&&(d=u,f=c,t.translate(d,f),t.rotate(x),u=0,c=0),C){case"top":break;case"center":c+=g/2;break;case"bottom":c+=g;break}var k=e.pstyle("text-background-opacity").value,E=e.pstyle("text-border-opacity").value,_=e.pstyle("text-border-width").pfValue,S=e.pstyle("text-background-padding").pfValue,T=e.pstyle("text-background-shape").strValue,N=T.indexOf("round")===0,B=2;if(k>0||_>0&&E>0){var O=u-S;switch(w){case"left":O-=p;break;case"center":O-=p/2;break}var D=c-g-S,L=p+2*S,A=g+2*S;if(k>0){var M=t.fillStyle,P=e.pstyle("text-background-color").value;t.fillStyle="rgba("+P[0]+","+P[1]+","+P[2]+","+k*l+")",N?Iu(t,O,D,L,A,B):t.fillRect(O,D,L,A),t.fillStyle=M}if(_>0&&E>0){var z=t.strokeStyle,W=t.lineWidth,H=e.pstyle("text-border-color").value,G=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+H[0]+","+H[1]+","+H[2]+","+E*l+")",t.lineWidth=_,t.setLineDash)switch(G){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=_/4,t.setLineDash([]);break;case"solid":t.setLineDash([]);break}if(N?Iu(t,O,D,L,A,B,"stroke"):t.strokeRect(O,D,L,A),G==="double"){var X=_/2;N?Iu(t,O+X,D+X,L-X*2,A-X*2,B,"stroke"):t.strokeRect(O+X,D+X,L-X*2,A-X*2)}t.setLineDash&&t.setLineDash([]),t.lineWidth=W,t.strokeStyle=z}}var F=2*e.pstyle("text-outline-width").pfValue;if(F>0&&(t.lineWidth=F),e.pstyle("text-wrap").value==="wrap"){var V=gr(o,"labelWrapCachedLines",r),q=gr(o,"labelLineHeight",r),$=p/2,K=this.getLabelJustification(e);switch(K==="auto"||(w==="left"?K==="left"?u+=-p:K==="center"&&(u+=-$):w==="center"?K==="left"?u+=-$:K==="right"&&(u+=$):w==="right"&&(K==="center"?u+=$:K==="right"&&(u+=p))),C){case"top":c-=(V.length-1)*q;break;case"center":case"bottom":c-=(V.length-1)*q;break}for(var R=0;R<V.length;R++)F>0&&t.strokeText(V[R],u,c),t.fillText(V[R],u,c),c+=q}else F>0&&t.strokeText(h,u,c),t.fillText(h,u,c);x!==0&&(t.rotate(-x),t.translate(-d,-f))}}};var li={};li.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this,l,u,c=e._private,d=c.rscratch,f=e.position();if(!(!de(f.x)||!de(f.y))&&!(i&&!e.visible())){var h=i?e.effectiveOpacity():1,v=o.usePaths(),p,g=!1,m=e.padding();l=e.width()+2*m,u=e.height()+2*m;var y;r&&(y=r,t.translate(-y.x1,-y.y1));for(var b=e.pstyle("background-image"),w=b.value,C=new Array(w.length),x=new Array(w.length),k=0,E=0;E<w.length;E++){var _=w[E],S=C[E]=_!=null&&_!=="none";if(S){var T=e.cy().style().getIndexedStyle(e,"background-image-crossorigin","value",E);k++,x[E]=o.getCachedImage(_,T,function(){c.backgroundTimestamp=Date.now(),e.emitAndNotify("background")})}}var N=e.pstyle("background-blacken").value,B=e.pstyle("border-width").pfValue,O=e.pstyle("background-opacity").value*h,D=e.pstyle("border-color").value,L=e.pstyle("border-style").value,A=e.pstyle("border-join").value,M=e.pstyle("border-cap").value,P=e.pstyle("border-position").value,z=e.pstyle("border-dash-pattern").pfValue,W=e.pstyle("border-dash-offset").pfValue,H=e.pstyle("border-opacity").value*h,G=e.pstyle("outline-width").pfValue,X=e.pstyle("outline-color").value,F=e.pstyle("outline-style").value,V=e.pstyle("outline-opacity").value*h,q=e.pstyle("outline-offset").value,$=e.pstyle("corner-radius").value;$!=="auto"&&($=e.pstyle("corner-radius").pfValue);var K=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:O;o.eleFillStyle(t,e,le)},R=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:H;o.colorStrokeStyle(t,D[0],D[1],D[2],le)},j=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:V;o.colorStrokeStyle(t,X[0],X[1],X[2],le)},Y=function(le,ee,oe,me){var be=o.nodePathCache=o.nodePathCache||[],ye=Y0(oe==="polygon"?oe+","+me.join(","):oe,""+ee,""+le,""+$),Ne=be[ye],ge,Ce=!1;return Ne!=null?(ge=Ne,Ce=!0,d.pathCache=ge):(ge=new Path2D,be[ye]=d.pathCache=ge),{path:ge,cacheHit:Ce}},se=e.pstyle("shape").strValue,ce=e.pstyle("shape-polygon-points").pfValue;if(v){t.translate(f.x,f.y);var ae=Y(l,u,se,ce);p=ae.path,g=ae.cacheHit}var ne=function(){if(!g){var le=f;v&&(le={x:0,y:0}),o.nodeShapes[o.getNodeShape(e)].draw(p||t,le.x,le.y,l,u,$,d)}v?t.fill(p):t.fill()},ue=function(){for(var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:h,ee=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,oe=c.backgrounding,me=0,be=0;be<x.length;be++){var ye=e.cy().style().getIndexedStyle(e,"background-image-containment","value",be);if(ee&&ye==="over"||!ee&&ye==="inside"){me++;continue}C[be]&&x[be].complete&&!x[be].error&&(me++,o.drawInscribedImage(t,x[be],e,be,le))}c.backgrounding=me!==k,oe!==c.backgrounding&&e.updateStyle(!1)},ie=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,ee=arguments.length>1&&arguments[1]!==void 0?arguments[1]:h;o.hasPie(e)&&(o.drawPie(t,e,ee),le&&(v||o.nodeShapes[o.getNodeShape(e)].draw(t,f.x,f.y,l,u,$,d)))},fe=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:h,ee=(N>0?N:-N)*le,oe=N>0?0:255;N!==0&&(o.colorFillStyle(t,oe,oe,oe,ee),v?t.fill(p):t.fill())},pe=function(){if(B>0){if(t.lineWidth=B,t.lineCap=M,t.lineJoin=A,t.setLineDash)switch(L){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(z),t.lineDashOffset=W;break;case"solid":case"double":t.setLineDash([]);break}if(P!=="center"){if(t.save(),t.lineWidth*=2,P==="inside")v?t.clip(p):t.clip();else{var le=new Path2D;le.rect(-l/2-B,-u/2-B,l+2*B,u+2*B),le.addPath(p),t.clip(le,"evenodd")}v?t.stroke(p):t.stroke(),t.restore()}else v?t.stroke(p):t.stroke();if(L==="double"){t.lineWidth=B/3;var ee=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",v?t.stroke(p):t.stroke(),t.globalCompositeOperation=ee}t.setLineDash&&t.setLineDash([])}},Oe=function(){if(G>0){if(t.lineWidth=G,t.lineCap="butt",t.setLineDash)switch(F){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var le=f;v&&(le={x:0,y:0});var ee=o.getNodeShape(e),oe=B;P==="inside"&&(oe=0),P==="outside"&&(oe*=2);var me=(l+oe+(G+q))/l,be=(u+oe+(G+q))/u,ye=l*me,Ne=u*be,ge=o.nodeShapes[ee].points,Ce;if(v){var We=Y(ye,Ne,ee,ge);Ce=We.path}if(ee==="ellipse")o.drawEllipsePath(Ce||t,le.x,le.y,ye,Ne);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(ee)){var qe=0,st=0,lt=0;ee==="round-diamond"?qe=(oe+q+G)*1.4:ee==="round-heptagon"?(qe=(oe+q+G)*1.075,lt=-(oe/2+q+G)/35):ee==="round-hexagon"?qe=(oe+q+G)*1.12:ee==="round-pentagon"?(qe=(oe+q+G)*1.13,lt=-(oe/2+q+G)/15):ee==="round-tag"?(qe=(oe+q+G)*1.12,st=(oe/2+G+q)*.07):ee==="round-triangle"&&(qe=(oe+q+G)*(Math.PI/2),lt=-(oe+q/2+G)/Math.PI),qe!==0&&(me=(l+qe)/l,ye=l*me,["round-hexagon","round-tag"].includes(ee)||(be=(u+qe)/u,Ne=u*be)),$=$==="auto"?ub(ye,Ne):$;for(var rt=ye/2,Mt=Ne/2,mt=$+(oe+G+q)/2,wt=new Array(ge.length/2),Qt=new Array(ge.length/2),Ft=0;Ft<ge.length/2;Ft++)wt[Ft]={x:le.x+st+rt*ge[Ft*2],y:le.y+lt+Mt*ge[Ft*2+1]};var $t,cr,Cr,Yt,nt=wt.length;for(cr=wt[nt-1],$t=0;$t<nt;$t++)Cr=wt[$t%nt],Yt=wt[($t+1)%nt],Qt[$t]=xu(cr,Cr,Yt,mt),cr=Cr,Cr=Yt;o.drawRoundPolygonPath(Ce||t,le.x+st,le.y+lt,l*me,u*be,ge,Qt)}else if(["roundrectangle","round-rectangle"].includes(ee))$=$==="auto"?ra(ye,Ne):$,o.drawRoundRectanglePath(Ce||t,le.x,le.y,ye,Ne,$+(oe+G+q)/2);else if(["cutrectangle","cut-rectangle"].includes(ee))$=$==="auto"?jc():$,o.drawCutRectanglePath(Ce||t,le.x,le.y,ye,Ne,null,$+(oe+G+q)/4);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(ee))$=$==="auto"?ra(ye,Ne):$,o.drawBottomRoundRectanglePath(Ce||t,le.x,le.y,ye,Ne,$+(oe+G+q)/2);else if(ee==="barrel")o.drawBarrelPath(Ce||t,le.x,le.y,ye,Ne);else if(ee.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(ee)){var ct=(oe+G+q)/l;ge=Ss(_s(ge,ct)),o.drawPolygonPath(Ce||t,le.x,le.y,l,u,ge)}else{var Ct=(oe+G+q)/l;ge=Ss(_s(ge,-Ct)),o.drawPolygonPath(Ce||t,le.x,le.y,l,u,ge)}if(v?t.stroke(Ce):t.stroke(),F==="double"){t.lineWidth=oe/3;var Pn=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",v?t.stroke(Ce):t.stroke(),t.globalCompositeOperation=Pn}t.setLineDash&&t.setLineDash([])}},Ie=function(){a&&o.drawNodeOverlay(t,e,f,l,u)},we=function(){a&&o.drawNodeUnderlay(t,e,f,l,u)},ke=function(){o.drawElementText(t,e,null,n)},re=e.pstyle("ghost").value==="yes";if(re){var I=e.pstyle("ghost-offset-x").pfValue,U=e.pstyle("ghost-offset-y").pfValue,te=e.pstyle("ghost-opacity").value,Z=te*h;t.translate(I,U),j(),Oe(),K(te*O),ne(),ue(Z,!0),R(te*H),pe(),ie(N!==0||B!==0),ue(Z,!1),fe(Z),t.translate(-I,-U)}v&&t.translate(-f.x,-f.y),we(),v&&t.translate(f.x,f.y),j(),Oe(),K(),ne(),ue(h,!0),R(),pe(),ie(N!==0||B!==0),ue(h,!1),fe(),v&&t.translate(-f.x,-f.y),ke(),Ie(),r&&t.translate(y.x1,y.y1)}};var hw=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n,a,i,o){var l=this;if(n.visible()){var u=n.pstyle("".concat(e,"-padding")).pfValue,c=n.pstyle("".concat(e,"-opacity")).value,d=n.pstyle("".concat(e,"-color")).value,f=n.pstyle("".concat(e,"-shape")).value,h=n.pstyle("".concat(e,"-corner-radius")).value;if(c>0){if(a=a||n.position(),i==null||o==null){var v=n.padding();i=n.width()+2*v,o=n.height()+2*v}l.colorFillStyle(r,d[0],d[1],d[2],c),l.nodeShapes[f].draw(r,a.x,a.y,i+u*2,o+u*2,h),r.fill()}}}};li.drawNodeOverlay=hw("overlay"),li.drawNodeUnderlay=hw("underlay"),li.hasPie=function(t){return t=t[0],t._private.hasPie},li.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var a=e.cy().style(),i=e.pstyle("pie-size"),o=n.x,l=n.y,u=e.width(),c=e.height(),d=Math.min(u,c)/2,f=0,h=this.usePaths();h&&(o=0,l=0),i.units==="%"?d=d*i.pfValue:i.pfValue!==void 0&&(d=i.pfValue/2);for(var v=1;v<=a.pieBackgroundN;v++){var p=e.pstyle("pie-"+v+"-background-size").value,g=e.pstyle("pie-"+v+"-background-color").value,m=e.pstyle("pie-"+v+"-background-opacity").value*r,y=p/100;y+f>1&&(y=1-f);var b=1.5*Math.PI+2*Math.PI*f,w=2*Math.PI*y,C=b+w;p===0||f>=1||f+y>1||(t.beginPath(),t.moveTo(o,l),t.arc(o,l,d,b,C),t.closePath(),this.colorFillStyle(t,g[0],g[1],g[2],m),t.fill(),f+=y)}};var Jt={},c4=100;Jt.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r},Jt.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,a=0;a<e.length;a++)if(n=e[a],n.context===t){r=!1;break}return r&&(n={context:t},e.push(n)),n},Jt.createGradientStyleFor=function(t,e,r,n,a){var i,o=this.usePaths(),l=r.pstyle(e+"-gradient-stop-colors").value,u=r.pstyle(e+"-gradient-stop-positions").pfValue;if(n==="radial-gradient")if(r.isEdge()){var c=r.sourceEndpoint(),d=r.targetEndpoint(),f=r.midpoint(),h=Qn(c,f),v=Qn(d,f);i=t.createRadialGradient(f.x,f.y,0,f.x,f.y,Math.max(h,v))}else{var p=o?{x:0,y:0}:r.position(),g=r.paddedWidth(),m=r.paddedHeight();i=t.createRadialGradient(p.x,p.y,0,p.x,p.y,Math.max(g,m))}else if(r.isEdge()){var y=r.sourceEndpoint(),b=r.targetEndpoint();i=t.createLinearGradient(y.x,y.y,b.x,b.y)}else{var w=o?{x:0,y:0}:r.position(),C=r.paddedWidth(),x=r.paddedHeight(),k=C/2,E=x/2,_=r.pstyle("background-gradient-direction").value;switch(_){case"to-bottom":i=t.createLinearGradient(w.x,w.y-E,w.x,w.y+E);break;case"to-top":i=t.createLinearGradient(w.x,w.y+E,w.x,w.y-E);break;case"to-left":i=t.createLinearGradient(w.x+k,w.y,w.x-k,w.y);break;case"to-right":i=t.createLinearGradient(w.x-k,w.y,w.x+k,w.y);break;case"to-bottom-right":case"to-right-bottom":i=t.createLinearGradient(w.x-k,w.y-E,w.x+k,w.y+E);break;case"to-top-right":case"to-right-top":i=t.createLinearGradient(w.x-k,w.y+E,w.x+k,w.y-E);break;case"to-bottom-left":case"to-left-bottom":i=t.createLinearGradient(w.x+k,w.y-E,w.x-k,w.y+E);break;case"to-top-left":case"to-left-top":i=t.createLinearGradient(w.x+k,w.y+E,w.x-k,w.y-E);break}}if(!i)return null;for(var S=u.length===l.length,T=l.length,N=0;N<T;N++)i.addColorStop(S?u[N]:N/(T-1),"rgba("+l[N][0]+","+l[N][1]+","+l[N][2]+","+a+")");return i},Jt.gradientFillStyle=function(t,e,r,n){var a=this.createGradientStyleFor(t,"background",e,r,n);if(!a)return null;t.fillStyle=a},Jt.colorFillStyle=function(t,e,r,n,a){t.fillStyle="rgba("+e+","+r+","+n+","+a+")"},Jt.eleFillStyle=function(t,e,r){var n=e.pstyle("background-fill").value;if(n==="linear-gradient"||n==="radial-gradient")this.gradientFillStyle(t,e,n,r);else{var a=e.pstyle("background-color").value;this.colorFillStyle(t,a[0],a[1],a[2],r)}},Jt.gradientStrokeStyle=function(t,e,r,n){var a=this.createGradientStyleFor(t,"line",e,r,n);if(!a)return null;t.strokeStyle=a},Jt.colorStrokeStyle=function(t,e,r,n,a){t.strokeStyle="rgba("+e+","+r+","+n+","+a+")"},Jt.eleStrokeStyle=function(t,e,r){var n=e.pstyle("line-fill").value;if(n==="linear-gradient"||n==="radial-gradient")this.gradientStrokeStyle(t,e,n,r);else{var a=e.pstyle("line-color").value;this.colorStrokeStyle(t,a[0],a[1],a[2],r)}},Jt.matchCanvasSize=function(t){var e=this,r=e.data,n=e.findContainerClientCoords(),a=n[2],i=n[3],o=e.getPixelRatio(),l=e.motionBlurPxRatio;(t===e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE]||t===e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG])&&(o=l);var u=a*o,c=i*o,d;if(!(u===e.canvasWidth&&c===e.canvasHeight)){e.fontCaches=null;var f=r.canvasContainer;f.style.width=a+"px",f.style.height=i+"px";for(var h=0;h<e.CANVAS_LAYERS;h++)d=r.canvases[h],d.width=u,d.height=c,d.style.width=a+"px",d.style.height=i+"px";for(var h=0;h<e.BUFFER_COUNT;h++)d=r.bufferCanvases[h],d.width=u,d.height=c,d.style.width=a+"px",d.style.height=i+"px";e.textureMult=1,o<=1&&(d=r.bufferCanvases[e.TEXTURE_BUFFER],e.textureMult=2,d.width=u*e.textureMult,d.height=c*e.textureMult),e.canvasWidth=u,e.canvasHeight=c}},Jt.renderTo=function(t,e,r,n){this.render({forcedContext:t,forcedZoom:e,forcedPan:r,drawAllLayers:!0,forcedPxRatio:n})},Jt.render=function(t){t=t||tb();var e=t.forcedContext,r=t.drawAllLayers,n=t.drawOnlyNodeLayer,a=t.forcedZoom,i=t.forcedPan,o=this,l=t.forcedPxRatio===void 0?this.getPixelRatio():t.forcedPxRatio,u=o.cy,c=o.data,d=c.canvasNeedsRedraw,f=o.textureOnViewport&&!e&&(o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming),h=t.motionBlur!==void 0?t.motionBlur:o.motionBlur,v=o.motionBlurPxRatio,p=u.hasCompoundNodes(),g=o.hoverData.draggingEles,m=!!(o.hoverData.selecting||o.touchData.selecting);h=h&&!e&&o.motionBlurEnabled&&!m;var y=h;e||(o.prevPxRatio!==l&&(o.invalidateContainerClientCoordsCache(),o.matchCanvasSize(o.container),o.redrawHint("eles",!0),o.redrawHint("drag",!0)),o.prevPxRatio=l),!e&&o.motionBlurTimeout&&clearTimeout(o.motionBlurTimeout),h&&(o.mbFrames==null&&(o.mbFrames=0),o.mbFrames++,o.mbFrames<3&&(y=!1),o.mbFrames>o.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!f&&(d[o.NODE]=!0,d[o.SELECT_BOX]=!0);var b=u.style(),w=u.zoom(),C=a!==void 0?a:w,x=u.pan(),k={x:x.x,y:x.y},E={zoom:w,pan:{x:x.x,y:x.y}},_=o.prevViewport,S=_===void 0||E.zoom!==_.zoom||E.pan.x!==_.pan.x||E.pan.y!==_.pan.y;!S&&!(g&&!p)&&(o.motionBlurPxRatio=1),i&&(k=i),C*=l,k.x*=l,k.y*=l;var T=o.getCachedZSortedEles();function N(ae,ne,ue,ie,fe){var pe=ae.globalCompositeOperation;ae.globalCompositeOperation="destination-out",o.colorFillStyle(ae,255,255,255,o.motionBlurTransparency),ae.fillRect(ne,ue,ie,fe),ae.globalCompositeOperation=pe}function B(ae,ne){var ue,ie,fe,pe;!o.clearingMotionBlur&&(ae===c.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]||ae===c.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG])?(ue={x:x.x*v,y:x.y*v},ie=w*v,fe=o.canvasWidth*v,pe=o.canvasHeight*v):(ue=k,ie=C,fe=o.canvasWidth,pe=o.canvasHeight),ae.setTransform(1,0,0,1,0,0),ne==="motionBlur"?N(ae,0,0,fe,pe):!e&&(ne===void 0||ne)&&ae.clearRect(0,0,fe,pe),r||(ae.translate(ue.x,ue.y),ae.scale(ie,ie)),i&&ae.translate(i.x,i.y),a&&ae.scale(a,a)}if(f||(o.textureDrawLastFrame=!1),f){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=u.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var O=o.data.bufferContexts[o.TEXTURE_BUFFER];O.setTransform(1,0,0,1,0,0),O.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:O,drawOnlyNodeLayer:!0,forcedPxRatio:l*o.textureMult});var E=o.textureCache.viewport={zoom:u.zoom(),pan:u.pan(),width:o.canvasWidth,height:o.canvasHeight};E.mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}d[o.DRAG]=!1,d[o.NODE]=!1;var D=c.contexts[o.NODE],L=o.textureCache.texture,E=o.textureCache.viewport;D.setTransform(1,0,0,1,0,0),h?N(D,0,0,E.width,E.height):D.clearRect(0,0,E.width,E.height);var A=b.core("outside-texture-bg-color").value,M=b.core("outside-texture-bg-opacity").value;o.colorFillStyle(D,A[0],A[1],A[2],M),D.fillRect(0,0,E.width,E.height);var w=u.zoom();B(D,!1),D.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/l,E.height/E.zoom/l),D.drawImage(L,E.mpan.x,E.mpan.y,E.width/E.zoom/l,E.height/E.zoom/l)}else o.textureOnViewport&&!e&&(o.textureCache=null);var P=u.extent(),z=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),W=o.hideEdgesOnViewport&&z,H=[];if(H[o.NODE]=!d[o.NODE]&&h&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,H[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),H[o.DRAG]=!d[o.DRAG]&&h&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,H[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),d[o.NODE]||r||n||H[o.NODE]){var G=h&&!H[o.NODE]&&v!==1,D=e||(G?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:c.contexts[o.NODE]),X=h&&!G?"motionBlur":void 0;B(D,X),W?o.drawCachedNodes(D,T.nondrag,l,P):o.drawLayeredElements(D,T.nondrag,l,P),o.debug&&o.drawDebugPoints(D,T.nondrag),!r&&!h&&(d[o.NODE]=!1)}if(!n&&(d[o.DRAG]||r||H[o.DRAG])){var G=h&&!H[o.DRAG]&&v!==1,D=e||(G?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:c.contexts[o.DRAG]);B(D,h&&!G?"motionBlur":void 0),W?o.drawCachedNodes(D,T.drag,l,P):o.drawCachedElements(D,T.drag,l,P),o.debug&&o.drawDebugPoints(D,T.drag),!r&&!h&&(d[o.DRAG]=!1)}if(o.showFps||!n&&d[o.SELECT_BOX]&&!r){var D=e||c.contexts[o.SELECT_BOX];if(B(D),o.selection[4]==1&&(o.hoverData.selecting||o.touchData.selecting)){var w=o.cy.zoom(),F=b.core("selection-box-border-width").value/w;D.lineWidth=F,D.fillStyle="rgba("+b.core("selection-box-color").value[0]+","+b.core("selection-box-color").value[1]+","+b.core("selection-box-color").value[2]+","+b.core("selection-box-opacity").value+")",D.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),F>0&&(D.strokeStyle="rgba("+b.core("selection-box-border-color").value[0]+","+b.core("selection-box-border-color").value[1]+","+b.core("selection-box-border-color").value[2]+","+b.core("selection-box-opacity").value+")",D.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(c.bgActivePosistion&&!o.hoverData.selecting){var w=o.cy.zoom(),V=c.bgActivePosistion;D.fillStyle="rgba("+b.core("active-bg-color").value[0]+","+b.core("active-bg-color").value[1]+","+b.core("active-bg-color").value[2]+","+b.core("active-bg-opacity").value+")",D.beginPath(),D.arc(V.x,V.y,b.core("active-bg-size").pfValue/w,0,2*Math.PI),D.fill()}var q=o.lastRedrawTime;if(o.showFps&&q){q=Math.round(q);var $=Math.round(1e3/q);D.setTransform(1,0,0,1,0,0),D.fillStyle="rgba(255, 0, 0, 0.75)",D.strokeStyle="rgba(255, 0, 0, 0.75)",D.lineWidth=1,D.fillText("1 frame = "+q+" ms = "+$+" fps",0,20);var K=60;D.strokeRect(0,30,250,20),D.fillRect(0,30,250*Math.min($/K,1),20)}r||(d[o.SELECT_BOX]=!1)}if(h&&v!==1){var R=c.contexts[o.NODE],j=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],Y=c.contexts[o.DRAG],se=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],ce=function(ne,ue,ie){ne.setTransform(1,0,0,1,0,0),ie||!y?ne.clearRect(0,0,o.canvasWidth,o.canvasHeight):N(ne,0,0,o.canvasWidth,o.canvasHeight);var fe=v;ne.drawImage(ue,0,0,o.canvasWidth*fe,o.canvasHeight*fe,0,0,o.canvasWidth,o.canvasHeight)};(d[o.NODE]||H[o.NODE])&&(ce(R,j,H[o.NODE]),d[o.NODE]=!1),(d[o.DRAG]||H[o.DRAG])&&(ce(Y,se,H[o.DRAG]),d[o.DRAG]=!1)}o.prevViewport=E,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),h&&(o.motionBlurTimeout=setTimeout(function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!f,o.mbFrames=0,d[o.NODE]=!0,d[o.DRAG]=!0,o.redraw()},c4)),e||u.emit("render")};var Bn={};Bn.drawPolygonPath=function(t,e,r,n,a,i){var o=n/2,l=a/2;t.beginPath&&t.beginPath(),t.moveTo(e+o*i[0],r+l*i[1]);for(var u=1;u<i.length/2;u++)t.lineTo(e+o*i[u*2],r+l*i[u*2+1]);t.closePath()},Bn.drawRoundPolygonPath=function(t,e,r,n,a,i,o){o.forEach(function(l){return W1(t,l)}),t.closePath()},Bn.drawRoundRectanglePath=function(t,e,r,n,a,i){var o=n/2,l=a/2,u=i==="auto"?ra(n,a):Math.min(i,l,o);t.beginPath&&t.beginPath(),t.moveTo(e,r-l),t.arcTo(e+o,r-l,e+o,r,u),t.arcTo(e+o,r+l,e,r+l,u),t.arcTo(e-o,r+l,e-o,r,u),t.arcTo(e-o,r-l,e,r-l,u),t.lineTo(e,r-l),t.closePath()},Bn.drawBottomRoundRectanglePath=function(t,e,r,n,a,i){var o=n/2,l=a/2,u=i==="auto"?ra(n,a):i;t.beginPath&&t.beginPath(),t.moveTo(e,r-l),t.lineTo(e+o,r-l),t.lineTo(e+o,r),t.arcTo(e+o,r+l,e,r+l,u),t.arcTo(e-o,r+l,e-o,r,u),t.lineTo(e-o,r-l),t.lineTo(e,r-l),t.closePath()},Bn.drawCutRectanglePath=function(t,e,r,n,a,i,o){var l=n/2,u=a/2,c=o==="auto"?jc():o;t.beginPath&&t.beginPath(),t.moveTo(e-l+c,r-u),t.lineTo(e+l-c,r-u),t.lineTo(e+l,r-u+c),t.lineTo(e+l,r+u-c),t.lineTo(e+l-c,r+u),t.lineTo(e-l+c,r+u),t.lineTo(e-l,r+u-c),t.lineTo(e-l,r-u+c),t.closePath()},Bn.drawBarrelPath=function(t,e,r,n,a){var i=n/2,o=a/2,l=e-i,u=e+i,c=r-o,d=r+o,f=Yc(n,a),h=f.widthOffset,v=f.heightOffset,p=f.ctrlPtOffsetPct*h;t.beginPath&&t.beginPath(),t.moveTo(l,c+v),t.lineTo(l,d-v),t.quadraticCurveTo(l+p,d,l+h,d),t.lineTo(u-h,d),t.quadraticCurveTo(u-p,d,u,d-v),t.lineTo(u,c+v),t.quadraticCurveTo(u-p,c,u-h,c),t.lineTo(l+h,c),t.quadraticCurveTo(l+p,c,l,c+v),t.closePath()};for(var pw=Math.sin(0),vw=Math.cos(0),Bu={},Du={},gw=Math.PI/40,ci=0*Math.PI;ci<2*Math.PI;ci+=gw)Bu[ci]=Math.sin(ci),Du[ci]=Math.cos(ci);Bn.drawEllipsePath=function(t,e,r,n,a){if(t.beginPath&&t.beginPath(),t.ellipse)t.ellipse(e,r,n/2,a/2,0,0,2*Math.PI);else for(var i,o,l=n/2,u=a/2,c=0*Math.PI;c<2*Math.PI;c+=gw)i=e-l*Bu[c]*pw+l*Du[c]*vw,o=r+u*Du[c]*pw+u*Bu[c]*vw,c===0?t.moveTo(i,o):t.lineTo(i,o);t.closePath()};var Co={};Co.createBuffer=function(t,e){var r=document.createElement("canvas");return r.width=t,r.height=e,[r,r.getContext("2d")]},Co.bufferCanvasImage=function(t){var e=this.cy,r=e.mutableElements(),n=r.boundingBox(),a=this.findContainerClientCoords(),i=t.full?Math.ceil(n.w):a[2],o=t.full?Math.ceil(n.h):a[3],l=de(t.maxWidth)||de(t.maxHeight),u=this.getPixelRatio(),c=1;if(t.scale!==void 0)i*=t.scale,o*=t.scale,c=t.scale;else if(l){var d=1/0,f=1/0;de(t.maxWidth)&&(d=c*t.maxWidth/i),de(t.maxHeight)&&(f=c*t.maxHeight/o),c=Math.min(d,f),i*=c,o*=c}l||(i*=u,o*=u,c*=u);var h=document.createElement("canvas");h.width=i,h.height=o,h.style.width=i+"px",h.style.height=o+"px";var v=h.getContext("2d");if(i>0&&o>0){v.clearRect(0,0,i,o),v.globalCompositeOperation="source-over";var p=this.getCachedZSortedEles();if(t.full)v.translate(-n.x1*c,-n.y1*c),v.scale(c,c),this.drawElements(v,p),v.scale(1/c,1/c),v.translate(n.x1*c,n.y1*c);else{var g=e.pan(),m={x:g.x*c,y:g.y*c};c*=e.zoom(),v.translate(m.x,m.y),v.scale(c,c),this.drawElements(v,p),v.scale(1/c,1/c),v.translate(-m.x,-m.y)}t.bg&&(v.globalCompositeOperation="destination-over",v.fillStyle=t.bg,v.rect(0,0,i,o),v.fill())}return h};function u4(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),a=new Uint8Array(n),i=0;i<r.length;i++)a[i]=r.charCodeAt(i);return new Blob([n],{type:e})}function mw(t){var e=t.indexOf(",");return t.substr(e+1)}function yw(t,e,r){var n=function(){return e.toDataURL(r,t.quality)};switch(t.output){case"blob-promise":return new Ua(function(a,i){try{e.toBlob(function(o){o!=null?a(o):i(new Error("`canvas.toBlob()` sent a null value in its callback"))},r,t.quality)}catch(o){i(o)}});case"blob":return u4(mw(n()),r);case"base64":return mw(n());case"base64uri":default:return n()}}Co.png=function(t){return yw(t,this.bufferCanvasImage(t),"image/png")},Co.jpg=function(t){return yw(t,this.bufferCanvasImage(t),"image/jpeg")};var bw={};bw.nodeShapeImpl=function(t,e,r,n,a,i,o,l){switch(t){case"ellipse":return this.drawEllipsePath(e,r,n,a,i);case"polygon":return this.drawPolygonPath(e,r,n,a,i,o);case"round-polygon":return this.drawRoundPolygonPath(e,r,n,a,i,o,l);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,r,n,a,i,l);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,r,n,a,i,o,l);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,r,n,a,i,l);case"barrel":return this.drawBarrelPath(e,r,n,a,i)}};var d4=ww,Me=ww.prototype;Me.CANVAS_LAYERS=3,Me.SELECT_BOX=0,Me.DRAG=1,Me.NODE=2,Me.BUFFER_COUNT=3,Me.TEXTURE_BUFFER=0,Me.MOTIONBLUR_BUFFER_NODE=1,Me.MOTIONBLUR_BUFFER_DRAG=2;function ww(t){var e=this,r=e.cy.window(),n=r.document;e.data={canvases:new Array(Me.CANVAS_LAYERS),contexts:new Array(Me.CANVAS_LAYERS),canvasNeedsRedraw:new Array(Me.CANVAS_LAYERS),bufferCanvases:new Array(Me.BUFFER_COUNT),bufferContexts:new Array(Me.CANVAS_LAYERS)};var a="-webkit-tap-highlight-color",i="rgba(0,0,0,0)";e.data.canvasContainer=n.createElement("div");var o=e.data.canvasContainer.style;e.data.canvasContainer.style[a]=i,o.position="relative",o.zIndex="0",o.overflow="hidden";var l=t.cy.container();l.appendChild(e.data.canvasContainer),l.style[a]=i;var u={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};eF()&&(u["-ms-touch-action"]="none",u["touch-action"]="none");for(var c=0;c<Me.CANVAS_LAYERS;c++){var d=e.data.canvases[c]=n.createElement("canvas");e.data.contexts[c]=d.getContext("2d"),Object.keys(u).forEach(function(K){d.style[K]=u[K]}),d.style.position="absolute",d.setAttribute("data-id","layer"+c),d.style.zIndex=String(Me.CANVAS_LAYERS-c),e.data.canvasContainer.appendChild(d),e.data.canvasNeedsRedraw[c]=!1}e.data.topCanvas=e.data.canvases[0],e.data.canvases[Me.NODE].setAttribute("data-id","layer"+Me.NODE+"-node"),e.data.canvases[Me.SELECT_BOX].setAttribute("data-id","layer"+Me.SELECT_BOX+"-selectbox"),e.data.canvases[Me.DRAG].setAttribute("data-id","layer"+Me.DRAG+"-drag");for(var c=0;c<Me.BUFFER_COUNT;c++)e.data.bufferCanvases[c]=n.createElement("canvas"),e.data.bufferContexts[c]=e.data.bufferCanvases[c].getContext("2d"),e.data.bufferCanvases[c].style.position="absolute",e.data.bufferCanvases[c].setAttribute("data-id","buffer"+c),e.data.bufferCanvases[c].style.zIndex=String(-c-1),e.data.bufferCanvases[c].style.visibility="hidden";e.pathsEnabled=!0;var f=Ut(),h=function(R){return{x:(R.x1+R.x2)/2,y:(R.y1+R.y2)/2}},v=function(R){return{x:-R.w/2,y:-R.h/2}},p=function(R){var j=R[0]._private,Y=j.oldBackgroundTimestamp===j.backgroundTimestamp;return!Y},g=function(R){return R[0]._private.nodeKey},m=function(R){return R[0]._private.labelStyleKey},y=function(R){return R[0]._private.sourceLabelStyleKey},b=function(R){return R[0]._private.targetLabelStyleKey},w=function(R,j,Y,se,ce){return e.drawElement(R,j,Y,!1,!1,ce)},C=function(R,j,Y,se,ce){return e.drawElementText(R,j,Y,se,"main",ce)},x=function(R,j,Y,se,ce){return e.drawElementText(R,j,Y,se,"source",ce)},k=function(R,j,Y,se,ce){return e.drawElementText(R,j,Y,se,"target",ce)},E=function(R){return R.boundingBox(),R[0]._private.bodyBounds},_=function(R){return R.boundingBox(),R[0]._private.labelBounds.main||f},S=function(R){return R.boundingBox(),R[0]._private.labelBounds.source||f},T=function(R){return R.boundingBox(),R[0]._private.labelBounds.target||f},N=function(R,j){return j},B=function(R){return h(E(R))},O=function(R,j,Y){var se=R?R+"-":"";return{x:j.x+Y.pstyle(se+"text-margin-x").pfValue,y:j.y+Y.pstyle(se+"text-margin-y").pfValue}},D=function(R,j,Y){var se=R[0]._private.rscratch;return{x:se[j],y:se[Y]}},L=function(R){return O("",D(R,"labelX","labelY"),R)},A=function(R){return O("source",D(R,"sourceLabelX","sourceLabelY"),R)},M=function(R){return O("target",D(R,"targetLabelX","targetLabelY"),R)},P=function(R){return v(E(R))},z=function(R){return v(S(R))},W=function(R){return v(T(R))},H=function(R){var j=_(R),Y=v(_(R));if(R.isNode()){switch(R.pstyle("text-halign").value){case"left":Y.x=-j.w;break;case"right":Y.x=0;break}switch(R.pstyle("text-valign").value){case"top":Y.y=-j.h;break;case"bottom":Y.y=0;break}}return Y},G=e.data.eleTxrCache=new bo(e,{getKey:g,doesEleInvalidateKey:p,drawElement:w,getBoundingBox:E,getRotationPoint:B,getRotationOffset:P,allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),X=e.data.lblTxrCache=new bo(e,{getKey:m,drawElement:C,getBoundingBox:_,getRotationPoint:L,getRotationOffset:H,isVisible:N}),F=e.data.slbTxrCache=new bo(e,{getKey:y,drawElement:x,getBoundingBox:S,getRotationPoint:A,getRotationOffset:z,isVisible:N}),V=e.data.tlbTxrCache=new bo(e,{getKey:b,drawElement:k,getBoundingBox:T,getRotationPoint:M,getRotationOffset:W,isVisible:N}),q=e.data.lyrTxrCache=new sw(e);e.onUpdateEleCalcs(function(R,j){G.invalidateElements(j),X.invalidateElements(j),F.invalidateElements(j),V.invalidateElements(j),q.invalidateElements(j);for(var Y=0;Y<j.length;Y++){var se=j[Y]._private;se.oldBackgroundTimestamp=se.backgroundTimestamp}});var $=function(R){for(var j=0;j<R.length;j++)q.enqueueElementRefinement(R[j].ele)};G.onDequeue($),X.onDequeue($),F.onDequeue($),V.onDequeue($)}Me.redrawHint=function(t,e){var r=this;switch(t){case"eles":r.data.canvasNeedsRedraw[Me.NODE]=e;break;case"drag":r.data.canvasNeedsRedraw[Me.DRAG]=e;break;case"select":r.data.canvasNeedsRedraw[Me.SELECT_BOX]=e;break}};var f4=typeof Path2D<"u";Me.path2dEnabled=function(t){if(t===void 0)return this.pathsEnabled;this.pathsEnabled=!!t},Me.usePaths=function(){return f4&&this.pathsEnabled},Me.setImgSmoothing=function(t,e){t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled=e:(t.webkitImageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e)},Me.getImgSmoothing=function(t){return t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled:t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled},Me.makeOffscreenCanvas=function(t,e){var r;if((typeof OffscreenCanvas>"u"?"undefined":ht(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),a=n.document;r=a.createElement("canvas"),r.width=t,r.height=e}return r},[cw,Pr,tn,Nu,ua,li,Jt,Bn,Co,bw].forEach(function(t){Te(Me,t)});var h4=[{name:"null",impl:F1},{name:"base",impl:nw},{name:"canvas",impl:d4}],p4=[{type:"layout",extensions:w3},{type:"renderer",extensions:h4}],Cw={},Ew={};function xw(t,e,r){var n=r,a=function(_){$e("Can not register `"+e+"` for `"+t+"` since `"+_+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(go.prototype[e])return a(e);go.prototype[e]=r}else if(t==="collection"){if(Tt.prototype[e])return a(e);Tt.prototype[e]=r}else if(t==="layout"){for(var i=function(_){this.options=_,r.call(this,_),Pe(this._private)||(this._private={}),this._private.cy=_.cy,this._private.listeners=[],this.createEmitter()},o=i.prototype=Object.create(r.prototype),l=[],u=0;u<l.length;u++){var c=l[u];o[c]=o[c]||function(){return this}}o.start&&!o.run?o.run=function(){return this.start(),this}:!o.start&&o.run&&(o.start=function(){return this.run(),this});var d=r.prototype.stop;o.stop=function(){var E=this.options;if(E&&E.animate){var _=this.animations;if(_)for(var S=0;S<_.length;S++)_[S].stop()}return d?d.call(this):this.emit("layoutstop"),this},o.destroy||(o.destroy=function(){return this}),o.cy=function(){return this._private.cy};var f=function(_){return _._private.cy},h={addEventFields:function(_,S){S.layout=_,S.cy=f(_),S.target=_},bubble:function(){return!0},parent:function(_){return f(_)}};Te(o,{createEmitter:function(){return this._private.emitter=new Vs(h,this),this},emitter:function(){return this._private.emitter},on:function(_,S){return this.emitter().on(_,S),this},one:function(_,S){return this.emitter().one(_,S),this},once:function(_,S){return this.emitter().one(_,S),this},removeListener:function(_,S){return this.emitter().removeListener(_,S),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(_,S){return this.emitter().emit(_,S),this}}),Ve.eventAliasesOn(o),n=i}else if(t==="renderer"&&e!=="null"&&e!=="base"){var v=kw("renderer","base"),p=v.prototype,g=r,m=r.prototype,y=function(){v.apply(this,arguments),g.apply(this,arguments)},b=y.prototype;for(var w in p){var C=p[w],x=m[w]!=null;if(x)return a(w);b[w]=C}for(var k in m)b[k]=m[k];p.clientFunctions.forEach(function(E){b[E]=b[E]||function(){Qe("Renderer does not implement `renderer."+E+"()` on its prototype")}}),n=y}else if(t==="__proto__"||t==="constructor"||t==="prototype")return Qe(t+" is an illegal type to be registered, possibly lead to prototype pollutions");return $0({map:Cw,keys:[t,e],value:n})}function kw(t,e){return V0({map:Cw,keys:[t,e]})}function v4(t,e,r,n,a){return $0({map:Ew,keys:[t,e,r,n],value:a})}function g4(t,e,r,n){return V0({map:Ew,keys:[t,e,r,n]})}var Ou=function(){if(arguments.length===2)return kw.apply(null,arguments);if(arguments.length===3)return xw.apply(null,arguments);if(arguments.length===4)return g4.apply(null,arguments);if(arguments.length===5)return v4.apply(null,arguments);Qe("Invalid extension access syntax")};go.prototype.extension=Ou,p4.forEach(function(t){t.extensions.forEach(function(e){xw(t.type,e.name,e.impl)})});var Sw=function t(){if(!(this instanceof t))return new t;this.length=0},da=Sw.prototype;da.instanceString=function(){return"stylesheet"},da.selector=function(t){var e=this.length++;return this[e]={selector:t,properties:[]},this},da.css=function(t,e){var r=this.length-1;if(Ee(t))this[r].properties.push({name:t,value:e});else if(Pe(t))for(var n=t,a=Object.keys(n),i=0;i<a.length;i++){var o=a[i],l=n[o];if(l!=null){var u=Pt.properties[o]||Pt.properties[ps(o)];if(u!=null){var c=u.name,d=l;this[r].properties.push({name:c,value:d})}}}return this},da.style=da.css,da.generateStyle=function(t){var e=new Pt(t);return this.appendToStyle(e)},da.appendToStyle=function(t){for(var e=0;e<this.length;e++){var r=this[e],n=r.selector,a=r.properties;t.selector(n);for(var i=0;i<a.length;i++){var o=a[i];t.css(o.name,o.value)}}return t};var m4="3.30.2",Dn=function(e){if(e===void 0&&(e={}),Pe(e))return new go(e);if(Ee(e))return Ou.apply(Ou,arguments)};Dn.use=function(t){var e=Array.prototype.slice.call(arguments,1);return e.unshift(Dn),t.apply(null,e),this},Dn.warnings=function(t){return Q0(t)},Dn.version=m4,Dn.stylesheet=Dn.Stylesheet=Sw;var _w={exports:{}};function Au(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Pu,Tw;function y4(){if(Tw)return Pu;Tw=1;function t(){this.__data__=[],this.size=0}return Pu=t,Pu}var Lu,Nw;function ui(){if(Nw)return Lu;Nw=1;function t(e,r){return e===r||e!==e&&r!==r}return Lu=t,Lu}var Ru,Iw;function cl(){if(Iw)return Ru;Iw=1;var t=ui();function e(r,n){for(var a=r.length;a--;)if(t(r[a][0],n))return a;return-1}return Ru=e,Ru}var Mu,Bw;function b4(){if(Bw)return Mu;Bw=1;var t=cl(),e=Array.prototype,r=e.splice;function n(a){var i=this.__data__,o=t(i,a);if(o<0)return!1;var l=i.length-1;return o==l?i.pop():r.call(i,o,1),--this.size,!0}return Mu=n,Mu}var Fu,Dw;function w4(){if(Dw)return Fu;Dw=1;var t=cl();function e(r){var n=this.__data__,a=t(n,r);return a<0?void 0:n[a][1]}return Fu=e,Fu}var $u,Ow;function C4(){if(Ow)return $u;Ow=1;var t=cl();function e(r){return t(this.__data__,r)>-1}return $u=e,$u}var Vu,Aw;function E4(){if(Aw)return Vu;Aw=1;var t=cl();function e(r,n){var a=this.__data__,i=t(a,r);return i<0?(++this.size,a.push([r,n])):a[i][1]=n,this}return Vu=e,Vu}var qu,Pw;function ul(){if(Pw)return qu;Pw=1;var t=y4(),e=b4(),r=w4(),n=C4(),a=E4();function i(o){var l=-1,u=o==null?0:o.length;for(this.clear();++l<u;){var c=o[l];this.set(c[0],c[1])}}return i.prototype.clear=t,i.prototype.delete=e,i.prototype.get=r,i.prototype.has=n,i.prototype.set=a,qu=i,qu}var zu,Lw;function x4(){if(Lw)return zu;Lw=1;var t=ul();function e(){this.__data__=new t,this.size=0}return zu=e,zu}var Hu,Rw;function k4(){if(Rw)return Hu;Rw=1;function t(e){var r=this.__data__,n=r.delete(e);return this.size=r.size,n}return Hu=t,Hu}var Ku,Mw;function S4(){if(Mw)return Ku;Mw=1;function t(e){return this.__data__.get(e)}return Ku=t,Ku}var Gu,Fw;function _4(){if(Fw)return Gu;Fw=1;function t(e){return this.__data__.has(e)}return Gu=t,Gu}var Uu,$w;function Vw(){if($w)return Uu;$w=1;var t=typeof Ri=="object"&&Ri&&Ri.Object===Object&&Ri;return Uu=t,Uu}var Wu,qw;function br(){if(qw)return Wu;qw=1;var t=Vw(),e=typeof self=="object"&&self&&self.Object===Object&&self,r=t||e||Function("return this")();return Wu=r,Wu}var ju,zw;function di(){if(zw)return ju;zw=1;var t=br(),e=t.Symbol;return ju=e,ju}var Yu,Hw;function T4(){if(Hw)return Yu;Hw=1;var t=di(),e=Object.prototype,r=e.hasOwnProperty,n=e.toString,a=t?t.toStringTag:void 0;function i(o){var l=r.call(o,a),u=o[a];try{o[a]=void 0;var c=!0}catch{}var d=n.call(o);return c&&(l?o[a]=u:delete o[a]),d}return Yu=i,Yu}var Zu,Kw;function N4(){if(Kw)return Zu;Kw=1;var t=Object.prototype,e=t.toString;function r(n){return e.call(n)}return Zu=r,Zu}var Xu,Gw;function fa(){if(Gw)return Xu;Gw=1;var t=di(),e=T4(),r=N4(),n="[object Null]",a="[object Undefined]",i=t?t.toStringTag:void 0;function o(l){return l==null?l===void 0?a:n:i&&i in Object(l)?e(l):r(l)}return Xu=o,Xu}var Ju,Uw;function sr(){if(Uw)return Ju;Uw=1;function t(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}return Ju=t,Ju}var Qu,Ww;function Eo(){if(Ww)return Qu;Ww=1;var t=fa(),e=sr(),r="[object AsyncFunction]",n="[object Function]",a="[object GeneratorFunction]",i="[object Proxy]";function o(l){if(!e(l))return!1;var u=t(l);return u==n||u==a||u==r||u==i}return Qu=o,Qu}var ed,jw;function I4(){if(jw)return ed;jw=1;var t=br(),e=t["__core-js_shared__"];return ed=e,ed}var td,Yw;function B4(){if(Yw)return td;Yw=1;var t=I4(),e=function(){var n=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function r(n){return!!e&&e in n}return td=r,td}var rd,Zw;function Xw(){if(Zw)return rd;Zw=1;var t=Function.prototype,e=t.toString;function r(n){if(n!=null){try{return e.call(n)}catch{}try{return n+""}catch{}}return""}return rd=r,rd}var nd,Jw;function D4(){if(Jw)return nd;Jw=1;var t=Eo(),e=B4(),r=sr(),n=Xw(),a=/[\\^$.*+?()[\]{}|]/g,i=/^\[object .+?Constructor\]$/,o=Function.prototype,l=Object.prototype,u=o.toString,c=l.hasOwnProperty,d=RegExp("^"+u.call(c).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function f(h){if(!r(h)||e(h))return!1;var v=t(h)?d:i;return v.test(n(h))}return nd=f,nd}var ad,Qw;function O4(){if(Qw)return ad;Qw=1;function t(e,r){return e==null?void 0:e[r]}return ad=t,ad}var id,eC;function ha(){if(eC)return id;eC=1;var t=D4(),e=O4();function r(n,a){var i=e(n,a);return t(i)?i:void 0}return id=r,id}var od,tC;function sd(){if(tC)return od;tC=1;var t=ha(),e=br(),r=t(e,"Map");return od=r,od}var ld,rC;function dl(){if(rC)return ld;rC=1;var t=ha(),e=t(Object,"create");return ld=e,ld}var cd,nC;function A4(){if(nC)return cd;nC=1;var t=dl();function e(){this.__data__=t?t(null):{},this.size=0}return cd=e,cd}var ud,aC;function P4(){if(aC)return ud;aC=1;function t(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r}return ud=t,ud}var dd,iC;function L4(){if(iC)return dd;iC=1;var t=dl(),e="__lodash_hash_undefined__",r=Object.prototype,n=r.hasOwnProperty;function a(i){var o=this.__data__;if(t){var l=o[i];return l===e?void 0:l}return n.call(o,i)?o[i]:void 0}return dd=a,dd}var fd,oC;function R4(){if(oC)return fd;oC=1;var t=dl(),e=Object.prototype,r=e.hasOwnProperty;function n(a){var i=this.__data__;return t?i[a]!==void 0:r.call(i,a)}return fd=n,fd}var hd,sC;function M4(){if(sC)return hd;sC=1;var t=dl(),e="__lodash_hash_undefined__";function r(n,a){var i=this.__data__;return this.size+=this.has(n)?0:1,i[n]=t&&a===void 0?e:a,this}return hd=r,hd}var pd,lC;function F4(){if(lC)return pd;lC=1;var t=A4(),e=P4(),r=L4(),n=R4(),a=M4();function i(o){var l=-1,u=o==null?0:o.length;for(this.clear();++l<u;){var c=o[l];this.set(c[0],c[1])}}return i.prototype.clear=t,i.prototype.delete=e,i.prototype.get=r,i.prototype.has=n,i.prototype.set=a,pd=i,pd}var vd,cC;function $4(){if(cC)return vd;cC=1;var t=F4(),e=ul(),r=sd();function n(){this.size=0,this.__data__={hash:new t,map:new(r||e),string:new t}}return vd=n,vd}var gd,uC;function V4(){if(uC)return gd;uC=1;function t(e){var r=typeof e;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?e!=="__proto__":e===null}return gd=t,gd}var md,dC;function fl(){if(dC)return md;dC=1;var t=V4();function e(r,n){var a=r.__data__;return t(n)?a[typeof n=="string"?"string":"hash"]:a.map}return md=e,md}var yd,fC;function q4(){if(fC)return yd;fC=1;var t=fl();function e(r){var n=t(this,r).delete(r);return this.size-=n?1:0,n}return yd=e,yd}var bd,hC;function z4(){if(hC)return bd;hC=1;var t=fl();function e(r){return t(this,r).get(r)}return bd=e,bd}var wd,pC;function H4(){if(pC)return wd;pC=1;var t=fl();function e(r){return t(this,r).has(r)}return wd=e,wd}var Cd,vC;function K4(){if(vC)return Cd;vC=1;var t=fl();function e(r,n){var a=t(this,r),i=a.size;return a.set(r,n),this.size+=a.size==i?0:1,this}return Cd=e,Cd}var Ed,gC;function xd(){if(gC)return Ed;gC=1;var t=$4(),e=q4(),r=z4(),n=H4(),a=K4();function i(o){var l=-1,u=o==null?0:o.length;for(this.clear();++l<u;){var c=o[l];this.set(c[0],c[1])}}return i.prototype.clear=t,i.prototype.delete=e,i.prototype.get=r,i.prototype.has=n,i.prototype.set=a,Ed=i,Ed}var kd,mC;function G4(){if(mC)return kd;mC=1;var t=ul(),e=sd(),r=xd(),n=200;function a(i,o){var l=this.__data__;if(l instanceof t){var u=l.__data__;if(!e||u.length<n-1)return u.push([i,o]),this.size=++l.size,this;l=this.__data__=new r(u)}return l.set(i,o),this.size=l.size,this}return kd=a,kd}var Sd,yC;function hl(){if(yC)return Sd;yC=1;var t=ul(),e=x4(),r=k4(),n=S4(),a=_4(),i=G4();function o(l){var u=this.__data__=new t(l);this.size=u.size}return o.prototype.clear=e,o.prototype.delete=r,o.prototype.get=n,o.prototype.has=a,o.prototype.set=i,Sd=o,Sd}var _d,bC;function Td(){if(bC)return _d;bC=1;function t(e,r){for(var n=-1,a=e==null?0:e.length;++n<a&&r(e[n],n,e)!==!1;);return e}return _d=t,_d}var Nd,wC;function CC(){if(wC)return Nd;wC=1;var t=ha(),e=function(){try{var r=t(Object,"defineProperty");return r({},"",{}),r}catch{}}();return Nd=e,Nd}var Id,EC;function pl(){if(EC)return Id;EC=1;var t=CC();function e(r,n,a){n=="__proto__"&&t?t(r,n,{configurable:!0,enumerable:!0,value:a,writable:!0}):r[n]=a}return Id=e,Id}var Bd,xC;function vl(){if(xC)return Bd;xC=1;var t=pl(),e=ui(),r=Object.prototype,n=r.hasOwnProperty;function a(i,o,l){var u=i[o];(!(n.call(i,o)&&e(u,l))||l===void 0&&!(o in i))&&t(i,o,l)}return Bd=a,Bd}var Dd,kC;function xo(){if(kC)return Dd;kC=1;var t=vl(),e=pl();function r(n,a,i,o){var l=!i;i||(i={});for(var u=-1,c=a.length;++u<c;){var d=a[u],f=o?o(i[d],n[d],d,i,n):void 0;f===void 0&&(f=n[d]),l?e(i,d,f):t(i,d,f)}return i}return Dd=r,Dd}var Od,SC;function U4(){if(SC)return Od;SC=1;function t(e,r){for(var n=-1,a=Array(e);++n<e;)a[n]=r(n);return a}return Od=t,Od}var Ad,_C;function Lr(){if(_C)return Ad;_C=1;function t(e){return e!=null&&typeof e=="object"}return Ad=t,Ad}var Pd,TC;function W4(){if(TC)return Pd;TC=1;var t=fa(),e=Lr(),r="[object Arguments]";function n(a){return e(a)&&t(a)==r}return Pd=n,Pd}var Ld,NC;function ko(){if(NC)return Ld;NC=1;var t=W4(),e=Lr(),r=Object.prototype,n=r.hasOwnProperty,a=r.propertyIsEnumerable,i=t(function(){return arguments}())?t:function(o){return e(o)&&n.call(o,"callee")&&!a.call(o,"callee")};return Ld=i,Ld}var Rd,IC;function ot(){if(IC)return Rd;IC=1;var t=Array.isArray;return Rd=t,Rd}var So={exports:{}},Md,BC;function j4(){if(BC)return Md;BC=1;function t(){return!1}return Md=t,Md}So.exports;var DC;function fi(){return DC||(DC=1,function(t,e){var r=br(),n=j4(),a=e&&!e.nodeType&&e,i=a&&!0&&t&&!t.nodeType&&t,o=i&&i.exports===a,l=o?r.Buffer:void 0,u=l?l.isBuffer:void 0,c=u||n;t.exports=c}(So,So.exports)),So.exports}var Fd,OC;function gl(){if(OC)return Fd;OC=1;var t=9007199254740991,e=/^(?:0|[1-9]\d*)$/;function r(n,a){var i=typeof n;return a=a??t,!!a&&(i=="number"||i!="symbol"&&e.test(n))&&n>-1&&n%1==0&&n<a}return Fd=r,Fd}var $d,AC;function Vd(){if(AC)return $d;AC=1;var t=9007199254740991;function e(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=t}return $d=e,$d}var qd,PC;function Y4(){if(PC)return qd;PC=1;var t=fa(),e=Vd(),r=Lr(),n="[object Arguments]",a="[object Array]",i="[object Boolean]",o="[object Date]",l="[object Error]",u="[object Function]",c="[object Map]",d="[object Number]",f="[object Object]",h="[object RegExp]",v="[object Set]",p="[object String]",g="[object WeakMap]",m="[object ArrayBuffer]",y="[object DataView]",b="[object Float32Array]",w="[object Float64Array]",C="[object Int8Array]",x="[object Int16Array]",k="[object Int32Array]",E="[object Uint8Array]",_="[object Uint8ClampedArray]",S="[object Uint16Array]",T="[object Uint32Array]",N={};N[b]=N[w]=N[C]=N[x]=N[k]=N[E]=N[_]=N[S]=N[T]=!0,N[n]=N[a]=N[m]=N[i]=N[y]=N[o]=N[l]=N[u]=N[c]=N[d]=N[f]=N[h]=N[v]=N[p]=N[g]=!1;function B(O){return r(O)&&e(O.length)&&!!N[t(O)]}return qd=B,qd}var zd,LC;function ml(){if(LC)return zd;LC=1;function t(e){return function(r){return e(r)}}return zd=t,zd}var _o={exports:{}};_o.exports;var RC;function Hd(){return RC||(RC=1,function(t,e){var r=Vw(),n=e&&!e.nodeType&&e,a=n&&!0&&t&&!t.nodeType&&t,i=a&&a.exports===n,o=i&&r.process,l=function(){try{var u=a&&a.require&&a.require("util").types;return u||o&&o.binding&&o.binding("util")}catch{}}();t.exports=l}(_o,_o.exports)),_o.exports}var Kd,MC;function To(){if(MC)return Kd;MC=1;var t=Y4(),e=ml(),r=Hd(),n=r&&r.isTypedArray,a=n?e(n):t;return Kd=a,Kd}var Gd,FC;function $C(){if(FC)return Gd;FC=1;var t=U4(),e=ko(),r=ot(),n=fi(),a=gl(),i=To(),o=Object.prototype,l=o.hasOwnProperty;function u(c,d){var f=r(c),h=!f&&e(c),v=!f&&!h&&n(c),p=!f&&!h&&!v&&i(c),g=f||h||v||p,m=g?t(c.length,String):[],y=m.length;for(var b in c)(d||l.call(c,b))&&!(g&&(b=="length"||v&&(b=="offset"||b=="parent")||p&&(b=="buffer"||b=="byteLength"||b=="byteOffset")||a(b,y)))&&m.push(b);return m}return Gd=u,Gd}var Ud,VC;function yl(){if(VC)return Ud;VC=1;var t=Object.prototype;function e(r){var n=r&&r.constructor,a=typeof n=="function"&&n.prototype||t;return r===a}return Ud=e,Ud}var Wd,qC;function zC(){if(qC)return Wd;qC=1;function t(e,r){return function(n){return e(r(n))}}return Wd=t,Wd}var jd,HC;function Z4(){if(HC)return jd;HC=1;var t=zC(),e=t(Object.keys,Object);return jd=e,jd}var Yd,KC;function Zd(){if(KC)return Yd;KC=1;var t=yl(),e=Z4(),r=Object.prototype,n=r.hasOwnProperty;function a(i){if(!t(i))return e(i);var o=[];for(var l in Object(i))n.call(i,l)&&l!="constructor"&&o.push(l);return o}return Yd=a,Yd}var Xd,GC;function rn(){if(GC)return Xd;GC=1;var t=Eo(),e=Vd();function r(n){return n!=null&&e(n.length)&&!t(n)}return Xd=r,Xd}var Jd,UC;function On(){if(UC)return Jd;UC=1;var t=$C(),e=Zd(),r=rn();function n(a){return r(a)?t(a):e(a)}return Jd=n,Jd}var Qd,WC;function X4(){if(WC)return Qd;WC=1;var t=xo(),e=On();function r(n,a){return n&&t(a,e(a),n)}return Qd=r,Qd}var ef,jC;function J4(){if(jC)return ef;jC=1;function t(e){var r=[];if(e!=null)for(var n in Object(e))r.push(n);return r}return ef=t,ef}var tf,YC;function Q4(){if(YC)return tf;YC=1;var t=sr(),e=yl(),r=J4(),n=Object.prototype,a=n.hasOwnProperty;function i(o){if(!t(o))return r(o);var l=e(o),u=[];for(var c in o)c=="constructor"&&(l||!a.call(o,c))||u.push(c);return u}return tf=i,tf}var rf,ZC;function pa(){if(ZC)return rf;ZC=1;var t=$C(),e=Q4(),r=rn();function n(a){return r(a)?t(a,!0):e(a)}return rf=n,rf}var nf,XC;function e8(){if(XC)return nf;XC=1;var t=xo(),e=pa();function r(n,a){return n&&t(a,e(a),n)}return nf=r,nf}var No={exports:{}};No.exports;var JC;function QC(){return JC||(JC=1,function(t,e){var r=br(),n=e&&!e.nodeType&&e,a=n&&!0&&t&&!t.nodeType&&t,i=a&&a.exports===n,o=i?r.Buffer:void 0,l=o?o.allocUnsafe:void 0;function u(c,d){if(d)return c.slice();var f=c.length,h=l?l(f):new c.constructor(f);return c.copy(h),h}t.exports=u}(No,No.exports)),No.exports}var af,eE;function tE(){if(eE)return af;eE=1;function t(e,r){var n=-1,a=e.length;for(r||(r=Array(a));++n<a;)r[n]=e[n];return r}return af=t,af}var of,rE;function nE(){if(rE)return of;rE=1;function t(e,r){for(var n=-1,a=e==null?0:e.length,i=0,o=[];++n<a;){var l=e[n];r(l,n,e)&&(o[i++]=l)}return o}return of=t,of}var sf,aE;function iE(){if(aE)return sf;aE=1;function t(){return[]}return sf=t,sf}var lf,oE;function cf(){if(oE)return lf;oE=1;var t=nE(),e=iE(),r=Object.prototype,n=r.propertyIsEnumerable,a=Object.getOwnPropertySymbols,i=a?function(o){return o==null?[]:(o=Object(o),t(a(o),function(l){return n.call(o,l)}))}:e;return lf=i,lf}var uf,sE;function t8(){if(sE)return uf;sE=1;var t=xo(),e=cf();function r(n,a){return t(n,e(n),a)}return uf=r,uf}var df,lE;function ff(){if(lE)return df;lE=1;function t(e,r){for(var n=-1,a=r.length,i=e.length;++n<a;)e[i+n]=r[n];return e}return df=t,df}var hf,cE;function bl(){if(cE)return hf;cE=1;var t=zC(),e=t(Object.getPrototypeOf,Object);return hf=e,hf}var pf,uE;function dE(){if(uE)return pf;uE=1;var t=ff(),e=bl(),r=cf(),n=iE(),a=Object.getOwnPropertySymbols,i=a?function(o){for(var l=[];o;)t(l,r(o)),o=e(o);return l}:n;return pf=i,pf}var vf,fE;function r8(){if(fE)return vf;fE=1;var t=xo(),e=dE();function r(n,a){return t(n,e(n),a)}return vf=r,vf}var gf,hE;function pE(){if(hE)return gf;hE=1;var t=ff(),e=ot();function r(n,a,i){var o=a(n);return e(n)?o:t(o,i(n))}return gf=r,gf}var mf,vE;function gE(){if(vE)return mf;vE=1;var t=pE(),e=cf(),r=On();function n(a){return t(a,r,e)}return mf=n,mf}var yf,mE;function n8(){if(mE)return yf;mE=1;var t=pE(),e=dE(),r=pa();function n(a){return t(a,r,e)}return yf=n,yf}var bf,yE;function a8(){if(yE)return bf;yE=1;var t=ha(),e=br(),r=t(e,"DataView");return bf=r,bf}var wf,bE;function i8(){if(bE)return wf;bE=1;var t=ha(),e=br(),r=t(e,"Promise");return wf=r,wf}var Cf,wE;function CE(){if(wE)return Cf;wE=1;var t=ha(),e=br(),r=t(e,"Set");return Cf=r,Cf}var Ef,EE;function o8(){if(EE)return Ef;EE=1;var t=ha(),e=br(),r=t(e,"WeakMap");return Ef=r,Ef}var xf,xE;function hi(){if(xE)return xf;xE=1;var t=a8(),e=sd(),r=i8(),n=CE(),a=o8(),i=fa(),o=Xw(),l="[object Map]",u="[object Object]",c="[object Promise]",d="[object Set]",f="[object WeakMap]",h="[object DataView]",v=o(t),p=o(e),g=o(r),m=o(n),y=o(a),b=i;return(t&&b(new t(new ArrayBuffer(1)))!=h||e&&b(new e)!=l||r&&b(r.resolve())!=c||n&&b(new n)!=d||a&&b(new a)!=f)&&(b=function(w){var C=i(w),x=C==u?w.constructor:void 0,k=x?o(x):"";if(k)switch(k){case v:return h;case p:return l;case g:return c;case m:return d;case y:return f}return C}),xf=b,xf}var kf,kE;function s8(){if(kE)return kf;kE=1;var t=Object.prototype,e=t.hasOwnProperty;function r(n){var a=n.length,i=new n.constructor(a);return a&&typeof n[0]=="string"&&e.call(n,"index")&&(i.index=n.index,i.input=n.input),i}return kf=r,kf}var Sf,SE;function _E(){if(SE)return Sf;SE=1;var t=br(),e=t.Uint8Array;return Sf=e,Sf}var _f,TE;function Tf(){if(TE)return _f;TE=1;var t=_E();function e(r){var n=new r.constructor(r.byteLength);return new t(n).set(new t(r)),n}return _f=e,_f}var Nf,NE;function l8(){if(NE)return Nf;NE=1;var t=Tf();function e(r,n){var a=n?t(r.buffer):r.buffer;return new r.constructor(a,r.byteOffset,r.byteLength)}return Nf=e,Nf}var If,IE;function c8(){if(IE)return If;IE=1;var t=/\w*$/;function e(r){var n=new r.constructor(r.source,t.exec(r));return n.lastIndex=r.lastIndex,n}return If=e,If}var Bf,BE;function u8(){if(BE)return Bf;BE=1;var t=di(),e=t?t.prototype:void 0,r=e?e.valueOf:void 0;function n(a){return r?Object(r.call(a)):{}}return Bf=n,Bf}var Df,DE;function OE(){if(DE)return Df;DE=1;var t=Tf();function e(r,n){var a=n?t(r.buffer):r.buffer;return new r.constructor(a,r.byteOffset,r.length)}return Df=e,Df}var Of,AE;function d8(){if(AE)return Of;AE=1;var t=Tf(),e=l8(),r=c8(),n=u8(),a=OE(),i="[object Boolean]",o="[object Date]",l="[object Map]",u="[object Number]",c="[object RegExp]",d="[object Set]",f="[object String]",h="[object Symbol]",v="[object ArrayBuffer]",p="[object DataView]",g="[object Float32Array]",m="[object Float64Array]",y="[object Int8Array]",b="[object Int16Array]",w="[object Int32Array]",C="[object Uint8Array]",x="[object Uint8ClampedArray]",k="[object Uint16Array]",E="[object Uint32Array]";function _(S,T,N){var B=S.constructor;switch(T){case v:return t(S);case i:case o:return new B(+S);case p:return e(S,N);case g:case m:case y:case b:case w:case C:case x:case k:case E:return a(S,N);case l:return new B;case u:case f:return new B(S);case c:return r(S);case d:return new B;case h:return n(S)}}return Of=_,Of}var Af,PE;function LE(){if(PE)return Af;PE=1;var t=sr(),e=Object.create,r=function(){function n(){}return function(a){if(!t(a))return{};if(e)return e(a);n.prototype=a;var i=new n;return n.prototype=void 0,i}}();return Af=r,Af}var Pf,RE;function ME(){if(RE)return Pf;RE=1;var t=LE(),e=bl(),r=yl();function n(a){return typeof a.constructor=="function"&&!r(a)?t(e(a)):{}}return Pf=n,Pf}var Lf,FE;function f8(){if(FE)return Lf;FE=1;var t=hi(),e=Lr(),r="[object Map]";function n(a){return e(a)&&t(a)==r}return Lf=n,Lf}var Rf,$E;function h8(){if($E)return Rf;$E=1;var t=f8(),e=ml(),r=Hd(),n=r&&r.isMap,a=n?e(n):t;return Rf=a,Rf}var Mf,VE;function p8(){if(VE)return Mf;VE=1;var t=hi(),e=Lr(),r="[object Set]";function n(a){return e(a)&&t(a)==r}return Mf=n,Mf}var Ff,qE;function v8(){if(qE)return Ff;qE=1;var t=p8(),e=ml(),r=Hd(),n=r&&r.isSet,a=n?e(n):t;return Ff=a,Ff}var $f,zE;function HE(){if(zE)return $f;zE=1;var t=hl(),e=Td(),r=vl(),n=X4(),a=e8(),i=QC(),o=tE(),l=t8(),u=r8(),c=gE(),d=n8(),f=hi(),h=s8(),v=d8(),p=ME(),g=ot(),m=fi(),y=h8(),b=sr(),w=v8(),C=On(),x=pa(),k=1,E=2,_=4,S="[object Arguments]",T="[object Array]",N="[object Boolean]",B="[object Date]",O="[object Error]",D="[object Function]",L="[object GeneratorFunction]",A="[object Map]",M="[object Number]",P="[object Object]",z="[object RegExp]",W="[object Set]",H="[object String]",G="[object Symbol]",X="[object WeakMap]",F="[object ArrayBuffer]",V="[object DataView]",q="[object Float32Array]",$="[object Float64Array]",K="[object Int8Array]",R="[object Int16Array]",j="[object Int32Array]",Y="[object Uint8Array]",se="[object Uint8ClampedArray]",ce="[object Uint16Array]",ae="[object Uint32Array]",ne={};ne[S]=ne[T]=ne[F]=ne[V]=ne[N]=ne[B]=ne[q]=ne[$]=ne[K]=ne[R]=ne[j]=ne[A]=ne[M]=ne[P]=ne[z]=ne[W]=ne[H]=ne[G]=ne[Y]=ne[se]=ne[ce]=ne[ae]=!0,ne[O]=ne[D]=ne[X]=!1;function ue(ie,fe,pe,Oe,Ie,we){var ke,re=fe&k,I=fe&E,U=fe&_;if(pe&&(ke=Ie?pe(ie,Oe,Ie,we):pe(ie)),ke!==void 0)return ke;if(!b(ie))return ie;var te=g(ie);if(te){if(ke=h(ie),!re)return o(ie,ke)}else{var Z=f(ie),J=Z==D||Z==L;if(m(ie))return i(ie,re);if(Z==P||Z==S||J&&!Ie){if(ke=I||J?{}:p(ie),!re)return I?u(ie,a(ke,ie)):l(ie,n(ke,ie))}else{if(!ne[Z])return Ie?ie:{};ke=v(ie,Z,re)}}we||(we=new t);var le=we.get(ie);if(le)return le;we.set(ie,ke),w(ie)?ie.forEach(function(me){ke.add(ue(me,fe,pe,me,ie,we))}):y(ie)&&ie.forEach(function(me,be){ke.set(be,ue(me,fe,pe,be,ie,we))});var ee=U?I?d:c:I?x:C,oe=te?void 0:ee(ie);return e(oe||ie,function(me,be){oe&&(be=me,me=ie[be]),r(ke,be,ue(me,fe,pe,be,ie,we))}),ke}return $f=ue,$f}var Vf,KE;function g8(){if(KE)return Vf;KE=1;var t=HE(),e=4;function r(n){return t(n,e)}return Vf=r,Vf}var qf,GE;function zf(){if(GE)return qf;GE=1;function t(e){return function(){return e}}return qf=t,qf}var Hf,UE;function m8(){if(UE)return Hf;UE=1;function t(e){return function(r,n,a){for(var i=-1,o=Object(r),l=a(r),u=l.length;u--;){var c=l[e?u:++i];if(n(o[c],c,o)===!1)break}return r}}return Hf=t,Hf}var Kf,WE;function Gf(){if(WE)return Kf;WE=1;var t=m8(),e=t();return Kf=e,Kf}var Uf,jE;function Wf(){if(jE)return Uf;jE=1;var t=Gf(),e=On();function r(n,a){return n&&t(n,a,e)}return Uf=r,Uf}var jf,YE;function y8(){if(YE)return jf;YE=1;var t=rn();function e(r,n){return function(a,i){if(a==null)return a;if(!t(a))return r(a,i);for(var o=a.length,l=n?o:-1,u=Object(a);(n?l--:++l<o)&&i(u[l],l,u)!==!1;);return a}}return jf=e,jf}var Yf,ZE;function wl(){if(ZE)return Yf;ZE=1;var t=Wf(),e=y8(),r=e(t);return Yf=r,Yf}var Zf,XE;function va(){if(XE)return Zf;XE=1;function t(e){return e}return Zf=t,Zf}var Xf,JE;function QE(){if(JE)return Xf;JE=1;var t=va();function e(r){return typeof r=="function"?r:t}return Xf=e,Xf}var Jf,ex;function tx(){if(ex)return Jf;ex=1;var t=Td(),e=wl(),r=QE(),n=ot();function a(i,o){var l=n(i)?t:e;return l(i,r(o))}return Jf=a,Jf}var Qf,rx;function nx(){return rx||(rx=1,Qf=tx()),Qf}var eh,ax;function b8(){if(ax)return eh;ax=1;var t=wl();function e(r,n){var a=[];return t(r,function(i,o,l){n(i,o,l)&&a.push(i)}),a}return eh=e,eh}var th,ix;function w8(){if(ix)return th;ix=1;var t="__lodash_hash_undefined__";function e(r){return this.__data__.set(r,t),this}return th=e,th}var rh,ox;function C8(){if(ox)return rh;ox=1;function t(e){return this.__data__.has(e)}return rh=t,rh}var nh,sx;function lx(){if(sx)return nh;sx=1;var t=xd(),e=w8(),r=C8();function n(a){var i=-1,o=a==null?0:a.length;for(this.__data__=new t;++i<o;)this.add(a[i])}return n.prototype.add=n.prototype.push=e,n.prototype.has=r,nh=n,nh}var ah,cx;function E8(){if(cx)return ah;cx=1;function t(e,r){for(var n=-1,a=e==null?0:e.length;++n<a;)if(r(e[n],n,e))return!0;return!1}return ah=t,ah}var ih,ux;function dx(){if(ux)return ih;ux=1;function t(e,r){return e.has(r)}return ih=t,ih}var oh,fx;function hx(){if(fx)return oh;fx=1;var t=lx(),e=E8(),r=dx(),n=1,a=2;function i(o,l,u,c,d,f){var h=u&n,v=o.length,p=l.length;if(v!=p&&!(h&&p>v))return!1;var g=f.get(o),m=f.get(l);if(g&&m)return g==l&&m==o;var y=-1,b=!0,w=u&a?new t:void 0;for(f.set(o,l),f.set(l,o);++y<v;){var C=o[y],x=l[y];if(c)var k=h?c(x,C,y,l,o,f):c(C,x,y,o,l,f);if(k!==void 0){if(k)continue;b=!1;break}if(w){if(!e(l,function(E,_){if(!r(w,_)&&(C===E||d(C,E,u,c,f)))return w.push(_)})){b=!1;break}}else if(!(C===x||d(C,x,u,c,f))){b=!1;break}}return f.delete(o),f.delete(l),b}return oh=i,oh}var sh,px;function x8(){if(px)return sh;px=1;function t(e){var r=-1,n=Array(e.size);return e.forEach(function(a,i){n[++r]=[i,a]}),n}return sh=t,sh}var lh,vx;function ch(){if(vx)return lh;vx=1;function t(e){var r=-1,n=Array(e.size);return e.forEach(function(a){n[++r]=a}),n}return lh=t,lh}var uh,gx;function k8(){if(gx)return uh;gx=1;var t=di(),e=_E(),r=ui(),n=hx(),a=x8(),i=ch(),o=1,l=2,u="[object Boolean]",c="[object Date]",d="[object Error]",f="[object Map]",h="[object Number]",v="[object RegExp]",p="[object Set]",g="[object String]",m="[object Symbol]",y="[object ArrayBuffer]",b="[object DataView]",w=t?t.prototype:void 0,C=w?w.valueOf:void 0;function x(k,E,_,S,T,N,B){switch(_){case b:if(k.byteLength!=E.byteLength||k.byteOffset!=E.byteOffset)return!1;k=k.buffer,E=E.buffer;case y:return!(k.byteLength!=E.byteLength||!N(new e(k),new e(E)));case u:case c:case h:return r(+k,+E);case d:return k.name==E.name&&k.message==E.message;case v:case g:return k==E+"";case f:var O=a;case p:var D=S&o;if(O||(O=i),k.size!=E.size&&!D)return!1;var L=B.get(k);if(L)return L==E;S|=l,B.set(k,E);var A=n(O(k),O(E),S,T,N,B);return B.delete(k),A;case m:if(C)return C.call(k)==C.call(E)}return!1}return uh=x,uh}var dh,mx;function S8(){if(mx)return dh;mx=1;var t=gE(),e=1,r=Object.prototype,n=r.hasOwnProperty;function a(i,o,l,u,c,d){var f=l&e,h=t(i),v=h.length,p=t(o),g=p.length;if(v!=g&&!f)return!1;for(var m=v;m--;){var y=h[m];if(!(f?y in o:n.call(o,y)))return!1}var b=d.get(i),w=d.get(o);if(b&&w)return b==o&&w==i;var C=!0;d.set(i,o),d.set(o,i);for(var x=f;++m<v;){y=h[m];var k=i[y],E=o[y];if(u)var _=f?u(E,k,y,o,i,d):u(k,E,y,i,o,d);if(!(_===void 0?k===E||c(k,E,l,u,d):_)){C=!1;break}x||(x=y=="constructor")}if(C&&!x){var S=i.constructor,T=o.constructor;S!=T&&"constructor"in i&&"constructor"in o&&!(typeof S=="function"&&S instanceof S&&typeof T=="function"&&T instanceof T)&&(C=!1)}return d.delete(i),d.delete(o),C}return dh=a,dh}var fh,yx;function _8(){if(yx)return fh;yx=1;var t=hl(),e=hx(),r=k8(),n=S8(),a=hi(),i=ot(),o=fi(),l=To(),u=1,c="[object Arguments]",d="[object Array]",f="[object Object]",h=Object.prototype,v=h.hasOwnProperty;function p(g,m,y,b,w,C){var x=i(g),k=i(m),E=x?d:a(g),_=k?d:a(m);E=E==c?f:E,_=_==c?f:_;var S=E==f,T=_==f,N=E==_;if(N&&o(g)){if(!o(m))return!1;x=!0,S=!1}if(N&&!S)return C||(C=new t),x||l(g)?e(g,m,y,b,w,C):r(g,m,E,y,b,w,C);if(!(y&u)){var B=S&&v.call(g,"__wrapped__"),O=T&&v.call(m,"__wrapped__");if(B||O){var D=B?g.value():g,L=O?m.value():m;return C||(C=new t),w(D,L,y,b,C)}}return N?(C||(C=new t),n(g,m,y,b,w,C)):!1}return fh=p,fh}var hh,bx;function wx(){if(bx)return hh;bx=1;var t=_8(),e=Lr();function r(n,a,i,o,l){return n===a?!0:n==null||a==null||!e(n)&&!e(a)?n!==n&&a!==a:t(n,a,i,o,r,l)}return hh=r,hh}var ph,Cx;function T8(){if(Cx)return ph;Cx=1;var t=hl(),e=wx(),r=1,n=2;function a(i,o,l,u){var c=l.length,d=c,f=!u;if(i==null)return!d;for(i=Object(i);c--;){var h=l[c];if(f&&h[2]?h[1]!==i[h[0]]:!(h[0]in i))return!1}for(;++c<d;){h=l[c];var v=h[0],p=i[v],g=h[1];if(f&&h[2]){if(p===void 0&&!(v in i))return!1}else{var m=new t;if(u)var y=u(p,g,v,i,o,m);if(!(y===void 0?e(g,p,r|n,u,m):y))return!1}}return!0}return ph=a,ph}var vh,Ex;function xx(){if(Ex)return vh;Ex=1;var t=sr();function e(r){return r===r&&!t(r)}return vh=e,vh}var gh,kx;function N8(){if(kx)return gh;kx=1;var t=xx(),e=On();function r(n){for(var a=e(n),i=a.length;i--;){var o=a[i],l=n[o];a[i]=[o,l,t(l)]}return a}return gh=r,gh}var mh,Sx;function _x(){if(Sx)return mh;Sx=1;function t(e,r){return function(n){return n==null?!1:n[e]===r&&(r!==void 0||e in Object(n))}}return mh=t,mh}var yh,Tx;function I8(){if(Tx)return yh;Tx=1;var t=T8(),e=N8(),r=_x();function n(a){var i=e(a);return i.length==1&&i[0][2]?r(i[0][0],i[0][1]):function(o){return o===a||t(o,a,i)}}return yh=n,yh}var bh,Nx;function pi(){if(Nx)return bh;Nx=1;var t=fa(),e=Lr(),r="[object Symbol]";function n(a){return typeof a=="symbol"||e(a)&&t(a)==r}return bh=n,bh}var wh,Ix;function Ch(){if(Ix)return wh;Ix=1;var t=ot(),e=pi(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;function a(i,o){if(t(i))return!1;var l=typeof i;return l=="number"||l=="symbol"||l=="boolean"||i==null||e(i)?!0:n.test(i)||!r.test(i)||o!=null&&i in Object(o)}return wh=a,wh}var Eh,Bx;function B8(){if(Bx)return Eh;Bx=1;var t=xd(),e="Expected a function";function r(n,a){if(typeof n!="function"||a!=null&&typeof a!="function")throw new TypeError(e);var i=function(){var o=arguments,l=a?a.apply(this,o):o[0],u=i.cache;if(u.has(l))return u.get(l);var c=n.apply(this,o);return i.cache=u.set(l,c)||u,c};return i.cache=new(r.Cache||t),i}return r.Cache=t,Eh=r,Eh}var xh,Dx;function D8(){if(Dx)return xh;Dx=1;var t=B8(),e=500;function r(n){var a=t(n,function(o){return i.size===e&&i.clear(),o}),i=a.cache;return a}return xh=r,xh}var kh,Ox;function O8(){if(Ox)return kh;Ox=1;var t=D8(),e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,n=t(function(a){var i=[];return a.charCodeAt(0)===46&&i.push(""),a.replace(e,function(o,l,u,c){i.push(u?c.replace(r,"$1"):l||o)}),i});return kh=n,kh}var Sh,Ax;function Cl(){if(Ax)return Sh;Ax=1;function t(e,r){for(var n=-1,a=e==null?0:e.length,i=Array(a);++n<a;)i[n]=r(e[n],n,e);return i}return Sh=t,Sh}var _h,Px;function A8(){if(Px)return _h;Px=1;var t=di(),e=Cl(),r=ot(),n=pi(),a=t?t.prototype:void 0,i=a?a.toString:void 0;function o(l){if(typeof l=="string")return l;if(r(l))return e(l,o)+"";if(n(l))return i?i.call(l):"";var u=l+"";return u=="0"&&1/l==-1/0?"-0":u}return _h=o,_h}var Th,Lx;function Rx(){if(Lx)return Th;Lx=1;var t=A8();function e(r){return r==null?"":t(r)}return Th=e,Th}var Nh,Mx;function El(){if(Mx)return Nh;Mx=1;var t=ot(),e=Ch(),r=O8(),n=Rx();function a(i,o){return t(i)?i:e(i,o)?[i]:r(n(i))}return Nh=a,Nh}var Ih,Fx;function Io(){if(Fx)return Ih;Fx=1;var t=pi();function e(r){if(typeof r=="string"||t(r))return r;var n=r+"";return n=="0"&&1/r==-1/0?"-0":n}return Ih=e,Ih}var Bh,$x;function xl(){if($x)return Bh;$x=1;var t=El(),e=Io();function r(n,a){a=t(a,n);for(var i=0,o=a.length;n!=null&&i<o;)n=n[e(a[i++])];return i&&i==o?n:void 0}return Bh=r,Bh}var Dh,Vx;function P8(){if(Vx)return Dh;Vx=1;var t=xl();function e(r,n,a){var i=r==null?void 0:t(r,n);return i===void 0?a:i}return Dh=e,Dh}var Oh,qx;function L8(){if(qx)return Oh;qx=1;function t(e,r){return e!=null&&r in Object(e)}return Oh=t,Oh}var Ah,zx;function Hx(){if(zx)return Ah;zx=1;var t=El(),e=ko(),r=ot(),n=gl(),a=Vd(),i=Io();function o(l,u,c){u=t(u,l);for(var d=-1,f=u.length,h=!1;++d<f;){var v=i(u[d]);if(!(h=l!=null&&c(l,v)))break;l=l[v]}return h||++d!=f?h:(f=l==null?0:l.length,!!f&&a(f)&&n(v,f)&&(r(l)||e(l)))}return Ah=o,Ah}var Ph,Kx;function Gx(){if(Kx)return Ph;Kx=1;var t=L8(),e=Hx();function r(n,a){return n!=null&&e(n,a,t)}return Ph=r,Ph}var Lh,Ux;function R8(){if(Ux)return Lh;Ux=1;var t=wx(),e=P8(),r=Gx(),n=Ch(),a=xx(),i=_x(),o=Io(),l=1,u=2;function c(d,f){return n(d)&&a(f)?i(o(d),f):function(h){var v=e(h,d);return v===void 0&&v===f?r(h,d):t(f,v,l|u)}}return Lh=c,Lh}var Rh,Wx;function jx(){if(Wx)return Rh;Wx=1;function t(e){return function(r){return r==null?void 0:r[e]}}return Rh=t,Rh}var Mh,Yx;function M8(){if(Yx)return Mh;Yx=1;var t=xl();function e(r){return function(n){return t(n,r)}}return Mh=e,Mh}var Fh,Zx;function F8(){if(Zx)return Fh;Zx=1;var t=jx(),e=M8(),r=Ch(),n=Io();function a(i){return r(i)?t(n(i)):e(i)}return Fh=a,Fh}var $h,Xx;function nn(){if(Xx)return $h;Xx=1;var t=I8(),e=R8(),r=va(),n=ot(),a=F8();function i(o){return typeof o=="function"?o:o==null?r:typeof o=="object"?n(o)?e(o[0],o[1]):t(o):a(o)}return $h=i,$h}var Vh,Jx;function Qx(){if(Jx)return Vh;Jx=1;var t=nE(),e=b8(),r=nn(),n=ot();function a(i,o){var l=n(i)?t:e;return l(i,r(o,3))}return Vh=a,Vh}var qh,ek;function $8(){if(ek)return qh;ek=1;var t=Object.prototype,e=t.hasOwnProperty;function r(n,a){return n!=null&&e.call(n,a)}return qh=r,qh}var zh,tk;function rk(){if(tk)return zh;tk=1;var t=$8(),e=Hx();function r(n,a){return n!=null&&e(n,a,t)}return zh=r,zh}var Hh,nk;function V8(){if(nk)return Hh;nk=1;var t=Zd(),e=hi(),r=ko(),n=ot(),a=rn(),i=fi(),o=yl(),l=To(),u="[object Map]",c="[object Set]",d=Object.prototype,f=d.hasOwnProperty;function h(v){if(v==null)return!0;if(a(v)&&(n(v)||typeof v=="string"||typeof v.splice=="function"||i(v)||l(v)||r(v)))return!v.length;var p=e(v);if(p==u||p==c)return!v.size;if(o(v))return!t(v).length;for(var g in v)if(f.call(v,g))return!1;return!0}return Hh=h,Hh}var Kh,ak;function ik(){if(ak)return Kh;ak=1;function t(e){return e===void 0}return Kh=t,Kh}var Gh,ok;function sk(){if(ok)return Gh;ok=1;var t=wl(),e=rn();function r(n,a){var i=-1,o=e(n)?Array(n.length):[];return t(n,function(l,u,c){o[++i]=a(l,u,c)}),o}return Gh=r,Gh}var Uh,lk;function ck(){if(lk)return Uh;lk=1;var t=Cl(),e=nn(),r=sk(),n=ot();function a(i,o){var l=n(i)?t:r;return l(i,e(o,3))}return Uh=a,Uh}var Wh,uk;function q8(){if(uk)return Wh;uk=1;function t(e,r,n,a){var i=-1,o=e==null?0:e.length;for(a&&o&&(n=e[++i]);++i<o;)n=r(n,e[i],i,e);return n}return Wh=t,Wh}var jh,dk;function z8(){if(dk)return jh;dk=1;function t(e,r,n,a,i){return i(e,function(o,l,u){n=a?(a=!1,o):r(n,o,l,u)}),n}return jh=t,jh}var Yh,fk;function hk(){if(fk)return Yh;fk=1;var t=q8(),e=wl(),r=nn(),n=z8(),a=ot();function i(o,l,u){var c=a(o)?t:n,d=arguments.length<3;return c(o,r(l,4),u,d,e)}return Yh=i,Yh}var Zh,pk;function H8(){if(pk)return Zh;pk=1;var t=fa(),e=ot(),r=Lr(),n="[object String]";function a(i){return typeof i=="string"||!e(i)&&r(i)&&t(i)==n}return Zh=a,Zh}var Xh,vk;function K8(){if(vk)return Xh;vk=1;var t=jx(),e=t("length");return Xh=e,Xh}var Jh,gk;function G8(){if(gk)return Jh;gk=1;var t="\\ud800-\\udfff",e="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",a=e+r+n,i="\\ufe0e\\ufe0f",o="\\u200d",l=RegExp("["+o+t+a+i+"]");function u(c){return l.test(c)}return Jh=u,Jh}var Qh,mk;function U8(){if(mk)return Qh;mk=1;var t="\\ud800-\\udfff",e="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",a=e+r+n,i="\\ufe0e\\ufe0f",o="["+t+"]",l="["+a+"]",u="\\ud83c[\\udffb-\\udfff]",c="(?:"+l+"|"+u+")",d="[^"+t+"]",f="(?:\\ud83c[\\udde6-\\uddff]){2}",h="[\\ud800-\\udbff][\\udc00-\\udfff]",v="\\u200d",p=c+"?",g="["+i+"]?",m="(?:"+v+"(?:"+[d,f,h].join("|")+")"+g+p+")*",y=g+p+m,b="(?:"+[d+l+"?",l,f,h,o].join("|")+")",w=RegExp(u+"(?="+u+")|"+b+y,"g");function C(x){for(var k=w.lastIndex=0;w.test(x);)++k;return k}return Qh=C,Qh}var ep,yk;function W8(){if(yk)return ep;yk=1;var t=K8(),e=G8(),r=U8();function n(a){return e(a)?r(a):t(a)}return ep=n,ep}var tp,bk;function j8(){if(bk)return tp;bk=1;var t=Zd(),e=hi(),r=rn(),n=H8(),a=W8(),i="[object Map]",o="[object Set]";function l(u){if(u==null)return 0;if(r(u))return n(u)?a(u):u.length;var c=e(u);return c==i||c==o?u.size:t(u).length}return tp=l,tp}var rp,wk;function Y8(){if(wk)return rp;wk=1;var t=Td(),e=LE(),r=Wf(),n=nn(),a=bl(),i=ot(),o=fi(),l=Eo(),u=sr(),c=To();function d(f,h,v){var p=i(f),g=p||o(f)||c(f);if(h=n(h,4),v==null){var m=f&&f.constructor;g?v=p?new m:[]:u(f)?v=l(m)?e(a(f)):{}:v={}}return(g?t:r)(f,function(y,b,w){return h(v,y,b,w)}),v}return rp=d,rp}var np,Ck;function Z8(){if(Ck)return np;Ck=1;var t=di(),e=ko(),r=ot(),n=t?t.isConcatSpreadable:void 0;function a(i){return r(i)||e(i)||!!(n&&i&&i[n])}return np=a,np}var ap,Ek;function ip(){if(Ek)return ap;Ek=1;var t=ff(),e=Z8();function r(n,a,i,o,l){var u=-1,c=n.length;for(i||(i=e),l||(l=[]);++u<c;){var d=n[u];a>0&&i(d)?a>1?r(d,a-1,i,o,l):t(l,d):o||(l[l.length]=d)}return l}return ap=r,ap}var op,xk;function X8(){if(xk)return op;xk=1;function t(e,r,n){switch(n.length){case 0:return e.call(r);case 1:return e.call(r,n[0]);case 2:return e.call(r,n[0],n[1]);case 3:return e.call(r,n[0],n[1],n[2])}return e.apply(r,n)}return op=t,op}var sp,kk;function Sk(){if(kk)return sp;kk=1;var t=X8(),e=Math.max;function r(n,a,i){return a=e(a===void 0?n.length-1:a,0),function(){for(var o=arguments,l=-1,u=e(o.length-a,0),c=Array(u);++l<u;)c[l]=o[a+l];l=-1;for(var d=Array(a+1);++l<a;)d[l]=o[l];return d[a]=i(c),t(n,this,d)}}return sp=r,sp}var lp,_k;function J8(){if(_k)return lp;_k=1;var t=zf(),e=CC(),r=va(),n=e?function(a,i){return e(a,"toString",{configurable:!0,enumerable:!1,value:t(i),writable:!0})}:r;return lp=n,lp}var cp,Tk;function Q8(){if(Tk)return cp;Tk=1;var t=800,e=16,r=Date.now;function n(a){var i=0,o=0;return function(){var l=r(),u=e-(l-o);if(o=l,u>0){if(++i>=t)return arguments[0]}else i=0;return a.apply(void 0,arguments)}}return cp=n,cp}var up,Nk;function Ik(){if(Nk)return up;Nk=1;var t=J8(),e=Q8(),r=e(t);return up=r,up}var dp,Bk;function kl(){if(Bk)return dp;Bk=1;var t=va(),e=Sk(),r=Ik();function n(a,i){return r(e(a,i,t),a+"")}return dp=n,dp}var fp,Dk;function Ok(){if(Dk)return fp;Dk=1;function t(e,r,n,a){for(var i=e.length,o=n+(a?1:-1);a?o--:++o<i;)if(r(e[o],o,e))return o;return-1}return fp=t,fp}var hp,Ak;function e6(){if(Ak)return hp;Ak=1;function t(e){return e!==e}return hp=t,hp}var pp,Pk;function t6(){if(Pk)return pp;Pk=1;function t(e,r,n){for(var a=n-1,i=e.length;++a<i;)if(e[a]===r)return a;return-1}return pp=t,pp}var vp,Lk;function r6(){if(Lk)return vp;Lk=1;var t=Ok(),e=e6(),r=t6();function n(a,i,o){return i===i?r(a,i,o):t(a,e,o)}return vp=n,vp}var gp,Rk;function n6(){if(Rk)return gp;Rk=1;var t=r6();function e(r,n){var a=r==null?0:r.length;return!!a&&t(r,n,0)>-1}return gp=e,gp}var mp,Mk;function a6(){if(Mk)return mp;Mk=1;function t(e,r,n){for(var a=-1,i=e==null?0:e.length;++a<i;)if(n(r,e[a]))return!0;return!1}return mp=t,mp}var yp,Fk;function i6(){if(Fk)return yp;Fk=1;function t(){}return yp=t,yp}var bp,$k;function o6(){if($k)return bp;$k=1;var t=CE(),e=i6(),r=ch(),n=1/0,a=t&&1/r(new t([,-0]))[1]==n?function(i){return new t(i)}:e;return bp=a,bp}var wp,Vk;function s6(){if(Vk)return wp;Vk=1;var t=lx(),e=n6(),r=a6(),n=dx(),a=o6(),i=ch(),o=200;function l(u,c,d){var f=-1,h=e,v=u.length,p=!0,g=[],m=g;if(d)p=!1,h=r;else if(v>=o){var y=c?null:a(u);if(y)return i(y);p=!1,h=n,m=new t}else m=c?[]:g;e:for(;++f<v;){var b=u[f],w=c?c(b):b;if(b=d||b!==0?b:0,p&&w===w){for(var C=m.length;C--;)if(m[C]===w)continue e;c&&m.push(w),g.push(b)}else h(m,w,d)||(m!==g&&m.push(w),g.push(b))}return g}return wp=l,wp}var Cp,qk;function zk(){if(qk)return Cp;qk=1;var t=rn(),e=Lr();function r(n){return e(n)&&t(n)}return Cp=r,Cp}var Ep,Hk;function l6(){if(Hk)return Ep;Hk=1;var t=ip(),e=kl(),r=s6(),n=zk(),a=e(function(i){return r(t(i,1,n,!0))});return Ep=a,Ep}var xp,Kk;function c6(){if(Kk)return xp;Kk=1;var t=Cl();function e(r,n){return t(n,function(a){return r[a]})}return xp=e,xp}var kp,Gk;function Uk(){if(Gk)return kp;Gk=1;var t=c6(),e=On();function r(n){return n==null?[]:t(n,e(n))}return kp=r,kp}var Sp,Wk;function lr(){if(Wk)return Sp;Wk=1;var t;if(typeof Au=="function")try{t={clone:g8(),constant:zf(),each:nx(),filter:Qx(),has:rk(),isArray:ot(),isEmpty:V8(),isFunction:Eo(),isUndefined:ik(),keys:On(),map:ck(),reduce:hk(),size:j8(),transform:Y8(),union:l6(),values:Uk()}}catch{}return t||(t=window._),Sp=t,Sp}var _p,jk;function Tp(){if(jk)return _p;jk=1;var t=lr();_p=a;var e="\0",r="\0",n="";function a(d){this._isDirected=t.has(d,"directed")?d.directed:!0,this._isMultigraph=t.has(d,"multigraph")?d.multigraph:!1,this._isCompound=t.has(d,"compound")?d.compound:!1,this._label=void 0,this._defaultNodeLabelFn=t.constant(void 0),this._defaultEdgeLabelFn=t.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[r]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}a.prototype._nodeCount=0,a.prototype._edgeCount=0,a.prototype.isDirected=function(){return this._isDirected},a.prototype.isMultigraph=function(){return this._isMultigraph},a.prototype.isCompound=function(){return this._isCompound},a.prototype.setGraph=function(d){return this._label=d,this},a.prototype.graph=function(){return this._label},a.prototype.setDefaultNodeLabel=function(d){return t.isFunction(d)||(d=t.constant(d)),this._defaultNodeLabelFn=d,this},a.prototype.nodeCount=function(){return this._nodeCount},a.prototype.nodes=function(){return t.keys(this._nodes)},a.prototype.sources=function(){var d=this;return t.filter(this.nodes(),function(f){return t.isEmpty(d._in[f])})},a.prototype.sinks=function(){var d=this;return t.filter(this.nodes(),function(f){return t.isEmpty(d._out[f])})},a.prototype.setNodes=function(d,f){var h=arguments,v=this;return t.each(d,function(p){h.length>1?v.setNode(p,f):v.setNode(p)}),this},a.prototype.setNode=function(d,f){return t.has(this._nodes,d)?(arguments.length>1&&(this._nodes[d]=f),this):(this._nodes[d]=arguments.length>1?f:this._defaultNodeLabelFn(d),this._isCompound&&(this._parent[d]=r,this._children[d]={},this._children[r][d]=!0),this._in[d]={},this._preds[d]={},this._out[d]={},this._sucs[d]={},++this._nodeCount,this)},a.prototype.node=function(d){return this._nodes[d]},a.prototype.hasNode=function(d){return t.has(this._nodes,d)},a.prototype.removeNode=function(d){var f=this;if(t.has(this._nodes,d)){var h=function(v){f.removeEdge(f._edgeObjs[v])};delete this._nodes[d],this._isCompound&&(this._removeFromParentsChildList(d),delete this._parent[d],t.each(this.children(d),function(v){f.setParent(v)}),delete this._children[d]),t.each(t.keys(this._in[d]),h),delete this._in[d],delete this._preds[d],t.each(t.keys(this._out[d]),h),delete this._out[d],delete this._sucs[d],--this._nodeCount}return this},a.prototype.setParent=function(d,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(t.isUndefined(f))f=r;else{f+="";for(var h=f;!t.isUndefined(h);h=this.parent(h))if(h===d)throw new Error("Setting "+f+" as parent of "+d+" would create a cycle");this.setNode(f)}return this.setNode(d),this._removeFromParentsChildList(d),this._parent[d]=f,this._children[f][d]=!0,this},a.prototype._removeFromParentsChildList=function(d){delete this._children[this._parent[d]][d]},a.prototype.parent=function(d){if(this._isCompound){var f=this._parent[d];if(f!==r)return f}},a.prototype.children=function(d){if(t.isUndefined(d)&&(d=r),this._isCompound){var f=this._children[d];if(f)return t.keys(f)}else{if(d===r)return this.nodes();if(this.hasNode(d))return[]}},a.prototype.predecessors=function(d){var f=this._preds[d];if(f)return t.keys(f)},a.prototype.successors=function(d){var f=this._sucs[d];if(f)return t.keys(f)},a.prototype.neighbors=function(d){var f=this.predecessors(d);if(f)return t.union(f,this.successors(d))},a.prototype.isLeaf=function(d){var f;return this.isDirected()?f=this.successors(d):f=this.neighbors(d),f.length===0},a.prototype.filterNodes=function(d){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var h=this;t.each(this._nodes,function(g,m){d(m)&&f.setNode(m,g)}),t.each(this._edgeObjs,function(g){f.hasNode(g.v)&&f.hasNode(g.w)&&f.setEdge(g,h.edge(g))});var v={};function p(g){var m=h.parent(g);return m===void 0||f.hasNode(m)?(v[g]=m,m):m in v?v[m]:p(m)}return this._isCompound&&t.each(f.nodes(),function(g){f.setParent(g,p(g))}),f},a.prototype.setDefaultEdgeLabel=function(d){return t.isFunction(d)||(d=t.constant(d)),this._defaultEdgeLabelFn=d,this},a.prototype.edgeCount=function(){return this._edgeCount},a.prototype.edges=function(){return t.values(this._edgeObjs)},a.prototype.setPath=function(d,f){var h=this,v=arguments;return t.reduce(d,function(p,g){return v.length>1?h.setEdge(p,g,f):h.setEdge(p,g),g}),this},a.prototype.setEdge=function(){var d,f,h,v,p=!1,g=arguments[0];typeof g=="object"&&g!==null&&"v"in g?(d=g.v,f=g.w,h=g.name,arguments.length===2&&(v=arguments[1],p=!0)):(d=g,f=arguments[1],h=arguments[3],arguments.length>2&&(v=arguments[2],p=!0)),d=""+d,f=""+f,t.isUndefined(h)||(h=""+h);var m=l(this._isDirected,d,f,h);if(t.has(this._edgeLabels,m))return p&&(this._edgeLabels[m]=v),this;if(!t.isUndefined(h)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(d),this.setNode(f),this._edgeLabels[m]=p?v:this._defaultEdgeLabelFn(d,f,h);var y=u(this._isDirected,d,f,h);return d=y.v,f=y.w,Object.freeze(y),this._edgeObjs[m]=y,i(this._preds[f],d),i(this._sucs[d],f),this._in[f][m]=y,this._out[d][m]=y,this._edgeCount++,this},a.prototype.edge=function(d,f,h){var v=arguments.length===1?c(this._isDirected,arguments[0]):l(this._isDirected,d,f,h);return this._edgeLabels[v]},a.prototype.hasEdge=function(d,f,h){var v=arguments.length===1?c(this._isDirected,arguments[0]):l(this._isDirected,d,f,h);return t.has(this._edgeLabels,v)},a.prototype.removeEdge=function(d,f,h){var v=arguments.length===1?c(this._isDirected,arguments[0]):l(this._isDirected,d,f,h),p=this._edgeObjs[v];return p&&(d=p.v,f=p.w,delete this._edgeLabels[v],delete this._edgeObjs[v],o(this._preds[f],d),o(this._sucs[d],f),delete this._in[f][v],delete this._out[d][v],this._edgeCount--),this},a.prototype.inEdges=function(d,f){var h=this._in[d];if(h){var v=t.values(h);return f?t.filter(v,function(p){return p.v===f}):v}},a.prototype.outEdges=function(d,f){var h=this._out[d];if(h){var v=t.values(h);return f?t.filter(v,function(p){return p.w===f}):v}},a.prototype.nodeEdges=function(d,f){var h=this.inEdges(d,f);if(h)return h.concat(this.outEdges(d,f))};function i(d,f){d[f]?d[f]++:d[f]=1}function o(d,f){--d[f]||delete d[f]}function l(d,f,h,v){var p=""+f,g=""+h;if(!d&&p>g){var m=p;p=g,g=m}return p+n+g+n+(t.isUndefined(v)?e:v)}function u(d,f,h,v){var p=""+f,g=""+h;if(!d&&p>g){var m=p;p=g,g=m}var y={v:p,w:g};return v&&(y.name=v),y}function c(d,f){return l(d,f.v,f.w,f.name)}return _p}var Np,Yk;function u6(){return Yk||(Yk=1,Np="2.1.8"),Np}var Ip,Zk;function d6(){return Zk||(Zk=1,Ip={Graph:Tp(),version:u6()}),Ip}var Bp,Xk;function f6(){if(Xk)return Bp;Xk=1;var t=lr(),e=Tp();Bp={write:r,read:i};function r(o){var l={options:{directed:o.isDirected(),multigraph:o.isMultigraph(),compound:o.isCompound()},nodes:n(o),edges:a(o)};return t.isUndefined(o.graph())||(l.value=t.clone(o.graph())),l}function n(o){return t.map(o.nodes(),function(l){var u=o.node(l),c=o.parent(l),d={v:l};return t.isUndefined(u)||(d.value=u),t.isUndefined(c)||(d.parent=c),d})}function a(o){return t.map(o.edges(),function(l){var u=o.edge(l),c={v:l.v,w:l.w};return t.isUndefined(l.name)||(c.name=l.name),t.isUndefined(u)||(c.value=u),c})}function i(o){var l=new e(o.options).setGraph(o.value);return t.each(o.nodes,function(u){l.setNode(u.v,u.value),u.parent&&l.setParent(u.v,u.parent)}),t.each(o.edges,function(u){l.setEdge({v:u.v,w:u.w,name:u.name},u.value)}),l}return Bp}var Dp,Jk;function h6(){if(Jk)return Dp;Jk=1;var t=lr();Dp=e;function e(r){var n={},a=[],i;function o(l){t.has(n,l)||(n[l]=!0,i.push(l),t.each(r.successors(l),o),t.each(r.predecessors(l),o))}return t.each(r.nodes(),function(l){i=[],o(l),i.length&&a.push(i)}),a}return Dp}var Op,Qk;function eS(){if(Qk)return Op;Qk=1;var t=lr();Op=e;function e(){this._arr=[],this._keyIndices={}}return e.prototype.size=function(){return this._arr.length},e.prototype.keys=function(){return this._arr.map(function(r){return r.key})},e.prototype.has=function(r){return t.has(this._keyIndices,r)},e.prototype.priority=function(r){var n=this._keyIndices[r];if(n!==void 0)return this._arr[n].priority},e.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},e.prototype.add=function(r,n){var a=this._keyIndices;if(r=String(r),!t.has(a,r)){var i=this._arr,o=i.length;return a[r]=o,i.push({key:r,priority:n}),this._decrease(o),!0}return!1},e.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var r=this._arr.pop();return delete this._keyIndices[r.key],this._heapify(0),r.key},e.prototype.decrease=function(r,n){var a=this._keyIndices[r];if(n>this._arr[a].priority)throw new Error("New priority is greater than current priority. Key: "+r+" Old: "+this._arr[a].priority+" New: "+n);this._arr[a].priority=n,this._decrease(a)},e.prototype._heapify=function(r){var n=this._arr,a=2*r,i=a+1,o=r;a<n.length&&(o=n[a].priority<n[o].priority?a:o,i<n.length&&(o=n[i].priority<n[o].priority?i:o),o!==r&&(this._swap(r,o),this._heapify(o)))},e.prototype._decrease=function(r){for(var n=this._arr,a=n[r].priority,i;r!==0&&(i=r>>1,!(n[i].priority<a));)this._swap(r,i),r=i},e.prototype._swap=function(r,n){var a=this._arr,i=this._keyIndices,o=a[r],l=a[n];a[r]=l,a[n]=o,i[l.key]=r,i[o.key]=n},Op}var Ap,tS;function rS(){if(tS)return Ap;tS=1;var t=lr(),e=eS();Ap=n;var r=t.constant(1);function n(i,o,l,u){return a(i,String(o),l||r,u||function(c){return i.outEdges(c)})}function a(i,o,l,u){var c={},d=new e,f,h,v=function(p){var g=p.v!==f?p.v:p.w,m=c[g],y=l(p),b=h.distance+y;if(y<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+p+" Weight: "+y);b<m.distance&&(m.distance=b,m.predecessor=f,d.decrease(g,b))};for(i.nodes().forEach(function(p){var g=p===o?0:Number.POSITIVE_INFINITY;c[p]={distance:g},d.add(p,g)});d.size()>0&&(f=d.removeMin(),h=c[f],h.distance!==Number.POSITIVE_INFINITY);)u(f).forEach(v);return c}return Ap}var Pp,nS;function p6(){if(nS)return Pp;nS=1;var t=rS(),e=lr();Pp=r;function r(n,a,i){return e.transform(n.nodes(),function(o,l){o[l]=t(n,l,a,i)},{})}return Pp}var Lp,aS;function iS(){if(aS)return Lp;aS=1;var t=lr();Lp=e;function e(r){var n=0,a=[],i={},o=[];function l(u){var c=i[u]={onStack:!0,lowlink:n,index:n++};if(a.push(u),r.successors(u).forEach(function(h){t.has(i,h)?i[h].onStack&&(c.lowlink=Math.min(c.lowlink,i[h].index)):(l(h),c.lowlink=Math.min(c.lowlink,i[h].lowlink))}),c.lowlink===c.index){var d=[],f;do f=a.pop(),i[f].onStack=!1,d.push(f);while(u!==f);o.push(d)}}return r.nodes().forEach(function(u){t.has(i,u)||l(u)}),o}return Lp}var Rp,oS;function v6(){if(oS)return Rp;oS=1;var t=lr(),e=iS();Rp=r;function r(n){return t.filter(e(n),function(a){return a.length>1||a.length===1&&n.hasEdge(a[0],a[0])})}return Rp}var Mp,sS;function g6(){if(sS)return Mp;sS=1;var t=lr();Mp=r;var e=t.constant(1);function r(a,i,o){return n(a,i||e,o||function(l){return a.outEdges(l)})}function n(a,i,o){var l={},u=a.nodes();return u.forEach(function(c){l[c]={},l[c][c]={distance:0},u.forEach(function(d){c!==d&&(l[c][d]={distance:Number.POSITIVE_INFINITY})}),o(c).forEach(function(d){var f=d.v===c?d.w:d.v,h=i(d);l[c][f]={distance:h,predecessor:c}})}),u.forEach(function(c){var d=l[c];u.forEach(function(f){var h=l[f];u.forEach(function(v){var p=h[c],g=d[v],m=h[v],y=p.distance+g.distance;y<m.distance&&(m.distance=y,m.predecessor=g.predecessor)})})}),l}return Mp}var Fp,lS;function cS(){if(lS)return Fp;lS=1;var t=lr();Fp=e,e.CycleException=r;function e(n){var a={},i={},o=[];function l(u){if(t.has(i,u))throw new r;t.has(a,u)||(i[u]=!0,a[u]=!0,t.each(n.predecessors(u),l),delete i[u],o.push(u))}if(t.each(n.sinks(),l),t.size(a)!==n.nodeCount())throw new r;return o}function r(){}return r.prototype=new Error,Fp}var $p,uS;function m6(){if(uS)return $p;uS=1;var t=cS();$p=e;function e(r){try{t(r)}catch(n){if(n instanceof t.CycleException)return!1;throw n}return!0}return $p}var Vp,dS;function fS(){if(dS)return Vp;dS=1;var t=lr();Vp=e;function e(n,a,i){t.isArray(a)||(a=[a]);var o=(n.isDirected()?n.successors:n.neighbors).bind(n),l=[],u={};return t.each(a,function(c){if(!n.hasNode(c))throw new Error("Graph does not have node: "+c);r(n,c,i==="post",u,o,l)}),l}function r(n,a,i,o,l,u){t.has(o,a)||(o[a]=!0,i||u.push(a),t.each(l(a),function(c){r(n,c,i,o,l,u)}),i&&u.push(a))}return Vp}var qp,hS;function y6(){if(hS)return qp;hS=1;var t=fS();qp=e;function e(r,n){return t(r,n,"post")}return qp}var zp,pS;function b6(){if(pS)return zp;pS=1;var t=fS();zp=e;function e(r,n){return t(r,n,"pre")}return zp}var Hp,vS;function w6(){if(vS)return Hp;vS=1;var t=lr(),e=Tp(),r=eS();Hp=n;function n(a,i){var o=new e,l={},u=new r,c;function d(h){var v=h.v===c?h.w:h.v,p=u.priority(v);if(p!==void 0){var g=i(h);g<p&&(l[v]=c,u.decrease(v,g))}}if(a.nodeCount()===0)return o;t.each(a.nodes(),function(h){u.add(h,Number.POSITIVE_INFINITY),o.setNode(h)}),u.decrease(a.nodes()[0],0);for(var f=!1;u.size()>0;){if(c=u.removeMin(),t.has(l,c))o.setEdge(c,l[c]);else{if(f)throw new Error("Input graph is not connected: "+a);f=!0}a.nodeEdges(c).forEach(d)}return o}return Hp}var Kp,gS;function C6(){return gS||(gS=1,Kp={components:h6(),dijkstra:rS(),dijkstraAll:p6(),findCycles:v6(),floydWarshall:g6(),isAcyclic:m6(),postorder:y6(),preorder:b6(),prim:w6(),tarjan:iS(),topsort:cS()}),Kp}var Gp,mS;function E6(){if(mS)return Gp;mS=1;var t=d6();return Gp={Graph:t.Graph,json:f6(),alg:C6(),version:t.version},Gp}var Up,yS;function wr(){if(yS)return Up;yS=1;var t;if(typeof Au=="function")try{t=E6()}catch{}return t||(t=window.graphlib),Up=t,Up}var Wp,bS;function x6(){if(bS)return Wp;bS=1;var t=HE(),e=1,r=4;function n(a){return t(a,e|r)}return Wp=n,Wp}var jp,wS;function Sl(){if(wS)return jp;wS=1;var t=ui(),e=rn(),r=gl(),n=sr();function a(i,o,l){if(!n(l))return!1;var u=typeof o;return(u=="number"?e(l)&&r(o,l.length):u=="string"&&o in l)?t(l[o],i):!1}return jp=a,jp}var Yp,CS;function k6(){if(CS)return Yp;CS=1;var t=kl(),e=ui(),r=Sl(),n=pa(),a=Object.prototype,i=a.hasOwnProperty,o=t(function(l,u){l=Object(l);var c=-1,d=u.length,f=d>2?u[2]:void 0;for(f&&r(u[0],u[1],f)&&(d=1);++c<d;)for(var h=u[c],v=n(h),p=-1,g=v.length;++p<g;){var m=v[p],y=l[m];(y===void 0||e(y,a[m])&&!i.call(l,m))&&(l[m]=h[m])}return l});return Yp=o,Yp}var Zp,ES;function S6(){if(ES)return Zp;ES=1;var t=nn(),e=rn(),r=On();function n(a){return function(i,o,l){var u=Object(i);if(!e(i)){var c=t(o,3);i=r(i),o=function(f){return c(u[f],f,u)}}var d=a(i,o,l);return d>-1?u[c?i[d]:d]:void 0}}return Zp=n,Zp}var Xp,xS;function _6(){if(xS)return Xp;xS=1;var t=/\s/;function e(r){for(var n=r.length;n--&&t.test(r.charAt(n)););return n}return Xp=e,Xp}var Jp,kS;function T6(){if(kS)return Jp;kS=1;var t=_6(),e=/^\s+/;function r(n){return n&&n.slice(0,t(n)+1).replace(e,"")}return Jp=r,Jp}var Qp,SS;function N6(){if(SS)return Qp;SS=1;var t=T6(),e=sr(),r=pi(),n=NaN,a=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,o=/^0o[0-7]+$/i,l=parseInt;function u(c){if(typeof c=="number")return c;if(r(c))return n;if(e(c)){var d=typeof c.valueOf=="function"?c.valueOf():c;c=e(d)?d+"":d}if(typeof c!="string")return c===0?c:+c;c=t(c);var f=i.test(c);return f||o.test(c)?l(c.slice(2),f?2:8):a.test(c)?n:+c}return Qp=u,Qp}var ev,_S;function TS(){if(_S)return ev;_S=1;var t=N6(),e=1/0,r=17976931348623157e292;function n(a){if(!a)return a===0?a:0;if(a=t(a),a===e||a===-e){var i=a<0?-1:1;return i*r}return a===a?a:0}return ev=n,ev}var tv,NS;function I6(){if(NS)return tv;NS=1;var t=TS();function e(r){var n=t(r),a=n%1;return n===n?a?n-a:n:0}return tv=e,tv}var rv,IS;function B6(){if(IS)return rv;IS=1;var t=Ok(),e=nn(),r=I6(),n=Math.max;function a(i,o,l){var u=i==null?0:i.length;if(!u)return-1;var c=l==null?0:r(l);return c<0&&(c=n(u+c,0)),t(i,e(o,3),c)}return rv=a,rv}var nv,BS;function D6(){if(BS)return nv;BS=1;var t=S6(),e=B6(),r=t(e);return nv=r,nv}var av,DS;function OS(){if(DS)return av;DS=1;var t=ip();function e(r){var n=r==null?0:r.length;return n?t(r,1):[]}return av=e,av}var iv,AS;function O6(){if(AS)return iv;AS=1;var t=Gf(),e=QE(),r=pa();function n(a,i){return a==null?a:t(a,e(i),r)}return iv=n,iv}var ov,PS;function A6(){if(PS)return ov;PS=1;function t(e){var r=e==null?0:e.length;return r?e[r-1]:void 0}return ov=t,ov}var sv,LS;function P6(){if(LS)return sv;LS=1;var t=pl(),e=Wf(),r=nn();function n(a,i){var o={};return i=r(i,3),e(a,function(l,u,c){t(o,u,i(l,u,c))}),o}return sv=n,sv}var lv,RS;function cv(){if(RS)return lv;RS=1;var t=pi();function e(r,n,a){for(var i=-1,o=r.length;++i<o;){var l=r[i],u=n(l);if(u!=null&&(c===void 0?u===u&&!t(u):a(u,c)))var c=u,d=l}return d}return lv=e,lv}var uv,MS;function L6(){if(MS)return uv;MS=1;function t(e,r){return e>r}return uv=t,uv}var dv,FS;function R6(){if(FS)return dv;FS=1;var t=cv(),e=L6(),r=va();function n(a){return a&&a.length?t(a,r,e):void 0}return dv=n,dv}var fv,$S;function VS(){if($S)return fv;$S=1;var t=pl(),e=ui();function r(n,a,i){(i!==void 0&&!e(n[a],i)||i===void 0&&!(a in n))&&t(n,a,i)}return fv=r,fv}var hv,qS;function M6(){if(qS)return hv;qS=1;var t=fa(),e=bl(),r=Lr(),n="[object Object]",a=Function.prototype,i=Object.prototype,o=a.toString,l=i.hasOwnProperty,u=o.call(Object);function c(d){if(!r(d)||t(d)!=n)return!1;var f=e(d);if(f===null)return!0;var h=l.call(f,"constructor")&&f.constructor;return typeof h=="function"&&h instanceof h&&o.call(h)==u}return hv=c,hv}var pv,zS;function HS(){if(zS)return pv;zS=1;function t(e,r){if(!(r==="constructor"&&typeof e[r]=="function")&&r!="__proto__")return e[r]}return pv=t,pv}var vv,KS;function F6(){if(KS)return vv;KS=1;var t=xo(),e=pa();function r(n){return t(n,e(n))}return vv=r,vv}var gv,GS;function $6(){if(GS)return gv;GS=1;var t=VS(),e=QC(),r=OE(),n=tE(),a=ME(),i=ko(),o=ot(),l=zk(),u=fi(),c=Eo(),d=sr(),f=M6(),h=To(),v=HS(),p=F6();function g(m,y,b,w,C,x,k){var E=v(m,b),_=v(y,b),S=k.get(_);if(S){t(m,b,S);return}var T=x?x(E,_,b+"",m,y,k):void 0,N=T===void 0;if(N){var B=o(_),O=!B&&u(_),D=!B&&!O&&h(_);T=_,B||O||D?o(E)?T=E:l(E)?T=n(E):O?(N=!1,T=e(_,!0)):D?(N=!1,T=r(_,!0)):T=[]:f(_)||i(_)?(T=E,i(E)?T=p(E):(!d(E)||c(E))&&(T=a(_))):N=!1}N&&(k.set(_,T),C(T,_,w,x,k),k.delete(_)),t(m,b,T)}return gv=g,gv}var mv,US;function V6(){if(US)return mv;US=1;var t=hl(),e=VS(),r=Gf(),n=$6(),a=sr(),i=pa(),o=HS();function l(u,c,d,f,h){u!==c&&r(c,function(v,p){if(h||(h=new t),a(v))n(u,c,p,d,l,f,h);else{var g=f?f(o(u,p),v,p+"",u,c,h):void 0;g===void 0&&(g=v),e(u,p,g)}},i)}return mv=l,mv}var yv,WS;function q6(){if(WS)return yv;WS=1;var t=kl(),e=Sl();function r(n){return t(function(a,i){var o=-1,l=i.length,u=l>1?i[l-1]:void 0,c=l>2?i[2]:void 0;for(u=n.length>3&&typeof u=="function"?(l--,u):void 0,c&&e(i[0],i[1],c)&&(u=l<3?void 0:u,l=1),a=Object(a);++o<l;){var d=i[o];d&&n(a,d,o,u)}return a})}return yv=r,yv}var bv,jS;function z6(){if(jS)return bv;jS=1;var t=V6(),e=q6(),r=e(function(n,a,i){t(n,a,i)});return bv=r,bv}var wv,YS;function ZS(){if(YS)return wv;YS=1;function t(e,r){return e<r}return wv=t,wv}var Cv,XS;function H6(){if(XS)return Cv;XS=1;var t=cv(),e=ZS(),r=va();function n(a){return a&&a.length?t(a,r,e):void 0}return Cv=n,Cv}var Ev,JS;function K6(){if(JS)return Ev;JS=1;var t=cv(),e=nn(),r=ZS();function n(a,i){return a&&a.length?t(a,e(i,2),r):void 0}return Ev=n,Ev}var xv,QS;function G6(){if(QS)return xv;QS=1;var t=br(),e=function(){return t.Date.now()};return xv=e,xv}var kv,e2;function U6(){if(e2)return kv;e2=1;var t=vl(),e=El(),r=gl(),n=sr(),a=Io();function i(o,l,u,c){if(!n(o))return o;l=e(l,o);for(var d=-1,f=l.length,h=f-1,v=o;v!=null&&++d<f;){var p=a(l[d]),g=u;if(p==="__proto__"||p==="constructor"||p==="prototype")return o;if(d!=h){var m=v[p];g=c?c(m,p,v):void 0,g===void 0&&(g=n(m)?m:r(l[d+1])?[]:{})}t(v,p,g),v=v[p]}return o}return kv=i,kv}var Sv,t2;function W6(){if(t2)return Sv;t2=1;var t=xl(),e=U6(),r=El();function n(a,i,o){for(var l=-1,u=i.length,c={};++l<u;){var d=i[l],f=t(a,d);o(f,d)&&e(c,r(d,a),f)}return c}return Sv=n,Sv}var _v,r2;function j6(){if(r2)return _v;r2=1;var t=W6(),e=Gx();function r(n,a){return t(n,a,function(i,o){return e(n,o)})}return _v=r,_v}var Tv,n2;function Y6(){if(n2)return Tv;n2=1;var t=OS(),e=Sk(),r=Ik();function n(a){return r(e(a,void 0,t),a+"")}return Tv=n,Tv}var Nv,a2;function Z6(){if(a2)return Nv;a2=1;var t=j6(),e=Y6(),r=e(function(n,a){return n==null?{}:t(n,a)});return Nv=r,Nv}var Iv,i2;function X6(){if(i2)return Iv;i2=1;var t=Math.ceil,e=Math.max;function r(n,a,i,o){for(var l=-1,u=e(t((a-n)/(i||1)),0),c=Array(u);u--;)c[o?u:++l]=n,n+=i;return c}return Iv=r,Iv}var Bv,o2;function J6(){if(o2)return Bv;o2=1;var t=X6(),e=Sl(),r=TS();function n(a){return function(i,o,l){return l&&typeof l!="number"&&e(i,o,l)&&(o=l=void 0),i=r(i),o===void 0?(o=i,i=0):o=r(o),l=l===void 0?i<o?1:-1:r(l),t(i,o,l,a)}}return Bv=n,Bv}var Dv,s2;function Q6(){if(s2)return Dv;s2=1;var t=J6(),e=t();return Dv=e,Dv}var Ov,l2;function e9(){if(l2)return Ov;l2=1;function t(e,r){var n=e.length;for(e.sort(r);n--;)e[n]=e[n].value;return e}return Ov=t,Ov}var Av,c2;function t9(){if(c2)return Av;c2=1;var t=pi();function e(r,n){if(r!==n){var a=r!==void 0,i=r===null,o=r===r,l=t(r),u=n!==void 0,c=n===null,d=n===n,f=t(n);if(!c&&!f&&!l&&r>n||l&&u&&d&&!c&&!f||i&&u&&d||!a&&d||!o)return 1;if(!i&&!l&&!f&&r<n||f&&a&&o&&!i&&!l||c&&a&&o||!u&&o||!d)return-1}return 0}return Av=e,Av}var Pv,u2;function r9(){if(u2)return Pv;u2=1;var t=t9();function e(r,n,a){for(var i=-1,o=r.criteria,l=n.criteria,u=o.length,c=a.length;++i<u;){var d=t(o[i],l[i]);if(d){if(i>=c)return d;var f=a[i];return d*(f=="desc"?-1:1)}}return r.index-n.index}return Pv=e,Pv}var Lv,d2;function n9(){if(d2)return Lv;d2=1;var t=Cl(),e=xl(),r=nn(),n=sk(),a=e9(),i=ml(),o=r9(),l=va(),u=ot();function c(d,f,h){f.length?f=t(f,function(g){return u(g)?function(m){return e(m,g.length===1?g[0]:g)}:g}):f=[l];var v=-1;f=t(f,i(r));var p=n(d,function(g,m,y){var b=t(f,function(w){return w(g)});return{criteria:b,index:++v,value:g}});return a(p,function(g,m){return o(g,m,h)})}return Lv=c,Lv}var Rv,f2;function a9(){if(f2)return Rv;f2=1;var t=ip(),e=n9(),r=kl(),n=Sl(),a=r(function(i,o){if(i==null)return[];var l=o.length;return l>1&&n(i,o[0],o[1])?o=[]:l>2&&n(o[0],o[1],o[2])&&(o=[o[0]]),e(i,t(o,1),[])});return Rv=a,Rv}var Mv,h2;function i9(){if(h2)return Mv;h2=1;var t=Rx(),e=0;function r(n){var a=++e;return t(n)+a}return Mv=r,Mv}var Fv,p2;function o9(){if(p2)return Fv;p2=1;function t(e,r,n){for(var a=-1,i=e.length,o=r.length,l={};++a<i;){var u=a<o?r[a]:void 0;n(l,e[a],u)}return l}return Fv=t,Fv}var $v,v2;function s9(){if(v2)return $v;v2=1;var t=vl(),e=o9();function r(n,a){return e(n||[],a||[],t)}return $v=r,$v}var Vv,g2;function Ze(){if(g2)return Vv;g2=1;var t;if(typeof Au=="function")try{t={cloneDeep:x6(),constant:zf(),defaults:k6(),each:nx(),filter:Qx(),find:D6(),flatten:OS(),forEach:tx(),forIn:O6(),has:rk(),isUndefined:ik(),last:A6(),map:ck(),mapValues:P6(),max:R6(),merge:z6(),min:H6(),minBy:K6(),now:G6(),pick:Z6(),range:Q6(),reduce:hk(),sortBy:a9(),uniqueId:i9(),values:Uk(),zipObject:s9()}}catch{}return t||(t=window._),Vv=t,Vv}var qv,m2;function l9(){if(m2)return qv;m2=1,qv=t;function t(){var n={};n._next=n._prev=n,this._sentinel=n}t.prototype.dequeue=function(){var n=this._sentinel,a=n._prev;if(a!==n)return e(a),a},t.prototype.enqueue=function(n){var a=this._sentinel;n._prev&&n._next&&e(n),n._next=a._next,a._next._prev=n,a._next=n,n._prev=a},t.prototype.toString=function(){for(var n=[],a=this._sentinel,i=a._prev;i!==a;)n.push(JSON.stringify(i,r)),i=i._prev;return"["+n.join(", ")+"]"};function e(n){n._prev._next=n._next,n._next._prev=n._prev,delete n._next,delete n._prev}function r(n,a){if(n!=="_next"&&n!=="_prev")return a}return qv}var zv,y2;function c9(){if(y2)return zv;y2=1;var t=Ze(),e=wr().Graph,r=l9();zv=a;var n=t.constant(1);function a(c,d){if(c.nodeCount()<=1)return[];var f=l(c,d||n),h=i(f.graph,f.buckets,f.zeroIdx);return t.flatten(t.map(h,function(v){return c.outEdges(v.v,v.w)}),!0)}function i(c,d,f){for(var h=[],v=d[d.length-1],p=d[0],g;c.nodeCount();){for(;g=p.dequeue();)o(c,d,f,g);for(;g=v.dequeue();)o(c,d,f,g);if(c.nodeCount()){for(var m=d.length-2;m>0;--m)if(g=d[m].dequeue(),g){h=h.concat(o(c,d,f,g,!0));break}}}return h}function o(c,d,f,h,v){var p=v?[]:void 0;return t.forEach(c.inEdges(h.v),function(g){var m=c.edge(g),y=c.node(g.v);v&&p.push({v:g.v,w:g.w}),y.out-=m,u(d,f,y)}),t.forEach(c.outEdges(h.v),function(g){var m=c.edge(g),y=g.w,b=c.node(y);b.in-=m,u(d,f,b)}),c.removeNode(h.v),p}function l(c,d){var f=new e,h=0,v=0;t.forEach(c.nodes(),function(m){f.setNode(m,{v:m,in:0,out:0})}),t.forEach(c.edges(),function(m){var y=f.edge(m.v,m.w)||0,b=d(m),w=y+b;f.setEdge(m.v,m.w,w),v=Math.max(v,f.node(m.v).out+=b),h=Math.max(h,f.node(m.w).in+=b)});var p=t.range(v+h+3).map(function(){return new r}),g=h+1;return t.forEach(f.nodes(),function(m){u(p,g,f.node(m))}),{graph:f,buckets:p,zeroIdx:g}}function u(c,d,f){f.out?f.in?c[f.out-f.in+d].enqueue(f):c[c.length-1].enqueue(f):c[0].enqueue(f)}return zv}var Hv,b2;function u9(){if(b2)return Hv;b2=1;var t=Ze(),e=c9();Hv={run:r,undo:a};function r(i){var o=i.graph().acyclicer==="greedy"?e(i,l(i)):n(i);t.forEach(o,function(u){var c=i.edge(u);i.removeEdge(u),c.forwardName=u.name,c.reversed=!0,i.setEdge(u.w,u.v,c,t.uniqueId("rev"))});function l(u){return function(c){return u.edge(c).weight}}}function n(i){var o=[],l={},u={};function c(d){t.has(u,d)||(u[d]=!0,l[d]=!0,t.forEach(i.outEdges(d),function(f){t.has(l,f.w)?o.push(f):c(f.w)}),delete l[d])}return t.forEach(i.nodes(),c),o}function a(i){t.forEach(i.edges(),function(o){var l=i.edge(o);if(l.reversed){i.removeEdge(o);var u=l.forwardName;delete l.reversed,delete l.forwardName,i.setEdge(o.w,o.v,l,u)}})}return Hv}var Kv,w2;function jt(){if(w2)return Kv;w2=1;var t=Ze(),e=wr().Graph;Kv={addDummyNode:r,simplify:n,asNonCompoundGraph:a,successorWeights:i,predecessorWeights:o,intersectRect:l,buildLayerMatrix:u,normalizeRanks:c,removeEmptyRanks:d,addBorderNode:f,maxRank:h,partition:v,time:p,notime:g};function r(m,y,b,w){var C;do C=t.uniqueId(w);while(m.hasNode(C));return b.dummy=y,m.setNode(C,b),C}function n(m){var y=new e().setGraph(m.graph());return t.forEach(m.nodes(),function(b){y.setNode(b,m.node(b))}),t.forEach(m.edges(),function(b){var w=y.edge(b.v,b.w)||{weight:0,minlen:1},C=m.edge(b);y.setEdge(b.v,b.w,{weight:w.weight+C.weight,minlen:Math.max(w.minlen,C.minlen)})}),y}function a(m){var y=new e({multigraph:m.isMultigraph()}).setGraph(m.graph());return t.forEach(m.nodes(),function(b){m.children(b).length||y.setNode(b,m.node(b))}),t.forEach(m.edges(),function(b){y.setEdge(b,m.edge(b))}),y}function i(m){var y=t.map(m.nodes(),function(b){var w={};return t.forEach(m.outEdges(b),function(C){w[C.w]=(w[C.w]||0)+m.edge(C).weight}),w});return t.zipObject(m.nodes(),y)}function o(m){var y=t.map(m.nodes(),function(b){var w={};return t.forEach(m.inEdges(b),function(C){w[C.v]=(w[C.v]||0)+m.edge(C).weight}),w});return t.zipObject(m.nodes(),y)}function l(m,y){var b=m.x,w=m.y,C=y.x-b,x=y.y-w,k=m.width/2,E=m.height/2;if(!C&&!x)throw new Error("Not possible to find intersection inside of the rectangle");var _,S;return Math.abs(x)*k>Math.abs(C)*E?(x<0&&(E=-E),_=E*C/x,S=E):(C<0&&(k=-k),_=k,S=k*x/C),{x:b+_,y:w+S}}function u(m){var y=t.map(t.range(h(m)+1),function(){return[]});return t.forEach(m.nodes(),function(b){var w=m.node(b),C=w.rank;t.isUndefined(C)||(y[C][w.order]=b)}),y}function c(m){var y=t.min(t.map(m.nodes(),function(b){return m.node(b).rank}));t.forEach(m.nodes(),function(b){var w=m.node(b);t.has(w,"rank")&&(w.rank-=y)})}function d(m){var y=t.min(t.map(m.nodes(),function(x){return m.node(x).rank})),b=[];t.forEach(m.nodes(),function(x){var k=m.node(x).rank-y;b[k]||(b[k]=[]),b[k].push(x)});var w=0,C=m.graph().nodeRankFactor;t.forEach(b,function(x,k){t.isUndefined(x)&&k%C!==0?--w:w&&t.forEach(x,function(E){m.node(E).rank+=w})})}function f(m,y,b,w){var C={width:0,height:0};return arguments.length>=4&&(C.rank=b,C.order=w),r(m,"border",C,y)}function h(m){return t.max(t.map(m.nodes(),function(y){var b=m.node(y).rank;if(!t.isUndefined(b))return b}))}function v(m,y){var b={lhs:[],rhs:[]};return t.forEach(m,function(w){y(w)?b.lhs.push(w):b.rhs.push(w)}),b}function p(m,y){var b=t.now();try{return y()}finally{console.log(m+" time: "+(t.now()-b)+"ms")}}function g(m,y){return y()}return Kv}var Gv,C2;function d9(){if(C2)return Gv;C2=1;var t=Ze(),e=jt();Gv={run:r,undo:a};function r(i){i.graph().dummyChains=[],t.forEach(i.edges(),function(o){n(i,o)})}function n(i,o){var l=o.v,u=i.node(l).rank,c=o.w,d=i.node(c).rank,f=o.name,h=i.edge(o),v=h.labelRank;if(d!==u+1){i.removeEdge(o);var p,g,m;for(m=0,++u;u<d;++m,++u)h.points=[],g={width:0,height:0,edgeLabel:h,edgeObj:o,rank:u},p=e.addDummyNode(i,"edge",g,"_d"),u===v&&(g.width=h.width,g.height=h.height,g.dummy="edge-label",g.labelpos=h.labelpos),i.setEdge(l,p,{weight:h.weight},f),m===0&&i.graph().dummyChains.push(p),l=p;i.setEdge(l,c,{weight:h.weight},f)}}function a(i){t.forEach(i.graph().dummyChains,function(o){var l=i.node(o),u=l.edgeLabel,c;for(i.setEdge(l.edgeObj,u);l.dummy;)c=i.successors(o)[0],i.removeNode(o),u.points.push({x:l.x,y:l.y}),l.dummy==="edge-label"&&(u.x=l.x,u.y=l.y,u.width=l.width,u.height=l.height),o=c,l=i.node(o)})}return Gv}var Uv,E2;function _l(){if(E2)return Uv;E2=1;var t=Ze();Uv={longestPath:e,slack:r};function e(n){var a={};function i(o){var l=n.node(o);if(t.has(a,o))return l.rank;a[o]=!0;var u=t.min(t.map(n.outEdges(o),function(c){return i(c.w)-n.edge(c).minlen}));return(u===Number.POSITIVE_INFINITY||u===void 0||u===null)&&(u=0),l.rank=u}t.forEach(n.sources(),i)}function r(n,a){return n.node(a.w).rank-n.node(a.v).rank-n.edge(a).minlen}return Uv}var Wv,x2;function k2(){if(x2)return Wv;x2=1;var t=Ze(),e=wr().Graph,r=_l().slack;Wv=n;function n(l){var u=new e({directed:!1}),c=l.nodes()[0],d=l.nodeCount();u.setNode(c,{});for(var f,h;a(u,l)<d;)f=i(u,l),h=u.hasNode(f.v)?r(l,f):-r(l,f),o(u,l,h);return u}function a(l,u){function c(d){t.forEach(u.nodeEdges(d),function(f){var h=f.v,v=d===h?f.w:h;!l.hasNode(v)&&!r(u,f)&&(l.setNode(v,{}),l.setEdge(d,v,{}),c(v))})}return t.forEach(l.nodes(),c),l.nodeCount()}function i(l,u){return t.minBy(u.edges(),function(c){if(l.hasNode(c.v)!==l.hasNode(c.w))return r(u,c)})}function o(l,u,c){t.forEach(l.nodes(),function(d){u.node(d).rank+=c})}return Wv}var jv,S2;function f9(){if(S2)return jv;S2=1;var t=Ze(),e=k2(),r=_l().slack,n=_l().longestPath,a=wr().alg.preorder,i=wr().alg.postorder,o=jt().simplify;jv=l,l.initLowLimValues=f,l.initCutValues=u,l.calcCutValue=d,l.leaveEdge=v,l.enterEdge=p,l.exchangeEdges=g;function l(w){w=o(w),n(w);var C=e(w);f(C),u(C,w);for(var x,k;x=v(C);)k=p(C,w,x),g(C,w,x,k)}function u(w,C){var x=i(w,w.nodes());x=x.slice(0,x.length-1),t.forEach(x,function(k){c(w,C,k)})}function c(w,C,x){var k=w.node(x),E=k.parent;w.edge(x,E).cutvalue=d(w,C,x)}function d(w,C,x){var k=w.node(x),E=k.parent,_=!0,S=C.edge(x,E),T=0;return S||(_=!1,S=C.edge(E,x)),T=S.weight,t.forEach(C.nodeEdges(x),function(N){var B=N.v===x,O=B?N.w:N.v;if(O!==E){var D=B===_,L=C.edge(N).weight;if(T+=D?L:-L,y(w,x,O)){var A=w.edge(x,O).cutvalue;T+=D?-A:A}}}),T}function f(w,C){arguments.length<2&&(C=w.nodes()[0]),h(w,{},1,C)}function h(w,C,x,k,E){var _=x,S=w.node(k);return C[k]=!0,t.forEach(w.neighbors(k),function(T){t.has(C,T)||(x=h(w,C,x,T,k))}),S.low=_,S.lim=x++,E?S.parent=E:delete S.parent,x}function v(w){return t.find(w.edges(),function(C){return w.edge(C).cutvalue<0})}function p(w,C,x){var k=x.v,E=x.w;C.hasEdge(k,E)||(k=x.w,E=x.v);var _=w.node(k),S=w.node(E),T=_,N=!1;_.lim>S.lim&&(T=S,N=!0);var B=t.filter(C.edges(),function(O){return N===b(w,w.node(O.v),T)&&N!==b(w,w.node(O.w),T)});return t.minBy(B,function(O){return r(C,O)})}function g(w,C,x,k){var E=x.v,_=x.w;w.removeEdge(E,_),w.setEdge(k.v,k.w,{}),f(w),u(w,C),m(w,C)}function m(w,C){var x=t.find(w.nodes(),function(E){return!C.node(E).parent}),k=a(w,x);k=k.slice(1),t.forEach(k,function(E){var _=w.node(E).parent,S=C.edge(E,_),T=!1;S||(S=C.edge(_,E),T=!0),C.node(E).rank=C.node(_).rank+(T?S.minlen:-S.minlen)})}function y(w,C,x){return w.hasEdge(C,x)}function b(w,C,x){return x.low<=C.lim&&C.lim<=x.lim}return jv}var Yv,_2;function h9(){if(_2)return Yv;_2=1;var t=_l(),e=t.longestPath,r=k2(),n=f9();Yv=a;function a(u){switch(u.graph().ranker){case"network-simplex":l(u);break;case"tight-tree":o(u);break;case"longest-path":i(u);break;default:l(u)}}var i=e;function o(u){e(u),r(u)}function l(u){n(u)}return Yv}var Zv,T2;function p9(){if(T2)return Zv;T2=1;var t=Ze();Zv=e;function e(a){var i=n(a);t.forEach(a.graph().dummyChains,function(o){for(var l=a.node(o),u=l.edgeObj,c=r(a,i,u.v,u.w),d=c.path,f=c.lca,h=0,v=d[h],p=!0;o!==u.w;){if(l=a.node(o),p){for(;(v=d[h])!==f&&a.node(v).maxRank<l.rank;)h++;v===f&&(p=!1)}if(!p){for(;h<d.length-1&&a.node(v=d[h+1]).minRank<=l.rank;)h++;v=d[h]}a.setParent(o,v),o=a.successors(o)[0]}})}function r(a,i,o,l){var u=[],c=[],d=Math.min(i[o].low,i[l].low),f=Math.max(i[o].lim,i[l].lim),h,v;h=o;do h=a.parent(h),u.push(h);while(h&&(i[h].low>d||f>i[h].lim));for(v=h,h=l;(h=a.parent(h))!==v;)c.push(h);return{path:u.concat(c.reverse()),lca:v}}function n(a){var i={},o=0;function l(u){var c=o;t.forEach(a.children(u),l),i[u]={low:c,lim:o++}}return t.forEach(a.children(),l),i}return Zv}var Xv,N2;function v9(){if(N2)return Xv;N2=1;var t=Ze(),e=jt();Xv={run:r,cleanup:o};function r(l){var u=e.addDummyNode(l,"root",{},"_root"),c=a(l),d=t.max(t.values(c))-1,f=2*d+1;l.graph().nestingRoot=u,t.forEach(l.edges(),function(v){l.edge(v).minlen*=f});var h=i(l)+1;t.forEach(l.children(),function(v){n(l,u,f,h,d,c,v)}),l.graph().nodeRankFactor=f}function n(l,u,c,d,f,h,v){var p=l.children(v);if(!p.length){v!==u&&l.setEdge(u,v,{weight:0,minlen:c});return}var g=e.addBorderNode(l,"_bt"),m=e.addBorderNode(l,"_bb"),y=l.node(v);l.setParent(g,v),y.borderTop=g,l.setParent(m,v),y.borderBottom=m,t.forEach(p,function(b){n(l,u,c,d,f,h,b);var w=l.node(b),C=w.borderTop?w.borderTop:b,x=w.borderBottom?w.borderBottom:b,k=w.borderTop?d:2*d,E=C!==x?1:f-h[v]+1;l.setEdge(g,C,{weight:k,minlen:E,nestingEdge:!0}),l.setEdge(x,m,{weight:k,minlen:E,nestingEdge:!0})}),l.parent(v)||l.setEdge(u,g,{weight:0,minlen:f+h[v]})}function a(l){var u={};function c(d,f){var h=l.children(d);h&&h.length&&t.forEach(h,function(v){c(v,f+1)}),u[d]=f}return t.forEach(l.children(),function(d){c(d,1)}),u}function i(l){return t.reduce(l.edges(),function(u,c){return u+l.edge(c).weight},0)}function o(l){var u=l.graph();l.removeNode(u.nestingRoot),delete u.nestingRoot,t.forEach(l.edges(),function(c){var d=l.edge(c);d.nestingEdge&&l.removeEdge(c)})}return Xv}var Jv,I2;function g9(){if(I2)return Jv;I2=1;var t=Ze(),e=jt();Jv=r;function r(a){function i(o){var l=a.children(o),u=a.node(o);if(l.length&&t.forEach(l,i),t.has(u,"minRank")){u.borderLeft=[],u.borderRight=[];for(var c=u.minRank,d=u.maxRank+1;c<d;++c)n(a,"borderLeft","_bl",o,u,c),n(a,"borderRight","_br",o,u,c)}}t.forEach(a.children(),i)}function n(a,i,o,l,u,c){var d={width:0,height:0,rank:c,borderType:i},f=u[i][c-1],h=e.addDummyNode(a,"border",d,o);u[i][c]=h,a.setParent(h,l),f&&a.setEdge(f,h,{weight:1})}return Jv}var Qv,B2;function m9(){if(B2)return Qv;B2=1;var t=Ze();Qv={adjust:e,undo:r};function e(c){var d=c.graph().rankdir.toLowerCase();(d==="lr"||d==="rl")&&n(c)}function r(c){var d=c.graph().rankdir.toLowerCase();(d==="bt"||d==="rl")&&i(c),(d==="lr"||d==="rl")&&(l(c),n(c))}function n(c){t.forEach(c.nodes(),function(d){a(c.node(d))}),t.forEach(c.edges(),function(d){a(c.edge(d))})}function a(c){var d=c.width;c.width=c.height,c.height=d}function i(c){t.forEach(c.nodes(),function(d){o(c.node(d))}),t.forEach(c.edges(),function(d){var f=c.edge(d);t.forEach(f.points,o),t.has(f,"y")&&o(f)})}function o(c){c.y=-c.y}function l(c){t.forEach(c.nodes(),function(d){u(c.node(d))}),t.forEach(c.edges(),function(d){var f=c.edge(d);t.forEach(f.points,u),t.has(f,"x")&&u(f)})}function u(c){var d=c.x;c.x=c.y,c.y=d}return Qv}var eg,D2;function y9(){if(D2)return eg;D2=1;var t=Ze();eg=e;function e(r){var n={},a=t.filter(r.nodes(),function(c){return!r.children(c).length}),i=t.max(t.map(a,function(c){return r.node(c).rank})),o=t.map(t.range(i+1),function(){return[]});function l(c){if(!t.has(n,c)){n[c]=!0;var d=r.node(c);o[d.rank].push(c),t.forEach(r.successors(c),l)}}var u=t.sortBy(a,function(c){return r.node(c).rank});return t.forEach(u,l),o}return eg}var tg,O2;function b9(){if(O2)return tg;O2=1;var t=Ze();tg=e;function e(n,a){for(var i=0,o=1;o<a.length;++o)i+=r(n,a[o-1],a[o]);return i}function r(n,a,i){for(var o=t.zipObject(i,t.map(i,function(h,v){return v})),l=t.flatten(t.map(a,function(h){return t.sortBy(t.map(n.outEdges(h),function(v){return{pos:o[v.w],weight:n.edge(v).weight}}),"pos")}),!0),u=1;u<i.length;)u<<=1;var c=2*u-1;u-=1;var d=t.map(new Array(c),function(){return 0}),f=0;return t.forEach(l.forEach(function(h){var v=h.pos+u;d[v]+=h.weight;for(var p=0;v>0;)v%2&&(p+=d[v+1]),v=v-1>>1,d[v]+=h.weight;f+=h.weight*p})),f}return tg}var rg,A2;function w9(){if(A2)return rg;A2=1;var t=Ze();rg=e;function e(r,n){return t.map(n,function(a){var i=r.inEdges(a);if(i.length){var o=t.reduce(i,function(l,u){var c=r.edge(u),d=r.node(u.v);return{sum:l.sum+c.weight*d.order,weight:l.weight+c.weight}},{sum:0,weight:0});return{v:a,barycenter:o.sum/o.weight,weight:o.weight}}else return{v:a}})}return rg}var ng,P2;function C9(){if(P2)return ng;P2=1;var t=Ze();ng=e;function e(a,i){var o={};t.forEach(a,function(u,c){var d=o[u.v]={indegree:0,in:[],out:[],vs:[u.v],i:c};t.isUndefined(u.barycenter)||(d.barycenter=u.barycenter,d.weight=u.weight)}),t.forEach(i.edges(),function(u){var c=o[u.v],d=o[u.w];!t.isUndefined(c)&&!t.isUndefined(d)&&(d.indegree++,c.out.push(o[u.w]))});var l=t.filter(o,function(u){return!u.indegree});return r(l)}function r(a){var i=[];function o(c){return function(d){d.merged||(t.isUndefined(d.barycenter)||t.isUndefined(c.barycenter)||d.barycenter>=c.barycenter)&&n(c,d)}}function l(c){return function(d){d.in.push(c),--d.indegree===0&&a.push(d)}}for(;a.length;){var u=a.pop();i.push(u),t.forEach(u.in.reverse(),o(u)),t.forEach(u.out,l(u))}return t.map(t.filter(i,function(c){return!c.merged}),function(c){return t.pick(c,["vs","i","barycenter","weight"])})}function n(a,i){var o=0,l=0;a.weight&&(o+=a.barycenter*a.weight,l+=a.weight),i.weight&&(o+=i.barycenter*i.weight,l+=i.weight),a.vs=i.vs.concat(a.vs),a.barycenter=o/l,a.weight=l,a.i=Math.min(i.i,a.i),i.merged=!0}return ng}var ag,L2;function E9(){if(L2)return ag;L2=1;var t=Ze(),e=jt();ag=r;function r(i,o){var l=e.partition(i,function(g){return t.has(g,"barycenter")}),u=l.lhs,c=t.sortBy(l.rhs,function(g){return-g.i}),d=[],f=0,h=0,v=0;u.sort(a(!!o)),v=n(d,c,v),t.forEach(u,function(g){v+=g.vs.length,d.push(g.vs),f+=g.barycenter*g.weight,h+=g.weight,v=n(d,c,v)});var p={vs:t.flatten(d,!0)};return h&&(p.barycenter=f/h,p.weight=h),p}function n(i,o,l){for(var u;o.length&&(u=t.last(o)).i<=l;)o.pop(),i.push(u.vs),l++;return l}function a(i){return function(o,l){return o.barycenter<l.barycenter?-1:o.barycenter>l.barycenter?1:i?l.i-o.i:o.i-l.i}}return ag}var ig,R2;function x9(){if(R2)return ig;R2=1;var t=Ze(),e=w9(),r=C9(),n=E9();ig=a;function a(l,u,c,d){var f=l.children(u),h=l.node(u),v=h?h.borderLeft:void 0,p=h?h.borderRight:void 0,g={};v&&(f=t.filter(f,function(x){return x!==v&&x!==p}));var m=e(l,f);t.forEach(m,function(x){if(l.children(x.v).length){var k=a(l,x.v,c,d);g[x.v]=k,t.has(k,"barycenter")&&o(x,k)}});var y=r(m,c);i(y,g);var b=n(y,d);if(v&&(b.vs=t.flatten([v,b.vs,p],!0),l.predecessors(v).length)){var w=l.node(l.predecessors(v)[0]),C=l.node(l.predecessors(p)[0]);t.has(b,"barycenter")||(b.barycenter=0,b.weight=0),b.barycenter=(b.barycenter*b.weight+w.order+C.order)/(b.weight+2),b.weight+=2}return b}function i(l,u){t.forEach(l,function(c){c.vs=t.flatten(c.vs.map(function(d){return u[d]?u[d].vs:d}),!0)})}function o(l,u){t.isUndefined(l.barycenter)?(l.barycenter=u.barycenter,l.weight=u.weight):(l.barycenter=(l.barycenter*l.weight+u.barycenter*u.weight)/(l.weight+u.weight),l.weight+=u.weight)}return ig}var og,M2;function k9(){if(M2)return og;M2=1;var t=Ze(),e=wr().Graph;og=r;function r(a,i,o){var l=n(a),u=new e({compound:!0}).setGraph({root:l}).setDefaultNodeLabel(function(c){return a.node(c)});return t.forEach(a.nodes(),function(c){var d=a.node(c),f=a.parent(c);(d.rank===i||d.minRank<=i&&i<=d.maxRank)&&(u.setNode(c),u.setParent(c,f||l),t.forEach(a[o](c),function(h){var v=h.v===c?h.w:h.v,p=u.edge(v,c),g=t.isUndefined(p)?0:p.weight;u.setEdge(v,c,{weight:a.edge(h).weight+g})}),t.has(d,"minRank")&&u.setNode(c,{borderLeft:d.borderLeft[i],borderRight:d.borderRight[i]}))}),u}function n(a){for(var i;a.hasNode(i=t.uniqueId("_root")););return i}return og}var sg,F2;function S9(){if(F2)return sg;F2=1;var t=Ze();sg=e;function e(r,n,a){var i={},o;t.forEach(a,function(l){for(var u=r.parent(l),c,d;u;){if(c=r.parent(u),c?(d=i[c],i[c]=u):(d=o,o=u),d&&d!==u){n.setEdge(d,u);return}u=c}})}return sg}var lg,$2;function _9(){if($2)return lg;$2=1;var t=Ze(),e=y9(),r=b9(),n=x9(),a=k9(),i=S9(),o=wr().Graph,l=jt();lg=u;function u(h){var v=l.maxRank(h),p=c(h,t.range(1,v+1),"inEdges"),g=c(h,t.range(v-1,-1,-1),"outEdges"),m=e(h);f(h,m);for(var y=Number.POSITIVE_INFINITY,b,w=0,C=0;C<4;++w,++C){d(w%2?p:g,w%4>=2),m=l.buildLayerMatrix(h);var x=r(h,m);x<y&&(C=0,b=t.cloneDeep(m),y=x)}f(h,b)}function c(h,v,p){return t.map(v,function(g){return a(h,g,p)})}function d(h,v){var p=new o;t.forEach(h,function(g){var m=g.graph().root,y=n(g,m,p,v);t.forEach(y.vs,function(b,w){g.node(b).order=w}),i(g,p,y.vs)})}function f(h,v){t.forEach(v,function(p){t.forEach(p,function(g,m){h.node(g).order=m})})}return lg}var cg,V2;function T9(){if(V2)return cg;V2=1;var t=Ze(),e=wr().Graph,r=jt();cg={positionX:p,findType1Conflicts:n,findType2Conflicts:a,addConflict:o,hasConflict:l,verticalAlignment:u,horizontalCompaction:c,alignCoordinates:h,findSmallestWidthAlignment:f,balance:v};function n(y,b){var w={};function C(x,k){var E=0,_=0,S=x.length,T=t.last(k);return t.forEach(k,function(N,B){var O=i(y,N),D=O?y.node(O).order:S;(O||N===T)&&(t.forEach(k.slice(_,B+1),function(L){t.forEach(y.predecessors(L),function(A){var M=y.node(A),P=M.order;(P<E||D<P)&&!(M.dummy&&y.node(L).dummy)&&o(w,A,L)})}),_=B+1,E=D)}),k}return t.reduce(b,C),w}function a(y,b){var w={};function C(k,E,_,S,T){var N;t.forEach(t.range(E,_),function(B){N=k[B],y.node(N).dummy&&t.forEach(y.predecessors(N),function(O){var D=y.node(O);D.dummy&&(D.order<S||D.order>T)&&o(w,O,N)})})}function x(k,E){var _=-1,S,T=0;return t.forEach(E,function(N,B){if(y.node(N).dummy==="border"){var O=y.predecessors(N);O.length&&(S=y.node(O[0]).order,C(E,T,B,_,S),T=B,_=S)}C(E,T,E.length,S,k.length)}),E}return t.reduce(b,x),w}function i(y,b){if(y.node(b).dummy)return t.find(y.predecessors(b),function(w){return y.node(w).dummy})}function o(y,b,w){if(b>w){var C=b;b=w,w=C}var x=y[b];x||(y[b]=x={}),x[w]=!0}function l(y,b,w){if(b>w){var C=b;b=w,w=C}return t.has(y[b],w)}function u(y,b,w,C){var x={},k={},E={};return t.forEach(b,function(_){t.forEach(_,function(S,T){x[S]=S,k[S]=S,E[S]=T})}),t.forEach(b,function(_){var S=-1;t.forEach(_,function(T){var N=C(T);if(N.length){N=t.sortBy(N,function(A){return E[A]});for(var B=(N.length-1)/2,O=Math.floor(B),D=Math.ceil(B);O<=D;++O){var L=N[O];k[T]===T&&S<E[L]&&!l(w,T,L)&&(k[L]=T,k[T]=x[T]=x[L],S=E[L])}}})}),{root:x,align:k}}function c(y,b,w,C,x){var k={},E=d(y,b,w,x),_=x?"borderLeft":"borderRight";function S(B,O){for(var D=E.nodes(),L=D.pop(),A={};L;)A[L]?B(L):(A[L]=!0,D.push(L),D=D.concat(O(L))),L=D.pop()}function T(B){k[B]=E.inEdges(B).reduce(function(O,D){return Math.max(O,k[D.v]+E.edge(D))},0)}function N(B){var O=E.outEdges(B).reduce(function(L,A){return Math.min(L,k[A.w]-E.edge(A))},Number.POSITIVE_INFINITY),D=y.node(B);O!==Number.POSITIVE_INFINITY&&D.borderType!==_&&(k[B]=Math.max(k[B],O))}return S(T,E.predecessors.bind(E)),S(N,E.successors.bind(E)),t.forEach(C,function(B){k[B]=k[w[B]]}),k}function d(y,b,w,C){var x=new e,k=y.graph(),E=g(k.nodesep,k.edgesep,C);return t.forEach(b,function(_){var S;t.forEach(_,function(T){var N=w[T];if(x.setNode(N),S){var B=w[S],O=x.edge(B,N);x.setEdge(B,N,Math.max(E(y,T,S),O||0))}S=T})}),x}function f(y,b){return t.minBy(t.values(b),function(w){var C=Number.NEGATIVE_INFINITY,x=Number.POSITIVE_INFINITY;return t.forIn(w,function(k,E){var _=m(y,E)/2;C=Math.max(k+_,C),x=Math.min(k-_,x)}),C-x})}function h(y,b){var w=t.values(b),C=t.min(w),x=t.max(w);t.forEach(["u","d"],function(k){t.forEach(["l","r"],function(E){var _=k+E,S=y[_],T;if(S!==b){var N=t.values(S);T=E==="l"?C-t.min(N):x-t.max(N),T&&(y[_]=t.mapValues(S,function(B){return B+T}))}})})}function v(y,b){return t.mapValues(y.ul,function(w,C){if(b)return y[b.toLowerCase()][C];var x=t.sortBy(t.map(y,C));return(x[1]+x[2])/2})}function p(y){var b=r.buildLayerMatrix(y),w=t.merge(n(y,b),a(y,b)),C={},x;t.forEach(["u","d"],function(E){x=E==="u"?b:t.values(b).reverse(),t.forEach(["l","r"],function(_){_==="r"&&(x=t.map(x,function(B){return t.values(B).reverse()}));var S=(E==="u"?y.predecessors:y.successors).bind(y),T=u(y,x,w,S),N=c(y,x,T.root,T.align,_==="r");_==="r"&&(N=t.mapValues(N,function(B){return-B})),C[E+_]=N})});var k=f(y,C);return h(C,k),v(C,y.graph().align)}function g(y,b,w){return function(C,x,k){var E=C.node(x),_=C.node(k),S=0,T;if(S+=E.width/2,t.has(E,"labelpos"))switch(E.labelpos.toLowerCase()){case"l":T=-E.width/2;break;case"r":T=E.width/2;break}if(T&&(S+=w?T:-T),T=0,S+=(E.dummy?b:y)/2,S+=(_.dummy?b:y)/2,S+=_.width/2,t.has(_,"labelpos"))switch(_.labelpos.toLowerCase()){case"l":T=_.width/2;break;case"r":T=-_.width/2;break}return T&&(S+=w?T:-T),T=0,S}}function m(y,b){return y.node(b).width}return cg}var ug,q2;function N9(){if(q2)return ug;q2=1;var t=Ze(),e=jt(),r=T9().positionX;ug=n;function n(i){i=e.asNonCompoundGraph(i),a(i),t.forEach(r(i),function(o,l){i.node(l).x=o})}function a(i){var o=e.buildLayerMatrix(i),l=i.graph().ranksep,u=0;t.forEach(o,function(c){var d=t.max(t.map(c,function(f){return i.node(f).height}));t.forEach(c,function(f){i.node(f).y=u+d/2}),u+=d+l})}return ug}var dg,z2;function I9(){if(z2)return dg;z2=1;var t=Ze(),e=u9(),r=d9(),n=h9(),a=jt().normalizeRanks,i=p9(),o=jt().removeEmptyRanks,l=v9(),u=g9(),c=m9(),d=_9(),f=N9(),h=jt(),v=wr().Graph;dg=p;function p(F,V){var q=V&&V.debugTiming?h.time:h.notime;q("layout",function(){var $=q(" buildLayoutGraph",function(){return S(F)});q(" runLayout",function(){g($,q)}),q(" updateInputGraph",function(){m(F,$)})})}function g(F,V){V(" makeSpaceForEdgeLabels",function(){T(F)}),V(" removeSelfEdges",function(){z(F)}),V(" acyclic",function(){e.run(F)}),V(" nestingGraph.run",function(){l.run(F)}),V(" rank",function(){n(h.asNonCompoundGraph(F))}),V(" injectEdgeLabelProxies",function(){N(F)}),V(" removeEmptyRanks",function(){o(F)}),V(" nestingGraph.cleanup",function(){l.cleanup(F)}),V(" normalizeRanks",function(){a(F)}),V(" assignRankMinMax",function(){B(F)}),V(" removeEdgeLabelProxies",function(){O(F)}),V(" normalize.run",function(){r.run(F)}),V(" parentDummyChains",function(){i(F)}),V(" addBorderSegments",function(){u(F)}),V(" order",function(){d(F)}),V(" insertSelfEdges",function(){W(F)}),V(" adjustCoordinateSystem",function(){c.adjust(F)}),V(" position",function(){f(F)}),V(" positionSelfEdges",function(){H(F)}),V(" removeBorderNodes",function(){P(F)}),V(" normalize.undo",function(){r.undo(F)}),V(" fixupEdgeLabelCoords",function(){A(F)}),V(" undoCoordinateSystem",function(){c.undo(F)}),V(" translateGraph",function(){D(F)}),V(" assignNodeIntersects",function(){L(F)}),V(" reversePoints",function(){M(F)}),V(" acyclic.undo",function(){e.undo(F)})}function m(F,V){t.forEach(F.nodes(),function(q){var $=F.node(q),K=V.node(q);$&&($.x=K.x,$.y=K.y,V.children(q).length&&($.width=K.width,$.height=K.height))}),t.forEach(F.edges(),function(q){var $=F.edge(q),K=V.edge(q);$.points=K.points,t.has(K,"x")&&($.x=K.x,$.y=K.y)}),F.graph().width=V.graph().width,F.graph().height=V.graph().height}var y=["nodesep","edgesep","ranksep","marginx","marginy"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},w=["acyclicer","ranker","rankdir","align"],C=["width","height"],x={width:0,height:0},k=["minlen","weight","width","height","labeloffset"],E={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},_=["labelpos"];function S(F){var V=new v({multigraph:!0,compound:!0}),q=X(F.graph());return V.setGraph(t.merge({},b,G(q,y),t.pick(q,w))),t.forEach(F.nodes(),function($){var K=X(F.node($));V.setNode($,t.defaults(G(K,C),x)),V.setParent($,F.parent($))}),t.forEach(F.edges(),function($){var K=X(F.edge($));V.setEdge($,t.merge({},E,G(K,k),t.pick(K,_)))}),V}function T(F){var V=F.graph();V.ranksep/=2,t.forEach(F.edges(),function(q){var $=F.edge(q);$.minlen*=2,$.labelpos.toLowerCase()!=="c"&&(V.rankdir==="TB"||V.rankdir==="BT"?$.width+=$.labeloffset:$.height+=$.labeloffset)})}function N(F){t.forEach(F.edges(),function(V){var q=F.edge(V);if(q.width&&q.height){var $=F.node(V.v),K=F.node(V.w),R={rank:(K.rank-$.rank)/2+$.rank,e:V};h.addDummyNode(F,"edge-proxy",R,"_ep")}})}function B(F){var V=0;t.forEach(F.nodes(),function(q){var $=F.node(q);$.borderTop&&($.minRank=F.node($.borderTop).rank,$.maxRank=F.node($.borderBottom).rank,V=t.max(V,$.maxRank))}),F.graph().maxRank=V}function O(F){t.forEach(F.nodes(),function(V){var q=F.node(V);q.dummy==="edge-proxy"&&(F.edge(q.e).labelRank=q.rank,F.removeNode(V))})}function D(F){var V=Number.POSITIVE_INFINITY,q=0,$=Number.POSITIVE_INFINITY,K=0,R=F.graph(),j=R.marginx||0,Y=R.marginy||0;function se(ce){var ae=ce.x,ne=ce.y,ue=ce.width,ie=ce.height;V=Math.min(V,ae-ue/2),q=Math.max(q,ae+ue/2),$=Math.min($,ne-ie/2),K=Math.max(K,ne+ie/2)}t.forEach(F.nodes(),function(ce){se(F.node(ce))}),t.forEach(F.edges(),function(ce){var ae=F.edge(ce);t.has(ae,"x")&&se(ae)}),V-=j,$-=Y,t.forEach(F.nodes(),function(ce){var ae=F.node(ce);ae.x-=V,ae.y-=$}),t.forEach(F.edges(),function(ce){var ae=F.edge(ce);t.forEach(ae.points,function(ne){ne.x-=V,ne.y-=$}),t.has(ae,"x")&&(ae.x-=V),t.has(ae,"y")&&(ae.y-=$)}),R.width=q-V+j,R.height=K-$+Y}function L(F){t.forEach(F.edges(),function(V){var q=F.edge(V),$=F.node(V.v),K=F.node(V.w),R,j;q.points?(R=q.points[0],j=q.points[q.points.length-1]):(q.points=[],R=K,j=$),q.points.unshift(h.intersectRect($,R)),q.points.push(h.intersectRect(K,j))})}function A(F){t.forEach(F.edges(),function(V){var q=F.edge(V);if(t.has(q,"x"))switch((q.labelpos==="l"||q.labelpos==="r")&&(q.width-=q.labeloffset),q.labelpos){case"l":q.x-=q.width/2+q.labeloffset;break;case"r":q.x+=q.width/2+q.labeloffset;break}})}function M(F){t.forEach(F.edges(),function(V){var q=F.edge(V);q.reversed&&q.points.reverse()})}function P(F){t.forEach(F.nodes(),function(V){if(F.children(V).length){var q=F.node(V),$=F.node(q.borderTop),K=F.node(q.borderBottom),R=F.node(t.last(q.borderLeft)),j=F.node(t.last(q.borderRight));q.width=Math.abs(j.x-R.x),q.height=Math.abs(K.y-$.y),q.x=R.x+q.width/2,q.y=$.y+q.height/2}}),t.forEach(F.nodes(),function(V){F.node(V).dummy==="border"&&F.removeNode(V)})}function z(F){t.forEach(F.edges(),function(V){if(V.v===V.w){var q=F.node(V.v);q.selfEdges||(q.selfEdges=[]),q.selfEdges.push({e:V,label:F.edge(V)}),F.removeEdge(V)}})}function W(F){var V=h.buildLayerMatrix(F);t.forEach(V,function(q){var $=0;t.forEach(q,function(K,R){var j=F.node(K);j.order=R+$,t.forEach(j.selfEdges,function(Y){h.addDummyNode(F,"selfedge",{width:Y.label.width,height:Y.label.height,rank:j.rank,order:R+ ++$,e:Y.e,label:Y.label},"_se")}),delete j.selfEdges})})}function H(F){t.forEach(F.nodes(),function(V){var q=F.node(V);if(q.dummy==="selfedge"){var $=F.node(q.e.v),K=$.x+$.width/2,R=$.y,j=q.x-K,Y=$.height/2;F.setEdge(q.e,q.label),F.removeNode(V),q.label.points=[{x:K+2*j/3,y:R-Y},{x:K+5*j/6,y:R-Y},{x:K+j,y:R},{x:K+5*j/6,y:R+Y},{x:K+2*j/3,y:R+Y}],q.label.x=q.x,q.label.y=q.y}})}function G(F,V){return t.mapValues(t.pick(F,V),Number)}function X(F){var V={};return t.forEach(F,function(q,$){V[$.toLowerCase()]=q}),V}return dg}var fg,H2;function B9(){if(H2)return fg;H2=1;var t=Ze(),e=jt(),r=wr().Graph;fg={debugOrdering:n};function n(a){var i=e.buildLayerMatrix(a),o=new r({compound:!0,multigraph:!0}).setGraph({});return t.forEach(a.nodes(),function(l){o.setNode(l,{label:l}),o.setParent(l,"layer"+a.node(l).rank)}),t.forEach(a.edges(),function(l){o.setEdge(l.v,l.w,{},l.name)}),t.forEach(i,function(l,u){var c="layer"+u;o.setNode(c,{rank:"same"}),t.reduce(l,function(d,f){return o.setEdge(d,f,{style:"invis"}),f})}),o}return fg}var hg,K2;function D9(){return K2||(K2=1,hg="0.8.5"),hg}var pg,G2;function O9(){return G2||(G2=1,pg={graphlib:wr(),layout:I9(),debug:B9(),util:{time:jt().time,notime:jt().notime},version:D9()}),pg}(function(t,e){(function(n,a){t.exports=a(O9())})(Ri,function(r){return function(n){var a={};function i(o){if(a[o])return a[o].exports;var l=a[o]={i:o,l:!1,exports:{}};return n[o].call(l.exports,l,l.exports,i),l.l=!0,l.exports}return i.m=n,i.c=a,i.d=function(o,l,u){i.o(o,l)||Object.defineProperty(o,l,{enumerable:!0,get:u})},i.r=function(o){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},i.t=function(o,l){if(l&1&&(o=i(o)),l&8||l&4&&typeof o=="object"&&o&&o.__esModule)return o;var u=Object.create(null);if(i.r(u),Object.defineProperty(u,"default",{enumerable:!0,value:o}),l&2&&typeof o!="string")for(var c in o)i.d(u,c,(function(d){return o[d]}).bind(null,c));return u},i.n=function(o){var l=o&&o.__esModule?function(){return o.default}:function(){return o};return i.d(l,"a",l),l},i.o=function(o,l){return Object.prototype.hasOwnProperty.call(o,l)},i.p="",i(i.s=0)}([function(n,a,i){var o=i(1),l=function(c){c&&c("layout","dagre",o)};typeof cytoscape<"u"&&l(cytoscape),n.exports=l},function(n,a,i){function o(h){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?o=function(p){return typeof p}:o=function(p){return p&&typeof Symbol=="function"&&p.constructor===Symbol&&p!==Symbol.prototype?"symbol":typeof p},o(h)}var l=function(v){return typeof v=="function"},u=i(2),c=i(3),d=i(4);function f(h){this.options=c({},u,h)}f.prototype.run=function(){var h=this.options,v=this,p=h.cy,g=h.eles,m=function(H,G){return l(G)?G.apply(H,[H]):G},y=h.boundingBox||{x1:0,y1:0,w:p.width(),h:p.height()};y.x2===void 0&&(y.x2=y.x1+y.w),y.w===void 0&&(y.w=y.x2-y.x1),y.y2===void 0&&(y.y2=y.y1+y.h),y.h===void 0&&(y.h=y.y2-y.y1);var b=new d.graphlib.Graph({multigraph:!0,compound:!0}),w={},C=function(H,G){G!=null&&(w[H]=G)};C("nodesep",h.nodeSep),C("edgesep",h.edgeSep),C("ranksep",h.rankSep),C("rankdir",h.rankDir),C("align",h.align),C("ranker",h.ranker),C("acyclicer",h.acyclicer),b.setGraph(w),b.setDefaultEdgeLabel(function(){return{}}),b.setDefaultNodeLabel(function(){return{}});var x=g.nodes();l(h.sort)&&(x=x.sort(h.sort));for(var k=0;k<x.length;k++){var E=x[k],_=E.layoutDimensions(h);b.setNode(E.id(),{width:_.w,height:_.h,name:E.id()})}for(var S=0;S<x.length;S++){var T=x[S];T.isChild()&&b.setParent(T.id(),T.parent().id())}var N=g.edges().stdFilter(function(W){return!W.source().isParent()&&!W.target().isParent()});l(h.sort)&&(N=N.sort(h.sort));for(var B=0;B<N.length;B++){var O=N[B];b.setEdge(O.source().id(),O.target().id(),{minlen:m(O,h.minLen),weight:m(O,h.edgeWeight),name:O.id()},O.id())}d.layout(b);for(var D=b.nodes(),L=0;L<D.length;L++){var A=D[L],M=b.node(A);p.getElementById(A).scratch().dagre=M}var P;h.boundingBox?(P={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0},x.forEach(function(W){var H=W.scratch().dagre;P.x1=Math.min(P.x1,H.x),P.x2=Math.max(P.x2,H.x),P.y1=Math.min(P.y1,H.y),P.y2=Math.max(P.y2,H.y)}),P.w=P.x2-P.x1,P.h=P.y2-P.y1):P=y;var z=function(H){if(h.boundingBox){var G=P.w===0?0:(H.x-P.x1)/P.w,X=P.h===0?0:(H.y-P.y1)/P.h;return{x:y.x1+G*y.w,y:y.y1+X*y.h}}else return H};return x.layoutPositions(v,h,function(W){W=o(W)==="object"?W:this;var H=W.scratch().dagre;return z({x:H.x,y:H.y})}),this},n.exports=f},function(n,a){var i={nodeSep:void 0,edgeSep:void 0,rankSep:void 0,rankDir:void 0,align:void 0,acyclicer:void 0,ranker:void 0,minLen:function(l){return 1},edgeWeight:function(l){return 1},fit:!0,padding:30,spacingFactor:void 0,nodeDimensionsIncludeLabels:!1,animate:!1,animateFilter:function(l,u){return!0},animationDuration:500,animationEasing:void 0,boundingBox:void 0,transform:function(l,u){return u},ready:function(){},sort:void 0,stop:function(){}};n.exports=i},function(n,a){n.exports=Object.assign!=null?Object.assign.bind(Object):function(i){for(var o=arguments.length,l=new Array(o>1?o-1:0),u=1;u<o;u++)l[u-1]=arguments[u];return l.forEach(function(c){Object.keys(c).forEach(function(d){return i[d]=c[d]})}),i}},function(n,a){n.exports=r}])})})(_w);var A9=_w.exports;const P9=YP(A9);Dn.use(P9);const U2=function(t,e){if(!t||!e)return!1;let r=JSON.stringify(t),n=JSON.stringify(e);return r.indexOf(n)!==-1},L9=function(t){return t?[...new Set(t.map(e=>JSON.stringify(e)))].map(e=>JSON.parse(e)):[]},R9=function(t,e,r){let n=t.connectivity.flat(),a=L9(n),i=[],o=!1;return a.forEach(l=>{o=!1,U2(e,l)&&(o=!0),U2(r,l)&&(o=!0),o||i.push(l)}),i};let M9=class extends EventTarget{constructor(r,n,a={}){super();Bt(this,"cyg",null);Bt(this,"nodes",[]);Bt(this,"edges",[]);Bt(this,"axons",[]);Bt(this,"dendrites",[]);Bt(this,"somas",[]);Bt(this,"labelCache",new Map);Bt(this,"graphCanvas",null);Bt(this,"hasPhenotypes",!1);Bt(this,"unavailableNodeIds",new Set);Bt(this,"termOverrides",new Map);Bt(this,"termLabels",new Map);Bt(this,"combinationMap",new Map);this.labelCache=r,this.graphCanvas=n,this.unavailableNodeIds=a.unavailableNodeIds instanceof Set?a.unavailableNodeIds:new Set(a.unavailableNodeIds||[]),this.termOverrides=a.termOverrides instanceof Map?a.termOverrides:new Map(Object.entries(a.termOverrides||{})),this.termLabels=a.termLabels instanceof Map?a.termLabels:new Map(Object.entries(a.termLabels||{})),this.combinationMap=a.combinationMap instanceof Map?a.combinationMap:new Map(Object.entries(a.combinationMap||{}))}async addConnectivity(r){var n;if(r&&r["node-phenotypes"]){const a=["ilxtr:hasSomaLocatedIn"],i=["ilxtr:hasAxonPresynapticElementIn","ilxtr:hasAxonSensorySubcellularElementIn"],o=[],l=[];a.forEach(c=>{o.push(...r["node-phenotypes"][c])}),i.forEach(c=>{l.push(...r["node-phenotypes"][c])});const u=R9(r,o,l);this.dendrites=o.map(c=>JSON.stringify(c)),this.axons=l.map(c=>JSON.stringify(c)),u!=null&&u.length&&(this.somas=u.map(c=>JSON.stringify(c))),this.hasPhenotypes=!0}else this.axons=r.axons.map(a=>JSON.stringify(a)),this.dendrites=r.dendrites.map(a=>JSON.stringify(a)),(n=r.somas)!=null&&n.length&&(this.somas=r.somas.map(a=>JSON.stringify(a))),this.hasPhenotypes=!1;if(r.connectivity.length)for(const a of r.connectivity){const i=await this.graphNode(a[0]),o=await this.graphNode(a[1]);this.nodes.push(i),this.nodes.push(o),this.edges.push({id:`${i.id}_${o.id}`,source:i.id,target:o.id})}else this.nodes.push({id:"MISSING",label:"NO PATHS"})}showConnectivity(r){this.cyg=new K9(this,r),this.cyg.on("tap-node",n=>{const a=new CustomEvent("tap-node",{detail:n.detail});this.dispatchEvent(a)})}selectConnectivity(r){var n;if((n=this.cyg)!=null&&n.cy){let a="";this.cyg.cy.elements().forEach(i=>{const o=e_(i.data());z9(r,o)&&(a=i.id())}),a&&this.cyg.cy.$id(a).select()}}clearConnectivity(){this.cyg&&(this.cyg.remove(),this.cyg=null)}reset(){this.cyg&&this.cyg.resetView()}resize(){this.cyg&&this.cyg.resize()}zoom(r){var n;if((n=this.cyg)!=null&&n.cy){const a=this.cyg.cy.zoom(),i=this.cyg.cy.width(),o=this.cyg.cy.height(),l={x:i/2,y:o/2};this.cyg.cy.zoom({level:a+r,renderedPosition:l})}}enableZoom(r){var n;(n=this.cyg)!=null&&n.cy&&this.cyg.cy.userZoomingEnabled(r)}get elements(){return[...this.nodes.map(r=>({data:r})),...this.edges.map(r=>({data:r}))]}get roots(){return this.hasPhenotypes?[...this.dendrites]:[...this.dendrites,...this.somas]}async graphNode(r){const n=JSON.stringify(r),a=[r[0],...r[1]],i=this.combinationMap.get(n);if(i)return this.graphNodeFromCombination(n,a,i);const o=a.map(p=>{const g=this.termOverrides.get(p);return(g==null?void 0:g.id)||p}),l=new Set,u=[];a.forEach((p,g)=>{const m=o[g];if(!l.has(m)){l.add(m);const y=this.termOverrides.get(p),b=(y==null?void 0:y.label)||(this.termLabels.has(m)?this.termLabels.get(m):"")||(this.labelCache.has(m)?this.labelCache.get(m):"");u.push({id:m,humanLabel:b})}});const c=[...u.map(p=>p.id),...u.map(p=>p.humanLabel)],d={id:n,label:c.join(`
|
|
44
|
+
`),w=0;w<b.length;w++){var C=b[w],x=p.measureText(C),k=Math.ceil(x.width),E=d;m=Math.max(k,m),y+=E}return m+=u,y+=u,o[i]={width:m,height:y}},Ar.calculateLabelAngle=function(t,e){var r=t._private,n=r.rscratch,a=t.isEdge(),i=e?e+"-":"",o=t.pstyle(i+"text-rotation"),l=o.strValue;return l==="none"?0:a&&l==="autorotate"?n.labelAutoAngle:l==="autorotate"?0:o.pfValue},Ar.calculateLabelAngles=function(t){var e=this,r=t.isEdge(),n=t._private,a=n.rscratch;a.labelAngle=e.calculateLabelAngle(t),r&&(a.sourceLabelAngle=e.calculateLabelAngle(t,"source"),a.targetLabelAngle=e.calculateLabelAngle(t,"target"))};var X1={},J1=28,Q1=!1;X1.getNodeShape=function(t){var e=this,r=t.pstyle("shape").value;if(r==="cutrectangle"&&(t.width()<J1||t.height()<J1))return Q1||($e("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),Q1=!0),"rectangle";if(t.isParent())return r==="rectangle"||r==="roundrectangle"||r==="round-rectangle"||r==="cutrectangle"||r==="cut-rectangle"||r==="barrel"?r:"rectangle";if(r==="polygon"){var n=t.pstyle("shape-polygon-points").value;return e.nodeShapes.makePolygon(n).name}return r};var al={};al.registerCalculationListeners=function(){var t=this.cy,e=t.collection(),r=this,n=function(o){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(o),l)for(var u=0;u<o.length;u++){var c=o[u],d=c._private,f=d.rstyle;f.clean=!1,f.cleanConnected=!1}};r.binder(t).on("bounds.* dirty.*",function(o){var l=o.target;n(l)}).on("style.* background.*",function(o){var l=o.target;n(l,!1)});var a=function(o){if(o){var l=r.onUpdateEleCalcsFns;e.cleanStyle();for(var u=0;u<e.length;u++){var c=e[u],d=c._private.rstyle;c.isNode()&&!d.cleanConnected&&(n(c.connectedEdges()),d.cleanConnected=!0)}if(l)for(var f=0;f<l.length;f++){var h=l[f];h(o,e)}r.recalculateRenderedStyle(e),e=t.collection()}};r.flushRenderedStyleQueue=function(){a(!0)},r.beforeRender(a,r.beforeRenderPriorities.eleCalcs)},al.onUpdateEleCalcs=function(t){var e=this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[];e.push(t)},al.recalculateRenderedStyle=function(t,e){var r=function(C){return C._private.rstyle.cleanConnected},n=[],a=[];if(!this.destroyed){e===void 0&&(e=!0);for(var i=0;i<t.length;i++){var o=t[i],l=o._private,u=l.rstyle;o.isEdge()&&(!r(o.source())||!r(o.target()))&&(u.clean=!1),!(e&&u.clean||o.removed())&&o.pstyle("display").value!=="none"&&(l.group==="nodes"?a.push(o):n.push(o),u.clean=!0)}for(var c=0;c<a.length;c++){var d=a[c],f=d._private,h=f.rstyle,v=d.position();this.recalculateNodeLabelProjection(d),h.nodeX=v.x,h.nodeY=v.y,h.nodeW=d.pstyle("width").pfValue,h.nodeH=d.pstyle("height").pfValue}this.recalculateEdgeProjections(n);for(var p=0;p<n.length;p++){var g=n[p],m=g._private,y=m.rstyle,b=m.rscratch;y.srcX=b.arrowStartX,y.srcY=b.arrowStartY,y.tgtX=b.arrowEndX,y.tgtY=b.arrowEndY,y.midX=b.midX,y.midY=b.midY,y.labelAngle=b.labelAngle,y.sourceLabelAngle=b.sourceLabelAngle,y.targetLabelAngle=b.targetLabelAngle}}};var il={};il.updateCachedGrabbedEles=function(){var t=this.cachedZSortedEles;if(t){t.drag=[],t.nondrag=[];for(var e=[],r=0;r<t.length;r++){var n=t[r],a=n._private.rscratch;n.grabbed()&&!n.isParent()?e.push(n):a.inDragLayer?t.drag.push(n):t.nondrag.push(n)}for(var r=0;r<e.length;r++){var n=e[r];t.drag.push(n)}}},il.invalidateCachedZSortedEles=function(){this.cachedZSortedEles=null},il.getCachedZSortedEles=function(t){if(t||!this.cachedZSortedEles){var e=this.cy.mutableElements().toArray();e.sort(v1),e.interactive=e.filter(function(r){return r.interactive()}),this.cachedZSortedEles=e,this.updateCachedGrabbedEles()}else e=this.cachedZSortedEles;return e};var ew={};[oa,tl,Rt,mo,ku,Ar,X1,al,il].forEach(function(t){Te(ew,t)});var tw={};tw.getCachedImage=function(t,e,r){var n=this,a=n.imageCache=n.imageCache||{},i=a[t];if(i)return i.image.complete||i.image.addEventListener("load",r),i.image;i=a[t]=a[t]||{};var o=i.image=new Image;o.addEventListener("load",r),o.addEventListener("error",function(){o.error=!0});var l="data:",u=t.substring(0,l.length).toLowerCase()===l;return u||(e=e==="null"?null:e,o.crossOrigin=e),o.src=t,o};var ii={};ii.registerBinding=function(t,e,r,n){var a=Array.prototype.slice.apply(arguments,[1]),i=this.binder(t);return i.on.apply(i,a)},ii.binder=function(t){var e=this,r=e.cy.window(),n=t===r||t===r.document||t===r.document.body||XM(t);if(e.supportsPassiveEvents==null){var a=!1;try{var i=Object.defineProperty({},"passive",{get:function(){return a=!0,!0}});r.addEventListener("test",null,i)}catch{}e.supportsPassiveEvents=a}var o=function(u,c,d){var f=Array.prototype.slice.call(arguments);return n&&e.supportsPassiveEvents&&(f[2]={capture:d??!1,passive:!1,once:!1}),e.bindings.push({target:t,args:f}),(t.addEventListener||t.on).apply(t,f),this};return{on:o,addEventListener:o,addListener:o,bind:o}},ii.nodeIsDraggable=function(t){return t&&t.isNode()&&!t.locked()&&t.grabbable()},ii.nodeIsGrabbable=function(t){return this.nodeIsDraggable(t)&&t.interactive()},ii.load=function(){var t=this,e=t.cy.window(),r=function(I){return I.selected()},n=function(I,U,te,Z){I==null&&(I=t.cy);for(var J=0;J<U.length;J++){var le=U[J];I.emit({originalEvent:te,type:le,position:Z})}},a=function(I){return I.shiftKey||I.metaKey||I.ctrlKey},i=function(I,U){var te=!0;if(t.cy.hasCompoundNodes()&&I&&I.pannable())for(var Z=0;U&&Z<U.length;Z++){var I=U[Z];if(I.isNode()&&I.isParent()&&!I.pannable()){te=!1;break}}else te=!0;return te},o=function(I){I[0]._private.grabbed=!0},l=function(I){I[0]._private.grabbed=!1},u=function(I){I[0]._private.rscratch.inDragLayer=!0},c=function(I){I[0]._private.rscratch.inDragLayer=!1},d=function(I){I[0]._private.rscratch.isGrabTarget=!0},f=function(I){I[0]._private.rscratch.isGrabTarget=!1},h=function(I,U){var te=U.addToList,Z=te.has(I);!Z&&I.grabbable()&&!I.locked()&&(te.merge(I),o(I))},v=function(I,U){if(I.cy().hasCompoundNodes()&&!(U.inDragLayer==null&&U.addToList==null)){var te=I.descendants();U.inDragLayer&&(te.forEach(u),te.connectedEdges().forEach(u)),U.addToList&&h(te,U)}},p=function(I,U){U=U||{};var te=I.cy().hasCompoundNodes();U.inDragLayer&&(I.forEach(u),I.neighborhood().stdFilter(function(Z){return!te||Z.isEdge()}).forEach(u)),U.addToList&&I.forEach(function(Z){h(Z,U)}),v(I,U),y(I,{inDragLayer:U.inDragLayer}),t.updateCachedGrabbedEles()},g=p,m=function(I){I&&(t.getCachedZSortedEles().forEach(function(U){l(U),c(U),f(U)}),t.updateCachedGrabbedEles())},y=function(I,U){if(!(U.inDragLayer==null&&U.addToList==null)&&I.cy().hasCompoundNodes()){var te=I.ancestors().orphans();if(!te.same(I)){var Z=te.descendants().spawnSelf().merge(te).unmerge(I).unmerge(I.descendants()),J=Z.connectedEdges();U.inDragLayer&&(J.forEach(u),Z.forEach(u)),U.addToList&&Z.forEach(function(le){h(le,U)})}}},b=function(){document.activeElement!=null&&document.activeElement.blur!=null&&document.activeElement.blur()},w=typeof MutationObserver<"u",C=typeof ResizeObserver<"u";w?(t.removeObserver=new MutationObserver(function(re){for(var I=0;I<re.length;I++){var U=re[I],te=U.removedNodes;if(te)for(var Z=0;Z<te.length;Z++){var J=te[Z];if(J===t.container){t.destroy();break}}}}),t.container.parentNode&&t.removeObserver.observe(t.container.parentNode,{childList:!0})):t.registerBinding(t.container,"DOMNodeRemoved",function(re){t.destroy()});var x=gs(function(){t.cy.resize()},100);w&&(t.styleObserver=new MutationObserver(x),t.styleObserver.observe(t.container,{attributes:!0})),t.registerBinding(e,"resize",x),C&&(t.resizeObserver=new ResizeObserver(x),t.resizeObserver.observe(t.container));var k=function(I,U){for(;I!=null;)U(I),I=I.parentNode},E=function(){t.invalidateContainerClientCoordsCache()};k(t.container,function(re){t.registerBinding(re,"transitionend",E),t.registerBinding(re,"animationend",E),t.registerBinding(re,"scroll",E)}),t.registerBinding(t.container,"contextmenu",function(re){re.preventDefault()});var _=function(){return t.selection[4]!==0},S=function(I){for(var U=t.findContainerClientCoords(),te=U[0],Z=U[1],J=U[2],le=U[3],ee=I.touches?I.touches:[I],oe=!1,me=0;me<ee.length;me++){var be=ee[me];if(te<=be.clientX&&be.clientX<=te+J&&Z<=be.clientY&&be.clientY<=Z+le){oe=!0;break}}if(!oe)return!1;for(var ye=t.container,Ne=I.target,ge=Ne.parentNode,Ce=!1;ge;){if(ge===ye){Ce=!0;break}ge=ge.parentNode}return!!Ce};t.registerBinding(t.container,"mousedown",function(I){if(S(I)&&!(t.hoverData.which===1&&I.which!==1)){I.preventDefault(),b(),t.hoverData.capture=!0,t.hoverData.which=I.which;var U=t.cy,te=[I.clientX,I.clientY],Z=t.projectIntoViewport(te[0],te[1]),J=t.selection,le=t.findNearestElements(Z[0],Z[1],!0,!1),ee=le[0],oe=t.dragData.possibleDragElements;t.hoverData.mdownPos=Z,t.hoverData.mdownGPos=te;var me=function(){t.hoverData.tapholdCancelled=!1,clearTimeout(t.hoverData.tapholdTimeout),t.hoverData.tapholdTimeout=setTimeout(function(){if(!t.hoverData.tapholdCancelled){var We=t.hoverData.down;We?We.emit({originalEvent:I,type:"taphold",position:{x:Z[0],y:Z[1]}}):U.emit({originalEvent:I,type:"taphold",position:{x:Z[0],y:Z[1]}})}},t.tapholdDuration)};if(I.which==3){t.hoverData.cxtStarted=!0;var be={originalEvent:I,type:"cxttapstart",position:{x:Z[0],y:Z[1]}};ee?(ee.activate(),ee.emit(be),t.hoverData.down=ee):U.emit(be),t.hoverData.downTime=new Date().getTime(),t.hoverData.cxtDragged=!1}else if(I.which==1){ee&&ee.activate();{if(ee!=null&&t.nodeIsGrabbable(ee)){var ye=function(We){return{originalEvent:I,type:We,position:{x:Z[0],y:Z[1]}}},Ne=function(We){We.emit(ye("grab"))};if(d(ee),!ee.selected())oe=t.dragData.possibleDragElements=U.collection(),g(ee,{addToList:oe}),ee.emit(ye("grabon")).emit(ye("grab"));else{oe=t.dragData.possibleDragElements=U.collection();var ge=U.$(function(Ce){return Ce.isNode()&&Ce.selected()&&t.nodeIsGrabbable(Ce)});p(ge,{addToList:oe}),ee.emit(ye("grabon")),ge.forEach(Ne)}t.redrawHint("eles",!0),t.redrawHint("drag",!0)}t.hoverData.down=ee,t.hoverData.downs=le,t.hoverData.downTime=new Date().getTime()}n(ee,["mousedown","tapstart","vmousedown"],I,{x:Z[0],y:Z[1]}),ee==null?(J[4]=1,t.data.bgActivePosistion={x:Z[0],y:Z[1]},t.redrawHint("select",!0),t.redraw()):ee.pannable()&&(J[4]=1),me()}J[0]=J[2]=Z[0],J[1]=J[3]=Z[1]}},!1),t.registerBinding(e,"mousemove",function(I){var U=t.hoverData.capture;if(!(!U&&!S(I))){var te=!1,Z=t.cy,J=Z.zoom(),le=[I.clientX,I.clientY],ee=t.projectIntoViewport(le[0],le[1]),oe=t.hoverData.mdownPos,me=t.hoverData.mdownGPos,be=t.selection,ye=null;!t.hoverData.draggingEles&&!t.hoverData.dragging&&!t.hoverData.selecting&&(ye=t.findNearestElement(ee[0],ee[1],!0,!1));var Ne=t.hoverData.last,ge=t.hoverData.down,Ce=[ee[0]-be[2],ee[1]-be[3]],We=t.dragData.possibleDragElements,qe;if(me){var st=le[0]-me[0],lt=st*st,rt=le[1]-me[1],Mt=rt*rt,mt=lt+Mt;t.hoverData.isOverThresholdDrag=qe=mt>=t.desktopTapThreshold2}var wt=a(I);qe&&(t.hoverData.tapholdCancelled=!0);var Qt=function(){var Q=t.hoverData.dragDelta=t.hoverData.dragDelta||[];Q.length===0?(Q.push(Ce[0]),Q.push(Ce[1])):(Q[0]+=Ce[0],Q[1]+=Ce[1])};te=!0,n(ye,["mousemove","vmousemove","tapdrag"],I,{x:ee[0],y:ee[1]});var Ft=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||Z.emit({originalEvent:I,type:"boxstart",position:{x:ee[0],y:ee[1]}}),be[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(qe){var $t={originalEvent:I,type:"cxtdrag",position:{x:ee[0],y:ee[1]}};ge?ge.emit($t):Z.emit($t),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||ye!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:I,type:"cxtdragout",position:{x:ee[0],y:ee[1]}}),t.hoverData.cxtOver=ye,ye&&ye.emit({originalEvent:I,type:"cxtdragover",position:{x:ee[0],y:ee[1]}}))}}else if(t.hoverData.dragging){if(te=!0,Z.panningEnabled()&&Z.userPanningEnabled()){var cr;if(t.hoverData.justStartedPan){var Cr=t.hoverData.mdownPos;cr={x:(ee[0]-Cr[0])*J,y:(ee[1]-Cr[1])*J},t.hoverData.justStartedPan=!1}else cr={x:Ce[0]*J,y:Ce[1]*J};Z.panBy(cr),Z.emit("dragpan"),t.hoverData.dragged=!0}ee=t.projectIntoViewport(I.clientX,I.clientY)}else if(be[4]==1&&(ge==null||ge.pannable())){if(qe){if(!t.hoverData.dragging&&Z.boxSelectionEnabled()&&(wt||!Z.panningEnabled()||!Z.userPanningEnabled()))Ft();else if(!t.hoverData.selecting&&Z.panningEnabled()&&Z.userPanningEnabled()){var Yt=i(ge,t.hoverData.downs);Yt&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,be[4]=0,t.data.bgActivePosistion=Va(oe),t.redrawHint("select",!0),t.redraw())}ge&&ge.pannable()&&ge.active()&&ge.unactivate()}}else{if(ge&&ge.pannable()&&ge.active()&&ge.unactivate(),(!ge||!ge.grabbed())&&ye!=Ne&&(Ne&&n(Ne,["mouseout","tapdragout"],I,{x:ee[0],y:ee[1]}),ye&&n(ye,["mouseover","tapdragover"],I,{x:ee[0],y:ee[1]}),t.hoverData.last=ye),ge)if(qe){if(Z.boxSelectionEnabled()&&wt)ge&&ge.grabbed()&&(m(We),ge.emit("freeon"),We.emit("free"),t.dragData.didDrag&&(ge.emit("dragfreeon"),We.emit("dragfree"))),Ft();else if(ge&&ge.grabbed()&&t.nodeIsDraggable(ge)){var nt=!t.dragData.didDrag;nt&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||p(We,{inDragLayer:!0});var ct={x:0,y:0};if(de(Ce[0])&&de(Ce[1])&&(ct.x+=Ce[0],ct.y+=Ce[1],nt)){var Ct=t.hoverData.dragDelta;Ct&&de(Ct[0])&&de(Ct[1])&&(ct.x+=Ct[0],ct.y+=Ct[1])}t.hoverData.draggingEles=!0,We.silentShift(ct).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else Qt();te=!0}if(be[2]=ee[0],be[3]=ee[1],te)return I.stopPropagation&&I.stopPropagation(),I.preventDefault&&I.preventDefault(),!1}},!1);var T,N,B;t.registerBinding(e,"mouseup",function(I){if(!(t.hoverData.which===1&&I.which!==1&&t.hoverData.capture)){var U=t.hoverData.capture;if(U){t.hoverData.capture=!1;var te=t.cy,Z=t.projectIntoViewport(I.clientX,I.clientY),J=t.selection,le=t.findNearestElement(Z[0],Z[1],!0,!1),ee=t.dragData.possibleDragElements,oe=t.hoverData.down,me=a(I);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,oe&&oe.unactivate(),t.hoverData.which===3){var be={originalEvent:I,type:"cxttapend",position:{x:Z[0],y:Z[1]}};if(oe?oe.emit(be):te.emit(be),!t.hoverData.cxtDragged){var ye={originalEvent:I,type:"cxttap",position:{x:Z[0],y:Z[1]}};oe?oe.emit(ye):te.emit(ye)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(n(le,["mouseup","tapend","vmouseup"],I,{x:Z[0],y:Z[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(n(oe,["click","tap","vclick"],I,{x:Z[0],y:Z[1]}),N=!1,I.timeStamp-B<=te.multiClickDebounceTime()?(T&&clearTimeout(T),N=!0,B=null,n(oe,["dblclick","dbltap","vdblclick"],I,{x:Z[0],y:Z[1]})):(T=setTimeout(function(){N||n(oe,["oneclick","onetap","voneclick"],I,{x:Z[0],y:Z[1]})},te.multiClickDebounceTime()),B=I.timeStamp)),oe==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(I)&&(te.$(r).unselect(["tapunselect"]),ee.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=ee=te.collection()),le==oe&&!t.dragData.didDrag&&!t.hoverData.selecting&&le!=null&&le._private.selectable&&(t.hoverData.dragging||(te.selectionType()==="additive"||me?le.selected()?le.unselect(["tapunselect"]):le.select(["tapselect"]):me||(te.$(r).unmerge(le).unselect(["tapunselect"]),le.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var Ne=te.collection(t.getAllInBox(J[0],J[1],J[2],J[3]));t.redrawHint("select",!0),Ne.length>0&&t.redrawHint("eles",!0),te.emit({type:"boxend",originalEvent:I,position:{x:Z[0],y:Z[1]}});var ge=function(qe){return qe.selectable()&&!qe.selected()};te.selectionType()==="additive"||me||te.$(r).unmerge(Ne).unselect(),Ne.emit("box").stdFilter(ge).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!J[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var Ce=oe&&oe.grabbed();m(ee),Ce&&(oe.emit("freeon"),ee.emit("free"),t.dragData.didDrag&&(oe.emit("dragfreeon"),ee.emit("dragfree")))}}J[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},!1);var O=function(I){if(!t.scrollingPage){var U=t.cy,te=U.zoom(),Z=U.pan(),J=t.projectIntoViewport(I.clientX,I.clientY),le=[J[0]*te+Z.x,J[1]*te+Z.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||_()){I.preventDefault();return}if(U.panningEnabled()&&U.userPanningEnabled()&&U.zoomingEnabled()&&U.userZoomingEnabled()){I.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout(function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()},150);var ee;I.deltaY!=null?ee=I.deltaY/-250:I.wheelDeltaY!=null?ee=I.wheelDeltaY/1e3:ee=I.wheelDelta/1e3,ee=ee*t.wheelSensitivity;var oe=I.deltaMode===1;oe&&(ee*=33);var me=U.zoom()*Math.pow(10,ee);I.type==="gesturechange"&&(me=t.gestureStartZoom*I.scale),U.zoom({level:me,renderedPosition:{x:le[0],y:le[1]}}),U.emit(I.type==="gesturechange"?"pinchzoom":"scrollzoom")}}};t.registerBinding(t.container,"wheel",O,!0),t.registerBinding(e,"scroll",function(I){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(I){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||I.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(re){t.hasTouchStarted||O(re)},!0),t.registerBinding(t.container,"mouseout",function(I){var U=t.projectIntoViewport(I.clientX,I.clientY);t.cy.emit({originalEvent:I,type:"mouseout",position:{x:U[0],y:U[1]}})},!1),t.registerBinding(t.container,"mouseover",function(I){var U=t.projectIntoViewport(I.clientX,I.clientY);t.cy.emit({originalEvent:I,type:"mouseover",position:{x:U[0],y:U[1]}})},!1);var D,L,A,M,P,z,W,H,G,X,F,V,q,$=function(I,U,te,Z){return Math.sqrt((te-I)*(te-I)+(Z-U)*(Z-U))},K=function(I,U,te,Z){return(te-I)*(te-I)+(Z-U)*(Z-U)},R;t.registerBinding(t.container,"touchstart",R=function(I){if(t.hasTouchStarted=!0,!!S(I)){b(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var U=t.cy,te=t.touchData.now,Z=t.touchData.earlier;if(I.touches[0]){var J=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);te[0]=J[0],te[1]=J[1]}if(I.touches[1]){var J=t.projectIntoViewport(I.touches[1].clientX,I.touches[1].clientY);te[2]=J[0],te[3]=J[1]}if(I.touches[2]){var J=t.projectIntoViewport(I.touches[2].clientX,I.touches[2].clientY);te[4]=J[0],te[5]=J[1]}if(I.touches[1]){t.touchData.singleTouchMoved=!0,m(t.dragData.touchDragEles);var le=t.findContainerClientCoords();G=le[0],X=le[1],F=le[2],V=le[3],D=I.touches[0].clientX-G,L=I.touches[0].clientY-X,A=I.touches[1].clientX-G,M=I.touches[1].clientY-X,q=0<=D&&D<=F&&0<=A&&A<=F&&0<=L&&L<=V&&0<=M&&M<=V;var ee=U.pan(),oe=U.zoom();P=$(D,L,A,M),z=K(D,L,A,M),W=[(D+A)/2,(L+M)/2],H=[(W[0]-ee.x)/oe,(W[1]-ee.y)/oe];var me=200,be=me*me;if(z<be&&!I.touches[2]){var ye=t.findNearestElement(te[0],te[1],!0,!0),Ne=t.findNearestElement(te[2],te[3],!0,!0);ye&&ye.isNode()?(ye.activate().emit({originalEvent:I,type:"cxttapstart",position:{x:te[0],y:te[1]}}),t.touchData.start=ye):Ne&&Ne.isNode()?(Ne.activate().emit({originalEvent:I,type:"cxttapstart",position:{x:te[0],y:te[1]}}),t.touchData.start=Ne):U.emit({originalEvent:I,type:"cxttapstart",position:{x:te[0],y:te[1]}}),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!0,t.touchData.cxtDragged=!1,t.data.bgActivePosistion=void 0,t.redraw();return}}if(I.touches[2])U.boxSelectionEnabled()&&I.preventDefault();else if(!I.touches[1]){if(I.touches[0]){var ge=t.findNearestElements(te[0],te[1],!0,!0),Ce=ge[0];if(Ce!=null&&(Ce.activate(),t.touchData.start=Ce,t.touchData.starts=ge,t.nodeIsGrabbable(Ce))){var We=t.dragData.touchDragEles=U.collection(),qe=null;t.redrawHint("eles",!0),t.redrawHint("drag",!0),Ce.selected()?(qe=U.$(function(mt){return mt.selected()&&t.nodeIsGrabbable(mt)}),p(qe,{addToList:We})):g(Ce,{addToList:We}),d(Ce);var st=function(wt){return{originalEvent:I,type:wt,position:{x:te[0],y:te[1]}}};Ce.emit(st("grabon")),qe?qe.forEach(function(mt){mt.emit(st("grab"))}):Ce.emit(st("grab"))}n(Ce,["touchstart","tapstart","vmousedown"],I,{x:te[0],y:te[1]}),Ce==null&&(t.data.bgActivePosistion={x:J[0],y:J[1]},t.redrawHint("select",!0),t.redraw()),t.touchData.singleTouchMoved=!1,t.touchData.singleTouchStartTime=+new Date,clearTimeout(t.touchData.tapholdTimeout),t.touchData.tapholdTimeout=setTimeout(function(){t.touchData.singleTouchMoved===!1&&!t.pinching&&!t.touchData.selecting&&n(t.touchData.start,["taphold"],I,{x:te[0],y:te[1]})},t.tapholdDuration)}}if(I.touches.length>=1){for(var lt=t.touchData.startPosition=[null,null,null,null,null,null],rt=0;rt<te.length;rt++)lt[rt]=Z[rt]=te[rt];var Mt=I.touches[0];t.touchData.startGPosition=[Mt.clientX,Mt.clientY]}}},!1);var j;t.registerBinding(e,"touchmove",j=function(I){var U=t.touchData.capture;if(!(!U&&!S(I))){var te=t.selection,Z=t.cy,J=t.touchData.now,le=t.touchData.earlier,ee=Z.zoom();if(I.touches[0]){var oe=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);J[0]=oe[0],J[1]=oe[1]}if(I.touches[1]){var oe=t.projectIntoViewport(I.touches[1].clientX,I.touches[1].clientY);J[2]=oe[0],J[3]=oe[1]}if(I.touches[2]){var oe=t.projectIntoViewport(I.touches[2].clientX,I.touches[2].clientY);J[4]=oe[0],J[5]=oe[1]}var me=t.touchData.startGPosition,be;if(U&&I.touches[0]&&me){for(var ye=[],Ne=0;Ne<J.length;Ne++)ye[Ne]=J[Ne]-le[Ne];var ge=I.touches[0].clientX-me[0],Ce=ge*ge,We=I.touches[0].clientY-me[1],qe=We*We,st=Ce+qe;be=st>=t.touchTapThreshold2}if(U&&t.touchData.cxt){I.preventDefault();var lt=I.touches[0].clientX-G,rt=I.touches[0].clientY-X,Mt=I.touches[1].clientX-G,mt=I.touches[1].clientY-X,wt=K(lt,rt,Mt,mt),Qt=wt/z,Ft=150,$t=Ft*Ft,cr=1.5,Cr=cr*cr;if(Qt>=Cr||wt>=$t){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Yt={originalEvent:I,type:"cxttapend",position:{x:J[0],y:J[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(Yt),t.touchData.start=null):Z.emit(Yt)}}if(U&&t.touchData.cxt){var Yt={originalEvent:I,type:"cxtdrag",position:{x:J[0],y:J[1]}};t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(Yt):Z.emit(Yt),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var nt=t.findNearestElement(J[0],J[1],!0,!0);(!t.touchData.cxtOver||nt!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:I,type:"cxtdragout",position:{x:J[0],y:J[1]}}),t.touchData.cxtOver=nt,nt&&nt.emit({originalEvent:I,type:"cxtdragover",position:{x:J[0],y:J[1]}}))}else if(U&&I.touches[2]&&Z.boxSelectionEnabled())I.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||Z.emit({originalEvent:I,type:"boxstart",position:{x:J[0],y:J[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,te[4]=1,!te||te.length===0||te[0]===void 0?(te[0]=(J[0]+J[2]+J[4])/3,te[1]=(J[1]+J[3]+J[5])/3,te[2]=(J[0]+J[2]+J[4])/3+1,te[3]=(J[1]+J[3]+J[5])/3+1):(te[2]=(J[0]+J[2]+J[4])/3,te[3]=(J[1]+J[3]+J[5])/3),t.redrawHint("select",!0),t.redraw();else if(U&&I.touches[1]&&!t.touchData.didSelect&&Z.zoomingEnabled()&&Z.panningEnabled()&&Z.userZoomingEnabled()&&Z.userPanningEnabled()){I.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var ct=t.dragData.touchDragEles;if(ct){t.redrawHint("drag",!0);for(var Ct=0;Ct<ct.length;Ct++){var Pn=ct[Ct]._private;Pn.grabbed=!1,Pn.rscratch.inDragLayer=!1}}var Q=t.touchData.start,lt=I.touches[0].clientX-G,rt=I.touches[0].clientY-X,Mt=I.touches[1].clientX-G,mt=I.touches[1].clientY-X,he=$(lt,rt,Mt,mt),Ae=he/P;if(q){var He=lt-D,Fr=rt-L,Ln=Mt-A,vi=mt-M,an=(He+Ln)/2,ur=(Fr+vi)/2,Rn=Z.zoom(),Dg=Rn*Ae,Tl=Z.pan(),J_=H[0]*Rn+Tl.x,Q_=H[1]*Rn+Tl.y,o7={x:-Dg/Rn*(J_-Tl.x-an)+J_,y:-Dg/Rn*(Q_-Tl.y-ur)+Q_};if(Q&&Q.active()){var ct=t.dragData.touchDragEles;m(ct),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Q.unactivate().emit("freeon"),ct.emit("free"),t.dragData.didDrag&&(Q.emit("dragfreeon"),ct.emit("dragfree"))}Z.viewport({zoom:Dg,pan:o7,cancelOnFailedZoom:!0}),Z.emit("pinchzoom"),P=he,D=lt,L=rt,A=Mt,M=mt,t.pinching=!0}if(I.touches[0]){var oe=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);J[0]=oe[0],J[1]=oe[1]}if(I.touches[1]){var oe=t.projectIntoViewport(I.touches[1].clientX,I.touches[1].clientY);J[2]=oe[0],J[3]=oe[1]}if(I.touches[2]){var oe=t.projectIntoViewport(I.touches[2].clientX,I.touches[2].clientY);J[4]=oe[0],J[5]=oe[1]}}else if(I.touches[0]&&!t.touchData.didSelect){var Er=t.touchData.start,Og=t.touchData.last,nt;if(!t.hoverData.draggingEles&&!t.swipePanning&&(nt=t.findNearestElement(J[0],J[1],!0,!0)),U&&Er!=null&&I.preventDefault(),U&&Er!=null&&t.nodeIsDraggable(Er))if(be){var ct=t.dragData.touchDragEles,eT=!t.dragData.didDrag;eT&&p(ct,{inDragLayer:!0}),t.dragData.didDrag=!0;var Do={x:0,y:0};if(de(ye[0])&&de(ye[1])&&(Do.x+=ye[0],Do.y+=ye[1],eT)){t.redrawHint("eles",!0);var xr=t.touchData.dragDelta;xr&&de(xr[0])&&de(xr[1])&&(Do.x+=xr[0],Do.y+=xr[1])}t.hoverData.draggingEles=!0,ct.silentShift(Do).emit("position drag"),t.redrawHint("drag",!0),t.touchData.startPosition[0]==le[0]&&t.touchData.startPosition[1]==le[1]&&t.redrawHint("eles",!0),t.redraw()}else{var xr=t.touchData.dragDelta=t.touchData.dragDelta||[];xr.length===0?(xr.push(ye[0]),xr.push(ye[1])):(xr[0]+=ye[0],xr[1]+=ye[1])}if(n(Er||nt,["touchmove","tapdrag","vmousemove"],I,{x:J[0],y:J[1]}),(!Er||!Er.grabbed())&&nt!=Og&&(Og&&Og.emit({originalEvent:I,type:"tapdragout",position:{x:J[0],y:J[1]}}),nt&&nt.emit({originalEvent:I,type:"tapdragover",position:{x:J[0],y:J[1]}})),t.touchData.last=nt,U)for(var Ct=0;Ct<J.length;Ct++)J[Ct]&&t.touchData.startPosition[Ct]&&be&&(t.touchData.singleTouchMoved=!0);if(U&&(Er==null||Er.pannable())&&Z.panningEnabled()&&Z.userPanningEnabled()){var s7=i(Er,t.touchData.starts);s7&&(I.preventDefault(),t.data.bgActivePosistion||(t.data.bgActivePosistion=Va(t.touchData.startPosition)),t.swipePanning?(Z.panBy({x:ye[0]*ee,y:ye[1]*ee}),Z.emit("dragpan")):be&&(t.swipePanning=!0,Z.panBy({x:ge*ee,y:We*ee}),Z.emit("dragpan"),Er&&(Er.unactivate(),t.redrawHint("select",!0),t.touchData.start=null)));var oe=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);J[0]=oe[0],J[1]=oe[1]}}for(var Ne=0;Ne<J.length;Ne++)le[Ne]=J[Ne];U&&I.touches.length>0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var Y;t.registerBinding(e,"touchcancel",Y=function(I){var U=t.touchData.start;t.touchData.capture=!1,U&&U.unactivate()});var se,ce,ae,ne;if(t.registerBinding(e,"touchend",se=function(I){var U=t.touchData.start,te=t.touchData.capture;if(te)I.touches.length===0&&(t.touchData.capture=!1),I.preventDefault();else return;var Z=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var J=t.cy,le=J.zoom(),ee=t.touchData.now,oe=t.touchData.earlier;if(I.touches[0]){var me=t.projectIntoViewport(I.touches[0].clientX,I.touches[0].clientY);ee[0]=me[0],ee[1]=me[1]}if(I.touches[1]){var me=t.projectIntoViewport(I.touches[1].clientX,I.touches[1].clientY);ee[2]=me[0],ee[3]=me[1]}if(I.touches[2]){var me=t.projectIntoViewport(I.touches[2].clientX,I.touches[2].clientY);ee[4]=me[0],ee[5]=me[1]}U&&U.unactivate();var be;if(t.touchData.cxt){if(be={originalEvent:I,type:"cxttapend",position:{x:ee[0],y:ee[1]}},U?U.emit(be):J.emit(be),!t.touchData.cxtDragged){var ye={originalEvent:I,type:"cxttap",position:{x:ee[0],y:ee[1]}};U?U.emit(ye):J.emit(ye)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!I.touches[2]&&J.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var Ne=J.collection(t.getAllInBox(Z[0],Z[1],Z[2],Z[3]));Z[0]=void 0,Z[1]=void 0,Z[2]=void 0,Z[3]=void 0,Z[4]=0,t.redrawHint("select",!0),J.emit({type:"boxend",originalEvent:I,position:{x:ee[0],y:ee[1]}});var ge=function($t){return $t.selectable()&&!$t.selected()};Ne.emit("box").stdFilter(ge).select().emit("boxselect"),Ne.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(U!=null&&U.unactivate(),I.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!I.touches[1]){if(!I.touches[0]){if(!I.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Ce=t.dragData.touchDragEles;if(U!=null){var We=U._private.grabbed;m(Ce),t.redrawHint("drag",!0),t.redrawHint("eles",!0),We&&(U.emit("freeon"),Ce.emit("free"),t.dragData.didDrag&&(U.emit("dragfreeon"),Ce.emit("dragfree"))),n(U,["touchend","tapend","vmouseup","tapdragout"],I,{x:ee[0],y:ee[1]}),U.unactivate(),t.touchData.start=null}else{var qe=t.findNearestElement(ee[0],ee[1],!0,!0);n(qe,["touchend","tapend","vmouseup","tapdragout"],I,{x:ee[0],y:ee[1]})}var st=t.touchData.startPosition[0]-ee[0],lt=st*st,rt=t.touchData.startPosition[1]-ee[1],Mt=rt*rt,mt=lt+Mt,wt=mt*le*le;t.touchData.singleTouchMoved||(U||J.$(":selected").unselect(["tapunselect"]),n(U,["tap","vclick"],I,{x:ee[0],y:ee[1]}),ce=!1,I.timeStamp-ne<=J.multiClickDebounceTime()?(ae&&clearTimeout(ae),ce=!0,ne=null,n(U,["dbltap","vdblclick"],I,{x:ee[0],y:ee[1]})):(ae=setTimeout(function(){ce||n(U,["onetap","voneclick"],I,{x:ee[0],y:ee[1]})},J.multiClickDebounceTime()),ne=I.timeStamp)),U!=null&&!t.dragData.didDrag&&U._private.selectable&&wt<t.touchTapThreshold2&&!t.pinching&&(J.selectionType()==="single"?(J.$(r).unmerge(U).unselect(["tapunselect"]),U.select(["tapselect"])):U.selected()?U.unselect(["tapunselect"]):U.select(["tapselect"]),t.redrawHint("eles",!0)),t.touchData.singleTouchMoved=!0}}}for(var Qt=0;Qt<ee.length;Qt++)oe[Qt]=ee[Qt];t.dragData.didDrag=!1,I.touches.length===0&&(t.touchData.dragDelta=[],t.touchData.startPosition=[null,null,null,null,null,null],t.touchData.startGPosition=null,t.touchData.didSelect=!1),I.touches.length<2&&(I.touches.length===1&&(t.touchData.startGPosition=[I.touches[0].clientX,I.touches[0].clientY]),t.pinching=!1,t.redrawHint("eles",!0),t.redraw())},!1),typeof TouchEvent>"u"){var ue=[],ie=function(I){return{clientX:I.clientX,clientY:I.clientY,force:1,identifier:I.pointerId,pageX:I.pageX,pageY:I.pageY,radiusX:I.width/2,radiusY:I.height/2,screenX:I.screenX,screenY:I.screenY,target:I.target}},fe=function(I){return{event:I,touch:ie(I)}},pe=function(I){ue.push(fe(I))},Oe=function(I){for(var U=0;U<ue.length;U++){var te=ue[U];if(te.event.pointerId===I.pointerId){ue.splice(U,1);return}}},Ie=function(I){var U=ue.filter(function(te){return te.event.pointerId===I.pointerId})[0];U.event=I,U.touch=ie(I)},we=function(I){I.touches=ue.map(function(U){return U.touch})},ke=function(I){return I.pointerType==="mouse"||I.pointerType===4};t.registerBinding(t.container,"pointerdown",function(re){ke(re)||(re.preventDefault(),pe(re),we(re),R(re))}),t.registerBinding(t.container,"pointerup",function(re){ke(re)||(Oe(re),we(re),se(re))}),t.registerBinding(t.container,"pointercancel",function(re){ke(re)||(Oe(re),we(re),Y(re))}),t.registerBinding(t.container,"pointermove",function(re){ke(re)||(re.preventDefault(),Ie(re),we(re),j(re))})}};var en={};en.generatePolygon=function(t,e){return this.nodeShapes[t]={renderer:this,name:t,points:e,draw:function(n,a,i,o,l,u){this.renderer.nodeShapeImpl("polygon",n,a,i,o,l,this.points)},intersectLine:function(n,a,i,o,l,u,c,d){return ro(l,u,this.points,n,a,i/2,o/2,c)},checkPoint:function(n,a,i,o,l,u,c,d){return Xr(n,a,this.points,u,c,o,l,[0,-1],i)}}},en.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i)},intersectLine:function(e,r,n,a,i,o,l,u){return K5(i,o,e,r,n/2+l,a/2+l)},checkPoint:function(e,r,n,a,i,o,l,u){return ta(e,r,a,i,o,l,n)}}},en.generateRoundPolygon=function(t,e){return this.nodeShapes[t]={renderer:this,name:t,points:e,getOrCreateCorners:function(n,a,i,o,l,u,c){if(u[c]!==void 0&&u[c+"-cx"]===n&&u[c+"-cy"]===a)return u[c];u[c]=new Array(e.length/2),u[c+"-cx"]=n,u[c+"-cy"]=a;var d=i/2,f=o/2;l=l==="auto"?ub(i,o):l;for(var h=new Array(e.length/2),v=0;v<e.length/2;v++)h[v]={x:n+d*e[v*2],y:a+f*e[v*2+1]};var p,g,m,y,b=h.length;for(g=h[b-1],p=0;p<b;p++)m=h[p%b],y=h[(p+1)%b],u[c][p]=xu(g,m,y,l),g=m,m=y;return u[c]},draw:function(n,a,i,o,l,u,c){this.renderer.nodeShapeImpl("round-polygon",n,a,i,o,l,this.points,this.getOrCreateCorners(a,i,o,l,u,c,"drawCorners"))},intersectLine:function(n,a,i,o,l,u,c,d,f){return G5(l,u,this.points,n,a,i,o,c,this.getOrCreateCorners(n,a,i,o,d,f,"corners"))},checkPoint:function(n,a,i,o,l,u,c,d,f){return H5(n,a,this.points,u,c,o,l,this.getOrCreateCorners(u,c,o,l,d,f,"corners"))}}},en.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:Ht(4,0),draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i,this.points,o)},intersectLine:function(e,r,n,a,i,o,l,u){return lb(i,o,e,r,n,a,l,u)},checkPoint:function(e,r,n,a,i,o,l,u){var c=a/2,d=i/2;u=u==="auto"?ra(a,i):u,u=Math.min(c,d,u);var f=u*2;return!!(Xr(e,r,this.points,o,l,a,i-f,[0,-1],n)||Xr(e,r,this.points,o,l,a-f,i,[0,-1],n)||ta(e,r,f,f,o-c+u,l-d+u,n)||ta(e,r,f,f,o+c-u,l-d+u,n)||ta(e,r,f,f,o+c-u,l+d-u,n)||ta(e,r,f,f,o-c+u,l+d-u,n))}}},en.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:jc(),points:Ht(4,0),draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i,null,o)},generateCutTrianglePts:function(e,r,n,a,i){var o=i==="auto"?this.cornerLength:i,l=r/2,u=e/2,c=n-u,d=n+u,f=a-l,h=a+l;return{topLeft:[c,f+o,c+o,f,c+o,f+o],topRight:[d-o,f,d,f+o,d-o,f+o],bottomRight:[d,h-o,d-o,h,d-o,h-o],bottomLeft:[c+o,h,c,h-o,c+o,h-o]}},intersectLine:function(e,r,n,a,i,o,l,u){var c=this.generateCutTrianglePts(n+2*l,a+2*l,e,r,u),d=[].concat.apply([],[c.topLeft.splice(0,4),c.topRight.splice(0,4),c.bottomRight.splice(0,4),c.bottomLeft.splice(0,4)]);return ro(i,o,d,e,r)},checkPoint:function(e,r,n,a,i,o,l,u){var c=u==="auto"?this.cornerLength:u;if(Xr(e,r,this.points,o,l,a,i-2*c,[0,-1],n)||Xr(e,r,this.points,o,l,a-2*c,i,[0,-1],n))return!0;var d=this.generateCutTrianglePts(a,i,o,l);return Wt(e,r,d.topLeft)||Wt(e,r,d.topRight)||Wt(e,r,d.bottomRight)||Wt(e,r,d.bottomLeft)}}},en.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:Ht(4,0),draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i)},intersectLine:function(e,r,n,a,i,o,l,u){var c=.15,d=.5,f=.85,h=this.generateBarrelBezierPts(n+2*l,a+2*l,e,r),v=function(m){var y=qa({x:m[0],y:m[1]},{x:m[2],y:m[3]},{x:m[4],y:m[5]},c),b=qa({x:m[0],y:m[1]},{x:m[2],y:m[3]},{x:m[4],y:m[5]},d),w=qa({x:m[0],y:m[1]},{x:m[2],y:m[3]},{x:m[4],y:m[5]},f);return[m[0],m[1],y.x,y.y,b.x,b.y,w.x,w.y,m[4],m[5]]},p=[].concat(v(h.topLeft),v(h.topRight),v(h.bottomRight),v(h.bottomLeft));return ro(i,o,p,e,r)},generateBarrelBezierPts:function(e,r,n,a){var i=r/2,o=e/2,l=n-o,u=n+o,c=a-i,d=a+i,f=Yc(e,r),h=f.heightOffset,v=f.widthOffset,p=f.ctrlPtOffsetPct*e,g={topLeft:[l,c+h,l+p,c,l+v,c],topRight:[u-v,c,u-p,c,u,c+h],bottomRight:[u,d-h,u-p,d,u-v,d],bottomLeft:[l+v,d,l+p,d,l,d-h]};return g.topLeft.isTop=!0,g.topRight.isTop=!0,g.bottomLeft.isBottom=!0,g.bottomRight.isBottom=!0,g},checkPoint:function(e,r,n,a,i,o,l,u){var c=Yc(a,i),d=c.heightOffset,f=c.widthOffset;if(Xr(e,r,this.points,o,l,a,i-2*d,[0,-1],n)||Xr(e,r,this.points,o,l,a-2*f,i,[0,-1],n))return!0;for(var h=this.generateBarrelBezierPts(a,i,o,l),v=function(_,S,T){var N=T[4],B=T[2],O=T[0],D=T[5],L=T[1],A=Math.min(N,O),M=Math.max(N,O),P=Math.min(D,L),z=Math.max(D,L);if(A<=_&&_<=M&&P<=S&&S<=z){var W=U5(N,B,O),H=$5(W[0],W[1],W[2],_),G=H.filter(function(X){return 0<=X&&X<=1});if(G.length>0)return G[0]}return null},p=Object.keys(h),g=0;g<p.length;g++){var m=p[g],y=h[m],b=v(e,r,y);if(b!=null){var w=y[5],C=y[3],x=y[1],k=bt(w,C,x,b);if(y.isTop&&k<=r||y.isBottom&&r<=k)return!0}}return!1}}},en.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:Ht(4,0),draw:function(e,r,n,a,i,o){this.renderer.nodeShapeImpl(this.name,e,r,n,a,i,this.points,o)},intersectLine:function(e,r,n,a,i,o,l,u){var c=e-(n/2+l),d=r-(a/2+l),f=d,h=e+(n/2+l),v=En(i,o,e,r,c,d,h,f,!1);return v.length>0?v:lb(i,o,e,r,n,a,l,u)},checkPoint:function(e,r,n,a,i,o,l,u){u=u==="auto"?ra(a,i):u;var c=2*u;if(Xr(e,r,this.points,o,l,a,i-c,[0,-1],n)||Xr(e,r,this.points,o,l,a-c,i,[0,-1],n))return!0;var d=a/2+2*n,f=i/2+2*n,h=[o-d,l-f,o-d,l,o+d,l,o+d,l-f];return!!(Wt(e,r,h)||ta(e,r,c,c,o+a/2-u,l+i/2-u,n)||ta(e,r,c,c,o-a/2+u,l+i/2-u,n))}}},en.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",Ht(3,0)),this.generateRoundPolygon("round-triangle",Ht(3,0)),this.generatePolygon("rectangle",Ht(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",Ht(5,0)),this.generateRoundPolygon("round-pentagon",Ht(5,0)),this.generatePolygon("hexagon",Ht(6,0)),this.generateRoundPolygon("round-hexagon",Ht(6,0)),this.generatePolygon("heptagon",Ht(7,0)),this.generateRoundPolygon("round-heptagon",Ht(7,0)),this.generatePolygon("octagon",Ht(8,0)),this.generateRoundPolygon("round-octagon",Ht(8,0));var n=new Array(20);{var a=Wc(5,0),i=Wc(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var l=0;l<i.length/2;l++)i[l*2]*=o,i[l*2+1]*=o;for(var l=0;l<20/4;l++)n[l*4]=a[l*2],n[l*4+1]=a[l*2+1],n[l*4+2]=i[l*2],n[l*4+3]=i[l*2+1]}n=cb(n),this.generatePolygon("star",n),this.generatePolygon("vee",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,.333,-1,1,1,-.333,1]),this.generatePolygon("right-rhomboid",[-.333,-1,1,-1,.333,1,-1,1]),this.nodeShapes.concavehexagon=this.generatePolygon("concave-hexagon",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]);{var u=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",u),this.generateRoundPolygon("round-tag",u)}t.makePolygon=function(c){var d=c.join("$"),f="polygon-"+d,h;return(h=this[f])?h:e.generatePolygon(f,c)}};var yo={};yo.timeToRender=function(){return this.redrawTotalTime/this.redrawCount},yo.redraw=function(t){t=t||tb();var e=this;e.averageRedrawTime===void 0&&(e.averageRedrawTime=0),e.lastRedrawTime===void 0&&(e.lastRedrawTime=0),e.lastDrawTime===void 0&&(e.lastDrawTime=0),e.requestedFrame=!0,e.renderOptions=t},yo.beforeRender=function(t,e){if(!this.destroyed){e==null&&Qe("Priority is not optional for beforeRender");var r=this.beforeRenderCallbacks;r.push({fn:t,priority:e}),r.sort(function(n,a){return a.priority-n.priority})}};var rw=function(e,r,n){for(var a=e.beforeRenderCallbacks,i=0;i<a.length;i++)a[i].fn(r,n)};yo.startRenderLoop=function(){var t=this,e=t.cy;if(!t.renderLoopStarted){t.renderLoopStarted=!0;var r=function n(a){if(!t.destroyed){if(!e.batching())if(t.requestedFrame&&!t.skipFrame){rw(t,!0,a);var i=Zr();t.render(t.renderOptions);var o=t.lastDrawTime=Zr();t.averageRedrawTime===void 0&&(t.averageRedrawTime=o-i),t.redrawCount===void 0&&(t.redrawCount=0),t.redrawCount++,t.redrawTotalTime===void 0&&(t.redrawTotalTime=0);var l=o-i;t.redrawTotalTime+=l,t.lastRedrawTime=l,t.averageRedrawTime=t.averageRedrawTime/2+l/2,t.requestedFrame=!1}else rw(t,!1,a);t.skipFrame=!1,ms(n)}};ms(r)}};var S4=function(e){this.init(e)},nw=S4,oi=nw.prototype;oi.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"],oi.init=function(t){var e=this;e.options=t,e.cy=t.cy;var r=e.container=t.cy.container(),n=e.cy.window();if(n){var a=n.document,i=a.head,o="__________cytoscape_stylesheet",l="__________cytoscape_container",u=a.getElementById(o)!=null;if(r.className.indexOf(l)<0&&(r.className=(r.className||"")+" "+l),!u){var c=a.createElement("style");c.id=o,c.textContent="."+l+" { position: relative; }",i.insertBefore(c,i.children[0])}var d=n.getComputedStyle(r),f=d.getPropertyValue("position");f==="static"&&$e("A Cytoscape container has style position:static and so can not use UI extensions properly")}e.selection=[void 0,void 0,void 0,void 0,0],e.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],e.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},e.dragData={possibleDragElements:[]},e.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},e.redraws=0,e.showFps=t.showFps,e.debug=t.debug,e.hideEdgesOnViewport=t.hideEdgesOnViewport,e.textureOnViewport=t.textureOnViewport,e.wheelSensitivity=t.wheelSensitivity,e.motionBlurEnabled=t.motionBlur,e.forcedPixelRatio=de(t.pixelRatio)?t.pixelRatio:null,e.motionBlur=t.motionBlur,e.motionBlurOpacity=t.motionBlurOpacity,e.motionBlurTransparency=1-e.motionBlurOpacity,e.motionBlurPxRatio=1,e.mbPxRBlurry=1,e.minMbLowQualFrames=4,e.fullQualityMb=!1,e.clearedForMotionBlur=[],e.desktopTapThreshold=t.desktopTapThreshold,e.desktopTapThreshold2=t.desktopTapThreshold*t.desktopTapThreshold,e.touchTapThreshold=t.touchTapThreshold,e.touchTapThreshold2=t.touchTapThreshold*t.touchTapThreshold,e.tapholdDuration=500,e.bindings=[],e.beforeRenderCallbacks=[],e.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},e.registerNodeShapes(),e.registerArrowShapes(),e.registerCalculationListeners()},oi.notify=function(t,e){var r=this,n=r.cy;if(!this.destroyed){if(t==="init"){r.load();return}if(t==="destroy"){r.destroy();return}(t==="add"||t==="remove"||t==="move"&&n.hasCompoundNodes()||t==="load"||t==="zorder"||t==="mount")&&r.invalidateCachedZSortedEles(),t==="viewport"&&r.redrawHint("select",!0),(t==="load"||t==="resize"||t==="mount")&&(r.invalidateContainerClientCoordsCache(),r.matchCanvasSize(r.container)),r.redrawHint("eles",!0),r.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()}},oi.destroy=function(){var t=this;t.destroyed=!0,t.cy.stopAnimationLoop();for(var e=0;e<t.bindings.length;e++){var r=t.bindings[e],n=r,a=n.target;(a.off||a.removeEventListener).apply(a,n.args)}if(t.bindings=[],t.beforeRenderCallbacks=[],t.onUpdateEleCalcsFns=[],t.removeObserver&&t.removeObserver.disconnect(),t.styleObserver&&t.styleObserver.disconnect(),t.resizeObserver&&t.resizeObserver.disconnect(),t.labelCalcDiv)try{document.body.removeChild(t.labelCalcDiv)}catch{}},oi.isHeadless=function(){return!1},[yu,ew,tw,ii,en,yo].forEach(function(t){Te(oi,t)});var Su=1e3/60,aw={setupDequeueing:function(e){return function(){var n=this,a=this.renderer;if(!n.dequeueingSetup){n.dequeueingSetup=!0;var i=gs(function(){a.redrawHint("eles",!0),a.redrawHint("drag",!0),a.redraw()},e.deqRedrawThreshold),o=function(c,d){var f=Zr(),h=a.averageRedrawTime,v=a.lastRedrawTime,p=[],g=a.cy.extent(),m=a.getPixelRatio();for(c||a.flushRenderedStyleQueue();;){var y=Zr(),b=y-f,w=y-d;if(v<Su){var C=Su-(c?h:0);if(w>=e.deqFastCost*C)break}else if(c){if(b>=e.deqCost*v||b>=e.deqAvgCost*h)break}else if(w>=e.deqNoDrawCost*Su)break;var x=e.deq(n,m,g);if(x.length>0)for(var k=0;k<x.length;k++)p.push(x[k]);else break}p.length>0&&(e.onDeqd(n,p),!c&&e.shouldRedraw(n,p,m,g)&&i())},l=e.priority||qc;a.beforeRender(o,l(n))}}}},_4=function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:bs;Pc(this,t),this.idsByKey=new Ir,this.keyForId=new Ir,this.cachesByLvl=new Ir,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return Lc(t,[{key:"getIdsFor",value:function(r){r==null&&Qe("Can not get id list for null key");var n=this.idsByKey,a=this.idsByKey.get(r);return a||(a=new $a,n.set(r,a)),a}},{key:"addIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).add(n)}},{key:"deleteIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).delete(n)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var n=r.id(),a=this.keyForId.get(n),i=this.getKey(r);this.deleteIdForKey(a,n),this.addIdForKey(i,n),this.keyForId.set(n,i)}},{key:"deleteKeyMappingFor",value:function(r){var n=r.id(),a=this.keyForId.get(n);this.deleteIdForKey(a,n),this.keyForId.delete(n)}},{key:"keyHasChangedFor",value:function(r){var n=r.id(),a=this.keyForId.get(n),i=this.getKey(r);return a!==i}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var n=this.cachesByLvl,a=this.lvls,i=n.get(r);return i||(i=new Ir,n.set(r,i),a.push(r)),i}},{key:"getCache",value:function(r,n){return this.getCachesAt(n).get(r)}},{key:"get",value:function(r,n){var a=this.getKey(r),i=this.getCache(a,n);return i!=null&&this.updateKeyMappingFor(r),i}},{key:"getForCachedKey",value:function(r,n){var a=this.keyForId.get(r.id()),i=this.getCache(a,n);return i}},{key:"hasCache",value:function(r,n){return this.getCachesAt(n).has(r)}},{key:"has",value:function(r,n){var a=this.getKey(r);return this.hasCache(a,n)}},{key:"setCache",value:function(r,n,a){a.key=r,this.getCachesAt(n).set(r,a)}},{key:"set",value:function(r,n,a){var i=this.getKey(r);this.setCache(i,n,a),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,n){this.getCachesAt(n).delete(r)}},{key:"delete",value:function(r,n){var a=this.getKey(r);this.deleteCache(a,n)}},{key:"invalidateKey",value:function(r){var n=this;this.lvls.forEach(function(a){return n.deleteCache(r,a)})}},{key:"invalidate",value:function(r){var n=r.id(),a=this.keyForId.get(n);this.deleteKeyMappingFor(r);var i=this.doesEleInvalidateKey(r);return i&&this.invalidateKey(a),i||this.getNumberOfIdsForKey(a)===0}}]),t}(),iw=25,ol=50,sl=-4,_u=3,T4=7.99,N4=8,I4=1024,B4=1024,D4=1024,O4=.2,A4=.8,P4=10,L4=.15,R4=.1,M4=.9,F4=.9,$4=100,V4=1,si={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},q4=St({getKey:null,doesEleInvalidateKey:bs,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:X0,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),bo=function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var a=q4(r);Te(n,a),n.lookup=new _4(a.getKey,a.doesEleInvalidateKey),n.setupDequeueing()},gt=bo.prototype;gt.reasons=si,gt.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]},gt.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n},gt.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new Qi(function(r,n){return n.reqs-r.reqs});return e},gt.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e},gt.getElement=function(t,e,r,n,a){var i=this,o=this.renderer,l=o.cy.zoom(),u=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!i.allowEdgeTxrCaching&&t.isEdge()||!i.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(Kc(l*r))),n<sl)n=sl;else if(l>=T4||n>_u)return null;var c=Math.pow(2,n),d=e.h*c,f=e.w*c,h=o.eleTextBiggerThanMin(t,c);if(!this.isVisible(t,h))return null;var v=u.get(t,n);if(v&&v.invalidated&&(v.invalidated=!1,v.texture.invalidatedWidth-=v.width),v)return v;var p;if(d<=iw?p=iw:d<=ol?p=ol:p=Math.ceil(d/ol)*ol,d>D4||f>B4)return null;var g=i.getTextureQueue(p),m=g[g.length-2],y=function(){return i.recycleTexture(p,f)||i.addTexture(p,f)};m||(m=g[g.length-1]),m||(m=y()),m.width-m.usedWidth<f&&(m=y());for(var b=function(A){return A&&A.scaledLabelShown===h},w=a&&a===si.dequeue,C=a&&a===si.highQuality,x=a&&a===si.downscale,k,E=n+1;E<=_u;E++){var _=u.get(t,E);if(_){k=_;break}}var S=k&&k.level===n+1?k:null,T=function(){m.context.drawImage(S.texture.canvas,S.x,0,S.width,S.height,m.usedWidth,0,f,d)};if(m.context.setTransform(1,0,0,1,0,0),m.context.clearRect(m.usedWidth,0,f,p),b(S))T();else if(b(k))if(C){for(var N=k.level;N>n;N--)S=i.getElement(t,e,r,N,si.downscale);T()}else return i.queueElement(t,k.level-1),k;else{var B;if(!w&&!C&&!x)for(var O=n-1;O>=sl;O--){var D=u.get(t,O);if(D){B=D;break}}if(b(B))return i.queueElement(t,n),B;m.context.translate(m.usedWidth,0),m.context.scale(c,c),this.drawElement(m.context,t,e,h,!1),m.context.scale(1/c,1/c),m.context.translate(-m.usedWidth,0)}return v={x:m.usedWidth,texture:m,level:n,scale:c,width:f,height:d,scaledLabelShown:h},m.usedWidth+=Math.ceil(f+N4),m.eleCaches.push(v),u.set(t,n,v),i.checkTextureFullness(m),v},gt.invalidateElements=function(t){for(var e=0;e<t.length;e++)this.invalidateElement(t[e])},gt.invalidateElement=function(t){var e=this,r=e.lookup,n=[],a=r.isInvalid(t);if(a){for(var i=sl;i<=_u;i++){var o=r.getForCachedKey(t,i);o&&n.push(o)}var l=r.invalidate(t);if(l)for(var u=0;u<n.length;u++){var c=n[u],d=c.texture;d.invalidatedWidth+=c.width,c.invalidated=!0,e.checkTextureUtility(d)}e.removeFromQueue(t)}},gt.checkTextureUtility=function(t){t.invalidatedWidth>=O4*t.width&&this.retireTexture(t)},gt.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>A4&&t.fullnessChecks>=P4?wn(r,t):t.fullnessChecks++},gt.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),a=this.lookup;wn(n,t),t.retired=!0;for(var i=t.eleCaches,o=0;o<i.length;o++){var l=i[o];a.deleteCache(l.key,l.level)}zc(i);var u=e.getRetiredTextureQueue(r);u.push(t)},gt.addTexture=function(t,e){var r=this,n=r.getTextureQueue(t),a={};return n.push(a),a.eleCaches=[],a.height=t,a.width=Math.max(I4,e),a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,a.canvas=r.renderer.makeOffscreenCanvas(a.width,a.height),a.context=a.canvas.getContext("2d"),a},gt.recycleTexture=function(t,e){for(var r=this,n=r.getTextureQueue(t),a=r.getRetiredTextureQueue(t),i=0;i<a.length;i++){var o=a[i];if(o.width>=e)return o.retired=!1,o.usedWidth=0,o.invalidatedWidth=0,o.fullnessChecks=0,zc(o.eleCaches),o.context.setTransform(1,0,0,1,0,0),o.context.clearRect(0,0,o.width,o.height),wn(a,o),n.push(o),o}},gt.queueElement=function(t,e){var r=this,n=r.getElementQueue(),a=r.getElementKeyToQueue(),i=this.getKey(t),o=a[i];if(o)o.level=Math.max(o.level,e),o.eles.merge(t),o.reqs++,n.updateItem(o);else{var l={eles:t.spawn().merge(t),level:e,reqs:1,key:i};n.push(l),a[i]=l}},gt.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),a=[],i=e.lookup,o=0;o<V4&&r.size()>0;o++){var l=r.pop(),u=l.key,c=l.eles[0],d=i.hasCache(c,l.level);if(n[u]=null,d)continue;a.push(l);var f=e.getBoundingBox(c);e.getElement(c,f,t,l.level,si.dequeue)}return a},gt.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),a=this.getKey(t),i=n[a];i!=null&&(i.eles.length===1?(i.reqs=Vc,r.updateItem(i),r.pop(),n[a]=null):i.eles.unmerge(t))},gt.onDequeue=function(t){this.onDequeues.push(t)},gt.offDequeue=function(t){wn(this.onDequeues,t)},gt.setupDequeueing=aw.setupDequeueing({deqRedrawThreshold:$4,deqCost:L4,deqAvgCost:R4,deqNoDrawCost:M4,deqFastCost:F4,deq:function(e,r,n){return e.dequeue(r,n)},onDeqd:function(e,r){for(var n=0;n<e.onDequeues.length;n++){var a=e.onDequeues[n];a(r)}},shouldRedraw:function(e,r,n,a){for(var i=0;i<r.length;i++)for(var o=r[i].eles,l=0;l<o.length;l++){var u=o[l].boundingBox();if(Gc(u,a))return!0}return!1},priority:function(e){return e.renderer.beforeRenderPriorities.eleTxrDeq}});var z4=1,wo=-4,ll=2,H4=3.99,K4=50,G4=50,U4=.15,W4=.1,j4=.9,Y4=.9,Z4=1,ow=250,X4=4e3*4e3,J4=!0,sw=function(e){var r=this,n=r.renderer=e,a=n.cy;r.layersByLevel={},r.firstGet=!0,r.lastInvalidationTime=Zr()-2*ow,r.skipping=!1,r.eleTxrDeqs=a.collection(),r.scheduleElementRefinement=gs(function(){r.refineElementTextures(r.eleTxrDeqs),r.eleTxrDeqs.unmerge(r.eleTxrDeqs)},G4),n.beforeRender(function(o,l){l-r.lastInvalidationTime<=ow?r.skipping=!0:r.skipping=!1},n.beforeRenderPriorities.lyrTxrSkip);var i=function(l,u){return u.reqs-l.reqs};r.layersQueue=new Qi(i),r.setupDequeueing()},It=sw.prototype,lw=0,Q4=Math.pow(2,53)-1;It.makeLayer=function(t,e){var r=Math.pow(2,e),n=Math.ceil(t.w*r),a=Math.ceil(t.h*r),i=this.renderer.makeOffscreenCanvas(n,a),o={id:lw=++lw%Q4,bb:t,level:e,width:n,height:a,canvas:i,context:i.getContext("2d"),eles:[],elesQueue:[],reqs:0},l=o.context,u=-o.bb.x1,c=-o.bb.y1;return l.scale(r,r),l.translate(u,c),o},It.getLayers=function(t,e,r){var n=this,a=n.renderer,i=a.cy,o=i.zoom(),l=n.firstGet;if(n.firstGet=!1,r==null){if(r=Math.ceil(Kc(o*e)),r<wo)r=wo;else if(o>=H4||r>ll)return null}n.validateLayersElesOrdering(r,t);var u=n.layersByLevel,c=Math.pow(2,r),d=u[r]=u[r]||[],f,h=n.levelIsComplete(r,t),v,p=function(){var T=function(L){if(n.validateLayersElesOrdering(L,t),n.levelIsComplete(L,t))return v=u[L],!0},N=function(L){if(!v)for(var A=r+L;wo<=A&&A<=ll&&!T(A);A+=L);};N(1),N(-1);for(var B=d.length-1;B>=0;B--){var O=d[B];O.invalid&&wn(d,O)}};if(!h)p();else return d;var g=function(){if(!f){f=Ut();for(var T=0;T<t.length;T++)ib(f,t[T].boundingBox())}return f},m=function(T){T=T||{};var N=T.after;g();var B=f.w*c*(f.h*c);if(B>X4)return null;var O=n.makeLayer(f,r);if(N!=null){var D=d.indexOf(N)+1;d.splice(D,0,O)}else(T.insert===void 0||T.insert)&&d.unshift(O);return O};if(n.skipping&&!l)return null;for(var y=null,b=t.length/z4,w=!l,C=0;C<t.length;C++){var x=t[C],k=x._private.rscratch,E=k.imgLayerCaches=k.imgLayerCaches||{},_=E[r];if(_){y=_;continue}if((!y||y.eles.length>=b||!sb(y.bb,x.boundingBox()))&&(y=m({insert:!0,after:y}),!y))return null;v||w?n.queueLayer(y,x):n.drawEleInLayer(y,x,r,e),y.eles.push(x),E[r]=y}return v||(w?null:d)},It.getEleLevelForLayerLevel=function(t,e){return t},It.drawEleInLayer=function(t,e,r,n){var a=this,i=this.renderer,o=t.context,l=e.boundingBox();l.w===0||l.h===0||!e.visible()||(r=a.getEleLevelForLayerLevel(r,n),i.setImgSmoothing(o,!1),i.drawCachedElement(o,e,null,null,r,J4),i.setImgSmoothing(o,!0))},It.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var a=0,i=0;i<n.length;i++){var o=n[i];if(o.reqs>0||o.invalid)return!1;a+=o.eles.length}return a===e.length},It.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n<r.length;n++){for(var a=r[n],i=-1,o=0;o<e.length;o++)if(a.eles[0]===e[o]){i=o;break}if(i<0){this.invalidateLayer(a);continue}for(var l=i,o=0;o<a.eles.length;o++)if(a.eles[o]!==e[l+o]){this.invalidateLayer(a);break}}},It.updateElementsInLayers=function(t,e){for(var r=this,n=Ki(t[0]),a=0;a<t.length;a++)for(var i=n?null:t[a],o=n?t[a]:t[a].ele,l=o._private.rscratch,u=l.imgLayerCaches=l.imgLayerCaches||{},c=wo;c<=ll;c++){var d=u[c];d&&(i&&r.getEleLevelForLayerLevel(d.level)!==i.level||e(d,o,i))}},It.haveLayers=function(){for(var t=this,e=!1,r=wo;r<=ll;r++){var n=t.layersByLevel[r];if(n&&n.length>0){e=!0;break}}return e},It.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Zr(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(n,a,i){e.invalidateLayer(n)}))},It.invalidateLayer=function(t){if(this.lastInvalidationTime=Zr(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];wn(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var a=0;a<r.length;a++){var i=r[a]._private.rscratch.imgLayerCaches;i&&(i[e]=null)}}},It.refineElementTextures=function(t){var e=this;e.updateElementsInLayers(t,function(n,a,i){var o=n.replacement;if(o||(o=n.replacement=e.makeLayer(n.bb,n.level),o.replaces=n,o.eles=n.eles),!o.reqs)for(var l=0;l<o.eles.length;l++)e.queueLayer(o,o.eles[l])})},It.enqueueElementRefinement=function(t){this.eleTxrDeqs.merge(t),this.scheduleElementRefinement()},It.queueLayer=function(t,e){var r=this,n=r.layersQueue,a=t.elesQueue,i=a.hasId=a.hasId||{};if(!t.replacement){if(e){if(i[e.id()])return;a.push(e),i[e.id()]=!0}t.reqs?(t.reqs++,n.updateItem(t)):(t.reqs=1,n.push(t))}},It.dequeue=function(t){for(var e=this,r=e.layersQueue,n=[],a=0;a<Z4&&r.size()!==0;){var i=r.peek();if(i.replacement){r.pop();continue}if(i.replaces&&i!==i.replaces.replacement){r.pop();continue}if(i.invalid){r.pop();continue}var o=i.elesQueue.shift();o&&(e.drawEleInLayer(i,o,i.level,t),a++),n.length===0&&n.push(!0),i.elesQueue.length===0&&(r.pop(),i.reqs=0,i.replaces&&e.applyLayerReplacement(i),e.requestRedraw())}return n},It.applyLayerReplacement=function(t){var e=this,r=e.layersByLevel[t.level],n=t.replaces,a=r.indexOf(n);if(!(a<0||n.invalid)){r[a]=t;for(var i=0;i<t.eles.length;i++){var o=t.eles[i]._private,l=o.imgLayerCaches=o.imgLayerCaches||{};l&&(l[t.level]=t)}e.requestRedraw()}},It.requestRedraw=gs(function(){var t=this.renderer;t.redrawHint("eles",!0),t.redrawHint("drag",!0),t.redraw()},100),It.setupDequeueing=aw.setupDequeueing({deqRedrawThreshold:K4,deqCost:U4,deqAvgCost:W4,deqNoDrawCost:j4,deqFastCost:Y4,deq:function(e,r){return e.dequeue(r)},onDeqd:qc,shouldRedraw:X0,priority:function(e){return e.renderer.beforeRenderPriorities.lyrTxrDeq}});var cw={},uw;function e3(t,e){for(var r=0;r<e.length;r++){var n=e[r];t.lineTo(n.x,n.y)}}function t3(t,e,r){for(var n,a=0;a<e.length;a++){var i=e[a];a===0&&(n=i),t.lineTo(i.x,i.y)}t.quadraticCurveTo(r.x,r.y,n.x,n.y)}function dw(t,e,r){t.beginPath&&t.beginPath();for(var n=e,a=0;a<n.length;a++){var i=n[a];t.lineTo(i.x,i.y)}var o=r,l=r[0];t.moveTo(l.x,l.y);for(var a=1;a<o.length;a++){var i=o[a];t.lineTo(i.x,i.y)}t.closePath&&t.closePath()}function r3(t,e,r,n,a){t.beginPath&&t.beginPath(),t.arc(r,n,a,0,Math.PI*2,!1);var i=e,o=i[0];t.moveTo(o.x,o.y);for(var l=0;l<i.length;l++){var u=i[l];t.lineTo(u.x,u.y)}t.closePath&&t.closePath()}function n3(t,e,r,n){t.arc(e,r,n,0,Math.PI*2,!1)}cw.arrowShapeImpl=function(t){return(uw||(uw={polygon:e3,"triangle-backcurve":t3,"triangle-tee":dw,"circle-triangle":r3,"triangle-cross":dw,circle:n3}))[t]};var Pr={};Pr.drawElement=function(t,e,r,n,a,i){var o=this;e.isNode()?o.drawNode(t,e,r,n,a,i):o.drawEdge(t,e,r,n,a,i)},Pr.drawElementOverlay=function(t,e){var r=this;e.isNode()?r.drawNodeOverlay(t,e):r.drawEdgeOverlay(t,e)},Pr.drawElementUnderlay=function(t,e){var r=this;e.isNode()?r.drawNodeUnderlay(t,e):r.drawEdgeUnderlay(t,e)},Pr.drawCachedElementPortion=function(t,e,r,n,a,i,o,l){var u=this,c=r.getBoundingBox(e);if(!(c.w===0||c.h===0)){var d=r.getElement(e,c,n,a,i);if(d!=null){var f=l(u,e);if(f===0)return;var h=o(u,e),v=c.x1,p=c.y1,g=c.w,m=c.h,y,b,w,C,x;if(h!==0){var k=r.getRotationPoint(e);w=k.x,C=k.y,t.translate(w,C),t.rotate(h),x=u.getImgSmoothing(t),x||u.setImgSmoothing(t,!0);var E=r.getRotationOffset(e);y=E.x,b=E.y}else y=v,b=p;var _;f!==1&&(_=t.globalAlpha,t.globalAlpha=_*f),t.drawImage(d.texture.canvas,d.x,0,d.width,d.height,y,b,g,m),f!==1&&(t.globalAlpha=_),h!==0&&(t.rotate(-h),t.translate(-w,-C),x||u.setImgSmoothing(t,!1))}else r.drawElement(t,e)}};var a3=function(){return 0},i3=function(e,r){return e.getTextAngle(r,null)},o3=function(e,r){return e.getTextAngle(r,"source")},s3=function(e,r){return e.getTextAngle(r,"target")},l3=function(e,r){return r.effectiveOpacity()},Tu=function(e,r){return r.pstyle("text-opacity").pfValue*r.effectiveOpacity()};Pr.drawCachedElement=function(t,e,r,n,a,i){var o=this,l=o.data,u=l.eleTxrCache,c=l.lblTxrCache,d=l.slbTxrCache,f=l.tlbTxrCache,h=e.boundingBox(),v=i===!0?u.reasons.highQuality:null;if(!(h.w===0||h.h===0||!e.visible())&&(!n||Gc(h,n))){var p=e.isEdge(),g=e.element()._private.rscratch.badLine;o.drawElementUnderlay(t,e),o.drawCachedElementPortion(t,e,u,r,a,v,a3,l3),(!p||!g)&&o.drawCachedElementPortion(t,e,c,r,a,v,i3,Tu),p&&!g&&(o.drawCachedElementPortion(t,e,d,r,a,v,o3,Tu),o.drawCachedElementPortion(t,e,f,r,a,v,s3,Tu)),o.drawElementOverlay(t,e)}},Pr.drawElements=function(t,e){for(var r=this,n=0;n<e.length;n++){var a=e[n];r.drawElement(t,a)}},Pr.drawCachedElements=function(t,e,r,n){for(var a=this,i=0;i<e.length;i++){var o=e[i];a.drawCachedElement(t,o,r,n)}},Pr.drawCachedNodes=function(t,e,r,n){for(var a=this,i=0;i<e.length;i++){var o=e[i];o.isNode()&&a.drawCachedElement(t,o,r,n)}},Pr.drawLayeredElements=function(t,e,r,n){var a=this,i=a.data.lyrTxrCache.getLayers(e,r);if(i)for(var o=0;o<i.length;o++){var l=i[o],u=l.bb;u.w===0||u.h===0||t.drawImage(l.canvas,u.x1,u.y1,u.w,u.h)}else a.drawCachedElements(t,e,r,n)};var tn={};tn.drawEdge=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this,l=e._private.rscratch;if(!(i&&!e.visible())&&!(l.badLine||l.allpts==null||isNaN(l.allpts[0]))){var u;r&&(u=r,t.translate(-u.x1,-u.y1));var c=i?e.pstyle("opacity").value:1,d=i?e.pstyle("line-opacity").value:1,f=e.pstyle("curve-style").value,h=e.pstyle("line-style").value,v=e.pstyle("width").pfValue,p=e.pstyle("line-cap").value,g=e.pstyle("line-outline-width").value,m=e.pstyle("line-outline-color").value,y=c*d,b=c*d,w=function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:y;f==="straight-triangle"?(o.eleStrokeStyle(t,e,L),o.drawEdgeTrianglePath(e,t,l.allpts)):(t.lineWidth=v,t.lineCap=p,o.eleStrokeStyle(t,e,L),o.drawEdgePath(e,t,l.allpts,h),t.lineCap="butt")},C=function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:y;if(t.lineWidth=v+g,t.lineCap=p,g>0)o.colorStrokeStyle(t,m[0],m[1],m[2],L);else{t.lineCap="butt";return}f==="straight-triangle"?o.drawEdgeTrianglePath(e,t,l.allpts):(o.drawEdgePath(e,t,l.allpts,h),t.lineCap="butt")},x=function(){a&&o.drawEdgeOverlay(t,e)},k=function(){a&&o.drawEdgeUnderlay(t,e)},E=function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b;o.drawArrowheads(t,e,L)},_=function(){o.drawElementText(t,e,null,n)};t.lineJoin="round";var S=e.pstyle("ghost").value==="yes";if(S){var T=e.pstyle("ghost-offset-x").pfValue,N=e.pstyle("ghost-offset-y").pfValue,B=e.pstyle("ghost-opacity").value,O=y*B;t.translate(T,N),w(O),E(O),t.translate(-T,-N)}else C();k(),w(),E(),x(),_(),r&&t.translate(u.x1,u.y1)}};var fw=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var a=n.pstyle("".concat(e,"-opacity")).value;if(a!==0){var i=this,o=i.usePaths(),l=n._private.rscratch,u=n.pstyle("".concat(e,"-padding")).pfValue,c=2*u,d=n.pstyle("".concat(e,"-color")).value;r.lineWidth=c,l.edgeType==="self"&&!o?r.lineCap="butt":r.lineCap="round",i.colorStrokeStyle(r,d[0],d[1],d[2],a),i.drawEdgePath(n,r,l.allpts,"solid")}}}};tn.drawEdgeOverlay=fw("overlay"),tn.drawEdgeUnderlay=fw("underlay"),tn.drawEdgePath=function(t,e,r,n){var a=t._private.rscratch,i=e,o,l=!1,u=this.usePaths(),c=t.pstyle("line-dash-pattern").pfValue,d=t.pstyle("line-dash-offset").pfValue;if(u){var f=r.join("$"),h=a.pathCacheKey&&a.pathCacheKey===f;h?(o=e=a.pathCache,l=!0):(o=e=new Path2D,a.pathCacheKey=f,a.pathCache=o)}if(i.setLineDash)switch(n){case"dotted":i.setLineDash([1,1]);break;case"dashed":i.setLineDash(c),i.lineDashOffset=d;break;case"solid":i.setLineDash([]);break}if(!l&&!a.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var v=2;v+3<r.length;v+=4)e.quadraticCurveTo(r[v],r[v+1],r[v+2],r[v+3]);break;case"straight":case"haystack":for(var p=2;p+1<r.length;p+=2)e.lineTo(r[p],r[p+1]);break;case"segments":if(a.isRound){var g=D0(a.roundCorners),m;try{for(g.s();!(m=g.n()).done;){var y=m.value;W1(e,y)}}catch(w){g.e(w)}finally{g.f()}e.lineTo(r[r.length-2],r[r.length-1])}else for(var b=2;b+1<r.length;b+=2)e.lineTo(r[b],r[b+1]);break}e=i,u?e.stroke(o):e.stroke(),e.setLineDash&&e.setLineDash([])},tn.drawEdgeTrianglePath=function(t,e,r){e.fillStyle=e.strokeStyle;for(var n=t.pstyle("width").pfValue,a=0;a+1<r.length;a+=2){var i=[r[a+2]-r[a],r[a+3]-r[a+1]],o=Math.sqrt(i[0]*i[0]+i[1]*i[1]),l=[i[1]/o,-i[0]/o],u=[l[0]*n/2,l[1]*n/2];e.beginPath(),e.moveTo(r[a]-u[0],r[a+1]-u[1]),e.lineTo(r[a]+u[0],r[a+1]+u[1]),e.lineTo(r[a+2],r[a+3]),e.closePath(),e.fill()}},tn.drawArrowheads=function(t,e,r){var n=e._private.rscratch,a=n.edgeType==="haystack";a||this.drawArrowhead(t,e,"source",n.arrowStartX,n.arrowStartY,n.srcArrowAngle,r),this.drawArrowhead(t,e,"mid-target",n.midX,n.midY,n.midtgtArrowAngle,r),this.drawArrowhead(t,e,"mid-source",n.midX,n.midY,n.midsrcArrowAngle,r),a||this.drawArrowhead(t,e,"target",n.arrowEndX,n.arrowEndY,n.tgtArrowAngle,r)},tn.drawArrowhead=function(t,e,r,n,a,i,o){if(!(isNaN(n)||n==null||isNaN(a)||a==null||isNaN(i)||i==null)){var l=this,u=e.pstyle(r+"-arrow-shape").value;if(u!=="none"){var c=e.pstyle(r+"-arrow-fill").value==="hollow"?"both":"filled",d=e.pstyle(r+"-arrow-fill").value,f=e.pstyle("width").pfValue,h=e.pstyle(r+"-arrow-width"),v=h.value==="match-line"?f:h.pfValue;h.units==="%"&&(v*=f);var p=e.pstyle("opacity").value;o===void 0&&(o=p);var g=t.globalCompositeOperation;(o!==1||d==="hollow")&&(t.globalCompositeOperation="destination-out",l.colorFillStyle(t,255,255,255,1),l.colorStrokeStyle(t,255,255,255,1),l.drawArrowShape(e,t,c,f,u,v,n,a,i),t.globalCompositeOperation=g);var m=e.pstyle(r+"-arrow-color").value;l.colorFillStyle(t,m[0],m[1],m[2],o),l.colorStrokeStyle(t,m[0],m[1],m[2],o),l.drawArrowShape(e,t,d,f,u,v,n,a,i)}}},tn.drawArrowShape=function(t,e,r,n,a,i,o,l,u){var c=this,d=this.usePaths()&&a!=="triangle-cross",f=!1,h,v=e,p={x:o,y:l},g=t.pstyle("arrow-scale").value,m=this.getArrowWidth(n,g),y=c.arrowShapes[a];if(d){var b=c.arrowPathCache=c.arrowPathCache||[],w=Jn(a),C=b[w];C!=null?(h=e=C,f=!0):(h=e=new Path2D,b[w]=h)}f||(e.beginPath&&e.beginPath(),d?y.draw(e,1,0,{x:0,y:0},1):y.draw(e,m,u,p,n),e.closePath&&e.closePath()),e=v,d&&(e.translate(o,l),e.rotate(u),e.scale(m,m)),(r==="filled"||r==="both")&&(d?e.fill(h):e.fill()),(r==="hollow"||r==="both")&&(e.lineWidth=i/(d?m:1),e.lineJoin="miter",d?e.stroke(h):e.stroke()),d&&(e.scale(1/m,1/m),e.rotate(-u),e.translate(-o,-l))};var Nu={};Nu.safeDrawImage=function(t,e,r,n,a,i,o,l,u,c){if(!(a<=0||i<=0||u<=0||c<=0))try{t.drawImage(e,r,n,a,i,o,l,u,c)}catch(d){$e(d)}},Nu.drawInscribedImage=function(t,e,r,n,a){var i=this,o=r.position(),l=o.x,u=o.y,c=r.cy().style(),d=c.getIndexedStyle.bind(c),f=d(r,"background-fit","value",n),h=d(r,"background-repeat","value",n),v=r.width(),p=r.height(),g=r.padding()*2,m=v+(d(r,"background-width-relative-to","value",n)==="inner"?0:g),y=p+(d(r,"background-height-relative-to","value",n)==="inner"?0:g),b=r._private.rscratch,w=d(r,"background-clip","value",n),C=w==="node",x=d(r,"background-image-opacity","value",n)*a,k=d(r,"background-image-smoothing","value",n),E=r.pstyle("corner-radius").value;E!=="auto"&&(E=r.pstyle("corner-radius").pfValue);var _=e.width||e.cachedW,S=e.height||e.cachedH;(_==null||S==null)&&(document.body.appendChild(e),_=e.cachedW=e.width||e.offsetWidth,S=e.cachedH=e.height||e.offsetHeight,document.body.removeChild(e));var T=_,N=S;if(d(r,"background-width","value",n)!=="auto"&&(d(r,"background-width","units",n)==="%"?T=d(r,"background-width","pfValue",n)*m:T=d(r,"background-width","pfValue",n)),d(r,"background-height","value",n)!=="auto"&&(d(r,"background-height","units",n)==="%"?N=d(r,"background-height","pfValue",n)*y:N=d(r,"background-height","pfValue",n)),!(T===0||N===0)){if(f==="contain"){var B=Math.min(m/T,y/N);T*=B,N*=B}else if(f==="cover"){var B=Math.max(m/T,y/N);T*=B,N*=B}var O=l-m/2,D=d(r,"background-position-x","units",n),L=d(r,"background-position-x","pfValue",n);D==="%"?O+=(m-T)*L:O+=L;var A=d(r,"background-offset-x","units",n),M=d(r,"background-offset-x","pfValue",n);A==="%"?O+=(m-T)*M:O+=M;var P=u-y/2,z=d(r,"background-position-y","units",n),W=d(r,"background-position-y","pfValue",n);z==="%"?P+=(y-N)*W:P+=W;var H=d(r,"background-offset-y","units",n),G=d(r,"background-offset-y","pfValue",n);H==="%"?P+=(y-N)*G:P+=G,b.pathCache&&(O-=l,P-=u,l=0,u=0);var X=t.globalAlpha;t.globalAlpha=x;var F=i.getImgSmoothing(t),V=!1;if(k==="no"&&F?(i.setImgSmoothing(t,!1),V=!0):k==="yes"&&!F&&(i.setImgSmoothing(t,!0),V=!0),h==="no-repeat")C&&(t.save(),b.pathCache?t.clip(b.pathCache):(i.nodeShapes[i.getNodeShape(r)].draw(t,l,u,m,y,E,b),t.clip())),i.safeDrawImage(t,e,0,0,_,S,O,P,T,N),C&&t.restore();else{var q=t.createPattern(e,h);t.fillStyle=q,i.nodeShapes[i.getNodeShape(r)].draw(t,l,u,m,y,E,b),t.translate(O,P),t.fill(),t.translate(-O,-P)}t.globalAlpha=X,V&&i.setImgSmoothing(t,F)}};var ua={};ua.eleTextBiggerThanMin=function(t,e){if(!e){var r=t.cy().zoom(),n=this.getPixelRatio(),a=Math.ceil(Kc(r*n));e=Math.pow(2,a)}var i=t.pstyle("font-size").pfValue*e,o=t.pstyle("min-zoomed-font-size").pfValue;return!(i<o)},ua.drawElementText=function(t,e,r,n,a){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this;if(n==null){if(i&&!o.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var l=e.pstyle("label");if(!l||!l.value)return;var u=o.getLabelJustification(e);t.textAlign=u,t.textBaseline="bottom"}else{var c=e.element()._private.rscratch.badLine,d=e.pstyle("label"),f=e.pstyle("source-label"),h=e.pstyle("target-label");if(c||(!d||!d.value)&&(!f||!f.value)&&(!h||!h.value))return;t.textAlign="center",t.textBaseline="bottom"}var v=!r,p;r&&(p=r,t.translate(-p.x1,-p.y1)),a==null?(o.drawText(t,e,null,v,i),e.isEdge()&&(o.drawText(t,e,"source",v,i),o.drawText(t,e,"target",v,i))):o.drawText(t,e,a,v,i),r&&t.translate(p.x1,p.y1)},ua.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r<this.fontCaches.length;r++)if(e=this.fontCaches[r],e.context===t)return e;return e={context:t},this.fontCaches.push(e),e},ua.setupTextStyle=function(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,a=e.pstyle("font-size").pfValue+"px",i=e.pstyle("font-family").strValue,o=e.pstyle("font-weight").strValue,l=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,u=e.pstyle("text-outline-opacity").value*l,c=e.pstyle("color").value,d=e.pstyle("text-outline-color").value;t.font=n+" "+o+" "+a+" "+i,t.lineJoin="round",this.colorFillStyle(t,c[0],c[1],c[2],l),this.colorStrokeStyle(t,d[0],d[1],d[2],u)};function Iu(t,e,r,n,a){var i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,o=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+i,r),t.lineTo(e+n-i,r),t.quadraticCurveTo(e+n,r,e+n,r+i),t.lineTo(e+n,r+a-i),t.quadraticCurveTo(e+n,r+a,e+n-i,r+a),t.lineTo(e+i,r+a),t.quadraticCurveTo(e,r+a,e,r+a-i),t.lineTo(e,r+i),t.quadraticCurveTo(e,r,e+i,r),t.closePath(),o?t.stroke():t.fill()}ua.getTextAngle=function(t,e){var r,n=t._private,a=n.rscratch,i=e?e+"-":"",o=t.pstyle(i+"text-rotation"),l=gr(a,"labelAngle",e);return o.strValue==="autorotate"?r=t.isEdge()?l:0:o.strValue==="none"?r=0:r=o.pfValue,r},ua.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=e._private,o=i.rscratch,l=a?e.effectiveOpacity():1;if(!(a&&(l===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var u=gr(o,"labelX",r),c=gr(o,"labelY",r),d,f,h=this.getLabelText(e,r);if(h!=null&&h!==""&&!isNaN(u)&&!isNaN(c)){this.setupTextStyle(t,e,a);var v=r?r+"-":"",p=gr(o,"labelWidth",r),g=gr(o,"labelHeight",r),m=e.pstyle(v+"text-margin-x").pfValue,y=e.pstyle(v+"text-margin-y").pfValue,b=e.isEdge(),w=e.pstyle("text-halign").value,C=e.pstyle("text-valign").value;b&&(w="center",C="center"),u+=m,c+=y;var x;switch(n?x=this.getTextAngle(e,r):x=0,x!==0&&(d=u,f=c,t.translate(d,f),t.rotate(x),u=0,c=0),C){case"top":break;case"center":c+=g/2;break;case"bottom":c+=g;break}var k=e.pstyle("text-background-opacity").value,E=e.pstyle("text-border-opacity").value,_=e.pstyle("text-border-width").pfValue,S=e.pstyle("text-background-padding").pfValue,T=e.pstyle("text-background-shape").strValue,N=T.indexOf("round")===0,B=2;if(k>0||_>0&&E>0){var O=u-S;switch(w){case"left":O-=p;break;case"center":O-=p/2;break}var D=c-g-S,L=p+2*S,A=g+2*S;if(k>0){var M=t.fillStyle,P=e.pstyle("text-background-color").value;t.fillStyle="rgba("+P[0]+","+P[1]+","+P[2]+","+k*l+")",N?Iu(t,O,D,L,A,B):t.fillRect(O,D,L,A),t.fillStyle=M}if(_>0&&E>0){var z=t.strokeStyle,W=t.lineWidth,H=e.pstyle("text-border-color").value,G=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+H[0]+","+H[1]+","+H[2]+","+E*l+")",t.lineWidth=_,t.setLineDash)switch(G){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=_/4,t.setLineDash([]);break;case"solid":t.setLineDash([]);break}if(N?Iu(t,O,D,L,A,B,"stroke"):t.strokeRect(O,D,L,A),G==="double"){var X=_/2;N?Iu(t,O+X,D+X,L-X*2,A-X*2,B,"stroke"):t.strokeRect(O+X,D+X,L-X*2,A-X*2)}t.setLineDash&&t.setLineDash([]),t.lineWidth=W,t.strokeStyle=z}}var F=2*e.pstyle("text-outline-width").pfValue;if(F>0&&(t.lineWidth=F),e.pstyle("text-wrap").value==="wrap"){var V=gr(o,"labelWrapCachedLines",r),q=gr(o,"labelLineHeight",r),$=p/2,K=this.getLabelJustification(e);switch(K==="auto"||(w==="left"?K==="left"?u+=-p:K==="center"&&(u+=-$):w==="center"?K==="left"?u+=-$:K==="right"&&(u+=$):w==="right"&&(K==="center"?u+=$:K==="right"&&(u+=p))),C){case"top":c-=(V.length-1)*q;break;case"center":case"bottom":c-=(V.length-1)*q;break}for(var R=0;R<V.length;R++)F>0&&t.strokeText(V[R],u,c),t.fillText(V[R],u,c),c+=q}else F>0&&t.strokeText(h,u,c),t.fillText(h,u,c);x!==0&&(t.rotate(-x),t.translate(-d,-f))}}};var li={};li.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,o=this,l,u,c=e._private,d=c.rscratch,f=e.position();if(!(!de(f.x)||!de(f.y))&&!(i&&!e.visible())){var h=i?e.effectiveOpacity():1,v=o.usePaths(),p,g=!1,m=e.padding();l=e.width()+2*m,u=e.height()+2*m;var y;r&&(y=r,t.translate(-y.x1,-y.y1));for(var b=e.pstyle("background-image"),w=b.value,C=new Array(w.length),x=new Array(w.length),k=0,E=0;E<w.length;E++){var _=w[E],S=C[E]=_!=null&&_!=="none";if(S){var T=e.cy().style().getIndexedStyle(e,"background-image-crossorigin","value",E);k++,x[E]=o.getCachedImage(_,T,function(){c.backgroundTimestamp=Date.now(),e.emitAndNotify("background")})}}var N=e.pstyle("background-blacken").value,B=e.pstyle("border-width").pfValue,O=e.pstyle("background-opacity").value*h,D=e.pstyle("border-color").value,L=e.pstyle("border-style").value,A=e.pstyle("border-join").value,M=e.pstyle("border-cap").value,P=e.pstyle("border-position").value,z=e.pstyle("border-dash-pattern").pfValue,W=e.pstyle("border-dash-offset").pfValue,H=e.pstyle("border-opacity").value*h,G=e.pstyle("outline-width").pfValue,X=e.pstyle("outline-color").value,F=e.pstyle("outline-style").value,V=e.pstyle("outline-opacity").value*h,q=e.pstyle("outline-offset").value,$=e.pstyle("corner-radius").value;$!=="auto"&&($=e.pstyle("corner-radius").pfValue);var K=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:O;o.eleFillStyle(t,e,le)},R=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:H;o.colorStrokeStyle(t,D[0],D[1],D[2],le)},j=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:V;o.colorStrokeStyle(t,X[0],X[1],X[2],le)},Y=function(le,ee,oe,me){var be=o.nodePathCache=o.nodePathCache||[],ye=Y0(oe==="polygon"?oe+","+me.join(","):oe,""+ee,""+le,""+$),Ne=be[ye],ge,Ce=!1;return Ne!=null?(ge=Ne,Ce=!0,d.pathCache=ge):(ge=new Path2D,be[ye]=d.pathCache=ge),{path:ge,cacheHit:Ce}},se=e.pstyle("shape").strValue,ce=e.pstyle("shape-polygon-points").pfValue;if(v){t.translate(f.x,f.y);var ae=Y(l,u,se,ce);p=ae.path,g=ae.cacheHit}var ne=function(){if(!g){var le=f;v&&(le={x:0,y:0}),o.nodeShapes[o.getNodeShape(e)].draw(p||t,le.x,le.y,l,u,$,d)}v?t.fill(p):t.fill()},ue=function(){for(var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:h,ee=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,oe=c.backgrounding,me=0,be=0;be<x.length;be++){var ye=e.cy().style().getIndexedStyle(e,"background-image-containment","value",be);if(ee&&ye==="over"||!ee&&ye==="inside"){me++;continue}C[be]&&x[be].complete&&!x[be].error&&(me++,o.drawInscribedImage(t,x[be],e,be,le))}c.backgrounding=me!==k,oe!==c.backgrounding&&e.updateStyle(!1)},ie=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,ee=arguments.length>1&&arguments[1]!==void 0?arguments[1]:h;o.hasPie(e)&&(o.drawPie(t,e,ee),le&&(v||o.nodeShapes[o.getNodeShape(e)].draw(t,f.x,f.y,l,u,$,d)))},fe=function(){var le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:h,ee=(N>0?N:-N)*le,oe=N>0?0:255;N!==0&&(o.colorFillStyle(t,oe,oe,oe,ee),v?t.fill(p):t.fill())},pe=function(){if(B>0){if(t.lineWidth=B,t.lineCap=M,t.lineJoin=A,t.setLineDash)switch(L){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(z),t.lineDashOffset=W;break;case"solid":case"double":t.setLineDash([]);break}if(P!=="center"){if(t.save(),t.lineWidth*=2,P==="inside")v?t.clip(p):t.clip();else{var le=new Path2D;le.rect(-l/2-B,-u/2-B,l+2*B,u+2*B),le.addPath(p),t.clip(le,"evenodd")}v?t.stroke(p):t.stroke(),t.restore()}else v?t.stroke(p):t.stroke();if(L==="double"){t.lineWidth=B/3;var ee=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",v?t.stroke(p):t.stroke(),t.globalCompositeOperation=ee}t.setLineDash&&t.setLineDash([])}},Oe=function(){if(G>0){if(t.lineWidth=G,t.lineCap="butt",t.setLineDash)switch(F){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var le=f;v&&(le={x:0,y:0});var ee=o.getNodeShape(e),oe=B;P==="inside"&&(oe=0),P==="outside"&&(oe*=2);var me=(l+oe+(G+q))/l,be=(u+oe+(G+q))/u,ye=l*me,Ne=u*be,ge=o.nodeShapes[ee].points,Ce;if(v){var We=Y(ye,Ne,ee,ge);Ce=We.path}if(ee==="ellipse")o.drawEllipsePath(Ce||t,le.x,le.y,ye,Ne);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(ee)){var qe=0,st=0,lt=0;ee==="round-diamond"?qe=(oe+q+G)*1.4:ee==="round-heptagon"?(qe=(oe+q+G)*1.075,lt=-(oe/2+q+G)/35):ee==="round-hexagon"?qe=(oe+q+G)*1.12:ee==="round-pentagon"?(qe=(oe+q+G)*1.13,lt=-(oe/2+q+G)/15):ee==="round-tag"?(qe=(oe+q+G)*1.12,st=(oe/2+G+q)*.07):ee==="round-triangle"&&(qe=(oe+q+G)*(Math.PI/2),lt=-(oe+q/2+G)/Math.PI),qe!==0&&(me=(l+qe)/l,ye=l*me,["round-hexagon","round-tag"].includes(ee)||(be=(u+qe)/u,Ne=u*be)),$=$==="auto"?ub(ye,Ne):$;for(var rt=ye/2,Mt=Ne/2,mt=$+(oe+G+q)/2,wt=new Array(ge.length/2),Qt=new Array(ge.length/2),Ft=0;Ft<ge.length/2;Ft++)wt[Ft]={x:le.x+st+rt*ge[Ft*2],y:le.y+lt+Mt*ge[Ft*2+1]};var $t,cr,Cr,Yt,nt=wt.length;for(cr=wt[nt-1],$t=0;$t<nt;$t++)Cr=wt[$t%nt],Yt=wt[($t+1)%nt],Qt[$t]=xu(cr,Cr,Yt,mt),cr=Cr,Cr=Yt;o.drawRoundPolygonPath(Ce||t,le.x+st,le.y+lt,l*me,u*be,ge,Qt)}else if(["roundrectangle","round-rectangle"].includes(ee))$=$==="auto"?ra(ye,Ne):$,o.drawRoundRectanglePath(Ce||t,le.x,le.y,ye,Ne,$+(oe+G+q)/2);else if(["cutrectangle","cut-rectangle"].includes(ee))$=$==="auto"?jc():$,o.drawCutRectanglePath(Ce||t,le.x,le.y,ye,Ne,null,$+(oe+G+q)/4);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(ee))$=$==="auto"?ra(ye,Ne):$,o.drawBottomRoundRectanglePath(Ce||t,le.x,le.y,ye,Ne,$+(oe+G+q)/2);else if(ee==="barrel")o.drawBarrelPath(Ce||t,le.x,le.y,ye,Ne);else if(ee.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(ee)){var ct=(oe+G+q)/l;ge=Ss(_s(ge,ct)),o.drawPolygonPath(Ce||t,le.x,le.y,l,u,ge)}else{var Ct=(oe+G+q)/l;ge=Ss(_s(ge,-Ct)),o.drawPolygonPath(Ce||t,le.x,le.y,l,u,ge)}if(v?t.stroke(Ce):t.stroke(),F==="double"){t.lineWidth=oe/3;var Pn=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",v?t.stroke(Ce):t.stroke(),t.globalCompositeOperation=Pn}t.setLineDash&&t.setLineDash([])}},Ie=function(){a&&o.drawNodeOverlay(t,e,f,l,u)},we=function(){a&&o.drawNodeUnderlay(t,e,f,l,u)},ke=function(){o.drawElementText(t,e,null,n)},re=e.pstyle("ghost").value==="yes";if(re){var I=e.pstyle("ghost-offset-x").pfValue,U=e.pstyle("ghost-offset-y").pfValue,te=e.pstyle("ghost-opacity").value,Z=te*h;t.translate(I,U),j(),Oe(),K(te*O),ne(),ue(Z,!0),R(te*H),pe(),ie(N!==0||B!==0),ue(Z,!1),fe(Z),t.translate(-I,-U)}v&&t.translate(-f.x,-f.y),we(),v&&t.translate(f.x,f.y),j(),Oe(),K(),ne(),ue(h,!0),R(),pe(),ie(N!==0||B!==0),ue(h,!1),fe(),v&&t.translate(-f.x,-f.y),ke(),Ie(),r&&t.translate(y.x1,y.y1)}};var hw=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n,a,i,o){var l=this;if(n.visible()){var u=n.pstyle("".concat(e,"-padding")).pfValue,c=n.pstyle("".concat(e,"-opacity")).value,d=n.pstyle("".concat(e,"-color")).value,f=n.pstyle("".concat(e,"-shape")).value,h=n.pstyle("".concat(e,"-corner-radius")).value;if(c>0){if(a=a||n.position(),i==null||o==null){var v=n.padding();i=n.width()+2*v,o=n.height()+2*v}l.colorFillStyle(r,d[0],d[1],d[2],c),l.nodeShapes[f].draw(r,a.x,a.y,i+u*2,o+u*2,h),r.fill()}}}};li.drawNodeOverlay=hw("overlay"),li.drawNodeUnderlay=hw("underlay"),li.hasPie=function(t){return t=t[0],t._private.hasPie},li.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var a=e.cy().style(),i=e.pstyle("pie-size"),o=n.x,l=n.y,u=e.width(),c=e.height(),d=Math.min(u,c)/2,f=0,h=this.usePaths();h&&(o=0,l=0),i.units==="%"?d=d*i.pfValue:i.pfValue!==void 0&&(d=i.pfValue/2);for(var v=1;v<=a.pieBackgroundN;v++){var p=e.pstyle("pie-"+v+"-background-size").value,g=e.pstyle("pie-"+v+"-background-color").value,m=e.pstyle("pie-"+v+"-background-opacity").value*r,y=p/100;y+f>1&&(y=1-f);var b=1.5*Math.PI+2*Math.PI*f,w=2*Math.PI*y,C=b+w;p===0||f>=1||f+y>1||(t.beginPath(),t.moveTo(o,l),t.arc(o,l,d,b,C),t.closePath(),this.colorFillStyle(t,g[0],g[1],g[2],m),t.fill(),f+=y)}};var Jt={},c3=100;Jt.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r},Jt.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,a=0;a<e.length;a++)if(n=e[a],n.context===t){r=!1;break}return r&&(n={context:t},e.push(n)),n},Jt.createGradientStyleFor=function(t,e,r,n,a){var i,o=this.usePaths(),l=r.pstyle(e+"-gradient-stop-colors").value,u=r.pstyle(e+"-gradient-stop-positions").pfValue;if(n==="radial-gradient")if(r.isEdge()){var c=r.sourceEndpoint(),d=r.targetEndpoint(),f=r.midpoint(),h=Qn(c,f),v=Qn(d,f);i=t.createRadialGradient(f.x,f.y,0,f.x,f.y,Math.max(h,v))}else{var p=o?{x:0,y:0}:r.position(),g=r.paddedWidth(),m=r.paddedHeight();i=t.createRadialGradient(p.x,p.y,0,p.x,p.y,Math.max(g,m))}else if(r.isEdge()){var y=r.sourceEndpoint(),b=r.targetEndpoint();i=t.createLinearGradient(y.x,y.y,b.x,b.y)}else{var w=o?{x:0,y:0}:r.position(),C=r.paddedWidth(),x=r.paddedHeight(),k=C/2,E=x/2,_=r.pstyle("background-gradient-direction").value;switch(_){case"to-bottom":i=t.createLinearGradient(w.x,w.y-E,w.x,w.y+E);break;case"to-top":i=t.createLinearGradient(w.x,w.y+E,w.x,w.y-E);break;case"to-left":i=t.createLinearGradient(w.x+k,w.y,w.x-k,w.y);break;case"to-right":i=t.createLinearGradient(w.x-k,w.y,w.x+k,w.y);break;case"to-bottom-right":case"to-right-bottom":i=t.createLinearGradient(w.x-k,w.y-E,w.x+k,w.y+E);break;case"to-top-right":case"to-right-top":i=t.createLinearGradient(w.x-k,w.y+E,w.x+k,w.y-E);break;case"to-bottom-left":case"to-left-bottom":i=t.createLinearGradient(w.x+k,w.y-E,w.x-k,w.y+E);break;case"to-top-left":case"to-left-top":i=t.createLinearGradient(w.x+k,w.y+E,w.x-k,w.y-E);break}}if(!i)return null;for(var S=u.length===l.length,T=l.length,N=0;N<T;N++)i.addColorStop(S?u[N]:N/(T-1),"rgba("+l[N][0]+","+l[N][1]+","+l[N][2]+","+a+")");return i},Jt.gradientFillStyle=function(t,e,r,n){var a=this.createGradientStyleFor(t,"background",e,r,n);if(!a)return null;t.fillStyle=a},Jt.colorFillStyle=function(t,e,r,n,a){t.fillStyle="rgba("+e+","+r+","+n+","+a+")"},Jt.eleFillStyle=function(t,e,r){var n=e.pstyle("background-fill").value;if(n==="linear-gradient"||n==="radial-gradient")this.gradientFillStyle(t,e,n,r);else{var a=e.pstyle("background-color").value;this.colorFillStyle(t,a[0],a[1],a[2],r)}},Jt.gradientStrokeStyle=function(t,e,r,n){var a=this.createGradientStyleFor(t,"line",e,r,n);if(!a)return null;t.strokeStyle=a},Jt.colorStrokeStyle=function(t,e,r,n,a){t.strokeStyle="rgba("+e+","+r+","+n+","+a+")"},Jt.eleStrokeStyle=function(t,e,r){var n=e.pstyle("line-fill").value;if(n==="linear-gradient"||n==="radial-gradient")this.gradientStrokeStyle(t,e,n,r);else{var a=e.pstyle("line-color").value;this.colorStrokeStyle(t,a[0],a[1],a[2],r)}},Jt.matchCanvasSize=function(t){var e=this,r=e.data,n=e.findContainerClientCoords(),a=n[2],i=n[3],o=e.getPixelRatio(),l=e.motionBlurPxRatio;(t===e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE]||t===e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG])&&(o=l);var u=a*o,c=i*o,d;if(!(u===e.canvasWidth&&c===e.canvasHeight)){e.fontCaches=null;var f=r.canvasContainer;f.style.width=a+"px",f.style.height=i+"px";for(var h=0;h<e.CANVAS_LAYERS;h++)d=r.canvases[h],d.width=u,d.height=c,d.style.width=a+"px",d.style.height=i+"px";for(var h=0;h<e.BUFFER_COUNT;h++)d=r.bufferCanvases[h],d.width=u,d.height=c,d.style.width=a+"px",d.style.height=i+"px";e.textureMult=1,o<=1&&(d=r.bufferCanvases[e.TEXTURE_BUFFER],e.textureMult=2,d.width=u*e.textureMult,d.height=c*e.textureMult),e.canvasWidth=u,e.canvasHeight=c}},Jt.renderTo=function(t,e,r,n){this.render({forcedContext:t,forcedZoom:e,forcedPan:r,drawAllLayers:!0,forcedPxRatio:n})},Jt.render=function(t){t=t||tb();var e=t.forcedContext,r=t.drawAllLayers,n=t.drawOnlyNodeLayer,a=t.forcedZoom,i=t.forcedPan,o=this,l=t.forcedPxRatio===void 0?this.getPixelRatio():t.forcedPxRatio,u=o.cy,c=o.data,d=c.canvasNeedsRedraw,f=o.textureOnViewport&&!e&&(o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming),h=t.motionBlur!==void 0?t.motionBlur:o.motionBlur,v=o.motionBlurPxRatio,p=u.hasCompoundNodes(),g=o.hoverData.draggingEles,m=!!(o.hoverData.selecting||o.touchData.selecting);h=h&&!e&&o.motionBlurEnabled&&!m;var y=h;e||(o.prevPxRatio!==l&&(o.invalidateContainerClientCoordsCache(),o.matchCanvasSize(o.container),o.redrawHint("eles",!0),o.redrawHint("drag",!0)),o.prevPxRatio=l),!e&&o.motionBlurTimeout&&clearTimeout(o.motionBlurTimeout),h&&(o.mbFrames==null&&(o.mbFrames=0),o.mbFrames++,o.mbFrames<3&&(y=!1),o.mbFrames>o.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!f&&(d[o.NODE]=!0,d[o.SELECT_BOX]=!0);var b=u.style(),w=u.zoom(),C=a!==void 0?a:w,x=u.pan(),k={x:x.x,y:x.y},E={zoom:w,pan:{x:x.x,y:x.y}},_=o.prevViewport,S=_===void 0||E.zoom!==_.zoom||E.pan.x!==_.pan.x||E.pan.y!==_.pan.y;!S&&!(g&&!p)&&(o.motionBlurPxRatio=1),i&&(k=i),C*=l,k.x*=l,k.y*=l;var T=o.getCachedZSortedEles();function N(ae,ne,ue,ie,fe){var pe=ae.globalCompositeOperation;ae.globalCompositeOperation="destination-out",o.colorFillStyle(ae,255,255,255,o.motionBlurTransparency),ae.fillRect(ne,ue,ie,fe),ae.globalCompositeOperation=pe}function B(ae,ne){var ue,ie,fe,pe;!o.clearingMotionBlur&&(ae===c.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]||ae===c.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG])?(ue={x:x.x*v,y:x.y*v},ie=w*v,fe=o.canvasWidth*v,pe=o.canvasHeight*v):(ue=k,ie=C,fe=o.canvasWidth,pe=o.canvasHeight),ae.setTransform(1,0,0,1,0,0),ne==="motionBlur"?N(ae,0,0,fe,pe):!e&&(ne===void 0||ne)&&ae.clearRect(0,0,fe,pe),r||(ae.translate(ue.x,ue.y),ae.scale(ie,ie)),i&&ae.translate(i.x,i.y),a&&ae.scale(a,a)}if(f||(o.textureDrawLastFrame=!1),f){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=u.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var O=o.data.bufferContexts[o.TEXTURE_BUFFER];O.setTransform(1,0,0,1,0,0),O.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:O,drawOnlyNodeLayer:!0,forcedPxRatio:l*o.textureMult});var E=o.textureCache.viewport={zoom:u.zoom(),pan:u.pan(),width:o.canvasWidth,height:o.canvasHeight};E.mpan={x:(0-E.pan.x)/E.zoom,y:(0-E.pan.y)/E.zoom}}d[o.DRAG]=!1,d[o.NODE]=!1;var D=c.contexts[o.NODE],L=o.textureCache.texture,E=o.textureCache.viewport;D.setTransform(1,0,0,1,0,0),h?N(D,0,0,E.width,E.height):D.clearRect(0,0,E.width,E.height);var A=b.core("outside-texture-bg-color").value,M=b.core("outside-texture-bg-opacity").value;o.colorFillStyle(D,A[0],A[1],A[2],M),D.fillRect(0,0,E.width,E.height);var w=u.zoom();B(D,!1),D.clearRect(E.mpan.x,E.mpan.y,E.width/E.zoom/l,E.height/E.zoom/l),D.drawImage(L,E.mpan.x,E.mpan.y,E.width/E.zoom/l,E.height/E.zoom/l)}else o.textureOnViewport&&!e&&(o.textureCache=null);var P=u.extent(),z=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),W=o.hideEdgesOnViewport&&z,H=[];if(H[o.NODE]=!d[o.NODE]&&h&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,H[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),H[o.DRAG]=!d[o.DRAG]&&h&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,H[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),d[o.NODE]||r||n||H[o.NODE]){var G=h&&!H[o.NODE]&&v!==1,D=e||(G?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:c.contexts[o.NODE]),X=h&&!G?"motionBlur":void 0;B(D,X),W?o.drawCachedNodes(D,T.nondrag,l,P):o.drawLayeredElements(D,T.nondrag,l,P),o.debug&&o.drawDebugPoints(D,T.nondrag),!r&&!h&&(d[o.NODE]=!1)}if(!n&&(d[o.DRAG]||r||H[o.DRAG])){var G=h&&!H[o.DRAG]&&v!==1,D=e||(G?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:c.contexts[o.DRAG]);B(D,h&&!G?"motionBlur":void 0),W?o.drawCachedNodes(D,T.drag,l,P):o.drawCachedElements(D,T.drag,l,P),o.debug&&o.drawDebugPoints(D,T.drag),!r&&!h&&(d[o.DRAG]=!1)}if(o.showFps||!n&&d[o.SELECT_BOX]&&!r){var D=e||c.contexts[o.SELECT_BOX];if(B(D),o.selection[4]==1&&(o.hoverData.selecting||o.touchData.selecting)){var w=o.cy.zoom(),F=b.core("selection-box-border-width").value/w;D.lineWidth=F,D.fillStyle="rgba("+b.core("selection-box-color").value[0]+","+b.core("selection-box-color").value[1]+","+b.core("selection-box-color").value[2]+","+b.core("selection-box-opacity").value+")",D.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),F>0&&(D.strokeStyle="rgba("+b.core("selection-box-border-color").value[0]+","+b.core("selection-box-border-color").value[1]+","+b.core("selection-box-border-color").value[2]+","+b.core("selection-box-opacity").value+")",D.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(c.bgActivePosistion&&!o.hoverData.selecting){var w=o.cy.zoom(),V=c.bgActivePosistion;D.fillStyle="rgba("+b.core("active-bg-color").value[0]+","+b.core("active-bg-color").value[1]+","+b.core("active-bg-color").value[2]+","+b.core("active-bg-opacity").value+")",D.beginPath(),D.arc(V.x,V.y,b.core("active-bg-size").pfValue/w,0,2*Math.PI),D.fill()}var q=o.lastRedrawTime;if(o.showFps&&q){q=Math.round(q);var $=Math.round(1e3/q);D.setTransform(1,0,0,1,0,0),D.fillStyle="rgba(255, 0, 0, 0.75)",D.strokeStyle="rgba(255, 0, 0, 0.75)",D.lineWidth=1,D.fillText("1 frame = "+q+" ms = "+$+" fps",0,20);var K=60;D.strokeRect(0,30,250,20),D.fillRect(0,30,250*Math.min($/K,1),20)}r||(d[o.SELECT_BOX]=!1)}if(h&&v!==1){var R=c.contexts[o.NODE],j=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],Y=c.contexts[o.DRAG],se=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],ce=function(ne,ue,ie){ne.setTransform(1,0,0,1,0,0),ie||!y?ne.clearRect(0,0,o.canvasWidth,o.canvasHeight):N(ne,0,0,o.canvasWidth,o.canvasHeight);var fe=v;ne.drawImage(ue,0,0,o.canvasWidth*fe,o.canvasHeight*fe,0,0,o.canvasWidth,o.canvasHeight)};(d[o.NODE]||H[o.NODE])&&(ce(R,j,H[o.NODE]),d[o.NODE]=!1),(d[o.DRAG]||H[o.DRAG])&&(ce(Y,se,H[o.DRAG]),d[o.DRAG]=!1)}o.prevViewport=E,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),h&&(o.motionBlurTimeout=setTimeout(function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!f,o.mbFrames=0,d[o.NODE]=!0,d[o.DRAG]=!0,o.redraw()},c3)),e||u.emit("render")};var Bn={};Bn.drawPolygonPath=function(t,e,r,n,a,i){var o=n/2,l=a/2;t.beginPath&&t.beginPath(),t.moveTo(e+o*i[0],r+l*i[1]);for(var u=1;u<i.length/2;u++)t.lineTo(e+o*i[u*2],r+l*i[u*2+1]);t.closePath()},Bn.drawRoundPolygonPath=function(t,e,r,n,a,i,o){o.forEach(function(l){return W1(t,l)}),t.closePath()},Bn.drawRoundRectanglePath=function(t,e,r,n,a,i){var o=n/2,l=a/2,u=i==="auto"?ra(n,a):Math.min(i,l,o);t.beginPath&&t.beginPath(),t.moveTo(e,r-l),t.arcTo(e+o,r-l,e+o,r,u),t.arcTo(e+o,r+l,e,r+l,u),t.arcTo(e-o,r+l,e-o,r,u),t.arcTo(e-o,r-l,e,r-l,u),t.lineTo(e,r-l),t.closePath()},Bn.drawBottomRoundRectanglePath=function(t,e,r,n,a,i){var o=n/2,l=a/2,u=i==="auto"?ra(n,a):i;t.beginPath&&t.beginPath(),t.moveTo(e,r-l),t.lineTo(e+o,r-l),t.lineTo(e+o,r),t.arcTo(e+o,r+l,e,r+l,u),t.arcTo(e-o,r+l,e-o,r,u),t.lineTo(e-o,r-l),t.lineTo(e,r-l),t.closePath()},Bn.drawCutRectanglePath=function(t,e,r,n,a,i,o){var l=n/2,u=a/2,c=o==="auto"?jc():o;t.beginPath&&t.beginPath(),t.moveTo(e-l+c,r-u),t.lineTo(e+l-c,r-u),t.lineTo(e+l,r-u+c),t.lineTo(e+l,r+u-c),t.lineTo(e+l-c,r+u),t.lineTo(e-l+c,r+u),t.lineTo(e-l,r+u-c),t.lineTo(e-l,r-u+c),t.closePath()},Bn.drawBarrelPath=function(t,e,r,n,a){var i=n/2,o=a/2,l=e-i,u=e+i,c=r-o,d=r+o,f=Yc(n,a),h=f.widthOffset,v=f.heightOffset,p=f.ctrlPtOffsetPct*h;t.beginPath&&t.beginPath(),t.moveTo(l,c+v),t.lineTo(l,d-v),t.quadraticCurveTo(l+p,d,l+h,d),t.lineTo(u-h,d),t.quadraticCurveTo(u-p,d,u,d-v),t.lineTo(u,c+v),t.quadraticCurveTo(u-p,c,u-h,c),t.lineTo(l+h,c),t.quadraticCurveTo(l+p,c,l,c+v),t.closePath()};for(var pw=Math.sin(0),vw=Math.cos(0),Bu={},Du={},gw=Math.PI/40,ci=0*Math.PI;ci<2*Math.PI;ci+=gw)Bu[ci]=Math.sin(ci),Du[ci]=Math.cos(ci);Bn.drawEllipsePath=function(t,e,r,n,a){if(t.beginPath&&t.beginPath(),t.ellipse)t.ellipse(e,r,n/2,a/2,0,0,2*Math.PI);else for(var i,o,l=n/2,u=a/2,c=0*Math.PI;c<2*Math.PI;c+=gw)i=e-l*Bu[c]*pw+l*Du[c]*vw,o=r+u*Du[c]*pw+u*Bu[c]*vw,c===0?t.moveTo(i,o):t.lineTo(i,o);t.closePath()};var Co={};Co.createBuffer=function(t,e){var r=document.createElement("canvas");return r.width=t,r.height=e,[r,r.getContext("2d")]},Co.bufferCanvasImage=function(t){var e=this.cy,r=e.mutableElements(),n=r.boundingBox(),a=this.findContainerClientCoords(),i=t.full?Math.ceil(n.w):a[2],o=t.full?Math.ceil(n.h):a[3],l=de(t.maxWidth)||de(t.maxHeight),u=this.getPixelRatio(),c=1;if(t.scale!==void 0)i*=t.scale,o*=t.scale,c=t.scale;else if(l){var d=1/0,f=1/0;de(t.maxWidth)&&(d=c*t.maxWidth/i),de(t.maxHeight)&&(f=c*t.maxHeight/o),c=Math.min(d,f),i*=c,o*=c}l||(i*=u,o*=u,c*=u);var h=document.createElement("canvas");h.width=i,h.height=o,h.style.width=i+"px",h.style.height=o+"px";var v=h.getContext("2d");if(i>0&&o>0){v.clearRect(0,0,i,o),v.globalCompositeOperation="source-over";var p=this.getCachedZSortedEles();if(t.full)v.translate(-n.x1*c,-n.y1*c),v.scale(c,c),this.drawElements(v,p),v.scale(1/c,1/c),v.translate(n.x1*c,n.y1*c);else{var g=e.pan(),m={x:g.x*c,y:g.y*c};c*=e.zoom(),v.translate(m.x,m.y),v.scale(c,c),this.drawElements(v,p),v.scale(1/c,1/c),v.translate(-m.x,-m.y)}t.bg&&(v.globalCompositeOperation="destination-over",v.fillStyle=t.bg,v.rect(0,0,i,o),v.fill())}return h};function u3(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),a=new Uint8Array(n),i=0;i<r.length;i++)a[i]=r.charCodeAt(i);return new Blob([n],{type:e})}function mw(t){var e=t.indexOf(",");return t.substr(e+1)}function yw(t,e,r){var n=function(){return e.toDataURL(r,t.quality)};switch(t.output){case"blob-promise":return new Ua(function(a,i){try{e.toBlob(function(o){o!=null?a(o):i(new Error("`canvas.toBlob()` sent a null value in its callback"))},r,t.quality)}catch(o){i(o)}});case"blob":return u3(mw(n()),r);case"base64":return mw(n());case"base64uri":default:return n()}}Co.png=function(t){return yw(t,this.bufferCanvasImage(t),"image/png")},Co.jpg=function(t){return yw(t,this.bufferCanvasImage(t),"image/jpeg")};var bw={};bw.nodeShapeImpl=function(t,e,r,n,a,i,o,l){switch(t){case"ellipse":return this.drawEllipsePath(e,r,n,a,i);case"polygon":return this.drawPolygonPath(e,r,n,a,i,o);case"round-polygon":return this.drawRoundPolygonPath(e,r,n,a,i,o,l);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,r,n,a,i,l);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,r,n,a,i,o,l);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,r,n,a,i,l);case"barrel":return this.drawBarrelPath(e,r,n,a,i)}};var d3=ww,Me=ww.prototype;Me.CANVAS_LAYERS=3,Me.SELECT_BOX=0,Me.DRAG=1,Me.NODE=2,Me.BUFFER_COUNT=3,Me.TEXTURE_BUFFER=0,Me.MOTIONBLUR_BUFFER_NODE=1,Me.MOTIONBLUR_BUFFER_DRAG=2;function ww(t){var e=this,r=e.cy.window(),n=r.document;e.data={canvases:new Array(Me.CANVAS_LAYERS),contexts:new Array(Me.CANVAS_LAYERS),canvasNeedsRedraw:new Array(Me.CANVAS_LAYERS),bufferCanvases:new Array(Me.BUFFER_COUNT),bufferContexts:new Array(Me.CANVAS_LAYERS)};var a="-webkit-tap-highlight-color",i="rgba(0,0,0,0)";e.data.canvasContainer=n.createElement("div");var o=e.data.canvasContainer.style;e.data.canvasContainer.style[a]=i,o.position="relative",o.zIndex="0",o.overflow="hidden";var l=t.cy.container();l.appendChild(e.data.canvasContainer),l.style[a]=i;var u={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};eF()&&(u["-ms-touch-action"]="none",u["touch-action"]="none");for(var c=0;c<Me.CANVAS_LAYERS;c++){var d=e.data.canvases[c]=n.createElement("canvas");e.data.contexts[c]=d.getContext("2d"),Object.keys(u).forEach(function(K){d.style[K]=u[K]}),d.style.position="absolute",d.setAttribute("data-id","layer"+c),d.style.zIndex=String(Me.CANVAS_LAYERS-c),e.data.canvasContainer.appendChild(d),e.data.canvasNeedsRedraw[c]=!1}e.data.topCanvas=e.data.canvases[0],e.data.canvases[Me.NODE].setAttribute("data-id","layer"+Me.NODE+"-node"),e.data.canvases[Me.SELECT_BOX].setAttribute("data-id","layer"+Me.SELECT_BOX+"-selectbox"),e.data.canvases[Me.DRAG].setAttribute("data-id","layer"+Me.DRAG+"-drag");for(var c=0;c<Me.BUFFER_COUNT;c++)e.data.bufferCanvases[c]=n.createElement("canvas"),e.data.bufferContexts[c]=e.data.bufferCanvases[c].getContext("2d"),e.data.bufferCanvases[c].style.position="absolute",e.data.bufferCanvases[c].setAttribute("data-id","buffer"+c),e.data.bufferCanvases[c].style.zIndex=String(-c-1),e.data.bufferCanvases[c].style.visibility="hidden";e.pathsEnabled=!0;var f=Ut(),h=function(R){return{x:(R.x1+R.x2)/2,y:(R.y1+R.y2)/2}},v=function(R){return{x:-R.w/2,y:-R.h/2}},p=function(R){var j=R[0]._private,Y=j.oldBackgroundTimestamp===j.backgroundTimestamp;return!Y},g=function(R){return R[0]._private.nodeKey},m=function(R){return R[0]._private.labelStyleKey},y=function(R){return R[0]._private.sourceLabelStyleKey},b=function(R){return R[0]._private.targetLabelStyleKey},w=function(R,j,Y,se,ce){return e.drawElement(R,j,Y,!1,!1,ce)},C=function(R,j,Y,se,ce){return e.drawElementText(R,j,Y,se,"main",ce)},x=function(R,j,Y,se,ce){return e.drawElementText(R,j,Y,se,"source",ce)},k=function(R,j,Y,se,ce){return e.drawElementText(R,j,Y,se,"target",ce)},E=function(R){return R.boundingBox(),R[0]._private.bodyBounds},_=function(R){return R.boundingBox(),R[0]._private.labelBounds.main||f},S=function(R){return R.boundingBox(),R[0]._private.labelBounds.source||f},T=function(R){return R.boundingBox(),R[0]._private.labelBounds.target||f},N=function(R,j){return j},B=function(R){return h(E(R))},O=function(R,j,Y){var se=R?R+"-":"";return{x:j.x+Y.pstyle(se+"text-margin-x").pfValue,y:j.y+Y.pstyle(se+"text-margin-y").pfValue}},D=function(R,j,Y){var se=R[0]._private.rscratch;return{x:se[j],y:se[Y]}},L=function(R){return O("",D(R,"labelX","labelY"),R)},A=function(R){return O("source",D(R,"sourceLabelX","sourceLabelY"),R)},M=function(R){return O("target",D(R,"targetLabelX","targetLabelY"),R)},P=function(R){return v(E(R))},z=function(R){return v(S(R))},W=function(R){return v(T(R))},H=function(R){var j=_(R),Y=v(_(R));if(R.isNode()){switch(R.pstyle("text-halign").value){case"left":Y.x=-j.w;break;case"right":Y.x=0;break}switch(R.pstyle("text-valign").value){case"top":Y.y=-j.h;break;case"bottom":Y.y=0;break}}return Y},G=e.data.eleTxrCache=new bo(e,{getKey:g,doesEleInvalidateKey:p,drawElement:w,getBoundingBox:E,getRotationPoint:B,getRotationOffset:P,allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),X=e.data.lblTxrCache=new bo(e,{getKey:m,drawElement:C,getBoundingBox:_,getRotationPoint:L,getRotationOffset:H,isVisible:N}),F=e.data.slbTxrCache=new bo(e,{getKey:y,drawElement:x,getBoundingBox:S,getRotationPoint:A,getRotationOffset:z,isVisible:N}),V=e.data.tlbTxrCache=new bo(e,{getKey:b,drawElement:k,getBoundingBox:T,getRotationPoint:M,getRotationOffset:W,isVisible:N}),q=e.data.lyrTxrCache=new sw(e);e.onUpdateEleCalcs(function(R,j){G.invalidateElements(j),X.invalidateElements(j),F.invalidateElements(j),V.invalidateElements(j),q.invalidateElements(j);for(var Y=0;Y<j.length;Y++){var se=j[Y]._private;se.oldBackgroundTimestamp=se.backgroundTimestamp}});var $=function(R){for(var j=0;j<R.length;j++)q.enqueueElementRefinement(R[j].ele)};G.onDequeue($),X.onDequeue($),F.onDequeue($),V.onDequeue($)}Me.redrawHint=function(t,e){var r=this;switch(t){case"eles":r.data.canvasNeedsRedraw[Me.NODE]=e;break;case"drag":r.data.canvasNeedsRedraw[Me.DRAG]=e;break;case"select":r.data.canvasNeedsRedraw[Me.SELECT_BOX]=e;break}};var f3=typeof Path2D<"u";Me.path2dEnabled=function(t){if(t===void 0)return this.pathsEnabled;this.pathsEnabled=!!t},Me.usePaths=function(){return f3&&this.pathsEnabled},Me.setImgSmoothing=function(t,e){t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled=e:(t.webkitImageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e)},Me.getImgSmoothing=function(t){return t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled:t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled},Me.makeOffscreenCanvas=function(t,e){var r;if((typeof OffscreenCanvas>"u"?"undefined":ht(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),a=n.document;r=a.createElement("canvas"),r.width=t,r.height=e}return r},[cw,Pr,tn,Nu,ua,li,Jt,Bn,Co,bw].forEach(function(t){Te(Me,t)});var h3=[{name:"null",impl:F1},{name:"base",impl:nw},{name:"canvas",impl:d3}],p3=[{type:"layout",extensions:w4},{type:"renderer",extensions:h3}],Cw={},Ew={};function xw(t,e,r){var n=r,a=function(_){$e("Can not register `"+e+"` for `"+t+"` since `"+_+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(go.prototype[e])return a(e);go.prototype[e]=r}else if(t==="collection"){if(Tt.prototype[e])return a(e);Tt.prototype[e]=r}else if(t==="layout"){for(var i=function(_){this.options=_,r.call(this,_),Pe(this._private)||(this._private={}),this._private.cy=_.cy,this._private.listeners=[],this.createEmitter()},o=i.prototype=Object.create(r.prototype),l=[],u=0;u<l.length;u++){var c=l[u];o[c]=o[c]||function(){return this}}o.start&&!o.run?o.run=function(){return this.start(),this}:!o.start&&o.run&&(o.start=function(){return this.run(),this});var d=r.prototype.stop;o.stop=function(){var E=this.options;if(E&&E.animate){var _=this.animations;if(_)for(var S=0;S<_.length;S++)_[S].stop()}return d?d.call(this):this.emit("layoutstop"),this},o.destroy||(o.destroy=function(){return this}),o.cy=function(){return this._private.cy};var f=function(_){return _._private.cy},h={addEventFields:function(_,S){S.layout=_,S.cy=f(_),S.target=_},bubble:function(){return!0},parent:function(_){return f(_)}};Te(o,{createEmitter:function(){return this._private.emitter=new Vs(h,this),this},emitter:function(){return this._private.emitter},on:function(_,S){return this.emitter().on(_,S),this},one:function(_,S){return this.emitter().one(_,S),this},once:function(_,S){return this.emitter().one(_,S),this},removeListener:function(_,S){return this.emitter().removeListener(_,S),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(_,S){return this.emitter().emit(_,S),this}}),Ve.eventAliasesOn(o),n=i}else if(t==="renderer"&&e!=="null"&&e!=="base"){var v=kw("renderer","base"),p=v.prototype,g=r,m=r.prototype,y=function(){v.apply(this,arguments),g.apply(this,arguments)},b=y.prototype;for(var w in p){var C=p[w],x=m[w]!=null;if(x)return a(w);b[w]=C}for(var k in m)b[k]=m[k];p.clientFunctions.forEach(function(E){b[E]=b[E]||function(){Qe("Renderer does not implement `renderer."+E+"()` on its prototype")}}),n=y}else if(t==="__proto__"||t==="constructor"||t==="prototype")return Qe(t+" is an illegal type to be registered, possibly lead to prototype pollutions");return $0({map:Cw,keys:[t,e],value:n})}function kw(t,e){return V0({map:Cw,keys:[t,e]})}function v3(t,e,r,n,a){return $0({map:Ew,keys:[t,e,r,n],value:a})}function g3(t,e,r,n){return V0({map:Ew,keys:[t,e,r,n]})}var Ou=function(){if(arguments.length===2)return kw.apply(null,arguments);if(arguments.length===3)return xw.apply(null,arguments);if(arguments.length===4)return g3.apply(null,arguments);if(arguments.length===5)return v3.apply(null,arguments);Qe("Invalid extension access syntax")};go.prototype.extension=Ou,p3.forEach(function(t){t.extensions.forEach(function(e){xw(t.type,e.name,e.impl)})});var Sw=function t(){if(!(this instanceof t))return new t;this.length=0},da=Sw.prototype;da.instanceString=function(){return"stylesheet"},da.selector=function(t){var e=this.length++;return this[e]={selector:t,properties:[]},this},da.css=function(t,e){var r=this.length-1;if(Ee(t))this[r].properties.push({name:t,value:e});else if(Pe(t))for(var n=t,a=Object.keys(n),i=0;i<a.length;i++){var o=a[i],l=n[o];if(l!=null){var u=Pt.properties[o]||Pt.properties[ps(o)];if(u!=null){var c=u.name,d=l;this[r].properties.push({name:c,value:d})}}}return this},da.style=da.css,da.generateStyle=function(t){var e=new Pt(t);return this.appendToStyle(e)},da.appendToStyle=function(t){for(var e=0;e<this.length;e++){var r=this[e],n=r.selector,a=r.properties;t.selector(n);for(var i=0;i<a.length;i++){var o=a[i];t.css(o.name,o.value)}}return t};var m3="3.30.2",Dn=function(e){if(e===void 0&&(e={}),Pe(e))return new go(e);if(Ee(e))return Ou.apply(Ou,arguments)};Dn.use=function(t){var e=Array.prototype.slice.call(arguments,1);return e.unshift(Dn),t.apply(null,e),this},Dn.warnings=function(t){return Q0(t)},Dn.version=m3,Dn.stylesheet=Dn.Stylesheet=Sw;var _w={exports:{}};function Au(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Pu,Tw;function y3(){if(Tw)return Pu;Tw=1;function t(){this.__data__=[],this.size=0}return Pu=t,Pu}var Lu,Nw;function ui(){if(Nw)return Lu;Nw=1;function t(e,r){return e===r||e!==e&&r!==r}return Lu=t,Lu}var Ru,Iw;function cl(){if(Iw)return Ru;Iw=1;var t=ui();function e(r,n){for(var a=r.length;a--;)if(t(r[a][0],n))return a;return-1}return Ru=e,Ru}var Mu,Bw;function b3(){if(Bw)return Mu;Bw=1;var t=cl(),e=Array.prototype,r=e.splice;function n(a){var i=this.__data__,o=t(i,a);if(o<0)return!1;var l=i.length-1;return o==l?i.pop():r.call(i,o,1),--this.size,!0}return Mu=n,Mu}var Fu,Dw;function w3(){if(Dw)return Fu;Dw=1;var t=cl();function e(r){var n=this.__data__,a=t(n,r);return a<0?void 0:n[a][1]}return Fu=e,Fu}var $u,Ow;function C3(){if(Ow)return $u;Ow=1;var t=cl();function e(r){return t(this.__data__,r)>-1}return $u=e,$u}var Vu,Aw;function E3(){if(Aw)return Vu;Aw=1;var t=cl();function e(r,n){var a=this.__data__,i=t(a,r);return i<0?(++this.size,a.push([r,n])):a[i][1]=n,this}return Vu=e,Vu}var qu,Pw;function ul(){if(Pw)return qu;Pw=1;var t=y3(),e=b3(),r=w3(),n=C3(),a=E3();function i(o){var l=-1,u=o==null?0:o.length;for(this.clear();++l<u;){var c=o[l];this.set(c[0],c[1])}}return i.prototype.clear=t,i.prototype.delete=e,i.prototype.get=r,i.prototype.has=n,i.prototype.set=a,qu=i,qu}var zu,Lw;function x3(){if(Lw)return zu;Lw=1;var t=ul();function e(){this.__data__=new t,this.size=0}return zu=e,zu}var Hu,Rw;function k3(){if(Rw)return Hu;Rw=1;function t(e){var r=this.__data__,n=r.delete(e);return this.size=r.size,n}return Hu=t,Hu}var Ku,Mw;function S3(){if(Mw)return Ku;Mw=1;function t(e){return this.__data__.get(e)}return Ku=t,Ku}var Gu,Fw;function _3(){if(Fw)return Gu;Fw=1;function t(e){return this.__data__.has(e)}return Gu=t,Gu}var Uu,$w;function Vw(){if($w)return Uu;$w=1;var t=typeof Ri=="object"&&Ri&&Ri.Object===Object&&Ri;return Uu=t,Uu}var Wu,qw;function br(){if(qw)return Wu;qw=1;var t=Vw(),e=typeof self=="object"&&self&&self.Object===Object&&self,r=t||e||Function("return this")();return Wu=r,Wu}var ju,zw;function di(){if(zw)return ju;zw=1;var t=br(),e=t.Symbol;return ju=e,ju}var Yu,Hw;function T3(){if(Hw)return Yu;Hw=1;var t=di(),e=Object.prototype,r=e.hasOwnProperty,n=e.toString,a=t?t.toStringTag:void 0;function i(o){var l=r.call(o,a),u=o[a];try{o[a]=void 0;var c=!0}catch{}var d=n.call(o);return c&&(l?o[a]=u:delete o[a]),d}return Yu=i,Yu}var Zu,Kw;function N3(){if(Kw)return Zu;Kw=1;var t=Object.prototype,e=t.toString;function r(n){return e.call(n)}return Zu=r,Zu}var Xu,Gw;function fa(){if(Gw)return Xu;Gw=1;var t=di(),e=T3(),r=N3(),n="[object Null]",a="[object Undefined]",i=t?t.toStringTag:void 0;function o(l){return l==null?l===void 0?a:n:i&&i in Object(l)?e(l):r(l)}return Xu=o,Xu}var Ju,Uw;function sr(){if(Uw)return Ju;Uw=1;function t(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}return Ju=t,Ju}var Qu,Ww;function Eo(){if(Ww)return Qu;Ww=1;var t=fa(),e=sr(),r="[object AsyncFunction]",n="[object Function]",a="[object GeneratorFunction]",i="[object Proxy]";function o(l){if(!e(l))return!1;var u=t(l);return u==n||u==a||u==r||u==i}return Qu=o,Qu}var ed,jw;function I3(){if(jw)return ed;jw=1;var t=br(),e=t["__core-js_shared__"];return ed=e,ed}var td,Yw;function B3(){if(Yw)return td;Yw=1;var t=I3(),e=function(){var n=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}();function r(n){return!!e&&e in n}return td=r,td}var rd,Zw;function Xw(){if(Zw)return rd;Zw=1;var t=Function.prototype,e=t.toString;function r(n){if(n!=null){try{return e.call(n)}catch{}try{return n+""}catch{}}return""}return rd=r,rd}var nd,Jw;function D3(){if(Jw)return nd;Jw=1;var t=Eo(),e=B3(),r=sr(),n=Xw(),a=/[\\^$.*+?()[\]{}|]/g,i=/^\[object .+?Constructor\]$/,o=Function.prototype,l=Object.prototype,u=o.toString,c=l.hasOwnProperty,d=RegExp("^"+u.call(c).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function f(h){if(!r(h)||e(h))return!1;var v=t(h)?d:i;return v.test(n(h))}return nd=f,nd}var ad,Qw;function O3(){if(Qw)return ad;Qw=1;function t(e,r){return e==null?void 0:e[r]}return ad=t,ad}var id,eC;function ha(){if(eC)return id;eC=1;var t=D3(),e=O3();function r(n,a){var i=e(n,a);return t(i)?i:void 0}return id=r,id}var od,tC;function sd(){if(tC)return od;tC=1;var t=ha(),e=br(),r=t(e,"Map");return od=r,od}var ld,rC;function dl(){if(rC)return ld;rC=1;var t=ha(),e=t(Object,"create");return ld=e,ld}var cd,nC;function A3(){if(nC)return cd;nC=1;var t=dl();function e(){this.__data__=t?t(null):{},this.size=0}return cd=e,cd}var ud,aC;function P3(){if(aC)return ud;aC=1;function t(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r}return ud=t,ud}var dd,iC;function L3(){if(iC)return dd;iC=1;var t=dl(),e="__lodash_hash_undefined__",r=Object.prototype,n=r.hasOwnProperty;function a(i){var o=this.__data__;if(t){var l=o[i];return l===e?void 0:l}return n.call(o,i)?o[i]:void 0}return dd=a,dd}var fd,oC;function R3(){if(oC)return fd;oC=1;var t=dl(),e=Object.prototype,r=e.hasOwnProperty;function n(a){var i=this.__data__;return t?i[a]!==void 0:r.call(i,a)}return fd=n,fd}var hd,sC;function M3(){if(sC)return hd;sC=1;var t=dl(),e="__lodash_hash_undefined__";function r(n,a){var i=this.__data__;return this.size+=this.has(n)?0:1,i[n]=t&&a===void 0?e:a,this}return hd=r,hd}var pd,lC;function F3(){if(lC)return pd;lC=1;var t=A3(),e=P3(),r=L3(),n=R3(),a=M3();function i(o){var l=-1,u=o==null?0:o.length;for(this.clear();++l<u;){var c=o[l];this.set(c[0],c[1])}}return i.prototype.clear=t,i.prototype.delete=e,i.prototype.get=r,i.prototype.has=n,i.prototype.set=a,pd=i,pd}var vd,cC;function $3(){if(cC)return vd;cC=1;var t=F3(),e=ul(),r=sd();function n(){this.size=0,this.__data__={hash:new t,map:new(r||e),string:new t}}return vd=n,vd}var gd,uC;function V3(){if(uC)return gd;uC=1;function t(e){var r=typeof e;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?e!=="__proto__":e===null}return gd=t,gd}var md,dC;function fl(){if(dC)return md;dC=1;var t=V3();function e(r,n){var a=r.__data__;return t(n)?a[typeof n=="string"?"string":"hash"]:a.map}return md=e,md}var yd,fC;function q3(){if(fC)return yd;fC=1;var t=fl();function e(r){var n=t(this,r).delete(r);return this.size-=n?1:0,n}return yd=e,yd}var bd,hC;function z3(){if(hC)return bd;hC=1;var t=fl();function e(r){return t(this,r).get(r)}return bd=e,bd}var wd,pC;function H3(){if(pC)return wd;pC=1;var t=fl();function e(r){return t(this,r).has(r)}return wd=e,wd}var Cd,vC;function K3(){if(vC)return Cd;vC=1;var t=fl();function e(r,n){var a=t(this,r),i=a.size;return a.set(r,n),this.size+=a.size==i?0:1,this}return Cd=e,Cd}var Ed,gC;function xd(){if(gC)return Ed;gC=1;var t=$3(),e=q3(),r=z3(),n=H3(),a=K3();function i(o){var l=-1,u=o==null?0:o.length;for(this.clear();++l<u;){var c=o[l];this.set(c[0],c[1])}}return i.prototype.clear=t,i.prototype.delete=e,i.prototype.get=r,i.prototype.has=n,i.prototype.set=a,Ed=i,Ed}var kd,mC;function G3(){if(mC)return kd;mC=1;var t=ul(),e=sd(),r=xd(),n=200;function a(i,o){var l=this.__data__;if(l instanceof t){var u=l.__data__;if(!e||u.length<n-1)return u.push([i,o]),this.size=++l.size,this;l=this.__data__=new r(u)}return l.set(i,o),this.size=l.size,this}return kd=a,kd}var Sd,yC;function hl(){if(yC)return Sd;yC=1;var t=ul(),e=x3(),r=k3(),n=S3(),a=_3(),i=G3();function o(l){var u=this.__data__=new t(l);this.size=u.size}return o.prototype.clear=e,o.prototype.delete=r,o.prototype.get=n,o.prototype.has=a,o.prototype.set=i,Sd=o,Sd}var _d,bC;function Td(){if(bC)return _d;bC=1;function t(e,r){for(var n=-1,a=e==null?0:e.length;++n<a&&r(e[n],n,e)!==!1;);return e}return _d=t,_d}var Nd,wC;function CC(){if(wC)return Nd;wC=1;var t=ha(),e=function(){try{var r=t(Object,"defineProperty");return r({},"",{}),r}catch{}}();return Nd=e,Nd}var Id,EC;function pl(){if(EC)return Id;EC=1;var t=CC();function e(r,n,a){n=="__proto__"&&t?t(r,n,{configurable:!0,enumerable:!0,value:a,writable:!0}):r[n]=a}return Id=e,Id}var Bd,xC;function vl(){if(xC)return Bd;xC=1;var t=pl(),e=ui(),r=Object.prototype,n=r.hasOwnProperty;function a(i,o,l){var u=i[o];(!(n.call(i,o)&&e(u,l))||l===void 0&&!(o in i))&&t(i,o,l)}return Bd=a,Bd}var Dd,kC;function xo(){if(kC)return Dd;kC=1;var t=vl(),e=pl();function r(n,a,i,o){var l=!i;i||(i={});for(var u=-1,c=a.length;++u<c;){var d=a[u],f=o?o(i[d],n[d],d,i,n):void 0;f===void 0&&(f=n[d]),l?e(i,d,f):t(i,d,f)}return i}return Dd=r,Dd}var Od,SC;function U3(){if(SC)return Od;SC=1;function t(e,r){for(var n=-1,a=Array(e);++n<e;)a[n]=r(n);return a}return Od=t,Od}var Ad,_C;function Lr(){if(_C)return Ad;_C=1;function t(e){return e!=null&&typeof e=="object"}return Ad=t,Ad}var Pd,TC;function W3(){if(TC)return Pd;TC=1;var t=fa(),e=Lr(),r="[object Arguments]";function n(a){return e(a)&&t(a)==r}return Pd=n,Pd}var Ld,NC;function ko(){if(NC)return Ld;NC=1;var t=W3(),e=Lr(),r=Object.prototype,n=r.hasOwnProperty,a=r.propertyIsEnumerable,i=t(function(){return arguments}())?t:function(o){return e(o)&&n.call(o,"callee")&&!a.call(o,"callee")};return Ld=i,Ld}var Rd,IC;function ot(){if(IC)return Rd;IC=1;var t=Array.isArray;return Rd=t,Rd}var So={exports:{}},Md,BC;function j3(){if(BC)return Md;BC=1;function t(){return!1}return Md=t,Md}So.exports;var DC;function fi(){return DC||(DC=1,function(t,e){var r=br(),n=j3(),a=e&&!e.nodeType&&e,i=a&&!0&&t&&!t.nodeType&&t,o=i&&i.exports===a,l=o?r.Buffer:void 0,u=l?l.isBuffer:void 0,c=u||n;t.exports=c}(So,So.exports)),So.exports}var Fd,OC;function gl(){if(OC)return Fd;OC=1;var t=9007199254740991,e=/^(?:0|[1-9]\d*)$/;function r(n,a){var i=typeof n;return a=a??t,!!a&&(i=="number"||i!="symbol"&&e.test(n))&&n>-1&&n%1==0&&n<a}return Fd=r,Fd}var $d,AC;function Vd(){if(AC)return $d;AC=1;var t=9007199254740991;function e(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=t}return $d=e,$d}var qd,PC;function Y3(){if(PC)return qd;PC=1;var t=fa(),e=Vd(),r=Lr(),n="[object Arguments]",a="[object Array]",i="[object Boolean]",o="[object Date]",l="[object Error]",u="[object Function]",c="[object Map]",d="[object Number]",f="[object Object]",h="[object RegExp]",v="[object Set]",p="[object String]",g="[object WeakMap]",m="[object ArrayBuffer]",y="[object DataView]",b="[object Float32Array]",w="[object Float64Array]",C="[object Int8Array]",x="[object Int16Array]",k="[object Int32Array]",E="[object Uint8Array]",_="[object Uint8ClampedArray]",S="[object Uint16Array]",T="[object Uint32Array]",N={};N[b]=N[w]=N[C]=N[x]=N[k]=N[E]=N[_]=N[S]=N[T]=!0,N[n]=N[a]=N[m]=N[i]=N[y]=N[o]=N[l]=N[u]=N[c]=N[d]=N[f]=N[h]=N[v]=N[p]=N[g]=!1;function B(O){return r(O)&&e(O.length)&&!!N[t(O)]}return qd=B,qd}var zd,LC;function ml(){if(LC)return zd;LC=1;function t(e){return function(r){return e(r)}}return zd=t,zd}var _o={exports:{}};_o.exports;var RC;function Hd(){return RC||(RC=1,function(t,e){var r=Vw(),n=e&&!e.nodeType&&e,a=n&&!0&&t&&!t.nodeType&&t,i=a&&a.exports===n,o=i&&r.process,l=function(){try{var u=a&&a.require&&a.require("util").types;return u||o&&o.binding&&o.binding("util")}catch{}}();t.exports=l}(_o,_o.exports)),_o.exports}var Kd,MC;function To(){if(MC)return Kd;MC=1;var t=Y3(),e=ml(),r=Hd(),n=r&&r.isTypedArray,a=n?e(n):t;return Kd=a,Kd}var Gd,FC;function $C(){if(FC)return Gd;FC=1;var t=U3(),e=ko(),r=ot(),n=fi(),a=gl(),i=To(),o=Object.prototype,l=o.hasOwnProperty;function u(c,d){var f=r(c),h=!f&&e(c),v=!f&&!h&&n(c),p=!f&&!h&&!v&&i(c),g=f||h||v||p,m=g?t(c.length,String):[],y=m.length;for(var b in c)(d||l.call(c,b))&&!(g&&(b=="length"||v&&(b=="offset"||b=="parent")||p&&(b=="buffer"||b=="byteLength"||b=="byteOffset")||a(b,y)))&&m.push(b);return m}return Gd=u,Gd}var Ud,VC;function yl(){if(VC)return Ud;VC=1;var t=Object.prototype;function e(r){var n=r&&r.constructor,a=typeof n=="function"&&n.prototype||t;return r===a}return Ud=e,Ud}var Wd,qC;function zC(){if(qC)return Wd;qC=1;function t(e,r){return function(n){return e(r(n))}}return Wd=t,Wd}var jd,HC;function Z3(){if(HC)return jd;HC=1;var t=zC(),e=t(Object.keys,Object);return jd=e,jd}var Yd,KC;function Zd(){if(KC)return Yd;KC=1;var t=yl(),e=Z3(),r=Object.prototype,n=r.hasOwnProperty;function a(i){if(!t(i))return e(i);var o=[];for(var l in Object(i))n.call(i,l)&&l!="constructor"&&o.push(l);return o}return Yd=a,Yd}var Xd,GC;function rn(){if(GC)return Xd;GC=1;var t=Eo(),e=Vd();function r(n){return n!=null&&e(n.length)&&!t(n)}return Xd=r,Xd}var Jd,UC;function On(){if(UC)return Jd;UC=1;var t=$C(),e=Zd(),r=rn();function n(a){return r(a)?t(a):e(a)}return Jd=n,Jd}var Qd,WC;function X3(){if(WC)return Qd;WC=1;var t=xo(),e=On();function r(n,a){return n&&t(a,e(a),n)}return Qd=r,Qd}var ef,jC;function J3(){if(jC)return ef;jC=1;function t(e){var r=[];if(e!=null)for(var n in Object(e))r.push(n);return r}return ef=t,ef}var tf,YC;function Q3(){if(YC)return tf;YC=1;var t=sr(),e=yl(),r=J3(),n=Object.prototype,a=n.hasOwnProperty;function i(o){if(!t(o))return r(o);var l=e(o),u=[];for(var c in o)c=="constructor"&&(l||!a.call(o,c))||u.push(c);return u}return tf=i,tf}var rf,ZC;function pa(){if(ZC)return rf;ZC=1;var t=$C(),e=Q3(),r=rn();function n(a){return r(a)?t(a,!0):e(a)}return rf=n,rf}var nf,XC;function e8(){if(XC)return nf;XC=1;var t=xo(),e=pa();function r(n,a){return n&&t(a,e(a),n)}return nf=r,nf}var No={exports:{}};No.exports;var JC;function QC(){return JC||(JC=1,function(t,e){var r=br(),n=e&&!e.nodeType&&e,a=n&&!0&&t&&!t.nodeType&&t,i=a&&a.exports===n,o=i?r.Buffer:void 0,l=o?o.allocUnsafe:void 0;function u(c,d){if(d)return c.slice();var f=c.length,h=l?l(f):new c.constructor(f);return c.copy(h),h}t.exports=u}(No,No.exports)),No.exports}var af,eE;function tE(){if(eE)return af;eE=1;function t(e,r){var n=-1,a=e.length;for(r||(r=Array(a));++n<a;)r[n]=e[n];return r}return af=t,af}var of,rE;function nE(){if(rE)return of;rE=1;function t(e,r){for(var n=-1,a=e==null?0:e.length,i=0,o=[];++n<a;){var l=e[n];r(l,n,e)&&(o[i++]=l)}return o}return of=t,of}var sf,aE;function iE(){if(aE)return sf;aE=1;function t(){return[]}return sf=t,sf}var lf,oE;function cf(){if(oE)return lf;oE=1;var t=nE(),e=iE(),r=Object.prototype,n=r.propertyIsEnumerable,a=Object.getOwnPropertySymbols,i=a?function(o){return o==null?[]:(o=Object(o),t(a(o),function(l){return n.call(o,l)}))}:e;return lf=i,lf}var uf,sE;function t8(){if(sE)return uf;sE=1;var t=xo(),e=cf();function r(n,a){return t(n,e(n),a)}return uf=r,uf}var df,lE;function ff(){if(lE)return df;lE=1;function t(e,r){for(var n=-1,a=r.length,i=e.length;++n<a;)e[i+n]=r[n];return e}return df=t,df}var hf,cE;function bl(){if(cE)return hf;cE=1;var t=zC(),e=t(Object.getPrototypeOf,Object);return hf=e,hf}var pf,uE;function dE(){if(uE)return pf;uE=1;var t=ff(),e=bl(),r=cf(),n=iE(),a=Object.getOwnPropertySymbols,i=a?function(o){for(var l=[];o;)t(l,r(o)),o=e(o);return l}:n;return pf=i,pf}var vf,fE;function r8(){if(fE)return vf;fE=1;var t=xo(),e=dE();function r(n,a){return t(n,e(n),a)}return vf=r,vf}var gf,hE;function pE(){if(hE)return gf;hE=1;var t=ff(),e=ot();function r(n,a,i){var o=a(n);return e(n)?o:t(o,i(n))}return gf=r,gf}var mf,vE;function gE(){if(vE)return mf;vE=1;var t=pE(),e=cf(),r=On();function n(a){return t(a,r,e)}return mf=n,mf}var yf,mE;function n8(){if(mE)return yf;mE=1;var t=pE(),e=dE(),r=pa();function n(a){return t(a,r,e)}return yf=n,yf}var bf,yE;function a8(){if(yE)return bf;yE=1;var t=ha(),e=br(),r=t(e,"DataView");return bf=r,bf}var wf,bE;function i8(){if(bE)return wf;bE=1;var t=ha(),e=br(),r=t(e,"Promise");return wf=r,wf}var Cf,wE;function CE(){if(wE)return Cf;wE=1;var t=ha(),e=br(),r=t(e,"Set");return Cf=r,Cf}var Ef,EE;function o8(){if(EE)return Ef;EE=1;var t=ha(),e=br(),r=t(e,"WeakMap");return Ef=r,Ef}var xf,xE;function hi(){if(xE)return xf;xE=1;var t=a8(),e=sd(),r=i8(),n=CE(),a=o8(),i=fa(),o=Xw(),l="[object Map]",u="[object Object]",c="[object Promise]",d="[object Set]",f="[object WeakMap]",h="[object DataView]",v=o(t),p=o(e),g=o(r),m=o(n),y=o(a),b=i;return(t&&b(new t(new ArrayBuffer(1)))!=h||e&&b(new e)!=l||r&&b(r.resolve())!=c||n&&b(new n)!=d||a&&b(new a)!=f)&&(b=function(w){var C=i(w),x=C==u?w.constructor:void 0,k=x?o(x):"";if(k)switch(k){case v:return h;case p:return l;case g:return c;case m:return d;case y:return f}return C}),xf=b,xf}var kf,kE;function s8(){if(kE)return kf;kE=1;var t=Object.prototype,e=t.hasOwnProperty;function r(n){var a=n.length,i=new n.constructor(a);return a&&typeof n[0]=="string"&&e.call(n,"index")&&(i.index=n.index,i.input=n.input),i}return kf=r,kf}var Sf,SE;function _E(){if(SE)return Sf;SE=1;var t=br(),e=t.Uint8Array;return Sf=e,Sf}var _f,TE;function Tf(){if(TE)return _f;TE=1;var t=_E();function e(r){var n=new r.constructor(r.byteLength);return new t(n).set(new t(r)),n}return _f=e,_f}var Nf,NE;function l8(){if(NE)return Nf;NE=1;var t=Tf();function e(r,n){var a=n?t(r.buffer):r.buffer;return new r.constructor(a,r.byteOffset,r.byteLength)}return Nf=e,Nf}var If,IE;function c8(){if(IE)return If;IE=1;var t=/\w*$/;function e(r){var n=new r.constructor(r.source,t.exec(r));return n.lastIndex=r.lastIndex,n}return If=e,If}var Bf,BE;function u8(){if(BE)return Bf;BE=1;var t=di(),e=t?t.prototype:void 0,r=e?e.valueOf:void 0;function n(a){return r?Object(r.call(a)):{}}return Bf=n,Bf}var Df,DE;function OE(){if(DE)return Df;DE=1;var t=Tf();function e(r,n){var a=n?t(r.buffer):r.buffer;return new r.constructor(a,r.byteOffset,r.length)}return Df=e,Df}var Of,AE;function d8(){if(AE)return Of;AE=1;var t=Tf(),e=l8(),r=c8(),n=u8(),a=OE(),i="[object Boolean]",o="[object Date]",l="[object Map]",u="[object Number]",c="[object RegExp]",d="[object Set]",f="[object String]",h="[object Symbol]",v="[object ArrayBuffer]",p="[object DataView]",g="[object Float32Array]",m="[object Float64Array]",y="[object Int8Array]",b="[object Int16Array]",w="[object Int32Array]",C="[object Uint8Array]",x="[object Uint8ClampedArray]",k="[object Uint16Array]",E="[object Uint32Array]";function _(S,T,N){var B=S.constructor;switch(T){case v:return t(S);case i:case o:return new B(+S);case p:return e(S,N);case g:case m:case y:case b:case w:case C:case x:case k:case E:return a(S,N);case l:return new B;case u:case f:return new B(S);case c:return r(S);case d:return new B;case h:return n(S)}}return Of=_,Of}var Af,PE;function LE(){if(PE)return Af;PE=1;var t=sr(),e=Object.create,r=function(){function n(){}return function(a){if(!t(a))return{};if(e)return e(a);n.prototype=a;var i=new n;return n.prototype=void 0,i}}();return Af=r,Af}var Pf,RE;function ME(){if(RE)return Pf;RE=1;var t=LE(),e=bl(),r=yl();function n(a){return typeof a.constructor=="function"&&!r(a)?t(e(a)):{}}return Pf=n,Pf}var Lf,FE;function f8(){if(FE)return Lf;FE=1;var t=hi(),e=Lr(),r="[object Map]";function n(a){return e(a)&&t(a)==r}return Lf=n,Lf}var Rf,$E;function h8(){if($E)return Rf;$E=1;var t=f8(),e=ml(),r=Hd(),n=r&&r.isMap,a=n?e(n):t;return Rf=a,Rf}var Mf,VE;function p8(){if(VE)return Mf;VE=1;var t=hi(),e=Lr(),r="[object Set]";function n(a){return e(a)&&t(a)==r}return Mf=n,Mf}var Ff,qE;function v8(){if(qE)return Ff;qE=1;var t=p8(),e=ml(),r=Hd(),n=r&&r.isSet,a=n?e(n):t;return Ff=a,Ff}var $f,zE;function HE(){if(zE)return $f;zE=1;var t=hl(),e=Td(),r=vl(),n=X3(),a=e8(),i=QC(),o=tE(),l=t8(),u=r8(),c=gE(),d=n8(),f=hi(),h=s8(),v=d8(),p=ME(),g=ot(),m=fi(),y=h8(),b=sr(),w=v8(),C=On(),x=pa(),k=1,E=2,_=4,S="[object Arguments]",T="[object Array]",N="[object Boolean]",B="[object Date]",O="[object Error]",D="[object Function]",L="[object GeneratorFunction]",A="[object Map]",M="[object Number]",P="[object Object]",z="[object RegExp]",W="[object Set]",H="[object String]",G="[object Symbol]",X="[object WeakMap]",F="[object ArrayBuffer]",V="[object DataView]",q="[object Float32Array]",$="[object Float64Array]",K="[object Int8Array]",R="[object Int16Array]",j="[object Int32Array]",Y="[object Uint8Array]",se="[object Uint8ClampedArray]",ce="[object Uint16Array]",ae="[object Uint32Array]",ne={};ne[S]=ne[T]=ne[F]=ne[V]=ne[N]=ne[B]=ne[q]=ne[$]=ne[K]=ne[R]=ne[j]=ne[A]=ne[M]=ne[P]=ne[z]=ne[W]=ne[H]=ne[G]=ne[Y]=ne[se]=ne[ce]=ne[ae]=!0,ne[O]=ne[D]=ne[X]=!1;function ue(ie,fe,pe,Oe,Ie,we){var ke,re=fe&k,I=fe&E,U=fe&_;if(pe&&(ke=Ie?pe(ie,Oe,Ie,we):pe(ie)),ke!==void 0)return ke;if(!b(ie))return ie;var te=g(ie);if(te){if(ke=h(ie),!re)return o(ie,ke)}else{var Z=f(ie),J=Z==D||Z==L;if(m(ie))return i(ie,re);if(Z==P||Z==S||J&&!Ie){if(ke=I||J?{}:p(ie),!re)return I?u(ie,a(ke,ie)):l(ie,n(ke,ie))}else{if(!ne[Z])return Ie?ie:{};ke=v(ie,Z,re)}}we||(we=new t);var le=we.get(ie);if(le)return le;we.set(ie,ke),w(ie)?ie.forEach(function(me){ke.add(ue(me,fe,pe,me,ie,we))}):y(ie)&&ie.forEach(function(me,be){ke.set(be,ue(me,fe,pe,be,ie,we))});var ee=U?I?d:c:I?x:C,oe=te?void 0:ee(ie);return e(oe||ie,function(me,be){oe&&(be=me,me=ie[be]),r(ke,be,ue(me,fe,pe,be,ie,we))}),ke}return $f=ue,$f}var Vf,KE;function g8(){if(KE)return Vf;KE=1;var t=HE(),e=4;function r(n){return t(n,e)}return Vf=r,Vf}var qf,GE;function zf(){if(GE)return qf;GE=1;function t(e){return function(){return e}}return qf=t,qf}var Hf,UE;function m8(){if(UE)return Hf;UE=1;function t(e){return function(r,n,a){for(var i=-1,o=Object(r),l=a(r),u=l.length;u--;){var c=l[e?u:++i];if(n(o[c],c,o)===!1)break}return r}}return Hf=t,Hf}var Kf,WE;function Gf(){if(WE)return Kf;WE=1;var t=m8(),e=t();return Kf=e,Kf}var Uf,jE;function Wf(){if(jE)return Uf;jE=1;var t=Gf(),e=On();function r(n,a){return n&&t(n,a,e)}return Uf=r,Uf}var jf,YE;function y8(){if(YE)return jf;YE=1;var t=rn();function e(r,n){return function(a,i){if(a==null)return a;if(!t(a))return r(a,i);for(var o=a.length,l=n?o:-1,u=Object(a);(n?l--:++l<o)&&i(u[l],l,u)!==!1;);return a}}return jf=e,jf}var Yf,ZE;function wl(){if(ZE)return Yf;ZE=1;var t=Wf(),e=y8(),r=e(t);return Yf=r,Yf}var Zf,XE;function va(){if(XE)return Zf;XE=1;function t(e){return e}return Zf=t,Zf}var Xf,JE;function QE(){if(JE)return Xf;JE=1;var t=va();function e(r){return typeof r=="function"?r:t}return Xf=e,Xf}var Jf,ex;function tx(){if(ex)return Jf;ex=1;var t=Td(),e=wl(),r=QE(),n=ot();function a(i,o){var l=n(i)?t:e;return l(i,r(o))}return Jf=a,Jf}var Qf,rx;function nx(){return rx||(rx=1,Qf=tx()),Qf}var eh,ax;function b8(){if(ax)return eh;ax=1;var t=wl();function e(r,n){var a=[];return t(r,function(i,o,l){n(i,o,l)&&a.push(i)}),a}return eh=e,eh}var th,ix;function w8(){if(ix)return th;ix=1;var t="__lodash_hash_undefined__";function e(r){return this.__data__.set(r,t),this}return th=e,th}var rh,ox;function C8(){if(ox)return rh;ox=1;function t(e){return this.__data__.has(e)}return rh=t,rh}var nh,sx;function lx(){if(sx)return nh;sx=1;var t=xd(),e=w8(),r=C8();function n(a){var i=-1,o=a==null?0:a.length;for(this.__data__=new t;++i<o;)this.add(a[i])}return n.prototype.add=n.prototype.push=e,n.prototype.has=r,nh=n,nh}var ah,cx;function E8(){if(cx)return ah;cx=1;function t(e,r){for(var n=-1,a=e==null?0:e.length;++n<a;)if(r(e[n],n,e))return!0;return!1}return ah=t,ah}var ih,ux;function dx(){if(ux)return ih;ux=1;function t(e,r){return e.has(r)}return ih=t,ih}var oh,fx;function hx(){if(fx)return oh;fx=1;var t=lx(),e=E8(),r=dx(),n=1,a=2;function i(o,l,u,c,d,f){var h=u&n,v=o.length,p=l.length;if(v!=p&&!(h&&p>v))return!1;var g=f.get(o),m=f.get(l);if(g&&m)return g==l&&m==o;var y=-1,b=!0,w=u&a?new t:void 0;for(f.set(o,l),f.set(l,o);++y<v;){var C=o[y],x=l[y];if(c)var k=h?c(x,C,y,l,o,f):c(C,x,y,o,l,f);if(k!==void 0){if(k)continue;b=!1;break}if(w){if(!e(l,function(E,_){if(!r(w,_)&&(C===E||d(C,E,u,c,f)))return w.push(_)})){b=!1;break}}else if(!(C===x||d(C,x,u,c,f))){b=!1;break}}return f.delete(o),f.delete(l),b}return oh=i,oh}var sh,px;function x8(){if(px)return sh;px=1;function t(e){var r=-1,n=Array(e.size);return e.forEach(function(a,i){n[++r]=[i,a]}),n}return sh=t,sh}var lh,vx;function ch(){if(vx)return lh;vx=1;function t(e){var r=-1,n=Array(e.size);return e.forEach(function(a){n[++r]=a}),n}return lh=t,lh}var uh,gx;function k8(){if(gx)return uh;gx=1;var t=di(),e=_E(),r=ui(),n=hx(),a=x8(),i=ch(),o=1,l=2,u="[object Boolean]",c="[object Date]",d="[object Error]",f="[object Map]",h="[object Number]",v="[object RegExp]",p="[object Set]",g="[object String]",m="[object Symbol]",y="[object ArrayBuffer]",b="[object DataView]",w=t?t.prototype:void 0,C=w?w.valueOf:void 0;function x(k,E,_,S,T,N,B){switch(_){case b:if(k.byteLength!=E.byteLength||k.byteOffset!=E.byteOffset)return!1;k=k.buffer,E=E.buffer;case y:return!(k.byteLength!=E.byteLength||!N(new e(k),new e(E)));case u:case c:case h:return r(+k,+E);case d:return k.name==E.name&&k.message==E.message;case v:case g:return k==E+"";case f:var O=a;case p:var D=S&o;if(O||(O=i),k.size!=E.size&&!D)return!1;var L=B.get(k);if(L)return L==E;S|=l,B.set(k,E);var A=n(O(k),O(E),S,T,N,B);return B.delete(k),A;case m:if(C)return C.call(k)==C.call(E)}return!1}return uh=x,uh}var dh,mx;function S8(){if(mx)return dh;mx=1;var t=gE(),e=1,r=Object.prototype,n=r.hasOwnProperty;function a(i,o,l,u,c,d){var f=l&e,h=t(i),v=h.length,p=t(o),g=p.length;if(v!=g&&!f)return!1;for(var m=v;m--;){var y=h[m];if(!(f?y in o:n.call(o,y)))return!1}var b=d.get(i),w=d.get(o);if(b&&w)return b==o&&w==i;var C=!0;d.set(i,o),d.set(o,i);for(var x=f;++m<v;){y=h[m];var k=i[y],E=o[y];if(u)var _=f?u(E,k,y,o,i,d):u(k,E,y,i,o,d);if(!(_===void 0?k===E||c(k,E,l,u,d):_)){C=!1;break}x||(x=y=="constructor")}if(C&&!x){var S=i.constructor,T=o.constructor;S!=T&&"constructor"in i&&"constructor"in o&&!(typeof S=="function"&&S instanceof S&&typeof T=="function"&&T instanceof T)&&(C=!1)}return d.delete(i),d.delete(o),C}return dh=a,dh}var fh,yx;function _8(){if(yx)return fh;yx=1;var t=hl(),e=hx(),r=k8(),n=S8(),a=hi(),i=ot(),o=fi(),l=To(),u=1,c="[object Arguments]",d="[object Array]",f="[object Object]",h=Object.prototype,v=h.hasOwnProperty;function p(g,m,y,b,w,C){var x=i(g),k=i(m),E=x?d:a(g),_=k?d:a(m);E=E==c?f:E,_=_==c?f:_;var S=E==f,T=_==f,N=E==_;if(N&&o(g)){if(!o(m))return!1;x=!0,S=!1}if(N&&!S)return C||(C=new t),x||l(g)?e(g,m,y,b,w,C):r(g,m,E,y,b,w,C);if(!(y&u)){var B=S&&v.call(g,"__wrapped__"),O=T&&v.call(m,"__wrapped__");if(B||O){var D=B?g.value():g,L=O?m.value():m;return C||(C=new t),w(D,L,y,b,C)}}return N?(C||(C=new t),n(g,m,y,b,w,C)):!1}return fh=p,fh}var hh,bx;function wx(){if(bx)return hh;bx=1;var t=_8(),e=Lr();function r(n,a,i,o,l){return n===a?!0:n==null||a==null||!e(n)&&!e(a)?n!==n&&a!==a:t(n,a,i,o,r,l)}return hh=r,hh}var ph,Cx;function T8(){if(Cx)return ph;Cx=1;var t=hl(),e=wx(),r=1,n=2;function a(i,o,l,u){var c=l.length,d=c,f=!u;if(i==null)return!d;for(i=Object(i);c--;){var h=l[c];if(f&&h[2]?h[1]!==i[h[0]]:!(h[0]in i))return!1}for(;++c<d;){h=l[c];var v=h[0],p=i[v],g=h[1];if(f&&h[2]){if(p===void 0&&!(v in i))return!1}else{var m=new t;if(u)var y=u(p,g,v,i,o,m);if(!(y===void 0?e(g,p,r|n,u,m):y))return!1}}return!0}return ph=a,ph}var vh,Ex;function xx(){if(Ex)return vh;Ex=1;var t=sr();function e(r){return r===r&&!t(r)}return vh=e,vh}var gh,kx;function N8(){if(kx)return gh;kx=1;var t=xx(),e=On();function r(n){for(var a=e(n),i=a.length;i--;){var o=a[i],l=n[o];a[i]=[o,l,t(l)]}return a}return gh=r,gh}var mh,Sx;function _x(){if(Sx)return mh;Sx=1;function t(e,r){return function(n){return n==null?!1:n[e]===r&&(r!==void 0||e in Object(n))}}return mh=t,mh}var yh,Tx;function I8(){if(Tx)return yh;Tx=1;var t=T8(),e=N8(),r=_x();function n(a){var i=e(a);return i.length==1&&i[0][2]?r(i[0][0],i[0][1]):function(o){return o===a||t(o,a,i)}}return yh=n,yh}var bh,Nx;function pi(){if(Nx)return bh;Nx=1;var t=fa(),e=Lr(),r="[object Symbol]";function n(a){return typeof a=="symbol"||e(a)&&t(a)==r}return bh=n,bh}var wh,Ix;function Ch(){if(Ix)return wh;Ix=1;var t=ot(),e=pi(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;function a(i,o){if(t(i))return!1;var l=typeof i;return l=="number"||l=="symbol"||l=="boolean"||i==null||e(i)?!0:n.test(i)||!r.test(i)||o!=null&&i in Object(o)}return wh=a,wh}var Eh,Bx;function B8(){if(Bx)return Eh;Bx=1;var t=xd(),e="Expected a function";function r(n,a){if(typeof n!="function"||a!=null&&typeof a!="function")throw new TypeError(e);var i=function(){var o=arguments,l=a?a.apply(this,o):o[0],u=i.cache;if(u.has(l))return u.get(l);var c=n.apply(this,o);return i.cache=u.set(l,c)||u,c};return i.cache=new(r.Cache||t),i}return r.Cache=t,Eh=r,Eh}var xh,Dx;function D8(){if(Dx)return xh;Dx=1;var t=B8(),e=500;function r(n){var a=t(n,function(o){return i.size===e&&i.clear(),o}),i=a.cache;return a}return xh=r,xh}var kh,Ox;function O8(){if(Ox)return kh;Ox=1;var t=D8(),e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,n=t(function(a){var i=[];return a.charCodeAt(0)===46&&i.push(""),a.replace(e,function(o,l,u,c){i.push(u?c.replace(r,"$1"):l||o)}),i});return kh=n,kh}var Sh,Ax;function Cl(){if(Ax)return Sh;Ax=1;function t(e,r){for(var n=-1,a=e==null?0:e.length,i=Array(a);++n<a;)i[n]=r(e[n],n,e);return i}return Sh=t,Sh}var _h,Px;function A8(){if(Px)return _h;Px=1;var t=di(),e=Cl(),r=ot(),n=pi(),a=t?t.prototype:void 0,i=a?a.toString:void 0;function o(l){if(typeof l=="string")return l;if(r(l))return e(l,o)+"";if(n(l))return i?i.call(l):"";var u=l+"";return u=="0"&&1/l==-1/0?"-0":u}return _h=o,_h}var Th,Lx;function Rx(){if(Lx)return Th;Lx=1;var t=A8();function e(r){return r==null?"":t(r)}return Th=e,Th}var Nh,Mx;function El(){if(Mx)return Nh;Mx=1;var t=ot(),e=Ch(),r=O8(),n=Rx();function a(i,o){return t(i)?i:e(i,o)?[i]:r(n(i))}return Nh=a,Nh}var Ih,Fx;function Io(){if(Fx)return Ih;Fx=1;var t=pi();function e(r){if(typeof r=="string"||t(r))return r;var n=r+"";return n=="0"&&1/r==-1/0?"-0":n}return Ih=e,Ih}var Bh,$x;function xl(){if($x)return Bh;$x=1;var t=El(),e=Io();function r(n,a){a=t(a,n);for(var i=0,o=a.length;n!=null&&i<o;)n=n[e(a[i++])];return i&&i==o?n:void 0}return Bh=r,Bh}var Dh,Vx;function P8(){if(Vx)return Dh;Vx=1;var t=xl();function e(r,n,a){var i=r==null?void 0:t(r,n);return i===void 0?a:i}return Dh=e,Dh}var Oh,qx;function L8(){if(qx)return Oh;qx=1;function t(e,r){return e!=null&&r in Object(e)}return Oh=t,Oh}var Ah,zx;function Hx(){if(zx)return Ah;zx=1;var t=El(),e=ko(),r=ot(),n=gl(),a=Vd(),i=Io();function o(l,u,c){u=t(u,l);for(var d=-1,f=u.length,h=!1;++d<f;){var v=i(u[d]);if(!(h=l!=null&&c(l,v)))break;l=l[v]}return h||++d!=f?h:(f=l==null?0:l.length,!!f&&a(f)&&n(v,f)&&(r(l)||e(l)))}return Ah=o,Ah}var Ph,Kx;function Gx(){if(Kx)return Ph;Kx=1;var t=L8(),e=Hx();function r(n,a){return n!=null&&e(n,a,t)}return Ph=r,Ph}var Lh,Ux;function R8(){if(Ux)return Lh;Ux=1;var t=wx(),e=P8(),r=Gx(),n=Ch(),a=xx(),i=_x(),o=Io(),l=1,u=2;function c(d,f){return n(d)&&a(f)?i(o(d),f):function(h){var v=e(h,d);return v===void 0&&v===f?r(h,d):t(f,v,l|u)}}return Lh=c,Lh}var Rh,Wx;function jx(){if(Wx)return Rh;Wx=1;function t(e){return function(r){return r==null?void 0:r[e]}}return Rh=t,Rh}var Mh,Yx;function M8(){if(Yx)return Mh;Yx=1;var t=xl();function e(r){return function(n){return t(n,r)}}return Mh=e,Mh}var Fh,Zx;function F8(){if(Zx)return Fh;Zx=1;var t=jx(),e=M8(),r=Ch(),n=Io();function a(i){return r(i)?t(n(i)):e(i)}return Fh=a,Fh}var $h,Xx;function nn(){if(Xx)return $h;Xx=1;var t=I8(),e=R8(),r=va(),n=ot(),a=F8();function i(o){return typeof o=="function"?o:o==null?r:typeof o=="object"?n(o)?e(o[0],o[1]):t(o):a(o)}return $h=i,$h}var Vh,Jx;function Qx(){if(Jx)return Vh;Jx=1;var t=nE(),e=b8(),r=nn(),n=ot();function a(i,o){var l=n(i)?t:e;return l(i,r(o,3))}return Vh=a,Vh}var qh,ek;function $8(){if(ek)return qh;ek=1;var t=Object.prototype,e=t.hasOwnProperty;function r(n,a){return n!=null&&e.call(n,a)}return qh=r,qh}var zh,tk;function rk(){if(tk)return zh;tk=1;var t=$8(),e=Hx();function r(n,a){return n!=null&&e(n,a,t)}return zh=r,zh}var Hh,nk;function V8(){if(nk)return Hh;nk=1;var t=Zd(),e=hi(),r=ko(),n=ot(),a=rn(),i=fi(),o=yl(),l=To(),u="[object Map]",c="[object Set]",d=Object.prototype,f=d.hasOwnProperty;function h(v){if(v==null)return!0;if(a(v)&&(n(v)||typeof v=="string"||typeof v.splice=="function"||i(v)||l(v)||r(v)))return!v.length;var p=e(v);if(p==u||p==c)return!v.size;if(o(v))return!t(v).length;for(var g in v)if(f.call(v,g))return!1;return!0}return Hh=h,Hh}var Kh,ak;function ik(){if(ak)return Kh;ak=1;function t(e){return e===void 0}return Kh=t,Kh}var Gh,ok;function sk(){if(ok)return Gh;ok=1;var t=wl(),e=rn();function r(n,a){var i=-1,o=e(n)?Array(n.length):[];return t(n,function(l,u,c){o[++i]=a(l,u,c)}),o}return Gh=r,Gh}var Uh,lk;function ck(){if(lk)return Uh;lk=1;var t=Cl(),e=nn(),r=sk(),n=ot();function a(i,o){var l=n(i)?t:r;return l(i,e(o,3))}return Uh=a,Uh}var Wh,uk;function q8(){if(uk)return Wh;uk=1;function t(e,r,n,a){var i=-1,o=e==null?0:e.length;for(a&&o&&(n=e[++i]);++i<o;)n=r(n,e[i],i,e);return n}return Wh=t,Wh}var jh,dk;function z8(){if(dk)return jh;dk=1;function t(e,r,n,a,i){return i(e,function(o,l,u){n=a?(a=!1,o):r(n,o,l,u)}),n}return jh=t,jh}var Yh,fk;function hk(){if(fk)return Yh;fk=1;var t=q8(),e=wl(),r=nn(),n=z8(),a=ot();function i(o,l,u){var c=a(o)?t:n,d=arguments.length<3;return c(o,r(l,4),u,d,e)}return Yh=i,Yh}var Zh,pk;function H8(){if(pk)return Zh;pk=1;var t=fa(),e=ot(),r=Lr(),n="[object String]";function a(i){return typeof i=="string"||!e(i)&&r(i)&&t(i)==n}return Zh=a,Zh}var Xh,vk;function K8(){if(vk)return Xh;vk=1;var t=jx(),e=t("length");return Xh=e,Xh}var Jh,gk;function G8(){if(gk)return Jh;gk=1;var t="\\ud800-\\udfff",e="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",a=e+r+n,i="\\ufe0e\\ufe0f",o="\\u200d",l=RegExp("["+o+t+a+i+"]");function u(c){return l.test(c)}return Jh=u,Jh}var Qh,mk;function U8(){if(mk)return Qh;mk=1;var t="\\ud800-\\udfff",e="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",n="\\u20d0-\\u20ff",a=e+r+n,i="\\ufe0e\\ufe0f",o="["+t+"]",l="["+a+"]",u="\\ud83c[\\udffb-\\udfff]",c="(?:"+l+"|"+u+")",d="[^"+t+"]",f="(?:\\ud83c[\\udde6-\\uddff]){2}",h="[\\ud800-\\udbff][\\udc00-\\udfff]",v="\\u200d",p=c+"?",g="["+i+"]?",m="(?:"+v+"(?:"+[d,f,h].join("|")+")"+g+p+")*",y=g+p+m,b="(?:"+[d+l+"?",l,f,h,o].join("|")+")",w=RegExp(u+"(?="+u+")|"+b+y,"g");function C(x){for(var k=w.lastIndex=0;w.test(x);)++k;return k}return Qh=C,Qh}var ep,yk;function W8(){if(yk)return ep;yk=1;var t=K8(),e=G8(),r=U8();function n(a){return e(a)?r(a):t(a)}return ep=n,ep}var tp,bk;function j8(){if(bk)return tp;bk=1;var t=Zd(),e=hi(),r=rn(),n=H8(),a=W8(),i="[object Map]",o="[object Set]";function l(u){if(u==null)return 0;if(r(u))return n(u)?a(u):u.length;var c=e(u);return c==i||c==o?u.size:t(u).length}return tp=l,tp}var rp,wk;function Y8(){if(wk)return rp;wk=1;var t=Td(),e=LE(),r=Wf(),n=nn(),a=bl(),i=ot(),o=fi(),l=Eo(),u=sr(),c=To();function d(f,h,v){var p=i(f),g=p||o(f)||c(f);if(h=n(h,4),v==null){var m=f&&f.constructor;g?v=p?new m:[]:u(f)?v=l(m)?e(a(f)):{}:v={}}return(g?t:r)(f,function(y,b,w){return h(v,y,b,w)}),v}return rp=d,rp}var np,Ck;function Z8(){if(Ck)return np;Ck=1;var t=di(),e=ko(),r=ot(),n=t?t.isConcatSpreadable:void 0;function a(i){return r(i)||e(i)||!!(n&&i&&i[n])}return np=a,np}var ap,Ek;function ip(){if(Ek)return ap;Ek=1;var t=ff(),e=Z8();function r(n,a,i,o,l){var u=-1,c=n.length;for(i||(i=e),l||(l=[]);++u<c;){var d=n[u];a>0&&i(d)?a>1?r(d,a-1,i,o,l):t(l,d):o||(l[l.length]=d)}return l}return ap=r,ap}var op,xk;function X8(){if(xk)return op;xk=1;function t(e,r,n){switch(n.length){case 0:return e.call(r);case 1:return e.call(r,n[0]);case 2:return e.call(r,n[0],n[1]);case 3:return e.call(r,n[0],n[1],n[2])}return e.apply(r,n)}return op=t,op}var sp,kk;function Sk(){if(kk)return sp;kk=1;var t=X8(),e=Math.max;function r(n,a,i){return a=e(a===void 0?n.length-1:a,0),function(){for(var o=arguments,l=-1,u=e(o.length-a,0),c=Array(u);++l<u;)c[l]=o[a+l];l=-1;for(var d=Array(a+1);++l<a;)d[l]=o[l];return d[a]=i(c),t(n,this,d)}}return sp=r,sp}var lp,_k;function J8(){if(_k)return lp;_k=1;var t=zf(),e=CC(),r=va(),n=e?function(a,i){return e(a,"toString",{configurable:!0,enumerable:!1,value:t(i),writable:!0})}:r;return lp=n,lp}var cp,Tk;function Q8(){if(Tk)return cp;Tk=1;var t=800,e=16,r=Date.now;function n(a){var i=0,o=0;return function(){var l=r(),u=e-(l-o);if(o=l,u>0){if(++i>=t)return arguments[0]}else i=0;return a.apply(void 0,arguments)}}return cp=n,cp}var up,Nk;function Ik(){if(Nk)return up;Nk=1;var t=J8(),e=Q8(),r=e(t);return up=r,up}var dp,Bk;function kl(){if(Bk)return dp;Bk=1;var t=va(),e=Sk(),r=Ik();function n(a,i){return r(e(a,i,t),a+"")}return dp=n,dp}var fp,Dk;function Ok(){if(Dk)return fp;Dk=1;function t(e,r,n,a){for(var i=e.length,o=n+(a?1:-1);a?o--:++o<i;)if(r(e[o],o,e))return o;return-1}return fp=t,fp}var hp,Ak;function e6(){if(Ak)return hp;Ak=1;function t(e){return e!==e}return hp=t,hp}var pp,Pk;function t6(){if(Pk)return pp;Pk=1;function t(e,r,n){for(var a=n-1,i=e.length;++a<i;)if(e[a]===r)return a;return-1}return pp=t,pp}var vp,Lk;function r6(){if(Lk)return vp;Lk=1;var t=Ok(),e=e6(),r=t6();function n(a,i,o){return i===i?r(a,i,o):t(a,e,o)}return vp=n,vp}var gp,Rk;function n6(){if(Rk)return gp;Rk=1;var t=r6();function e(r,n){var a=r==null?0:r.length;return!!a&&t(r,n,0)>-1}return gp=e,gp}var mp,Mk;function a6(){if(Mk)return mp;Mk=1;function t(e,r,n){for(var a=-1,i=e==null?0:e.length;++a<i;)if(n(r,e[a]))return!0;return!1}return mp=t,mp}var yp,Fk;function i6(){if(Fk)return yp;Fk=1;function t(){}return yp=t,yp}var bp,$k;function o6(){if($k)return bp;$k=1;var t=CE(),e=i6(),r=ch(),n=1/0,a=t&&1/r(new t([,-0]))[1]==n?function(i){return new t(i)}:e;return bp=a,bp}var wp,Vk;function s6(){if(Vk)return wp;Vk=1;var t=lx(),e=n6(),r=a6(),n=dx(),a=o6(),i=ch(),o=200;function l(u,c,d){var f=-1,h=e,v=u.length,p=!0,g=[],m=g;if(d)p=!1,h=r;else if(v>=o){var y=c?null:a(u);if(y)return i(y);p=!1,h=n,m=new t}else m=c?[]:g;e:for(;++f<v;){var b=u[f],w=c?c(b):b;if(b=d||b!==0?b:0,p&&w===w){for(var C=m.length;C--;)if(m[C]===w)continue e;c&&m.push(w),g.push(b)}else h(m,w,d)||(m!==g&&m.push(w),g.push(b))}return g}return wp=l,wp}var Cp,qk;function zk(){if(qk)return Cp;qk=1;var t=rn(),e=Lr();function r(n){return e(n)&&t(n)}return Cp=r,Cp}var Ep,Hk;function l6(){if(Hk)return Ep;Hk=1;var t=ip(),e=kl(),r=s6(),n=zk(),a=e(function(i){return r(t(i,1,n,!0))});return Ep=a,Ep}var xp,Kk;function c6(){if(Kk)return xp;Kk=1;var t=Cl();function e(r,n){return t(n,function(a){return r[a]})}return xp=e,xp}var kp,Gk;function Uk(){if(Gk)return kp;Gk=1;var t=c6(),e=On();function r(n){return n==null?[]:t(n,e(n))}return kp=r,kp}var Sp,Wk;function lr(){if(Wk)return Sp;Wk=1;var t;if(typeof Au=="function")try{t={clone:g8(),constant:zf(),each:nx(),filter:Qx(),has:rk(),isArray:ot(),isEmpty:V8(),isFunction:Eo(),isUndefined:ik(),keys:On(),map:ck(),reduce:hk(),size:j8(),transform:Y8(),union:l6(),values:Uk()}}catch{}return t||(t=window._),Sp=t,Sp}var _p,jk;function Tp(){if(jk)return _p;jk=1;var t=lr();_p=a;var e="\0",r="\0",n="";function a(d){this._isDirected=t.has(d,"directed")?d.directed:!0,this._isMultigraph=t.has(d,"multigraph")?d.multigraph:!1,this._isCompound=t.has(d,"compound")?d.compound:!1,this._label=void 0,this._defaultNodeLabelFn=t.constant(void 0),this._defaultEdgeLabelFn=t.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[r]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}a.prototype._nodeCount=0,a.prototype._edgeCount=0,a.prototype.isDirected=function(){return this._isDirected},a.prototype.isMultigraph=function(){return this._isMultigraph},a.prototype.isCompound=function(){return this._isCompound},a.prototype.setGraph=function(d){return this._label=d,this},a.prototype.graph=function(){return this._label},a.prototype.setDefaultNodeLabel=function(d){return t.isFunction(d)||(d=t.constant(d)),this._defaultNodeLabelFn=d,this},a.prototype.nodeCount=function(){return this._nodeCount},a.prototype.nodes=function(){return t.keys(this._nodes)},a.prototype.sources=function(){var d=this;return t.filter(this.nodes(),function(f){return t.isEmpty(d._in[f])})},a.prototype.sinks=function(){var d=this;return t.filter(this.nodes(),function(f){return t.isEmpty(d._out[f])})},a.prototype.setNodes=function(d,f){var h=arguments,v=this;return t.each(d,function(p){h.length>1?v.setNode(p,f):v.setNode(p)}),this},a.prototype.setNode=function(d,f){return t.has(this._nodes,d)?(arguments.length>1&&(this._nodes[d]=f),this):(this._nodes[d]=arguments.length>1?f:this._defaultNodeLabelFn(d),this._isCompound&&(this._parent[d]=r,this._children[d]={},this._children[r][d]=!0),this._in[d]={},this._preds[d]={},this._out[d]={},this._sucs[d]={},++this._nodeCount,this)},a.prototype.node=function(d){return this._nodes[d]},a.prototype.hasNode=function(d){return t.has(this._nodes,d)},a.prototype.removeNode=function(d){var f=this;if(t.has(this._nodes,d)){var h=function(v){f.removeEdge(f._edgeObjs[v])};delete this._nodes[d],this._isCompound&&(this._removeFromParentsChildList(d),delete this._parent[d],t.each(this.children(d),function(v){f.setParent(v)}),delete this._children[d]),t.each(t.keys(this._in[d]),h),delete this._in[d],delete this._preds[d],t.each(t.keys(this._out[d]),h),delete this._out[d],delete this._sucs[d],--this._nodeCount}return this},a.prototype.setParent=function(d,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(t.isUndefined(f))f=r;else{f+="";for(var h=f;!t.isUndefined(h);h=this.parent(h))if(h===d)throw new Error("Setting "+f+" as parent of "+d+" would create a cycle");this.setNode(f)}return this.setNode(d),this._removeFromParentsChildList(d),this._parent[d]=f,this._children[f][d]=!0,this},a.prototype._removeFromParentsChildList=function(d){delete this._children[this._parent[d]][d]},a.prototype.parent=function(d){if(this._isCompound){var f=this._parent[d];if(f!==r)return f}},a.prototype.children=function(d){if(t.isUndefined(d)&&(d=r),this._isCompound){var f=this._children[d];if(f)return t.keys(f)}else{if(d===r)return this.nodes();if(this.hasNode(d))return[]}},a.prototype.predecessors=function(d){var f=this._preds[d];if(f)return t.keys(f)},a.prototype.successors=function(d){var f=this._sucs[d];if(f)return t.keys(f)},a.prototype.neighbors=function(d){var f=this.predecessors(d);if(f)return t.union(f,this.successors(d))},a.prototype.isLeaf=function(d){var f;return this.isDirected()?f=this.successors(d):f=this.neighbors(d),f.length===0},a.prototype.filterNodes=function(d){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var h=this;t.each(this._nodes,function(g,m){d(m)&&f.setNode(m,g)}),t.each(this._edgeObjs,function(g){f.hasNode(g.v)&&f.hasNode(g.w)&&f.setEdge(g,h.edge(g))});var v={};function p(g){var m=h.parent(g);return m===void 0||f.hasNode(m)?(v[g]=m,m):m in v?v[m]:p(m)}return this._isCompound&&t.each(f.nodes(),function(g){f.setParent(g,p(g))}),f},a.prototype.setDefaultEdgeLabel=function(d){return t.isFunction(d)||(d=t.constant(d)),this._defaultEdgeLabelFn=d,this},a.prototype.edgeCount=function(){return this._edgeCount},a.prototype.edges=function(){return t.values(this._edgeObjs)},a.prototype.setPath=function(d,f){var h=this,v=arguments;return t.reduce(d,function(p,g){return v.length>1?h.setEdge(p,g,f):h.setEdge(p,g),g}),this},a.prototype.setEdge=function(){var d,f,h,v,p=!1,g=arguments[0];typeof g=="object"&&g!==null&&"v"in g?(d=g.v,f=g.w,h=g.name,arguments.length===2&&(v=arguments[1],p=!0)):(d=g,f=arguments[1],h=arguments[3],arguments.length>2&&(v=arguments[2],p=!0)),d=""+d,f=""+f,t.isUndefined(h)||(h=""+h);var m=l(this._isDirected,d,f,h);if(t.has(this._edgeLabels,m))return p&&(this._edgeLabels[m]=v),this;if(!t.isUndefined(h)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(d),this.setNode(f),this._edgeLabels[m]=p?v:this._defaultEdgeLabelFn(d,f,h);var y=u(this._isDirected,d,f,h);return d=y.v,f=y.w,Object.freeze(y),this._edgeObjs[m]=y,i(this._preds[f],d),i(this._sucs[d],f),this._in[f][m]=y,this._out[d][m]=y,this._edgeCount++,this},a.prototype.edge=function(d,f,h){var v=arguments.length===1?c(this._isDirected,arguments[0]):l(this._isDirected,d,f,h);return this._edgeLabels[v]},a.prototype.hasEdge=function(d,f,h){var v=arguments.length===1?c(this._isDirected,arguments[0]):l(this._isDirected,d,f,h);return t.has(this._edgeLabels,v)},a.prototype.removeEdge=function(d,f,h){var v=arguments.length===1?c(this._isDirected,arguments[0]):l(this._isDirected,d,f,h),p=this._edgeObjs[v];return p&&(d=p.v,f=p.w,delete this._edgeLabels[v],delete this._edgeObjs[v],o(this._preds[f],d),o(this._sucs[d],f),delete this._in[f][v],delete this._out[d][v],this._edgeCount--),this},a.prototype.inEdges=function(d,f){var h=this._in[d];if(h){var v=t.values(h);return f?t.filter(v,function(p){return p.v===f}):v}},a.prototype.outEdges=function(d,f){var h=this._out[d];if(h){var v=t.values(h);return f?t.filter(v,function(p){return p.w===f}):v}},a.prototype.nodeEdges=function(d,f){var h=this.inEdges(d,f);if(h)return h.concat(this.outEdges(d,f))};function i(d,f){d[f]?d[f]++:d[f]=1}function o(d,f){--d[f]||delete d[f]}function l(d,f,h,v){var p=""+f,g=""+h;if(!d&&p>g){var m=p;p=g,g=m}return p+n+g+n+(t.isUndefined(v)?e:v)}function u(d,f,h,v){var p=""+f,g=""+h;if(!d&&p>g){var m=p;p=g,g=m}var y={v:p,w:g};return v&&(y.name=v),y}function c(d,f){return l(d,f.v,f.w,f.name)}return _p}var Np,Yk;function u6(){return Yk||(Yk=1,Np="2.1.8"),Np}var Ip,Zk;function d6(){return Zk||(Zk=1,Ip={Graph:Tp(),version:u6()}),Ip}var Bp,Xk;function f6(){if(Xk)return Bp;Xk=1;var t=lr(),e=Tp();Bp={write:r,read:i};function r(o){var l={options:{directed:o.isDirected(),multigraph:o.isMultigraph(),compound:o.isCompound()},nodes:n(o),edges:a(o)};return t.isUndefined(o.graph())||(l.value=t.clone(o.graph())),l}function n(o){return t.map(o.nodes(),function(l){var u=o.node(l),c=o.parent(l),d={v:l};return t.isUndefined(u)||(d.value=u),t.isUndefined(c)||(d.parent=c),d})}function a(o){return t.map(o.edges(),function(l){var u=o.edge(l),c={v:l.v,w:l.w};return t.isUndefined(l.name)||(c.name=l.name),t.isUndefined(u)||(c.value=u),c})}function i(o){var l=new e(o.options).setGraph(o.value);return t.each(o.nodes,function(u){l.setNode(u.v,u.value),u.parent&&l.setParent(u.v,u.parent)}),t.each(o.edges,function(u){l.setEdge({v:u.v,w:u.w,name:u.name},u.value)}),l}return Bp}var Dp,Jk;function h6(){if(Jk)return Dp;Jk=1;var t=lr();Dp=e;function e(r){var n={},a=[],i;function o(l){t.has(n,l)||(n[l]=!0,i.push(l),t.each(r.successors(l),o),t.each(r.predecessors(l),o))}return t.each(r.nodes(),function(l){i=[],o(l),i.length&&a.push(i)}),a}return Dp}var Op,Qk;function eS(){if(Qk)return Op;Qk=1;var t=lr();Op=e;function e(){this._arr=[],this._keyIndices={}}return e.prototype.size=function(){return this._arr.length},e.prototype.keys=function(){return this._arr.map(function(r){return r.key})},e.prototype.has=function(r){return t.has(this._keyIndices,r)},e.prototype.priority=function(r){var n=this._keyIndices[r];if(n!==void 0)return this._arr[n].priority},e.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},e.prototype.add=function(r,n){var a=this._keyIndices;if(r=String(r),!t.has(a,r)){var i=this._arr,o=i.length;return a[r]=o,i.push({key:r,priority:n}),this._decrease(o),!0}return!1},e.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var r=this._arr.pop();return delete this._keyIndices[r.key],this._heapify(0),r.key},e.prototype.decrease=function(r,n){var a=this._keyIndices[r];if(n>this._arr[a].priority)throw new Error("New priority is greater than current priority. Key: "+r+" Old: "+this._arr[a].priority+" New: "+n);this._arr[a].priority=n,this._decrease(a)},e.prototype._heapify=function(r){var n=this._arr,a=2*r,i=a+1,o=r;a<n.length&&(o=n[a].priority<n[o].priority?a:o,i<n.length&&(o=n[i].priority<n[o].priority?i:o),o!==r&&(this._swap(r,o),this._heapify(o)))},e.prototype._decrease=function(r){for(var n=this._arr,a=n[r].priority,i;r!==0&&(i=r>>1,!(n[i].priority<a));)this._swap(r,i),r=i},e.prototype._swap=function(r,n){var a=this._arr,i=this._keyIndices,o=a[r],l=a[n];a[r]=l,a[n]=o,i[l.key]=r,i[o.key]=n},Op}var Ap,tS;function rS(){if(tS)return Ap;tS=1;var t=lr(),e=eS();Ap=n;var r=t.constant(1);function n(i,o,l,u){return a(i,String(o),l||r,u||function(c){return i.outEdges(c)})}function a(i,o,l,u){var c={},d=new e,f,h,v=function(p){var g=p.v!==f?p.v:p.w,m=c[g],y=l(p),b=h.distance+y;if(y<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+p+" Weight: "+y);b<m.distance&&(m.distance=b,m.predecessor=f,d.decrease(g,b))};for(i.nodes().forEach(function(p){var g=p===o?0:Number.POSITIVE_INFINITY;c[p]={distance:g},d.add(p,g)});d.size()>0&&(f=d.removeMin(),h=c[f],h.distance!==Number.POSITIVE_INFINITY);)u(f).forEach(v);return c}return Ap}var Pp,nS;function p6(){if(nS)return Pp;nS=1;var t=rS(),e=lr();Pp=r;function r(n,a,i){return e.transform(n.nodes(),function(o,l){o[l]=t(n,l,a,i)},{})}return Pp}var Lp,aS;function iS(){if(aS)return Lp;aS=1;var t=lr();Lp=e;function e(r){var n=0,a=[],i={},o=[];function l(u){var c=i[u]={onStack:!0,lowlink:n,index:n++};if(a.push(u),r.successors(u).forEach(function(h){t.has(i,h)?i[h].onStack&&(c.lowlink=Math.min(c.lowlink,i[h].index)):(l(h),c.lowlink=Math.min(c.lowlink,i[h].lowlink))}),c.lowlink===c.index){var d=[],f;do f=a.pop(),i[f].onStack=!1,d.push(f);while(u!==f);o.push(d)}}return r.nodes().forEach(function(u){t.has(i,u)||l(u)}),o}return Lp}var Rp,oS;function v6(){if(oS)return Rp;oS=1;var t=lr(),e=iS();Rp=r;function r(n){return t.filter(e(n),function(a){return a.length>1||a.length===1&&n.hasEdge(a[0],a[0])})}return Rp}var Mp,sS;function g6(){if(sS)return Mp;sS=1;var t=lr();Mp=r;var e=t.constant(1);function r(a,i,o){return n(a,i||e,o||function(l){return a.outEdges(l)})}function n(a,i,o){var l={},u=a.nodes();return u.forEach(function(c){l[c]={},l[c][c]={distance:0},u.forEach(function(d){c!==d&&(l[c][d]={distance:Number.POSITIVE_INFINITY})}),o(c).forEach(function(d){var f=d.v===c?d.w:d.v,h=i(d);l[c][f]={distance:h,predecessor:c}})}),u.forEach(function(c){var d=l[c];u.forEach(function(f){var h=l[f];u.forEach(function(v){var p=h[c],g=d[v],m=h[v],y=p.distance+g.distance;y<m.distance&&(m.distance=y,m.predecessor=g.predecessor)})})}),l}return Mp}var Fp,lS;function cS(){if(lS)return Fp;lS=1;var t=lr();Fp=e,e.CycleException=r;function e(n){var a={},i={},o=[];function l(u){if(t.has(i,u))throw new r;t.has(a,u)||(i[u]=!0,a[u]=!0,t.each(n.predecessors(u),l),delete i[u],o.push(u))}if(t.each(n.sinks(),l),t.size(a)!==n.nodeCount())throw new r;return o}function r(){}return r.prototype=new Error,Fp}var $p,uS;function m6(){if(uS)return $p;uS=1;var t=cS();$p=e;function e(r){try{t(r)}catch(n){if(n instanceof t.CycleException)return!1;throw n}return!0}return $p}var Vp,dS;function fS(){if(dS)return Vp;dS=1;var t=lr();Vp=e;function e(n,a,i){t.isArray(a)||(a=[a]);var o=(n.isDirected()?n.successors:n.neighbors).bind(n),l=[],u={};return t.each(a,function(c){if(!n.hasNode(c))throw new Error("Graph does not have node: "+c);r(n,c,i==="post",u,o,l)}),l}function r(n,a,i,o,l,u){t.has(o,a)||(o[a]=!0,i||u.push(a),t.each(l(a),function(c){r(n,c,i,o,l,u)}),i&&u.push(a))}return Vp}var qp,hS;function y6(){if(hS)return qp;hS=1;var t=fS();qp=e;function e(r,n){return t(r,n,"post")}return qp}var zp,pS;function b6(){if(pS)return zp;pS=1;var t=fS();zp=e;function e(r,n){return t(r,n,"pre")}return zp}var Hp,vS;function w6(){if(vS)return Hp;vS=1;var t=lr(),e=Tp(),r=eS();Hp=n;function n(a,i){var o=new e,l={},u=new r,c;function d(h){var v=h.v===c?h.w:h.v,p=u.priority(v);if(p!==void 0){var g=i(h);g<p&&(l[v]=c,u.decrease(v,g))}}if(a.nodeCount()===0)return o;t.each(a.nodes(),function(h){u.add(h,Number.POSITIVE_INFINITY),o.setNode(h)}),u.decrease(a.nodes()[0],0);for(var f=!1;u.size()>0;){if(c=u.removeMin(),t.has(l,c))o.setEdge(c,l[c]);else{if(f)throw new Error("Input graph is not connected: "+a);f=!0}a.nodeEdges(c).forEach(d)}return o}return Hp}var Kp,gS;function C6(){return gS||(gS=1,Kp={components:h6(),dijkstra:rS(),dijkstraAll:p6(),findCycles:v6(),floydWarshall:g6(),isAcyclic:m6(),postorder:y6(),preorder:b6(),prim:w6(),tarjan:iS(),topsort:cS()}),Kp}var Gp,mS;function E6(){if(mS)return Gp;mS=1;var t=d6();return Gp={Graph:t.Graph,json:f6(),alg:C6(),version:t.version},Gp}var Up,yS;function wr(){if(yS)return Up;yS=1;var t;if(typeof Au=="function")try{t=E6()}catch{}return t||(t=window.graphlib),Up=t,Up}var Wp,bS;function x6(){if(bS)return Wp;bS=1;var t=HE(),e=1,r=4;function n(a){return t(a,e|r)}return Wp=n,Wp}var jp,wS;function Sl(){if(wS)return jp;wS=1;var t=ui(),e=rn(),r=gl(),n=sr();function a(i,o,l){if(!n(l))return!1;var u=typeof o;return(u=="number"?e(l)&&r(o,l.length):u=="string"&&o in l)?t(l[o],i):!1}return jp=a,jp}var Yp,CS;function k6(){if(CS)return Yp;CS=1;var t=kl(),e=ui(),r=Sl(),n=pa(),a=Object.prototype,i=a.hasOwnProperty,o=t(function(l,u){l=Object(l);var c=-1,d=u.length,f=d>2?u[2]:void 0;for(f&&r(u[0],u[1],f)&&(d=1);++c<d;)for(var h=u[c],v=n(h),p=-1,g=v.length;++p<g;){var m=v[p],y=l[m];(y===void 0||e(y,a[m])&&!i.call(l,m))&&(l[m]=h[m])}return l});return Yp=o,Yp}var Zp,ES;function S6(){if(ES)return Zp;ES=1;var t=nn(),e=rn(),r=On();function n(a){return function(i,o,l){var u=Object(i);if(!e(i)){var c=t(o,3);i=r(i),o=function(f){return c(u[f],f,u)}}var d=a(i,o,l);return d>-1?u[c?i[d]:d]:void 0}}return Zp=n,Zp}var Xp,xS;function _6(){if(xS)return Xp;xS=1;var t=/\s/;function e(r){for(var n=r.length;n--&&t.test(r.charAt(n)););return n}return Xp=e,Xp}var Jp,kS;function T6(){if(kS)return Jp;kS=1;var t=_6(),e=/^\s+/;function r(n){return n&&n.slice(0,t(n)+1).replace(e,"")}return Jp=r,Jp}var Qp,SS;function N6(){if(SS)return Qp;SS=1;var t=T6(),e=sr(),r=pi(),n=NaN,a=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,o=/^0o[0-7]+$/i,l=parseInt;function u(c){if(typeof c=="number")return c;if(r(c))return n;if(e(c)){var d=typeof c.valueOf=="function"?c.valueOf():c;c=e(d)?d+"":d}if(typeof c!="string")return c===0?c:+c;c=t(c);var f=i.test(c);return f||o.test(c)?l(c.slice(2),f?2:8):a.test(c)?n:+c}return Qp=u,Qp}var ev,_S;function TS(){if(_S)return ev;_S=1;var t=N6(),e=1/0,r=17976931348623157e292;function n(a){if(!a)return a===0?a:0;if(a=t(a),a===e||a===-e){var i=a<0?-1:1;return i*r}return a===a?a:0}return ev=n,ev}var tv,NS;function I6(){if(NS)return tv;NS=1;var t=TS();function e(r){var n=t(r),a=n%1;return n===n?a?n-a:n:0}return tv=e,tv}var rv,IS;function B6(){if(IS)return rv;IS=1;var t=Ok(),e=nn(),r=I6(),n=Math.max;function a(i,o,l){var u=i==null?0:i.length;if(!u)return-1;var c=l==null?0:r(l);return c<0&&(c=n(u+c,0)),t(i,e(o,3),c)}return rv=a,rv}var nv,BS;function D6(){if(BS)return nv;BS=1;var t=S6(),e=B6(),r=t(e);return nv=r,nv}var av,DS;function OS(){if(DS)return av;DS=1;var t=ip();function e(r){var n=r==null?0:r.length;return n?t(r,1):[]}return av=e,av}var iv,AS;function O6(){if(AS)return iv;AS=1;var t=Gf(),e=QE(),r=pa();function n(a,i){return a==null?a:t(a,e(i),r)}return iv=n,iv}var ov,PS;function A6(){if(PS)return ov;PS=1;function t(e){var r=e==null?0:e.length;return r?e[r-1]:void 0}return ov=t,ov}var sv,LS;function P6(){if(LS)return sv;LS=1;var t=pl(),e=Wf(),r=nn();function n(a,i){var o={};return i=r(i,3),e(a,function(l,u,c){t(o,u,i(l,u,c))}),o}return sv=n,sv}var lv,RS;function cv(){if(RS)return lv;RS=1;var t=pi();function e(r,n,a){for(var i=-1,o=r.length;++i<o;){var l=r[i],u=n(l);if(u!=null&&(c===void 0?u===u&&!t(u):a(u,c)))var c=u,d=l}return d}return lv=e,lv}var uv,MS;function L6(){if(MS)return uv;MS=1;function t(e,r){return e>r}return uv=t,uv}var dv,FS;function R6(){if(FS)return dv;FS=1;var t=cv(),e=L6(),r=va();function n(a){return a&&a.length?t(a,r,e):void 0}return dv=n,dv}var fv,$S;function VS(){if($S)return fv;$S=1;var t=pl(),e=ui();function r(n,a,i){(i!==void 0&&!e(n[a],i)||i===void 0&&!(a in n))&&t(n,a,i)}return fv=r,fv}var hv,qS;function M6(){if(qS)return hv;qS=1;var t=fa(),e=bl(),r=Lr(),n="[object Object]",a=Function.prototype,i=Object.prototype,o=a.toString,l=i.hasOwnProperty,u=o.call(Object);function c(d){if(!r(d)||t(d)!=n)return!1;var f=e(d);if(f===null)return!0;var h=l.call(f,"constructor")&&f.constructor;return typeof h=="function"&&h instanceof h&&o.call(h)==u}return hv=c,hv}var pv,zS;function HS(){if(zS)return pv;zS=1;function t(e,r){if(!(r==="constructor"&&typeof e[r]=="function")&&r!="__proto__")return e[r]}return pv=t,pv}var vv,KS;function F6(){if(KS)return vv;KS=1;var t=xo(),e=pa();function r(n){return t(n,e(n))}return vv=r,vv}var gv,GS;function $6(){if(GS)return gv;GS=1;var t=VS(),e=QC(),r=OE(),n=tE(),a=ME(),i=ko(),o=ot(),l=zk(),u=fi(),c=Eo(),d=sr(),f=M6(),h=To(),v=HS(),p=F6();function g(m,y,b,w,C,x,k){var E=v(m,b),_=v(y,b),S=k.get(_);if(S){t(m,b,S);return}var T=x?x(E,_,b+"",m,y,k):void 0,N=T===void 0;if(N){var B=o(_),O=!B&&u(_),D=!B&&!O&&h(_);T=_,B||O||D?o(E)?T=E:l(E)?T=n(E):O?(N=!1,T=e(_,!0)):D?(N=!1,T=r(_,!0)):T=[]:f(_)||i(_)?(T=E,i(E)?T=p(E):(!d(E)||c(E))&&(T=a(_))):N=!1}N&&(k.set(_,T),C(T,_,w,x,k),k.delete(_)),t(m,b,T)}return gv=g,gv}var mv,US;function V6(){if(US)return mv;US=1;var t=hl(),e=VS(),r=Gf(),n=$6(),a=sr(),i=pa(),o=HS();function l(u,c,d,f,h){u!==c&&r(c,function(v,p){if(h||(h=new t),a(v))n(u,c,p,d,l,f,h);else{var g=f?f(o(u,p),v,p+"",u,c,h):void 0;g===void 0&&(g=v),e(u,p,g)}},i)}return mv=l,mv}var yv,WS;function q6(){if(WS)return yv;WS=1;var t=kl(),e=Sl();function r(n){return t(function(a,i){var o=-1,l=i.length,u=l>1?i[l-1]:void 0,c=l>2?i[2]:void 0;for(u=n.length>3&&typeof u=="function"?(l--,u):void 0,c&&e(i[0],i[1],c)&&(u=l<3?void 0:u,l=1),a=Object(a);++o<l;){var d=i[o];d&&n(a,d,o,u)}return a})}return yv=r,yv}var bv,jS;function z6(){if(jS)return bv;jS=1;var t=V6(),e=q6(),r=e(function(n,a,i){t(n,a,i)});return bv=r,bv}var wv,YS;function ZS(){if(YS)return wv;YS=1;function t(e,r){return e<r}return wv=t,wv}var Cv,XS;function H6(){if(XS)return Cv;XS=1;var t=cv(),e=ZS(),r=va();function n(a){return a&&a.length?t(a,r,e):void 0}return Cv=n,Cv}var Ev,JS;function K6(){if(JS)return Ev;JS=1;var t=cv(),e=nn(),r=ZS();function n(a,i){return a&&a.length?t(a,e(i,2),r):void 0}return Ev=n,Ev}var xv,QS;function G6(){if(QS)return xv;QS=1;var t=br(),e=function(){return t.Date.now()};return xv=e,xv}var kv,e2;function U6(){if(e2)return kv;e2=1;var t=vl(),e=El(),r=gl(),n=sr(),a=Io();function i(o,l,u,c){if(!n(o))return o;l=e(l,o);for(var d=-1,f=l.length,h=f-1,v=o;v!=null&&++d<f;){var p=a(l[d]),g=u;if(p==="__proto__"||p==="constructor"||p==="prototype")return o;if(d!=h){var m=v[p];g=c?c(m,p,v):void 0,g===void 0&&(g=n(m)?m:r(l[d+1])?[]:{})}t(v,p,g),v=v[p]}return o}return kv=i,kv}var Sv,t2;function W6(){if(t2)return Sv;t2=1;var t=xl(),e=U6(),r=El();function n(a,i,o){for(var l=-1,u=i.length,c={};++l<u;){var d=i[l],f=t(a,d);o(f,d)&&e(c,r(d,a),f)}return c}return Sv=n,Sv}var _v,r2;function j6(){if(r2)return _v;r2=1;var t=W6(),e=Gx();function r(n,a){return t(n,a,function(i,o){return e(n,o)})}return _v=r,_v}var Tv,n2;function Y6(){if(n2)return Tv;n2=1;var t=OS(),e=Sk(),r=Ik();function n(a){return r(e(a,void 0,t),a+"")}return Tv=n,Tv}var Nv,a2;function Z6(){if(a2)return Nv;a2=1;var t=j6(),e=Y6(),r=e(function(n,a){return n==null?{}:t(n,a)});return Nv=r,Nv}var Iv,i2;function X6(){if(i2)return Iv;i2=1;var t=Math.ceil,e=Math.max;function r(n,a,i,o){for(var l=-1,u=e(t((a-n)/(i||1)),0),c=Array(u);u--;)c[o?u:++l]=n,n+=i;return c}return Iv=r,Iv}var Bv,o2;function J6(){if(o2)return Bv;o2=1;var t=X6(),e=Sl(),r=TS();function n(a){return function(i,o,l){return l&&typeof l!="number"&&e(i,o,l)&&(o=l=void 0),i=r(i),o===void 0?(o=i,i=0):o=r(o),l=l===void 0?i<o?1:-1:r(l),t(i,o,l,a)}}return Bv=n,Bv}var Dv,s2;function Q6(){if(s2)return Dv;s2=1;var t=J6(),e=t();return Dv=e,Dv}var Ov,l2;function e9(){if(l2)return Ov;l2=1;function t(e,r){var n=e.length;for(e.sort(r);n--;)e[n]=e[n].value;return e}return Ov=t,Ov}var Av,c2;function t9(){if(c2)return Av;c2=1;var t=pi();function e(r,n){if(r!==n){var a=r!==void 0,i=r===null,o=r===r,l=t(r),u=n!==void 0,c=n===null,d=n===n,f=t(n);if(!c&&!f&&!l&&r>n||l&&u&&d&&!c&&!f||i&&u&&d||!a&&d||!o)return 1;if(!i&&!l&&!f&&r<n||f&&a&&o&&!i&&!l||c&&a&&o||!u&&o||!d)return-1}return 0}return Av=e,Av}var Pv,u2;function r9(){if(u2)return Pv;u2=1;var t=t9();function e(r,n,a){for(var i=-1,o=r.criteria,l=n.criteria,u=o.length,c=a.length;++i<u;){var d=t(o[i],l[i]);if(d){if(i>=c)return d;var f=a[i];return d*(f=="desc"?-1:1)}}return r.index-n.index}return Pv=e,Pv}var Lv,d2;function n9(){if(d2)return Lv;d2=1;var t=Cl(),e=xl(),r=nn(),n=sk(),a=e9(),i=ml(),o=r9(),l=va(),u=ot();function c(d,f,h){f.length?f=t(f,function(g){return u(g)?function(m){return e(m,g.length===1?g[0]:g)}:g}):f=[l];var v=-1;f=t(f,i(r));var p=n(d,function(g,m,y){var b=t(f,function(w){return w(g)});return{criteria:b,index:++v,value:g}});return a(p,function(g,m){return o(g,m,h)})}return Lv=c,Lv}var Rv,f2;function a9(){if(f2)return Rv;f2=1;var t=ip(),e=n9(),r=kl(),n=Sl(),a=r(function(i,o){if(i==null)return[];var l=o.length;return l>1&&n(i,o[0],o[1])?o=[]:l>2&&n(o[0],o[1],o[2])&&(o=[o[0]]),e(i,t(o,1),[])});return Rv=a,Rv}var Mv,h2;function i9(){if(h2)return Mv;h2=1;var t=Rx(),e=0;function r(n){var a=++e;return t(n)+a}return Mv=r,Mv}var Fv,p2;function o9(){if(p2)return Fv;p2=1;function t(e,r,n){for(var a=-1,i=e.length,o=r.length,l={};++a<i;){var u=a<o?r[a]:void 0;n(l,e[a],u)}return l}return Fv=t,Fv}var $v,v2;function s9(){if(v2)return $v;v2=1;var t=vl(),e=o9();function r(n,a){return e(n||[],a||[],t)}return $v=r,$v}var Vv,g2;function Ze(){if(g2)return Vv;g2=1;var t;if(typeof Au=="function")try{t={cloneDeep:x6(),constant:zf(),defaults:k6(),each:nx(),filter:Qx(),find:D6(),flatten:OS(),forEach:tx(),forIn:O6(),has:rk(),isUndefined:ik(),last:A6(),map:ck(),mapValues:P6(),max:R6(),merge:z6(),min:H6(),minBy:K6(),now:G6(),pick:Z6(),range:Q6(),reduce:hk(),sortBy:a9(),uniqueId:i9(),values:Uk(),zipObject:s9()}}catch{}return t||(t=window._),Vv=t,Vv}var qv,m2;function l9(){if(m2)return qv;m2=1,qv=t;function t(){var n={};n._next=n._prev=n,this._sentinel=n}t.prototype.dequeue=function(){var n=this._sentinel,a=n._prev;if(a!==n)return e(a),a},t.prototype.enqueue=function(n){var a=this._sentinel;n._prev&&n._next&&e(n),n._next=a._next,a._next._prev=n,a._next=n,n._prev=a},t.prototype.toString=function(){for(var n=[],a=this._sentinel,i=a._prev;i!==a;)n.push(JSON.stringify(i,r)),i=i._prev;return"["+n.join(", ")+"]"};function e(n){n._prev._next=n._next,n._next._prev=n._prev,delete n._next,delete n._prev}function r(n,a){if(n!=="_next"&&n!=="_prev")return a}return qv}var zv,y2;function c9(){if(y2)return zv;y2=1;var t=Ze(),e=wr().Graph,r=l9();zv=a;var n=t.constant(1);function a(c,d){if(c.nodeCount()<=1)return[];var f=l(c,d||n),h=i(f.graph,f.buckets,f.zeroIdx);return t.flatten(t.map(h,function(v){return c.outEdges(v.v,v.w)}),!0)}function i(c,d,f){for(var h=[],v=d[d.length-1],p=d[0],g;c.nodeCount();){for(;g=p.dequeue();)o(c,d,f,g);for(;g=v.dequeue();)o(c,d,f,g);if(c.nodeCount()){for(var m=d.length-2;m>0;--m)if(g=d[m].dequeue(),g){h=h.concat(o(c,d,f,g,!0));break}}}return h}function o(c,d,f,h,v){var p=v?[]:void 0;return t.forEach(c.inEdges(h.v),function(g){var m=c.edge(g),y=c.node(g.v);v&&p.push({v:g.v,w:g.w}),y.out-=m,u(d,f,y)}),t.forEach(c.outEdges(h.v),function(g){var m=c.edge(g),y=g.w,b=c.node(y);b.in-=m,u(d,f,b)}),c.removeNode(h.v),p}function l(c,d){var f=new e,h=0,v=0;t.forEach(c.nodes(),function(m){f.setNode(m,{v:m,in:0,out:0})}),t.forEach(c.edges(),function(m){var y=f.edge(m.v,m.w)||0,b=d(m),w=y+b;f.setEdge(m.v,m.w,w),v=Math.max(v,f.node(m.v).out+=b),h=Math.max(h,f.node(m.w).in+=b)});var p=t.range(v+h+3).map(function(){return new r}),g=h+1;return t.forEach(f.nodes(),function(m){u(p,g,f.node(m))}),{graph:f,buckets:p,zeroIdx:g}}function u(c,d,f){f.out?f.in?c[f.out-f.in+d].enqueue(f):c[c.length-1].enqueue(f):c[0].enqueue(f)}return zv}var Hv,b2;function u9(){if(b2)return Hv;b2=1;var t=Ze(),e=c9();Hv={run:r,undo:a};function r(i){var o=i.graph().acyclicer==="greedy"?e(i,l(i)):n(i);t.forEach(o,function(u){var c=i.edge(u);i.removeEdge(u),c.forwardName=u.name,c.reversed=!0,i.setEdge(u.w,u.v,c,t.uniqueId("rev"))});function l(u){return function(c){return u.edge(c).weight}}}function n(i){var o=[],l={},u={};function c(d){t.has(u,d)||(u[d]=!0,l[d]=!0,t.forEach(i.outEdges(d),function(f){t.has(l,f.w)?o.push(f):c(f.w)}),delete l[d])}return t.forEach(i.nodes(),c),o}function a(i){t.forEach(i.edges(),function(o){var l=i.edge(o);if(l.reversed){i.removeEdge(o);var u=l.forwardName;delete l.reversed,delete l.forwardName,i.setEdge(o.w,o.v,l,u)}})}return Hv}var Kv,w2;function jt(){if(w2)return Kv;w2=1;var t=Ze(),e=wr().Graph;Kv={addDummyNode:r,simplify:n,asNonCompoundGraph:a,successorWeights:i,predecessorWeights:o,intersectRect:l,buildLayerMatrix:u,normalizeRanks:c,removeEmptyRanks:d,addBorderNode:f,maxRank:h,partition:v,time:p,notime:g};function r(m,y,b,w){var C;do C=t.uniqueId(w);while(m.hasNode(C));return b.dummy=y,m.setNode(C,b),C}function n(m){var y=new e().setGraph(m.graph());return t.forEach(m.nodes(),function(b){y.setNode(b,m.node(b))}),t.forEach(m.edges(),function(b){var w=y.edge(b.v,b.w)||{weight:0,minlen:1},C=m.edge(b);y.setEdge(b.v,b.w,{weight:w.weight+C.weight,minlen:Math.max(w.minlen,C.minlen)})}),y}function a(m){var y=new e({multigraph:m.isMultigraph()}).setGraph(m.graph());return t.forEach(m.nodes(),function(b){m.children(b).length||y.setNode(b,m.node(b))}),t.forEach(m.edges(),function(b){y.setEdge(b,m.edge(b))}),y}function i(m){var y=t.map(m.nodes(),function(b){var w={};return t.forEach(m.outEdges(b),function(C){w[C.w]=(w[C.w]||0)+m.edge(C).weight}),w});return t.zipObject(m.nodes(),y)}function o(m){var y=t.map(m.nodes(),function(b){var w={};return t.forEach(m.inEdges(b),function(C){w[C.v]=(w[C.v]||0)+m.edge(C).weight}),w});return t.zipObject(m.nodes(),y)}function l(m,y){var b=m.x,w=m.y,C=y.x-b,x=y.y-w,k=m.width/2,E=m.height/2;if(!C&&!x)throw new Error("Not possible to find intersection inside of the rectangle");var _,S;return Math.abs(x)*k>Math.abs(C)*E?(x<0&&(E=-E),_=E*C/x,S=E):(C<0&&(k=-k),_=k,S=k*x/C),{x:b+_,y:w+S}}function u(m){var y=t.map(t.range(h(m)+1),function(){return[]});return t.forEach(m.nodes(),function(b){var w=m.node(b),C=w.rank;t.isUndefined(C)||(y[C][w.order]=b)}),y}function c(m){var y=t.min(t.map(m.nodes(),function(b){return m.node(b).rank}));t.forEach(m.nodes(),function(b){var w=m.node(b);t.has(w,"rank")&&(w.rank-=y)})}function d(m){var y=t.min(t.map(m.nodes(),function(x){return m.node(x).rank})),b=[];t.forEach(m.nodes(),function(x){var k=m.node(x).rank-y;b[k]||(b[k]=[]),b[k].push(x)});var w=0,C=m.graph().nodeRankFactor;t.forEach(b,function(x,k){t.isUndefined(x)&&k%C!==0?--w:w&&t.forEach(x,function(E){m.node(E).rank+=w})})}function f(m,y,b,w){var C={width:0,height:0};return arguments.length>=4&&(C.rank=b,C.order=w),r(m,"border",C,y)}function h(m){return t.max(t.map(m.nodes(),function(y){var b=m.node(y).rank;if(!t.isUndefined(b))return b}))}function v(m,y){var b={lhs:[],rhs:[]};return t.forEach(m,function(w){y(w)?b.lhs.push(w):b.rhs.push(w)}),b}function p(m,y){var b=t.now();try{return y()}finally{console.log(m+" time: "+(t.now()-b)+"ms")}}function g(m,y){return y()}return Kv}var Gv,C2;function d9(){if(C2)return Gv;C2=1;var t=Ze(),e=jt();Gv={run:r,undo:a};function r(i){i.graph().dummyChains=[],t.forEach(i.edges(),function(o){n(i,o)})}function n(i,o){var l=o.v,u=i.node(l).rank,c=o.w,d=i.node(c).rank,f=o.name,h=i.edge(o),v=h.labelRank;if(d!==u+1){i.removeEdge(o);var p,g,m;for(m=0,++u;u<d;++m,++u)h.points=[],g={width:0,height:0,edgeLabel:h,edgeObj:o,rank:u},p=e.addDummyNode(i,"edge",g,"_d"),u===v&&(g.width=h.width,g.height=h.height,g.dummy="edge-label",g.labelpos=h.labelpos),i.setEdge(l,p,{weight:h.weight},f),m===0&&i.graph().dummyChains.push(p),l=p;i.setEdge(l,c,{weight:h.weight},f)}}function a(i){t.forEach(i.graph().dummyChains,function(o){var l=i.node(o),u=l.edgeLabel,c;for(i.setEdge(l.edgeObj,u);l.dummy;)c=i.successors(o)[0],i.removeNode(o),u.points.push({x:l.x,y:l.y}),l.dummy==="edge-label"&&(u.x=l.x,u.y=l.y,u.width=l.width,u.height=l.height),o=c,l=i.node(o)})}return Gv}var Uv,E2;function _l(){if(E2)return Uv;E2=1;var t=Ze();Uv={longestPath:e,slack:r};function e(n){var a={};function i(o){var l=n.node(o);if(t.has(a,o))return l.rank;a[o]=!0;var u=t.min(t.map(n.outEdges(o),function(c){return i(c.w)-n.edge(c).minlen}));return(u===Number.POSITIVE_INFINITY||u===void 0||u===null)&&(u=0),l.rank=u}t.forEach(n.sources(),i)}function r(n,a){return n.node(a.w).rank-n.node(a.v).rank-n.edge(a).minlen}return Uv}var Wv,x2;function k2(){if(x2)return Wv;x2=1;var t=Ze(),e=wr().Graph,r=_l().slack;Wv=n;function n(l){var u=new e({directed:!1}),c=l.nodes()[0],d=l.nodeCount();u.setNode(c,{});for(var f,h;a(u,l)<d;)f=i(u,l),h=u.hasNode(f.v)?r(l,f):-r(l,f),o(u,l,h);return u}function a(l,u){function c(d){t.forEach(u.nodeEdges(d),function(f){var h=f.v,v=d===h?f.w:h;!l.hasNode(v)&&!r(u,f)&&(l.setNode(v,{}),l.setEdge(d,v,{}),c(v))})}return t.forEach(l.nodes(),c),l.nodeCount()}function i(l,u){return t.minBy(u.edges(),function(c){if(l.hasNode(c.v)!==l.hasNode(c.w))return r(u,c)})}function o(l,u,c){t.forEach(l.nodes(),function(d){u.node(d).rank+=c})}return Wv}var jv,S2;function f9(){if(S2)return jv;S2=1;var t=Ze(),e=k2(),r=_l().slack,n=_l().longestPath,a=wr().alg.preorder,i=wr().alg.postorder,o=jt().simplify;jv=l,l.initLowLimValues=f,l.initCutValues=u,l.calcCutValue=d,l.leaveEdge=v,l.enterEdge=p,l.exchangeEdges=g;function l(w){w=o(w),n(w);var C=e(w);f(C),u(C,w);for(var x,k;x=v(C);)k=p(C,w,x),g(C,w,x,k)}function u(w,C){var x=i(w,w.nodes());x=x.slice(0,x.length-1),t.forEach(x,function(k){c(w,C,k)})}function c(w,C,x){var k=w.node(x),E=k.parent;w.edge(x,E).cutvalue=d(w,C,x)}function d(w,C,x){var k=w.node(x),E=k.parent,_=!0,S=C.edge(x,E),T=0;return S||(_=!1,S=C.edge(E,x)),T=S.weight,t.forEach(C.nodeEdges(x),function(N){var B=N.v===x,O=B?N.w:N.v;if(O!==E){var D=B===_,L=C.edge(N).weight;if(T+=D?L:-L,y(w,x,O)){var A=w.edge(x,O).cutvalue;T+=D?-A:A}}}),T}function f(w,C){arguments.length<2&&(C=w.nodes()[0]),h(w,{},1,C)}function h(w,C,x,k,E){var _=x,S=w.node(k);return C[k]=!0,t.forEach(w.neighbors(k),function(T){t.has(C,T)||(x=h(w,C,x,T,k))}),S.low=_,S.lim=x++,E?S.parent=E:delete S.parent,x}function v(w){return t.find(w.edges(),function(C){return w.edge(C).cutvalue<0})}function p(w,C,x){var k=x.v,E=x.w;C.hasEdge(k,E)||(k=x.w,E=x.v);var _=w.node(k),S=w.node(E),T=_,N=!1;_.lim>S.lim&&(T=S,N=!0);var B=t.filter(C.edges(),function(O){return N===b(w,w.node(O.v),T)&&N!==b(w,w.node(O.w),T)});return t.minBy(B,function(O){return r(C,O)})}function g(w,C,x,k){var E=x.v,_=x.w;w.removeEdge(E,_),w.setEdge(k.v,k.w,{}),f(w),u(w,C),m(w,C)}function m(w,C){var x=t.find(w.nodes(),function(E){return!C.node(E).parent}),k=a(w,x);k=k.slice(1),t.forEach(k,function(E){var _=w.node(E).parent,S=C.edge(E,_),T=!1;S||(S=C.edge(_,E),T=!0),C.node(E).rank=C.node(_).rank+(T?S.minlen:-S.minlen)})}function y(w,C,x){return w.hasEdge(C,x)}function b(w,C,x){return x.low<=C.lim&&C.lim<=x.lim}return jv}var Yv,_2;function h9(){if(_2)return Yv;_2=1;var t=_l(),e=t.longestPath,r=k2(),n=f9();Yv=a;function a(u){switch(u.graph().ranker){case"network-simplex":l(u);break;case"tight-tree":o(u);break;case"longest-path":i(u);break;default:l(u)}}var i=e;function o(u){e(u),r(u)}function l(u){n(u)}return Yv}var Zv,T2;function p9(){if(T2)return Zv;T2=1;var t=Ze();Zv=e;function e(a){var i=n(a);t.forEach(a.graph().dummyChains,function(o){for(var l=a.node(o),u=l.edgeObj,c=r(a,i,u.v,u.w),d=c.path,f=c.lca,h=0,v=d[h],p=!0;o!==u.w;){if(l=a.node(o),p){for(;(v=d[h])!==f&&a.node(v).maxRank<l.rank;)h++;v===f&&(p=!1)}if(!p){for(;h<d.length-1&&a.node(v=d[h+1]).minRank<=l.rank;)h++;v=d[h]}a.setParent(o,v),o=a.successors(o)[0]}})}function r(a,i,o,l){var u=[],c=[],d=Math.min(i[o].low,i[l].low),f=Math.max(i[o].lim,i[l].lim),h,v;h=o;do h=a.parent(h),u.push(h);while(h&&(i[h].low>d||f>i[h].lim));for(v=h,h=l;(h=a.parent(h))!==v;)c.push(h);return{path:u.concat(c.reverse()),lca:v}}function n(a){var i={},o=0;function l(u){var c=o;t.forEach(a.children(u),l),i[u]={low:c,lim:o++}}return t.forEach(a.children(),l),i}return Zv}var Xv,N2;function v9(){if(N2)return Xv;N2=1;var t=Ze(),e=jt();Xv={run:r,cleanup:o};function r(l){var u=e.addDummyNode(l,"root",{},"_root"),c=a(l),d=t.max(t.values(c))-1,f=2*d+1;l.graph().nestingRoot=u,t.forEach(l.edges(),function(v){l.edge(v).minlen*=f});var h=i(l)+1;t.forEach(l.children(),function(v){n(l,u,f,h,d,c,v)}),l.graph().nodeRankFactor=f}function n(l,u,c,d,f,h,v){var p=l.children(v);if(!p.length){v!==u&&l.setEdge(u,v,{weight:0,minlen:c});return}var g=e.addBorderNode(l,"_bt"),m=e.addBorderNode(l,"_bb"),y=l.node(v);l.setParent(g,v),y.borderTop=g,l.setParent(m,v),y.borderBottom=m,t.forEach(p,function(b){n(l,u,c,d,f,h,b);var w=l.node(b),C=w.borderTop?w.borderTop:b,x=w.borderBottom?w.borderBottom:b,k=w.borderTop?d:2*d,E=C!==x?1:f-h[v]+1;l.setEdge(g,C,{weight:k,minlen:E,nestingEdge:!0}),l.setEdge(x,m,{weight:k,minlen:E,nestingEdge:!0})}),l.parent(v)||l.setEdge(u,g,{weight:0,minlen:f+h[v]})}function a(l){var u={};function c(d,f){var h=l.children(d);h&&h.length&&t.forEach(h,function(v){c(v,f+1)}),u[d]=f}return t.forEach(l.children(),function(d){c(d,1)}),u}function i(l){return t.reduce(l.edges(),function(u,c){return u+l.edge(c).weight},0)}function o(l){var u=l.graph();l.removeNode(u.nestingRoot),delete u.nestingRoot,t.forEach(l.edges(),function(c){var d=l.edge(c);d.nestingEdge&&l.removeEdge(c)})}return Xv}var Jv,I2;function g9(){if(I2)return Jv;I2=1;var t=Ze(),e=jt();Jv=r;function r(a){function i(o){var l=a.children(o),u=a.node(o);if(l.length&&t.forEach(l,i),t.has(u,"minRank")){u.borderLeft=[],u.borderRight=[];for(var c=u.minRank,d=u.maxRank+1;c<d;++c)n(a,"borderLeft","_bl",o,u,c),n(a,"borderRight","_br",o,u,c)}}t.forEach(a.children(),i)}function n(a,i,o,l,u,c){var d={width:0,height:0,rank:c,borderType:i},f=u[i][c-1],h=e.addDummyNode(a,"border",d,o);u[i][c]=h,a.setParent(h,l),f&&a.setEdge(f,h,{weight:1})}return Jv}var Qv,B2;function m9(){if(B2)return Qv;B2=1;var t=Ze();Qv={adjust:e,undo:r};function e(c){var d=c.graph().rankdir.toLowerCase();(d==="lr"||d==="rl")&&n(c)}function r(c){var d=c.graph().rankdir.toLowerCase();(d==="bt"||d==="rl")&&i(c),(d==="lr"||d==="rl")&&(l(c),n(c))}function n(c){t.forEach(c.nodes(),function(d){a(c.node(d))}),t.forEach(c.edges(),function(d){a(c.edge(d))})}function a(c){var d=c.width;c.width=c.height,c.height=d}function i(c){t.forEach(c.nodes(),function(d){o(c.node(d))}),t.forEach(c.edges(),function(d){var f=c.edge(d);t.forEach(f.points,o),t.has(f,"y")&&o(f)})}function o(c){c.y=-c.y}function l(c){t.forEach(c.nodes(),function(d){u(c.node(d))}),t.forEach(c.edges(),function(d){var f=c.edge(d);t.forEach(f.points,u),t.has(f,"x")&&u(f)})}function u(c){var d=c.x;c.x=c.y,c.y=d}return Qv}var eg,D2;function y9(){if(D2)return eg;D2=1;var t=Ze();eg=e;function e(r){var n={},a=t.filter(r.nodes(),function(c){return!r.children(c).length}),i=t.max(t.map(a,function(c){return r.node(c).rank})),o=t.map(t.range(i+1),function(){return[]});function l(c){if(!t.has(n,c)){n[c]=!0;var d=r.node(c);o[d.rank].push(c),t.forEach(r.successors(c),l)}}var u=t.sortBy(a,function(c){return r.node(c).rank});return t.forEach(u,l),o}return eg}var tg,O2;function b9(){if(O2)return tg;O2=1;var t=Ze();tg=e;function e(n,a){for(var i=0,o=1;o<a.length;++o)i+=r(n,a[o-1],a[o]);return i}function r(n,a,i){for(var o=t.zipObject(i,t.map(i,function(h,v){return v})),l=t.flatten(t.map(a,function(h){return t.sortBy(t.map(n.outEdges(h),function(v){return{pos:o[v.w],weight:n.edge(v).weight}}),"pos")}),!0),u=1;u<i.length;)u<<=1;var c=2*u-1;u-=1;var d=t.map(new Array(c),function(){return 0}),f=0;return t.forEach(l.forEach(function(h){var v=h.pos+u;d[v]+=h.weight;for(var p=0;v>0;)v%2&&(p+=d[v+1]),v=v-1>>1,d[v]+=h.weight;f+=h.weight*p})),f}return tg}var rg,A2;function w9(){if(A2)return rg;A2=1;var t=Ze();rg=e;function e(r,n){return t.map(n,function(a){var i=r.inEdges(a);if(i.length){var o=t.reduce(i,function(l,u){var c=r.edge(u),d=r.node(u.v);return{sum:l.sum+c.weight*d.order,weight:l.weight+c.weight}},{sum:0,weight:0});return{v:a,barycenter:o.sum/o.weight,weight:o.weight}}else return{v:a}})}return rg}var ng,P2;function C9(){if(P2)return ng;P2=1;var t=Ze();ng=e;function e(a,i){var o={};t.forEach(a,function(u,c){var d=o[u.v]={indegree:0,in:[],out:[],vs:[u.v],i:c};t.isUndefined(u.barycenter)||(d.barycenter=u.barycenter,d.weight=u.weight)}),t.forEach(i.edges(),function(u){var c=o[u.v],d=o[u.w];!t.isUndefined(c)&&!t.isUndefined(d)&&(d.indegree++,c.out.push(o[u.w]))});var l=t.filter(o,function(u){return!u.indegree});return r(l)}function r(a){var i=[];function o(c){return function(d){d.merged||(t.isUndefined(d.barycenter)||t.isUndefined(c.barycenter)||d.barycenter>=c.barycenter)&&n(c,d)}}function l(c){return function(d){d.in.push(c),--d.indegree===0&&a.push(d)}}for(;a.length;){var u=a.pop();i.push(u),t.forEach(u.in.reverse(),o(u)),t.forEach(u.out,l(u))}return t.map(t.filter(i,function(c){return!c.merged}),function(c){return t.pick(c,["vs","i","barycenter","weight"])})}function n(a,i){var o=0,l=0;a.weight&&(o+=a.barycenter*a.weight,l+=a.weight),i.weight&&(o+=i.barycenter*i.weight,l+=i.weight),a.vs=i.vs.concat(a.vs),a.barycenter=o/l,a.weight=l,a.i=Math.min(i.i,a.i),i.merged=!0}return ng}var ag,L2;function E9(){if(L2)return ag;L2=1;var t=Ze(),e=jt();ag=r;function r(i,o){var l=e.partition(i,function(g){return t.has(g,"barycenter")}),u=l.lhs,c=t.sortBy(l.rhs,function(g){return-g.i}),d=[],f=0,h=0,v=0;u.sort(a(!!o)),v=n(d,c,v),t.forEach(u,function(g){v+=g.vs.length,d.push(g.vs),f+=g.barycenter*g.weight,h+=g.weight,v=n(d,c,v)});var p={vs:t.flatten(d,!0)};return h&&(p.barycenter=f/h,p.weight=h),p}function n(i,o,l){for(var u;o.length&&(u=t.last(o)).i<=l;)o.pop(),i.push(u.vs),l++;return l}function a(i){return function(o,l){return o.barycenter<l.barycenter?-1:o.barycenter>l.barycenter?1:i?l.i-o.i:o.i-l.i}}return ag}var ig,R2;function x9(){if(R2)return ig;R2=1;var t=Ze(),e=w9(),r=C9(),n=E9();ig=a;function a(l,u,c,d){var f=l.children(u),h=l.node(u),v=h?h.borderLeft:void 0,p=h?h.borderRight:void 0,g={};v&&(f=t.filter(f,function(x){return x!==v&&x!==p}));var m=e(l,f);t.forEach(m,function(x){if(l.children(x.v).length){var k=a(l,x.v,c,d);g[x.v]=k,t.has(k,"barycenter")&&o(x,k)}});var y=r(m,c);i(y,g);var b=n(y,d);if(v&&(b.vs=t.flatten([v,b.vs,p],!0),l.predecessors(v).length)){var w=l.node(l.predecessors(v)[0]),C=l.node(l.predecessors(p)[0]);t.has(b,"barycenter")||(b.barycenter=0,b.weight=0),b.barycenter=(b.barycenter*b.weight+w.order+C.order)/(b.weight+2),b.weight+=2}return b}function i(l,u){t.forEach(l,function(c){c.vs=t.flatten(c.vs.map(function(d){return u[d]?u[d].vs:d}),!0)})}function o(l,u){t.isUndefined(l.barycenter)?(l.barycenter=u.barycenter,l.weight=u.weight):(l.barycenter=(l.barycenter*l.weight+u.barycenter*u.weight)/(l.weight+u.weight),l.weight+=u.weight)}return ig}var og,M2;function k9(){if(M2)return og;M2=1;var t=Ze(),e=wr().Graph;og=r;function r(a,i,o){var l=n(a),u=new e({compound:!0}).setGraph({root:l}).setDefaultNodeLabel(function(c){return a.node(c)});return t.forEach(a.nodes(),function(c){var d=a.node(c),f=a.parent(c);(d.rank===i||d.minRank<=i&&i<=d.maxRank)&&(u.setNode(c),u.setParent(c,f||l),t.forEach(a[o](c),function(h){var v=h.v===c?h.w:h.v,p=u.edge(v,c),g=t.isUndefined(p)?0:p.weight;u.setEdge(v,c,{weight:a.edge(h).weight+g})}),t.has(d,"minRank")&&u.setNode(c,{borderLeft:d.borderLeft[i],borderRight:d.borderRight[i]}))}),u}function n(a){for(var i;a.hasNode(i=t.uniqueId("_root")););return i}return og}var sg,F2;function S9(){if(F2)return sg;F2=1;var t=Ze();sg=e;function e(r,n,a){var i={},o;t.forEach(a,function(l){for(var u=r.parent(l),c,d;u;){if(c=r.parent(u),c?(d=i[c],i[c]=u):(d=o,o=u),d&&d!==u){n.setEdge(d,u);return}u=c}})}return sg}var lg,$2;function _9(){if($2)return lg;$2=1;var t=Ze(),e=y9(),r=b9(),n=x9(),a=k9(),i=S9(),o=wr().Graph,l=jt();lg=u;function u(h){var v=l.maxRank(h),p=c(h,t.range(1,v+1),"inEdges"),g=c(h,t.range(v-1,-1,-1),"outEdges"),m=e(h);f(h,m);for(var y=Number.POSITIVE_INFINITY,b,w=0,C=0;C<4;++w,++C){d(w%2?p:g,w%4>=2),m=l.buildLayerMatrix(h);var x=r(h,m);x<y&&(C=0,b=t.cloneDeep(m),y=x)}f(h,b)}function c(h,v,p){return t.map(v,function(g){return a(h,g,p)})}function d(h,v){var p=new o;t.forEach(h,function(g){var m=g.graph().root,y=n(g,m,p,v);t.forEach(y.vs,function(b,w){g.node(b).order=w}),i(g,p,y.vs)})}function f(h,v){t.forEach(v,function(p){t.forEach(p,function(g,m){h.node(g).order=m})})}return lg}var cg,V2;function T9(){if(V2)return cg;V2=1;var t=Ze(),e=wr().Graph,r=jt();cg={positionX:p,findType1Conflicts:n,findType2Conflicts:a,addConflict:o,hasConflict:l,verticalAlignment:u,horizontalCompaction:c,alignCoordinates:h,findSmallestWidthAlignment:f,balance:v};function n(y,b){var w={};function C(x,k){var E=0,_=0,S=x.length,T=t.last(k);return t.forEach(k,function(N,B){var O=i(y,N),D=O?y.node(O).order:S;(O||N===T)&&(t.forEach(k.slice(_,B+1),function(L){t.forEach(y.predecessors(L),function(A){var M=y.node(A),P=M.order;(P<E||D<P)&&!(M.dummy&&y.node(L).dummy)&&o(w,A,L)})}),_=B+1,E=D)}),k}return t.reduce(b,C),w}function a(y,b){var w={};function C(k,E,_,S,T){var N;t.forEach(t.range(E,_),function(B){N=k[B],y.node(N).dummy&&t.forEach(y.predecessors(N),function(O){var D=y.node(O);D.dummy&&(D.order<S||D.order>T)&&o(w,O,N)})})}function x(k,E){var _=-1,S,T=0;return t.forEach(E,function(N,B){if(y.node(N).dummy==="border"){var O=y.predecessors(N);O.length&&(S=y.node(O[0]).order,C(E,T,B,_,S),T=B,_=S)}C(E,T,E.length,S,k.length)}),E}return t.reduce(b,x),w}function i(y,b){if(y.node(b).dummy)return t.find(y.predecessors(b),function(w){return y.node(w).dummy})}function o(y,b,w){if(b>w){var C=b;b=w,w=C}var x=y[b];x||(y[b]=x={}),x[w]=!0}function l(y,b,w){if(b>w){var C=b;b=w,w=C}return t.has(y[b],w)}function u(y,b,w,C){var x={},k={},E={};return t.forEach(b,function(_){t.forEach(_,function(S,T){x[S]=S,k[S]=S,E[S]=T})}),t.forEach(b,function(_){var S=-1;t.forEach(_,function(T){var N=C(T);if(N.length){N=t.sortBy(N,function(A){return E[A]});for(var B=(N.length-1)/2,O=Math.floor(B),D=Math.ceil(B);O<=D;++O){var L=N[O];k[T]===T&&S<E[L]&&!l(w,T,L)&&(k[L]=T,k[T]=x[T]=x[L],S=E[L])}}})}),{root:x,align:k}}function c(y,b,w,C,x){var k={},E=d(y,b,w,x),_=x?"borderLeft":"borderRight";function S(B,O){for(var D=E.nodes(),L=D.pop(),A={};L;)A[L]?B(L):(A[L]=!0,D.push(L),D=D.concat(O(L))),L=D.pop()}function T(B){k[B]=E.inEdges(B).reduce(function(O,D){return Math.max(O,k[D.v]+E.edge(D))},0)}function N(B){var O=E.outEdges(B).reduce(function(L,A){return Math.min(L,k[A.w]-E.edge(A))},Number.POSITIVE_INFINITY),D=y.node(B);O!==Number.POSITIVE_INFINITY&&D.borderType!==_&&(k[B]=Math.max(k[B],O))}return S(T,E.predecessors.bind(E)),S(N,E.successors.bind(E)),t.forEach(C,function(B){k[B]=k[w[B]]}),k}function d(y,b,w,C){var x=new e,k=y.graph(),E=g(k.nodesep,k.edgesep,C);return t.forEach(b,function(_){var S;t.forEach(_,function(T){var N=w[T];if(x.setNode(N),S){var B=w[S],O=x.edge(B,N);x.setEdge(B,N,Math.max(E(y,T,S),O||0))}S=T})}),x}function f(y,b){return t.minBy(t.values(b),function(w){var C=Number.NEGATIVE_INFINITY,x=Number.POSITIVE_INFINITY;return t.forIn(w,function(k,E){var _=m(y,E)/2;C=Math.max(k+_,C),x=Math.min(k-_,x)}),C-x})}function h(y,b){var w=t.values(b),C=t.min(w),x=t.max(w);t.forEach(["u","d"],function(k){t.forEach(["l","r"],function(E){var _=k+E,S=y[_],T;if(S!==b){var N=t.values(S);T=E==="l"?C-t.min(N):x-t.max(N),T&&(y[_]=t.mapValues(S,function(B){return B+T}))}})})}function v(y,b){return t.mapValues(y.ul,function(w,C){if(b)return y[b.toLowerCase()][C];var x=t.sortBy(t.map(y,C));return(x[1]+x[2])/2})}function p(y){var b=r.buildLayerMatrix(y),w=t.merge(n(y,b),a(y,b)),C={},x;t.forEach(["u","d"],function(E){x=E==="u"?b:t.values(b).reverse(),t.forEach(["l","r"],function(_){_==="r"&&(x=t.map(x,function(B){return t.values(B).reverse()}));var S=(E==="u"?y.predecessors:y.successors).bind(y),T=u(y,x,w,S),N=c(y,x,T.root,T.align,_==="r");_==="r"&&(N=t.mapValues(N,function(B){return-B})),C[E+_]=N})});var k=f(y,C);return h(C,k),v(C,y.graph().align)}function g(y,b,w){return function(C,x,k){var E=C.node(x),_=C.node(k),S=0,T;if(S+=E.width/2,t.has(E,"labelpos"))switch(E.labelpos.toLowerCase()){case"l":T=-E.width/2;break;case"r":T=E.width/2;break}if(T&&(S+=w?T:-T),T=0,S+=(E.dummy?b:y)/2,S+=(_.dummy?b:y)/2,S+=_.width/2,t.has(_,"labelpos"))switch(_.labelpos.toLowerCase()){case"l":T=_.width/2;break;case"r":T=-_.width/2;break}return T&&(S+=w?T:-T),T=0,S}}function m(y,b){return y.node(b).width}return cg}var ug,q2;function N9(){if(q2)return ug;q2=1;var t=Ze(),e=jt(),r=T9().positionX;ug=n;function n(i){i=e.asNonCompoundGraph(i),a(i),t.forEach(r(i),function(o,l){i.node(l).x=o})}function a(i){var o=e.buildLayerMatrix(i),l=i.graph().ranksep,u=0;t.forEach(o,function(c){var d=t.max(t.map(c,function(f){return i.node(f).height}));t.forEach(c,function(f){i.node(f).y=u+d/2}),u+=d+l})}return ug}var dg,z2;function I9(){if(z2)return dg;z2=1;var t=Ze(),e=u9(),r=d9(),n=h9(),a=jt().normalizeRanks,i=p9(),o=jt().removeEmptyRanks,l=v9(),u=g9(),c=m9(),d=_9(),f=N9(),h=jt(),v=wr().Graph;dg=p;function p(F,V){var q=V&&V.debugTiming?h.time:h.notime;q("layout",function(){var $=q(" buildLayoutGraph",function(){return S(F)});q(" runLayout",function(){g($,q)}),q(" updateInputGraph",function(){m(F,$)})})}function g(F,V){V(" makeSpaceForEdgeLabels",function(){T(F)}),V(" removeSelfEdges",function(){z(F)}),V(" acyclic",function(){e.run(F)}),V(" nestingGraph.run",function(){l.run(F)}),V(" rank",function(){n(h.asNonCompoundGraph(F))}),V(" injectEdgeLabelProxies",function(){N(F)}),V(" removeEmptyRanks",function(){o(F)}),V(" nestingGraph.cleanup",function(){l.cleanup(F)}),V(" normalizeRanks",function(){a(F)}),V(" assignRankMinMax",function(){B(F)}),V(" removeEdgeLabelProxies",function(){O(F)}),V(" normalize.run",function(){r.run(F)}),V(" parentDummyChains",function(){i(F)}),V(" addBorderSegments",function(){u(F)}),V(" order",function(){d(F)}),V(" insertSelfEdges",function(){W(F)}),V(" adjustCoordinateSystem",function(){c.adjust(F)}),V(" position",function(){f(F)}),V(" positionSelfEdges",function(){H(F)}),V(" removeBorderNodes",function(){P(F)}),V(" normalize.undo",function(){r.undo(F)}),V(" fixupEdgeLabelCoords",function(){A(F)}),V(" undoCoordinateSystem",function(){c.undo(F)}),V(" translateGraph",function(){D(F)}),V(" assignNodeIntersects",function(){L(F)}),V(" reversePoints",function(){M(F)}),V(" acyclic.undo",function(){e.undo(F)})}function m(F,V){t.forEach(F.nodes(),function(q){var $=F.node(q),K=V.node(q);$&&($.x=K.x,$.y=K.y,V.children(q).length&&($.width=K.width,$.height=K.height))}),t.forEach(F.edges(),function(q){var $=F.edge(q),K=V.edge(q);$.points=K.points,t.has(K,"x")&&($.x=K.x,$.y=K.y)}),F.graph().width=V.graph().width,F.graph().height=V.graph().height}var y=["nodesep","edgesep","ranksep","marginx","marginy"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},w=["acyclicer","ranker","rankdir","align"],C=["width","height"],x={width:0,height:0},k=["minlen","weight","width","height","labeloffset"],E={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},_=["labelpos"];function S(F){var V=new v({multigraph:!0,compound:!0}),q=X(F.graph());return V.setGraph(t.merge({},b,G(q,y),t.pick(q,w))),t.forEach(F.nodes(),function($){var K=X(F.node($));V.setNode($,t.defaults(G(K,C),x)),V.setParent($,F.parent($))}),t.forEach(F.edges(),function($){var K=X(F.edge($));V.setEdge($,t.merge({},E,G(K,k),t.pick(K,_)))}),V}function T(F){var V=F.graph();V.ranksep/=2,t.forEach(F.edges(),function(q){var $=F.edge(q);$.minlen*=2,$.labelpos.toLowerCase()!=="c"&&(V.rankdir==="TB"||V.rankdir==="BT"?$.width+=$.labeloffset:$.height+=$.labeloffset)})}function N(F){t.forEach(F.edges(),function(V){var q=F.edge(V);if(q.width&&q.height){var $=F.node(V.v),K=F.node(V.w),R={rank:(K.rank-$.rank)/2+$.rank,e:V};h.addDummyNode(F,"edge-proxy",R,"_ep")}})}function B(F){var V=0;t.forEach(F.nodes(),function(q){var $=F.node(q);$.borderTop&&($.minRank=F.node($.borderTop).rank,$.maxRank=F.node($.borderBottom).rank,V=t.max(V,$.maxRank))}),F.graph().maxRank=V}function O(F){t.forEach(F.nodes(),function(V){var q=F.node(V);q.dummy==="edge-proxy"&&(F.edge(q.e).labelRank=q.rank,F.removeNode(V))})}function D(F){var V=Number.POSITIVE_INFINITY,q=0,$=Number.POSITIVE_INFINITY,K=0,R=F.graph(),j=R.marginx||0,Y=R.marginy||0;function se(ce){var ae=ce.x,ne=ce.y,ue=ce.width,ie=ce.height;V=Math.min(V,ae-ue/2),q=Math.max(q,ae+ue/2),$=Math.min($,ne-ie/2),K=Math.max(K,ne+ie/2)}t.forEach(F.nodes(),function(ce){se(F.node(ce))}),t.forEach(F.edges(),function(ce){var ae=F.edge(ce);t.has(ae,"x")&&se(ae)}),V-=j,$-=Y,t.forEach(F.nodes(),function(ce){var ae=F.node(ce);ae.x-=V,ae.y-=$}),t.forEach(F.edges(),function(ce){var ae=F.edge(ce);t.forEach(ae.points,function(ne){ne.x-=V,ne.y-=$}),t.has(ae,"x")&&(ae.x-=V),t.has(ae,"y")&&(ae.y-=$)}),R.width=q-V+j,R.height=K-$+Y}function L(F){t.forEach(F.edges(),function(V){var q=F.edge(V),$=F.node(V.v),K=F.node(V.w),R,j;q.points?(R=q.points[0],j=q.points[q.points.length-1]):(q.points=[],R=K,j=$),q.points.unshift(h.intersectRect($,R)),q.points.push(h.intersectRect(K,j))})}function A(F){t.forEach(F.edges(),function(V){var q=F.edge(V);if(t.has(q,"x"))switch((q.labelpos==="l"||q.labelpos==="r")&&(q.width-=q.labeloffset),q.labelpos){case"l":q.x-=q.width/2+q.labeloffset;break;case"r":q.x+=q.width/2+q.labeloffset;break}})}function M(F){t.forEach(F.edges(),function(V){var q=F.edge(V);q.reversed&&q.points.reverse()})}function P(F){t.forEach(F.nodes(),function(V){if(F.children(V).length){var q=F.node(V),$=F.node(q.borderTop),K=F.node(q.borderBottom),R=F.node(t.last(q.borderLeft)),j=F.node(t.last(q.borderRight));q.width=Math.abs(j.x-R.x),q.height=Math.abs(K.y-$.y),q.x=R.x+q.width/2,q.y=$.y+q.height/2}}),t.forEach(F.nodes(),function(V){F.node(V).dummy==="border"&&F.removeNode(V)})}function z(F){t.forEach(F.edges(),function(V){if(V.v===V.w){var q=F.node(V.v);q.selfEdges||(q.selfEdges=[]),q.selfEdges.push({e:V,label:F.edge(V)}),F.removeEdge(V)}})}function W(F){var V=h.buildLayerMatrix(F);t.forEach(V,function(q){var $=0;t.forEach(q,function(K,R){var j=F.node(K);j.order=R+$,t.forEach(j.selfEdges,function(Y){h.addDummyNode(F,"selfedge",{width:Y.label.width,height:Y.label.height,rank:j.rank,order:R+ ++$,e:Y.e,label:Y.label},"_se")}),delete j.selfEdges})})}function H(F){t.forEach(F.nodes(),function(V){var q=F.node(V);if(q.dummy==="selfedge"){var $=F.node(q.e.v),K=$.x+$.width/2,R=$.y,j=q.x-K,Y=$.height/2;F.setEdge(q.e,q.label),F.removeNode(V),q.label.points=[{x:K+2*j/3,y:R-Y},{x:K+5*j/6,y:R-Y},{x:K+j,y:R},{x:K+5*j/6,y:R+Y},{x:K+2*j/3,y:R+Y}],q.label.x=q.x,q.label.y=q.y}})}function G(F,V){return t.mapValues(t.pick(F,V),Number)}function X(F){var V={};return t.forEach(F,function(q,$){V[$.toLowerCase()]=q}),V}return dg}var fg,H2;function B9(){if(H2)return fg;H2=1;var t=Ze(),e=jt(),r=wr().Graph;fg={debugOrdering:n};function n(a){var i=e.buildLayerMatrix(a),o=new r({compound:!0,multigraph:!0}).setGraph({});return t.forEach(a.nodes(),function(l){o.setNode(l,{label:l}),o.setParent(l,"layer"+a.node(l).rank)}),t.forEach(a.edges(),function(l){o.setEdge(l.v,l.w,{},l.name)}),t.forEach(i,function(l,u){var c="layer"+u;o.setNode(c,{rank:"same"}),t.reduce(l,function(d,f){return o.setEdge(d,f,{style:"invis"}),f})}),o}return fg}var hg,K2;function D9(){return K2||(K2=1,hg="0.8.5"),hg}var pg,G2;function O9(){return G2||(G2=1,pg={graphlib:wr(),layout:I9(),debug:B9(),util:{time:jt().time,notime:jt().notime},version:D9()}),pg}(function(t,e){(function(n,a){t.exports=a(O9())})(Ri,function(r){return function(n){var a={};function i(o){if(a[o])return a[o].exports;var l=a[o]={i:o,l:!1,exports:{}};return n[o].call(l.exports,l,l.exports,i),l.l=!0,l.exports}return i.m=n,i.c=a,i.d=function(o,l,u){i.o(o,l)||Object.defineProperty(o,l,{enumerable:!0,get:u})},i.r=function(o){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},i.t=function(o,l){if(l&1&&(o=i(o)),l&8||l&4&&typeof o=="object"&&o&&o.__esModule)return o;var u=Object.create(null);if(i.r(u),Object.defineProperty(u,"default",{enumerable:!0,value:o}),l&2&&typeof o!="string")for(var c in o)i.d(u,c,(function(d){return o[d]}).bind(null,c));return u},i.n=function(o){var l=o&&o.__esModule?function(){return o.default}:function(){return o};return i.d(l,"a",l),l},i.o=function(o,l){return Object.prototype.hasOwnProperty.call(o,l)},i.p="",i(i.s=0)}([function(n,a,i){var o=i(1),l=function(c){c&&c("layout","dagre",o)};typeof cytoscape<"u"&&l(cytoscape),n.exports=l},function(n,a,i){function o(h){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?o=function(p){return typeof p}:o=function(p){return p&&typeof Symbol=="function"&&p.constructor===Symbol&&p!==Symbol.prototype?"symbol":typeof p},o(h)}var l=function(v){return typeof v=="function"},u=i(2),c=i(3),d=i(4);function f(h){this.options=c({},u,h)}f.prototype.run=function(){var h=this.options,v=this,p=h.cy,g=h.eles,m=function(H,G){return l(G)?G.apply(H,[H]):G},y=h.boundingBox||{x1:0,y1:0,w:p.width(),h:p.height()};y.x2===void 0&&(y.x2=y.x1+y.w),y.w===void 0&&(y.w=y.x2-y.x1),y.y2===void 0&&(y.y2=y.y1+y.h),y.h===void 0&&(y.h=y.y2-y.y1);var b=new d.graphlib.Graph({multigraph:!0,compound:!0}),w={},C=function(H,G){G!=null&&(w[H]=G)};C("nodesep",h.nodeSep),C("edgesep",h.edgeSep),C("ranksep",h.rankSep),C("rankdir",h.rankDir),C("align",h.align),C("ranker",h.ranker),C("acyclicer",h.acyclicer),b.setGraph(w),b.setDefaultEdgeLabel(function(){return{}}),b.setDefaultNodeLabel(function(){return{}});var x=g.nodes();l(h.sort)&&(x=x.sort(h.sort));for(var k=0;k<x.length;k++){var E=x[k],_=E.layoutDimensions(h);b.setNode(E.id(),{width:_.w,height:_.h,name:E.id()})}for(var S=0;S<x.length;S++){var T=x[S];T.isChild()&&b.setParent(T.id(),T.parent().id())}var N=g.edges().stdFilter(function(W){return!W.source().isParent()&&!W.target().isParent()});l(h.sort)&&(N=N.sort(h.sort));for(var B=0;B<N.length;B++){var O=N[B];b.setEdge(O.source().id(),O.target().id(),{minlen:m(O,h.minLen),weight:m(O,h.edgeWeight),name:O.id()},O.id())}d.layout(b);for(var D=b.nodes(),L=0;L<D.length;L++){var A=D[L],M=b.node(A);p.getElementById(A).scratch().dagre=M}var P;h.boundingBox?(P={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0},x.forEach(function(W){var H=W.scratch().dagre;P.x1=Math.min(P.x1,H.x),P.x2=Math.max(P.x2,H.x),P.y1=Math.min(P.y1,H.y),P.y2=Math.max(P.y2,H.y)}),P.w=P.x2-P.x1,P.h=P.y2-P.y1):P=y;var z=function(H){if(h.boundingBox){var G=P.w===0?0:(H.x-P.x1)/P.w,X=P.h===0?0:(H.y-P.y1)/P.h;return{x:y.x1+G*y.w,y:y.y1+X*y.h}}else return H};return x.layoutPositions(v,h,function(W){W=o(W)==="object"?W:this;var H=W.scratch().dagre;return z({x:H.x,y:H.y})}),this},n.exports=f},function(n,a){var i={nodeSep:void 0,edgeSep:void 0,rankSep:void 0,rankDir:void 0,align:void 0,acyclicer:void 0,ranker:void 0,minLen:function(l){return 1},edgeWeight:function(l){return 1},fit:!0,padding:30,spacingFactor:void 0,nodeDimensionsIncludeLabels:!1,animate:!1,animateFilter:function(l,u){return!0},animationDuration:500,animationEasing:void 0,boundingBox:void 0,transform:function(l,u){return u},ready:function(){},sort:void 0,stop:function(){}};n.exports=i},function(n,a){n.exports=Object.assign!=null?Object.assign.bind(Object):function(i){for(var o=arguments.length,l=new Array(o>1?o-1:0),u=1;u<o;u++)l[u-1]=arguments[u];return l.forEach(function(c){Object.keys(c).forEach(function(d){return i[d]=c[d]})}),i}},function(n,a){n.exports=r}])})})(_w);var A9=_w.exports;const P9=YP(A9);Dn.use(P9);const U2=function(t,e){if(!t||!e)return!1;let r=JSON.stringify(t),n=JSON.stringify(e);return r.indexOf(n)!==-1},L9=function(t){return t?[...new Set(t.map(e=>JSON.stringify(e)))].map(e=>JSON.parse(e)):[]},R9=function(t,e,r){let n=t.connectivity.flat(),a=L9(n),i=[],o=!1;return a.forEach(l=>{o=!1,U2(e,l)&&(o=!0),U2(r,l)&&(o=!0),o||i.push(l)}),i};let M9=class extends EventTarget{constructor(r,n,a={}){super();Bt(this,"cyg",null);Bt(this,"nodes",[]);Bt(this,"edges",[]);Bt(this,"axons",[]);Bt(this,"dendrites",[]);Bt(this,"somas",[]);Bt(this,"labelCache",new Map);Bt(this,"graphCanvas",null);Bt(this,"hasPhenotypes",!1);Bt(this,"unavailableNodeIds",new Set);Bt(this,"termOverrides",new Map);Bt(this,"termLabels",new Map);Bt(this,"combinationMap",new Map);this.labelCache=r,this.graphCanvas=n,this.unavailableNodeIds=a.unavailableNodeIds instanceof Set?a.unavailableNodeIds:new Set(a.unavailableNodeIds||[]),this.termOverrides=a.termOverrides instanceof Map?a.termOverrides:new Map(Object.entries(a.termOverrides||{})),this.termLabels=a.termLabels instanceof Map?a.termLabels:new Map(Object.entries(a.termLabels||{})),this.combinationMap=a.combinationMap instanceof Map?a.combinationMap:new Map(Object.entries(a.combinationMap||{}))}async addConnectivity(r){var n;if(r&&r["node-phenotypes"]){const a=["ilxtr:hasSomaLocatedIn"],i=["ilxtr:hasAxonPresynapticElementIn","ilxtr:hasAxonSensorySubcellularElementIn"],o=[],l=[];a.forEach(c=>{o.push(...r["node-phenotypes"][c])}),i.forEach(c=>{l.push(...r["node-phenotypes"][c])});const u=R9(r,o,l);this.dendrites=o.map(c=>JSON.stringify(c)),this.axons=l.map(c=>JSON.stringify(c)),u!=null&&u.length&&(this.somas=u.map(c=>JSON.stringify(c))),this.hasPhenotypes=!0}else this.axons=r.axons.map(a=>JSON.stringify(a)),this.dendrites=r.dendrites.map(a=>JSON.stringify(a)),(n=r.somas)!=null&&n.length&&(this.somas=r.somas.map(a=>JSON.stringify(a))),this.hasPhenotypes=!1;if(r.connectivity.length)for(const a of r.connectivity){const i=await this.graphNode(a[0]),o=await this.graphNode(a[1]);this.nodes.push(i),this.nodes.push(o),this.edges.push({id:`${i.id}_${o.id}`,source:i.id,target:o.id})}else this.nodes.push({id:"MISSING",label:"NO PATHS"})}showConnectivity(r){this.cyg=new K9(this,r),this.cyg.on("tap-node",n=>{const a=new CustomEvent("tap-node",{detail:n.detail});this.dispatchEvent(a)})}selectConnectivity(r){var n;if((n=this.cyg)!=null&&n.cy){let a="";this.cyg.cy.elements().forEach(i=>{const o=e_(i.data());z9(r,o)&&(a=i.id())}),a&&this.cyg.cy.$id(a).select()}}clearConnectivity(){this.cyg&&(this.cyg.remove(),this.cyg=null)}reset(){this.cyg&&this.cyg.resetView()}resize(){this.cyg&&this.cyg.resize()}zoom(r){var n;if((n=this.cyg)!=null&&n.cy){const a=this.cyg.cy.zoom(),i=this.cyg.cy.width(),o=this.cyg.cy.height(),l={x:i/2,y:o/2};this.cyg.cy.zoom({level:a+r,renderedPosition:l})}}enableZoom(r){var n;(n=this.cyg)!=null&&n.cy&&this.cyg.cy.userZoomingEnabled(r)}get elements(){return[...this.nodes.map(r=>({data:r})),...this.edges.map(r=>({data:r}))]}get roots(){return this.hasPhenotypes?[...this.dendrites]:[...this.dendrites,...this.somas]}async graphNode(r){const n=JSON.stringify(r),a=[r[0],...r[1]],i=this.combinationMap.get(n);if(i)return this.graphNodeFromCombination(n,a,i);const o=a.map(p=>{const g=this.termOverrides.get(p);return(g==null?void 0:g.id)||p}),l=new Set,u=[];a.forEach((p,g)=>{const m=o[g];if(!l.has(m)){l.add(m);const y=this.termOverrides.get(p),b=(y==null?void 0:y.label)||(this.termLabels.has(m)?this.termLabels.get(m):"")||(this.labelCache.has(m)?this.labelCache.get(m):"");u.push({id:m,humanLabel:b})}});const c=[...u.map(p=>p.id),...u.map(p=>p.humanLabel)],d={id:n,label:c.join(`
|
|
45
45
|
`),displayLabel:Q2(u.map(p=>p.humanLabel)),connectivityData:u.map(p=>({id:p.id,label:p.humanLabel||p.id}))},f=[];a.forEach(p=>{const g=this.termOverrides.get(p);if(!g)return;const m=this.termLabels.has(p)?this.termLabels.get(p):this.labelCache.has(p)?this.labelCache.get(p):p;f.push({sourceId:p,sourceLabel:m,targetId:g.id,targetLabel:g.label||m})}),f.length&&(d.mappedFrom=H9(f));const h=a.some(p=>this.unavailableNodeIds.has(p));return a.some(p=>this.termOverrides.has(p))?d.mapped=!0:h&&(d.unavailable=!0),this.hasPhenotypes?this.axons.includes(n)?d.axon=!0:this.dendrites.includes(n)?d.dendrite=!0:d.somas=!0:this.axons.includes(n)?this.dendrites.includes(n)||this.somas.includes(n)?d.somas=!0:d.axon=!0:(this.dendrites.includes(n)||this.somas.includes(n))&&(d.dendrite=!0),d}graphNodeFromCombination(r,n,a){var p;const o=!(((p=a.mapId)==null?void 0:p.length)>0)||!a.mapLabel,l=!o&&JSON.stringify(a.mapId)===JSON.stringify(a.sckanId),u=!o&&!l,c=u?[...new Set(vg(a.mapId))]:[...new Set(n)],d=(u?a.mapLabel:a.sckanLabel)||"",f=[...c,d].join(`
|
|
46
46
|
`),h=Q2([d]),v={id:r,label:f,displayLabel:h,connectivityData:c.map(g=>({id:g,label:h||g}))};if(u){v.mapped=!0;const m=vg(a.mapId)[0];m&&(v.mappedFrom=[{sourceId:JSON.stringify(a.sckanId),sourceLabel:a.sckanLabel||"",targetId:m,targetLabel:a.mapLabel||a.sckanLabel||""}])}else o&&(v.unavailable=!0);return this.hasPhenotypes?this.axons.includes(r)?v.axon=!0:this.dendrites.includes(r)?v.dendrite=!0:v.somas=!0:this.axons.includes(r)?this.dendrites.includes(r)||this.somas.includes(r)?v.somas=!0:v.axon=!0:(this.dendrites.includes(r)||this.somas.includes(r))&&(v.dendrite=!0),v}getConnectivityLabelForId(r,n=""){const a=this.labelCache.get(r);if(a)return a;const i=this.termLabels.get(r);return i&&W2(i)!==W2(n)?i:r}on(r,n){this.addEventListener(r,n)}};function vg(t,e=[]){return Array.isArray(t)?t.forEach(r=>vg(r,e)):typeof t=="string"&&t&&e.push(t),e}function W2(t){return String(t||"").replace(/\s+/g," ").trim().toLowerCase()}const j2="#8300bf",Y2="#f3ecf6",Z2="#ffe5e3",gg="#ffb7b4",X2="#d9ffe0",mg="#aceebb",J2=40,F9=[{selector:"node",style:{label:function(t){return t.data("displayLabel")||$9(t.data("label"))},"background-color":"transparent","background-opacity":"0","text-valign":"center","text-wrap":"wrap",width:"80px",height:"80px","text-max-width":"80px","font-size":"6px",shape:"round-rectangle","border-width":1,"border-style":"solid","border-color":"gray"}},{selector:"node[axon]",style:{shape:"round-diamond",width:"100px",height:"100px"}},{selector:"node[dendrite]",style:{shape:"ellipse"}},{selector:"node[somas]",style:{shape:"round-rectangle"}},{selector:"node[unavailable]",style:{"border-color":gg}},{selector:"node[mapped]",style:{"border-color":mg}},{selector:"edge",style:{width:1,"line-color":"dimgray","curve-style":"bezier"}},{selector:"node.active",style:{"border-color":j2,"background-color":Y2,"background-opacity":.75}},{selector:"node[unavailable].active",style:{"border-color":gg,"background-color":Z2,"background-opacity":.75}},{selector:"node[mapped].active",style:{"border-color":mg,"background-color":X2,"background-opacity":.75}}];function $9(t){const e=t.split(`
|
|
47
47
|
`),r=e.length/2,n=e.slice(r),a=new Set,i=n.map(o=>String(o||"").replace(/\s+/g," ").trim()).filter(o=>o).filter(o=>{const l=o.toLowerCase();return a.has(l)?!1:(a.add(l),!0)});return yg(i.join(`
|
|
@@ -51,10 +51,10 @@ Licensed under The MIT License (http://opensource.org/licenses/MIT)
|
|
|
51
51
|
`).map(e=>e&&e[0]>="a"&&e[0]<="z"?e.charAt(0).toUpperCase()+e.slice(1):e).join(`
|
|
52
52
|
`)}function V9(t){return String(t||"").replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}function q9(t){const e=t?t.split(`
|
|
53
53
|
`):[],r=[];for(let n=0;n<e.length/2;n++)r.push({id:e[n],label:e[n+e.length/2]});return r}function e_(t){return Array.isArray(t==null?void 0:t.connectivityData)&&t.connectivityData.length?t.connectivityData:q9((t==null?void 0:t.label)||"")}function t_(t){const e=new Map;return e_(t).forEach(r=>{const n=String((r==null?void 0:r.label)||(r==null?void 0:r.id)||"").replace(/\s+/g," ").trim(),a=String((r==null?void 0:r.id)||"").trim(),i=n.toLowerCase();e.has(i)||e.set(i,{label:n,ids:[]}),a&&!e.get(i).ids.includes(a)&&e.get(i).ids.push(a)}),[...e.values()].map(r=>({label:r.label,id:r.ids.join(", ")}))}function z9(t,e){var r,n;t.sort((a,i)=>a.id<i.id?-1:a.id>i.id?1:0),e.sort((a,i)=>a.id<i.id?-1:a.id>i.id?1:0);for(let a=0;a<t.length;a++)if(((r=t[a])==null?void 0:r.id)!==((n=e[a])==null?void 0:n.id))return!1;return!0}function H9(t){const e=new Set,r=[];return t.forEach(n=>{const a=JSON.stringify(n);e.has(a)||(e.add(a),r.push(n))}),r}class K9 extends EventTarget{constructor(r,n){var a;super();Bt(this,"cy");Bt(this,"tooltip");Bt(this,"layoutOptions");this.layoutOptions={name:"dagre",nodeSep:150,edgeSep:50,rankSep:100,rankDir:"TB",roots:r.roots.length?r.roots:void 0,fit:!0,padding:J2,animate:!1},this.cy=Dn({container:n,elements:r.elements,layout:this.layoutOptions,style:F9,minZoom:.1,maxZoom:10,wheelSensitivity:.4}).on("mouseover","node",this.overNode.bind(this)).on("mouseout","node",this.exitNode.bind(this)).on("position","node",this.moveNode.bind(this)),this.tooltip=document.createElement("div"),this.tooltip.className="cy-graph-tooltip",this.tooltip.hidden=!0,(a=n==null?void 0:n.lastChild)==null||a.appendChild(this.tooltip)}remove(){this.cy&&this.cy.destroy()}resetView(){if(!this.cy)return;this.cy.layout(this.layoutOptions).run();const r=this.cy.elements();r.length?(this.cy.fit(r,J2),this.cy.center(r)):this.cy.reset()}resize(){this.cy&&(this.cy.resize(),this.resetView())}checkRightBoundary(r){var n;r+this.tooltip.offsetWidth>=((n=this.tooltip.parentElement)==null?void 0:n.offsetWidth)&&(this.tooltip.style.left=`${r-this.tooltip.offsetWidth}px`)}overNode(r){const a=r.target.data(),o=t_(a).map(f=>({text:`${f.label} (${f.id})`,type:"default"})),l=a.mappedFrom||[],u=!!a.unavailable,c=!!a.mapped;l.length?(o.push({text:"",type:"spacer"}),o.push({text:"SCKAN feature alias:",type:"alias"}),l.forEach(f=>{o.push({text:`${f.sourceLabel} (${f.sourceId})`,type:"alias-source"})})):u&&(o.unshift({text:"",type:"spacer"}),o.unshift({text:"SCKAN feature unavailable on Map",type:"unavailable"}));const d=o.map(f=>{if(f.type==="spacer")return'<div class="cy-graph-tooltip-spacer"></div>';const h=["cy-graph-tooltip-line"];return f.type==="alias"&&h.push("is-alias"),f.type==="alias-source"&&h.push("is-alias-source"),f.type==="unavailable"&&h.push("is-unavailable"),`<div class="${h.join(" ")}">${V9(yg(f.text))}</div>`}).join("");this.tooltip.innerHTML=d,this.tooltip.style.backgroundColor=u?Z2:c?X2:Y2,this.tooltip.style.borderColor=u?gg:c?mg:j2,this.tooltip.style.left=`${r.renderedPosition.x}px`,this.tooltip.style.top=`${r.renderedPosition.y}px`,this.tooltip.style.maxWidth="240px",this.tooltip.style.zIndex=2,this.tooltip.hidden=!1,this.checkRightBoundary(r.renderedPosition.x),this.tapNode(r,!0)}moveNode(r){const n=r.target;this.tooltip.style.left=`${n.renderedPosition().x}px`,this.tooltip.style.top=`${n.renderedPosition().y}px`,this.checkRightBoundary(n.renderedPosition().x)}exitNode(r){this.tooltip.hidden=!0,this.tapNode(r,!1)}tapNode(r,n){const a=r.target,i=a.data();let o=t_(i);n?a.addClass("active"):(a.removeClass("active"),o=[],setTimeout(()=>{a.unselect()}));const l=new CustomEvent("tap-node",{detail:o});this.dispatchEvent(l)}on(r,n){this.addEventListener(r,n)}}const G9=1.3,U9=24*60*60*1e3,W9="Reset position",r_="Lock zoom",j9="Unlock zoom",Y9="Zoom in",Z9="Zoom out",n_=.25,X9="#8300bf",J9={name:"ConnectivityGraph",props:{entry:{type:String,default:""},mapServer:{type:String,default:""},sckanVersion:{type:String,default:""},selectedConnectivityData:{type:Array,default:[]},connectivityFromMap:{type:Object,default:()=>null},connectivityError:{type:Object,default:()=>{}},origins:{type:Array,default:()=>[]},components:{type:Array,default:()=>[]},destinations:{type:Array,default:()=>[]},originsWithDatasets:{type:Array,default:()=>[]},componentsWithDatasets:{type:Array,default:()=>[]},destinationsWithDatasets:{type:Array,default:()=>[]},hasSingleConnectivityList:{type:Boolean,default:!1},destinationsCombinations:{type:Array,default:()=>[]},originsCombinations:{type:Array,default:()=>[]},componentsCombinations:{type:Array,default:()=>[]}},computed:{unavailableNodeIdsKey:function(){return JSON.stringify(this.getUnavailableNodeIds())},mappedTermOverridesKey:function(){return JSON.stringify(this.getMappedTermOverrides())},termLabelsKey:function(){return JSON.stringify(this.getTermLabels())}},data:function(){return{loading:!0,loadingError:"",connectivityGraph:null,resizeObserver:null,resizeAnimationFrame:null,selectedSource:"",availableSources:[],pathList:[],schemaVersion:"",knowledgeByPath:new Map,labelledTerms:new Set,labelCache:new Map,resetLabel:W9,zoomLockLabel:r_,zoomInLabel:Y9,zoomOutLabel:Z9,iconColor:X9,zoomEnabled:!1,connectivityGraphContainer:null}},watch:{connectivityFromMap:function(t,e){t!==e&&this.restartGraph()},unavailableNodeIdsKey:function(t,e){t!==e&&this.restartGraph()},mappedTermOverridesKey:function(t,e){t!==e&&this.restartGraph()},termLabelsKey:function(t,e){t!==e&&this.restartGraph()}},mounted(){this.showSpinner(),this.updateTooltipContainer(),this.setupResizeObserver(),this.refreshCache(),this.loadCacheData(),this.start()},beforeUnmount(){var t;this.teardownResizeObserver(),(t=this.connectivityGraph)==null||t.clearConnectivity()},methods:{setupResizeObserver:function(){const t=this.$refs.connectivityGraphRef;!t||typeof ResizeObserver>"u"||(this.resizeObserver=new ResizeObserver(()=>{this.resizeAnimationFrame&&cancelAnimationFrame(this.resizeAnimationFrame),this.resizeAnimationFrame=requestAnimationFrame(()=>{var e;(e=this.connectivityGraph)==null||e.resize()})}),this.resizeObserver.observe(t))},teardownResizeObserver:function(){this.resizeAnimationFrame&&(cancelAnimationFrame(this.resizeAnimationFrame),this.resizeAnimationFrame=null),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)},updateTooltipContainer:function(){this.connectivityGraphContainer=this.$refs.connectivityGraphRef},loadCacheData:function(){const t=sessionStorage.getItem("connectivity-graph-sources"),e=sessionStorage.getItem("connectivity-graph-labels"),r=sessionStorage.getItem("connectivity-graph-pathlist"),n=sessionStorage.getItem("connectivity-graph-schema-version");if(this.sckanVersion&&(this.selectedSource=this.sckanVersion),sessionStorage.setItem("connectivity-graph-selected-source",this.selectedSource),this.updateCacheExpiry(),t&&(this.availableSources=JSON.parse(t)),r&&(this.pathList=JSON.parse(r)),e){const a=JSON.parse(e);this.labelCache=new Map(Object.entries(a))}n&&(this.schemaVersion=n)},isValidKnowledgeSource:function(){const t=sessionStorage.getItem("connectivity-graph-selected-source");return!(this.sckanVersion&&this.sckanVersion!==t)},removeAllCacheData:function(){["connectivity-graph-expiry","connectivity-graph-selected-source","connectivity-graph-source","connectivity-graph-sources","connectivity-graph-labels","connectivity-graph-pathlist","connectivity-graph-schema-version"].forEach(e=>{sessionStorage.removeItem(e)})},refreshCache:function(){const t=sessionStorage.getItem("connectivity-graph-expiry"),e=new Date,r=this.isValidKnowledgeSource();(e.getTime()>t||!r)&&this.removeAllCacheData()},updateCacheExpiry:function(){const e=new Date().getTime()+U9;sessionStorage.setItem("connectivity-graph-expiry",e)},start:function(){this.loadingError="",this.run().then(t=>{t!=null&&t.success?this.showGraph(this.entry):t!=null&&t.error?(this.loadingError=t.error,this.hideSpinner()):(this.loadingError="Loading error!",this.hideSpinner())}).catch(t=>{this.loadingError="Loading error!",this.hideSpinner()})},run:async function(){return this.schemaVersion||(this.schemaVersion=await this.getSchemaVersion(),sessionStorage.setItem("connectivity-graph-schema-version",this.schemaVersion),this.updateCacheExpiry()),this.schemaVersion<G9?{error:`No server available for schema-version ${this.schemaVersion}.`}:(this.availableSources.length||(this.availableSources=await this.loadAvailableSources()),!this.connectivityFromMap&&!this.isSCKANVersionAvailable()?{error:`No data available for SCKAN version ${this.selectedSource}.`}:(await this.setPathList(this.selectedSource),{success:!0}))},showGraph:async function(t){var n;const e=this.$refs.graphCanvas;this.connectivityFromMap&&(this.cacheLabels(this.connectivityFromMap),await this.getCachedTermLabels()),(n=this.connectivityGraph)==null||n.clearConnectivity(),this.connectivityGraph=new M9(this.labelCache,e,{unavailableNodeIds:this.getUnavailableNodeIds(),termOverrides:this.getMappedTermOverrides(),termLabels:this.getTermLabels(),combinationMap:this.getCombinationMap()});const r=this.knowledgeByPath.get(t);this.connectivityFromMap&&(r.axons=this.connectivityFromMap.axons,r.connectivity=this.connectivityFromMap.connectivity,r.dendrites=this.connectivityFromMap.dendrites,r.somas=this.connectivityFromMap.somas),await this.connectivityGraph.addConnectivity(r),this.connectivityGraph.showConnectivity(e),this.selectedConnectivityData.length&&this.connectivityGraph.selectConnectivity(this.selectedConnectivityData),this.connectivityGraph.on("tap-node",a=>{const i=a.detail;this.$emit("tap-node",i)}),this.hideSpinner()},query:async function(t,e){const r=`${this.mapServer}knowledge/query/`,n={sql:t,params:e};try{const a=await fetch(r,{method:"POST",headers:{Accept:"application/json; charset=utf-8","Cache-Control":"no-store","Content-Type":"application/json"},body:JSON.stringify(n)});if(!a.ok)throw new Error(`Cannot access ${r}`);return await a.json()}catch{return{values:[]}}},isSCKANVersionAvailable:function(){return this.availableSources.includes(this.selectedSource)},loadAvailableSources:async function(){const t=await this.getJsonData(`${this.mapServer}knowledge/sources`),r=(t?t.sources||[]:[]).filter(n=>n);return sessionStorage.setItem("connectivity-graph-sources",JSON.stringify(r)),this.updateCacheExpiry(),r},loadPathData:async function(t){const e=await this.query(`select entity, knowledge from knowledge
|
|
54
|
-
where entity like 'ilxtr:%' and source=?
|
|
54
|
+
where (entity like 'ilxtr:%' or entity like 'ilx:composer%') and source=?
|
|
55
55
|
order by entity`,[t]);return e?e.values:[]},setPathList:async function(t){this.pathList.length||(this.pathList=await this.loadPathData(t),sessionStorage.setItem("connectivity-graph-pathlist",JSON.stringify(this.pathList)),this.updateCacheExpiry()),this.knowledgeByPath.clear(),this.labelledTerms=new Set;for(const[e,r]of this.pathList){const n=JSON.parse(r);"connectivity"in n&&(this.knowledgeByPath.set(e,n),this.cacheLabels(n))}return this.labelCache.size||await this.getCachedTermLabels(),""},getSchemaVersion:async function(){const t=await this.getJsonData(`${this.mapServer}knowledge/schema-version`);return t&&+t.version||0},getJsonData:async function(t){try{const e=await fetch(t,{method:"GET",headers:{Accept:"application/json; charset=utf-8","Cache-Control":"no-store","Content-Type":"application/json"}});return e.ok||console.error(`Cannot access ${t}`),await e.json()}catch{return null}},getCachedTermLabels:async function(){if(this.labelledTerms.size){const t=await this.query(`select entity, knowledge from knowledge
|
|
56
56
|
where entity in (?${", ?".repeat(this.labelledTerms.size-1)})
|
|
57
|
-
order by source desc`,[...this.labelledTerms.values()]);let e=null;for(const[n,a]of t.values)if(n!==e){const i=JSON.parse(a);this.labelCache.set(n,i.label||n),e=n}const r=Object.fromEntries(this.labelCache);sessionStorage.setItem("connectivity-graph-labels",JSON.stringify(r)),this.updateCacheExpiry()}},cacheNodeLabels:function(t){for(const e of[t[0],...t[1]])this.labelledTerms.add(e)},cacheLabels:async function(t){for(const e of t.connectivity)this.cacheNodeLabels(e[0]),this.cacheNodeLabels(e[1])},flattenCombinationIds:function(t,e=[]){return Array.isArray(t)?t.forEach(r=>{this.flattenCombinationIds(r,e)}):typeof t=="string"&&t&&e.push(t),e},getUnavailableNodeIds:function(){const t=new Set;return[...this.originsCombinations,...this.componentsCombinations,...this.destinationsCombinations].forEach(r=>{var a;(!((a=r==null?void 0:r.mapId)!=null&&a.length)||!(r!=null&&r.mapLabel))&&this.flattenCombinationIds(r==null?void 0:r.sckanId).forEach(i=>{t.add(i)})}),[...t].sort()},getMappedTermOverrides:function(){const t={};return[...this.originsCombinations,...this.componentsCombinations,...this.destinationsCombinations].forEach(r=>{var l,u;if(!((l=r==null?void 0:r.sckanId)!=null&&l.length)||!((u=r==null?void 0:r.mapId)!=null&&u.length)||!(r!=null&&r.mapLabel)||JSON.stringify(r.sckanId)===JSON.stringify(r.mapId))return;const a=this.flattenCombinationIds(r.sckanId),o=this.flattenCombinationIds(r.mapId)[0];o&&a.forEach(c=>{t[c]={id:o,label:r.mapLabel}})}),t},getTermLabels:function(){const t={};return[...this.originsCombinations,...this.componentsCombinations,...this.destinationsCombinations].forEach(n=>{const a=n==null?void 0:n.sckanLabel,i=n==null?void 0:n.mapLabel;a&&this.flattenCombinationIds(n==null?void 0:n.sckanId).forEach(o=>{o&&(t[o]=a)}),i&&this.flattenCombinationIds(n==null?void 0:n.mapId).forEach(o=>{o&&(t[o]=i)})}),[...this.originsWithDatasets,...this.componentsWithDatasets,...this.destinationsWithDatasets].forEach(n=>{n!=null&&n.id&&(n!=null&&n.name)&&!t[n.id]&&(t[n.id]=n.name)}),t},getCombinationMap:function(){const t={};return[...this.originsCombinations,...this.componentsCombinations,...this.destinationsCombinations].forEach(r=>{if(r!=null&&r.sckanId){const n=JSON.stringify(r.sckanId);t[n]||(t[n]=r)}}),t},restartGraph:function(){this.$refs.graphCanvas&&(this.showSpinner(),this.start())},showSpinner:function(){this.loading=!0},hideSpinner:function(){this.loading=!1},reset:function(){var t;(t=this.connectivityGraph)==null||t.reset()},zoomIn:function(){var t;(t=this.connectivityGraph)==null||t.zoom(n_)},zoomOut:function(){var t;(t=this.connectivityGraph)==null||t.zoom(-n_)},toggleZoom:function(){var t;this.zoomEnabled=!this.zoomEnabled,this.zoomLockLabel=this.zoomEnabled?j9:r_,(t=this.connectivityGraph)==null||t.enableZoom(!this.zoomEnabled)}}},Q9={class:"connectivity-graph",ref:"connectivityGraphRef"},eH={ref:"graphCanvas",class:"graph-canvas"},tH={class:"control-panel control-panel-tools"},rH={class:"visually-hidden"},nH={class:"visually-hidden"},aH={class:"visually-hidden"},iH={class:"visually-hidden"},oH=s.createStaticVNode('<div class="control-panel control-panel-nodes" data-v-30ca54b9><div class="node-key" data-v-30ca54b9><div class="key-box-container" data-v-30ca54b9><div class="key-box key-box-dendrite" data-v-30ca54b9> Origin </div><div class="key-box key-box-node" data-v-30ca54b9> Components </div><div class="key-box key-box-axon" data-v-30ca54b9> Destination </div></div></div></div>',1),sH={class:"connectivity-graph-error"},lH={key:0,class:"loading-error"};function cH(t,e,r,n,a,i){const o=xe.Aim,l=Xe,u=Dt,c=Aa,d=xe.Lock,f=xe.Unlock,h=xe.ZoomIn,v=xe.ZoomOut,p=Ac;return s.withDirectives((s.openBlock(),s.createElementBlock("div",Q9,[s.createElementVNode("div",eH,null,512),s.createElementVNode("div",tH,[s.createElementVNode("div",{class:s.normalizeClass(["tools",{"zoom-locked":t.zoomEnabled}])},[s.createVNode(c,{content:t.resetLabel,placement:"top",effect:"control-tooltip",teleported:!0,"append-to":t.connectivityGraphContainer},{default:s.withCtx(()=>[s.createVNode(u,{class:"control-button",size:"small",onClick:i.reset},{default:s.withCtx(()=>[s.createVNode(l,{color:"white"},{default:s.withCtx(()=>[s.createVNode(o)]),_:1}),s.createElementVNode("span",rH,s.toDisplayString(t.resetLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"]),s.createVNode(c,{content:t.zoomLockLabel,placement:"top",effect:"control-tooltip",teleported:!0,"append-to":t.connectivityGraphContainer},{default:s.withCtx(()=>[s.createVNode(u,{class:"control-button",size:"small",onClick:i.toggleZoom},{default:s.withCtx(()=>[s.createVNode(l,{color:"white"},{default:s.withCtx(()=>[t.zoomEnabled?(s.openBlock(),s.createBlock(d,{key:0})):(s.openBlock(),s.createBlock(f,{key:1}))]),_:1}),s.createElementVNode("span",nH,s.toDisplayString(t.zoomLockLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"]),s.createVNode(c,{content:t.zoomInLabel,placement:"left",effect:"control-tooltip",teleported:!0,"append-to":t.connectivityGraphContainer},{default:s.withCtx(()=>[s.createVNode(u,{class:"control-button",size:"small",onClick:i.zoomIn},{default:s.withCtx(()=>[s.createVNode(l,{color:"white"},{default:s.withCtx(()=>[s.createVNode(h)]),_:1}),s.createElementVNode("span",aH,s.toDisplayString(t.zoomInLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"]),s.createVNode(c,{content:t.zoomOutLabel,placement:"left",effect:"control-tooltip",teleported:!0,"append-to":t.connectivityGraphContainer},{default:s.withCtx(()=>[s.createVNode(u,{class:"control-button",size:"small",onClick:i.zoomOut},{default:s.withCtx(()=>[s.createVNode(l,{color:"white"},{default:s.withCtx(()=>[s.createVNode(v)]),_:1}),s.createElementVNode("span",iH,s.toDisplayString(t.zoomOutLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"])],2)]),oH,s.withDirectives(s.createElementVNode("div",sH,[s.createElementVNode("strong",null,s.toDisplayString(r.connectivityError.errorConnectivities),1),s.createTextVNode(" "+s.toDisplayString(r.connectivityError.errorMessage),1)],512),[[s.vShow,!r.hasSingleConnectivityList&&r.connectivityError.errorConnectivities]]),t.loadingError?(s.openBlock(),s.createElementBlock("div",lH,s.toDisplayString(t.loadingError),1)):s.createCommentVNode("",!0)])),[[p,t.loading]])}const uH=zt(J9,[["render",cH],["__scopeId","data-v-30ca54b9"]]),bg=t=>t&&t.charAt(0).toUpperCase()+t.slice(1),dH=t=>t.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()),fH=t=>new Promise(e=>setTimeout(e,t)),hH=function(t){return t?[...new Set(t.map(e=>JSON.stringify(e)))].map(e=>JSON.parse(e)):[]},pH={name:"ConnectivityList",components:{Button:Dt,Container:ls,Icon:Xe,ElIconWarning:xe.Warning,ElIconSearch:xe.Search},props:{entry:{type:Object,default:()=>({destinations:[],origins:[],components:[],destinationsWithDatasets:[],originsWithDatasets:[],componentsWithDatasets:[],resource:void 0,featuresAlert:void 0})},origins:{type:Array,default:()=>[]},components:{type:Array,default:()=>[]},destinations:{type:Array,default:()=>[]},originsWithDatasets:{type:Array,default:()=>[]},componentsWithDatasets:{type:Array,default:()=>[]},destinationsWithDatasets:{type:Array,default:()=>[]},availableAnatomyFacets:{type:Array,default:()=>[]},connectivityError:{type:Object,default:()=>{}}},data:function(){return{alertTop:0,originDescriptions:{motor:"is the location of the initial cell body of the circuit",sensory:"is the location of the initial cell body in the PNS circuit"},facetList:[]}},watch:{availableAnatomyFacets:{handler:function(t){this.convertFacetsToList(t)},immediate:!0,deep:!0}},computed:{originDescription:function(){return this.entry&&this.entry.title&&this.entry.title.toLowerCase().includes("motor")?this.originDescriptions.motor:this.originDescriptions.sensory}},methods:{capitalise:function(t){return bg(t)},onConnectivityHovered:function(t,e){this.$emit("connectivity-hovered",t),e&&(this.alertTop=e.srcElement.offsetParent.offsetTop+e.srcElement.offsetTop)},onConnectivityClicked:function(t){const e=this.connectivityError.errorConnectivities,r=e?t.replace(new RegExp(`\\s*,?\\s*${e}\\s*,?\\s*`,"gi"),"").trim():t;this.$emit("connectivity-clicked",r)},shouldShowMagnifyGlass:function(t){const e=this.connectivityError.errorConnectivities;return(e==null?void 0:e.toLowerCase())!==t.toLowerCase()},shouldShowExploreButton:function(t){if(!this.facetList.length)return!0;for(let e=0;e<t.length;e++)if(this.facetList.includes(t[e].name.toLowerCase()))return!0;return!1},convertFacetsToList:function(t){t.forEach(e=>{e.children?this.convertFacetsToList(e.children):this.facetList.push(e.label.toLowerCase())})},openAll:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.componentsWithDatasets.map(t=>t.name.toLowerCase())})},openAxons:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.destinationsWithDatasets.map(t=>t.name.toLowerCase())})},openDendrites:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.originsWithDatasets.map(t=>t.name.toLowerCase())})}}},An=t=>(s.pushScopeId("data-v-68dab9dd"),t=t(),s.popScopeId(),t),vH={ref:"connectivityList",class:"connectivity-list"},gH={key:0,class:"block"},mH={class:"attribute-title-container"},yH=An(()=>s.createElementVNode("span",{class:"attribute-title"},"Origin",-1)),bH={style:{"word-break":"keep-all"}},wH=An(()=>s.createElementVNode("i",null,"Origin",-1)),CH=["origin-item-label","onMouseenter"],EH=An(()=>s.createElementVNode("span",null,"Search connectivity",-1)),xH={key:1,class:"block"},kH=An(()=>s.createElementVNode("div",{class:"attribute-title-container"},[s.createElementVNode("span",{class:"attribute-title"},"Components")],-1)),SH=["component-item-label","onMouseenter"],_H=An(()=>s.createElementVNode("span",null,"Search connectivity",-1)),TH={key:2,class:"block"},NH={class:"attribute-title-container"},IH=An(()=>s.createElementVNode("span",{class:"attribute-title"},"Destination",-1)),BH=An(()=>s.createElementVNode("span",{style:{"word-break":"keep-all"}},[s.createElementVNode("i",null,"Destination"),s.createTextVNode(" is where the axons terminate ")],-1)),DH=["destination-item-label","onMouseenter"],OH=An(()=>s.createElementVNode("span",null,"Search connectivity",-1)),AH={class:"block"};function PH(t,e,r,n,a,i){const o=mn,l=xe.Warning,u=Xe,c=xe.Search,d=Dt;return s.openBlock(),s.createElementBlock("div",vH,[s.createVNode(o,{width:"250","show-arrow":!1,trigger:"manual",teleported:!1,placement:"left-start",visible:!!r.connectivityError.errorConnectivities,"popper-class":"connectivity-error-container"},{reference:s.withCtx(()=>[s.createElementVNode("div",{class:"connectivity-alert",style:s.normalizeStyle({top:t.alertTop+"px"})},null,4)]),default:s.withCtx(()=>[s.createElementVNode("strong",null,s.toDisplayString(r.connectivityError.errorConnectivities),1),s.createTextVNode(" "+s.toDisplayString(r.connectivityError.errorMessage),1)]),_:1},8,["visible"]),s.createTextVNode(" "+s.toDisplayString(r.entry.paths)+" ",1),r.origins&&r.origins.length>0?(s.openBlock(),s.createElementBlock("div",gH,[s.createElementVNode("div",mH,[yH,s.createVNode(o,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(u,{class:"info"},{default:s.withCtx(()=>[s.createVNode(l)]),_:1})]),default:s.withCtx(()=>[s.createElementVNode("span",bH,[wH,s.createTextVNode(" "+s.toDisplayString(i.originDescription),1)])]),_:1})]),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.origins,(f,h)=>(s.openBlock(),s.createElementBlock("div",{class:"attribute-content","origin-item-label":f,key:f,onMouseenter:v=>i.onConnectivityHovered(f,v),onMouseleave:e[0]||(e[0]=v=>i.onConnectivityHovered())},[s.createVNode(o,{width:"150",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.withDirectives(s.createVNode(u,{class:"magnify-glass",onClick:v=>i.onConnectivityClicked(f)},{default:s.withCtx(()=>[s.createVNode(c)]),_:2},1032,["onClick"]),[[s.vShow,i.shouldShowMagnifyGlass(f)]])]),default:s.withCtx(()=>[EH]),_:2},1024),s.createElementVNode("span",null,s.toDisplayString(i.capitalise(f)),1)],40,CH))),128)),s.withDirectives(s.createVNode(d,{class:"button",id:"open-dendrites-button",onClick:i.openDendrites},{default:s.withCtx(()=>[s.createTextVNode(" Explore origin data ")]),_:1},8,["onClick"]),[[s.vShow,r.originsWithDatasets&&r.originsWithDatasets.length>0&&i.shouldShowExploreButton(r.originsWithDatasets)]])])):s.createCommentVNode("",!0),r.components&&r.components.length>0?(s.openBlock(),s.createElementBlock("div",xH,[kH,(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.components,(f,h)=>(s.openBlock(),s.createElementBlock("div",{class:"attribute-content","component-item-label":f,key:f,onMouseenter:v=>i.onConnectivityHovered(f,v),onMouseleave:e[1]||(e[1]=v=>i.onConnectivityHovered())},[s.createVNode(o,{width:"150",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.withDirectives(s.createVNode(u,{class:"magnify-glass",onClick:v=>i.onConnectivityClicked(f)},{default:s.withCtx(()=>[s.createVNode(c)]),_:2},1032,["onClick"]),[[s.vShow,i.shouldShowMagnifyGlass(f)]])]),default:s.withCtx(()=>[_H]),_:2},1024),s.createElementVNode("span",null,s.toDisplayString(i.capitalise(f)),1)],40,SH))),128))])):s.createCommentVNode("",!0),r.destinations&&r.destinations.length>0?(s.openBlock(),s.createElementBlock("div",TH,[s.createElementVNode("div",NH,[IH,s.createVNode(o,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(u,{class:"info"},{default:s.withCtx(()=>[s.createVNode(l)]),_:1})]),default:s.withCtx(()=>[BH]),_:1})]),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.destinations,(f,h)=>(s.openBlock(),s.createElementBlock("div",{class:"attribute-content","destination-item-label":f,key:f,onMouseenter:v=>i.onConnectivityHovered(f,v),onMouseleave:e[2]||(e[2]=v=>i.onConnectivityHovered())},[s.createVNode(o,{width:"150",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.withDirectives(s.createVNode(u,{class:"magnify-glass",onClick:v=>i.onConnectivityClicked(f)},{default:s.withCtx(()=>[s.createVNode(c)]),_:2},1032,["onClick"]),[[s.vShow,i.shouldShowMagnifyGlass(f)]])]),default:s.withCtx(()=>[OH]),_:2},1024),s.createElementVNode("span",null,s.toDisplayString(i.capitalise(f)),1)],40,DH))),128)),s.withDirectives(s.createVNode(d,{class:"button",onClick:i.openAxons},{default:s.withCtx(()=>[s.createTextVNode(" Explore destination data ")]),_:1},8,["onClick"]),[[s.vShow,r.destinationsWithDatasets&&r.destinationsWithDatasets.length>0&&i.shouldShowExploreButton(r.destinationsWithDatasets)]])])):s.createCommentVNode("",!0),s.withDirectives(s.createElementVNode("div",AH,[s.createVNode(d,{class:"button",onClick:i.openAll},{default:s.withCtx(()=>[s.createTextVNode(" Search for data on components ")]),_:1},8,["onClick"])],512),[[s.vShow,r.componentsWithDatasets&&r.componentsWithDatasets.length>0&&i.shouldShowExploreButton(r.componentsWithDatasets)]])],512)}const wg=zt(pH,[["render",PH],["__scopeId","data-v-68dab9dd"]]),LH={name:"ReconciliationTable",components:{ElIconSearch:xe.Search},props:{groups:{type:Array,default:()=>[]},tableKey:{type:String,default:"reconciliation"},connectivityListContainer:{type:HTMLElement,default:null}},emits:["row-hovered","connectivity-clicked"],data(){return{hoveredGroupIndex:null}},methods:{capitalise:function(t){return bg(t)},isDirectMatch:function(t,e){return t.items.length!==1||!e.sckanId||!e.mapId?!1:this.isMatch(e)},isMatch:function(t){return JSON.stringify(t.sckanId)===JSON.stringify(t.mapId)},onTargetHover(t,e,r){this.hoveredGroupIndex=t,this.$emit("row-hovered",e,r,!0)},onSourceHover(t,e,r){this.hoveredGroupIndex=t,this.$emit("row-hovered",e,r,!1)},onSourceLeave(t){this.hoveredGroupIndex=null,this.$emit("row-hovered")}}},a_=t=>(s.pushScopeId("data-v-4e0eed22"),t=t(),s.popScopeId(),t),RH={class:"reconciliation-table"},MH={class:"reconciliation-table-inner"},FH=["onMouseenter"],$H={class:"target-content"},VH={class:"term-label"},qH=a_(()=>s.createElementVNode("span",null,"Search connectivity",-1)),zH=["onMouseenter","onMouseleave"],HH={class:"term-label"},KH=["rowspan","onMouseenter","onMouseleave"],GH={class:"target-content"},UH={class:"term-label"},WH=a_(()=>s.createElementVNode("span",null,"Search connectivity",-1));function jH(t,e,r,n,a,i){const o=xe.Search,l=Xe,u=mn;return s.openBlock(),s.createElementBlock("div",RH,[s.createElementVNode("table",MH,[s.createElementVNode("tbody",null,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.groups,(c,d)=>(s.openBlock(),s.createElementBlock(s.Fragment,{key:`${r.tableKey}-group-${d}`},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(c.items,(f,h)=>(s.openBlock(),s.createElementBlock("tr",{key:`${r.tableKey}-${d}-${h}`,class:s.normalizeClass(["table-row",{"group-last":h===c.items.length-1}])},[i.isDirectMatch(c,f)?(s.openBlock(),s.createElementBlock("td",{key:0,class:"table-cell direct-match-cell",colspan:"2",onMouseenter:v=>t.$emit("row-hovered",f,v),onMouseleave:e[0]||(e[0]=v=>t.$emit("row-hovered"))},[s.createElementVNode("div",$H,[s.createElementVNode("span",VH,s.toDisplayString(i.capitalise(f.sckanLabel)),1),s.createVNode(u,{width:"150",trigger:"hover",teleported:!0,"append-to":r.connectivityListContainer,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(l,{class:"status-search-icon",onClick:v=>t.$emit("connectivity-clicked",f.mapLabel)},{default:s.withCtx(()=>[s.createVNode(o)]),_:2},1032,["onClick"])]),default:s.withCtx(()=>[qH]),_:2},1032,["append-to"])])],40,FH)):(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[s.createElementVNode("td",{class:s.normalizeClass(["table-cell source-column",{mapped:this.isMatch(f),"highlighted-by-target":a.hoveredGroupIndex===d&&(!c.items[0].mapId||c.items[0].mapId.length===0)}]),onMouseenter:v=>i.onSourceHover(d,f,v),onMouseleave:v=>i.onSourceLeave(f)},[s.createElementVNode("span",HH,s.toDisplayString(i.capitalise(f.sckanLabel)),1)],42,zH),h===0?(s.openBlock(),s.createElementBlock("td",{key:0,class:s.normalizeClass(["table-cell target-column",{"grouped-cell":c.items.length>1,unavailable:!f.mapId||f.mapId.length===0,highlighted:a.hoveredGroupIndex===d}]),rowspan:c.items.length,onMouseenter:v=>i.onTargetHover(d,f,v),onMouseleave:v=>i.onSourceLeave(f)},[s.createElementVNode("div",GH,[f.mapId&&f.mapId.length>0?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.createElementVNode("span",UH,s.toDisplayString(i.capitalise(f.mapLabel)),1),s.createVNode(u,{width:"150",trigger:"hover",teleported:!0,"append-to":r.connectivityListContainer,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(l,{class:"status-search-icon",onClick:v=>t.$emit("connectivity-clicked",f.mapLabel)},{default:s.withCtx(()=>[s.createVNode(o)]),_:2},1032,["onClick"])]),default:s.withCtx(()=>[WH]),_:2},1032,["append-to"])],64)):s.createCommentVNode("",!0)])],42,KH)):s.createCommentVNode("",!0)],64))],2))),128))],64))),128))])])])}const i_=zt(LH,[["render",jH],["__scopeId","data-v-4e0eed22"]]),YH={name:"ConnectivityReconciliationList",components:{Button:Dt,Container:ls,Icon:Xe,ElIconWarning:xe.Warning,ReconciliationTable:i_},props:{entry:{type:Object,default:()=>({destinations:[],origins:[],components:[],destinationsWithDatasets:[],originsWithDatasets:[],componentsWithDatasets:[],destinationsCombinations:[],originsCombinations:[],componentsCombinations:[],resource:void 0,featuresAlert:void 0})},origins:{type:Array,default:()=>[]},components:{type:Array,default:()=>[]},destinations:{type:Array,default:()=>[]},originsWithDatasets:{type:Array,default:()=>[]},componentsWithDatasets:{type:Array,default:()=>[]},destinationsWithDatasets:{type:Array,default:()=>[]},componentsCombinations:{type:Array,default:()=>[]},originsCombinations:{type:Array,default:()=>[]},destinationsCombinations:{type:Array,default:()=>[]},availableAnatomyFacets:{type:Array,default:()=>[]},connectivityError:{type:Object,default:()=>{}}},data:function(){return{alertTop:0,alertLeft:0,originDescriptions:{motor:"is the location of the initial cell body of the circuit",sensory:"is the location of the initial cell body in the PNS circuit"},facetList:[],clearErrorTimeout:null,connectivityListContainer:null}},watch:{availableAnatomyFacets:{handler:function(t){this.convertFacetsToList(t)},immediate:!0,deep:!0}},mounted:function(){this.connectivityListContainer=this.$refs.connectivityList},computed:{originDescription:function(){return this.entry&&this.entry.title&&this.entry.title.toLowerCase().includes("motor")?this.originDescriptions.motor:this.originDescriptions.sensory},groupedOrigins:function(){return this.groupCombinationsByMapId(this.originsCombinations)},groupedComponents:function(){return this.groupCombinationsByMapId(this.componentsCombinations)},groupedDestinations:function(){return this.groupCombinationsByMapId(this.destinationsCombinations)}},methods:{getCombinationSortLabel:function(t){return((t==null?void 0:t.sckanLabel)||(t==null?void 0:t.mapLabel)||"").toLowerCase()},groupCombinationsByMapId:function(t){const e=[],r=new Map;return[...t].sort((a,i)=>this.getCombinationSortLabel(a).localeCompare(this.getCombinationSortLabel(i))).forEach(a=>{if(!a.mapId||a.mapId.length===0)e.push({items:[a]});else{const i=JSON.stringify(a.mapId);if(!r.has(i)){const o={items:[]};r.set(i,o),e.push(o)}r.get(i).items.push(a)}}),e},onRowHovered:function(t,e,r=!1){this.clearErrorTimeout&&(clearTimeout(this.clearErrorTimeout),this.clearErrorTimeout=null);let n={hasError:!1,errorType:"",errorMessage:""};if(t)if(t.mapId&&t.mapId.length>0){const a=t.mapLabel.toLowerCase();this.$emit("connectivity-hovered",a),!r&&JSON.stringify(t.sckanId)!==JSON.stringify(t.mapId)&&(n={hasError:!0,errorType:"warning",errorMessage:`<strong>${t.sckanLabel}</strong> from SCKAN
|
|
57
|
+
order by source desc`,[...this.labelledTerms.values()]);let e=null;for(const[n,a]of t.values)if(n!==e){const i=JSON.parse(a);this.labelCache.set(n,i.label||n),e=n}const r=Object.fromEntries(this.labelCache);sessionStorage.setItem("connectivity-graph-labels",JSON.stringify(r)),this.updateCacheExpiry()}},cacheNodeLabels:function(t){for(const e of[t[0],...t[1]])this.labelledTerms.add(e)},cacheLabels:async function(t){for(const e of t.connectivity)this.cacheNodeLabels(e[0]),this.cacheNodeLabels(e[1])},flattenCombinationIds:function(t,e=[]){return Array.isArray(t)?t.forEach(r=>{this.flattenCombinationIds(r,e)}):typeof t=="string"&&t&&e.push(t),e},getUnavailableNodeIds:function(){const t=new Set;return[...this.originsCombinations,...this.componentsCombinations,...this.destinationsCombinations].forEach(r=>{var a;(!((a=r==null?void 0:r.mapId)!=null&&a.length)||!(r!=null&&r.mapLabel))&&this.flattenCombinationIds(r==null?void 0:r.sckanId).forEach(i=>{t.add(i)})}),[...t].sort()},getMappedTermOverrides:function(){const t={};return[...this.originsCombinations,...this.componentsCombinations,...this.destinationsCombinations].forEach(r=>{var l,u;if(!((l=r==null?void 0:r.sckanId)!=null&&l.length)||!((u=r==null?void 0:r.mapId)!=null&&u.length)||!(r!=null&&r.mapLabel)||JSON.stringify(r.sckanId)===JSON.stringify(r.mapId))return;const a=this.flattenCombinationIds(r.sckanId),o=this.flattenCombinationIds(r.mapId)[0];o&&a.forEach(c=>{t[c]={id:o,label:r.mapLabel}})}),t},getTermLabels:function(){const t={};return[...this.originsCombinations,...this.componentsCombinations,...this.destinationsCombinations].forEach(n=>{const a=n==null?void 0:n.sckanLabel,i=n==null?void 0:n.mapLabel;a&&this.flattenCombinationIds(n==null?void 0:n.sckanId).forEach(o=>{o&&(t[o]=a)}),i&&this.flattenCombinationIds(n==null?void 0:n.mapId).forEach(o=>{o&&(t[o]=i)})}),[...this.originsWithDatasets,...this.componentsWithDatasets,...this.destinationsWithDatasets].forEach(n=>{n!=null&&n.id&&(n!=null&&n.name)&&!t[n.id]&&(t[n.id]=n.name)}),t},getCombinationMap:function(){const t={};return[...this.originsCombinations,...this.componentsCombinations,...this.destinationsCombinations].forEach(r=>{if(r!=null&&r.sckanId){const n=JSON.stringify(r.sckanId);t[n]||(t[n]=r)}}),t},restartGraph:function(){this.$refs.graphCanvas&&(this.showSpinner(),this.start())},showSpinner:function(){this.loading=!0},hideSpinner:function(){this.loading=!1},reset:function(){var t;(t=this.connectivityGraph)==null||t.reset()},zoomIn:function(){var t;(t=this.connectivityGraph)==null||t.zoom(n_)},zoomOut:function(){var t;(t=this.connectivityGraph)==null||t.zoom(-n_)},toggleZoom:function(){var t;this.zoomEnabled=!this.zoomEnabled,this.zoomLockLabel=this.zoomEnabled?j9:r_,(t=this.connectivityGraph)==null||t.enableZoom(!this.zoomEnabled)}}},Q9={class:"connectivity-graph",ref:"connectivityGraphRef"},eH={ref:"graphCanvas",class:"graph-canvas"},tH={class:"control-panel control-panel-tools"},rH={class:"visually-hidden"},nH={class:"visually-hidden"},aH={class:"visually-hidden"},iH={class:"visually-hidden"},oH=s.createStaticVNode('<div class="control-panel control-panel-nodes" data-v-7f040707><div class="node-key" data-v-7f040707><div class="key-box-container" data-v-7f040707><div class="key-box key-box-dendrite" data-v-7f040707> Origin </div><div class="key-box key-box-node" data-v-7f040707> Components </div><div class="key-box key-box-axon" data-v-7f040707> Destination </div></div></div></div>',1),sH={class:"connectivity-graph-error"},lH={key:0,class:"loading-error"};function cH(t,e,r,n,a,i){const o=xe.Aim,l=Xe,u=Dt,c=Aa,d=xe.Lock,f=xe.Unlock,h=xe.ZoomIn,v=xe.ZoomOut,p=Ac;return s.withDirectives((s.openBlock(),s.createElementBlock("div",Q9,[s.createElementVNode("div",eH,null,512),s.createElementVNode("div",tH,[s.createElementVNode("div",{class:s.normalizeClass(["tools",{"zoom-locked":t.zoomEnabled}])},[s.createVNode(c,{content:t.resetLabel,placement:"top",effect:"control-tooltip",teleported:!0,"append-to":t.connectivityGraphContainer},{default:s.withCtx(()=>[s.createVNode(u,{class:"control-button",size:"small",onClick:i.reset},{default:s.withCtx(()=>[s.createVNode(l,{color:"white"},{default:s.withCtx(()=>[s.createVNode(o)]),_:1}),s.createElementVNode("span",rH,s.toDisplayString(t.resetLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"]),s.createVNode(c,{content:t.zoomLockLabel,placement:"top",effect:"control-tooltip",teleported:!0,"append-to":t.connectivityGraphContainer},{default:s.withCtx(()=>[s.createVNode(u,{class:"control-button",size:"small",onClick:i.toggleZoom},{default:s.withCtx(()=>[s.createVNode(l,{color:"white"},{default:s.withCtx(()=>[t.zoomEnabled?(s.openBlock(),s.createBlock(d,{key:0})):(s.openBlock(),s.createBlock(f,{key:1}))]),_:1}),s.createElementVNode("span",nH,s.toDisplayString(t.zoomLockLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"]),s.createVNode(c,{content:t.zoomInLabel,placement:"left",effect:"control-tooltip",teleported:!0,"append-to":t.connectivityGraphContainer},{default:s.withCtx(()=>[s.createVNode(u,{class:"control-button",size:"small",onClick:i.zoomIn},{default:s.withCtx(()=>[s.createVNode(l,{color:"white"},{default:s.withCtx(()=>[s.createVNode(h)]),_:1}),s.createElementVNode("span",aH,s.toDisplayString(t.zoomInLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"]),s.createVNode(c,{content:t.zoomOutLabel,placement:"left",effect:"control-tooltip",teleported:!0,"append-to":t.connectivityGraphContainer},{default:s.withCtx(()=>[s.createVNode(u,{class:"control-button",size:"small",onClick:i.zoomOut},{default:s.withCtx(()=>[s.createVNode(l,{color:"white"},{default:s.withCtx(()=>[s.createVNode(v)]),_:1}),s.createElementVNode("span",iH,s.toDisplayString(t.zoomOutLabel),1)]),_:1},8,["onClick"])]),_:1},8,["content","append-to"])],2)]),oH,s.withDirectives(s.createElementVNode("div",sH,[s.createElementVNode("strong",null,s.toDisplayString(r.connectivityError.errorConnectivities),1),s.createTextVNode(" "+s.toDisplayString(r.connectivityError.errorMessage),1)],512),[[s.vShow,!r.hasSingleConnectivityList&&r.connectivityError.errorConnectivities]]),t.loadingError?(s.openBlock(),s.createElementBlock("div",lH,s.toDisplayString(t.loadingError),1)):s.createCommentVNode("",!0)])),[[p,t.loading]])}const uH=zt(J9,[["render",cH],["__scopeId","data-v-7f040707"]]),bg=t=>t&&t.charAt(0).toUpperCase()+t.slice(1),dH=t=>t.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()),fH=t=>new Promise(e=>setTimeout(e,t)),hH=function(t){return t?[...new Set(t.map(e=>JSON.stringify(e)))].map(e=>JSON.parse(e)):[]},pH={name:"ConnectivityList",components:{Button:Dt,Container:ls,Icon:Xe,ElIconWarning:xe.Warning,ElIconSearch:xe.Search},props:{entry:{type:Object,default:()=>({destinations:[],origins:[],components:[],destinationsWithDatasets:[],originsWithDatasets:[],componentsWithDatasets:[],resource:void 0,featuresAlert:void 0})},origins:{type:Array,default:()=>[]},components:{type:Array,default:()=>[]},destinations:{type:Array,default:()=>[]},originsWithDatasets:{type:Array,default:()=>[]},componentsWithDatasets:{type:Array,default:()=>[]},destinationsWithDatasets:{type:Array,default:()=>[]},availableAnatomyFacets:{type:Array,default:()=>[]},connectivityError:{type:Object,default:()=>{}}},data:function(){return{alertTop:0,originDescriptions:{motor:"is the location of the initial cell body of the circuit",sensory:"is the location of the initial cell body in the PNS circuit"},facetList:[]}},watch:{availableAnatomyFacets:{handler:function(t){this.convertFacetsToList(t)},immediate:!0,deep:!0}},computed:{originDescription:function(){return this.entry&&this.entry.title&&this.entry.title.toLowerCase().includes("motor")?this.originDescriptions.motor:this.originDescriptions.sensory}},methods:{capitalise:function(t){return bg(t)},onConnectivityHovered:function(t,e){this.$emit("connectivity-hovered",t),e&&(this.alertTop=e.srcElement.offsetParent.offsetTop+e.srcElement.offsetTop)},onConnectivityClicked:function(t){const e=this.connectivityError.errorConnectivities,r=e?t.replace(new RegExp(`\\s*,?\\s*${e}\\s*,?\\s*`,"gi"),"").trim():t;this.$emit("connectivity-clicked",r)},shouldShowMagnifyGlass:function(t){const e=this.connectivityError.errorConnectivities;return(e==null?void 0:e.toLowerCase())!==t.toLowerCase()},shouldShowExploreButton:function(t){if(!this.facetList.length)return!0;for(let e=0;e<t.length;e++)if(this.facetList.includes(t[e].name.toLowerCase()))return!0;return!1},convertFacetsToList:function(t){t.forEach(e=>{e.children?this.convertFacetsToList(e.children):this.facetList.push(e.label.toLowerCase())})},openAll:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.componentsWithDatasets.map(t=>t.name.toLowerCase())})},openAxons:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.destinationsWithDatasets.map(t=>t.name.toLowerCase())})},openDendrites:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.originsWithDatasets.map(t=>t.name.toLowerCase())})}}},An=t=>(s.pushScopeId("data-v-68dab9dd"),t=t(),s.popScopeId(),t),vH={ref:"connectivityList",class:"connectivity-list"},gH={key:0,class:"block"},mH={class:"attribute-title-container"},yH=An(()=>s.createElementVNode("span",{class:"attribute-title"},"Origin",-1)),bH={style:{"word-break":"keep-all"}},wH=An(()=>s.createElementVNode("i",null,"Origin",-1)),CH=["origin-item-label","onMouseenter"],EH=An(()=>s.createElementVNode("span",null,"Search connectivity",-1)),xH={key:1,class:"block"},kH=An(()=>s.createElementVNode("div",{class:"attribute-title-container"},[s.createElementVNode("span",{class:"attribute-title"},"Components")],-1)),SH=["component-item-label","onMouseenter"],_H=An(()=>s.createElementVNode("span",null,"Search connectivity",-1)),TH={key:2,class:"block"},NH={class:"attribute-title-container"},IH=An(()=>s.createElementVNode("span",{class:"attribute-title"},"Destination",-1)),BH=An(()=>s.createElementVNode("span",{style:{"word-break":"keep-all"}},[s.createElementVNode("i",null,"Destination"),s.createTextVNode(" is where the axons terminate ")],-1)),DH=["destination-item-label","onMouseenter"],OH=An(()=>s.createElementVNode("span",null,"Search connectivity",-1)),AH={class:"block"};function PH(t,e,r,n,a,i){const o=mn,l=xe.Warning,u=Xe,c=xe.Search,d=Dt;return s.openBlock(),s.createElementBlock("div",vH,[s.createVNode(o,{width:"250","show-arrow":!1,trigger:"manual",teleported:!1,placement:"left-start",visible:!!r.connectivityError.errorConnectivities,"popper-class":"connectivity-error-container"},{reference:s.withCtx(()=>[s.createElementVNode("div",{class:"connectivity-alert",style:s.normalizeStyle({top:t.alertTop+"px"})},null,4)]),default:s.withCtx(()=>[s.createElementVNode("strong",null,s.toDisplayString(r.connectivityError.errorConnectivities),1),s.createTextVNode(" "+s.toDisplayString(r.connectivityError.errorMessage),1)]),_:1},8,["visible"]),s.createTextVNode(" "+s.toDisplayString(r.entry.paths)+" ",1),r.origins&&r.origins.length>0?(s.openBlock(),s.createElementBlock("div",gH,[s.createElementVNode("div",mH,[yH,s.createVNode(o,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(u,{class:"info"},{default:s.withCtx(()=>[s.createVNode(l)]),_:1})]),default:s.withCtx(()=>[s.createElementVNode("span",bH,[wH,s.createTextVNode(" "+s.toDisplayString(i.originDescription),1)])]),_:1})]),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.origins,(f,h)=>(s.openBlock(),s.createElementBlock("div",{class:"attribute-content","origin-item-label":f,key:f,onMouseenter:v=>i.onConnectivityHovered(f,v),onMouseleave:e[0]||(e[0]=v=>i.onConnectivityHovered())},[s.createVNode(o,{width:"150",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.withDirectives(s.createVNode(u,{class:"magnify-glass",onClick:v=>i.onConnectivityClicked(f)},{default:s.withCtx(()=>[s.createVNode(c)]),_:2},1032,["onClick"]),[[s.vShow,i.shouldShowMagnifyGlass(f)]])]),default:s.withCtx(()=>[EH]),_:2},1024),s.createElementVNode("span",null,s.toDisplayString(i.capitalise(f)),1)],40,CH))),128)),s.withDirectives(s.createVNode(d,{class:"button",id:"open-dendrites-button",onClick:i.openDendrites},{default:s.withCtx(()=>[s.createTextVNode(" Explore origin data ")]),_:1},8,["onClick"]),[[s.vShow,r.originsWithDatasets&&r.originsWithDatasets.length>0&&i.shouldShowExploreButton(r.originsWithDatasets)]])])):s.createCommentVNode("",!0),r.components&&r.components.length>0?(s.openBlock(),s.createElementBlock("div",xH,[kH,(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.components,(f,h)=>(s.openBlock(),s.createElementBlock("div",{class:"attribute-content","component-item-label":f,key:f,onMouseenter:v=>i.onConnectivityHovered(f,v),onMouseleave:e[1]||(e[1]=v=>i.onConnectivityHovered())},[s.createVNode(o,{width:"150",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.withDirectives(s.createVNode(u,{class:"magnify-glass",onClick:v=>i.onConnectivityClicked(f)},{default:s.withCtx(()=>[s.createVNode(c)]),_:2},1032,["onClick"]),[[s.vShow,i.shouldShowMagnifyGlass(f)]])]),default:s.withCtx(()=>[_H]),_:2},1024),s.createElementVNode("span",null,s.toDisplayString(i.capitalise(f)),1)],40,SH))),128))])):s.createCommentVNode("",!0),r.destinations&&r.destinations.length>0?(s.openBlock(),s.createElementBlock("div",TH,[s.createElementVNode("div",NH,[IH,s.createVNode(o,{width:"250",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(u,{class:"info"},{default:s.withCtx(()=>[s.createVNode(l)]),_:1})]),default:s.withCtx(()=>[BH]),_:1})]),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.destinations,(f,h)=>(s.openBlock(),s.createElementBlock("div",{class:"attribute-content","destination-item-label":f,key:f,onMouseenter:v=>i.onConnectivityHovered(f,v),onMouseleave:e[2]||(e[2]=v=>i.onConnectivityHovered())},[s.createVNode(o,{width:"150",trigger:"hover",teleported:!1,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.withDirectives(s.createVNode(u,{class:"magnify-glass",onClick:v=>i.onConnectivityClicked(f)},{default:s.withCtx(()=>[s.createVNode(c)]),_:2},1032,["onClick"]),[[s.vShow,i.shouldShowMagnifyGlass(f)]])]),default:s.withCtx(()=>[OH]),_:2},1024),s.createElementVNode("span",null,s.toDisplayString(i.capitalise(f)),1)],40,DH))),128)),s.withDirectives(s.createVNode(d,{class:"button",onClick:i.openAxons},{default:s.withCtx(()=>[s.createTextVNode(" Explore destination data ")]),_:1},8,["onClick"]),[[s.vShow,r.destinationsWithDatasets&&r.destinationsWithDatasets.length>0&&i.shouldShowExploreButton(r.destinationsWithDatasets)]])])):s.createCommentVNode("",!0),s.withDirectives(s.createElementVNode("div",AH,[s.createVNode(d,{class:"button",onClick:i.openAll},{default:s.withCtx(()=>[s.createTextVNode(" Search for data on components ")]),_:1},8,["onClick"])],512),[[s.vShow,r.componentsWithDatasets&&r.componentsWithDatasets.length>0&&i.shouldShowExploreButton(r.componentsWithDatasets)]])],512)}const wg=zt(pH,[["render",PH],["__scopeId","data-v-68dab9dd"]]),LH={name:"ReconciliationTable",components:{ElIconSearch:xe.Search},props:{groups:{type:Array,default:()=>[]},tableKey:{type:String,default:"reconciliation"},connectivityListContainer:{type:HTMLElement,default:null}},emits:["row-hovered","connectivity-clicked"],data(){return{hoveredGroupIndex:null}},methods:{capitalise:function(t){return bg(t)},isDirectMatch:function(t,e){return t.items.length!==1||!e.sckanId||!e.mapId?!1:this.isMatch(e)},isMatch:function(t){return JSON.stringify(t.sckanId)===JSON.stringify(t.mapId)},onTargetHover(t,e,r){this.hoveredGroupIndex=t,this.$emit("row-hovered",e,r,!0)},onSourceHover(t,e,r){this.hoveredGroupIndex=t,this.$emit("row-hovered",e,r,!1)},onSourceLeave(t){this.hoveredGroupIndex=null,this.$emit("row-hovered")}}},a_=t=>(s.pushScopeId("data-v-ff04e764"),t=t(),s.popScopeId(),t),RH={class:"reconciliation-table"},MH={class:"reconciliation-table-inner"},FH=["onMouseenter"],$H={class:"target-content"},VH={class:"term-label"},qH=a_(()=>s.createElementVNode("span",null,"Search connectivity",-1)),zH=["onMouseenter","onMouseleave"],HH={class:"term-label"},KH=["rowspan","onMouseenter","onMouseleave"],GH={class:"target-content"},UH={class:"term-label"},WH=a_(()=>s.createElementVNode("span",null,"Search connectivity",-1));function jH(t,e,r,n,a,i){const o=xe.Search,l=Xe,u=mn;return s.openBlock(),s.createElementBlock("div",RH,[s.createElementVNode("table",MH,[s.createElementVNode("tbody",null,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.groups,(c,d)=>(s.openBlock(),s.createElementBlock(s.Fragment,{key:`${r.tableKey}-group-${d}`},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(c.items,(f,h)=>(s.openBlock(),s.createElementBlock("tr",{key:`${r.tableKey}-${d}-${h}`,class:s.normalizeClass(["table-row",{"group-last":h===c.items.length-1}])},[i.isDirectMatch(c,f)?(s.openBlock(),s.createElementBlock("td",{key:0,class:"table-cell direct-match-cell",colspan:"2",onMouseenter:v=>t.$emit("row-hovered",f,v),onMouseleave:e[0]||(e[0]=v=>t.$emit("row-hovered"))},[s.createElementVNode("div",$H,[s.createElementVNode("span",VH,s.toDisplayString(i.capitalise(f.sckanLabel)),1),s.createVNode(u,{width:"150",trigger:"hover",teleported:!0,"append-to":r.connectivityListContainer,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(l,{class:"status-search-icon",onClick:v=>t.$emit("connectivity-clicked",f.mapLabel)},{default:s.withCtx(()=>[s.createVNode(o)]),_:2},1032,["onClick"])]),default:s.withCtx(()=>[qH]),_:2},1032,["append-to"])])],40,FH)):(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[s.createElementVNode("td",{class:s.normalizeClass(["table-cell source-column",{mapped:this.isMatch(f),"highlighted-by-target":a.hoveredGroupIndex===d&&(!c.items[0].mapId||c.items[0].mapId.length===0)}]),onMouseenter:v=>i.onSourceHover(d,f,v),onMouseleave:v=>i.onSourceLeave(f)},[s.createElementVNode("span",HH,s.toDisplayString(i.capitalise(f.sckanLabel)),1)],42,zH),h===0?(s.openBlock(),s.createElementBlock("td",{key:0,class:s.normalizeClass(["table-cell target-column",{"grouped-cell":c.items.length>1,unavailable:!f.mapId||f.mapId.length===0,highlighted:a.hoveredGroupIndex===d}]),rowspan:c.items.length,onMouseenter:v=>i.onTargetHover(d,f,v),onMouseleave:v=>i.onSourceLeave(f)},[s.createElementVNode("div",GH,[f.mapId&&f.mapId.length>0?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[s.createElementVNode("span",UH,s.toDisplayString(i.capitalise(f.mapLabel)),1),s.createVNode(u,{width:"150",trigger:"hover",teleported:!0,"append-to":r.connectivityListContainer,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(l,{class:"status-search-icon",onClick:v=>t.$emit("connectivity-clicked",f.mapLabel)},{default:s.withCtx(()=>[s.createVNode(o)]),_:2},1032,["onClick"])]),default:s.withCtx(()=>[WH]),_:2},1032,["append-to"])],64)):s.createCommentVNode("",!0)])],42,KH)):s.createCommentVNode("",!0)],64))],2))),128))],64))),128))])])])}const i_=zt(LH,[["render",jH],["__scopeId","data-v-ff04e764"]]),YH={name:"ConnectivityReconciliationList",components:{Button:Dt,Container:ls,Icon:Xe,ElIconWarning:xe.Warning,ReconciliationTable:i_},props:{entry:{type:Object,default:()=>({destinations:[],origins:[],components:[],destinationsWithDatasets:[],originsWithDatasets:[],componentsWithDatasets:[],destinationsCombinations:[],originsCombinations:[],componentsCombinations:[],resource:void 0,featuresAlert:void 0})},origins:{type:Array,default:()=>[]},components:{type:Array,default:()=>[]},destinations:{type:Array,default:()=>[]},originsWithDatasets:{type:Array,default:()=>[]},componentsWithDatasets:{type:Array,default:()=>[]},destinationsWithDatasets:{type:Array,default:()=>[]},componentsCombinations:{type:Array,default:()=>[]},originsCombinations:{type:Array,default:()=>[]},destinationsCombinations:{type:Array,default:()=>[]},availableAnatomyFacets:{type:Array,default:()=>[]},connectivityError:{type:Object,default:()=>{}}},data:function(){return{alertTop:0,alertLeft:0,originDescriptions:{motor:"is the location of the initial cell body of the circuit",sensory:"is the location of the initial cell body in the PNS circuit"},facetList:[],clearErrorTimeout:null,connectivityListContainer:null}},watch:{availableAnatomyFacets:{handler:function(t){this.convertFacetsToList(t)},immediate:!0,deep:!0}},mounted:function(){this.connectivityListContainer=this.$refs.connectivityList},computed:{originDescription:function(){return this.entry&&this.entry.title&&this.entry.title.toLowerCase().includes("motor")?this.originDescriptions.motor:this.originDescriptions.sensory},groupedOrigins:function(){return this.groupCombinationsByMapId(this.originsCombinations)},groupedComponents:function(){return this.groupCombinationsByMapId(this.componentsCombinations)},groupedDestinations:function(){return this.groupCombinationsByMapId(this.destinationsCombinations)}},methods:{getCombinationSortLabel:function(t){return((t==null?void 0:t.sckanLabel)||(t==null?void 0:t.mapLabel)||"").toLowerCase()},groupCombinationsByMapId:function(t){const e=[],r=new Map;return[...t].sort((a,i)=>this.getCombinationSortLabel(a).localeCompare(this.getCombinationSortLabel(i))).forEach(a=>{if(!a.mapId||a.mapId.length===0)e.push({items:[a]});else{const i=JSON.stringify(a.mapId);if(!r.has(i)){const o={items:[]};r.set(i,o),e.push(o)}r.get(i).items.push(a)}}),e},onRowHovered:function(t,e,r=!1){this.clearErrorTimeout&&(clearTimeout(this.clearErrorTimeout),this.clearErrorTimeout=null);let n={hasError:!1,errorType:"",errorMessage:""};if(t)if(t.mapId&&t.mapId.length>0){const a=t.mapLabel.toLowerCase();this.$emit("connectivity-hovered",a),!r&&JSON.stringify(t.sckanId)!==JSON.stringify(t.mapId)&&(n={hasError:!0,errorType:"warning",errorMessage:`<strong>${t.sckanLabel}</strong> from SCKAN
|
|
58
58
|
has been mapped to <strong>${t.mapLabel}</strong> on the Map.`})}else t.sckanId&&t.sckanId.length>0&&(n={hasError:!0,errorType:"error",errorMessage:`<strong>${t.sckanLabel}</strong> from SCKAN
|
|
59
59
|
is not available on the Map.`});else this.$emit("connectivity-hovered",null);if(n.hasError?(this.connectivityError.errorType=n.errorType,this.connectivityError.errorMessage=n.errorMessage,this.connectivityError.hasError=!0):(this.connectivityError.hasError=!1,this.clearErrorTimeout=setTimeout(()=>{this.connectivityError.errorType="",this.connectivityError.errorMessage="",this.clearErrorTimeout=null},350)),e){const i=e.currentTarget.getBoundingClientRect(),o=this.$refs.connectivityList.getBoundingClientRect();this.alertTop=i.top-o.top,this.alertLeft=i.left-o.left+i.width/2}},onConnectivityClicked:function(t){const e=this.connectivityError.errorConnectivities,r=e?t.replace(new RegExp(`\\s*,?\\s*${e}\\s*,?\\s*`,"gi"),"").trim():t;this.$emit("connectivity-clicked",r)},shouldShowMagnifyGlass:function(t){const e=this.connectivityError.errorConnectivities;return(e==null?void 0:e.toLowerCase())!==t.toLowerCase()},shouldShowExploreButton:function(t){if(!this.facetList.length)return!0;for(let e=0;e<t.length;e++)if(this.facetList.includes(t[e].name.toLowerCase()))return!0;return!1},convertFacetsToList:function(t){t.forEach(e=>{e.children?this.convertFacetsToList(e.children):this.facetList.push(e.label.toLowerCase())})},openAll:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.componentsWithDatasets.map(t=>t.name.toLowerCase())})},openAxons:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.destinationsWithDatasets.map(t=>t.name.toLowerCase())})},openDendrites:function(){this.$emit("connectivity-action-click",{type:"Facets",labels:this.originsWithDatasets.map(t=>t.name.toLowerCase())})}}},Bo=t=>(s.pushScopeId("data-v-cca5cb7d"),t=t(),s.popScopeId(),t),ZH={ref:"connectivityList",class:"connectivity-list"},XH=["innerHTML"],JH={key:0,class:"block"},QH={class:"attribute-title-container"},eK=Bo(()=>s.createElementVNode("span",{class:"attribute-title"},"Origin",-1)),tK={style:{"word-break":"keep-all"}},rK=Bo(()=>s.createElementVNode("i",null,"Origin",-1)),nK={key:1,class:"block"},aK=Bo(()=>s.createElementVNode("div",{class:"attribute-title-container"},[s.createElementVNode("span",{class:"attribute-title"},"Components")],-1)),iK={key:2,class:"block"},oK={class:"attribute-title-container"},sK=Bo(()=>s.createElementVNode("span",{class:"attribute-title"},"Destination",-1)),lK=Bo(()=>s.createElementVNode("span",{style:{"word-break":"keep-all"}},[s.createElementVNode("i",null,"Destination"),s.createTextVNode(" is where the axons terminate ")],-1)),cK={class:"block"};function uK(t,e,r,n,a,i){const o=mn,l=xe.Warning,u=Xe,c=i_,d=Dt;return s.openBlock(),s.createElementBlock("div",ZH,[s.createVNode(o,{width:"250","show-arrow":!1,trigger:"manual",teleported:!0,"append-to":t.connectivityListContainer,placement:"bottom-start",visible:r.connectivityError.hasError&&!!r.connectivityError.errorMessage,"popper-class":r.connectivityError.errorType==="warning"?"connectivity-warning-container":"connectivity-error-container"},{reference:s.withCtx(()=>[s.createElementVNode("div",{class:"connectivity-alert",style:s.normalizeStyle({top:t.alertTop+"px",left:t.alertLeft+"px"})},null,4)]),default:s.withCtx(()=>[s.createElementVNode("span",{innerHTML:r.connectivityError.errorMessage},null,8,XH)]),_:1},8,["append-to","visible","popper-class"]),r.origins&&r.originsCombinations.length>0?(s.openBlock(),s.createElementBlock("div",JH,[s.createElementVNode("div",QH,[eK,s.createVNode(o,{width:"250",trigger:"hover",teleported:!0,"append-to":t.connectivityListContainer,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(u,{class:"info"},{default:s.withCtx(()=>[s.createVNode(l)]),_:1})]),default:s.withCtx(()=>[s.createElementVNode("span",tK,[rK,s.createTextVNode(" "+s.toDisplayString(i.originDescription),1)])]),_:1},8,["append-to"])]),s.createVNode(c,{"table-key":"origin",groups:i.groupedOrigins,"connectivity-list-container":t.connectivityListContainer,onRowHovered:i.onRowHovered,onConnectivityClicked:i.onConnectivityClicked},null,8,["groups","connectivity-list-container","onRowHovered","onConnectivityClicked"]),s.withDirectives(s.createVNode(d,{class:"button",id:"open-dendrites-button",onClick:i.openDendrites},{default:s.withCtx(()=>[s.createTextVNode(" Explore origin data ")]),_:1},8,["onClick"]),[[s.vShow,r.originsWithDatasets&&r.originsWithDatasets.length>0&&i.shouldShowExploreButton(r.originsWithDatasets)]])])):s.createCommentVNode("",!0),r.components&&r.componentsCombinations.length>0?(s.openBlock(),s.createElementBlock("div",nK,[aK,s.createVNode(c,{"table-key":"component",groups:i.groupedComponents,"connectivity-list-container":t.connectivityListContainer,onRowHovered:i.onRowHovered,onConnectivityClicked:i.onConnectivityClicked},null,8,["groups","connectivity-list-container","onRowHovered","onConnectivityClicked"])])):s.createCommentVNode("",!0),r.destinations&&r.destinationsCombinations.length>0?(s.openBlock(),s.createElementBlock("div",iK,[s.createElementVNode("div",oK,[sK,s.createVNode(o,{width:"250",trigger:"hover",teleported:!0,"append-to":t.connectivityListContainer,"popper-class":"popover-origin-help"},{reference:s.withCtx(()=>[s.createVNode(u,{class:"info"},{default:s.withCtx(()=>[s.createVNode(l)]),_:1})]),default:s.withCtx(()=>[lK]),_:1},8,["append-to"])]),s.createVNode(c,{"table-key":"destination",groups:i.groupedDestinations,"connectivity-list-container":t.connectivityListContainer,onRowHovered:i.onRowHovered,onConnectivityClicked:i.onConnectivityClicked},null,8,["groups","connectivity-list-container","onRowHovered","onConnectivityClicked"]),s.withDirectives(s.createVNode(d,{class:"button",onClick:i.openAxons},{default:s.withCtx(()=>[s.createTextVNode(" Explore destination data ")]),_:1},8,["onClick"]),[[s.vShow,r.destinationsWithDatasets&&r.destinationsWithDatasets.length>0&&i.shouldShowExploreButton(r.destinationsWithDatasets)]])])):s.createCommentVNode("",!0),s.withDirectives(s.createElementVNode("div",cK,[s.createVNode(d,{class:"button",onClick:i.openAll},{default:s.withCtx(()=>[s.createTextVNode(" Search for data on components ")]),_:1},8,["onClick"])],512),[[s.vShow,r.componentsWithDatasets&&r.componentsWithDatasets.length>0&&i.shouldShowExploreButton(r.componentsWithDatasets)]])],512)}const dK=zt(YH,[["render",uK],["__scopeId","data-v-cca5cb7d"]]),fK=function(t){return t?t.charAt(0).toUpperCase()+t.slice(1):""},hK={name:"ConnectionDialog",props:{connectionEntry:{type:Object,default:{}},inDrawing:{type:Boolean,default:!1},connectionExist:{type:Boolean,default:!1}},data:function(){return{tooltipId:void 0}},methods:{shadowDisplay:function(t){return this.tooltipId===t?"always":"hover"},capitalize:function(t){return fK(t)},handleTooltip:function(t){this.tooltipId=this.tooltipId===t?void 0:t,this.$emit("featureTooltip",this.tooltipId)}}},Cg=t=>(s.pushScopeId("data-v-1ddab772"),t=t(),s.popScopeId(),t),pK={class:"dialog-container"},vK=Cg(()=>s.createElementVNode("span",{class:"dialog-title"},"Finalize drawing",-1)),gK=Cg(()=>s.createElementVNode("span",{class:"dialog-title"},"Visualize connection",-1)),mK=Cg(()=>s.createElementVNode("b",null,[s.createElementVNode("span",null,"Related Features")],-1)),yK={class:"connection-label"};function bK(t,e,r,n,a,i){const o=Dt,l=os,u=Mi,c=mn,d=eL;return s.openBlock(),s.createElementBlock("div",pK,[s.createVNode(l,null,{default:s.withCtx(()=>[s.createVNode(u,null,{default:s.withCtx(()=>[r.inDrawing?(s.openBlock(),s.createBlock(l,{key:0},{default:s.withCtx(()=>[vK,s.createVNode(o,{type:"primary",plain:"",onClick:e[0]||(e[0]=f=>t.$emit("confirmDrawn",!0))},{default:s.withCtx(()=>[s.createTextVNode(" Confirm ")]),_:1}),s.createVNode(o,{type:"primary",plain:"",onClick:e[1]||(e[1]=f=>t.$emit("cancelDrawn",!0))},{default:s.withCtx(()=>[s.createTextVNode(" Cancel ")]),_:1})]),_:1})):(s.openBlock(),s.createBlock(l,{key:1},{default:s.withCtx(()=>[gK,s.createVNode(o,{type:"primary",plain:"",onClick:e[2]||(e[2]=f=>t.$emit("dialogDisplay",!1))},{default:s.withCtx(()=>[s.createTextVNode(" Close ")]),_:1})]),_:1}))]),_:1})]),_:1}),r.connectionExist?(s.openBlock(),s.createBlock(l,{key:0},{default:s.withCtx(()=>[s.createVNode(u,null,{default:s.withCtx(()=>[mK,(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(r.connectionEntry,(f,h)=>(s.openBlock(),s.createBlock(l,{key:h},{default:s.withCtx(()=>[s.createVNode(d,{shadow:i.shadowDisplay(h),onClick:v=>i.handleTooltip(h)},{default:s.withCtx(()=>[s.createVNode(c,{trigger:"hover",disabled:f.label.length<20,width:200,content:i.capitalize(f.label)},{reference:s.withCtx(()=>[s.createElementVNode("span",yK,s.toDisplayString(i.capitalize(f.label)),1)]),_:2},1032,["disabled","content"])]),_:2},1032,["shadow","onClick"])]),_:2},1024))),128))]),_:1})]),_:1})):s.createCommentVNode("",!0)])}const wK=zt(hK,[["render",bK],["__scopeId","data-v-1ddab772"]]),o_=(t,e)=>{const r=t.__vccOpts||t;for(const[n,a]of e)r[n]=a;return r},CK=["xlink:href"],EK={__name:"SvgIcon",props:{icon:{type:String,required:!0},spin:{type:Boolean,default:!1}},setup(t){return(e,r)=>(s.openBlock(),s.createElementBlock("svg",{class:s.normalizeClass(["map-icon",{"map-icon-spin":t.spin}])},[s.createElementVNode("use",{"xlink:href":`#${t.icon}`},null,8,CK)],2))}},xK=o_(EK,[["__scopeId","data-v-e172d5ff"]]),s_=`<?xml version="1.0" encoding="UTF-8"?>
|
|
60
60
|
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|