vue-safe-force-graph 2.0.3 → 2.0.4
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.
|
@@ -167,7 +167,7 @@
|
|
|
167
167
|
`,n=this.file.split(t);let r=[];for(let o=0;o<n.length;o++){const a=o===n.length-1?n[o]:this.manageEntityFieldsSpace(n[o]),A=k1e.parse(a,{columns:!0,from:2});r=[...r,...A]}return r=this.reverseSpecialValue(r),r}manageEntityFieldsSpace(t){const n=t.split(`\r
|
|
168
168
|
`),r=n[0].split(",").length;let o=0,a=[];return a=n.map(A=>(A=this.manageSpecialValue(A),o=r-A.split(",").length,o>0?A.split(",").concat(new Array(o)).join():A)),a.join(`\r
|
|
169
169
|
`)}manageSpecialValue(t){t=t.replace(/"{2,}/g,"");const n=/"{1}[^"]*"{1}/g,r=t.match(n);return r!==null&&r.map(o=>(t=t.replace(o,o.replace(/,/g,Fb)),o.replace(/,/g,Fb))),t}reverseSpecialValue(t){const n=new RegExp(Fb,"g");return t.map(r=>{for(const o in r){const a=r[o].replace(n,",");r[o]=a}return r})}convertToGraphData(t){const n=[];let r=t.filter(a=>a.Label===void 0),o=t.filter(a=>a.Label!==void 0);return r=r.map(a=>this.getGraphNode(a)),o=o.map((a,A)=>{const l="Source Entity ID",c="Target Entity ID",u="Label",d=this.getNode(a[l],r)[0],f=this.getNode(a[c],r)[0];return a[u]!==""&&n.push({id:f.id,label:a[u]}),{source:d.id,target:f.id,type:d.type+"-"+f.type,uniqueIndex:A}}),r=r.map(a=>(delete a.entityId,n.map(A=>{A.id===a.id&&(a.name=A.label)}),a)),{nodes:r,links:o}}getGraphNode(t){const n=GU.nodeMapReverse,r=Bb.entitys;let o="",a="",A="",l=null,c=null;return r.map(u=>{const d=u.type,f=u.columnsFields[1];t[d]!==void 0&&(a=n[d],o=t[f],A=t[d],l=this.manageNodeDetail(u.columnsFields,t,n[d]),c=this.manageNodeFieldMap(n[d]))}),{id:o,type:a,name:o,entityId:A,detail:l,fieldMap:c,show:!0}}manageNodeFieldMap(t){return this.fieldMap[t]}manageNodeDetail(t,n,r){let o=null,a=!1;if(r!=="nodeType"){o={info:{basic:{}},tags:[]};for(const A in n)if(t.indexOf(A)===-1){a=!0;const l=n[A];A==="tags"&&l!==""?o.tags=l.split(",").map(c=>({name:c,desc:c})):o.info.basic[A]=n[A]}a===!1&&(o=null)}return o}getNode(t,n){return n.filter(r=>r.entityId===t)}outputData(){return this.data}}const TEe="",N1e={name:"ButtonList",components:{"force-graph-svg-icon":oA,addNode:xge,addLink:Nge,intro:Pge,UploadFilled:jH},mixins:[Qo],props:{hideButtonList:{type:Array,default:()=>[]},selection:{type:Array,default:()=>[]},history:{type:Object,default:()=>({dataNow:{}})},moduleDetail:{type:Object,default:()=>{}},requestGraphData:{type:Boolean,default:!0}},emits:["fixNodes","toggleLayout","addNodes","addLink","importCsvData","autoDisplay","toggleMove","deleteNodes","saveSnapshot"],data(){return{maxTrans:0,nowTrans:0,onceTrans:300,dialogVisible:!1,exportFormat:0,formatOptions:[{value:0,label:"JSON"},{value:2,label:"CSV"}],isAllFix:!1,dialogImportVisible:!1,importFileList:[],importFile:null,intro:!1,current:null,addType:"",flageAlias:!0}},computed:{buttonList(){var e,t;return[{hover:!1,icon:"hm_icon_add",disable:!this.requestGraphData,fun:this.addNode,name:"新增节点",params:"diy"},{hover:!1,icon:"hm_icon_del",disable:this.selection.length===0||!this.requestGraphData,fun:this.deleteNodes,name:"删除"},{hover:!1,icon:"hm_icon_snapshot",disable:!this.requestGraphData,fun:this.addSnapshot,name:"保存快照",hide:!((t=(e=this.moduleDetail)==null?void 0:e.config)!=null&&t.hasSnapshot)},{hover:!1,icon:"hm_icon_img",disable:!this.requestGraphData,fun:this.saveAsImg,name:"保存图片"},{hover:!1,icon:"hm_icon_export",disable:!this.requestGraphData,fun:this.exportData,name:"数据导出"},{hover:!1,icon:"hm_icon_import",disable:!this.requestGraphData,fun:this.importData,name:"数据导入"},{hover:!1,icon:"hm_icon_undo",disable:this.history.currentIndex<=0||!this.requestGraphData,fun:this.backHistory,name:"撤销"},{hover:!1,icon:"hm_icon_redo",disable:this.history.currentIndex>=this.history.length-1||!this.requestGraphData,fun:this.forwardHistory,name:"恢复"},{hover:!1,icon:"hm_icon_auto",fun:this.autoDisplay,name:"自动布局"},{hover:!1,icon:"hm_icon_fix",fun:this.fixNodes,name:"全局固定",params:!0,hide:this.allFix},{hover:!1,icon:"hm_icon_unfix",fun:this.fixNodes,name:"全局解除固定",params:!1,hide:!this.allFix},{hover:!1,icon:"hm_icon_tree",fun:this.toggleLayout,name:"树型布局",params:1,hide:this.history.layoutIndex===1},{hover:!1,icon:"hm_icon_force",fun:this.toggleLayout,name:"斥力布局",params:0,hide:this.history.layoutIndex===0}]},buttonListShow(){return this.buttonList.filter(e=>e.hide!==!0&&!this.hideButtonList.includes(e.name))},allFix(){return!this.history.dataNow.nodes.some(e=>!e.fx)}},mounted(){},methods:{hover(e){this.current=e},out(){this.current=null},autoDisplay(){Ze(this,"autoDisplay")},fixNodes(e=!0){Ze(this,"fixNodes",e)},toggleMove(){Ze(this,"toggleMove")},toggleLayout(e){Ze(this,"toggleLayout",e)},addNode(e,t){this.addType=e,this.$refs.addNode.show(t)},addNodes({node:e,type:t,connectNode:n}){Ze(this,"addNodes",{node:e,type:t,connectNode:n})},addLink({source:e,target:t}){Ze(this,"addLink",{source:e,target:t})},backHistory(){this.$parent.historyBack()},forwardHistory(){this.history.forward()},dataURLToBlob(e){const t=e.split(","),n=t[0].match(/:(.*?);/)[1],r=atob(t[1]);let o=r.length;const a=new Uint8Array(o);for(;o--;)a[o]=r.charCodeAt(o);return new Blob([a],{type:n})},saveAsImg(){return dt(this,null,function*(){var n,r;const e=document.createElement("a");e.style.display="none",this.$parent.bigLoading=!0;const t=yield this.svgToBlob();e.setAttribute("href",URL.createObjectURL(t)),e.setAttribute("download",`${((r=(n=this.history.dataNow)==null?void 0:n.nodes[0])==null?void 0:r.id)||"img"}_${new Date().getTime()}.png`),document.body.appendChild(e),e.click(),URL.revokeObjectURL(t),document.body.removeChild(e),this.$parent.bigLoading=!1})},svgToBlob(){return dt(this,null,function*(){const e=this;let t;this.$parent.centerAndZoom();const n=document.documentElement.getAttribute("data-theme")==="dark"?"#021212":null;return yield yge(document.getElementsByClassName("main-svg-box")[0],{backgroundColor:n}).then(r=>{const o=document.body.appendChild(r);o.style.display="none",t=e.dataURLToBlob(o.toDataURL("image/png")),document.body.removeChild(o)}),this.$parent.reset(),t})},deleteNodes(){Ze(this,"deleteNodes")},addSnapshot(){Ze(this,"saveSnapshot")},exportData(){this.handleOpenModal()},handleOpenModal(){this.dialogVisible=!0},handleCloseModal(){this.dialogVisible=!1},handleExportData(){var A,l,c,u;let e=null,t=null,n=null,r=null;this.selection.length>0?(n=s.toRaw(this.selection),r=[]):(n=s.toRaw(this.history.dataNow.nodes),r=s.toRaw(this.history.dataNow.links));const o=n.map(d=>{const{id:f,type:h,detail:p}=d;return{id:f,type:h,detail:p}}),a=r.map(d=>{const{source:f,target:h}=d;return{source:f,target:h}});this.exportFormat===0?(e=JSON.stringify(o),t=`${((l=(A=this.history.dataNow)==null?void 0:A.nodes[0])==null?void 0:l.id)||"file"}_${new Date().getTime()}.json`):(e=this.setMalteGoCsv({nodes:o,links:a}),t=`${((u=(c=this.history.dataNow)==null?void 0:c.nodes[0])==null?void 0:u.id)||"file"}_${new Date().getTime()}.csv`),ode(e,t),this.handleCloseModal()},importData(){this.handleOpenImportModal()},handleOpenImportModal(){this.dialogImportVisible=!0},handleCloseImportModal(){this.dialogImportVisible=!1,this.importFileList=[],this.importFile=null},handleImportData(){try{const e=this.getFieldMap(),n=new U1e(this.importFile,e).outputData();Ze(this,"importCsvData",{nodes:n.nodes,links:n.links})}catch(e){Qn({message:e,type:"error"})}this.handleCloseImportModal()},getFieldMap(){const e=this.moduleDetail.detail_field_map,t={};for(const n in e){const r=n.substring(0,n.indexOf("_detail_info"));t[r]=JSON.parse(JSON.stringify(e[n]))}return t},handleFileChange(e){this.importFile=e;const t=new FileReader;t.onload=()=>{t.result&&(this.importFile=t.result)},t.readAsText(e.raw)},handleFileRemove(){this.importFile=null,this.importFileList=[]},setMalteGoCsv(e){return new Hge(e).outputCsvFile()},showIntro(){this.intro=!0},hideIntro(){this.intro=!1},handleAlias(e){this.flageAlias=!e;const t=document.getElementsByClassName("right-menu-box")[0],n=document.getElementsByClassName("graph-box")[0];t&&(e?(t.style.display="none",n.style.width="100%"):(t.style.display="inline-block",n.style.width="1%"))},permissionitem(){return this.requestGraphData?!0:(Qn({message:"无可操作权限",type:"warning"}),!1)},handleIconClick(e){this.permissionitem()&&(wr({cId:"buttonList-"+e.icon,c:"顶部按钮-"+e.name}),e.fun(e.params))}}},T1e={class:"button-container"},I1e={ref:"container",class:"button-box"},Q1e={ref:"box",class:"all-button"},M1e=["onClick"],L1e={class:"float-right"},O1e={class:"button-one intro-button"},D1e={class:"dialog-footer"},P1e=s.createElementVNode("div",{class:"el-upload__text"},[s.createTextVNode("将文件拖到此处,或"),s.createElementVNode("em",null,"点击上传")],-1),R1e=s.createElementVNode("div",{class:"el-upload__tip"},"只能上传由 Maltego 软件导出的csv文件",-1),H1e={class:"dialog-footer"},$1e={class:"intro"};function K1e(e,t,n,r,o,a){const A=s.resolveComponent("force-graph-svg-icon"),l=Ei,c=s.resolveComponent("intro"),u=zW,d=Np,f=Up,h=tA,p=dd,g=s.resolveComponent("UploadFilled"),m=Ht,y=HX,w=s.resolveComponent("addNode"),x=s.resolveComponent("addLink");return s.openBlock(),s.createElementBlock("div",T1e,[s.createElementVNode("div",I1e,[s.createElementVNode("div",Q1e,[s.createElementVNode("div",null,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.buttonListShow,(B,E)=>(s.openBlock(),s.createBlock(l,{key:E,class:"item",effect:"dark",content:B.name,placement:"bottom","popper-class":"el-tooltip-gray"},{default:s.withCtx(()=>[s.createElementVNode("div",{class:s.normalizeClass(["img-box","button-one "+(B.disable?"disabled":"")]),onClick:k=>a.handleIconClick(B)},[s.createVNode(A,{class:"button-img","icon-class":e.imgPath["./public/d3svg1/button22/"+B.icon+".svg"]},null,8,["icon-class"])],10,M1e)]),_:2},1032,["content"]))),128))]),s.createElementVNode("div",L1e,[n.hideButtonList.includes("功能介绍")?s.createCommentVNode("",!0):(s.openBlock(),s.createBlock(u,{key:0,placement:"bottom-end",width:"auto",trigger:"hover"},{reference:s.withCtx(()=>[s.createElementVNode("div",O1e,[s.createVNode(l,{class:"item",effect:"dark",content:"功能介绍",placement:"bottom","popper-class":"el-tooltip-gray"},{default:s.withCtx(()=>[s.createVNode(A,{class:"button-img","icon-class":e.imgPath["./public/d3svg1/button22/hm_icon_help.svg"]},null,8,["icon-class"])]),_:1})])]),default:s.withCtx(()=>[s.createVNode(c,{config:n.moduleDetail.config||{}},null,8,["config"])]),_:1})),n.hideButtonList.includes("展开折叠")?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock("div",{key:1,class:"button-one intro-button",onClick:t[0]||(t[0]=B=>a.handleAlias(o.flageAlias)),onMouseenter:t[1]||(t[1]=B=>a.hover(a.buttonList.length+1)),onMouseleave:t[2]||(t[2]=B=>a.out())},[s.createVNode(l,{class:"item",effect:"dark",content:o.flageAlias?"右侧折叠":"右侧展开",placement:"bottom","popper-class":"el-tooltip-gray"},{default:s.withCtx(()=>[s.createVNode(A,{class:"button-img","icon-class":e.imgPath[o.flageAlias?"./public/d3svg1/button22/hm_icon_alias_colse.svg":"./public/d3svg1/button22/hm_icon_alias.svg"]},null,8,["icon-class"])]),_:1},8,["content"])],32))])],512)],512),s.createVNode(p,{modelValue:o.dialogVisible,"onUpdate:modelValue":t[4]||(t[4]=B=>o.dialogVisible=B),title:"选择导出数据格式","append-to-body":"",width:"400px","before-close":a.handleCloseModal,class:"el-dialog-graph"},{footer:s.withCtx(()=>[s.createElementVNode("span",D1e,[s.createVNode(h,{onClick:a.handleCloseModal},{default:s.withCtx(()=>[s.createTextVNode("取 消")]),_:1},8,["onClick"]),s.createVNode(h,{type:"primary",onClick:a.handleExportData},{default:s.withCtx(()=>[s.createTextVNode("导 出")]),_:1},8,["onClick"])])]),default:s.withCtx(()=>[s.createVNode(f,{modelValue:o.exportFormat,"onUpdate:modelValue":t[3]||(t[3]=B=>o.exportFormat=B),placeholder:"请选择导出数据格式"},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(o.formatOptions,B=>(s.openBlock(),s.createBlock(d,{key:B.value,label:B.label,value:B.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue","before-close"]),s.createVNode(p,{modelValue:o.dialogImportVisible,"onUpdate:modelValue":t[5]||(t[5]=B=>o.dialogImportVisible=B),title:"导入数据","append-to-body":"",width:"400px","before-close":a.handleCloseImportModal,class:"el-dialog-graph"},{footer:s.withCtx(()=>[s.createElementVNode("span",H1e,[s.createVNode(h,{onClick:a.handleCloseImportModal},{default:s.withCtx(()=>[s.createTextVNode("取 消")]),_:1},8,["onClick"]),s.createVNode(h,{type:"primary",disabled:!o.importFile,onClick:a.handleImportData},{default:s.withCtx(()=>[s.createTextVNode("导 入")]),_:1},8,["disabled","onClick"])])]),default:s.withCtx(()=>[s.createVNode(y,{drag:"",action:"#","auto-upload":!1,accept:".csv","file-list":o.importFileList,"on-change":a.handleFileChange,"on-remove":a.handleFileRemove},{tip:s.withCtx(()=>[R1e]),default:s.withCtx(()=>[s.createVNode(m,{class:"el-icon-upload"},{default:s.withCtx(()=>[s.createVNode(g)]),_:1}),P1e]),_:1},8,["file-list","on-change","on-remove"])]),_:1},8,["modelValue","before-close"]),s.createVNode(w,{ref:"addNode","nodes-type":n.moduleDetail&&n.moduleDetail.nodes||[],"add-type":o.addType,onAddNodes:a.addNodes},null,8,["nodes-type","add-type","onAddNodes"]),s.createVNode(x,{ref:"addLink",onAddLink:a.addLink},null,8,["onAddLink"]),s.withDirectives(s.createElementVNode("div",$1e,[s.createVNode(c,{config:n.moduleDetail.config||{},onMouseenter:a.showIntro,onMouseleave:a.hideIntro},null,8,["config","onMouseenter","onMouseleave"])],512),[[s.vShow,o.intro]])])}const G1e=wt(N1e,[["render",K1e]]);var y1={},z1e={get exports(){return y1},set exports(e){y1=e}},w1={},fN={},Ct={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e._registerNode=e.Konva=e.glob=void 0;var t=Math.PI/180;function n(){return typeof window!="undefined"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}e.glob=typeof li!="undefined"?li:typeof window!="undefined"?window:typeof WorkerGlobalScope!="undefined"?self:{},e.Konva={_global:e.glob,version:"9.2.0",isBrowser:n(),isUnminified:/param/.test(function(o){}.toString()),dblClickWindow:400,getAngle(o){return e.Konva.angleDeg?o*t:o},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,pixelRatio:typeof window!="undefined"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return e.Konva.DD.isDragging},isDragReady(){return!!e.Konva.DD.node},releaseCanvasOnDestroy:!0,document:e.glob.document,_injectGlobal(o){e.glob.Konva=o}};const r=o=>{e.Konva[o.prototype.getClassName()]=o};e._registerNode=r,e.Konva._injectGlobal(e.Konva)})(Ct);var gn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Util=e.Transform=void 0;const t=Ct;class n{constructor(E=[1,0,0,1,0,0]){this.dirty=!1,this.m=E&&E.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new n(this.m)}copyInto(E){E.m[0]=this.m[0],E.m[1]=this.m[1],E.m[2]=this.m[2],E.m[3]=this.m[3],E.m[4]=this.m[4],E.m[5]=this.m[5]}point(E){var k=this.m;return{x:k[0]*E.x+k[2]*E.y+k[4],y:k[1]*E.x+k[3]*E.y+k[5]}}translate(E,k){return this.m[4]+=this.m[0]*E+this.m[2]*k,this.m[5]+=this.m[1]*E+this.m[3]*k,this}scale(E,k){return this.m[0]*=E,this.m[1]*=E,this.m[2]*=k,this.m[3]*=k,this}rotate(E){var k=Math.cos(E),U=Math.sin(E),T=this.m[0]*k+this.m[2]*U,Q=this.m[1]*k+this.m[3]*U,z=this.m[0]*-U+this.m[2]*k,O=this.m[1]*-U+this.m[3]*k;return this.m[0]=T,this.m[1]=Q,this.m[2]=z,this.m[3]=O,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(E,k){var U=this.m[0]+this.m[2]*k,T=this.m[1]+this.m[3]*k,Q=this.m[2]+this.m[0]*E,z=this.m[3]+this.m[1]*E;return this.m[0]=U,this.m[1]=T,this.m[2]=Q,this.m[3]=z,this}multiply(E){var k=this.m[0]*E.m[0]+this.m[2]*E.m[1],U=this.m[1]*E.m[0]+this.m[3]*E.m[1],T=this.m[0]*E.m[2]+this.m[2]*E.m[3],Q=this.m[1]*E.m[2]+this.m[3]*E.m[3],z=this.m[0]*E.m[4]+this.m[2]*E.m[5]+this.m[4],O=this.m[1]*E.m[4]+this.m[3]*E.m[5]+this.m[5];return this.m[0]=k,this.m[1]=U,this.m[2]=T,this.m[3]=Q,this.m[4]=z,this.m[5]=O,this}invert(){var E=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),k=this.m[3]*E,U=-this.m[1]*E,T=-this.m[2]*E,Q=this.m[0]*E,z=E*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),O=E*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=k,this.m[1]=U,this.m[2]=T,this.m[3]=Q,this.m[4]=z,this.m[5]=O,this}getMatrix(){return this.m}decompose(){var E=this.m[0],k=this.m[1],U=this.m[2],T=this.m[3],Q=this.m[4],z=this.m[5],O=E*T-k*U;let R={x:Q,y:z,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(E!=0||k!=0){var D=Math.sqrt(E*E+k*k);R.rotation=k>0?Math.acos(E/D):-Math.acos(E/D),R.scaleX=D,R.scaleY=O/D,R.skewX=(E*U+k*T)/O,R.skewY=0}else if(U!=0||T!=0){var M=Math.sqrt(U*U+T*T);R.rotation=Math.PI/2-(T>0?Math.acos(-U/M):-Math.acos(U/M)),R.scaleX=O/M,R.scaleY=M,R.skewX=0,R.skewY=(E*U+k*T)/O}return R.rotation=e.Util._getRotation(R.rotation),R}}e.Transform=n;var r="[object Array]",o="[object Number]",a="[object String]",A="[object Boolean]",l=Math.PI/180,c=180/Math.PI,u="#",d="",f="0",h="Konva warning: ",p="Konva error: ",g="rgb(",m={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,132,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,255,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],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],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,203],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],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:[119,128,144],slategrey:[119,128,144],snow:[255,255,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],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,5]},y=/rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)/,w=[];const x=typeof requestAnimationFrame!="undefined"&&requestAnimationFrame||function(B){setTimeout(B,60)};e.Util={_isElement(B){return!!(B&&B.nodeType==1)},_isFunction(B){return!!(B&&B.constructor&&B.call&&B.apply)},_isPlainObject(B){return!!B&&B.constructor===Object},_isArray(B){return Object.prototype.toString.call(B)===r},_isNumber(B){return Object.prototype.toString.call(B)===o&&!isNaN(B)&&isFinite(B)},_isString(B){return Object.prototype.toString.call(B)===a},_isBoolean(B){return Object.prototype.toString.call(B)===A},isObject(B){return B instanceof Object},isValidSelector(B){if(typeof B!="string")return!1;var E=B[0];return E==="#"||E==="."||E===E.toUpperCase()},_sign(B){return B===0||B>0?1:-1},requestAnimFrame(B){w.push(B),w.length===1&&x(function(){const E=w;w=[],E.forEach(function(k){k()})})},createCanvasElement(){var B=document.createElement("canvas");try{B.style=B.style||{}}catch(E){}return B},createImageElement(){return document.createElement("img")},_isInDocument(B){for(;B=B.parentNode;)if(B==document)return!0;return!1},_urlToImage(B,E){var k=e.Util.createImageElement();k.onload=function(){E(k)},k.src=B},_rgbToHex(B,E,k){return((1<<24)+(B<<16)+(E<<8)+k).toString(16).slice(1)},_hexToRgb(B){B=B.replace(u,d);var E=parseInt(B,16);return{r:E>>16&255,g:E>>8&255,b:E&255}},getRandomColor(){for(var B=(Math.random()*16777215<<0).toString(16);B.length<6;)B=f+B;return u+B},getRGB(B){var E;return B in m?(E=m[B],{r:E[0],g:E[1],b:E[2]}):B[0]===u?this._hexToRgb(B.substring(1)):B.substr(0,4)===g?(E=y.exec(B.replace(/ /g,"")),{r:parseInt(E[1],10),g:parseInt(E[2],10),b:parseInt(E[3],10)}):{r:0,g:0,b:0}},colorToRGBA(B){return B=B||"black",e.Util._namedColorToRBA(B)||e.Util._hex3ColorToRGBA(B)||e.Util._hex4ColorToRGBA(B)||e.Util._hex6ColorToRGBA(B)||e.Util._hex8ColorToRGBA(B)||e.Util._rgbColorToRGBA(B)||e.Util._rgbaColorToRGBA(B)||e.Util._hslColorToRGBA(B)},_namedColorToRBA(B){var E=m[B.toLowerCase()];return E?{r:E[0],g:E[1],b:E[2],a:1}:null},_rgbColorToRGBA(B){if(B.indexOf("rgb(")===0){B=B.match(/rgb\(([^)]+)\)/)[1];var E=B.split(/ *, */).map(Number);return{r:E[0],g:E[1],b:E[2],a:1}}},_rgbaColorToRGBA(B){if(B.indexOf("rgba(")===0){B=B.match(/rgba\(([^)]+)\)/)[1];var E=B.split(/ *, */).map((k,U)=>k.slice(-1)==="%"?U===3?parseInt(k)/100:parseInt(k)/100*255:Number(k));return{r:E[0],g:E[1],b:E[2],a:E[3]}}},_hex8ColorToRGBA(B){if(B[0]==="#"&&B.length===9)return{r:parseInt(B.slice(1,3),16),g:parseInt(B.slice(3,5),16),b:parseInt(B.slice(5,7),16),a:parseInt(B.slice(7,9),16)/255}},_hex6ColorToRGBA(B){if(B[0]==="#"&&B.length===7)return{r:parseInt(B.slice(1,3),16),g:parseInt(B.slice(3,5),16),b:parseInt(B.slice(5,7),16),a:1}},_hex4ColorToRGBA(B){if(B[0]==="#"&&B.length===5)return{r:parseInt(B[1]+B[1],16),g:parseInt(B[2]+B[2],16),b:parseInt(B[3]+B[3],16),a:parseInt(B[4]+B[4],16)/255}},_hex3ColorToRGBA(B){if(B[0]==="#"&&B.length===4)return{r:parseInt(B[1]+B[1],16),g:parseInt(B[2]+B[2],16),b:parseInt(B[3]+B[3],16),a:1}},_hslColorToRGBA(B){if(/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.test(B)){const[E,...k]=/hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(B),U=Number(k[0])/360,T=Number(k[1])/100,Q=Number(k[2])/100;let z,O,R;if(T===0)return R=Q*255,{r:Math.round(R),g:Math.round(R),b:Math.round(R),a:1};Q<.5?z=Q*(1+T):z=Q+T-Q*T;const D=2*Q-z,M=[0,0,0];for(let L=0;L<3;L++)O=U+1/3*-(L-1),O<0&&O++,O>1&&O--,6*O<1?R=D+(z-D)*6*O:2*O<1?R=z:3*O<2?R=D+(z-D)*(2/3-O)*6:R=D,M[L]=R*255;return{r:Math.round(M[0]),g:Math.round(M[1]),b:Math.round(M[2]),a:1}}},haveIntersection(B,E){return!(E.x>B.x+B.width||E.x+E.width<B.x||E.y>B.y+B.height||E.y+E.height<B.y)},cloneObject(B){var E={};for(var k in B)this._isPlainObject(B[k])?E[k]=this.cloneObject(B[k]):this._isArray(B[k])?E[k]=this.cloneArray(B[k]):E[k]=B[k];return E},cloneArray(B){return B.slice(0)},degToRad(B){return B*l},radToDeg(B){return B*c},_degToRad(B){return e.Util.warn("Util._degToRad is removed. Please use public Util.degToRad instead."),e.Util.degToRad(B)},_radToDeg(B){return e.Util.warn("Util._radToDeg is removed. Please use public Util.radToDeg instead."),e.Util.radToDeg(B)},_getRotation(B){return t.Konva.angleDeg?e.Util.radToDeg(B):B},_capitalize(B){return B.charAt(0).toUpperCase()+B.slice(1)},throw(B){throw new Error(p+B)},error(B){console.error(p+B)},warn(B){t.Konva.showWarnings&&console.warn(h+B)},each(B,E){for(var k in B)E(k,B[k])},_inRange(B,E,k){return E<=B&&B<k},_getProjectionToSegment(B,E,k,U,T,Q){var z,O,R,D=(B-k)*(B-k)+(E-U)*(E-U);if(D==0)z=B,O=E,R=(T-k)*(T-k)+(Q-U)*(Q-U);else{var M=((T-B)*(k-B)+(Q-E)*(U-E))/D;M<0?(z=B,O=E,R=(B-T)*(B-T)+(E-Q)*(E-Q)):M>1?(z=k,O=U,R=(k-T)*(k-T)+(U-Q)*(U-Q)):(z=B+M*(k-B),O=E+M*(U-E),R=(z-T)*(z-T)+(O-Q)*(O-Q))}return[z,O,R]},_getProjectionToLine(B,E,k){var U=e.Util.cloneObject(B),T=Number.MAX_VALUE;return E.forEach(function(Q,z){if(!(!k&&z===E.length-1)){var O=E[(z+1)%E.length],R=e.Util._getProjectionToSegment(Q.x,Q.y,O.x,O.y,B.x,B.y),D=R[0],M=R[1],L=R[2];L<T&&(U.x=D,U.y=M,T=L)}}),U},_prepareArrayForTween(B,E,k){var U,T=[],Q=[];if(B.length>E.length){var z=E;E=B,B=z}for(U=0;U<B.length;U+=2)T.push({x:B[U],y:B[U+1]});for(U=0;U<E.length;U+=2)Q.push({x:E[U],y:E[U+1]});var O=[];return Q.forEach(function(R){var D=e.Util._getProjectionToLine(R,T,k);O.push(D.x),O.push(D.y)}),O},_prepareToStringify(B){var E;B.visitedByCircularReferenceRemoval=!0;for(var k in B)if(B.hasOwnProperty(k)&&B[k]&&typeof B[k]=="object"){if(E=Object.getOwnPropertyDescriptor(B,k),B[k].visitedByCircularReferenceRemoval||e.Util._isElement(B[k]))if(E.configurable)delete B[k];else return null;else if(e.Util._prepareToStringify(B[k])===null)if(E.configurable)delete B[k];else return null}return delete B.visitedByCircularReferenceRemoval,B},_assign(B,E){for(var k in E)B[k]=E[k];return B},_getFirstPointerId(B){return B.touches?B.changedTouches[0].identifier:B.pointerId||999},releaseCanvas(...B){t.Konva.releaseCanvasOnDestroy&&B.forEach(E=>{E.width=0,E.height=0})},drawRoundedRectPath(B,E,k,U){let T=0,Q=0,z=0,O=0;typeof U=="number"?T=Q=z=O=Math.min(U,E/2,k/2):(T=Math.min(U[0]||0,E/2,k/2),Q=Math.min(U[1]||0,E/2,k/2),O=Math.min(U[2]||0,E/2,k/2),z=Math.min(U[3]||0,E/2,k/2)),B.moveTo(T,0),B.lineTo(E-Q,0),B.arc(E-Q,Q,Q,Math.PI*3/2,0,!1),B.lineTo(E,k-O),B.arc(E-O,k-O,O,0,Math.PI/2,!1),B.lineTo(z,k),B.arc(z,k-z,z,Math.PI/2,Math.PI,!1),B.lineTo(0,T),B.arc(T,T,T,Math.PI,Math.PI*3/2,!1)}}})(gn);var sn={},_t={},Xe={};Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.getComponentValidator=Xe.getBooleanValidator=Xe.getNumberArrayValidator=Xe.getFunctionValidator=Xe.getStringOrGradientValidator=Xe.getStringValidator=Xe.getNumberOrAutoValidator=Xe.getNumberOrArrayOfNumbersValidator=Xe.getNumberValidator=Xe.alphaComponent=Xe.RGBComponent=void 0;const Sa=Ct,bn=gn;function xa(e){return bn.Util._isString(e)?'"'+e+'"':Object.prototype.toString.call(e)==="[object Number]"||bn.Util._isBoolean(e)?e:Object.prototype.toString.call(e)}function q1e(e){return e>255?255:e<0?0:Math.round(e)}Xe.RGBComponent=q1e;function j1e(e){return e>1?1:e<1e-4?1e-4:e}Xe.alphaComponent=j1e;function W1e(){if(Sa.Konva.isUnminified)return function(e,t){return bn.Util._isNumber(e)||bn.Util.warn(xa(e)+' is a not valid value for "'+t+'" attribute. The value should be a number.'),e}}Xe.getNumberValidator=W1e;function Y1e(e){if(Sa.Konva.isUnminified)return function(t,n){let r=bn.Util._isNumber(t),o=bn.Util._isArray(t)&&t.length==e;return!r&&!o&&bn.Util.warn(xa(t)+' is a not valid value for "'+n+'" attribute. The value should be a number or Array<number>('+e+")"),t}}Xe.getNumberOrArrayOfNumbersValidator=Y1e;function X1e(){if(Sa.Konva.isUnminified)return function(e,t){var n=bn.Util._isNumber(e),r=e==="auto";return n||r||bn.Util.warn(xa(e)+' is a not valid value for "'+t+'" attribute. The value should be a number or "auto".'),e}}Xe.getNumberOrAutoValidator=X1e;function J1e(){if(Sa.Konva.isUnminified)return function(e,t){return bn.Util._isString(e)||bn.Util.warn(xa(e)+' is a not valid value for "'+t+'" attribute. The value should be a string.'),e}}Xe.getStringValidator=J1e;function Z1e(){if(Sa.Konva.isUnminified)return function(e,t){const n=bn.Util._isString(e),r=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;return n||r||bn.Util.warn(xa(e)+' is a not valid value for "'+t+'" attribute. The value should be a string or a native gradient.'),e}}Xe.getStringOrGradientValidator=Z1e;function V1e(){if(Sa.Konva.isUnminified)return function(e,t){return bn.Util._isFunction(e)||bn.Util.warn(xa(e)+' is a not valid value for "'+t+'" attribute. The value should be a function.'),e}}Xe.getFunctionValidator=V1e;function eme(){if(Sa.Konva.isUnminified)return function(e,t){const n=Int8Array?Object.getPrototypeOf(Int8Array):null;return n&&e instanceof n||(bn.Util._isArray(e)?e.forEach(function(r){bn.Util._isNumber(r)||bn.Util.warn('"'+t+'" attribute has non numeric element '+r+". Make sure that all elements are numbers.")}):bn.Util.warn(xa(e)+' is a not valid value for "'+t+'" attribute. The value should be a array of numbers.')),e}}Xe.getNumberArrayValidator=eme;function tme(){if(Sa.Konva.isUnminified)return function(e,t){var n=e===!0||e===!1;return n||bn.Util.warn(xa(e)+' is a not valid value for "'+t+'" attribute. The value should be a boolean.'),e}}Xe.getBooleanValidator=tme;function nme(e){if(Sa.Konva.isUnminified)return function(t,n){return t==null||bn.Util.isObject(t)||bn.Util.warn(xa(t)+' is a not valid value for "'+n+'" attribute. The value should be an object with properties '+e),t}}Xe.getComponentValidator=nme,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Factory=void 0;const t=gn,n=Xe;var r="get",o="set";e.Factory={addGetterSetter(a,A,l,c,u){e.Factory.addGetter(a,A,l),e.Factory.addSetter(a,A,c,u),e.Factory.addOverloadedGetterSetter(a,A)},addGetter(a,A,l){var c=r+t.Util._capitalize(A);a.prototype[c]=a.prototype[c]||function(){var u=this.attrs[A];return u===void 0?l:u}},addSetter(a,A,l,c){var u=o+t.Util._capitalize(A);a.prototype[u]||e.Factory.overWriteSetter(a,A,l,c)},overWriteSetter(a,A,l,c){var u=o+t.Util._capitalize(A);a.prototype[u]=function(d){return l&&d!==void 0&&d!==null&&(d=l.call(this,d,A)),this._setAttr(A,d),c&&c.call(this),this}},addComponentsGetterSetter(a,A,l,c,u){var d=l.length,f=t.Util._capitalize,h=r+f(A),p=o+f(A),g,m;a.prototype[h]=function(){var w={};for(g=0;g<d;g++)m=l[g],w[m]=this.getAttr(A+f(m));return w};var y=(0,n.getComponentValidator)(l);a.prototype[p]=function(w){var x=this.attrs[A],B;c&&(w=c.call(this,w)),y&&y.call(this,w,A);for(B in w)w.hasOwnProperty(B)&&this._setAttr(A+f(B),w[B]);return w||l.forEach(E=>{this._setAttr(A+f(E),void 0)}),this._fireChangeEvent(A,x,w),u&&u.call(this),this},e.Factory.addOverloadedGetterSetter(a,A)},addOverloadedGetterSetter(a,A){var l=t.Util._capitalize(A),c=o+l,u=r+l;a.prototype[A]=function(){return arguments.length?(this[c](arguments[0]),this):this[u]()}},addDeprecatedGetterSetter(a,A,l,c){t.Util.error("Adding deprecated "+A);var u=r+t.Util._capitalize(A),d=A+" property is deprecated and will be removed soon. Look at Konva change log for more information.";a.prototype[u]=function(){t.Util.error(d);var f=this.attrs[A];return f===void 0?l:f},e.Factory.addSetter(a,A,c,function(){t.Util.error(d)}),e.Factory.addOverloadedGetterSetter(a,A)},backCompat(a,A){t.Util.each(A,function(l,c){var u=a.prototype[c],d=r+t.Util._capitalize(l),f=o+t.Util._capitalize(l);function h(){u.apply(this,arguments),t.Util.error('"'+l+'" method is deprecated and will be removed soon. Use ""'+c+'" instead.')}a.prototype[l]=h,a.prototype[d]=h,a.prototype[f]=h})},afterSetFilter(){this._filterUpToDate=!1}}}(_t);var oo={},Fa={};Object.defineProperty(Fa,"__esModule",{value:!0}),Fa.HitContext=Fa.SceneContext=Fa.Context=void 0;const hN=gn,rme=Ct;function ime(e){var t=[],n=e.length,r=hN.Util,o,a;for(o=0;o<n;o++)a=e[o],r._isNumber(a)?a=Math.round(a*1e3)/1e3:r._isString(a)||(a=a+""),t.push(a);return t}var pN=",",ome="(",ame=")",sme="([",Ame="])",lme=";",cme="()",ume="=",gN=["arc","arcTo","beginPath","bezierCurveTo","clearRect","clip","closePath","createLinearGradient","createPattern","createRadialGradient","drawImage","ellipse","fill","fillText","getImageData","createImageData","lineTo","moveTo","putImageData","quadraticCurveTo","rect","restore","rotate","save","scale","setLineDash","setTransform","stroke","strokeText","transform","translate"],dme=["fillStyle","strokeStyle","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","lineCap","lineDashOffset","lineJoin","lineWidth","miterLimit","font","textAlign","textBaseline","globalAlpha","globalCompositeOperation","imageSmoothingEnabled"];const fme=100;class b1{constructor(t){this.canvas=t,rme.Konva.enableTrace&&(this.traceArr=[],this._enableTrace())}fillShape(t){t.fillEnabled()&&this._fill(t)}_fill(t){}strokeShape(t){t.hasStroke()&&this._stroke(t)}_stroke(t){}fillStrokeShape(t){t.attrs.fillAfterStrokeEnabled?(this.strokeShape(t),this.fillShape(t)):(this.fillShape(t),this.strokeShape(t))}getTrace(t,n){var r=this.traceArr,o=r.length,a="",A,l,c,u;for(A=0;A<o;A++)l=r[A],c=l.method,c?(u=l.args,a+=c,t?a+=cme:hN.Util._isArray(u[0])?a+=sme+u.join(pN)+Ame:(n&&(u=u.map(d=>typeof d=="number"?Math.floor(d):d)),a+=ome+u.join(pN)+ame)):(a+=l.property,t||(a+=ume+l.val)),a+=lme;return a}clearTrace(){this.traceArr=[]}_trace(t){var n=this.traceArr,r;n.push(t),r=n.length,r>=fme&&n.shift()}reset(){var t=this.getCanvas().getPixelRatio();this.setTransform(1*t,0,0,1*t,0,0)}getCanvas(){return this.canvas}clear(t){var n=this.getCanvas();t?this.clearRect(t.x||0,t.y||0,t.width||0,t.height||0):this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(t){const n=t.attrs.lineCap;n&&this.setAttr("lineCap",n)}_applyOpacity(t){var n=t.getAbsoluteOpacity();n!==1&&this.setAttr("globalAlpha",n)}_applyLineJoin(t){const n=t.attrs.lineJoin;n&&this.setAttr("lineJoin",n)}setAttr(t,n){this._context[t]=n}arc(t,n,r,o,a,A){this._context.arc(t,n,r,o,a,A)}arcTo(t,n,r,o,a){this._context.arcTo(t,n,r,o,a)}beginPath(){this._context.beginPath()}bezierCurveTo(t,n,r,o,a,A){this._context.bezierCurveTo(t,n,r,o,a,A)}clearRect(t,n,r,o){this._context.clearRect(t,n,r,o)}clip(...t){this._context.clip.apply(this._context,t)}closePath(){this._context.closePath()}createImageData(t,n){var r=arguments;if(r.length===2)return this._context.createImageData(t,n);if(r.length===1)return this._context.createImageData(t)}createLinearGradient(t,n,r,o){return this._context.createLinearGradient(t,n,r,o)}createPattern(t,n){return this._context.createPattern(t,n)}createRadialGradient(t,n,r,o,a,A){return this._context.createRadialGradient(t,n,r,o,a,A)}drawImage(t,n,r,o,a,A,l,c,u){var d=arguments,f=this._context;d.length===3?f.drawImage(t,n,r):d.length===5?f.drawImage(t,n,r,o,a):d.length===9&&f.drawImage(t,n,r,o,a,A,l,c,u)}ellipse(t,n,r,o,a,A,l,c){this._context.ellipse(t,n,r,o,a,A,l,c)}isPointInPath(t,n,r,o){return r?this._context.isPointInPath(r,t,n,o):this._context.isPointInPath(t,n,o)}fill(...t){this._context.fill.apply(this._context,t)}fillRect(t,n,r,o){this._context.fillRect(t,n,r,o)}strokeRect(t,n,r,o){this._context.strokeRect(t,n,r,o)}fillText(t,n,r,o){o?this._context.fillText(t,n,r,o):this._context.fillText(t,n,r)}measureText(t){return this._context.measureText(t)}getImageData(t,n,r,o){return this._context.getImageData(t,n,r,o)}lineTo(t,n){this._context.lineTo(t,n)}moveTo(t,n){this._context.moveTo(t,n)}rect(t,n,r,o){this._context.rect(t,n,r,o)}putImageData(t,n,r){this._context.putImageData(t,n,r)}quadraticCurveTo(t,n,r,o){this._context.quadraticCurveTo(t,n,r,o)}restore(){this._context.restore()}rotate(t){this._context.rotate(t)}save(){this._context.save()}scale(t,n){this._context.scale(t,n)}setLineDash(t){this._context.setLineDash?this._context.setLineDash(t):"mozDash"in this._context?this._context.mozDash=t:"webkitLineDash"in this._context&&(this._context.webkitLineDash=t)}getLineDash(){return this._context.getLineDash()}setTransform(t,n,r,o,a,A){this._context.setTransform(t,n,r,o,a,A)}stroke(t){t?this._context.stroke(t):this._context.stroke()}strokeText(t,n,r,o){this._context.strokeText(t,n,r,o)}transform(t,n,r,o,a,A){this._context.transform(t,n,r,o,a,A)}translate(t,n){this._context.translate(t,n)}_enableTrace(){var t=this,n=gN.length,r=this.setAttr,o,a,A=function(l){var c=t[l],u;t[l]=function(){return a=ime(Array.prototype.slice.call(arguments,0)),u=c.apply(t,arguments),t._trace({method:l,args:a}),u}};for(o=0;o<n;o++)A(gN[o]);t.setAttr=function(){r.apply(t,arguments);var l=arguments[0],c=arguments[1];(l==="shadowOffsetX"||l==="shadowOffsetY"||l==="shadowBlur")&&(c=c/this.canvas.getPixelRatio()),t._trace({property:l,val:c})}}_applyGlobalCompositeOperation(t){const n=t.attrs.globalCompositeOperation;var r=!n||n==="source-over";r||this.setAttr("globalCompositeOperation",n)}}Fa.Context=b1,dme.forEach(function(e){Object.defineProperty(b1.prototype,e,{get(){return this._context[e]},set(t){this._context[e]=t}})});class hme extends b1{constructor(t,{willReadFrequently:n=!1}={}){super(t),this._context=t._canvas.getContext("2d",{willReadFrequently:n})}_fillColor(t){var n=t.fill();this.setAttr("fillStyle",n),t._fillFunc(this)}_fillPattern(t){this.setAttr("fillStyle",t._getFillPattern()),t._fillFunc(this)}_fillLinearGradient(t){var n=t._getLinearGradient();n&&(this.setAttr("fillStyle",n),t._fillFunc(this))}_fillRadialGradient(t){const n=t._getRadialGradient();n&&(this.setAttr("fillStyle",n),t._fillFunc(this))}_fill(t){const n=t.fill(),r=t.getFillPriority();if(n&&r==="color"){this._fillColor(t);return}const o=t.getFillPatternImage();if(o&&r==="pattern"){this._fillPattern(t);return}const a=t.getFillLinearGradientColorStops();if(a&&r==="linear-gradient"){this._fillLinearGradient(t);return}const A=t.getFillRadialGradientColorStops();if(A&&r==="radial-gradient"){this._fillRadialGradient(t);return}n?this._fillColor(t):o?this._fillPattern(t):a?this._fillLinearGradient(t):A&&this._fillRadialGradient(t)}_strokeLinearGradient(t){const n=t.getStrokeLinearGradientStartPoint(),r=t.getStrokeLinearGradientEndPoint(),o=t.getStrokeLinearGradientColorStops(),a=this.createLinearGradient(n.x,n.y,r.x,r.y);if(o){for(var A=0;A<o.length;A+=2)a.addColorStop(o[A],o[A+1]);this.setAttr("strokeStyle",a)}}_stroke(t){var n=t.dash(),r=t.getStrokeScaleEnabled();if(t.hasStroke()){if(!r){this.save();var o=this.getCanvas().getPixelRatio();this.setTransform(o,0,0,o,0,0)}this._applyLineCap(t),n&&t.dashEnabled()&&(this.setLineDash(n),this.setAttr("lineDashOffset",t.dashOffset())),this.setAttr("lineWidth",t.strokeWidth()),t.getShadowForStrokeEnabled()||this.setAttr("shadowColor","rgba(0,0,0,0)");var a=t.getStrokeLinearGradientColorStops();a?this._strokeLinearGradient(t):this.setAttr("strokeStyle",t.stroke()),t._strokeFunc(this),r||this.restore()}}_applyShadow(t){var n,r,o,a=(n=t.getShadowRGBA())!==null&&n!==void 0?n:"black",A=(r=t.getShadowBlur())!==null&&r!==void 0?r:5,l=(o=t.getShadowOffset())!==null&&o!==void 0?o:{x:0,y:0},c=t.getAbsoluteScale(),u=this.canvas.getPixelRatio(),d=c.x*u,f=c.y*u;this.setAttr("shadowColor",a),this.setAttr("shadowBlur",A*Math.min(Math.abs(d),Math.abs(f))),this.setAttr("shadowOffsetX",l.x*d),this.setAttr("shadowOffsetY",l.y*f)}}Fa.SceneContext=hme;class pme extends b1{constructor(t){super(t),this._context=t._canvas.getContext("2d",{willReadFrequently:!0})}_fill(t){this.save(),this.setAttr("fillStyle",t.colorKey),t._fillFuncHit(this),this.restore()}strokeShape(t){t.hasHitStroke()&&this._stroke(t)}_stroke(t){if(t.hasHitStroke()){const a=t.getStrokeScaleEnabled();if(!a){this.save();var n=this.getCanvas().getPixelRatio();this.setTransform(n,0,0,n,0,0)}this._applyLineCap(t);var r=t.hitStrokeWidth(),o=r==="auto"?t.strokeWidth():r;this.setAttr("lineWidth",o),this.setAttr("strokeStyle",t.colorKey),t._strokeFuncHit(this),a||this.restore()}}}Fa.HitContext=pme,Object.defineProperty(oo,"__esModule",{value:!0}),oo.HitCanvas=oo.SceneCanvas=oo.Canvas=void 0;const _1=gn,mN=Fa,vN=Ct,gme=_t,mme=Xe;var B1;function vme(){if(B1)return B1;var e=_1.Util.createCanvasElement(),t=e.getContext("2d");return B1=function(){var n=vN.Konva._global.devicePixelRatio||1,r=t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return n/r}(),_1.Util.releaseCanvas(e),B1}class C1{constructor(t){this.pixelRatio=1,this.width=0,this.height=0,this.isCache=!1;var n=t||{},r=n.pixelRatio||vN.Konva.pixelRatio||vme();this.pixelRatio=r,this._canvas=_1.Util.createCanvasElement(),this._canvas.style.padding="0",this._canvas.style.margin="0",this._canvas.style.border="0",this._canvas.style.background="transparent",this._canvas.style.position="absolute",this._canvas.style.top="0",this._canvas.style.left="0"}getContext(){return this.context}getPixelRatio(){return this.pixelRatio}setPixelRatio(t){var n=this.pixelRatio;this.pixelRatio=t,this.setSize(this.getWidth()/n,this.getHeight()/n)}setWidth(t){this.width=this._canvas.width=t*this.pixelRatio,this._canvas.style.width=t+"px";var n=this.pixelRatio,r=this.getContext()._context;r.scale(n,n)}setHeight(t){this.height=this._canvas.height=t*this.pixelRatio,this._canvas.style.height=t+"px";var n=this.pixelRatio,r=this.getContext()._context;r.scale(n,n)}getWidth(){return this.width}getHeight(){return this.height}setSize(t,n){this.setWidth(t||0),this.setHeight(n||0)}toDataURL(t,n){try{return this._canvas.toDataURL(t,n)}catch(r){try{return this._canvas.toDataURL()}catch(o){return _1.Util.error("Unable to get data URL. "+o.message+" For more info read https://konvajs.org/docs/posts/Tainted_Canvas.html."),""}}}}oo.Canvas=C1,gme.Factory.addGetterSetter(C1,"pixelRatio",void 0,(0,mme.getNumberValidator)());class yme extends C1{constructor(t={width:0,height:0,willReadFrequently:!1}){super(t),this.context=new mN.SceneContext(this,{willReadFrequently:t.willReadFrequently}),this.setSize(t.width,t.height)}}oo.SceneCanvas=yme;class wme extends C1{constructor(t={width:0,height:0}){super(t),this.hitCanvas=!0,this.context=new mN.HitContext(this),this.setSize(t.width,t.height)}}oo.HitCanvas=wme;var E1={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.DD=void 0;const t=Ct,n=gn;e.DD={get isDragging(){var r=!1;return e.DD._dragElements.forEach(o=>{o.dragStatus==="dragging"&&(r=!0)}),r},justDragged:!1,get node(){var r;return e.DD._dragElements.forEach(o=>{r=o.node}),r},_dragElements:new Map,_drag(r){const o=[];e.DD._dragElements.forEach((a,A)=>{const{node:l}=a,c=l.getStage();c.setPointersPositions(r),a.pointerId===void 0&&(a.pointerId=n.Util._getFirstPointerId(r));const u=c._changedPointerPositions.find(h=>h.id===a.pointerId);if(u){if(a.dragStatus!=="dragging"){var d=l.dragDistance(),f=Math.max(Math.abs(u.x-a.startPointerPos.x),Math.abs(u.y-a.startPointerPos.y));if(f<d||(l.startDrag({evt:r}),!l.isDragging()))return}l._setDragPosition(r,a),o.push(l)}}),o.forEach(a=>{a.fire("dragmove",{type:"dragmove",target:a,evt:r},!0)})},_endDragBefore(r){const o=[];e.DD._dragElements.forEach(a=>{const{node:A}=a,l=A.getStage();if(r&&l.setPointersPositions(r),!l._changedPointerPositions.find(d=>d.id===a.pointerId))return;(a.dragStatus==="dragging"||a.dragStatus==="stopped")&&(e.DD.justDragged=!0,t.Konva._mouseListenClick=!1,t.Konva._touchListenClick=!1,t.Konva._pointerListenClick=!1,a.dragStatus="stopped");const u=a.node.getLayer()||a.node instanceof t.Konva.Stage&&a.node;u&&o.indexOf(u)===-1&&o.push(u)}),o.forEach(a=>{a.draw()})},_endDragAfter(r){e.DD._dragElements.forEach((o,a)=>{o.dragStatus==="stopped"&&o.node.fire("dragend",{type:"dragend",target:o.node,evt:r},!0),o.dragStatus!=="dragging"&&e.DD._dragElements.delete(a)})}},t.Konva.isBrowser&&(window.addEventListener("mouseup",e.DD._endDragBefore,!0),window.addEventListener("touchend",e.DD._endDragBefore,!0),window.addEventListener("mousemove",e.DD._drag),window.addEventListener("touchmove",e.DD._drag),window.addEventListener("mouseup",e.DD._endDragAfter,!1),window.addEventListener("touchend",e.DD._endDragAfter,!1))})(E1),Object.defineProperty(sn,"__esModule",{value:!0}),sn.Node=void 0;const kt=gn,Sf=_t,S1=oo,LA=Ct,Qi=E1,Fn=Xe;var x1="absoluteOpacity",F1="allEventListeners",ka="absoluteTransform",yN="absoluteScale",OA="canvas",bme="Change",_me="children",Bme="konva",kb="listening",wN="mouseenter",bN="mouseleave",_N="set",BN="Shape",k1=" ",CN="stage",Cs="transform",Cme="Stage",Ub="visible",Eme=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(k1);let Sme=1,pt=class J5{constructor(t){this._id=Sme++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(t),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(t){(t===Cs||t===ka)&&this._cache.get(t)?this._cache.get(t).dirty=!0:t?this._cache.delete(t):this._cache.clear()}_getCache(t,n){var r=this._cache.get(t),o=t===Cs||t===ka,a=r===void 0||o&&r.dirty===!0;return a&&(r=n.call(this),this._cache.set(t,r)),r}_calculate(t,n,r){if(!this._attachedDepsListeners.get(t)){const o=n.map(a=>a+"Change.konva").join(k1);this.on(o,()=>{this._clearCache(t)}),this._attachedDepsListeners.set(t,!0)}return this._getCache(t,r)}_getCanvasCache(){return this._cache.get(OA)}_clearSelfAndDescendantCache(t){this._clearCache(t),t===ka&&this.fire("absoluteTransformChange")}clearCache(){if(this._cache.has(OA)){const{scene:t,filter:n,hit:r}=this._cache.get(OA);kt.Util.releaseCanvas(t,n,r),this._cache.delete(OA)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(t){var n=t||{},r={};(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)&&(r=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()}));var o=Math.ceil(n.width||r.width),a=Math.ceil(n.height||r.height),A=n.pixelRatio,l=n.x===void 0?Math.floor(r.x):n.x,c=n.y===void 0?Math.floor(r.y):n.y,u=n.offset||0,d=n.drawBorder||!1,f=n.hitCanvasPixelRatio||1;if(!o||!a){kt.Util.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}o+=u*2+1,a+=u*2+1,l-=u,c-=u;var h=new S1.SceneCanvas({pixelRatio:A,width:o,height:a}),p=new S1.SceneCanvas({pixelRatio:A,width:0,height:0,willReadFrequently:!0}),g=new S1.HitCanvas({pixelRatio:f,width:o,height:a}),m=h.getContext(),y=g.getContext();return g.isCache=!0,h.isCache=!0,this._cache.delete(OA),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1&&(h.getContext()._context.imageSmoothingEnabled=!1,p.getContext()._context.imageSmoothingEnabled=!1),m.save(),y.save(),m.translate(-l,-c),y.translate(-l,-c),this._isUnderCache=!0,this._clearSelfAndDescendantCache(x1),this._clearSelfAndDescendantCache(yN),this.drawScene(h,this),this.drawHit(g,this),this._isUnderCache=!1,m.restore(),y.restore(),d&&(m.save(),m.beginPath(),m.rect(0,0,o,a),m.closePath(),m.setAttr("strokeStyle","red"),m.setAttr("lineWidth",5),m.stroke(),m.restore()),this._cache.set(OA,{scene:h,filter:p,hit:g,x:l,y:c}),this._requestDraw(),this}isCached(){return this._cache.has(OA)}getClientRect(t){throw new Error('abstract "getClientRect" method call')}_transformedRect(t,n){var r=[{x:t.x,y:t.y},{x:t.x+t.width,y:t.y},{x:t.x+t.width,y:t.y+t.height},{x:t.x,y:t.y+t.height}],o,a,A,l,c=this.getAbsoluteTransform(n);return r.forEach(function(u){var d=c.point(u);o===void 0&&(o=A=d.x,a=l=d.y),o=Math.min(o,d.x),a=Math.min(a,d.y),A=Math.max(A,d.x),l=Math.max(l,d.y)}),{x:o,y:a,width:A-o,height:l-a}}_drawCachedSceneCanvas(t){t.save(),t._applyOpacity(this),t._applyGlobalCompositeOperation(this);const n=this._getCanvasCache();t.translate(n.x,n.y);var r=this._getCachedSceneCanvas(),o=r.pixelRatio;t.drawImage(r._canvas,0,0,r.width/o,r.height/o),t.restore()}_drawCachedHitCanvas(t){var n=this._getCanvasCache(),r=n.hit;t.save(),t.translate(n.x,n.y),t.drawImage(r._canvas,0,0,r.width/r.pixelRatio,r.height/r.pixelRatio),t.restore()}_getCachedSceneCanvas(){var t=this.filters(),n=this._getCanvasCache(),r=n.scene,o=n.filter,a=o.getContext(),A,l,c,u;if(t){if(!this._filterUpToDate){var d=r.pixelRatio;o.setSize(r.width/r.pixelRatio,r.height/r.pixelRatio);try{for(A=t.length,a.clear(),a.drawImage(r._canvas,0,0,r.getWidth()/d,r.getHeight()/d),l=a.getImageData(0,0,o.getWidth(),o.getHeight()),c=0;c<A;c++){if(u=t[c],typeof u!="function"){kt.Util.error("Filter should be type of function, but got "+typeof u+" instead. Please check correct filters");continue}u.call(this,l),a.putImageData(l,0,0)}}catch(f){kt.Util.error("Unable to apply filter. "+f.message+" This post my help you https://konvajs.org/docs/posts/Tainted_Canvas.html.")}this._filterUpToDate=!0}return o}return r}on(t,n){if(this._cache&&this._cache.delete(F1),arguments.length===3)return this._delegate.apply(this,arguments);var r=t.split(k1),o=r.length,a,A,l,c,u;for(a=0;a<o;a++)A=r[a],l=A.split("."),c=l[0],u=l[1]||"",this.eventListeners[c]||(this.eventListeners[c]=[]),this.eventListeners[c].push({name:u,handler:n});return this}off(t,n){var r=(t||"").split(k1),o=r.length,a,A,l,c,u,d;if(this._cache&&this._cache.delete(F1),!t)for(A in this.eventListeners)this._off(A);for(a=0;a<o;a++)if(l=r[a],c=l.split("."),u=c[0],d=c[1],u)this.eventListeners[u]&&this._off(u,d,n);else for(A in this.eventListeners)this._off(A,d,n);return this}dispatchEvent(t){var n={target:this,type:t.type,evt:t};return this.fire(t.type,n),this}addEventListener(t,n){return this.on(t,function(r){n.call(this,r.evt)}),this}removeEventListener(t){return this.off(t),this}_delegate(t,n,r){var o=this;this.on(t,function(a){for(var A=a.target.findAncestors(n,!0,o),l=0;l<A.length;l++)a=kt.Util.cloneObject(a),a.currentTarget=A[l],r.call(A[l],a)})}remove(){return this.isDragging()&&this.stopDrag(),Qi.DD._dragElements.delete(this._id),this._remove(),this}_clearCaches(){this._clearSelfAndDescendantCache(ka),this._clearSelfAndDescendantCache(x1),this._clearSelfAndDescendantCache(yN),this._clearSelfAndDescendantCache(CN),this._clearSelfAndDescendantCache(Ub),this._clearSelfAndDescendantCache(kb)}_remove(){this._clearCaches();var t=this.getParent();t&&t.children&&(t.children.splice(this.index,1),t._setChildrenIndices(),this.parent=null)}destroy(){return this.remove(),this.clearCache(),this}getAttr(t){var n="get"+kt.Util._capitalize(t);return kt.Util._isFunction(this[n])?this[n]():this.attrs[t]}getAncestors(){for(var t=this.getParent(),n=[];t;)n.push(t),t=t.getParent();return n}getAttrs(){return this.attrs||{}}setAttrs(t){return this._batchTransformChanges(()=>{var n,r;if(!t)return this;for(n in t)n!==_me&&(r=_N+kt.Util._capitalize(n),kt.Util._isFunction(this[r])?this[r](t[n]):this._setAttr(n,t[n]))}),this}isListening(){return this._getCache(kb,this._isListening)}_isListening(t){if(!this.listening())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isListening(t):!0}isVisible(){return this._getCache(Ub,this._isVisible)}_isVisible(t){if(!this.visible())return!1;const r=this.getParent();return r&&r!==t&&this!==t?r._isVisible(t):!0}shouldDrawHit(t,n=!1){if(t)return this._isVisible(t)&&this._isListening(t);var r=this.getLayer(),o=!1;Qi.DD._dragElements.forEach(A=>{A.dragStatus==="dragging"&&(A.node.nodeType==="Stage"||A.node.getLayer()===r)&&(o=!0)});var a=!n&&!LA.Konva.hitOnDragEnabled&&o;return this.isListening()&&this.isVisible()&&!a}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){var t=this.getDepth(),n=this,r=0,o,a,A,l;function c(u){for(o=[],a=u.length,A=0;A<a;A++)l=u[A],r++,l.nodeType!==BN&&(o=o.concat(l.getChildren().slice())),l._id===n._id&&(A=a);o.length>0&&o[0].getDepth()<=t&&c(o)}return n.nodeType!==Cme&&c(n.getStage().getChildren()),r}getDepth(){for(var t=0,n=this.parent;n;)t++,n=n.parent;return t}_batchTransformChanges(t){this._batchingTransformChange=!0,t(),this._batchingTransformChange=!1,this._needClearTransformCache&&(this._clearCache(Cs),this._clearSelfAndDescendantCache(ka)),this._needClearTransformCache=!1}setPosition(t){return this._batchTransformChanges(()=>{this.x(t.x),this.y(t.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){if(!this.getStage())return null;var t=this.getStage().getPointerPosition();if(!t)return null;var n=this.getAbsoluteTransform().copy();return n.invert(),n.point(t)}getAbsolutePosition(t){let n=!1,r=this.parent;for(;r;){if(r.isCached()){n=!0;break}r=r.parent}n&&!t&&(t=!0);var o=this.getAbsoluteTransform(t).getMatrix(),a=new kt.Transform,A=this.offset();return a.m=o.slice(),a.translate(A.x,A.y),a.getTranslation()}setAbsolutePosition(t){var n=this._clearTransform();this.attrs.x=n.x,this.attrs.y=n.y,delete n.x,delete n.y,this._clearCache(Cs);var r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(t.x,t.y),t={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(n),this.setPosition({x:t.x,y:t.y}),this._clearCache(Cs),this._clearSelfAndDescendantCache(ka),this}_setTransform(t){var n;for(n in t)this.attrs[n]=t[n]}_clearTransform(){var t={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,t}move(t){var n=t.x,r=t.y,o=this.x(),a=this.y();return n!==void 0&&(o+=n),r!==void 0&&(a+=r),this.setPosition({x:o,y:a}),this}_eachAncestorReverse(t,n){var r=[],o=this.getParent(),a,A;if(!(n&&n._id===this._id)){for(r.unshift(this);o&&(!n||o._id!==n._id);)r.unshift(o),o=o.parent;for(a=r.length,A=0;A<a;A++)t(r[A])}}rotate(t){return this.rotation(this.rotation()+t),this}moveToTop(){if(!this.parent)return kt.Util.warn("Node has no parent. moveToTop function is ignored."),!1;var t=this.index,n=this.parent.getChildren().length;return t<n-1?(this.parent.children.splice(t,1),this.parent.children.push(this),this.parent._setChildrenIndices(),!0):!1}moveUp(){if(!this.parent)return kt.Util.warn("Node has no parent. moveUp function is ignored."),!1;var t=this.index,n=this.parent.getChildren().length;return t<n-1?(this.parent.children.splice(t,1),this.parent.children.splice(t+1,0,this),this.parent._setChildrenIndices(),!0):!1}moveDown(){if(!this.parent)return kt.Util.warn("Node has no parent. moveDown function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.splice(t-1,0,this),this.parent._setChildrenIndices(),!0):!1}moveToBottom(){if(!this.parent)return kt.Util.warn("Node has no parent. moveToBottom function is ignored."),!1;var t=this.index;return t>0?(this.parent.children.splice(t,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0):!1}setZIndex(t){if(!this.parent)return kt.Util.warn("Node has no parent. zIndex parameter is ignored."),this;(t<0||t>=this.parent.children.length)&&kt.Util.warn("Unexpected value "+t+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");var n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(t,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(x1,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){var t=this.opacity(),n=this.getParent();return n&&!n._isUnderCache&&(t*=n.getAbsoluteOpacity()),t}moveTo(t){return this.getParent()!==t&&(this._remove(),t.add(this)),this}toObject(){var t={},n=this.getAttrs(),r,o,a,A,l;t.attrs={};for(r in n)o=n[r],l=kt.Util.isObject(o)&&!kt.Util._isPlainObject(o)&&!kt.Util._isArray(o),!l&&(a=typeof this[r]=="function"&&this[r],delete n[r],A=a?a.call(this):null,n[r]=o,A!==o&&(t.attrs[r]=o));return t.className=this.getClassName(),kt.Util._prepareToStringify(t)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(t,n,r){var o=[];n&&this._isMatch(t)&&o.push(this);for(var a=this.parent;a;){if(a===r)return o;a._isMatch(t)&&o.push(a),a=a.parent}return o}isAncestorOf(t){return!1}findAncestor(t,n,r){return this.findAncestors(t,n,r)[0]}_isMatch(t){if(!t)return!1;if(typeof t=="function")return t(this);var n=t.replace(/ /g,"").split(","),r=n.length,o,a;for(o=0;o<r;o++)if(a=n[o],kt.Util.isValidSelector(a)||(kt.Util.warn('Selector "'+a+'" is invalid. Allowed selectors examples are "#foo", ".bar" or "Group".'),kt.Util.warn('If you have a custom shape with such className, please change it to start with upper letter like "Triangle".'),kt.Util.warn("Konva is awesome, right?")),a.charAt(0)==="#"){if(this.id()===a.slice(1))return!0}else if(a.charAt(0)==="."){if(this.hasName(a.slice(1)))return!0}else if(this.className===a||this.nodeType===a)return!0;return!1}getLayer(){var t=this.getParent();return t?t.getLayer():null}getStage(){return this._getCache(CN,this._getStage)}_getStage(){var t=this.getParent();if(t)return t.getStage()}fire(t,n={},r){return n.target=n.target||this,r?this._fireAndBubble(t,n):this._fire(t,n),this}getAbsoluteTransform(t){return t?this._getAbsoluteTransform(t):this._getCache(ka,this._getAbsoluteTransform)}_getAbsoluteTransform(t){var n;if(t)return n=new kt.Transform,this._eachAncestorReverse(function(o){var a=o.transformsEnabled();a==="all"?n.multiply(o.getTransform()):a==="position"&&n.translate(o.x()-o.offsetX(),o.y()-o.offsetY())},t),n;n=this._cache.get(ka)||new kt.Transform,this.parent?this.parent.getAbsoluteTransform().copyInto(n):n.reset();var r=this.transformsEnabled();if(r==="all")n.multiply(this.getTransform());else if(r==="position"){const o=this.attrs.x||0,a=this.attrs.y||0,A=this.attrs.offsetX||0,l=this.attrs.offsetY||0;n.translate(o-A,a-l)}return n.dirty=!1,n}getAbsoluteScale(t){for(var n=this;n;)n._isUnderCache&&(t=n),n=n.getParent();const o=this.getAbsoluteTransform(t).decompose();return{x:o.scaleX,y:o.scaleY}}getAbsoluteRotation(){return this.getAbsoluteTransform().decompose().rotation}getTransform(){return this._getCache(Cs,this._getTransform)}_getTransform(){var t,n,r=this._cache.get(Cs)||new kt.Transform;r.reset();var o=this.x(),a=this.y(),A=LA.Konva.getAngle(this.rotation()),l=(t=this.attrs.scaleX)!==null&&t!==void 0?t:1,c=(n=this.attrs.scaleY)!==null&&n!==void 0?n:1,u=this.attrs.skewX||0,d=this.attrs.skewY||0,f=this.attrs.offsetX||0,h=this.attrs.offsetY||0;return(o!==0||a!==0)&&r.translate(o,a),A!==0&&r.rotate(A),(u!==0||d!==0)&&r.skew(u,d),(l!==1||c!==1)&&r.scale(l,c),(f!==0||h!==0)&&r.translate(-1*f,-1*h),r.dirty=!1,r}clone(t){var n=kt.Util.cloneObject(this.attrs),r,o,a,A,l;for(r in t)n[r]=t[r];var c=new this.constructor(n);for(r in this.eventListeners)for(o=this.eventListeners[r],a=o.length,A=0;A<a;A++)l=o[A],l.name.indexOf(Bme)<0&&(c.eventListeners[r]||(c.eventListeners[r]=[]),c.eventListeners[r].push(l));return c}_toKonvaCanvas(t){t=t||{};var n=this.getClientRect(),r=this.getStage(),o=t.x!==void 0?t.x:Math.floor(n.x),a=t.y!==void 0?t.y:Math.floor(n.y),A=t.pixelRatio||1,l=new S1.SceneCanvas({width:t.width||Math.ceil(n.width)||(r?r.width():0),height:t.height||Math.ceil(n.height)||(r?r.height():0),pixelRatio:A}),c=l.getContext();return t.imageSmoothingEnabled===!1&&(c._context.imageSmoothingEnabled=!1),c.save(),(o||a)&&c.translate(-1*o,-1*a),this.drawScene(l),c.restore(),l}toCanvas(t){return this._toKonvaCanvas(t)._canvas}toDataURL(t){t=t||{};var n=t.mimeType||null,r=t.quality||null,o=this._toKonvaCanvas(t).toDataURL(n,r);return t.callback&&t.callback(o),o}toImage(t){return new Promise((n,r)=>{try{const o=t==null?void 0:t.callback;o&&delete t.callback,kt.Util._urlToImage(this.toDataURL(t),function(a){n(a),o==null||o(a)})}catch(o){r(o)}})}toBlob(t){return new Promise((n,r)=>{try{const o=t==null?void 0:t.callback;o&&delete t.callback,this.toCanvas(t).toBlob(a=>{n(a),o==null||o(a)})}catch(o){r(o)}})}setSize(t){return this.width(t.width),this.height(t.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){return this.attrs.dragDistance!==void 0?this.attrs.dragDistance:this.parent?this.parent.getDragDistance():LA.Konva.dragDistance}_off(t,n,r){var o=this.eventListeners[t],a,A,l;for(a=0;a<o.length;a++)if(A=o[a].name,l=o[a].handler,(A!=="konva"||n==="konva")&&(!n||A===n)&&(!r||r===l)){if(o.splice(a,1),o.length===0){delete this.eventListeners[t];break}a--}}_fireChangeEvent(t,n,r){this._fire(t+bme,{oldVal:n,newVal:r})}addName(t){if(!this.hasName(t)){var n=this.name(),r=n?n+" "+t:t;this.name(r)}return this}hasName(t){if(!t)return!1;const n=this.name();if(!n)return!1;var r=(n||"").split(/\s/g);return r.indexOf(t)!==-1}removeName(t){var n=(this.name()||"").split(/\s/g),r=n.indexOf(t);return r!==-1&&(n.splice(r,1),this.name(n.join(" "))),this}setAttr(t,n){var r=this[_N+kt.Util._capitalize(t)];return kt.Util._isFunction(r)?r.call(this,n):this._setAttr(t,n),this}_requestDraw(){if(LA.Konva.autoDrawEnabled){const t=this.getLayer()||this.getStage();t==null||t.batchDraw()}}_setAttr(t,n){var r=this.attrs[t];r===n&&!kt.Util.isObject(n)||(n==null?delete this.attrs[t]:this.attrs[t]=n,this._shouldFireChangeEvents&&this._fireChangeEvent(t,r,n),this._requestDraw())}_setComponentAttr(t,n,r){var o;r!==void 0&&(o=this.attrs[t],o||(this.attrs[t]=this.getAttr(t)),this.attrs[t][n]=r,this._fireChangeEvent(t,o,r))}_fireAndBubble(t,n,r){n&&this.nodeType===BN&&(n.target=this);var o=(t===wN||t===bN)&&(r&&(this===r||this.isAncestorOf&&this.isAncestorOf(r))||this.nodeType==="Stage"&&!r);if(!o){this._fire(t,n);var a=(t===wN||t===bN)&&r&&r.isAncestorOf&&r.isAncestorOf(this)&&!r.isAncestorOf(this.parent);(n&&!n.cancelBubble||!n)&&this.parent&&this.parent.isListening()&&!a&&(r&&r.parent?this._fireAndBubble.call(this.parent,t,n,r):this._fireAndBubble.call(this.parent,t,n))}}_getProtoListeners(t){var n,r,o;const a=(n=this._cache.get(F1))!==null&&n!==void 0?n:{};let A=a==null?void 0:a[t];if(A===void 0){A=[];let l=Object.getPrototypeOf(this);for(;l;){const c=(o=(r=l.eventListeners)===null||r===void 0?void 0:r[t])!==null&&o!==void 0?o:[];A.push(...c),l=Object.getPrototypeOf(l)}a[t]=A,this._cache.set(F1,a)}return A}_fire(t,n){n=n||{},n.currentTarget=this,n.type=t;const r=this._getProtoListeners(t);if(r)for(var o=0;o<r.length;o++)r[o].handler.call(this,n);const a=this.eventListeners[t];if(a)for(var o=0;o<a.length;o++)a[o].handler.call(this,n)}draw(){return this.drawScene(),this.drawHit(),this}_createDragElement(t){var n=t?t.pointerId:void 0,r=this.getStage(),o=this.getAbsolutePosition(),a=r._getPointerById(n)||r._changedPointerPositions[0]||o;Qi.DD._dragElements.set(this._id,{node:this,startPointerPos:a,offset:{x:a.x-o.x,y:a.y-o.y},dragStatus:"ready",pointerId:n})}startDrag(t,n=!0){Qi.DD._dragElements.has(this._id)||this._createDragElement(t);const r=Qi.DD._dragElements.get(this._id);r.dragStatus="dragging",this.fire("dragstart",{type:"dragstart",target:this,evt:t&&t.evt},n)}_setDragPosition(t,n){const r=this.getStage()._getPointerById(n.pointerId);if(r){var o={x:r.x-n.offset.x,y:r.y-n.offset.y},a=this.dragBoundFunc();if(a!==void 0){const A=a.call(this,o,t);A?o=A:kt.Util.warn("dragBoundFunc did not return any value. That is unexpected behavior. You must return new absolute position from dragBoundFunc.")}(!this._lastPos||this._lastPos.x!==o.x||this._lastPos.y!==o.y)&&(this.setAbsolutePosition(o),this._requestDraw()),this._lastPos=o}}stopDrag(t){const n=Qi.DD._dragElements.get(this._id);n&&(n.dragStatus="stopped"),Qi.DD._endDragBefore(t),Qi.DD._endDragAfter(t)}setDraggable(t){this._setAttr("draggable",t),this._dragChange()}isDragging(){const t=Qi.DD._dragElements.get(this._id);return t?t.dragStatus==="dragging":!1}_listenDrag(){this._dragCleanup(),this.on("mousedown.konva touchstart.konva",function(t){var n=t.evt.button!==void 0,r=!n||LA.Konva.dragButtons.indexOf(t.evt.button)>=0;if(r&&!this.isDragging()){var o=!1;Qi.DD._dragElements.forEach(a=>{this.isAncestorOf(a.node)&&(o=!0)}),o||this._createDragElement(t)}})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{this._dragCleanup();var t=this.getStage();if(!t)return;const n=Qi.DD._dragElements.get(this._id),r=n&&n.dragStatus==="dragging",o=n&&n.dragStatus==="ready";r?this.stopDrag():o&&Qi.DD._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(t={x:0,y:0}){const n=this.getStage();if(!n)return!1;const r={x:-t.x,y:-t.y,width:n.width()+2*t.x,height:n.height()+2*t.y};return kt.Util.haveIntersection(r,this.getClientRect())}static create(t,n){return kt.Util._isString(t)&&(t=JSON.parse(t)),this._createNode(t,n)}static _createNode(t,n){var r=J5.prototype.getClassName.call(t),o=t.children,a,A,l;n&&(t.attrs.container=n),LA.Konva[r]||(kt.Util.warn('Can not find a node with class name "'+r+'". Fallback to "Shape".'),r="Shape");const c=LA.Konva[r];if(a=new c(t.attrs),o)for(A=o.length,l=0;l<A;l++)a.add(J5._createNode(o[l]));return a}};sn.Node=pt,pt.prototype.nodeType="Node",pt.prototype._attrsAffectingSize=[],pt.prototype.eventListeners={},pt.prototype.on.call(pt.prototype,Eme,function(){if(this._batchingTransformChange){this._needClearTransformCache=!0;return}this._clearCache(Cs),this._clearSelfAndDescendantCache(ka)}),pt.prototype.on.call(pt.prototype,"visibleChange.konva",function(){this._clearSelfAndDescendantCache(Ub)}),pt.prototype.on.call(pt.prototype,"listeningChange.konva",function(){this._clearSelfAndDescendantCache(kb)}),pt.prototype.on.call(pt.prototype,"opacityChange.konva",function(){this._clearSelfAndDescendantCache(x1)});const Yt=Sf.Factory.addGetterSetter;Yt(pt,"zIndex"),Yt(pt,"absolutePosition"),Yt(pt,"position"),Yt(pt,"x",0,(0,Fn.getNumberValidator)()),Yt(pt,"y",0,(0,Fn.getNumberValidator)()),Yt(pt,"globalCompositeOperation","source-over",(0,Fn.getStringValidator)()),Yt(pt,"opacity",1,(0,Fn.getNumberValidator)()),Yt(pt,"name","",(0,Fn.getStringValidator)()),Yt(pt,"id","",(0,Fn.getStringValidator)()),Yt(pt,"rotation",0,(0,Fn.getNumberValidator)()),Sf.Factory.addComponentsGetterSetter(pt,"scale",["x","y"]),Yt(pt,"scaleX",1,(0,Fn.getNumberValidator)()),Yt(pt,"scaleY",1,(0,Fn.getNumberValidator)()),Sf.Factory.addComponentsGetterSetter(pt,"skew",["x","y"]),Yt(pt,"skewX",0,(0,Fn.getNumberValidator)()),Yt(pt,"skewY",0,(0,Fn.getNumberValidator)()),Sf.Factory.addComponentsGetterSetter(pt,"offset",["x","y"]),Yt(pt,"offsetX",0,(0,Fn.getNumberValidator)()),Yt(pt,"offsetY",0,(0,Fn.getNumberValidator)()),Yt(pt,"dragDistance",null,(0,Fn.getNumberValidator)()),Yt(pt,"width",0,(0,Fn.getNumberValidator)()),Yt(pt,"height",0,(0,Fn.getNumberValidator)()),Yt(pt,"listening",!0,(0,Fn.getBooleanValidator)()),Yt(pt,"preventDefault",!0,(0,Fn.getBooleanValidator)()),Yt(pt,"filters",null,function(e){return this._filterUpToDate=!1,e}),Yt(pt,"visible",!0,(0,Fn.getBooleanValidator)()),Yt(pt,"transformsEnabled","all",(0,Fn.getStringValidator)()),Yt(pt,"size"),Yt(pt,"dragBoundFunc"),Yt(pt,"draggable",!1,(0,Fn.getBooleanValidator)()),Sf.Factory.backCompat(pt,{rotateDeg:"rotate",setRotationDeg:"setRotation",getRotationDeg:"getRotation"});var DA={};Object.defineProperty(DA,"__esModule",{value:!0}),DA.Container=void 0;const Fc=_t,Nb=sn,U1=Xe;class PA extends Nb.Node{constructor(){super(...arguments),this.children=[]}getChildren(t){if(!t)return this.children||[];const n=this.children||[];var r=[];return n.forEach(function(o){t(o)&&r.push(o)}),r}hasChildren(){return this.getChildren().length>0}removeChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach(t=>{t.parent=null,t.index=0,t.destroy()}),this.children=[],this._requestDraw(),this}add(...t){if(t.length===0)return this;if(t.length>1){for(var n=0;n<t.length;n++)this.add(t[n]);return this}const r=t[0];return r.getParent()?(r.moveTo(this),this):(this._validateAdd(r),r.index=this.getChildren().length,r.parent=this,r._clearCaches(),this.getChildren().push(r),this._fire("add",{child:r}),this._requestDraw(),this)}destroy(){return this.hasChildren()&&this.destroyChildren(),super.destroy(),this}find(t){return this._generalFind(t,!1)}findOne(t){var n=this._generalFind(t,!0);return n.length>0?n[0]:void 0}_generalFind(t,n){var r=[];return this._descendants(o=>{const a=o._isMatch(t);return a&&r.push(o),!!(a&&n)}),r}_descendants(t){let n=!1;const r=this.getChildren();for(const o of r){if(n=t(o),n)return!0;if(o.hasChildren()&&(n=o._descendants(t),n))return!0}return!1}toObject(){var t=Nb.Node.prototype.toObject.call(this);return t.children=[],this.getChildren().forEach(n=>{t.children.push(n.toObject())}),t}isAncestorOf(t){for(var n=t.getParent();n;){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(t){var n=Nb.Node.prototype.clone.call(this,t);return this.getChildren().forEach(function(r){n.add(r.clone())}),n}getAllIntersections(t){var n=[];return this.find("Shape").forEach(function(r){r.isVisible()&&r.intersects(t)&&n.push(r)}),n}_clearSelfAndDescendantCache(t){var n;super._clearSelfAndDescendantCache(t),!this.isCached()&&((n=this.children)===null||n===void 0||n.forEach(function(r){r._clearSelfAndDescendantCache(t)}))}_setChildrenIndices(){var t;(t=this.children)===null||t===void 0||t.forEach(function(n,r){n.index=r}),this._requestDraw()}drawScene(t,n){var r=this.getLayer(),o=t||r&&r.getCanvas(),a=o&&o.getContext(),A=this._getCanvasCache(),l=A&&A.scene,c=o&&o.isCache;if(!this.isVisible()&&!c)return this;if(l){a.save();var u=this.getAbsoluteTransform(n).getMatrix();a.transform(u[0],u[1],u[2],u[3],u[4],u[5]),this._drawCachedSceneCanvas(a),a.restore()}else this._drawChildren("drawScene",o,n);return this}drawHit(t,n){if(!this.shouldDrawHit(n))return this;var r=this.getLayer(),o=t||r&&r.hitCanvas,a=o&&o.getContext(),A=this._getCanvasCache(),l=A&&A.hit;if(l){a.save();var c=this.getAbsoluteTransform(n).getMatrix();a.transform(c[0],c[1],c[2],c[3],c[4],c[5]),this._drawCachedHitCanvas(a),a.restore()}else this._drawChildren("drawHit",o,n);return this}_drawChildren(t,n,r){var o,a=n&&n.getContext(),A=this.clipWidth(),l=this.clipHeight(),c=this.clipFunc(),u=A&&l||c;const d=r===this;if(u){a.save();var f=this.getAbsoluteTransform(r),h=f.getMatrix();a.transform(h[0],h[1],h[2],h[3],h[4],h[5]),a.beginPath();let y;if(c)y=c.call(this,a,this);else{var p=this.clipX(),g=this.clipY();a.rect(p,g,A,l)}a.clip.apply(a,y),h=f.copy().invert().getMatrix(),a.transform(h[0],h[1],h[2],h[3],h[4],h[5])}var m=!d&&this.globalCompositeOperation()!=="source-over"&&t==="drawScene";m&&(a.save(),a._applyGlobalCompositeOperation(this)),(o=this.children)===null||o===void 0||o.forEach(function(y){y[t](n,r)}),m&&a.restore(),u&&a.restore()}getClientRect(t){var n;t=t||{};var r=t.skipTransform,o=t.relativeTo,a,A,l,c,u={x:1/0,y:1/0,width:0,height:0},d=this;(n=this.children)===null||n===void 0||n.forEach(function(m){if(m.visible()){var y=m.getClientRect({relativeTo:d,skipShadow:t.skipShadow,skipStroke:t.skipStroke});y.width===0&&y.height===0||(a===void 0?(a=y.x,A=y.y,l=y.x+y.width,c=y.y+y.height):(a=Math.min(a,y.x),A=Math.min(A,y.y),l=Math.max(l,y.x+y.width),c=Math.max(c,y.y+y.height)))}});for(var f=this.find("Shape"),h=!1,p=0;p<f.length;p++){var g=f[p];if(g._isVisible(this)){h=!0;break}}return h&&a!==void 0?u={x:a,y:A,width:l-a,height:c-A}:u={x:0,y:0,width:0,height:0},r?u:this._transformedRect(u,o)}}DA.Container=PA,Fc.Factory.addComponentsGetterSetter(PA,"clip",["x","y","width","height"]),Fc.Factory.addGetterSetter(PA,"clipX",void 0,(0,U1.getNumberValidator)()),Fc.Factory.addGetterSetter(PA,"clipY",void 0,(0,U1.getNumberValidator)()),Fc.Factory.addGetterSetter(PA,"clipWidth",void 0,(0,U1.getNumberValidator)()),Fc.Factory.addGetterSetter(PA,"clipHeight",void 0,(0,U1.getNumberValidator)()),Fc.Factory.addGetterSetter(PA,"clipFunc");var EN={},fi={};Object.defineProperty(fi,"__esModule",{value:!0}),fi.releaseCapture=fi.setPointerCapture=fi.hasPointerCapture=fi.createEvent=fi.getCapturedShape=void 0;const xme=Ct,xf=new Map,SN=xme.Konva._global.PointerEvent!==void 0;function Fme(e){return xf.get(e)}fi.getCapturedShape=Fme;function Tb(e){return{evt:e,pointerId:e.pointerId}}fi.createEvent=Tb;function kme(e,t){return xf.get(e)===t}fi.hasPointerCapture=kme;function Ume(e,t){xN(e),t.getStage()&&(xf.set(e,t),SN&&t._fire("gotpointercapture",Tb(new PointerEvent("gotpointercapture"))))}fi.setPointerCapture=Ume;function xN(e,t){const n=xf.get(e);if(!n)return;const r=n.getStage();r&&r.content,xf.delete(e),SN&&n._fire("lostpointercapture",Tb(new PointerEvent("lostpointercapture")))}fi.releaseCapture=xN,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Stage=e.stages=void 0;const t=gn,n=_t,r=DA,o=Ct,a=oo,A=E1,l=Ct,c=fi;var u="Stage",d="string",f="px",h="mouseout",p="mouseleave",g="mouseover",m="mouseenter",y="mousemove",w="mousedown",x="mouseup",B="pointermove",E="pointerdown",k="pointerup",U="pointercancel",T="lostpointercapture",Q="pointerout",z="pointerleave",O="pointerover",R="pointerenter",D="contextmenu",M="touchstart",L="touchend",q="touchmove",G="touchcancel",J="wheel",X=5,W=[[m,"_pointerenter"],[w,"_pointerdown"],[y,"_pointermove"],[x,"_pointerup"],[p,"_pointerleave"],[M,"_pointerdown"],[q,"_pointermove"],[L,"_pointerup"],[G,"_pointercancel"],[g,"_pointerover"],[J,"_wheel"],[D,"_contextmenu"],[E,"_pointerdown"],[B,"_pointermove"],[k,"_pointerup"],[U,"_pointercancel"],[T,"_lostpointercapture"]];const K={mouse:{[Q]:h,[z]:p,[O]:g,[R]:m,[B]:y,[E]:w,[k]:x,[U]:"mousecancel",pointerclick:"click",pointerdblclick:"dblclick"},touch:{[Q]:"touchout",[z]:"touchleave",[O]:"touchover",[R]:"touchenter",[B]:q,[E]:M,[k]:L,[U]:G,pointerclick:"tap",pointerdblclick:"dbltap"},pointer:{[Q]:Q,[z]:z,[O]:O,[R]:R,[B]:B,[E]:E,[k]:k,[U]:U,pointerclick:"pointerclick",pointerdblclick:"pointerdblclick"}},ne=we=>we.indexOf("pointer")>=0?"pointer":we.indexOf("touch")>=0?"touch":"mouse",ie=we=>{const V=ne(we);if(V==="pointer")return o.Konva.pointerEventsEnabled&&K.pointer;if(V==="touch")return K.touch;if(V==="mouse")return K.mouse};function le(we={}){return(we.clipFunc||we.clipWidth||we.clipHeight)&&t.Util.warn("Stage does not support clipping. Please use clip for Layers or Groups."),we}const ce="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);";e.stages=[];class me extends r.Container{constructor(V){super(le(V)),this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),e.stages.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{le(this.attrs)}),this._checkVisibility()}_validateAdd(V){const oe=V.getType()==="Layer",se=V.getType()==="FastLayer";oe||se||t.Util.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;const V=this.visible()?"":"none";this.content.style.display=V}setContainer(V){if(typeof V===d){if(V.charAt(0)==="."){var oe=V.slice(1);V=document.getElementsByClassName(oe)[0]}else{var se;V.charAt(0)!=="#"?se=V:se=V.slice(1),V=document.getElementById(se)}if(!V)throw"Can not find container in document with id "+se}return this._setAttr("container",V),this.content&&(this.content.parentElement&&this.content.parentElement.removeChild(this.content),V.appendChild(this.content)),this}shouldDrawHit(){return!0}clear(){var V=this.children,oe=V.length,se;for(se=0;se<oe;se++)V[se].clear();return this}clone(V){return V||(V={}),V.container=typeof document!="undefined"&&document.createElement("div"),r.Container.prototype.clone.call(this,V)}destroy(){super.destroy();var V=this.content;V&&t.Util._isInDocument(V)&&this.container().removeChild(V);var oe=e.stages.indexOf(this);return oe>-1&&e.stages.splice(oe,1),t.Util.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){const V=this._pointerPositions[0]||this._changedPointerPositions[0];return V?{x:V.x,y:V.y}:(t.Util.warn(ce),null)}_getPointerById(V){return this._pointerPositions.find(oe=>oe.id===V)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(V){V=V||{},V.x=V.x||0,V.y=V.y||0,V.width=V.width||this.width(),V.height=V.height||this.height();var oe=new a.SceneCanvas({width:V.width,height:V.height,pixelRatio:V.pixelRatio||1}),se=oe.getContext()._context,be=this.children;return(V.x||V.y)&&se.translate(-1*V.x,-1*V.y),be.forEach(function(Be){if(Be.isVisible()){var pe=Be._toKonvaCanvas(V);se.drawImage(pe._canvas,V.x,V.y,pe.getWidth()/pe.getPixelRatio(),pe.getHeight()/pe.getPixelRatio())}}),oe}getIntersection(V){if(!V)return null;var oe=this.children,se=oe.length,be=se-1,Be;for(Be=be;Be>=0;Be--){const pe=oe[Be].getIntersection(V);if(pe)return pe}return null}_resizeDOM(){var V=this.width(),oe=this.height();this.content&&(this.content.style.width=V+f,this.content.style.height=oe+f),this.bufferCanvas.setSize(V,oe),this.bufferHitCanvas.setSize(V,oe),this.children.forEach(se=>{se.setSize({width:V,height:oe}),se.draw()})}add(V,...oe){if(arguments.length>1){for(var se=0;se<arguments.length;se++)this.add(arguments[se]);return this}super.add(V);var be=this.children.length;return be>X&&t.Util.warn("The stage has "+be+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group."),V.setSize({width:this.width(),height:this.height()}),V.draw(),o.Konva.isBrowser&&this.content.appendChild(V.canvas._canvas),this}getParent(){return null}getLayer(){return null}hasPointerCapture(V){return c.hasPointerCapture(V,this)}setPointerCapture(V){c.setPointerCapture(V,this)}releaseCapture(V){c.releaseCapture(V,this)}getLayers(){return this.children}_bindContentEvents(){o.Konva.isBrowser&&W.forEach(([V,oe])=>{this.content.addEventListener(V,se=>{this[oe](se)},{passive:!1})})}_pointerenter(V){this.setPointersPositions(V);const oe=ie(V.type);this._fire(oe.pointerenter,{evt:V,target:this,currentTarget:this})}_pointerover(V){this.setPointersPositions(V);const oe=ie(V.type);this._fire(oe.pointerover,{evt:V,target:this,currentTarget:this})}_getTargetShape(V){let oe=this[V+"targetShape"];return oe&&!oe.getStage()&&(oe=null),oe}_pointerleave(V){const oe=ie(V.type),se=ne(V.type);if(oe){this.setPointersPositions(V);var be=this._getTargetShape(se),Be=!A.DD.isDragging||o.Konva.hitOnDragEnabled;be&&Be?(be._fireAndBubble(oe.pointerout,{evt:V}),be._fireAndBubble(oe.pointerleave,{evt:V}),this._fire(oe.pointerleave,{evt:V,target:this,currentTarget:this}),this[se+"targetShape"]=null):Be&&(this._fire(oe.pointerleave,{evt:V,target:this,currentTarget:this}),this._fire(oe.pointerout,{evt:V,target:this,currentTarget:this})),this.pointerPos=void 0,this._pointerPositions=[]}}_pointerdown(V){const oe=ie(V.type),se=ne(V.type);if(oe){this.setPointersPositions(V);var be=!1;this._changedPointerPositions.forEach(Be=>{var pe=this.getIntersection(Be);if(A.DD.justDragged=!1,o.Konva["_"+se+"ListenClick"]=!0,!(pe&&pe.isListening()))return;o.Konva.capturePointerEventsEnabled&&pe.setPointerCapture(Be.id),this[se+"ClickStartShape"]=pe,pe._fireAndBubble(oe.pointerdown,{evt:V,pointerId:Be.id}),be=!0;const De=V.type.indexOf("touch")>=0;pe.preventDefault()&&V.cancelable&&De&&V.preventDefault()}),be||this._fire(oe.pointerdown,{evt:V,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}}_pointermove(V){const oe=ie(V.type),se=ne(V.type);if(!oe)return;A.DD.isDragging&&A.DD.node.preventDefault()&&V.cancelable&&V.preventDefault(),this.setPointersPositions(V);var be=!A.DD.isDragging||o.Konva.hitOnDragEnabled;if(!be)return;var Be={};let pe=!1;var Ke=this._getTargetShape(se);this._changedPointerPositions.forEach(De=>{const Oe=c.getCapturedShape(De.id)||this.getIntersection(De),lt=De.id,Se={evt:V,pointerId:lt};var Ie=Ke!==Oe;if(Ie&&Ke&&(Ke._fireAndBubble(oe.pointerout,Object.assign({},Se),Oe),Ke._fireAndBubble(oe.pointerleave,Object.assign({},Se),Oe)),Oe){if(Be[Oe._id])return;Be[Oe._id]=!0}Oe&&Oe.isListening()?(pe=!0,Ie&&(Oe._fireAndBubble(oe.pointerover,Object.assign({},Se),Ke),Oe._fireAndBubble(oe.pointerenter,Object.assign({},Se),Ke),this[se+"targetShape"]=Oe),Oe._fireAndBubble(oe.pointermove,Object.assign({},Se))):Ke&&(this._fire(oe.pointerover,{evt:V,target:this,currentTarget:this,pointerId:lt}),this[se+"targetShape"]=null)}),pe||this._fire(oe.pointermove,{evt:V,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(V){const oe=ie(V.type),se=ne(V.type);if(!oe)return;this.setPointersPositions(V);const be=this[se+"ClickStartShape"],Be=this[se+"ClickEndShape"];var pe={};let Ke=!1;this._changedPointerPositions.forEach(De=>{const Oe=c.getCapturedShape(De.id)||this.getIntersection(De);if(Oe){if(Oe.releaseCapture(De.id),pe[Oe._id])return;pe[Oe._id]=!0}const lt=De.id,Se={evt:V,pointerId:lt};let Ie=!1;o.Konva["_"+se+"InDblClickWindow"]?(Ie=!0,clearTimeout(this[se+"DblTimeout"])):A.DD.justDragged||(o.Konva["_"+se+"InDblClickWindow"]=!0,clearTimeout(this[se+"DblTimeout"])),this[se+"DblTimeout"]=setTimeout(function(){o.Konva["_"+se+"InDblClickWindow"]=!1},o.Konva.dblClickWindow),Oe&&Oe.isListening()?(Ke=!0,this[se+"ClickEndShape"]=Oe,Oe._fireAndBubble(oe.pointerup,Object.assign({},Se)),o.Konva["_"+se+"ListenClick"]&&be&&be===Oe&&(Oe._fireAndBubble(oe.pointerclick,Object.assign({},Se)),Ie&&Be&&Be===Oe&&Oe._fireAndBubble(oe.pointerdblclick,Object.assign({},Se)))):(this[se+"ClickEndShape"]=null,o.Konva["_"+se+"ListenClick"]&&this._fire(oe.pointerclick,{evt:V,target:this,currentTarget:this,pointerId:lt}),Ie&&this._fire(oe.pointerdblclick,{evt:V,target:this,currentTarget:this,pointerId:lt}))}),Ke||this._fire(oe.pointerup,{evt:V,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),o.Konva["_"+se+"ListenClick"]=!1,V.cancelable&&se!=="touch"&&V.preventDefault()}_contextmenu(V){this.setPointersPositions(V);var oe=this.getIntersection(this.getPointerPosition());oe&&oe.isListening()?oe._fireAndBubble(D,{evt:V}):this._fire(D,{evt:V,target:this,currentTarget:this})}_wheel(V){this.setPointersPositions(V);var oe=this.getIntersection(this.getPointerPosition());oe&&oe.isListening()?oe._fireAndBubble(J,{evt:V}):this._fire(J,{evt:V,target:this,currentTarget:this})}_pointercancel(V){this.setPointersPositions(V);const oe=c.getCapturedShape(V.pointerId)||this.getIntersection(this.getPointerPosition());oe&&oe._fireAndBubble(k,c.createEvent(V)),c.releaseCapture(V.pointerId)}_lostpointercapture(V){c.releaseCapture(V.pointerId)}setPointersPositions(V){var oe=this._getContentPosition(),se=null,be=null;V=V||window.event,V.touches!==void 0?(this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(V.touches,Be=>{this._pointerPositions.push({id:Be.identifier,x:(Be.clientX-oe.left)/oe.scaleX,y:(Be.clientY-oe.top)/oe.scaleY})}),Array.prototype.forEach.call(V.changedTouches||V.touches,Be=>{this._changedPointerPositions.push({id:Be.identifier,x:(Be.clientX-oe.left)/oe.scaleX,y:(Be.clientY-oe.top)/oe.scaleY})})):(se=(V.clientX-oe.left)/oe.scaleX,be=(V.clientY-oe.top)/oe.scaleY,this.pointerPos={x:se,y:be},this._pointerPositions=[{x:se,y:be,id:t.Util._getFirstPointerId(V)}],this._changedPointerPositions=[{x:se,y:be,id:t.Util._getFirstPointerId(V)}])}_setPointerPosition(V){t.Util.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(V)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};var V=this.content.getBoundingClientRect();return{top:V.top,left:V.left,scaleX:V.width/this.content.clientWidth||1,scaleY:V.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new a.SceneCanvas({width:this.width(),height:this.height()}),this.bufferHitCanvas=new a.HitCanvas({pixelRatio:1,width:this.width(),height:this.height()}),!!o.Konva.isBrowser){var V=this.container();if(!V)throw"Stage has no container. A container is required.";V.innerHTML="",this.content=document.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),V.appendChild(this.content),this._resizeDOM()}}cache(){return t.Util.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(V){V.batchDraw()}),this}}e.Stage=me,me.prototype.nodeType=u,(0,l._registerNode)(me),n.Factory.addGetterSetter(me,"container")}(EN);var Ff={},jn={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Shape=e.shapes=void 0;const t=Ct,n=gn,r=_t,o=sn,a=Xe,A=Ct,l=fi;var c="hasShadow",u="shadowRGBA",d="patternImage",f="linearGradient",h="radialGradient";let p;function g(){return p||(p=n.Util.createCanvasElement().getContext("2d"),p)}e.shapes={};function m(z){const O=this.attrs.fillRule;O?z.fill(O):z.fill()}function y(z){z.stroke()}function w(z){z.fill()}function x(z){z.stroke()}function B(){this._clearCache(c)}function E(){this._clearCache(u)}function k(){this._clearCache(d)}function U(){this._clearCache(f)}function T(){this._clearCache(h)}class Q extends o.Node{constructor(O){super(O);let R;for(;R=n.Util.getRandomColor(),!(R&&!(R in e.shapes)););this.colorKey=R,e.shapes[R]=this}getContext(){return n.Util.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return n.Util.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(c,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(d,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){var O=g();const R=O.createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(R&&R.setTransform){const D=new n.Transform;D.translate(this.fillPatternX(),this.fillPatternY()),D.rotate(t.Konva.getAngle(this.fillPatternRotation())),D.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),D.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());const M=D.getMatrix(),L=typeof DOMMatrix=="undefined"?{a:M[0],b:M[1],c:M[2],d:M[3],e:M[4],f:M[5]}:new DOMMatrix(M);R.setTransform(L)}return R}}_getLinearGradient(){return this._getCache(f,this.__getLinearGradient)}__getLinearGradient(){var O=this.fillLinearGradientColorStops();if(O){for(var R=g(),D=this.fillLinearGradientStartPoint(),M=this.fillLinearGradientEndPoint(),L=R.createLinearGradient(D.x,D.y,M.x,M.y),q=0;q<O.length;q+=2)L.addColorStop(O[q],O[q+1]);return L}}_getRadialGradient(){return this._getCache(h,this.__getRadialGradient)}__getRadialGradient(){var O=this.fillRadialGradientColorStops();if(O){for(var R=g(),D=this.fillRadialGradientStartPoint(),M=this.fillRadialGradientEndPoint(),L=R.createRadialGradient(D.x,D.y,this.fillRadialGradientStartRadius(),M.x,M.y,this.fillRadialGradientEndRadius()),q=0;q<O.length;q+=2)L.addColorStop(O[q],O[q+1]);return L}}getShadowRGBA(){return this._getCache(u,this._getShadowRGBA)}_getShadowRGBA(){if(this.hasShadow()){var O=n.Util.colorToRGBA(this.shadowColor());if(O)return"rgba("+O.r+","+O.g+","+O.b+","+O.a*(this.shadowOpacity()||1)+")"}}hasFill(){return this._calculate("hasFill",["fillEnabled","fill","fillPatternImage","fillLinearGradientColorStops","fillRadialGradientColorStops"],()=>this.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){const O=this.hitStrokeWidth();return O==="auto"?this.hasStroke():this.strokeEnabled()&&!!O}intersects(O){var R=this.getStage(),D=R.bufferHitCanvas,M;return D.getContext().clear(),this.drawHit(D,null,!0),M=D.context.getImageData(Math.round(O.x),Math.round(O.y),1,1).data,M[3]>0}destroy(){return o.Node.prototype.destroy.call(this),delete e.shapes[this.colorKey],delete this.colorKey,this}_useBufferCanvas(O){var R;if(!this.getStage()||!((R=this.attrs.perfectDrawEnabled)!==null&&R!==void 0?R:!0))return!1;const M=O||this.hasFill(),L=this.hasStroke(),q=this.getAbsoluteOpacity()!==1;if(M&&L&&q)return!0;const G=this.hasShadow(),J=this.shadowForStrokeEnabled();return!!(M&&L&&G&&J)}setStrokeHitEnabled(O){n.Util.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),O?this.hitStrokeWidth("auto"):this.hitStrokeWidth(0)}getStrokeHitEnabled(){return this.hitStrokeWidth()!==0}getSelfRect(){var O=this.size();return{x:this._centroid?-O.width/2:0,y:this._centroid?-O.height/2:0,width:O.width,height:O.height}}getClientRect(O={}){const R=O.skipTransform,D=O.relativeTo,M=this.getSelfRect(),q=!O.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,G=M.width+q,J=M.height+q,X=!O.skipShadow&&this.hasShadow(),W=X?this.shadowOffsetX():0,K=X?this.shadowOffsetY():0,ne=G+Math.abs(W),ie=J+Math.abs(K),le=X&&this.shadowBlur()||0,ce=ne+le*2,me=ie+le*2,we={width:ce,height:me,x:-(q/2+le)+Math.min(W,0)+M.x,y:-(q/2+le)+Math.min(K,0)+M.y};return R?we:this._transformedRect(we,D)}drawScene(O,R){var D=this.getLayer(),M=O||D.getCanvas(),L=M.getContext(),q=this._getCanvasCache(),G=this.getSceneFunc(),J=this.hasShadow(),X,W,K,ne=M.isCache,ie=R===this;if(!this.isVisible()&&!ie)return this;if(q){L.save();var le=this.getAbsoluteTransform(R).getMatrix();return L.transform(le[0],le[1],le[2],le[3],le[4],le[5]),this._drawCachedSceneCanvas(L),L.restore(),this}if(!G)return this;if(L.save(),this._useBufferCanvas()&&!ne){X=this.getStage(),W=X.bufferCanvas,K=W.getContext(),K.clear(),K.save(),K._applyLineJoin(this);var ce=this.getAbsoluteTransform(R).getMatrix();K.transform(ce[0],ce[1],ce[2],ce[3],ce[4],ce[5]),G.call(this,K,this),K.restore();var me=W.pixelRatio;J&&L._applyShadow(this),L._applyOpacity(this),L._applyGlobalCompositeOperation(this),L.drawImage(W._canvas,0,0,W.width/me,W.height/me)}else{if(L._applyLineJoin(this),!ie){var ce=this.getAbsoluteTransform(R).getMatrix();L.transform(ce[0],ce[1],ce[2],ce[3],ce[4],ce[5]),L._applyOpacity(this),L._applyGlobalCompositeOperation(this)}J&&L._applyShadow(this),G.call(this,L,this)}return L.restore(),this}drawHit(O,R,D=!1){if(!this.shouldDrawHit(R,D))return this;var M=this.getLayer(),L=O||M.hitCanvas,q=L&&L.getContext(),G=this.hitFunc()||this.sceneFunc(),J=this._getCanvasCache(),X=J&&J.hit;if(this.colorKey||n.Util.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()"),X){q.save();var W=this.getAbsoluteTransform(R).getMatrix();return q.transform(W[0],W[1],W[2],W[3],W[4],W[5]),this._drawCachedHitCanvas(q),q.restore(),this}if(!G)return this;if(q.save(),q._applyLineJoin(this),!(this===R)){var ne=this.getAbsoluteTransform(R).getMatrix();q.transform(ne[0],ne[1],ne[2],ne[3],ne[4],ne[5])}return G.call(this,q,this),q.restore(),this}drawHitFromCache(O=0){var R=this._getCanvasCache(),D=this._getCachedSceneCanvas(),M=R.hit,L=M.getContext(),q=M.getWidth(),G=M.getHeight(),J,X,W,K,ne,ie;L.clear(),L.drawImage(D._canvas,0,0,q,G);try{for(J=L.getImageData(0,0,q,G),X=J.data,W=X.length,K=n.Util._hexToRgb(this.colorKey),ne=0;ne<W;ne+=4)ie=X[ne+3],ie>O?(X[ne]=K.r,X[ne+1]=K.g,X[ne+2]=K.b,X[ne+3]=255):X[ne+3]=0;L.putImageData(J,0,0)}catch(le){n.Util.error("Unable to draw hit graph from cached scene canvas. "+le.message)}return this}hasPointerCapture(O){return l.hasPointerCapture(O,this)}setPointerCapture(O){l.setPointerCapture(O,this)}releaseCapture(O){l.releaseCapture(O,this)}}e.Shape=Q,Q.prototype._fillFunc=m,Q.prototype._strokeFunc=y,Q.prototype._fillFuncHit=w,Q.prototype._strokeFuncHit=x,Q.prototype._centroid=!1,Q.prototype.nodeType="Shape",(0,A._registerNode)(Q),Q.prototype.eventListeners={},Q.prototype.on.call(Q.prototype,"shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",B),Q.prototype.on.call(Q.prototype,"shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",E),Q.prototype.on.call(Q.prototype,"fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",k),Q.prototype.on.call(Q.prototype,"fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",U),Q.prototype.on.call(Q.prototype,"fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",T),r.Factory.addGetterSetter(Q,"stroke",void 0,(0,a.getStringOrGradientValidator)()),r.Factory.addGetterSetter(Q,"strokeWidth",2,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(Q,"fillAfterStrokeEnabled",!1),r.Factory.addGetterSetter(Q,"hitStrokeWidth","auto",(0,a.getNumberOrAutoValidator)()),r.Factory.addGetterSetter(Q,"strokeHitEnabled",!0,(0,a.getBooleanValidator)()),r.Factory.addGetterSetter(Q,"perfectDrawEnabled",!0,(0,a.getBooleanValidator)()),r.Factory.addGetterSetter(Q,"shadowForStrokeEnabled",!0,(0,a.getBooleanValidator)()),r.Factory.addGetterSetter(Q,"lineJoin"),r.Factory.addGetterSetter(Q,"lineCap"),r.Factory.addGetterSetter(Q,"sceneFunc"),r.Factory.addGetterSetter(Q,"hitFunc"),r.Factory.addGetterSetter(Q,"dash"),r.Factory.addGetterSetter(Q,"dashOffset",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(Q,"shadowColor",void 0,(0,a.getStringValidator)()),r.Factory.addGetterSetter(Q,"shadowBlur",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(Q,"shadowOpacity",1,(0,a.getNumberValidator)()),r.Factory.addComponentsGetterSetter(Q,"shadowOffset",["x","y"]),r.Factory.addGetterSetter(Q,"shadowOffsetX",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(Q,"shadowOffsetY",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(Q,"fillPatternImage"),r.Factory.addGetterSetter(Q,"fill",void 0,(0,a.getStringOrGradientValidator)()),r.Factory.addGetterSetter(Q,"fillPatternX",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(Q,"fillPatternY",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(Q,"fillLinearGradientColorStops"),r.Factory.addGetterSetter(Q,"strokeLinearGradientColorStops"),r.Factory.addGetterSetter(Q,"fillRadialGradientStartRadius",0),r.Factory.addGetterSetter(Q,"fillRadialGradientEndRadius",0),r.Factory.addGetterSetter(Q,"fillRadialGradientColorStops"),r.Factory.addGetterSetter(Q,"fillPatternRepeat","repeat"),r.Factory.addGetterSetter(Q,"fillEnabled",!0),r.Factory.addGetterSetter(Q,"strokeEnabled",!0),r.Factory.addGetterSetter(Q,"shadowEnabled",!0),r.Factory.addGetterSetter(Q,"dashEnabled",!0),r.Factory.addGetterSetter(Q,"strokeScaleEnabled",!0),r.Factory.addGetterSetter(Q,"fillPriority","color"),r.Factory.addComponentsGetterSetter(Q,"fillPatternOffset",["x","y"]),r.Factory.addGetterSetter(Q,"fillPatternOffsetX",0,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(Q,"fillPatternOffsetY",0,(0,a.getNumberValidator)()),r.Factory.addComponentsGetterSetter(Q,"fillPatternScale",["x","y"]),r.Factory.addGetterSetter(Q,"fillPatternScaleX",1,(0,a.getNumberValidator)()),r.Factory.addGetterSetter(Q,"fillPatternScaleY",1,(0,a.getNumberValidator)()),r.Factory.addComponentsGetterSetter(Q,"fillLinearGradientStartPoint",["x","y"]),r.Factory.addComponentsGetterSetter(Q,"strokeLinearGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(Q,"fillLinearGradientStartPointX",0),r.Factory.addGetterSetter(Q,"strokeLinearGradientStartPointX",0),r.Factory.addGetterSetter(Q,"fillLinearGradientStartPointY",0),r.Factory.addGetterSetter(Q,"strokeLinearGradientStartPointY",0),r.Factory.addComponentsGetterSetter(Q,"fillLinearGradientEndPoint",["x","y"]),r.Factory.addComponentsGetterSetter(Q,"strokeLinearGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(Q,"fillLinearGradientEndPointX",0),r.Factory.addGetterSetter(Q,"strokeLinearGradientEndPointX",0),r.Factory.addGetterSetter(Q,"fillLinearGradientEndPointY",0),r.Factory.addGetterSetter(Q,"strokeLinearGradientEndPointY",0),r.Factory.addComponentsGetterSetter(Q,"fillRadialGradientStartPoint",["x","y"]),r.Factory.addGetterSetter(Q,"fillRadialGradientStartPointX",0),r.Factory.addGetterSetter(Q,"fillRadialGradientStartPointY",0),r.Factory.addComponentsGetterSetter(Q,"fillRadialGradientEndPoint",["x","y"]),r.Factory.addGetterSetter(Q,"fillRadialGradientEndPointX",0),r.Factory.addGetterSetter(Q,"fillRadialGradientEndPointY",0),r.Factory.addGetterSetter(Q,"fillPatternRotation",0),r.Factory.addGetterSetter(Q,"fillRule",void 0,(0,a.getStringValidator)()),r.Factory.backCompat(Q,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"})})(jn),Object.defineProperty(Ff,"__esModule",{value:!0}),Ff.Layer=void 0;const Ua=gn,Ib=DA,kc=sn,Qb=_t,FN=oo,Nme=Xe,Tme=jn,Ime=Ct;var Qme="#",Mme="beforeDraw",Lme="draw",kN=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],Ome=kN.length;class Uc extends Ib.Container{constructor(t){super(t),this.canvas=new FN.SceneCanvas,this.hitCanvas=new FN.HitCanvas({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(t){return this.getContext().clear(t),this.getHitCanvas().getContext().clear(t),this}setZIndex(t){super.setZIndex(t);var n=this.getStage();return n&&n.content&&(n.content.removeChild(this.getNativeCanvasElement()),t<n.children.length-1?n.content.insertBefore(this.getNativeCanvasElement(),n.children[t+1].getCanvas()._canvas):n.content.appendChild(this.getNativeCanvasElement())),this}moveToTop(){kc.Node.prototype.moveToTop.call(this);var t=this.getStage();return t&&t.content&&(t.content.removeChild(this.getNativeCanvasElement()),t.content.appendChild(this.getNativeCanvasElement())),!0}moveUp(){var t=kc.Node.prototype.moveUp.call(this);if(!t)return!1;var n=this.getStage();return!n||!n.content?!1:(n.content.removeChild(this.getNativeCanvasElement()),this.index<n.children.length-1?n.content.insertBefore(this.getNativeCanvasElement(),n.children[this.index+1].getCanvas()._canvas):n.content.appendChild(this.getNativeCanvasElement()),!0)}moveDown(){if(kc.Node.prototype.moveDown.call(this)){var t=this.getStage();if(t){var n=t.children;t.content&&(t.content.removeChild(this.getNativeCanvasElement()),t.content.insertBefore(this.getNativeCanvasElement(),n[this.index+1].getCanvas()._canvas))}return!0}return!1}moveToBottom(){if(kc.Node.prototype.moveToBottom.call(this)){var t=this.getStage();if(t){var n=t.children;t.content&&(t.content.removeChild(this.getNativeCanvasElement()),t.content.insertBefore(this.getNativeCanvasElement(),n[1].getCanvas()._canvas))}return!0}return!1}getLayer(){return this}remove(){var t=this.getNativeCanvasElement();return kc.Node.prototype.remove.call(this),t&&t.parentNode&&Ua.Util._isInDocument(t)&&t.parentNode.removeChild(t),this}getStage(){return this.parent}setSize({width:t,height:n}){return this.canvas.setSize(t,n),this.hitCanvas.setSize(t,n),this._setSmoothEnabled(),this}_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&Ua.Util.throw("You may only add groups and shapes to a layer.")}_toKonvaCanvas(t){return t=t||{},t.width=t.width||this.getWidth(),t.height=t.height||this.getHeight(),t.x=t.x!==void 0?t.x:this.x(),t.y=t.y!==void 0?t.y:this.y(),kc.Node.prototype._toKonvaCanvas.call(this,t)}_checkVisibility(){this.visible()?this.canvas._canvas.style.display="block":this.canvas._canvas.style.display="none"}_setSmoothEnabled(){this.getContext()._context.imageSmoothingEnabled=this.imageSmoothingEnabled()}getWidth(){if(this.parent)return this.parent.width()}setWidth(){Ua.Util.warn('Can not change width of layer. Use "stage.width(value)" function instead.')}getHeight(){if(this.parent)return this.parent.height()}setHeight(){Ua.Util.warn('Can not change height of layer. Use "stage.height(value)" function instead.')}batchDraw(){return this._waitingForDraw||(this._waitingForDraw=!0,Ua.Util.requestAnimFrame(()=>{this.draw(),this._waitingForDraw=!1})),this}getIntersection(t){if(!this.isListening()||!this.isVisible())return null;for(var n=1,r=!1;;){for(let o=0;o<Ome;o++){const a=kN[o],A=this._getIntersection({x:t.x+a.x*n,y:t.y+a.y*n}),l=A.shape;if(l)return l;if(r=!!A.antialiased,!A.antialiased)break}if(r)n+=1;else return null}}_getIntersection(t){const n=this.hitCanvas.pixelRatio,r=this.hitCanvas.context.getImageData(Math.round(t.x*n),Math.round(t.y*n),1,1).data,o=r[3];if(o===255){const a=Ua.Util._rgbToHex(r[0],r[1],r[2]),A=Tme.shapes[Qme+a];return A?{shape:A}:{antialiased:!0}}else if(o>0)return{antialiased:!0};return{}}drawScene(t,n){var r=this.getLayer(),o=t||r&&r.getCanvas();return this._fire(Mme,{node:this}),this.clearBeforeDraw()&&o.getContext().clear(),Ib.Container.prototype.drawScene.call(this,o,n),this._fire(Lme,{node:this}),this}drawHit(t,n){var r=this.getLayer(),o=t||r&&r.hitCanvas;return r&&r.clearBeforeDraw()&&r.getHitCanvas().getContext().clear(),Ib.Container.prototype.drawHit.call(this,o,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(t){Ua.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(t)}getHitGraphEnabled(t){return Ua.Util.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!(!this.parent||!this.parent.content)){var t=this.parent,n=!!this.hitCanvas._canvas.parentNode;n?t.content.removeChild(this.hitCanvas._canvas):t.content.appendChild(this.hitCanvas._canvas)}}destroy(){return Ua.Util.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}Ff.Layer=Uc,Uc.prototype.nodeType="Layer",(0,Ime._registerNode)(Uc),Qb.Factory.addGetterSetter(Uc,"imageSmoothingEnabled",!0),Qb.Factory.addGetterSetter(Uc,"clearBeforeDraw",!0),Qb.Factory.addGetterSetter(Uc,"hitGraphEnabled",!0,(0,Nme.getBooleanValidator)());var N1={};Object.defineProperty(N1,"__esModule",{value:!0}),N1.FastLayer=void 0;const Dme=gn,Pme=Ff,Rme=Ct;class Mb extends Pme.Layer{constructor(t){super(t),this.listening(!1),Dme.Util.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}N1.FastLayer=Mb,Mb.prototype.nodeType="FastLayer",(0,Rme._registerNode)(Mb);var Nc={};Object.defineProperty(Nc,"__esModule",{value:!0}),Nc.Group=void 0;const Hme=gn,$me=DA,Kme=Ct;class Lb extends $me.Container{_validateAdd(t){var n=t.getType();n!=="Group"&&n!=="Shape"&&Hme.Util.throw("You may only add groups and shapes to groups.")}}Nc.Group=Lb,Lb.prototype.nodeType="Group",(0,Kme._registerNode)(Lb);var Tc={};Object.defineProperty(Tc,"__esModule",{value:!0}),Tc.Animation=void 0;const Ob=Ct,UN=gn;var Db=function(){return Ob.glob.performance&&Ob.glob.performance.now?function(){return Ob.glob.performance.now()}:function(){return new Date().getTime()}}();class Oo{constructor(t,n){this.id=Oo.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:Db(),frameRate:0},this.func=t,this.setLayers(n)}setLayers(t){var n=[];return t?t.length>0?n=t:n=[t]:n=[],this.layers=n,this}getLayers(){return this.layers}addLayer(t){var n=this.layers,r=n.length,o;for(o=0;o<r;o++)if(n[o]._id===t._id)return!1;return this.layers.push(t),!0}isRunning(){var t=Oo,n=t.animations,r=n.length,o;for(o=0;o<r;o++)if(n[o].id===this.id)return!0;return!1}start(){return this.stop(),this.frame.timeDiff=0,this.frame.lastTime=Db(),Oo._addAnimation(this),this}stop(){return Oo._removeAnimation(this),this}_updateFrameObject(t){this.frame.timeDiff=t-this.frame.lastTime,this.frame.lastTime=t,this.frame.time+=this.frame.timeDiff,this.frame.frameRate=1e3/this.frame.timeDiff}static _addAnimation(t){this.animations.push(t),this._handleAnimation()}static _removeAnimation(t){var n=t.id,r=this.animations,o=r.length,a;for(a=0;a<o;a++)if(r[a].id===n){this.animations.splice(a,1);break}}static _runFrames(){var t={},n=this.animations,r,o,a,A,l,c,u,d,f;for(A=0;A<n.length;A++)if(r=n[A],o=r.layers,a=r.func,r._updateFrameObject(Db()),c=o.length,a?f=a.call(r,r.frame)!==!1:f=!0,!!f)for(l=0;l<c;l++)u=o[l],u._id!==void 0&&(t[u._id]=u);for(d in t)t.hasOwnProperty(d)&&t[d].batchDraw()}static _animationLoop(){var t=Oo;t.animations.length?(t._runFrames(),UN.Util.requestAnimFrame(t._animationLoop)):t.animRunning=!1}static _handleAnimation(){this.animRunning||(this.animRunning=!0,UN.Util.requestAnimFrame(this._animationLoop))}}Tc.Animation=Oo,Oo.animations=[],Oo.animIdCounter=0,Oo.animRunning=!1;var NN={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Easings=e.Tween=void 0;const t=gn,n=Tc,r=sn,o=Ct;var a={node:1,duration:1,easing:1,onFinish:1,yoyo:1},A=1,l=2,c=3,u=0,d=["fill","stroke","shadowColor"];class f{constructor(g,m,y,w,x,B,E){this.prop=g,this.propFunc=m,this.begin=w,this._pos=w,this.duration=B,this._change=0,this.prevPos=0,this.yoyo=E,this._time=0,this._position=0,this._startTime=0,this._finish=0,this.func=y,this._change=x-this.begin,this.pause()}fire(g){var m=this[g];m&&m()}setTime(g){g>this.duration?this.yoyo?(this._time=this.duration,this.reverse()):this.finish():g<0?this.yoyo?(this._time=0,this.play()):this.reset():(this._time=g,this.update())}getTime(){return this._time}setPosition(g){this.prevPos=this._pos,this.propFunc(g),this._pos=g}getPosition(g){return g===void 0&&(g=this._time),this.func(g,this.begin,this._change,this.duration)}play(){this.state=l,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=c,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(g){this.pause(),this._time=g,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){var g=this.getTimer()-this._startTime;this.state===l?this.setTime(g):this.state===c&&this.setTime(this.duration-g)}pause(){this.state=A,this.fire("onPause")}getTimer(){return new Date().getTime()}}class h{constructor(g){var m=this,y=g.node,w=y._id,x,B=g.easing||e.Easings.Linear,E=!!g.yoyo,k;typeof g.duration=="undefined"?x=.3:g.duration===0?x=.001:x=g.duration,this.node=y,this._id=u++;var U=y.getLayer()||(y instanceof o.Konva.Stage?y.getLayers():null);U||t.Util.error("Tween constructor have `node` that is not in a layer. Please add node into layer first."),this.anim=new n.Animation(function(){m.tween.onEnterFrame()},U),this.tween=new f(k,function(T){m._tweenFunc(T)},B,0,1,x*1e3,E),this._addListeners(),h.attrs[w]||(h.attrs[w]={}),h.attrs[w][this._id]||(h.attrs[w][this._id]={}),h.tweens[w]||(h.tweens[w]={});for(k in g)a[k]===void 0&&this._addAttr(k,g[k]);this.reset(),this.onFinish=g.onFinish,this.onReset=g.onReset,this.onUpdate=g.onUpdate}_addAttr(g,m){var y=this.node,w=y._id,x,B,E,k,U,T,Q,z;if(E=h.tweens[w][g],E&&delete h.attrs[w][E][g],x=y.getAttr(g),t.Util._isArray(m))if(B=[],U=Math.max(m.length,x.length),g==="points"&&m.length!==x.length&&(m.length>x.length?(Q=x,x=t.Util._prepareArrayForTween(x,m,y.closed())):(T=m,m=t.Util._prepareArrayForTween(m,x,y.closed()))),g.indexOf("fill")===0)for(k=0;k<U;k++)if(k%2===0)B.push(m[k]-x[k]);else{var O=t.Util.colorToRGBA(x[k]);z=t.Util.colorToRGBA(m[k]),x[k]=O,B.push({r:z.r-O.r,g:z.g-O.g,b:z.b-O.b,a:z.a-O.a})}else for(k=0;k<U;k++)B.push(m[k]-x[k]);else d.indexOf(g)!==-1?(x=t.Util.colorToRGBA(x),z=t.Util.colorToRGBA(m),B={r:z.r-x.r,g:z.g-x.g,b:z.b-x.b,a:z.a-x.a}):B=m-x;h.attrs[w][this._id][g]={start:x,diff:B,end:m,trueEnd:T,trueStart:Q},h.tweens[w][g]=this._id}_tweenFunc(g){var m=this.node,y=h.attrs[m._id][this._id],w,x,B,E,k,U,T,Q;for(w in y){if(x=y[w],B=x.start,E=x.diff,Q=x.end,t.Util._isArray(B))if(k=[],T=Math.max(B.length,Q.length),w.indexOf("fill")===0)for(U=0;U<T;U++)U%2===0?k.push((B[U]||0)+E[U]*g):k.push("rgba("+Math.round(B[U].r+E[U].r*g)+","+Math.round(B[U].g+E[U].g*g)+","+Math.round(B[U].b+E[U].b*g)+","+(B[U].a+E[U].a*g)+")");else for(U=0;U<T;U++)k.push((B[U]||0)+E[U]*g);else d.indexOf(w)!==-1?k="rgba("+Math.round(B.r+E.r*g)+","+Math.round(B.g+E.g*g)+","+Math.round(B.b+E.b*g)+","+(B.a+E.a*g)+")":k=B+E*g;m.setAttr(w,k)}}_addListeners(){this.tween.onPlay=()=>{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{var g=this.node,m=h.attrs[g._id][this._id];m.points&&m.points.trueEnd&&g.setAttr("points",m.points.trueEnd),this.onFinish&&this.onFinish.call(this)},this.tween.onReset=()=>{var g=this.node,m=h.attrs[g._id][this._id];m.points&&m.points.trueStart&&g.points(m.points.trueStart),this.onReset&&this.onReset()},this.tween.onUpdate=()=>{this.onUpdate&&this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(g){return this.tween.seek(g*1e3),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){var g=this.node._id,m=this._id,y=h.tweens[g],w;this.pause();for(w in y)delete h.tweens[g][w];delete h.attrs[g][m]}}e.Tween=h,h.attrs={},h.tweens={},r.Node.prototype.to=function(p){var g=p.onFinish;p.node=this,p.onFinish=function(){this.destroy(),g&&g()};var m=new h(p);m.play()},e.Easings={BackEaseIn(p,g,m,y){var w=1.70158;return m*(p/=y)*p*((w+1)*p-w)+g},BackEaseOut(p,g,m,y){var w=1.70158;return m*((p=p/y-1)*p*((w+1)*p+w)+1)+g},BackEaseInOut(p,g,m,y){var w=1.70158;return(p/=y/2)<1?m/2*(p*p*(((w*=1.525)+1)*p-w))+g:m/2*((p-=2)*p*(((w*=1.525)+1)*p+w)+2)+g},ElasticEaseIn(p,g,m,y,w,x){var B=0;return p===0?g:(p/=y)===1?g+m:(x||(x=y*.3),!w||w<Math.abs(m)?(w=m,B=x/4):B=x/(2*Math.PI)*Math.asin(m/w),-(w*Math.pow(2,10*(p-=1))*Math.sin((p*y-B)*(2*Math.PI)/x))+g)},ElasticEaseOut(p,g,m,y,w,x){var B=0;return p===0?g:(p/=y)===1?g+m:(x||(x=y*.3),!w||w<Math.abs(m)?(w=m,B=x/4):B=x/(2*Math.PI)*Math.asin(m/w),w*Math.pow(2,-10*p)*Math.sin((p*y-B)*(2*Math.PI)/x)+m+g)},ElasticEaseInOut(p,g,m,y,w,x){var B=0;return p===0?g:(p/=y/2)===2?g+m:(x||(x=y*(.3*1.5)),!w||w<Math.abs(m)?(w=m,B=x/4):B=x/(2*Math.PI)*Math.asin(m/w),p<1?-.5*(w*Math.pow(2,10*(p-=1))*Math.sin((p*y-B)*(2*Math.PI)/x))+g:w*Math.pow(2,-10*(p-=1))*Math.sin((p*y-B)*(2*Math.PI)/x)*.5+m+g)},BounceEaseOut(p,g,m,y){return(p/=y)<1/2.75?m*(7.5625*p*p)+g:p<2/2.75?m*(7.5625*(p-=1.5/2.75)*p+.75)+g:p<2.5/2.75?m*(7.5625*(p-=2.25/2.75)*p+.9375)+g:m*(7.5625*(p-=2.625/2.75)*p+.984375)+g},BounceEaseIn(p,g,m,y){return m-e.Easings.BounceEaseOut(y-p,0,m,y)+g},BounceEaseInOut(p,g,m,y){return p<y/2?e.Easings.BounceEaseIn(p*2,0,m,y)*.5+g:e.Easings.BounceEaseOut(p*2-y,0,m,y)*.5+m*.5+g},EaseIn(p,g,m,y){return m*(p/=y)*p+g},EaseOut(p,g,m,y){return-m*(p/=y)*(p-2)+g},EaseInOut(p,g,m,y){return(p/=y/2)<1?m/2*p*p+g:-m/2*(--p*(p-2)-1)+g},StrongEaseIn(p,g,m,y){return m*(p/=y)*p*p*p*p+g},StrongEaseOut(p,g,m,y){return m*((p=p/y-1)*p*p*p*p+1)+g},StrongEaseInOut(p,g,m,y){return(p/=y/2)<1?m/2*p*p*p*p*p+g:m/2*((p-=2)*p*p*p*p+2)+g},Linear(p,g,m,y){return m*p/y+g}}})(NN),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Konva=void 0;const t=Ct,n=gn,r=sn,o=DA,a=EN,A=Ff,l=N1,c=Nc,u=E1,d=jn,f=Tc,h=NN,p=Fa,g=oo;e.Konva=n.Util._assign(t.Konva,{Util:n.Util,Transform:n.Transform,Node:r.Node,Container:o.Container,Stage:a.Stage,stages:a.stages,Layer:A.Layer,FastLayer:l.FastLayer,Group:c.Group,DD:u.DD,Shape:d.Shape,shapes:d.shapes,Animation:f.Animation,Tween:h.Tween,Easings:h.Easings,Context:p.Context,Canvas:g.Canvas}),e.default=e.Konva}(fN);var T1={};Object.defineProperty(T1,"__esModule",{value:!0}),T1.Arc=void 0;const I1=_t,Gme=jn,TN=Ct,Q1=Xe,zme=Ct;class Na extends Gme.Shape{_sceneFunc(t){var n=TN.Konva.getAngle(this.angle()),r=this.clockwise();t.beginPath(),t.arc(0,0,this.outerRadius(),0,n,r),t.arc(0,0,this.innerRadius(),n,0,!r),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}getSelfRect(){const t=this.innerRadius(),n=this.outerRadius(),r=this.clockwise(),o=TN.Konva.getAngle(r?360-this.angle():this.angle()),a=Math.cos(Math.min(o,Math.PI)),A=1,l=Math.sin(Math.min(Math.max(Math.PI,o),3*Math.PI/2)),c=Math.sin(Math.min(o,Math.PI/2)),u=a*(a>0?t:n),d=A*n,f=l*(l>0?t:n),h=c*(c>0?n:t);return{x:u,y:r?-1*h:f,width:d-u,height:h-f}}}T1.Arc=Na,Na.prototype._centroid=!0,Na.prototype.className="Arc",Na.prototype._attrsAffectingSize=["innerRadius","outerRadius"],(0,zme._registerNode)(Na),I1.Factory.addGetterSetter(Na,"innerRadius",0,(0,Q1.getNumberValidator)()),I1.Factory.addGetterSetter(Na,"outerRadius",0,(0,Q1.getNumberValidator)()),I1.Factory.addGetterSetter(Na,"angle",0,(0,Q1.getNumberValidator)()),I1.Factory.addGetterSetter(Na,"clockwise",!1,(0,Q1.getBooleanValidator)());var M1={},kf={};Object.defineProperty(kf,"__esModule",{value:!0}),kf.Line=void 0;const L1=_t,qme=jn,IN=Xe,jme=Ct;function Pb(e,t,n,r,o,a,A){var l=Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2)),c=Math.sqrt(Math.pow(o-n,2)+Math.pow(a-r,2)),u=A*l/(l+c),d=A*c/(l+c),f=n-u*(o-e),h=r-u*(a-t),p=n+d*(o-e),g=r+d*(a-t);return[f,h,p,g]}function QN(e,t){var n=e.length,r=[],o,a;for(o=2;o<n-2;o+=2)a=Pb(e[o-2],e[o-1],e[o],e[o+1],e[o+2],e[o+3],t),!isNaN(a[0])&&(r.push(a[0]),r.push(a[1]),r.push(e[o]),r.push(e[o+1]),r.push(a[2]),r.push(a[3]));return r}class Es extends qme.Shape{constructor(t){super(t),this.on("pointsChange.konva tensionChange.konva closedChange.konva bezierChange.konva",function(){this._clearCache("tensionPoints")})}_sceneFunc(t){var n=this.points(),r=n.length,o=this.tension(),a=this.closed(),A=this.bezier(),l,c,u;if(r){if(t.beginPath(),t.moveTo(n[0],n[1]),o!==0&&r>4){for(l=this.getTensionPoints(),c=l.length,u=a?0:4,a||t.quadraticCurveTo(l[0],l[1],l[2],l[3]);u<c-2;)t.bezierCurveTo(l[u++],l[u++],l[u++],l[u++],l[u++],l[u++]);a||t.quadraticCurveTo(l[c-2],l[c-1],n[r-2],n[r-1])}else if(A)for(u=2;u<r;)t.bezierCurveTo(n[u++],n[u++],n[u++],n[u++],n[u++],n[u++]);else for(u=2;u<r;u+=2)t.lineTo(n[u],n[u+1]);a?(t.closePath(),t.fillStrokeShape(this)):t.strokeShape(this)}}getTensionPoints(){return this._getCache("tensionPoints",this._getTensionPoints)}_getTensionPoints(){return this.closed()?this._getTensionPointsClosed():QN(this.points(),this.tension())}_getTensionPointsClosed(){var t=this.points(),n=t.length,r=this.tension(),o=Pb(t[n-2],t[n-1],t[0],t[1],t[2],t[3],r),a=Pb(t[n-4],t[n-3],t[n-2],t[n-1],t[0],t[1],r),A=QN(t,r),l=[o[2],o[3]].concat(A).concat([a[0],a[1],t[n-2],t[n-1],a[2],a[3],o[0],o[1],t[0],t[1]]);return l}getWidth(){return this.getSelfRect().width}getHeight(){return this.getSelfRect().height}getSelfRect(){var t=this.points();if(t.length<4)return{x:t[0]||0,y:t[1]||0,width:0,height:0};this.tension()!==0?t=[t[0],t[1],...this._getTensionPoints(),t[t.length-2],t[t.length-1]]:t=this.points();for(var n=t[0],r=t[0],o=t[1],a=t[1],A,l,c=0;c<t.length/2;c++)A=t[c*2],l=t[c*2+1],n=Math.min(n,A),r=Math.max(r,A),o=Math.min(o,l),a=Math.max(a,l);return{x:n,y:o,width:r-n,height:a-o}}}kf.Line=Es,Es.prototype.className="Line",Es.prototype._attrsAffectingSize=["points","bezier","tension"],(0,jme._registerNode)(Es),L1.Factory.addGetterSetter(Es,"closed",!1),L1.Factory.addGetterSetter(Es,"bezier",!1),L1.Factory.addGetterSetter(Es,"tension",0,(0,IN.getNumberValidator)()),L1.Factory.addGetterSetter(Es,"points",[],(0,IN.getNumberArrayValidator)());var Ic={},MN={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.t2length=e.getQuadraticArcLength=e.getCubicArcLength=e.binomialCoefficients=e.cValues=e.tValues=void 0,e.tValues=[[],[],[-.5773502691896257,.5773502691896257],[0,-.7745966692414834,.7745966692414834],[-.33998104358485626,.33998104358485626,-.8611363115940526,.8611363115940526],[0,-.5384693101056831,.5384693101056831,-.906179845938664,.906179845938664],[.6612093864662645,-.6612093864662645,-.2386191860831969,.2386191860831969,-.932469514203152,.932469514203152],[0,.4058451513773972,-.4058451513773972,-.7415311855993945,.7415311855993945,-.9491079123427585,.9491079123427585],[-.1834346424956498,.1834346424956498,-.525532409916329,.525532409916329,-.7966664774136267,.7966664774136267,-.9602898564975363,.9602898564975363],[0,-.8360311073266358,.8360311073266358,-.9681602395076261,.9681602395076261,-.3242534234038089,.3242534234038089,-.6133714327005904,.6133714327005904],[-.14887433898163122,.14887433898163122,-.4333953941292472,.4333953941292472,-.6794095682990244,.6794095682990244,-.8650633666889845,.8650633666889845,-.9739065285171717,.9739065285171717],[0,-.26954315595234496,.26954315595234496,-.5190961292068118,.5190961292068118,-.7301520055740494,.7301520055740494,-.8870625997680953,.8870625997680953,-.978228658146057,.978228658146057],[-.1252334085114689,.1252334085114689,-.3678314989981802,.3678314989981802,-.5873179542866175,.5873179542866175,-.7699026741943047,.7699026741943047,-.9041172563704749,.9041172563704749,-.9815606342467192,.9815606342467192],[0,-.2304583159551348,.2304583159551348,-.44849275103644687,.44849275103644687,-.6423493394403402,.6423493394403402,-.8015780907333099,.8015780907333099,-.9175983992229779,.9175983992229779,-.9841830547185881,.9841830547185881],[-.10805494870734367,.10805494870734367,-.31911236892788974,.31911236892788974,-.5152486363581541,.5152486363581541,-.6872929048116855,.6872929048116855,-.827201315069765,.827201315069765,-.9284348836635735,.9284348836635735,-.9862838086968123,.9862838086968123],[0,-.20119409399743451,.20119409399743451,-.3941513470775634,.3941513470775634,-.5709721726085388,.5709721726085388,-.7244177313601701,.7244177313601701,-.8482065834104272,.8482065834104272,-.937273392400706,.937273392400706,-.9879925180204854,.9879925180204854],[-.09501250983763744,.09501250983763744,-.2816035507792589,.2816035507792589,-.45801677765722737,.45801677765722737,-.6178762444026438,.6178762444026438,-.755404408355003,.755404408355003,-.8656312023878318,.8656312023878318,-.9445750230732326,.9445750230732326,-.9894009349916499,.9894009349916499],[0,-.17848418149584785,.17848418149584785,-.3512317634538763,.3512317634538763,-.5126905370864769,.5126905370864769,-.6576711592166907,.6576711592166907,-.7815140038968014,.7815140038968014,-.8802391537269859,.8802391537269859,-.9506755217687678,.9506755217687678,-.9905754753144174,.9905754753144174],[-.0847750130417353,.0847750130417353,-.2518862256915055,.2518862256915055,-.41175116146284263,.41175116146284263,-.5597708310739475,.5597708310739475,-.6916870430603532,.6916870430603532,-.8037049589725231,.8037049589725231,-.8926024664975557,.8926024664975557,-.9558239495713977,.9558239495713977,-.9915651684209309,.9915651684209309],[0,-.16035864564022537,.16035864564022537,-.31656409996362983,.31656409996362983,-.46457074137596094,.46457074137596094,-.600545304661681,.600545304661681,-.7209661773352294,.7209661773352294,-.8227146565371428,.8227146565371428,-.9031559036148179,.9031559036148179,-.96020815213483,.96020815213483,-.9924068438435844,.9924068438435844],[-.07652652113349734,.07652652113349734,-.22778585114164507,.22778585114164507,-.37370608871541955,.37370608871541955,-.5108670019508271,.5108670019508271,-.636053680726515,.636053680726515,-.7463319064601508,.7463319064601508,-.8391169718222188,.8391169718222188,-.912234428251326,.912234428251326,-.9639719272779138,.9639719272779138,-.9931285991850949,.9931285991850949],[0,-.1455618541608951,.1455618541608951,-.2880213168024011,.2880213168024011,-.4243421202074388,.4243421202074388,-.5516188358872198,.5516188358872198,-.6671388041974123,.6671388041974123,-.7684399634756779,.7684399634756779,-.8533633645833173,.8533633645833173,-.9200993341504008,.9200993341504008,-.9672268385663063,.9672268385663063,-.9937521706203895,.9937521706203895],[-.06973927331972223,.06973927331972223,-.20786042668822127,.20786042668822127,-.34193582089208424,.34193582089208424,-.469355837986757,.469355837986757,-.5876404035069116,.5876404035069116,-.6944872631866827,.6944872631866827,-.7878168059792081,.7878168059792081,-.8658125777203002,.8658125777203002,-.926956772187174,.926956772187174,-.9700604978354287,.9700604978354287,-.9942945854823992,.9942945854823992],[0,-.1332568242984661,.1332568242984661,-.26413568097034495,.26413568097034495,-.3903010380302908,.3903010380302908,-.5095014778460075,.5095014778460075,-.6196098757636461,.6196098757636461,-.7186613631319502,.7186613631319502,-.8048884016188399,.8048884016188399,-.8767523582704416,.8767523582704416,-.9329710868260161,.9329710868260161,-.9725424712181152,.9725424712181152,-.9947693349975522,.9947693349975522],[-.06405689286260563,.06405689286260563,-.1911188674736163,.1911188674736163,-.3150426796961634,.3150426796961634,-.4337935076260451,.4337935076260451,-.5454214713888396,.5454214713888396,-.6480936519369755,.6480936519369755,-.7401241915785544,.7401241915785544,-.820001985973903,.820001985973903,-.8864155270044011,.8864155270044011,-.9382745520027328,.9382745520027328,-.9747285559713095,.9747285559713095,-.9951872199970213,.9951872199970213]],e.cValues=[[],[],[1,1],[.8888888888888888,.5555555555555556,.5555555555555556],[.6521451548625461,.6521451548625461,.34785484513745385,.34785484513745385],[.5688888888888889,.47862867049936647,.47862867049936647,.23692688505618908,.23692688505618908],[.3607615730481386,.3607615730481386,.46791393457269104,.46791393457269104,.17132449237917036,.17132449237917036],[.4179591836734694,.3818300505051189,.3818300505051189,.27970539148927664,.27970539148927664,.1294849661688697,.1294849661688697],[.362683783378362,.362683783378362,.31370664587788727,.31370664587788727,.22238103445337448,.22238103445337448,.10122853629037626,.10122853629037626],[.3302393550012598,.1806481606948574,.1806481606948574,.08127438836157441,.08127438836157441,.31234707704000286,.31234707704000286,.26061069640293544,.26061069640293544],[.29552422471475287,.29552422471475287,.26926671930999635,.26926671930999635,.21908636251598204,.21908636251598204,.1494513491505806,.1494513491505806,.06667134430868814,.06667134430868814],[.2729250867779006,.26280454451024665,.26280454451024665,.23319376459199048,.23319376459199048,.18629021092773426,.18629021092773426,.1255803694649046,.1255803694649046,.05566856711617366,.05566856711617366],[.24914704581340277,.24914704581340277,.2334925365383548,.2334925365383548,.20316742672306592,.20316742672306592,.16007832854334622,.16007832854334622,.10693932599531843,.10693932599531843,.04717533638651183,.04717533638651183],[.2325515532308739,.22628318026289723,.22628318026289723,.2078160475368885,.2078160475368885,.17814598076194574,.17814598076194574,.13887351021978725,.13887351021978725,.09212149983772845,.09212149983772845,.04048400476531588,.04048400476531588],[.2152638534631578,.2152638534631578,.2051984637212956,.2051984637212956,.18553839747793782,.18553839747793782,.15720316715819355,.15720316715819355,.12151857068790319,.12151857068790319,.08015808715976021,.08015808715976021,.03511946033175186,.03511946033175186],[.2025782419255613,.19843148532711158,.19843148532711158,.1861610000155622,.1861610000155622,.16626920581699392,.16626920581699392,.13957067792615432,.13957067792615432,.10715922046717194,.10715922046717194,.07036604748810812,.07036604748810812,.03075324199611727,.03075324199611727],[.1894506104550685,.1894506104550685,.18260341504492358,.18260341504492358,.16915651939500254,.16915651939500254,.14959598881657674,.14959598881657674,.12462897125553388,.12462897125553388,.09515851168249279,.09515851168249279,.062253523938647894,.062253523938647894,.027152459411754096,.027152459411754096],[.17944647035620653,.17656270536699264,.17656270536699264,.16800410215645004,.16800410215645004,.15404576107681028,.15404576107681028,.13513636846852548,.13513636846852548,.11188384719340397,.11188384719340397,.08503614831717918,.08503614831717918,.0554595293739872,.0554595293739872,.02414830286854793,.02414830286854793],[.1691423829631436,.1691423829631436,.16427648374583273,.16427648374583273,.15468467512626524,.15468467512626524,.14064291467065065,.14064291467065065,.12255520671147846,.12255520671147846,.10094204410628717,.10094204410628717,.07642573025488905,.07642573025488905,.0497145488949698,.0497145488949698,.02161601352648331,.02161601352648331],[.1610544498487837,.15896884339395434,.15896884339395434,.15276604206585967,.15276604206585967,.1426067021736066,.1426067021736066,.12875396253933621,.12875396253933621,.11156664554733399,.11156664554733399,.09149002162245,.09149002162245,.06904454273764123,.06904454273764123,.0448142267656996,.0448142267656996,.019461788229726478,.019461788229726478],[.15275338713072584,.15275338713072584,.14917298647260374,.14917298647260374,.14209610931838204,.14209610931838204,.13168863844917664,.13168863844917664,.11819453196151841,.11819453196151841,.10193011981724044,.10193011981724044,.08327674157670475,.08327674157670475,.06267204833410907,.06267204833410907,.04060142980038694,.04060142980038694,.017614007139152118,.017614007139152118],[.14608113364969041,.14452440398997005,.14452440398997005,.13988739479107315,.13988739479107315,.13226893863333747,.13226893863333747,.12183141605372853,.12183141605372853,.10879729916714838,.10879729916714838,.09344442345603386,.09344442345603386,.0761001136283793,.0761001136283793,.057134425426857205,.057134425426857205,.036953789770852494,.036953789770852494,.016017228257774335,.016017228257774335],[.13925187285563198,.13925187285563198,.13654149834601517,.13654149834601517,.13117350478706238,.13117350478706238,.12325237681051242,.12325237681051242,.11293229608053922,.11293229608053922,.10041414444288096,.10041414444288096,.08594160621706773,.08594160621706773,.06979646842452049,.06979646842452049,.052293335152683286,.052293335152683286,.03377490158481415,.03377490158481415,.0146279952982722,.0146279952982722],[.13365457218610619,.1324620394046966,.1324620394046966,.12890572218808216,.12890572218808216,.12304908430672953,.12304908430672953,.11499664022241136,.11499664022241136,.10489209146454141,.10489209146454141,.09291576606003515,.09291576606003515,.07928141177671895,.07928141177671895,.06423242140852585,.06423242140852585,.04803767173108467,.04803767173108467,.030988005856979445,.030988005856979445,.013411859487141771,.013411859487141771],[.12793819534675216,.12793819534675216,.1258374563468283,.1258374563468283,.12167047292780339,.12167047292780339,.1155056680537256,.1155056680537256,.10744427011596563,.10744427011596563,.09761865210411388,.09761865210411388,.08619016153195327,.08619016153195327,.0733464814110803,.0733464814110803,.05929858491543678,.05929858491543678,.04427743881741981,.04427743881741981,.028531388628933663,.028531388628933663,.0123412297999872,.0123412297999872]],e.binomialCoefficients=[[1],[1,1],[1,2,1],[1,3,3,1]];const t=(A,l,c)=>{let u,d,f;u=c/2,d=0;for(let p=0;p<20;p++)f=u*e.tValues[20][p]+u,d+=e.cValues[20][p]*r(A,l,f);return u*d};e.getCubicArcLength=t;const n=(A,l,c)=>{c===void 0&&(c=1);const u=A[0]-2*A[1]+A[2],d=l[0]-2*l[1]+l[2],f=2*A[1]-2*A[0],h=2*l[1]-2*l[0],p=4*(u*u+d*d),g=4*(u*f+d*h),m=f*f+h*h;if(p===0)return c*Math.sqrt(Math.pow(A[2]-A[0],2)+Math.pow(l[2]-l[0],2));const y=g/(2*p),w=m/p,x=c+y,B=w-y*y,E=x*x+B>0?Math.sqrt(x*x+B):0,k=y*y+B>0?Math.sqrt(y*y+B):0,U=y+Math.sqrt(y*y+B)!==0?B*Math.log(Math.abs((x+E)/(y+k))):0;return Math.sqrt(p)/2*(x*E-y*k+U)};e.getQuadraticArcLength=n;function r(A,l,c){const u=o(1,c,A),d=o(1,c,l),f=u*u+d*d;return Math.sqrt(f)}const o=(A,l,c)=>{const u=c.length-1;let d,f;if(u===0)return 0;if(A===0){f=0;for(let h=0;h<=u;h++)f+=e.binomialCoefficients[u][h]*Math.pow(1-l,u-h)*Math.pow(l,h)*c[h];return f}else{d=new Array(u);for(let h=0;h<u;h++)d[h]=u*(c[h+1]-c[h]);return o(A-1,l,d)}},a=(A,l,c)=>{let u=1,d=A/l,f=(A-c(d))/l,h=0;for(;u>.001;){const p=c(d+f),g=Math.abs(A-p)/l;if(g<u)u=g,d+=f;else{const m=c(d-f),y=Math.abs(A-m)/l;y<u?(u=y,d-=f):f/=2}if(h++,h>500)break}return d};e.t2length=a})(MN),Object.defineProperty(Ic,"__esModule",{value:!0}),Ic.Path=void 0;const Wme=_t,Yme=jn,Xme=Ct,Qc=MN;class Wn extends Yme.Shape{constructor(t){super(t),this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=Wn.parsePathData(this.data()),this.pathLength=Wn.getPathLength(this.dataArray)}_sceneFunc(t){var n=this.dataArray;t.beginPath();for(var r=!1,o=0;o<n.length;o++){var a=n[o].command,A=n[o].points;switch(a){case"L":t.lineTo(A[0],A[1]);break;case"M":t.moveTo(A[0],A[1]);break;case"C":t.bezierCurveTo(A[0],A[1],A[2],A[3],A[4],A[5]);break;case"Q":t.quadraticCurveTo(A[0],A[1],A[2],A[3]);break;case"A":var l=A[0],c=A[1],u=A[2],d=A[3],f=A[4],h=A[5],p=A[6],g=A[7],m=u>d?u:d,y=u>d?1:u/d,w=u>d?d/u:1;t.translate(l,c),t.rotate(p),t.scale(y,w),t.arc(0,0,m,f,f+h,1-g),t.scale(1/y,1/w),t.rotate(-p),t.translate(-l,-c);break;case"z":r=!0,t.closePath();break}}!r&&!this.hasFill()?t.strokeShape(this):t.fillStrokeShape(this)}getSelfRect(){var t=[];this.dataArray.forEach(function(u){if(u.command==="A"){var d=u.points[4],f=u.points[5],h=u.points[4]+f,p=Math.PI/180;if(Math.abs(d-h)<p&&(p=Math.abs(d-h)),f<0)for(let g=d-p;g>h;g-=p){const m=Wn.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],g,0);t.push(m.x,m.y)}else for(let g=d+p;g<h;g+=p){const m=Wn.getPointOnEllipticalArc(u.points[0],u.points[1],u.points[2],u.points[3],g,0);t.push(m.x,m.y)}}else if(u.command==="C")for(let g=0;g<=1;g+=.01){const m=Wn.getPointOnCubicBezier(g,u.start.x,u.start.y,u.points[0],u.points[1],u.points[2],u.points[3],u.points[4],u.points[5]);t.push(m.x,m.y)}else t=t.concat(u.points)});for(var n=t[0],r=t[0],o=t[1],a=t[1],A,l,c=0;c<t.length/2;c++)A=t[c*2],l=t[c*2+1],isNaN(A)||(n=Math.min(n,A),r=Math.max(r,A)),isNaN(l)||(o=Math.min(o,l),a=Math.max(a,l));return{x:n,y:o,width:r-n,height:a-o}}getLength(){return this.pathLength}getPointAtLength(t){return Wn.getPointAtLengthOfDataArray(t,this.dataArray)}static getLineLength(t,n,r,o){return Math.sqrt((r-t)*(r-t)+(o-n)*(o-n))}static getPathLength(t){let n=0;for(var r=0;r<t.length;++r)n+=t[r].pathLength;return n}static getPointAtLengthOfDataArray(t,n){var r,o=0,a=n.length;if(!a)return null;for(;o<a&&t>n[o].pathLength;)t-=n[o].pathLength,++o;if(o===a)return r=n[o-1].points.slice(-2),{x:r[0],y:r[1]};if(t<.01)return r=n[o].points.slice(0,2),{x:r[0],y:r[1]};var A=n[o],l=A.points;switch(A.command){case"L":return Wn.getPointOnLine(t,A.start.x,A.start.y,l[0],l[1]);case"C":return Wn.getPointOnCubicBezier((0,Qc.t2length)(t,Wn.getPathLength(n),m=>(0,Qc.getCubicArcLength)([A.start.x,l[0],l[2],l[4]],[A.start.y,l[1],l[3],l[5]],m)),A.start.x,A.start.y,l[0],l[1],l[2],l[3],l[4],l[5]);case"Q":return Wn.getPointOnQuadraticBezier((0,Qc.t2length)(t,Wn.getPathLength(n),m=>(0,Qc.getQuadraticArcLength)([A.start.x,l[0],l[2]],[A.start.y,l[1],l[3]],m)),A.start.x,A.start.y,l[0],l[1],l[2],l[3]);case"A":var c=l[0],u=l[1],d=l[2],f=l[3],h=l[4],p=l[5],g=l[6];return h+=p*t/A.pathLength,Wn.getPointOnEllipticalArc(c,u,d,f,h,g)}return null}static getPointOnLine(t,n,r,o,a,A,l){A===void 0&&(A=n),l===void 0&&(l=r);var c=(a-r)/(o-n+1e-8),u=Math.sqrt(t*t/(1+c*c));o<n&&(u*=-1);var d=c*u,f;if(o===n)f={x:A,y:l+d};else if((l-r)/(A-n+1e-8)===c)f={x:A+u,y:l+d};else{var h,p,g=this.getLineLength(n,r,o,a),m=(A-n)*(o-n)+(l-r)*(a-r);m=m/(g*g),h=n+m*(o-n),p=r+m*(a-r);var y=this.getLineLength(A,l,h,p),w=Math.sqrt(t*t-y*y);u=Math.sqrt(w*w/(1+c*c)),o<n&&(u*=-1),d=c*u,f={x:h+u,y:p+d}}return f}static getPointOnCubicBezier(t,n,r,o,a,A,l,c,u){function d(y){return y*y*y}function f(y){return 3*y*y*(1-y)}function h(y){return 3*y*(1-y)*(1-y)}function p(y){return(1-y)*(1-y)*(1-y)}var g=c*d(t)+A*f(t)+o*h(t)+n*p(t),m=u*d(t)+l*f(t)+a*h(t)+r*p(t);return{x:g,y:m}}static getPointOnQuadraticBezier(t,n,r,o,a,A,l){function c(p){return p*p}function u(p){return 2*p*(1-p)}function d(p){return(1-p)*(1-p)}var f=A*c(t)+o*u(t)+n*d(t),h=l*c(t)+a*u(t)+r*d(t);return{x:f,y:h}}static getPointOnEllipticalArc(t,n,r,o,a,A){var l=Math.cos(A),c=Math.sin(A),u={x:r*Math.cos(a),y:o*Math.sin(a)};return{x:t+(u.x*l-u.y*c),y:n+(u.x*c+u.y*l)}}static parsePathData(t){if(!t)return[];var n=t,r=["m","M","l","L","v","V","h","H","z","Z","c","C","q","Q","t","T","s","S","a","A"];n=n.replace(new RegExp(" ","g"),",");for(var o=0;o<r.length;o++)n=n.replace(new RegExp(r[o],"g"),"|"+r[o]);var a=n.split("|"),A=[],l=[],c=0,u=0,d=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi,f;for(o=1;o<a.length;o++){var h=a[o],p=h.charAt(0);for(h=h.slice(1),l.length=0;f=d.exec(h);)l.push(f[0]);for(var g=[],m=0,y=l.length;m<y;m++){if(l[m]==="00"){g.push(0,0);continue}var w=parseFloat(l[m]);isNaN(w)?g.push(0):g.push(w)}for(;g.length>0&&!isNaN(g[0]);){var x=null,B=[],E=c,k=u,U,T,Q,z,O,R,D,M,L,q;switch(p){case"l":c+=g.shift(),u+=g.shift(),x="L",B.push(c,u);break;case"L":c=g.shift(),u=g.shift(),B.push(c,u);break;case"m":var G=g.shift(),J=g.shift();if(c+=G,u+=J,x="M",A.length>2&&A[A.length-1].command==="z"){for(var X=A.length-2;X>=0;X--)if(A[X].command==="M"){c=A[X].points[0]+G,u=A[X].points[1]+J;break}}B.push(c,u),p="l";break;case"M":c=g.shift(),u=g.shift(),x="M",B.push(c,u),p="L";break;case"h":c+=g.shift(),x="L",B.push(c,u);break;case"H":c=g.shift(),x="L",B.push(c,u);break;case"v":u+=g.shift(),x="L",B.push(c,u);break;case"V":u=g.shift(),x="L",B.push(c,u);break;case"C":B.push(g.shift(),g.shift(),g.shift(),g.shift()),c=g.shift(),u=g.shift(),B.push(c,u);break;case"c":B.push(c+g.shift(),u+g.shift(),c+g.shift(),u+g.shift()),c+=g.shift(),u+=g.shift(),x="C",B.push(c,u);break;case"S":T=c,Q=u,U=A[A.length-1],U.command==="C"&&(T=c+(c-U.points[2]),Q=u+(u-U.points[3])),B.push(T,Q,g.shift(),g.shift()),c=g.shift(),u=g.shift(),x="C",B.push(c,u);break;case"s":T=c,Q=u,U=A[A.length-1],U.command==="C"&&(T=c+(c-U.points[2]),Q=u+(u-U.points[3])),B.push(T,Q,c+g.shift(),u+g.shift()),c+=g.shift(),u+=g.shift(),x="C",B.push(c,u);break;case"Q":B.push(g.shift(),g.shift()),c=g.shift(),u=g.shift(),B.push(c,u);break;case"q":B.push(c+g.shift(),u+g.shift()),c+=g.shift(),u+=g.shift(),x="Q",B.push(c,u);break;case"T":T=c,Q=u,U=A[A.length-1],U.command==="Q"&&(T=c+(c-U.points[0]),Q=u+(u-U.points[1])),c=g.shift(),u=g.shift(),x="Q",B.push(T,Q,c,u);break;case"t":T=c,Q=u,U=A[A.length-1],U.command==="Q"&&(T=c+(c-U.points[0]),Q=u+(u-U.points[1])),c+=g.shift(),u+=g.shift(),x="Q",B.push(T,Q,c,u);break;case"A":z=g.shift(),O=g.shift(),R=g.shift(),D=g.shift(),M=g.shift(),L=c,q=u,c=g.shift(),u=g.shift(),x="A",B=this.convertEndpointToCenterParameterization(L,q,c,u,D,M,z,O,R);break;case"a":z=g.shift(),O=g.shift(),R=g.shift(),D=g.shift(),M=g.shift(),L=c,q=u,c+=g.shift(),u+=g.shift(),x="A",B=this.convertEndpointToCenterParameterization(L,q,c,u,D,M,z,O,R);break}A.push({command:x||p,points:B,start:{x:E,y:k},pathLength:this.calcLength(E,k,x||p,B)})}(p==="z"||p==="Z")&&A.push({command:"z",points:[],start:void 0,pathLength:0})}return A}static calcLength(t,n,r,o){var a,A,l,c,u=Wn;switch(r){case"L":return u.getLineLength(t,n,o[0],o[1]);case"C":return(0,Qc.getCubicArcLength)([t,o[0],o[2],o[4]],[n,o[1],o[3],o[5]],1);case"Q":return(0,Qc.getQuadraticArcLength)([t,o[0],o[2]],[n,o[1],o[3]],1);case"A":a=0;var d=o[4],f=o[5],h=o[4]+f,p=Math.PI/180;if(Math.abs(d-h)<p&&(p=Math.abs(d-h)),A=u.getPointOnEllipticalArc(o[0],o[1],o[2],o[3],d,0),f<0)for(c=d-p;c>h;c-=p)l=u.getPointOnEllipticalArc(o[0],o[1],o[2],o[3],c,0),a+=u.getLineLength(A.x,A.y,l.x,l.y),A=l;else for(c=d+p;c<h;c+=p)l=u.getPointOnEllipticalArc(o[0],o[1],o[2],o[3],c,0),a+=u.getLineLength(A.x,A.y,l.x,l.y),A=l;return l=u.getPointOnEllipticalArc(o[0],o[1],o[2],o[3],h,0),a+=u.getLineLength(A.x,A.y,l.x,l.y),a}return 0}static convertEndpointToCenterParameterization(t,n,r,o,a,A,l,c,u){var d=u*(Math.PI/180),f=Math.cos(d)*(t-r)/2+Math.sin(d)*(n-o)/2,h=-1*Math.sin(d)*(t-r)/2+Math.cos(d)*(n-o)/2,p=f*f/(l*l)+h*h/(c*c);p>1&&(l*=Math.sqrt(p),c*=Math.sqrt(p));var g=Math.sqrt((l*l*(c*c)-l*l*(h*h)-c*c*(f*f))/(l*l*(h*h)+c*c*(f*f)));a===A&&(g*=-1),isNaN(g)&&(g=0);var m=g*l*h/c,y=g*-c*f/l,w=(t+r)/2+Math.cos(d)*m-Math.sin(d)*y,x=(n+o)/2+Math.sin(d)*m+Math.cos(d)*y,B=function(O){return Math.sqrt(O[0]*O[0]+O[1]*O[1])},E=function(O,R){return(O[0]*R[0]+O[1]*R[1])/(B(O)*B(R))},k=function(O,R){return(O[0]*R[1]<O[1]*R[0]?-1:1)*Math.acos(E(O,R))},U=k([1,0],[(f-m)/l,(h-y)/c]),T=[(f-m)/l,(h-y)/c],Q=[(-1*f-m)/l,(-1*h-y)/c],z=k(T,Q);return E(T,Q)<=-1&&(z=Math.PI),E(T,Q)>=1&&(z=0),A===0&&z>0&&(z=z-2*Math.PI),A===1&&z<0&&(z=z+2*Math.PI),[w,x,l,c,U,z,d,A]}}Ic.Path=Wn,Wn.prototype.className="Path",Wn.prototype._attrsAffectingSize=["data"],(0,Xme._registerNode)(Wn),Wme.Factory.addGetterSetter(Wn,"data"),Object.defineProperty(M1,"__esModule",{value:!0}),M1.Arrow=void 0;const O1=_t,Jme=kf,LN=Xe,Zme=Ct,ON=Ic;class RA extends Jme.Line{_sceneFunc(t){super._sceneFunc(t);var n=Math.PI*2,r=this.points(),o=r,a=this.tension()!==0&&r.length>4;a&&(o=this.getTensionPoints());var A=this.pointerLength(),l=r.length,c,u;if(a){const h=[o[o.length-4],o[o.length-3],o[o.length-2],o[o.length-1],r[l-2],r[l-1]],p=ON.Path.calcLength(o[o.length-4],o[o.length-3],"C",h),g=ON.Path.getPointOnQuadraticBezier(Math.min(1,1-A/p),h[0],h[1],h[2],h[3],h[4],h[5]);c=r[l-2]-g.x,u=r[l-1]-g.y}else c=r[l-2]-r[l-4],u=r[l-1]-r[l-3];var d=(Math.atan2(u,c)+n)%n,f=this.pointerWidth();this.pointerAtEnding()&&(t.save(),t.beginPath(),t.translate(r[l-2],r[l-1]),t.rotate(d),t.moveTo(0,0),t.lineTo(-A,f/2),t.lineTo(-A,-f/2),t.closePath(),t.restore(),this.__fillStroke(t)),this.pointerAtBeginning()&&(t.save(),t.beginPath(),t.translate(r[0],r[1]),a?(c=(o[0]+o[2])/2-r[0],u=(o[1]+o[3])/2-r[1]):(c=r[2]-r[0],u=r[3]-r[1]),t.rotate((Math.atan2(-u,-c)+n)%n),t.moveTo(0,0),t.lineTo(-A,f/2),t.lineTo(-A,-f/2),t.closePath(),t.restore(),this.__fillStroke(t))}__fillStroke(t){var n=this.dashEnabled();n&&(this.attrs.dashEnabled=!1,t.setLineDash([])),t.fillStrokeShape(this),n&&(this.attrs.dashEnabled=!0)}getSelfRect(){const t=super.getSelfRect(),n=this.pointerWidth()/2;return{x:t.x-n,y:t.y-n,width:t.width+n*2,height:t.height+n*2}}}M1.Arrow=RA,RA.prototype.className="Arrow",(0,Zme._registerNode)(RA),O1.Factory.addGetterSetter(RA,"pointerLength",10,(0,LN.getNumberValidator)()),O1.Factory.addGetterSetter(RA,"pointerWidth",10,(0,LN.getNumberValidator)()),O1.Factory.addGetterSetter(RA,"pointerAtBeginning",!1),O1.Factory.addGetterSetter(RA,"pointerAtEnding",!0);var D1={};Object.defineProperty(D1,"__esModule",{value:!0}),D1.Circle=void 0;const Vme=_t,e2e=jn,t2e=Xe,n2e=Ct;class Mc extends e2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius()!==t/2&&this.radius(t/2)}setHeight(t){this.radius()!==t/2&&this.radius(t/2)}}D1.Circle=Mc,Mc.prototype._centroid=!0,Mc.prototype.className="Circle",Mc.prototype._attrsAffectingSize=["radius"],(0,n2e._registerNode)(Mc),Vme.Factory.addGetterSetter(Mc,"radius",0,(0,t2e.getNumberValidator)());var P1={};Object.defineProperty(P1,"__esModule",{value:!0}),P1.Ellipse=void 0;const Rb=_t,r2e=jn,DN=Xe,i2e=Ct;class Ss extends r2e.Shape{_sceneFunc(t){var n=this.radiusX(),r=this.radiusY();t.beginPath(),t.save(),n!==r&&t.scale(1,r/n),t.arc(0,0,n,0,Math.PI*2,!1),t.restore(),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(t){this.radiusX(t/2)}setHeight(t){this.radiusY(t/2)}}P1.Ellipse=Ss,Ss.prototype.className="Ellipse",Ss.prototype._centroid=!0,Ss.prototype._attrsAffectingSize=["radiusX","radiusY"],(0,i2e._registerNode)(Ss),Rb.Factory.addComponentsGetterSetter(Ss,"radius",["x","y"]),Rb.Factory.addGetterSetter(Ss,"radiusX",0,(0,DN.getNumberValidator)()),Rb.Factory.addGetterSetter(Ss,"radiusY",0,(0,DN.getNumberValidator)());var R1={};Object.defineProperty(R1,"__esModule",{value:!0}),R1.Image=void 0;const Hb=gn,HA=_t,o2e=jn,a2e=Ct,Uf=Xe;let Do=class GI extends o2e.Shape{constructor(t){super(t),this.on("imageChange.konva",()=>{this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){const t=this.image();t&&t.complete||t&&t.readyState===4||t&&t.addEventListener&&t.addEventListener("load",()=>{this._requestDraw()})}_useBufferCanvas(){return super._useBufferCanvas(!0)}_sceneFunc(t){const n=this.getWidth(),r=this.getHeight(),o=this.cornerRadius(),a=this.attrs.image;let A;if(a){const l=this.attrs.cropWidth,c=this.attrs.cropHeight;l&&c?A=[a,this.cropX(),this.cropY(),l,c,0,0,n,r]:A=[a,0,0,n,r]}(this.hasFill()||this.hasStroke()||o)&&(t.beginPath(),o?Hb.Util.drawRoundedRectPath(t,n,r,o):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)),a&&(o&&t.clip(),t.drawImage.apply(t,A))}_hitFunc(t){var n=this.width(),r=this.height(),o=this.cornerRadius();t.beginPath(),o?Hb.Util.drawRoundedRectPath(t,n,r,o):t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}getWidth(){var t,n;return(t=this.attrs.width)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.width}getHeight(){var t,n;return(t=this.attrs.height)!==null&&t!==void 0?t:(n=this.image())===null||n===void 0?void 0:n.height}static fromURL(t,n,r=null){var o=Hb.Util.createImageElement();o.onload=function(){var a=new GI({image:o});n(a)},o.onerror=r,o.crossOrigin="Anonymous",o.src=t}};R1.Image=Do,Do.prototype.className="Image",(0,a2e._registerNode)(Do),HA.Factory.addGetterSetter(Do,"cornerRadius",0,(0,Uf.getNumberOrArrayOfNumbersValidator)(4)),HA.Factory.addGetterSetter(Do,"image"),HA.Factory.addComponentsGetterSetter(Do,"crop",["x","y","width","height"]),HA.Factory.addGetterSetter(Do,"cropX",0,(0,Uf.getNumberValidator)()),HA.Factory.addGetterSetter(Do,"cropY",0,(0,Uf.getNumberValidator)()),HA.Factory.addGetterSetter(Do,"cropWidth",0,(0,Uf.getNumberValidator)()),HA.Factory.addGetterSetter(Do,"cropHeight",0,(0,Uf.getNumberValidator)());var Lc={};Object.defineProperty(Lc,"__esModule",{value:!0}),Lc.Tag=Lc.Label=void 0;const H1=_t,s2e=jn,A2e=Nc,$b=Xe,PN=Ct;var RN=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],l2e="Change.konva",c2e="none",Kb="up",Gb="right",zb="down",qb="left",u2e=RN.length;class jb extends A2e.Group{constructor(t){super(t),this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(t){var n=this,r,o=function(){n._sync()};for(r=0;r<u2e;r++)t.on(RN[r]+l2e,o)}getWidth(){return this.getText().width()}getHeight(){return this.getText().height()}_sync(){var t=this.getText(),n=this.getTag(),r,o,a,A,l,c,u;if(t&&n){switch(r=t.width(),o=t.height(),a=n.pointerDirection(),A=n.pointerWidth(),u=n.pointerHeight(),l=0,c=0,a){case Kb:l=r/2,c=-1*u;break;case Gb:l=r+A,c=o/2;break;case zb:l=r/2,c=o+u;break;case qb:l=-1*A,c=o/2;break}n.setAttrs({x:-1*l,y:-1*c,width:r,height:o}),t.setAttrs({x:-1*l,y:-1*c})}}}Lc.Label=jb,jb.prototype.className="Label",(0,PN._registerNode)(jb);class $A extends s2e.Shape{_sceneFunc(t){var n=this.width(),r=this.height(),o=this.pointerDirection(),a=this.pointerWidth(),A=this.pointerHeight(),l=this.cornerRadius();let c=0,u=0,d=0,f=0;typeof l=="number"?c=u=d=f=Math.min(l,n/2,r/2):(c=Math.min(l[0]||0,n/2,r/2),u=Math.min(l[1]||0,n/2,r/2),f=Math.min(l[2]||0,n/2,r/2),d=Math.min(l[3]||0,n/2,r/2)),t.beginPath(),t.moveTo(c,0),o===Kb&&(t.lineTo((n-a)/2,0),t.lineTo(n/2,-1*A),t.lineTo((n+a)/2,0)),t.lineTo(n-u,0),t.arc(n-u,u,u,Math.PI*3/2,0,!1),o===Gb&&(t.lineTo(n,(r-A)/2),t.lineTo(n+a,r/2),t.lineTo(n,(r+A)/2)),t.lineTo(n,r-f),t.arc(n-f,r-f,f,0,Math.PI/2,!1),o===zb&&(t.lineTo((n+a)/2,r),t.lineTo(n/2,r+A),t.lineTo((n-a)/2,r)),t.lineTo(d,r),t.arc(d,r-d,d,Math.PI/2,Math.PI,!1),o===qb&&(t.lineTo(0,(r+A)/2),t.lineTo(-1*a,r/2),t.lineTo(0,(r-A)/2)),t.lineTo(0,c),t.arc(c,c,c,Math.PI,Math.PI*3/2,!1),t.closePath(),t.fillStrokeShape(this)}getSelfRect(){var t=0,n=0,r=this.pointerWidth(),o=this.pointerHeight(),a=this.pointerDirection(),A=this.width(),l=this.height();return a===Kb?(n-=o,l+=o):a===zb?l+=o:a===qb?(t-=r*1.5,A+=r):a===Gb&&(A+=r*1.5),{x:t,y:n,width:A,height:l}}}Lc.Tag=$A,$A.prototype.className="Tag",(0,PN._registerNode)($A),H1.Factory.addGetterSetter($A,"pointerDirection",c2e),H1.Factory.addGetterSetter($A,"pointerWidth",0,(0,$b.getNumberValidator)()),H1.Factory.addGetterSetter($A,"pointerHeight",0,(0,$b.getNumberValidator)()),H1.Factory.addGetterSetter($A,"cornerRadius",0,(0,$b.getNumberOrArrayOfNumbersValidator)(4));var Nf={};Object.defineProperty(Nf,"__esModule",{value:!0}),Nf.Rect=void 0;const d2e=_t,f2e=jn,h2e=Ct,p2e=gn,g2e=Xe;class $1 extends f2e.Shape{_sceneFunc(t){var n=this.cornerRadius(),r=this.width(),o=this.height();t.beginPath(),n?p2e.Util.drawRoundedRectPath(t,r,o,n):t.rect(0,0,r,o),t.closePath(),t.fillStrokeShape(this)}}Nf.Rect=$1,$1.prototype.className="Rect",(0,h2e._registerNode)($1),d2e.Factory.addGetterSetter($1,"cornerRadius",0,(0,g2e.getNumberOrArrayOfNumbersValidator)(4));var K1={};Object.defineProperty(K1,"__esModule",{value:!0}),K1.RegularPolygon=void 0;const HN=_t,m2e=jn,$N=Xe,v2e=Ct;class KA extends m2e.Shape{_sceneFunc(t){const n=this._getPoints();t.beginPath(),t.moveTo(n[0].x,n[0].y);for(var r=1;r<n.length;r++)t.lineTo(n[r].x,n[r].y);t.closePath(),t.fillStrokeShape(this)}_getPoints(){const t=this.attrs.sides,n=this.attrs.radius||0,r=[];for(var o=0;o<t;o++)r.push({x:n*Math.sin(o*2*Math.PI/t),y:-1*n*Math.cos(o*2*Math.PI/t)});return r}getSelfRect(){const t=this._getPoints();var n=t[0].x,r=t[0].y,o=t[0].x,a=t[0].y;return t.forEach(A=>{n=Math.min(n,A.x),r=Math.max(r,A.x),o=Math.min(o,A.y),a=Math.max(a,A.y)}),{x:n,y:o,width:r-n,height:a-o}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}K1.RegularPolygon=KA,KA.prototype.className="RegularPolygon",KA.prototype._centroid=!0,KA.prototype._attrsAffectingSize=["radius"],(0,v2e._registerNode)(KA),HN.Factory.addGetterSetter(KA,"radius",0,(0,$N.getNumberValidator)()),HN.Factory.addGetterSetter(KA,"sides",0,(0,$N.getNumberValidator)());var G1={};Object.defineProperty(G1,"__esModule",{value:!0}),G1.Ring=void 0;const KN=_t,y2e=jn,GN=Xe,w2e=Ct;var zN=Math.PI*2;class GA extends y2e.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.innerRadius(),0,zN,!1),t.moveTo(this.outerRadius(),0),t.arc(0,0,this.outerRadius(),zN,0,!0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}G1.Ring=GA,GA.prototype.className="Ring",GA.prototype._centroid=!0,GA.prototype._attrsAffectingSize=["innerRadius","outerRadius"],(0,w2e._registerNode)(GA),KN.Factory.addGetterSetter(GA,"innerRadius",0,(0,GN.getNumberValidator)()),KN.Factory.addGetterSetter(GA,"outerRadius",0,(0,GN.getNumberValidator)());var z1={};Object.defineProperty(z1,"__esModule",{value:!0}),z1.Sprite=void 0;const zA=_t,b2e=jn,_2e=Tc,qN=Xe,B2e=Ct;class Po extends b2e.Shape{constructor(t){super(t),this._updated=!0,this.anim=new _2e.Animation(()=>{var n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){this.anim.isRunning()&&(clearInterval(this.interval),this._setInterval())})}_sceneFunc(t){var n=this.animation(),r=this.frameIndex(),o=r*4,a=this.animations()[n],A=this.frameOffsets(),l=a[o+0],c=a[o+1],u=a[o+2],d=a[o+3],f=this.image();if((this.hasFill()||this.hasStroke())&&(t.beginPath(),t.rect(0,0,u,d),t.closePath(),t.fillStrokeShape(this)),f)if(A){var h=A[n],p=r*2;t.drawImage(f,l,c,u,d,h[p+0],h[p+1],u,d)}else t.drawImage(f,l,c,u,d,0,0,u,d)}_hitFunc(t){var n=this.animation(),r=this.frameIndex(),o=r*4,a=this.animations()[n],A=this.frameOffsets(),l=a[o+2],c=a[o+3];if(t.beginPath(),A){var u=A[n],d=r*2;t.rect(u[d+0],u[d+1],l,c)}else t.rect(0,0,l,c);t.closePath(),t.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){var t=this;this.interval=setInterval(function(){t._updateIndex()},1e3/this.frameRate())}start(){if(!this.isRunning()){var t=this.getLayer();this.anim.setLayers(t),this._setInterval(),this.anim.start()}}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){var t=this.frameIndex(),n=this.animation(),r=this.animations(),o=r[n],a=o.length/4;t<a-1?this.frameIndex(t+1):this.frameIndex(0)}}z1.Sprite=Po,Po.prototype.className="Sprite",(0,B2e._registerNode)(Po),zA.Factory.addGetterSetter(Po,"animation"),zA.Factory.addGetterSetter(Po,"animations"),zA.Factory.addGetterSetter(Po,"frameOffsets"),zA.Factory.addGetterSetter(Po,"image"),zA.Factory.addGetterSetter(Po,"frameIndex",0,(0,qN.getNumberValidator)()),zA.Factory.addGetterSetter(Po,"frameRate",17,(0,qN.getNumberValidator)()),zA.Factory.backCompat(Po,{index:"frameIndex",getIndex:"getFrameIndex",setIndex:"setFrameIndex"});var q1={};Object.defineProperty(q1,"__esModule",{value:!0}),q1.Star=void 0;const Wb=_t,C2e=jn,Yb=Xe,E2e=Ct;class xs extends C2e.Shape{_sceneFunc(t){var n=this.innerRadius(),r=this.outerRadius(),o=this.numPoints();t.beginPath(),t.moveTo(0,0-r);for(var a=1;a<o*2;a++){var A=a%2===0?r:n,l=A*Math.sin(a*Math.PI/o),c=-1*A*Math.cos(a*Math.PI/o);t.lineTo(l,c)}t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(t){this.outerRadius(t/2)}setHeight(t){this.outerRadius(t/2)}}q1.Star=xs,xs.prototype.className="Star",xs.prototype._centroid=!0,xs.prototype._attrsAffectingSize=["innerRadius","outerRadius"],(0,E2e._registerNode)(xs),Wb.Factory.addGetterSetter(xs,"numPoints",5,(0,Yb.getNumberValidator)()),Wb.Factory.addGetterSetter(xs,"innerRadius",0,(0,Yb.getNumberValidator)()),Wb.Factory.addGetterSetter(xs,"outerRadius",0,(0,Yb.getNumberValidator)());var qA={};Object.defineProperty(qA,"__esModule",{value:!0}),qA.Text=qA.stringToArray=void 0;const Xb=gn,Lr=_t,S2e=jn,Fs=Xe,x2e=Ct;function jN(e){return Array.from(e)}qA.stringToArray=jN;var Oc="auto",F2e="center",Tf="justify",k2e="Change.konva",U2e="2d",WN="-",YN="left",N2e="text",T2e="Text",I2e="top",Q2e="bottom",XN="middle",JN="normal",M2e="px ",j1=" ",L2e="right",O2e="word",D2e="char",ZN="none",Jb="…",VN=["fontFamily","fontSize","fontStyle","fontVariant","padding","align","verticalAlign","lineHeight","text","width","height","wrap","ellipsis","letterSpacing"],P2e=VN.length;function R2e(e){return e.split(",").map(t=>{t=t.trim();const n=t.indexOf(" ")>=0,r=t.indexOf('"')>=0||t.indexOf("'")>=0;return n&&!r&&(t=`"${t}"`),t}).join(", ")}var W1;function Zb(){return W1||(W1=Xb.Util.createCanvasElement().getContext(U2e),W1)}function H2e(e){e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function $2e(e){e.setAttr("miterLimit",2),e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function K2e(e){return e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage&&(e.fill=e.fill||"black"),e}class kn extends S2e.Shape{constructor(t){super(K2e(t)),this._partialTextX=0,this._partialTextY=0;for(var n=0;n<P2e;n++)this.on(VN[n]+k2e,this._setTextData);this._setTextData()}_sceneFunc(t){var n=this.textArr,r=n.length;if(this.text()){var o=this.padding(),a=this.fontSize(),A=this.lineHeight()*a,l=this.verticalAlign(),c=0,u=this.align(),d=this.getWidth(),f=this.letterSpacing(),h=this.fill(),p=this.textDecoration(),g=p.indexOf("underline")!==-1,m=p.indexOf("line-through")!==-1,y,w=0,w=A/2,x=0,B=0;for(t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",XN),t.setAttr("textAlign",YN),l===XN?c=(this.getHeight()-r*A-o*2)/2:l===Q2e&&(c=this.getHeight()-r*A-o*2),t.translate(o,c+o),y=0;y<r;y++){var x=0,B=0,E=n[y],k=E.text,U=E.width,T=E.lastInParagraph,Q,z,O;if(t.save(),u===L2e?x+=d-U-o*2:u===F2e&&(x+=(d-U-o*2)/2),g){t.save(),t.beginPath(),t.moveTo(x,w+B+Math.round(a/2)),Q=k.split(" ").length-1,z=Q===0,O=u===Tf&&!T?d-o*2:U,t.lineTo(x+Math.round(O),w+B+Math.round(a/2)),t.lineWidth=a/15;const G=this._getLinearGradient();t.strokeStyle=G||h,t.stroke(),t.restore()}if(m){t.save(),t.beginPath(),t.moveTo(x,w+B),Q=k.split(" ").length-1,z=Q===0,O=u===Tf&&T&&!z?d-o*2:U,t.lineTo(x+Math.round(O),w+B),t.lineWidth=a/15;const G=this._getLinearGradient();t.strokeStyle=G||h,t.stroke(),t.restore()}if(f!==0||u===Tf){Q=k.split(" ").length-1;for(var R=jN(k),D=0;D<R.length;D++){var M=R[D];M===" "&&!T&&u===Tf&&(x+=(d-o*2-U)/Q),this._partialTextX=x,this._partialTextY=w+B,this._partialText=M,t.fillStrokeShape(this),x+=this.measureSize(M).width+f}}else this._partialTextX=x,this._partialTextY=w+B,this._partialText=k,t.fillStrokeShape(this);t.restore(),r>1&&(w+=A)}}}_hitFunc(t){var n=this.getWidth(),r=this.getHeight();t.beginPath(),t.rect(0,0,n,r),t.closePath(),t.fillStrokeShape(this)}setText(t){var n=Xb.Util._isString(t)?t:t==null?"":t+"";return this._setAttr(N2e,n),this}getWidth(){var t=this.attrs.width===Oc||this.attrs.width===void 0;return t?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){var t=this.attrs.height===Oc||this.attrs.height===void 0;return t?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return Xb.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(t){var n=Zb(),r=this.fontSize(),o;return n.save(),n.font=this._getContextFont(),o=n.measureText(t),n.restore(),{width:o.width,height:r}}_getContextFont(){return this.fontStyle()+j1+this.fontVariant()+j1+(this.fontSize()+M2e)+R2e(this.fontFamily())}_addTextLine(t){this.align()===Tf&&(t=t.trim());var r=this._getTextWidth(t);return this.textArr.push({text:t,width:r,lastInParagraph:!1})}_getTextWidth(t){var n=this.letterSpacing(),r=t.length;return Zb().measureText(t).width+(r?n*(r-1):0)}_setTextData(){var t=this.text().split(`
|
|
170
|
-
`),n=+this.fontSize(),r=0,o=this.lineHeight()*n,a=this.attrs.width,A=this.attrs.height,l=a!==Oc&&a!==void 0,c=A!==Oc&&A!==void 0,u=this.padding(),d=a-u*2,f=A-u*2,h=0,p=this.wrap(),g=p!==ZN,m=p!==D2e&&g,y=this.ellipsis();this.textArr=[],Zb().font=this._getContextFont();for(var w=y?this._getTextWidth(Jb):0,x=0,B=t.length;x<B;++x){var E=t[x],k=this._getTextWidth(E);if(l&&k>d)for(;E.length>0;){for(var U=0,T=E.length,Q="",z=0;U<T;){var O=U+T>>>1,R=E.slice(0,O+1),D=this._getTextWidth(R)+w;D<=d?(U=O+1,Q=R,z=D):T=O}if(Q){if(m){var M,L=E[Q.length],q=L===j1||L===WN;q&&z<=d?M=Q.length:M=Math.max(Q.lastIndexOf(j1),Q.lastIndexOf(WN))+1,M>0&&(U=M,Q=Q.slice(0,U),z=this._getTextWidth(Q))}Q=Q.trimRight(),this._addTextLine(Q),r=Math.max(r,z),h+=o;var G=this._shouldHandleEllipsis(h);if(G){this._tryToAddEllipsisToLastLine();break}if(E=E.slice(U),E=E.trimLeft(),E.length>0&&(k=this._getTextWidth(E),k<=d)){this._addTextLine(E),h+=o,r=Math.max(r,k);break}}else break}else this._addTextLine(E),h+=o,r=Math.max(r,k),this._shouldHandleEllipsis(h)&&x<B-1&&this._tryToAddEllipsisToLastLine();if(this.textArr[this.textArr.length-1]&&(this.textArr[this.textArr.length-1].lastInParagraph=!0),c&&h+o>f)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,o=this.attrs.height,a=o!==Oc&&o!==void 0,A=this.padding(),l=o-A*2,c=this.wrap(),u=c!==ZN;return!u||a&&t+r>l}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==Oc&&t!==void 0,r=this.padding(),o=t-r*2,a=this.ellipsis(),A=this.textArr[this.textArr.length-1];if(!(!A||!a)){if(n){var l=this._getTextWidth(A.text+Jb)<o;l||(A.text=A.text.slice(0,A.text.length-3))}this.textArr.splice(this.textArr.length-1,1),this._addTextLine(A.text+Jb)}}getStrokeScaleEnabled(){return!0}}qA.Text=kn,kn.prototype._fillFunc=H2e,kn.prototype._strokeFunc=$2e,kn.prototype.className=T2e,kn.prototype._attrsAffectingSize=["text","fontSize","padding","wrap","lineHeight","letterSpacing"],(0,x2e._registerNode)(kn),Lr.Factory.overWriteSetter(kn,"width",(0,Fs.getNumberOrAutoValidator)()),Lr.Factory.overWriteSetter(kn,"height",(0,Fs.getNumberOrAutoValidator)()),Lr.Factory.addGetterSetter(kn,"fontFamily","Arial"),Lr.Factory.addGetterSetter(kn,"fontSize",12,(0,Fs.getNumberValidator)()),Lr.Factory.addGetterSetter(kn,"fontStyle",JN),Lr.Factory.addGetterSetter(kn,"fontVariant",JN),Lr.Factory.addGetterSetter(kn,"padding",0,(0,Fs.getNumberValidator)()),Lr.Factory.addGetterSetter(kn,"align",YN),Lr.Factory.addGetterSetter(kn,"verticalAlign",I2e),Lr.Factory.addGetterSetter(kn,"lineHeight",1,(0,Fs.getNumberValidator)()),Lr.Factory.addGetterSetter(kn,"wrap",O2e),Lr.Factory.addGetterSetter(kn,"ellipsis",!1,(0,Fs.getBooleanValidator)()),Lr.Factory.addGetterSetter(kn,"letterSpacing",0,(0,Fs.getNumberValidator)()),Lr.Factory.addGetterSetter(kn,"text","",(0,Fs.getStringValidator)()),Lr.Factory.addGetterSetter(kn,"textDecoration","");var Y1={};Object.defineProperty(Y1,"__esModule",{value:!0}),Y1.TextPath=void 0;const Vb=gn,ao=_t,G2e=jn,If=Ic,e_=qA,eT=Xe,z2e=Ct;var q2e="",tT="normal";function nT(e){e.fillText(this.partialText,0,0)}function rT(e){e.strokeText(this.partialText,0,0)}class Yn extends G2e.Shape{constructor(t){super(t),this.dummyCanvas=Vb.Util.createCanvasElement(),this.dataArray=[],this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute(),this._setTextData()}),this.on("textChange.konva alignChange.konva letterSpacingChange.konva kerningFuncChange.konva fontSizeChange.konva fontFamilyChange.konva",this._setTextData),this._setTextData()}_getTextPathLength(){return If.Path.getPathLength(this.dataArray)}_getPointAtLength(t){if(!this.attrs.data)return null;const n=this.pathLength;return t-1>n?null:If.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=If.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),o=this.fontSize(),a=this.glyphInfo;n==="underline"&&t.beginPath();for(var A=0;A<a.length;A++){t.save();var l=a[A].p0;t.translate(l.x,l.y),t.rotate(a[A].rotation),this.partialText=a[A].text,t.fillStrokeShape(this),n==="underline"&&(A===0&&t.moveTo(0,o/2+1),t.lineTo(o,o/2+1)),t.restore()}n==="underline"&&(t.strokeStyle=r,t.lineWidth=o/20,t.stroke()),t.restore()}_hitFunc(t){t.beginPath();var n=this.glyphInfo;if(n.length>=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var o=0;o<n.length;o++){var a=n[o].p1;t.lineTo(a.x,a.y)}t.setAttr("lineWidth",this.fontSize()),t.setAttr("strokeStyle",this.colorKey),t.stroke()}getTextWidth(){return this.textWidth}getTextHeight(){return Vb.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}setText(t){return e_.Text.prototype.setText.call(this,t)}_getContextFont(){return e_.Text.prototype._getContextFont.call(this)}_getTextSize(t){var n=this.dummyCanvas,r=n.getContext("2d");r.save(),r.font=this._getContextFont();var o=r.measureText(t);return r.restore(),{width:o.width,height:parseInt(`${this.fontSize()}`,10)}}_setTextData(){const{width:t,height:n}=this._getTextSize(this.attrs.text);if(this.textWidth=t,this.textHeight=n,this.glyphInfo=[],!this.attrs.data)return null;const r=this.letterSpacing(),o=this.align(),a=this.kerningFunc(),A=Math.max(this.textWidth+((this.attrs.text||"").length-1)*r,0);let l=0;o==="center"&&(l=Math.max(0,this.pathLength/2-A/2)),o==="right"&&(l=Math.max(0,this.pathLength-A));const c=(0,e_.stringToArray)(this.text());let u=l;for(var d=0;d<c.length;d++){const f=this._getPointAtLength(u);if(!f)return;let h=this._getTextSize(c[d]).width+r;if(c[d]===" "&&o==="justify"){const x=this.text().split(" ").length-1;h+=(this.pathLength-A)/x}const p=this._getPointAtLength(u+h);if(!p)return;const g=If.Path.getLineLength(f.x,f.y,p.x,p.y);let m=0;if(a)try{m=a(c[d-1],c[d])*this.fontSize()}catch(x){m=0}f.x+=m,p.x+=m,this.textWidth+=m;const y=If.Path.getPointOnLine(m+g/2,f.x,f.y,p.x,p.y),w=Math.atan2(p.y-f.y,p.x-f.x);this.glyphInfo.push({transposeX:y.x,transposeY:y.y,text:c[d],rotation:w,p0:f,p1:p}),u+=h}}getSelfRect(){if(!this.glyphInfo.length)return{x:0,y:0,width:0,height:0};var t=[];this.glyphInfo.forEach(function(d){t.push(d.p0.x),t.push(d.p0.y),t.push(d.p1.x),t.push(d.p1.y)});for(var n=t[0]||0,r=t[0]||0,o=t[1]||0,a=t[1]||0,A,l,c=0;c<t.length/2;c++)A=t[c*2],l=t[c*2+1],n=Math.min(n,A),r=Math.max(r,A),o=Math.min(o,l),a=Math.max(a,l);var u=this.fontSize();return{x:n-u/2,y:o-u/2,width:r-n+u,height:a-o+u}}destroy(){return Vb.Util.releaseCanvas(this.dummyCanvas),super.destroy()}}Y1.TextPath=Yn,Yn.prototype._fillFunc=nT,Yn.prototype._strokeFunc=rT,Yn.prototype._fillFuncHit=nT,Yn.prototype._strokeFuncHit=rT,Yn.prototype.className="TextPath",Yn.prototype._attrsAffectingSize=["text","fontSize","data"],(0,z2e._registerNode)(Yn),ao.Factory.addGetterSetter(Yn,"data"),ao.Factory.addGetterSetter(Yn,"fontFamily","Arial"),ao.Factory.addGetterSetter(Yn,"fontSize",12,(0,eT.getNumberValidator)()),ao.Factory.addGetterSetter(Yn,"fontStyle",tT),ao.Factory.addGetterSetter(Yn,"align","left"),ao.Factory.addGetterSetter(Yn,"letterSpacing",0,(0,eT.getNumberValidator)()),ao.Factory.addGetterSetter(Yn,"textBaseline","middle"),ao.Factory.addGetterSetter(Yn,"fontVariant",tT),ao.Factory.addGetterSetter(Yn,"text",q2e),ao.Factory.addGetterSetter(Yn,"textDecoration",null),ao.Factory.addGetterSetter(Yn,"kerningFunc",null);var X1={};Object.defineProperty(X1,"__esModule",{value:!0}),X1.Transformer=void 0;const zt=gn,Kt=_t,iT=sn,j2e=jn,W2e=Nf,oT=Nc,so=Ct,ks=Xe,Y2e=Ct;var aT="tr-konva",X2e=["resizeEnabledChange","rotateAnchorOffsetChange","rotateEnabledChange","enabledAnchorsChange","anchorSizeChange","borderEnabledChange","borderStrokeChange","borderStrokeWidthChange","borderDashChange","anchorStrokeChange","anchorStrokeWidthChange","anchorFillChange","anchorCornerRadiusChange","ignoreStrokeChange","anchorStyleFuncChange"].map(e=>e+`.${aT}`).join(" "),sT="nodesRect",J2e=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],Z2e={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const V2e="ontouchstart"in so.Konva._global;function eve(e,t){if(e==="rotater")return"crosshair";t+=zt.Util.degToRad(Z2e[e]||0);var n=(zt.Util.radToDeg(t)%360+360)%360;return zt.Util._inRange(n,315+22.5,360)||zt.Util._inRange(n,0,22.5)?"ns-resize":zt.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":zt.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":zt.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":zt.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":zt.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":zt.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":zt.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(zt.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var J1=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],AT=1e8;function tve(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function lT(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),o=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:o})}function nve(e,t){const n=tve(e);return lT(e,t,n)}function rve(e,t,n){let r=t;for(let o=0;o<e.length;o++){const a=so.Konva.getAngle(e[o]),A=Math.abs(a-t)%(Math.PI*2);Math.min(A,Math.PI*2-A)<n&&(r=a)}return r}class Qt extends oT.Group{constructor(t){super(t),this._transforming=!1,this._createElements(),this._handleMouseMove=this._handleMouseMove.bind(this),this._handleMouseUp=this._handleMouseUp.bind(this),this.update=this.update.bind(this),this.on(X2e,this.update),this.getNode()&&this.update()}attachTo(t){return this.setNode(t),this}setNode(t){return zt.Util.warn("tr.setNode(shape), tr.node(shape) and tr.attachTo(shape) methods are deprecated. Please use tr.nodes(nodesArray) instead."),this.setNodes([t])}getNode(){return this._nodes&&this._nodes[0]}_getEventNamespace(){return aT+this._id}setNodes(t=[]){this._nodes&&this._nodes.length&&this.detach();const n=t.filter(o=>o.isAncestorOf(this)?(zt.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(o=>{const a=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},A=o._attrsAffectingSize.map(l=>l+"Change."+this._getEventNamespace()).join(" ");o.on(A,a),o.on(J2e.map(l=>l+`.${this._getEventNamespace()}`).join(" "),a),o.on(`absoluteTransformChange.${this._getEventNamespace()}`,a),this._proxyDrag(o)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const o=t.getAbsolutePosition(),a=o.x-n.x,A=o.y-n.y;this.nodes().forEach(l=>{if(l===t||l.isDragging())return;const c=l.getAbsolutePosition();l.setAbsolutePosition({x:c.x+a,y:c.y+A}),l.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(sT),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(sT,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var o=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),a=t.getAbsoluteScale(r),A=t.getAbsolutePosition(r),l=o.x*a.x-t.offsetX()*a.x,c=o.y*a.y-t.offsetY()*a.y;const u=(so.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={x:A.x+l*Math.cos(u)+c*Math.sin(-u),y:A.y+c*Math.cos(u)+l*Math.sin(u),width:o.width*a.x,height:o.height*a.y,rotation:u};return lT(d,-so.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-AT,y:-AT,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const d=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var f=[{x:d.x,y:d.y},{x:d.x+d.width,y:d.y},{x:d.x+d.width,y:d.y+d.height},{x:d.x,y:d.y+d.height}],h=u.getAbsoluteTransform();f.forEach(function(p){var g=h.point(p);n.push(g)})});const r=new zt.Transform;r.rotate(-so.Konva.getAngle(this.rotation()));var o,a,A,l;n.forEach(function(u){var d=r.point(u);o===void 0&&(o=A=d.x,a=l=d.y),o=Math.min(o,d.x),a=Math.min(a,d.y),A=Math.max(A,d.x),l=Math.max(l,d.y)}),r.invert();const c=r.point({x:o,y:a});return{x:c.x,y:c.y,width:A-o,height:l-a,rotation:so.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),J1.forEach(function(t){this._createAnchor(t)}.bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new W2e.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:V2e?10:"auto"}),r=this;n.on("mousedown touchstart",function(o){r._handleMouseDown(o)}),n.on("dragstart",o=>{n.stopDrag(),o.cancelBubble=!0}),n.on("dragend",o=>{o.cancelBubble=!0}),n.on("mouseenter",()=>{var o=so.Konva.getAngle(this.rotation()),a=eve(t,o);n.getStage().content&&(n.getStage().content.style.cursor=a),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new j2e.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),o=r.padding();n.beginPath(),n.rect(-o,-o,this.width()+o*2,this.height()+o*2),n.moveTo(this.width()/2,-o),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*zt.Util._sign(this.height())-o),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var o=this.padding();n.beginPath(),n.rect(-o,-o,r.width()+o*2,r.height()+o*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,o=n.height,a=Math.sqrt(Math.pow(r,2)+Math.pow(o,2));this.sin=Math.abs(o/a),this.cos=Math.abs(r/a),typeof window!="undefined"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var A=t.target.getAbsolutePosition(),l=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:l.x-A.x,y:l.y-A.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(c=>{c._fire("transformstart",{evt:t.evt,target:c})})}_handleMouseMove(t){var n,r,o,a=this.findOne("."+this._movingAnchorName),A=a.getStage();A.setPointersPositions(t);const l=A.getPointerPosition();let c={x:l.x-this._anchorDragOffset.x,y:l.y-this._anchorDragOffset.y};const u=a.getAbsolutePosition();this.anchorDragBoundFunc()&&(c=this.anchorDragBoundFunc()(u,c,t)),a.setAbsolutePosition(c);const d=a.getAbsolutePosition();if(!(u.x===d.x&&u.y===d.y)){if(this._movingAnchorName==="rotater"){var f=this._getNodeRect();n=a.x()-f.width/2,r=-a.y()+f.height/2;let M=Math.atan2(-r,n)+Math.PI/2;f.height<0&&(M-=Math.PI);var h=so.Konva.getAngle(this.rotation());const L=h+M,q=so.Konva.getAngle(this.rotationSnapTolerance()),J=rve(this.rotationSnaps(),L,q)-f.rotation,X=nve(f,J);this._fitNodesInto(X,t);return}var p=this.shiftBehavior(),g;p==="inverted"?g=this.keepRatio()&&!t.shiftKey:p==="none"?g=this.keepRatio():g=this.keepRatio()||t.shiftKey;var B=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(g){var m=B?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};o=Math.sqrt(Math.pow(m.x-a.x(),2)+Math.pow(m.y-a.y(),2));var y=this.findOne(".top-left").x()>m.x?-1:1,w=this.findOne(".top-left").y()>m.y?-1:1;n=o*this.cos*y,r=o*this.sin*w,this.findOne(".top-left").x(m.x-n),this.findOne(".top-left").y(m.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(a.y());else if(this._movingAnchorName==="top-right"){if(g){var m=B?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};o=Math.sqrt(Math.pow(a.x()-m.x,2)+Math.pow(m.y-a.y(),2));var y=this.findOne(".top-right").x()<m.x?-1:1,w=this.findOne(".top-right").y()>m.y?-1:1;n=o*this.cos*y,r=o*this.sin*w,this.findOne(".top-right").x(m.x+n),this.findOne(".top-right").y(m.y-r)}var x=a.position();this.findOne(".top-left").y(x.y),this.findOne(".bottom-right").x(x.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(a.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(a.x());else if(this._movingAnchorName==="bottom-left"){if(g){var m=B?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};o=Math.sqrt(Math.pow(m.x-a.x(),2)+Math.pow(a.y()-m.y,2));var y=m.x<a.x()?-1:1,w=a.y()<m.y?-1:1;n=o*this.cos*y,r=o*this.sin*w,a.x(m.x-n),a.y(m.y+r)}x=a.position(),this.findOne(".top-left").x(x.x),this.findOne(".bottom-right").y(x.y)}else if(this._movingAnchorName==="bottom-center")this.findOne(".bottom-right").y(a.y());else if(this._movingAnchorName==="bottom-right"){if(g){var m=B?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-left").x(),y:this.findOne(".top-left").y()};o=Math.sqrt(Math.pow(a.x()-m.x,2)+Math.pow(a.y()-m.y,2));var y=this.findOne(".bottom-right").x()<m.x?-1:1,w=this.findOne(".bottom-right").y()<m.y?-1:1;n=o*this.cos*y,r=o*this.sin*w,this.findOne(".bottom-right").x(m.x+n),this.findOne(".bottom-right").y(m.y+r)}}else console.error(new Error("Wrong position argument of selection resizer: "+this._movingAnchorName));var B=this.centeredScaling()||t.altKey;if(B){var E=this.findOne(".top-left"),k=this.findOne(".bottom-right"),U=E.x(),T=E.y(),Q=this.getWidth()-k.x(),z=this.getHeight()-k.y();k.move({x:-U,y:-T}),E.move({x:Q,y:z})}var O=this.findOne(".top-left").getAbsolutePosition();n=O.x,r=O.y;var R=this.findOne(".bottom-right").x()-this.findOne(".top-left").x(),D=this.findOne(".bottom-right").y()-this.findOne(".top-left").y();this._fitNodesInto({x:n,y:r,width:R,height:D,rotation:so.Konva.getAngle(this.rotation())},t)}}_handleMouseUp(t){this._removeEvents(t)}getAbsoluteTransform(){return this.getTransform()}_removeEvents(t){if(this._transforming){this._transforming=!1,typeof window!="undefined"&&(window.removeEventListener("mousemove",this._handleMouseMove),window.removeEventListener("touchmove",this._handleMouseMove),window.removeEventListener("mouseup",this._handleMouseUp,!0),window.removeEventListener("touchend",this._handleMouseUp,!0));var n=this.getNode();this._fire("transformend",{evt:t,target:n}),n&&this._nodes.forEach(r=>{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const o=1;if(zt.Util._inRange(t.width,-this.padding()*2-o,o)){this.update();return}if(zt.Util._inRange(t.height,-this.padding()*2-o,o)){this.update();return}const a=this.flipEnabled();var A=new zt.Transform;if(A.rotate(so.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const f=A.point({x:-this.padding()*2,y:0});if(t.x+=f.x,t.y+=f.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,!a){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const f=A.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.width+=this.padding()*2,!a){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const f=A.point({x:0,y:-this.padding()*2});if(t.x+=f.x,t.y+=f.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!a){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const f=A.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!a){this.update();return}}if(this.boundBoxFunc()){const f=this.boundBoxFunc()(r,t);f?t=f:zt.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const l=1e7,c=new zt.Transform;c.translate(r.x,r.y),c.rotate(r.rotation),c.scale(r.width/l,r.height/l);const u=new zt.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/l,t.height/l);const d=u.multiply(c.invert());this._nodes.forEach(f=>{var h;const p=f.getParent().getAbsoluteTransform(),g=f.getTransform().copy();g.translate(f.offsetX(),f.offsetY());const m=new zt.Transform;m.multiply(p.copy().invert()).multiply(d).multiply(p).multiply(g);const y=m.decompose();f.setAttrs(y),this._fire("transform",{evt:n,target:f}),f._fire("transform",{evt:n,target:f}),(h=f.getLayer())===null||h===void 0||h.batchDraw()}),this.rotation(zt.Util._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(zt.Util._getRotation(n.rotation));var r=n.width,o=n.height,a=this.enabledAnchors(),A=this.resizeEnabled(),l=this.padding(),c=this.anchorSize();const u=this.find("._anchor");u.forEach(f=>{f.setAttrs({width:c,height:c,offsetX:c/2,offsetY:c/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:c/2+l,offsetY:c/2+l,visible:A&&a.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:c/2+l,visible:A&&a.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:c/2-l,offsetY:c/2+l,visible:A&&a.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:o/2,offsetX:c/2+l,visible:A&&a.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:o/2,offsetX:c/2-l,visible:A&&a.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:o,offsetX:c/2+l,offsetY:c/2-l,visible:A&&a.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:o,offsetY:c/2-l,visible:A&&a.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:o,offsetX:c/2-l,offsetY:c/2-l,visible:A&&a.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*zt.Util._sign(o)-l,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:o,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const d=this.anchorStyleFunc();d&&u.forEach(f=>{d(f)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),oT.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return iT.Node.prototype.toObject.call(this)}clone(t){var n=iT.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}X1.Transformer=Qt;function ive(e){return e instanceof Array||zt.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){J1.indexOf(t)===-1&&zt.Util.warn("Unknown anchor name: "+t+". Available names are: "+J1.join(", "))}),e||[]}Qt.prototype.className="Transformer",(0,Y2e._registerNode)(Qt),Kt.Factory.addGetterSetter(Qt,"enabledAnchors",J1,ive),Kt.Factory.addGetterSetter(Qt,"flipEnabled",!0,(0,ks.getBooleanValidator)()),Kt.Factory.addGetterSetter(Qt,"resizeEnabled",!0),Kt.Factory.addGetterSetter(Qt,"anchorSize",10,(0,ks.getNumberValidator)()),Kt.Factory.addGetterSetter(Qt,"rotateEnabled",!0),Kt.Factory.addGetterSetter(Qt,"rotationSnaps",[]),Kt.Factory.addGetterSetter(Qt,"rotateAnchorOffset",50,(0,ks.getNumberValidator)()),Kt.Factory.addGetterSetter(Qt,"rotationSnapTolerance",5,(0,ks.getNumberValidator)()),Kt.Factory.addGetterSetter(Qt,"borderEnabled",!0),Kt.Factory.addGetterSetter(Qt,"anchorStroke","rgb(0, 161, 255)"),Kt.Factory.addGetterSetter(Qt,"anchorStrokeWidth",1,(0,ks.getNumberValidator)()),Kt.Factory.addGetterSetter(Qt,"anchorFill","white"),Kt.Factory.addGetterSetter(Qt,"anchorCornerRadius",0,(0,ks.getNumberValidator)()),Kt.Factory.addGetterSetter(Qt,"borderStroke","rgb(0, 161, 255)"),Kt.Factory.addGetterSetter(Qt,"borderStrokeWidth",1,(0,ks.getNumberValidator)()),Kt.Factory.addGetterSetter(Qt,"borderDash"),Kt.Factory.addGetterSetter(Qt,"keepRatio",!0),Kt.Factory.addGetterSetter(Qt,"shiftBehavior","default"),Kt.Factory.addGetterSetter(Qt,"centeredScaling",!1),Kt.Factory.addGetterSetter(Qt,"ignoreStroke",!1),Kt.Factory.addGetterSetter(Qt,"padding",0,(0,ks.getNumberValidator)()),Kt.Factory.addGetterSetter(Qt,"node"),Kt.Factory.addGetterSetter(Qt,"nodes"),Kt.Factory.addGetterSetter(Qt,"boundBoxFunc"),Kt.Factory.addGetterSetter(Qt,"anchorDragBoundFunc"),Kt.Factory.addGetterSetter(Qt,"anchorStyleFunc"),Kt.Factory.addGetterSetter(Qt,"shouldOverdrawWholeArea",!1),Kt.Factory.addGetterSetter(Qt,"useSingleNodeRotation",!0),Kt.Factory.backCompat(Qt,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var Z1={};Object.defineProperty(Z1,"__esModule",{value:!0}),Z1.Wedge=void 0;const V1=_t,ove=jn,ave=Ct,cT=Xe,sve=Ct;class Ta extends ove.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,ave.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}Z1.Wedge=Ta,Ta.prototype.className="Wedge",Ta.prototype._centroid=!0,Ta.prototype._attrsAffectingSize=["radius"],(0,sve._registerNode)(Ta),V1.Factory.addGetterSetter(Ta,"radius",0,(0,cT.getNumberValidator)()),V1.Factory.addGetterSetter(Ta,"angle",0,(0,cT.getNumberValidator)()),V1.Factory.addGetterSetter(Ta,"clockwise",!1),V1.Factory.backCompat(Ta,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var em={};Object.defineProperty(em,"__esModule",{value:!0}),em.Blur=void 0;const uT=_t,Ave=sn,lve=Xe;function dT(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var cve=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],uve=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function dve(e,t){var n=e.data,r=e.width,o=e.height,a,A,l,c,u,d,f,h,p,g,m,y,w,x,B,E,k,U,T,Q,z,O,R,D,M=t+t+1,L=r-1,q=o-1,G=t+1,J=G*(G+1)/2,X=new dT,W=null,K=X,ne=null,ie=null,le=cve[t],ce=uve[t];for(l=1;l<M;l++)K=K.next=new dT,l===G&&(W=K);for(K.next=X,f=d=0,A=0;A<o;A++){for(E=k=U=T=h=p=g=m=0,y=G*(Q=n[d]),w=G*(z=n[d+1]),x=G*(O=n[d+2]),B=G*(R=n[d+3]),h+=J*Q,p+=J*z,g+=J*O,m+=J*R,K=X,l=0;l<G;l++)K.r=Q,K.g=z,K.b=O,K.a=R,K=K.next;for(l=1;l<G;l++)c=d+((L<l?L:l)<<2),h+=(K.r=Q=n[c])*(D=G-l),p+=(K.g=z=n[c+1])*D,g+=(K.b=O=n[c+2])*D,m+=(K.a=R=n[c+3])*D,E+=Q,k+=z,U+=O,T+=R,K=K.next;for(ne=X,ie=W,a=0;a<r;a++)n[d+3]=R=m*le>>ce,R!==0?(R=255/R,n[d]=(h*le>>ce)*R,n[d+1]=(p*le>>ce)*R,n[d+2]=(g*le>>ce)*R):n[d]=n[d+1]=n[d+2]=0,h-=y,p-=w,g-=x,m-=B,y-=ne.r,w-=ne.g,x-=ne.b,B-=ne.a,c=f+((c=a+t+1)<L?c:L)<<2,E+=ne.r=n[c],k+=ne.g=n[c+1],U+=ne.b=n[c+2],T+=ne.a=n[c+3],h+=E,p+=k,g+=U,m+=T,ne=ne.next,y+=Q=ie.r,w+=z=ie.g,x+=O=ie.b,B+=R=ie.a,E-=Q,k-=z,U-=O,T-=R,ie=ie.next,d+=4;f+=r}for(a=0;a<r;a++){for(k=U=T=E=p=g=m=h=0,d=a<<2,y=G*(Q=n[d]),w=G*(z=n[d+1]),x=G*(O=n[d+2]),B=G*(R=n[d+3]),h+=J*Q,p+=J*z,g+=J*O,m+=J*R,K=X,l=0;l<G;l++)K.r=Q,K.g=z,K.b=O,K.a=R,K=K.next;for(u=r,l=1;l<=t;l++)d=u+a<<2,h+=(K.r=Q=n[d])*(D=G-l),p+=(K.g=z=n[d+1])*D,g+=(K.b=O=n[d+2])*D,m+=(K.a=R=n[d+3])*D,E+=Q,k+=z,U+=O,T+=R,K=K.next,l<q&&(u+=r);for(d=a,ne=X,ie=W,A=0;A<o;A++)c=d<<2,n[c+3]=R=m*le>>ce,R>0?(R=255/R,n[c]=(h*le>>ce)*R,n[c+1]=(p*le>>ce)*R,n[c+2]=(g*le>>ce)*R):n[c]=n[c+1]=n[c+2]=0,h-=y,p-=w,g-=x,m-=B,y-=ne.r,w-=ne.g,x-=ne.b,B-=ne.a,c=a+((c=A+G)<q?c:q)*r<<2,h+=E+=ne.r=n[c],p+=k+=ne.g=n[c+1],g+=U+=ne.b=n[c+2],m+=T+=ne.a=n[c+3],ne=ne.next,y+=Q=ie.r,w+=z=ie.g,x+=O=ie.b,B+=R=ie.a,E-=Q,k-=z,U-=O,T-=R,ie=ie.next,d+=r}}const fve=function(t){var n=Math.round(this.blurRadius());n>0&&dve(t,n)};em.Blur=fve,uT.Factory.addGetterSetter(Ave.Node,"blurRadius",0,(0,lve.getNumberValidator)(),uT.Factory.afterSetFilter);var tm={};Object.defineProperty(tm,"__esModule",{value:!0}),tm.Brighten=void 0;const fT=_t,hve=sn,pve=Xe,gve=function(e){var t=this.brightness()*255,n=e.data,r=n.length,o;for(o=0;o<r;o+=4)n[o]+=t,n[o+1]+=t,n[o+2]+=t};tm.Brighten=gve,fT.Factory.addGetterSetter(hve.Node,"brightness",0,(0,pve.getNumberValidator)(),fT.Factory.afterSetFilter);var nm={};Object.defineProperty(nm,"__esModule",{value:!0}),nm.Contrast=void 0;const hT=_t,mve=sn,vve=Xe,yve=function(e){var t=Math.pow((this.contrast()+100)/100,2),n=e.data,r=n.length,o=150,a=150,A=150,l;for(l=0;l<r;l+=4)o=n[l],a=n[l+1],A=n[l+2],o/=255,o-=.5,o*=t,o+=.5,o*=255,a/=255,a-=.5,a*=t,a+=.5,a*=255,A/=255,A-=.5,A*=t,A+=.5,A*=255,o=o<0?0:o>255?255:o,a=a<0?0:a>255?255:a,A=A<0?0:A>255?255:A,n[l]=o,n[l+1]=a,n[l+2]=A};nm.Contrast=yve,hT.Factory.addGetterSetter(mve.Node,"contrast",0,(0,vve.getNumberValidator)(),hT.Factory.afterSetFilter);var rm={};Object.defineProperty(rm,"__esModule",{value:!0}),rm.Emboss=void 0;const Us=_t,im=sn,wve=gn,pT=Xe,bve=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),o=this.embossBlend(),a=0,A=0,l=e.data,c=e.width,u=e.height,d=c*4,f=u;switch(r){case"top-left":a=-1,A=-1;break;case"top":a=-1,A=0;break;case"top-right":a=-1,A=1;break;case"right":a=0,A=1;break;case"bottom-right":a=1,A=1;break;case"bottom":a=1,A=0;break;case"bottom-left":a=1,A=-1;break;case"left":a=0,A=-1;break;default:wve.Util.error("Unknown emboss direction: "+r)}do{var h=(f-1)*d,p=a;f+p<1&&(p=0),f+p>u&&(p=0);var g=(f-1+p)*c*4,m=c;do{var y=h+(m-1)*4,w=A;m+w<1&&(w=0),m+w>c&&(w=0);var x=g+(m-1+w)*4,B=l[y]-l[x],E=l[y+1]-l[x+1],k=l[y+2]-l[x+2],U=B,T=U>0?U:-U,Q=E>0?E:-E,z=k>0?k:-k;if(Q>T&&(U=E),z>T&&(U=k),U*=t,o){var O=l[y]+U,R=l[y+1]+U,D=l[y+2]+U;l[y]=O>255?255:O<0?0:O,l[y+1]=R>255?255:R<0?0:R,l[y+2]=D>255?255:D<0?0:D}else{var M=n-U;M<0?M=0:M>255&&(M=255),l[y]=l[y+1]=l[y+2]=M}}while(--m)}while(--f)};rm.Emboss=bve,Us.Factory.addGetterSetter(im.Node,"embossStrength",.5,(0,pT.getNumberValidator)(),Us.Factory.afterSetFilter),Us.Factory.addGetterSetter(im.Node,"embossWhiteLevel",.5,(0,pT.getNumberValidator)(),Us.Factory.afterSetFilter),Us.Factory.addGetterSetter(im.Node,"embossDirection","top-left",null,Us.Factory.afterSetFilter),Us.Factory.addGetterSetter(im.Node,"embossBlend",!1,null,Us.Factory.afterSetFilter);var om={};Object.defineProperty(om,"__esModule",{value:!0}),om.Enhance=void 0;const gT=_t,_ve=sn,Bve=Xe;function t_(e,t,n,r,o){var a=n-t,A=o-r,l;return a===0?r+A/2:A===0?r:(l=(e-t)/a,l=A*l+r,l)}const Cve=function(e){var t=e.data,n=t.length,r=t[0],o=r,a,A=t[1],l=A,c,u=t[2],d=u,f,h,p=this.enhance();if(p!==0){for(h=0;h<n;h+=4)a=t[h+0],a<r?r=a:a>o&&(o=a),c=t[h+1],c<A?A=c:c>l&&(l=c),f=t[h+2],f<u?u=f:f>d&&(d=f);o===r&&(o=255,r=0),l===A&&(l=255,A=0),d===u&&(d=255,u=0);var g,m,y,w,x,B,E,k,U;for(p>0?(m=o+p*(255-o),y=r-p*(r-0),x=l+p*(255-l),B=A-p*(A-0),k=d+p*(255-d),U=u-p*(u-0)):(g=(o+r)*.5,m=o+p*(o-g),y=r+p*(r-g),w=(l+A)*.5,x=l+p*(l-w),B=A+p*(A-w),E=(d+u)*.5,k=d+p*(d-E),U=u+p*(u-E)),h=0;h<n;h+=4)t[h+0]=t_(t[h+0],r,o,y,m),t[h+1]=t_(t[h+1],A,l,B,x),t[h+2]=t_(t[h+2],u,d,U,k)}};om.Enhance=Cve,gT.Factory.addGetterSetter(_ve.Node,"enhance",0,(0,Bve.getNumberValidator)(),gT.Factory.afterSetFilter);var am={};Object.defineProperty(am,"__esModule",{value:!0}),am.Grayscale=void 0;const Eve=function(e){var t=e.data,n=t.length,r,o;for(r=0;r<n;r+=4)o=.34*t[r]+.5*t[r+1]+.16*t[r+2],t[r]=o,t[r+1]=o,t[r+2]=o};am.Grayscale=Eve;var sm={};Object.defineProperty(sm,"__esModule",{value:!0}),sm.HSL=void 0;const Dc=_t,n_=sn,r_=Xe;Dc.Factory.addGetterSetter(n_.Node,"hue",0,(0,r_.getNumberValidator)(),Dc.Factory.afterSetFilter),Dc.Factory.addGetterSetter(n_.Node,"saturation",0,(0,r_.getNumberValidator)(),Dc.Factory.afterSetFilter),Dc.Factory.addGetterSetter(n_.Node,"luminance",0,(0,r_.getNumberValidator)(),Dc.Factory.afterSetFilter);const Sve=function(e){var t=e.data,n=t.length,r=1,o=Math.pow(2,this.saturation()),a=Math.abs(this.hue()+360)%360,A=this.luminance()*127,l,c=r*o*Math.cos(a*Math.PI/180),u=r*o*Math.sin(a*Math.PI/180),d=.299*r+.701*c+.167*u,f=.587*r-.587*c+.33*u,h=.114*r-.114*c-.497*u,p=.299*r-.299*c-.328*u,g=.587*r+.413*c+.035*u,m=.114*r-.114*c+.293*u,y=.299*r-.3*c+1.25*u,w=.587*r-.586*c-1.05*u,x=.114*r+.886*c-.2*u,B,E,k,U;for(l=0;l<n;l+=4)B=t[l+0],E=t[l+1],k=t[l+2],U=t[l+3],t[l+0]=d*B+f*E+h*k+A,t[l+1]=p*B+g*E+m*k+A,t[l+2]=y*B+w*E+x*k+A,t[l+3]=U};sm.HSL=Sve;var Am={};Object.defineProperty(Am,"__esModule",{value:!0}),Am.HSV=void 0;const Pc=_t,i_=sn,o_=Xe,xve=function(e){var t=e.data,n=t.length,r=Math.pow(2,this.value()),o=Math.pow(2,this.saturation()),a=Math.abs(this.hue()+360)%360,A,l=r*o*Math.cos(a*Math.PI/180),c=r*o*Math.sin(a*Math.PI/180),u=.299*r+.701*l+.167*c,d=.587*r-.587*l+.33*c,f=.114*r-.114*l-.497*c,h=.299*r-.299*l-.328*c,p=.587*r+.413*l+.035*c,g=.114*r-.114*l+.293*c,m=.299*r-.3*l+1.25*c,y=.587*r-.586*l-1.05*c,w=.114*r+.886*l-.2*c,x,B,E,k;for(A=0;A<n;A+=4)x=t[A+0],B=t[A+1],E=t[A+2],k=t[A+3],t[A+0]=u*x+d*B+f*E,t[A+1]=h*x+p*B+g*E,t[A+2]=m*x+y*B+w*E,t[A+3]=k};Am.HSV=xve,Pc.Factory.addGetterSetter(i_.Node,"hue",0,(0,o_.getNumberValidator)(),Pc.Factory.afterSetFilter),Pc.Factory.addGetterSetter(i_.Node,"saturation",0,(0,o_.getNumberValidator)(),Pc.Factory.afterSetFilter),Pc.Factory.addGetterSetter(i_.Node,"value",0,(0,o_.getNumberValidator)(),Pc.Factory.afterSetFilter);var lm={};Object.defineProperty(lm,"__esModule",{value:!0}),lm.Invert=void 0;const Fve=function(e){var t=e.data,n=t.length,r;for(r=0;r<n;r+=4)t[r]=255-t[r],t[r+1]=255-t[r+1],t[r+2]=255-t[r+2]};lm.Invert=Fve;var cm={};Object.defineProperty(cm,"__esModule",{value:!0}),cm.Kaleidoscope=void 0;const um=_t,mT=sn,vT=gn,yT=Xe;var kve=function(e,t,n){var r=e.data,o=t.data,a=e.width,A=e.height,l=n.polarCenterX||a/2,c=n.polarCenterY||A/2,u,d,f,h=0,p=0,g=0,m=0,y,w=Math.sqrt(l*l+c*c);d=a-l,f=A-c,y=Math.sqrt(d*d+f*f),w=y>w?y:w;var x=A,B=a,E,k,U=360/B*Math.PI/180,T,Q;for(k=0;k<B;k+=1)for(T=Math.sin(k*U),Q=Math.cos(k*U),E=0;E<x;E+=1)d=Math.floor(l+w*E/x*Q),f=Math.floor(c+w*E/x*T),u=(f*a+d)*4,h=r[u+0],p=r[u+1],g=r[u+2],m=r[u+3],u=(k+E*a)*4,o[u+0]=h,o[u+1]=p,o[u+2]=g,o[u+3]=m},Uve=function(e,t,n){var r=e.data,o=t.data,a=e.width,A=e.height,l=n.polarCenterX||a/2,c=n.polarCenterY||A/2,u,d,f,h,p,g=0,m=0,y=0,w=0,x,B=Math.sqrt(l*l+c*c);d=a-l,f=A-c,x=Math.sqrt(d*d+f*f),B=x>B?x:B;var E=A,k=a,U,T,Q=n.polarRotation||0,z,O;for(d=0;d<a;d+=1)for(f=0;f<A;f+=1)h=d-l,p=f-c,U=Math.sqrt(h*h+p*p)*E/B,T=(Math.atan2(p,h)*180/Math.PI+360+Q)%360,T=T*k/360,z=Math.floor(T),O=Math.floor(U),u=(O*a+z)*4,g=r[u+0],m=r[u+1],y=r[u+2],w=r[u+3],u=(f*a+d)*4,o[u+0]=g,o[u+1]=m,o[u+2]=y,o[u+3]=w};const Nve=function(e){var t=e.width,n=e.height,r,o,a,A,l,c,u,d,f,h,p=Math.round(this.kaleidoscopePower()),g=Math.round(this.kaleidoscopeAngle()),m=Math.floor(t*(g%360)/360);if(!(p<1)){var y=vT.Util.createCanvasElement();y.width=t,y.height=n;var w=y.getContext("2d").getImageData(0,0,t,n);vT.Util.releaseCanvas(y),kve(e,w,{polarCenterX:t/2,polarCenterY:n/2});for(var x=t/Math.pow(2,p);x<=8;)x=x*2,p-=1;x=Math.ceil(x);var B=x,E=0,k=B,U=1;for(m+x>t&&(E=B,k=0,U=-1),o=0;o<n;o+=1)for(r=E;r!==k;r+=U)a=Math.round(r+m)%t,f=(t*o+a)*4,l=w.data[f+0],c=w.data[f+1],u=w.data[f+2],d=w.data[f+3],h=(t*o+r)*4,w.data[h+0]=l,w.data[h+1]=c,w.data[h+2]=u,w.data[h+3]=d;for(o=0;o<n;o+=1)for(B=Math.floor(x),A=0;A<p;A+=1){for(r=0;r<B+1;r+=1)f=(t*o+r)*4,l=w.data[f+0],c=w.data[f+1],u=w.data[f+2],d=w.data[f+3],h=(t*o+B*2-r-1)*4,w.data[h+0]=l,w.data[h+1]=c,w.data[h+2]=u,w.data[h+3]=d;B*=2}Uve(w,e,{polarRotation:0})}};cm.Kaleidoscope=Nve,um.Factory.addGetterSetter(mT.Node,"kaleidoscopePower",2,(0,yT.getNumberValidator)(),um.Factory.afterSetFilter),um.Factory.addGetterSetter(mT.Node,"kaleidoscopeAngle",0,(0,yT.getNumberValidator)(),um.Factory.afterSetFilter);var dm={};Object.defineProperty(dm,"__esModule",{value:!0}),dm.Mask=void 0;const wT=_t,Tve=sn,Ive=Xe;function fm(e,t,n){var r=(n*e.width+t)*4,o=[];return o.push(e.data[r++],e.data[r++],e.data[r++],e.data[r++]),o}function Qf(e,t){return Math.sqrt(Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)+Math.pow(e[2]-t[2],2))}function Qve(e){for(var t=[0,0,0],n=0;n<e.length;n++)t[0]+=e[n][0],t[1]+=e[n][1],t[2]+=e[n][2];return t[0]/=e.length,t[1]/=e.length,t[2]/=e.length,t}function Mve(e,t){var n=fm(e,0,0),r=fm(e,e.width-1,0),o=fm(e,0,e.height-1),a=fm(e,e.width-1,e.height-1),A=t||10;if(Qf(n,r)<A&&Qf(r,a)<A&&Qf(a,o)<A&&Qf(o,n)<A){for(var l=Qve([r,n,a,o]),c=[],u=0;u<e.width*e.height;u++){var d=Qf(l,[e.data[u*4],e.data[u*4+1],e.data[u*4+2]]);c[u]=d<A?0:255}return c}}function Lve(e,t){for(var n=0;n<e.width*e.height;n++)e.data[4*n+3]=t[n]}function Ove(e,t,n){for(var r=[1,1,1,1,0,1,1,1,1],o=Math.round(Math.sqrt(r.length)),a=Math.floor(o/2),A=[],l=0;l<n;l++)for(var c=0;c<t;c++){for(var u=l*t+c,d=0,f=0;f<o;f++)for(var h=0;h<o;h++){var p=l+f-a,g=c+h-a;if(p>=0&&p<n&&g>=0&&g<t){var m=p*t+g,y=r[f*o+h];d+=e[m]*y}}A[u]=d===255*8?255:0}return A}function Dve(e,t,n){for(var r=[1,1,1,1,1,1,1,1,1],o=Math.round(Math.sqrt(r.length)),a=Math.floor(o/2),A=[],l=0;l<n;l++)for(var c=0;c<t;c++){for(var u=l*t+c,d=0,f=0;f<o;f++)for(var h=0;h<o;h++){var p=l+f-a,g=c+h-a;if(p>=0&&p<n&&g>=0&&g<t){var m=p*t+g,y=r[f*o+h];d+=e[m]*y}}A[u]=d>=255*4?255:0}return A}function Pve(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],o=Math.round(Math.sqrt(r.length)),a=Math.floor(o/2),A=[],l=0;l<n;l++)for(var c=0;c<t;c++){for(var u=l*t+c,d=0,f=0;f<o;f++)for(var h=0;h<o;h++){var p=l+f-a,g=c+h-a;if(p>=0&&p<n&&g>=0&&g<t){var m=p*t+g,y=r[f*o+h];d+=e[m]*y}}A[u]=d}return A}const Rve=function(e){var t=this.threshold(),n=Mve(e,t);return n&&(n=Ove(n,e.width,e.height),n=Dve(n,e.width,e.height),n=Pve(n,e.width,e.height),Lve(e,n)),e};dm.Mask=Rve,wT.Factory.addGetterSetter(Tve.Node,"threshold",0,(0,Ive.getNumberValidator)(),wT.Factory.afterSetFilter);var hm={};Object.defineProperty(hm,"__esModule",{value:!0}),hm.Noise=void 0;const bT=_t,Hve=sn,$ve=Xe,Kve=function(e){var t=this.noise()*255,n=e.data,r=n.length,o=t/2,a;for(a=0;a<r;a+=4)n[a+0]+=o-2*o*Math.random(),n[a+1]+=o-2*o*Math.random(),n[a+2]+=o-2*o*Math.random()};hm.Noise=Kve,bT.Factory.addGetterSetter(Hve.Node,"noise",.2,(0,$ve.getNumberValidator)(),bT.Factory.afterSetFilter);var pm={};Object.defineProperty(pm,"__esModule",{value:!0}),pm.Pixelate=void 0;const _T=_t,Gve=gn,zve=sn,qve=Xe,jve=function(e){var t=Math.ceil(this.pixelSize()),n=e.width,r=e.height,o,a,A,l,c,u,d,f=Math.ceil(n/t),h=Math.ceil(r/t),p,g,m,y,w,x,B,E=e.data;if(t<=0){Gve.Util.error("pixelSize value can not be <= 0");return}for(w=0;w<f;w+=1)for(x=0;x<h;x+=1){for(l=0,c=0,u=0,d=0,p=w*t,g=p+t,m=x*t,y=m+t,B=0,o=p;o<g;o+=1)if(!(o>=n))for(a=m;a<y;a+=1)a>=r||(A=(n*a+o)*4,l+=E[A+0],c+=E[A+1],u+=E[A+2],d+=E[A+3],B+=1);for(l=l/B,c=c/B,u=u/B,d=d/B,o=p;o<g;o+=1)if(!(o>=n))for(a=m;a<y;a+=1)a>=r||(A=(n*a+o)*4,E[A+0]=l,E[A+1]=c,E[A+2]=u,E[A+3]=d)}};pm.Pixelate=jve,_T.Factory.addGetterSetter(zve.Node,"pixelSize",8,(0,qve.getNumberValidator)(),_T.Factory.afterSetFilter);var gm={};Object.defineProperty(gm,"__esModule",{value:!0}),gm.Posterize=void 0;const BT=_t,Wve=sn,Yve=Xe,Xve=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,o=255/t,a;for(a=0;a<r;a+=1)n[a]=Math.floor(n[a]/o)*o};gm.Posterize=Xve,BT.Factory.addGetterSetter(Wve.Node,"levels",.5,(0,Yve.getNumberValidator)(),BT.Factory.afterSetFilter);var mm={};Object.defineProperty(mm,"__esModule",{value:!0}),mm.RGB=void 0;const vm=_t,a_=sn,Jve=Xe,Zve=function(e){var t=e.data,n=t.length,r=this.red(),o=this.green(),a=this.blue(),A,l;for(A=0;A<n;A+=4)l=(.34*t[A]+.5*t[A+1]+.16*t[A+2])/255,t[A]=l*r,t[A+1]=l*o,t[A+2]=l*a,t[A+3]=t[A+3]};mm.RGB=Zve,vm.Factory.addGetterSetter(a_.Node,"red",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),vm.Factory.addGetterSetter(a_.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),vm.Factory.addGetterSetter(a_.Node,"blue",0,Jve.RGBComponent,vm.Factory.afterSetFilter);var ym={};Object.defineProperty(ym,"__esModule",{value:!0}),ym.RGBA=void 0;const Mf=_t,wm=sn,Vve=Xe,eye=function(e){var t=e.data,n=t.length,r=this.red(),o=this.green(),a=this.blue(),A=this.alpha(),l,c;for(l=0;l<n;l+=4)c=1-A,t[l]=r*A+t[l]*c,t[l+1]=o*A+t[l+1]*c,t[l+2]=a*A+t[l+2]*c};ym.RGBA=eye,Mf.Factory.addGetterSetter(wm.Node,"red",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),Mf.Factory.addGetterSetter(wm.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),Mf.Factory.addGetterSetter(wm.Node,"blue",0,Vve.RGBComponent,Mf.Factory.afterSetFilter),Mf.Factory.addGetterSetter(wm.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var bm={};Object.defineProperty(bm,"__esModule",{value:!0}),bm.Sepia=void 0;const tye=function(e){var t=e.data,n=t.length,r,o,a,A;for(r=0;r<n;r+=4)o=t[r+0],a=t[r+1],A=t[r+2],t[r+0]=Math.min(255,o*.393+a*.769+A*.189),t[r+1]=Math.min(255,o*.349+a*.686+A*.168),t[r+2]=Math.min(255,o*.272+a*.534+A*.131)};bm.Sepia=tye;var _m={};Object.defineProperty(_m,"__esModule",{value:!0}),_m.Solarize=void 0;const nye=function(e){var t=e.data,n=e.width,r=e.height,o=n*4,a=r;do{var A=(a-1)*o,l=n;do{var c=A+(l-1)*4,u=t[c],d=t[c+1],f=t[c+2];u>127&&(u=255-u),d>127&&(d=255-d),f>127&&(f=255-f),t[c]=u,t[c+1]=d,t[c+2]=f}while(--l)}while(--a)};_m.Solarize=nye;var Bm={};Object.defineProperty(Bm,"__esModule",{value:!0}),Bm.Threshold=void 0;const CT=_t,rye=sn,iye=Xe,oye=function(e){var t=this.threshold()*255,n=e.data,r=n.length,o;for(o=0;o<r;o+=1)n[o]=n[o]<t?0:255};Bm.Threshold=oye,CT.Factory.addGetterSetter(rye.Node,"threshold",.5,(0,iye.getNumberValidator)(),CT.Factory.afterSetFilter),Object.defineProperty(w1,"__esModule",{value:!0}),w1.Konva=void 0;const ET=fN,aye=T1,sye=M1,Aye=D1,lye=P1,cye=R1,ST=Lc,uye=kf,dye=Ic,fye=Nf,hye=K1,pye=G1,gye=z1,mye=q1,vye=qA,yye=Y1,wye=X1,bye=Z1,_ye=em,Bye=tm,Cye=nm,Eye=rm,Sye=om,xye=am,Fye=sm,kye=Am,Uye=lm,Nye=cm,Tye=dm,Iye=hm,Qye=pm,Mye=gm,Lye=mm,Oye=ym,Dye=bm,Pye=_m,Rye=Bm;w1.Konva=ET.Konva.Util._assign(ET.Konva,{Arc:aye.Arc,Arrow:sye.Arrow,Circle:Aye.Circle,Ellipse:lye.Ellipse,Image:cye.Image,Label:ST.Label,Tag:ST.Tag,Line:uye.Line,Path:dye.Path,Rect:fye.Rect,RegularPolygon:hye.RegularPolygon,Ring:pye.Ring,Sprite:gye.Sprite,Star:mye.Star,Text:vye.Text,TextPath:yye.TextPath,Transformer:wye.Transformer,Wedge:bye.Wedge,Filters:{Blur:_ye.Blur,Brighten:Bye.Brighten,Contrast:Cye.Contrast,Emboss:Eye.Emboss,Enhance:Sye.Enhance,Grayscale:xye.Grayscale,HSL:Fye.HSL,HSV:kye.HSV,Invert:Uye.Invert,Kaleidoscope:Nye.Kaleidoscope,Mask:Tye.Mask,Noise:Iye.Noise,Pixelate:Qye.Pixelate,Posterize:Mye.Posterize,RGB:Lye.RGB,RGBA:Oye.RGBA,Sepia:Dye.Sepia,Solarize:Pye.Solarize,Threshold:Rye.Threshold}}),Object.defineProperty(y1,"__esModule",{value:!0});const Hye=w1;z1e.exports=Hye.Konva;const _n=VB(y1);function $ye(){this.__data__=[],this.size=0}var Kye=$ye;function Gye(e,t){return e===t||e!==e&&t!==t}var xT=Gye,zye=xT;function qye(e,t){for(var n=e.length;n--;)if(zye(e[n][0],t))return n;return-1}var Cm=qye,jye=Cm,Wye=Array.prototype,Yye=Wye.splice;function Xye(e){var t=this.__data__,n=jye(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():Yye.call(t,n,1),--this.size,!0}var Jye=Xye,Zye=Cm;function Vye(e){var t=this.__data__,n=Zye(t,e);return n<0?void 0:t[n][1]}var e3e=Vye,t3e=Cm;function n3e(e){return t3e(this.__data__,e)>-1}var r3e=n3e,i3e=Cm;function o3e(e,t){var n=this.__data__,r=i3e(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var a3e=o3e,s3e=Kye,A3e=Jye,l3e=e3e,c3e=r3e,u3e=a3e;function Rc(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Rc.prototype.clear=s3e,Rc.prototype.delete=A3e,Rc.prototype.get=l3e,Rc.prototype.has=c3e,Rc.prototype.set=u3e;var Em=Rc,d3e=Em;function f3e(){this.__data__=new d3e,this.size=0}var h3e=f3e;function p3e(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}var g3e=p3e;function m3e(e){return this.__data__.get(e)}var v3e=m3e;function y3e(e){return this.__data__.has(e)}var w3e=y3e,b3e=Ef,_3e=QA,B3e="[object AsyncFunction]",C3e="[object Function]",E3e="[object GeneratorFunction]",S3e="[object Proxy]";function x3e(e){if(!_3e(e))return!1;var t=b3e(e);return t==C3e||t==E3e||t==B3e||t==S3e}var FT=x3e,F3e=io,k3e=F3e["__core-js_shared__"],U3e=k3e,s_=U3e,kT=function(){var e=/[^.]+$/.exec(s_&&s_.keys&&s_.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function N3e(e){return!!kT&&kT in e}var T3e=N3e,I3e=Function.prototype,Q3e=I3e.toString;function M3e(e){if(e!=null){try{return Q3e.call(e)}catch(t){}try{return e+""}catch(t){}}return""}var UT=M3e,L3e=FT,O3e=T3e,D3e=QA,P3e=UT,R3e=/[\\^$.*+?()[\]{}|]/g,H3e=/^\[object .+?Constructor\]$/,$3e=Function.prototype,K3e=Object.prototype,G3e=$3e.toString,z3e=K3e.hasOwnProperty,q3e=RegExp("^"+G3e.call(z3e).replace(R3e,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function j3e(e){if(!D3e(e)||O3e(e))return!1;var t=L3e(e)?q3e:H3e;return t.test(P3e(e))}var W3e=j3e;function Y3e(e,t){return e==null?void 0:e[t]}var X3e=Y3e,J3e=W3e,Z3e=X3e;function V3e(e,t){var n=Z3e(e,t);return J3e(n)?n:void 0}var jA=V3e,e4e=jA,t4e=io,n4e=e4e(t4e,"Map"),A_=n4e,r4e=jA,i4e=r4e(Object,"create"),Sm=i4e,NT=Sm;function o4e(){this.__data__=NT?NT(null):{},this.size=0}var a4e=o4e;function s4e(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var A4e=s4e,l4e=Sm,c4e="__lodash_hash_undefined__",u4e=Object.prototype,d4e=u4e.hasOwnProperty;function f4e(e){var t=this.__data__;if(l4e){var n=t[e];return n===c4e?void 0:n}return d4e.call(t,e)?t[e]:void 0}var h4e=f4e,p4e=Sm,g4e=Object.prototype,m4e=g4e.hasOwnProperty;function v4e(e){var t=this.__data__;return p4e?t[e]!==void 0:m4e.call(t,e)}var y4e=v4e,w4e=Sm,b4e="__lodash_hash_undefined__";function _4e(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=w4e&&t===void 0?b4e:t,this}var B4e=_4e,C4e=a4e,E4e=A4e,S4e=h4e,x4e=y4e,F4e=B4e;function Hc(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Hc.prototype.clear=C4e,Hc.prototype.delete=E4e,Hc.prototype.get=S4e,Hc.prototype.has=x4e,Hc.prototype.set=F4e;var k4e=Hc,TT=k4e,U4e=Em,N4e=A_;function T4e(){this.size=0,this.__data__={hash:new TT,map:new(N4e||U4e),string:new TT}}var I4e=T4e;function Q4e(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var M4e=Q4e,L4e=M4e;function O4e(e,t){var n=e.__data__;return L4e(t)?n[typeof t=="string"?"string":"hash"]:n.map}var xm=O4e,D4e=xm;function P4e(e){var t=D4e(this,e).delete(e);return this.size-=t?1:0,t}var R4e=P4e,H4e=xm;function $4e(e){return H4e(this,e).get(e)}var K4e=$4e,G4e=xm;function z4e(e){return G4e(this,e).has(e)}var q4e=z4e,j4e=xm;function W4e(e,t){var n=j4e(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}var Y4e=W4e,X4e=I4e,J4e=R4e,Z4e=K4e,V4e=q4e,ewe=Y4e;function $c(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}$c.prototype.clear=X4e,$c.prototype.delete=J4e,$c.prototype.get=Z4e,$c.prototype.has=V4e,$c.prototype.set=ewe;var twe=$c,nwe=Em,rwe=A_,iwe=twe,owe=200;function awe(e,t){var n=this.__data__;if(n instanceof nwe){var r=n.__data__;if(!rwe||r.length<owe-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new iwe(r)}return n.set(e,t),this.size=n.size,this}var swe=awe,Awe=Em,lwe=h3e,cwe=g3e,uwe=v3e,dwe=w3e,fwe=swe;function Kc(e){var t=this.__data__=new Awe(e);this.size=t.size}Kc.prototype.clear=lwe,Kc.prototype.delete=cwe,Kc.prototype.get=uwe,Kc.prototype.has=dwe,Kc.prototype.set=fwe;var hwe=Kc;function pwe(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}var gwe=pwe,mwe=jA,vwe=function(){try{var e=mwe(Object,"defineProperty");return e({},"",{}),e}catch(t){}}(),ywe=vwe,IT=ywe;function wwe(e,t,n){t=="__proto__"&&IT?IT(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var QT=wwe,bwe=QT,_we=xT,Bwe=Object.prototype,Cwe=Bwe.hasOwnProperty;function Ewe(e,t,n){var r=e[t];(!(Cwe.call(e,t)&&_we(r,n))||n===void 0&&!(t in e))&&bwe(e,t,n)}var MT=Ewe,Swe=MT,xwe=QT;function Fwe(e,t,n,r){var o=!n;n||(n={});for(var a=-1,A=t.length;++a<A;){var l=t[a],c=r?r(n[l],e[l],l,n,e):void 0;c===void 0&&(c=e[l]),o?xwe(n,l,c):Swe(n,l,c)}return n}var Fm=Fwe;function kwe(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var Uwe=kwe,Nwe=Ef,Twe=Sc,Iwe="[object Arguments]";function Qwe(e){return Twe(e)&&Nwe(e)==Iwe}var Mwe=Qwe,LT=Mwe,Lwe=Sc,OT=Object.prototype,Owe=OT.hasOwnProperty,Dwe=OT.propertyIsEnumerable,Pwe=LT(function(){return arguments}())?LT:function(e){return Lwe(e)&&Owe.call(e,"callee")&&!Dwe.call(e,"callee")},Rwe=Pwe,Hwe=Array.isArray,l_=Hwe,Lf={},$we={get exports(){return Lf},set exports(e){Lf=e}};function Kwe(){return!1}var Gwe=Kwe;(function(e,t){var n=io,r=Gwe,o=t&&!t.nodeType&&t,a=o&&!0&&e&&!e.nodeType&&e,A=a&&a.exports===o,l=A?n.Buffer:void 0,c=l?l.isBuffer:void 0,u=c||r;e.exports=u})($we,Lf);var zwe=9007199254740991,qwe=/^(?:0|[1-9]\d*)$/;function jwe(e,t){var n=typeof e;return t=t==null?zwe:t,!!t&&(n=="number"||n!="symbol"&&qwe.test(e))&&e>-1&&e%1==0&&e<t}var Wwe=jwe,Ywe=9007199254740991;function Xwe(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Ywe}var DT=Xwe,Jwe=Ef,Zwe=DT,Vwe=Sc,ebe="[object Arguments]",tbe="[object Array]",nbe="[object Boolean]",rbe="[object Date]",ibe="[object Error]",obe="[object Function]",abe="[object Map]",sbe="[object Number]",Abe="[object Object]",lbe="[object RegExp]",cbe="[object Set]",ube="[object String]",dbe="[object WeakMap]",fbe="[object ArrayBuffer]",hbe="[object DataView]",pbe="[object Float32Array]",gbe="[object Float64Array]",mbe="[object Int8Array]",vbe="[object Int16Array]",ybe="[object Int32Array]",wbe="[object Uint8Array]",bbe="[object Uint8ClampedArray]",_be="[object Uint16Array]",Bbe="[object Uint32Array]",nn={};nn[pbe]=nn[gbe]=nn[mbe]=nn[vbe]=nn[ybe]=nn[wbe]=nn[bbe]=nn[_be]=nn[Bbe]=!0,nn[ebe]=nn[tbe]=nn[fbe]=nn[nbe]=nn[hbe]=nn[rbe]=nn[ibe]=nn[obe]=nn[abe]=nn[sbe]=nn[Abe]=nn[lbe]=nn[cbe]=nn[ube]=nn[dbe]=!1;function Cbe(e){return Vwe(e)&&Zwe(e.length)&&!!nn[Jwe(e)]}var Ebe=Cbe;function Sbe(e){return function(t){return e(t)}}var c_=Sbe,Gc={},xbe={get exports(){return Gc},set exports(e){Gc=e}};(function(e,t){var n=IU,r=t&&!t.nodeType&&t,o=r&&!0&&e&&!e.nodeType&&e,a=o&&o.exports===r,A=a&&n.process,l=function(){try{var c=o&&o.require&&o.require("util").types;return c||A&&A.binding&&A.binding("util")}catch(u){}}();e.exports=l})(xbe,Gc);var Fbe=Ebe,kbe=c_,PT=Gc,RT=PT&&PT.isTypedArray,Ube=RT?kbe(RT):Fbe,Nbe=Ube,Tbe=Uwe,Ibe=Rwe,Qbe=l_,Mbe=Lf,Lbe=Wwe,Obe=Nbe,Dbe=Object.prototype,Pbe=Dbe.hasOwnProperty;function Rbe(e,t){var n=Qbe(e),r=!n&&Ibe(e),o=!n&&!r&&Mbe(e),a=!n&&!r&&!o&&Obe(e),A=n||r||o||a,l=A?Tbe(e.length,String):[],c=l.length;for(var u in e)(t||Pbe.call(e,u))&&!(A&&(u=="length"||o&&(u=="offset"||u=="parent")||a&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Lbe(u,c)))&&l.push(u);return l}var HT=Rbe,Hbe=Object.prototype;function $be(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||Hbe;return e===n}var u_=$be;function Kbe(e,t){return function(n){return e(t(n))}}var $T=Kbe,Gbe=$T,zbe=Gbe(Object.keys,Object),qbe=zbe,jbe=u_,Wbe=qbe,Ybe=Object.prototype,Xbe=Ybe.hasOwnProperty;function Jbe(e){if(!jbe(e))return Wbe(e);var t=[];for(var n in Object(e))Xbe.call(e,n)&&n!="constructor"&&t.push(n);return t}var Zbe=Jbe,Vbe=FT,e_e=DT;function t_e(e){return e!=null&&e_e(e.length)&&!Vbe(e)}var KT=t_e,n_e=HT,r_e=Zbe,i_e=KT;function o_e(e){return i_e(e)?n_e(e):r_e(e)}var d_=o_e,a_e=Fm,s_e=d_;function A_e(e,t){return e&&a_e(t,s_e(t),e)}var l_e=A_e;function c_e(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var u_e=c_e,d_e=QA,f_e=u_,h_e=u_e,p_e=Object.prototype,g_e=p_e.hasOwnProperty;function m_e(e){if(!d_e(e))return h_e(e);var t=f_e(e),n=[];for(var r in e)r=="constructor"&&(t||!g_e.call(e,r))||n.push(r);return n}var v_e=m_e,y_e=HT,w_e=v_e,b_e=KT;function __e(e){return b_e(e)?y_e(e,!0):w_e(e)}var f_=__e,B_e=Fm,C_e=f_;function E_e(e,t){return e&&B_e(t,C_e(t),e)}var S_e=E_e,km={},x_e={get exports(){return km},set exports(e){km=e}};(function(e,t){var n=io,r=t&&!t.nodeType&&t,o=r&&!0&&e&&!e.nodeType&&e,a=o&&o.exports===r,A=a?n.Buffer:void 0,l=A?A.allocUnsafe:void 0;function c(u,d){if(d)return u.slice();var f=u.length,h=l?l(f):new u.constructor(f);return u.copy(h),h}e.exports=c})(x_e,km);function F_e(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}var k_e=F_e;function U_e(e,t){for(var n=-1,r=e==null?0:e.length,o=0,a=[];++n<r;){var A=e[n];t(A,n,e)&&(a[o++]=A)}return a}var N_e=U_e;function T_e(){return[]}var GT=T_e,I_e=N_e,Q_e=GT,M_e=Object.prototype,L_e=M_e.propertyIsEnumerable,zT=Object.getOwnPropertySymbols,O_e=zT?function(e){return e==null?[]:(e=Object(e),I_e(zT(e),function(t){return L_e.call(e,t)}))}:Q_e,h_=O_e,D_e=Fm,P_e=h_;function R_e(e,t){return D_e(e,P_e(e),t)}var H_e=R_e;function $_e(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}var qT=$_e,K_e=$T,G_e=K_e(Object.getPrototypeOf,Object),jT=G_e,z_e=qT,q_e=jT,j_e=h_,W_e=GT,Y_e=Object.getOwnPropertySymbols,X_e=Y_e?function(e){for(var t=[];e;)z_e(t,j_e(e)),e=q_e(e);return t}:W_e,WT=X_e,J_e=Fm,Z_e=WT;function V_e(e,t){return J_e(e,Z_e(e),t)}var e5e=V_e,t5e=qT,n5e=l_;function r5e(e,t,n){var r=t(e);return n5e(e)?r:t5e(r,n(e))}var YT=r5e,i5e=YT,o5e=h_,a5e=d_;function s5e(e){return i5e(e,a5e,o5e)}var A5e=s5e,l5e=YT,c5e=WT,u5e=f_;function d5e(e){return l5e(e,u5e,c5e)}var f5e=d5e,h5e=jA,p5e=io,g5e=h5e(p5e,"DataView"),m5e=g5e,v5e=jA,y5e=io,w5e=v5e(y5e,"Promise"),b5e=w5e,_5e=jA,B5e=io,C5e=_5e(B5e,"Set"),E5e=C5e,S5e=jA,x5e=io,F5e=S5e(x5e,"WeakMap"),k5e=F5e,p_=m5e,g_=A_,m_=b5e,v_=E5e,y_=k5e,XT=Ef,zc=UT,JT="[object Map]",U5e="[object Object]",ZT="[object Promise]",VT="[object Set]",eI="[object WeakMap]",tI="[object DataView]",N5e=zc(p_),T5e=zc(g_),I5e=zc(m_),Q5e=zc(v_),M5e=zc(y_),WA=XT;(p_&&WA(new p_(new ArrayBuffer(1)))!=tI||g_&&WA(new g_)!=JT||m_&&WA(m_.resolve())!=ZT||v_&&WA(new v_)!=VT||y_&&WA(new y_)!=eI)&&(WA=function(e){var t=XT(e),n=t==U5e?e.constructor:void 0,r=n?zc(n):"";if(r)switch(r){case N5e:return tI;case T5e:return JT;case I5e:return ZT;case Q5e:return VT;case M5e:return eI}return t});var w_=WA,L5e=Object.prototype,O5e=L5e.hasOwnProperty;function D5e(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]=="string"&&O5e.call(e,"index")&&(n.index=e.index,n.input=e.input),n}var P5e=D5e,R5e=io,H5e=R5e.Uint8Array,$5e=H5e,nI=$5e;function K5e(e){var t=new e.constructor(e.byteLength);return new nI(t).set(new nI(e)),t}var b_=K5e,G5e=b_;function z5e(e,t){var n=t?G5e(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var q5e=z5e,j5e=/\w*$/;function W5e(e){var t=new e.constructor(e.source,j5e.exec(e));return t.lastIndex=e.lastIndex,t}var Y5e=W5e,rI=yb,iI=rI?rI.prototype:void 0,oI=iI?iI.valueOf:void 0;function X5e(e){return oI?Object(oI.call(e)):{}}var J5e=X5e,Z5e=b_;function V5e(e,t){var n=t?Z5e(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var e6e=V5e,t6e=b_,n6e=q5e,r6e=Y5e,i6e=J5e,o6e=e6e,a6e="[object Boolean]",s6e="[object Date]",A6e="[object Map]",l6e="[object Number]",c6e="[object RegExp]",u6e="[object Set]",d6e="[object String]",f6e="[object Symbol]",h6e="[object ArrayBuffer]",p6e="[object DataView]",g6e="[object Float32Array]",m6e="[object Float64Array]",v6e="[object Int8Array]",y6e="[object Int16Array]",w6e="[object Int32Array]",b6e="[object Uint8Array]",_6e="[object Uint8ClampedArray]",B6e="[object Uint16Array]",C6e="[object Uint32Array]";function E6e(e,t,n){var r=e.constructor;switch(t){case h6e:return t6e(e);case a6e:case s6e:return new r(+e);case p6e:return n6e(e,n);case g6e:case m6e:case v6e:case y6e:case w6e:case b6e:case _6e:case B6e:case C6e:return o6e(e,n);case A6e:return new r;case l6e:case d6e:return new r(e);case c6e:return r6e(e);case u6e:return new r;case f6e:return i6e(e)}}var S6e=E6e,x6e=QA,aI=Object.create,F6e=function(){function e(){}return function(t){if(!x6e(t))return{};if(aI)return aI(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}(),k6e=F6e,U6e=k6e,N6e=jT,T6e=u_;function I6e(e){return typeof e.constructor=="function"&&!T6e(e)?U6e(N6e(e)):{}}var Q6e=I6e,M6e=w_,L6e=Sc,O6e="[object Map]";function D6e(e){return L6e(e)&&M6e(e)==O6e}var P6e=D6e,R6e=P6e,H6e=c_,sI=Gc,AI=sI&&sI.isMap,$6e=AI?H6e(AI):R6e,K6e=$6e,G6e=w_,z6e=Sc,q6e="[object Set]";function j6e(e){return z6e(e)&&G6e(e)==q6e}var W6e=j6e,Y6e=W6e,X6e=c_,lI=Gc,cI=lI&&lI.isSet,J6e=cI?X6e(cI):Y6e,Z6e=J6e,V6e=hwe,e8e=gwe,t8e=MT,n8e=l_e,r8e=S_e,i8e=km,o8e=k_e,a8e=H_e,s8e=e5e,A8e=A5e,l8e=f5e,c8e=w_,u8e=P5e,d8e=S6e,f8e=Q6e,h8e=l_,p8e=Lf,g8e=K6e,m8e=QA,v8e=Z6e,y8e=d_,w8e=f_,b8e=1,_8e=2,B8e=4,uI="[object Arguments]",C8e="[object Array]",E8e="[object Boolean]",S8e="[object Date]",x8e="[object Error]",dI="[object Function]",F8e="[object GeneratorFunction]",k8e="[object Map]",U8e="[object Number]",fI="[object Object]",N8e="[object RegExp]",T8e="[object Set]",I8e="[object String]",Q8e="[object Symbol]",M8e="[object WeakMap]",L8e="[object ArrayBuffer]",O8e="[object DataView]",D8e="[object Float32Array]",P8e="[object Float64Array]",R8e="[object Int8Array]",H8e="[object Int16Array]",$8e="[object Int32Array]",K8e="[object Uint8Array]",G8e="[object Uint8ClampedArray]",z8e="[object Uint16Array]",q8e="[object Uint32Array]",Zt={};Zt[uI]=Zt[C8e]=Zt[L8e]=Zt[O8e]=Zt[E8e]=Zt[S8e]=Zt[D8e]=Zt[P8e]=Zt[R8e]=Zt[H8e]=Zt[$8e]=Zt[k8e]=Zt[U8e]=Zt[fI]=Zt[N8e]=Zt[T8e]=Zt[I8e]=Zt[Q8e]=Zt[K8e]=Zt[G8e]=Zt[z8e]=Zt[q8e]=!0,Zt[x8e]=Zt[dI]=Zt[M8e]=!1;function Um(e,t,n,r,o,a){var A,l=t&b8e,c=t&_8e,u=t&B8e;if(n&&(A=o?n(e,r,o,a):n(e)),A!==void 0)return A;if(!m8e(e))return e;var d=h8e(e);if(d){if(A=u8e(e),!l)return o8e(e,A)}else{var f=c8e(e),h=f==dI||f==F8e;if(p8e(e))return i8e(e,l);if(f==fI||f==uI||h&&!o){if(A=c||h?{}:f8e(e),!l)return c?s8e(e,r8e(A,e)):a8e(e,n8e(A,e))}else{if(!Zt[f])return o?e:{};A=d8e(e,f,l)}}a||(a=new V6e);var p=a.get(e);if(p)return p;a.set(e,A),v8e(e)?e.forEach(function(y){A.add(Um(y,t,n,y,e,a))}):g8e(e)&&e.forEach(function(y,w){A.set(w,Um(y,t,n,w,e,a))});var g=u?c?l8e:A8e:c?w8e:y8e,m=d?void 0:g(e);return e8e(m||e,function(y,w){m&&(w=y,y=e[w]),t8e(A,w,Um(y,t,n,w,e,a))}),A}var j8e=Um,W8e=j8e,Y8e=1,X8e=4;function J8e(e){return W8e(e,Y8e|X8e)}var Z8e=J8e;const IEe="",QEe="",V8e={components:{InfoFilled:Hv},mixins:[Qo],inject:["hasLevel"],props:{axis:{required:!0,type:Object,default:()=>({x:0,y:0})},show:{required:!0,type:Boolean,default:!1},nodeInfo:{required:!0,type:Array,default:()=>[]},menuOptions:{required:!0,type:Array,default:()=>[]},border:{type:Boolean,required:!1,default:!0},itemWidth:{type:Number,required:!1,default:206},itemHeight:{type:Number,required:!1,default:36},itemSize:{type:Number,required:!1,default:14},offset:{type:Object,required:!1,default:()=>({x:6,y:2})},borderWidth:{type:Number,required:!1,default:6},history:{type:Object,required:!0,default:()=>{}},moduleDetail:{type:Object,required:!0,default:()=>{}}},emits:["contextmenu-click"],data(){return{checkedItems:{},globalMenus:vhe,maxMulti:6}},computed:{checkboxMenu(){return this.nodeInfo.length>1?[]:this.menuOptions},canGoDetail(){var e,t,n,r;return((t=(e=this.moduleDetail)==null?void 0:e.config)==null?void 0:t.jumpDetail)&&((r=this.moduleDetail)==null?void 0:r.config.jumpRule[(n=this.nodeInfo[0])==null?void 0:n.type])},systemMenu(){var r,o,a,A,l,c,u;const e=[];if(this.nodeInfo.length===1){const d=this.nodeInfo[0];d.type!=="aggregation"&&d.type!=="nodeType"&&(e.push(hb),(r=this.history.keyNodeIds)!=null&&r.some(y=>y===d.id)||(e.push(mb),(a=(o=this.moduleDetail)==null?void 0:o.config)!=null&&a.hideCollectMenu||e.push(d.collect?gb:pb),e.push(d.textProp==="name"?ub:cb),d.label&&e.push(d.textProp==="label"?db:fb)),this.canGoDetail&&e.push(NU)),e.push(d.fx?lb:Ab);const f=this.history.dataNow.links.some(m=>m.source.id===d.id&&m.target.type==="aggregation"),g=this.history.dataNow.links.filter(m=>m.source.id===d.id).map(m=>m.target).some(m=>{let y=0;return this.history.dataNow.links.map(w=>{w.source.id===m.id&&y++}),y===0});f||d.type==="aggregation"?e.push(FU):g&&e.push(xU),g&&e.push(SU),e.push(vb)}else this.nodeInfo.length>1?(e.push(mb,hb),e.push(this.nodeInfo.some(f=>!f.collect)?pb:gb),this.nodeInfo.some(f=>f.label)&&e.push(this.nodeInfo.some(f=>f.textProp!=="label")?fb:db),e.push(this.nodeInfo.some(f=>f.textProp!=="name")?cb:ub),e.push(this.nodeInfo.some(f=>!f.fx)?Ab:lb),e.push(vb)):this.nodeInfo.length===0&&(this.history.dataNow.nodes.some(f=>f.label)&&e.push(this.history.dataNow.nodes.some(f=>f.textProp!=="label")?BU:_U),e.push(this.history.dataNow.nodes.some(f=>f.textProp!=="name")?wU:bU),e.push(this.history.dataNow.nodes.some(f=>!f.fx)?vU:yU),this.history.currentIndex>0&&e.push(CU),this.history.currentIndex<this.history.length-1&&e.push(EU));const t=(A=this.nodeInfo[0])==null?void 0:A.type,n=(u=(c=(l=this.nodeInfo[0])==null?void 0:l.detail)==null?void 0:c.info)==null?void 0:u.extraNodeContextMenus;return t!=="nodeType"&&(n!=null&&n.length)&&(n.forEach(d=>{d.icon||(d.icon="button_edit_label")}),e.push(...n)),e},totalHeight(){let e=this.menuOptions.length*(this.itemHeight+5)+10+44+48+5,t=this.systemMenu.length*(this.itemHeight+5)+10+44+5;return e=this.menuOptions.length===0?0:44,t=this.systemMenu.length===0?0:44,e+t},axisComputed(){const e=document.getElementsByClassName("d3-container")[0],t=this.axis.top-e.offsetTop;return{top:(t<e.offsetHeight/2?Math.min(t+this.offset.y,Math.max(e.offsetHeight-this.totalHeight,e.getBoundingClientRect().top)):Math.max(t+this.offset.y,this.totalHeight+e.getBoundingClientRect().top))+"px",left:this.axis.left+this.offset.x+"px",transform:`translate(${this.axis.left>e.offsetWidth/2?"-100%":"0%"}, ${t>e.offsetHeight/2?"-100%":"0%"})`}},liStyle(){return{width:this.itemWidth+"px",height:this.itemHeight+"px",lineHeight:this.itemHeight+"px",fontSize:this.itemSize+"px"}},firstLeft(){const e=document.body.offsetWidth;return this.axis.left+this.itemWidth*2>=e},secondLeft(){const e=document.body.offsetWidth;return this.axis.left+this.itemWidth*3>=e},checkedItemsFinal(){return Object.keys(this.checkedItems).filter(e=>this.checkedItems[e]).map(e=>this.checkedItems[e])},haveInterface(){let e=!1;return this.menuOptions.map(t=>{t.type===1&&(e=!0)}),e}},watch:{show(){this.checkedItems={}}},methods:{handleCollapse(){},isSystemItem(e){return e.type===2},isExternalItem(e){return e.type===3},hasChildren(e){var t;return((t=e==null?void 0:e.children)==null?void 0:t.length)>0},onCheck(e,t){this.checkedItems[t.name]=e.currentTarget.checked?t:!1},secondBorderCheck(e,t=0){const n=document.body.offsetWidth,r=document.body.offsetHeight,o=this.axis.top+(e+t)*this.itemHeight;return{left:this.axis.left+this.itemWidth*2>=n?"-100%":"100%",top:r>=o?0:"auto",bottom:r<o?0:"auto"}},thirdBorderCheck(e,t,n,r){const o=document.body.offsetWidth,a=document.body.offsetHeight,A=this.secondBorderCheck(e,n).top;let l;const c=(t+r)*this.itemHeight,u=c>180?180:c;return A===0?l=this.axis.top+e*this.itemHeight+u:l=this.axis.top-e*this.itemHeight+u,{left:this.axis.left+this.itemWidth*3>=o?"-100%":"100%",bottom:a>=l?0:"auto",top:a<l?0:"auto"}},handleClick(e,t){if(!t){if(wr({cId:"contextMenu-"+e.name,c:"右键菜单-"+e.namec}),e.has_child>0)return!1;Ze(this,"contextmenu-click",{nodes:this.nodeInfo,api:e})}},handleDataClick(e,t){wr({cId:"contextMenu-"+e.name,c:"右键菜单-"+e.namec}),Ze(this,"contextmenu-click",{nodes:this.nodeInfo,api:t,dataApi:e}),this.checkedItems={}}}},YA=e=>(s.pushScopeId("data-v-5517c890"),e=e(),s.popScopeId(),e),eBe={"aria-hidden":"true",style:{position:"absolute",width:"0",height:"0",overflow:"hidden",display:"none"}},tBe=[YA(()=>s.createElementVNode("symbol",{id:"icon-arrow-right",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{d:"M288.791335 65.582671l446.41733 446.417329-446.41733 446.417329z"})],-1))],nBe={class:"cm-list"},rBe={class:"cm-ul"},iBe={class:"hd"},oBe=["src"],aBe=YA(()=>s.createElementVNode("i",{class:"el-icon el-icon-arrow-right"},null,-1)),sBe={class:"bd"},ABe={class:"cm-ul cm-ul-level1"},lBe=["title"],cBe=YA(()=>s.createElementVNode("svg",{class:"icon","aria-hidden":"true"},[s.createElementVNode("use",{"xlink:href":"#icon-arrow-right"})],-1)),uBe=["title","onClick"],dBe=["title","onClick"],fBe={key:0,class:"icon","aria-hidden":"true"},hBe=[YA(()=>s.createElementVNode("use",{"xlink:href":"#icon-arrow-right"},null,-1))],pBe=["title","onClick"],gBe=["src"],mBe=YA(()=>s.createElementVNode("div",{class:"bd"},null,-1)),vBe=["title","onClick"],yBe={key:0,class:"fas el-icon-fa-cog"},wBe={key:1,class:"fas el-icon-fa-external-link-alt"},bBe={class:"text-wrapper"},_Be=["src"],BBe=["src"],CBe={key:3,class:"shortcut"},EBe={key:2,class:"icon","aria-hidden":"true"},SBe=[YA(()=>s.createElementVNode("use",{"xlink:href":"#icon-arrow-right"},null,-1))],xBe=["title","onClick"],FBe={key:1,class:"icon","aria-hidden":"true"},kBe=[YA(()=>s.createElementVNode("use",{"xlink:href":"#icon-arrow-right"},null,-1))],UBe=["title","onClick"];function NBe(e,t,n,r,o,a){const A=s.resolveComponent("InfoFilled"),l=Ht,c=Ei;return n.show?(s.openBlock(),s.createElementBlock("div",{key:0,class:"cm-container",style:s.normalizeStyle(a.axisComputed),onClick:t[1]||(t[1]=s.withModifiers((...u)=>a.handleCollapse&&a.handleCollapse(...u),["stop"]))},[(s.openBlock(),s.createElementBlock("svg",eBe,tBe)),s.createElementVNode("div",nBe,[s.createElementVNode("ul",rBe,[a.checkboxMenu.length>0?(s.openBlock(),s.createElementBlock("li",{key:0,class:"cm-li data-opt-wrapper",style:s.normalizeStyle(a.liStyle)},[s.createElementVNode("div",iBe,[s.createElementVNode("img",{src:e.imgPath["./public/d3svg1/button18/button_relation.svg"],style:{"margin-right":"10px"}},null,8,oBe),s.createTextVNode("按关系分类拓线"),aBe]),s.createElementVNode("div",sBe,[s.createElementVNode("ul",ABe,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.checkboxMenu,(u,d)=>(s.openBlock(),s.createElementBlock("li",{key:d,class:"cm-li context-one",style:s.normalizeStyle(a.liStyle)},[a.hasChildren(u)?(s.openBlock(),s.createElementBlock("div",{key:0,class:s.normalizeClass(["cm-item",a.firstLeft?"cm-left":""]),title:u.namec},[s.createElementVNode("span",null,s.toDisplayString(u.namec),1),cBe],10,lBe)):(s.openBlock(),s.createElementBlock("div",{key:1,class:s.normalizeClass(["cm-item",a.firstLeft?"cm-left":""]),title:u.namec,onClick:s.withModifiers(f=>a.handleDataClick(u,o.globalMenus.expandPartNode),["stop"])},[s.createElementVNode("span",null,s.toDisplayString(u.namec),1)],10,uBe)),a.hasChildren(u)?(s.openBlock(),s.createElementBlock("ul",{key:2,class:"cm-ul cm-ul-level2",style:s.normalizeStyle(a.secondBorderCheck(d,u.children.length))},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(u.children,(f,h)=>(s.openBlock(),s.createElementBlock("li",{key:h,class:"cm-li",style:s.normalizeStyle(a.liStyle)},[s.createElementVNode("div",{class:s.normalizeClass(["cm-item",a.secondLeft?"cm-left":""]),title:f.namec,onClick:s.withModifiers(p=>a.handleDataClick(f,o.globalMenus.expandPartNode),["stop"])},[s.createElementVNode("span",null,s.toDisplayString(f.namec),1),a.hasChildren(f)?(s.openBlock(),s.createElementBlock("svg",fBe,hBe)):s.createCommentVNode("",!0)],10,dBe),a.hasChildren(f)?(s.openBlock(),s.createElementBlock("ul",{key:0,class:"cm-ul cm-ul-level3",style:s.normalizeStyle(a.thirdBorderCheck(d,h,u.children.length,f.children.length))},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(f.children,(p,g)=>(s.openBlock(),s.createElementBlock("li",{key:g,class:"cm-li",style:s.normalizeStyle(a.liStyle)},[s.createElementVNode("div",{class:"cm-item",title:p.namec,onClick:s.withModifiers(m=>a.handleDataClick(p,o.globalMenus.expandPartNode),["stop"])},[s.createElementVNode("span",null,s.toDisplayString(p.namec),1)],8,pBe)],4))),128))],4)):s.createCommentVNode("",!0)],4))),128))],4)):s.createCommentVNode("",!0)],4))),128))])])],4)):n.nodeInfo.length>1&&n.nodeInfo.length<o.maxMulti?(s.openBlock(),s.createElementBlock("li",{key:1,class:"cm-li data-opt-wrapper data-opt-all",style:s.normalizeStyle(a.liStyle)},[s.createElementVNode("div",{class:"hd",onClick:t[0]||(t[0]=s.withModifiers(u=>a.handleDataClick(null,o.globalMenus.expandNode),["stop"]))},[s.createElementVNode("img",{src:e.imgPath["./public/d3svg1/button18/button_relation.svg"],style:{"margin-right":"10px"}},null,8,gBe),s.createTextVNode("展开全部关系 ")]),mBe],4)):s.createCommentVNode("",!0),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.systemMenu,(u,d)=>(s.openBlock(),s.createElementBlock("li",{key:d,class:"cm-li",style:s.normalizeStyle(a.liStyle)},[s.createElementVNode("div",{class:s.normalizeClass(["cm-item",{"cm-left":a.firstLeft,disabled:u.disabled}]),title:u.namec,onClick:s.withModifiers(f=>a.handleClick(u,u.disabled),["stop"])},[a.isSystemItem(u)?(s.openBlock(),s.createElementBlock("i",yBe)):a.isExternalItem(u)?(s.openBlock(),s.createElementBlock("i",wBe)):s.createCommentVNode("",!0),s.createElementVNode("div",bBe,[u.icon?(s.openBlock(),s.createElementBlock("img",{key:0,src:e.imgPath["./public/d3svg1/button18/"+u.icon+".svg"],class:"t-icon"},null,8,_Be)):(s.openBlock(),s.createElementBlock("img",{key:1,src:e.imgPath["./public/d3svg1/button18/button_"+u.name+".svg"],class:"t-icon"},null,8,BBe)),u.tooltip?(s.openBlock(),s.createBlock(c,{key:2,class:"el-icon-info",effect:"dark",content:u.tooltip,placement:"top-start"},{default:s.withCtx(()=>[s.createVNode(l,null,{default:s.withCtx(()=>[s.createVNode(A)]),_:1})]),_:2},1032,["content"])):s.createCommentVNode("",!0),s.createElementVNode("span",null,s.toDisplayString(u.namec),1),u.shortcut?(s.openBlock(),s.createElementBlock("span",CBe,s.toDisplayString(u.shortcut),1)):s.createCommentVNode("",!0)]),a.hasChildren(u)?(s.openBlock(),s.createElementBlock("svg",EBe,SBe)):s.createCommentVNode("",!0)],10,vBe),a.hasChildren(u)?(s.openBlock(),s.createElementBlock("ul",{key:0,class:"cm-ul cm-ul-level2",style:s.normalizeStyle(a.secondBorderCheck(d,u.children.length))},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(u.children,(f,h)=>(s.openBlock(),s.createElementBlock("li",{key:h,class:"cm-li",style:s.normalizeStyle(a.liStyle)},[s.createElementVNode("div",{class:s.normalizeClass(["cm-item",{"cm-left":a.secondLeft,disabled:u.disabled||f.disabled}]),title:f.namec,onClick:s.withModifiers(p=>a.handleClick(f,u.disabled||f.disabled),["stop"])},[f.tooltip?(s.openBlock(),s.createBlock(c,{key:0,class:"el-icon-info",effect:"dark",content:f.tooltip,placement:"top-start"},{default:s.withCtx(()=>[s.createVNode(l,null,{default:s.withCtx(()=>[s.createVNode(A)]),_:1})]),_:2},1032,["content"])):s.createCommentVNode("",!0),s.createElementVNode("span",null,s.toDisplayString(f.namec),1),a.hasChildren(f)?(s.openBlock(),s.createElementBlock("svg",FBe,kBe)):s.createCommentVNode("",!0)],10,xBe),a.hasChildren(f)?(s.openBlock(),s.createElementBlock("ul",{key:0,class:"cm-ul cm-ul-level3",style:s.normalizeStyle(a.thirdBorderCheck(d,h,u.children.length,f.children.length))},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(f.children,(p,g)=>(s.openBlock(),s.createElementBlock("li",{key:g,class:"cm-li",style:s.normalizeStyle(a.liStyle)},[s.createElementVNode("div",{class:s.normalizeClass(["cm-item",{disabled:u.disabled||f.disabled||p.disabled}]),title:p.namec,onClick:s.withModifiers(m=>a.handleClick(p,u.disabled||f.disabled||p.disabled),["stop"])},[p.tooltip?(s.openBlock(),s.createBlock(c,{key:0,class:"el-icon-info",effect:"dark",content:p.tooltip,placement:"top-start"},{default:s.withCtx(()=>[s.createVNode(l,null,{default:s.withCtx(()=>[s.createVNode(A)]),_:1})]),_:2},1032,["content"])):s.createCommentVNode("",!0),s.createElementVNode("span",null,s.toDisplayString(p.namec),1)],10,UBe)],4))),128))],4)):s.createCommentVNode("",!0)],4))),128))],4)):s.createCommentVNode("",!0)],4))),128))])])],4)):s.createCommentVNode("",!0)}const TBe=wt(V8e,[["render",NBe],["__scopeId","data-v-5517c890"]]);function XA(e,t){return t={exports:{}},e(t,t.exports),t.exports}var hI=XA(function(e){e.exports=n;var t=+(Math.pow(2,27)+1);function n(r,o,a){var A=r*o,l=t*r,c=l-r,u=l-c,d=r-u,f=t*o,h=f-o,p=f-h,g=o-p,m=A-u*p,y=m-d*p,w=y-u*g,x=d*g-w;return a?(a[0]=x,a[1]=A,a):[x,A]}}),IBe=XA(function(e){e.exports=n;function t(r,o){var a=r+o,A=a-r,l=a-A,c=o-A,u=r-l,d=u+c;return d?[d,a]:[a]}function n(r,o){var a=r.length|0,A=o.length|0;if(a===1&&A===1)return t(r[0],o[0]);var l=a+A,c=new Array(l),u=0,d=0,f=0,h=Math.abs,p=r[d],g=h(p),m=o[f],y=h(m),w,x;g<y?(x=p,d+=1,d<a&&(p=r[d],g=h(p))):(x=m,f+=1,f<A&&(m=o[f],y=h(m))),d<a&&g<y||f>=A?(w=p,d+=1,d<a&&(p=r[d],g=h(p))):(w=m,f+=1,f<A&&(m=o[f],y=h(m)));for(var B=w+x,E=B-w,k=x-E,U=k,T=B,Q,z,O,R,D;d<a&&f<A;)g<y?(w=p,d+=1,d<a&&(p=r[d],g=h(p))):(w=m,f+=1,f<A&&(m=o[f],y=h(m))),x=U,B=w+x,E=B-w,k=x-E,k&&(c[u++]=k),Q=T+B,z=Q-T,O=Q-z,R=B-z,D=T-O,U=D+R,T=Q;for(;d<a;)w=p,x=U,B=w+x,E=B-w,k=x-E,k&&(c[u++]=k),Q=T+B,z=Q-T,O=Q-z,R=B-z,D=T-O,U=D+R,T=Q,d+=1,d<a&&(p=r[d]);for(;f<A;)w=m,x=U,B=w+x,E=B-w,k=x-E,k&&(c[u++]=k),Q=T+B,z=Q-T,O=Q-z,R=B-z,D=T-O,U=D+R,T=Q,f+=1,f<A&&(m=o[f]);return U&&(c[u++]=U),T&&(c[u++]=T),u||(c[u++]=0),c.length=u,c}}),QBe=XA(function(e){e.exports=t;function t(n,r,o){var a=n+r,A=a-n,l=a-A,c=r-A,u=n-l;return o?(o[0]=u+c,o[1]=a,o):[u+c,a]}}),MBe=XA(function(e){var t=hI,n=QBe;e.exports=r;function r(o,a){var A=o.length;if(A===1){var l=t(o[0],a);return l[0]?l:[l[1]]}var c=new Array(2*A),u=[.1,.1],d=[.1,.1],f=0;t(o[0],a,u),u[0]&&(c[f++]=u[0]);for(var h=1;h<A;++h){t(o[h],a,d);var p=u[1];n(p,d[0],u),u[0]&&(c[f++]=u[0]);var g=d[1],m=u[1],y=g+m,w=y-g,x=m-w;u[1]=y,x&&(c[f++]=x)}return u[1]&&(c[f++]=u[1]),f===0&&(c[f++]=0),c.length=f,c}}),LBe=XA(function(e){e.exports=n;function t(r,o){var a=r+o,A=a-r,l=a-A,c=o-A,u=r-l,d=u+c;return d?[d,a]:[a]}function n(r,o){var a=r.length|0,A=o.length|0;if(a===1&&A===1)return t(r[0],-o[0]);var l=a+A,c=new Array(l),u=0,d=0,f=0,h=Math.abs,p=r[d],g=h(p),m=-o[f],y=h(m),w,x;g<y?(x=p,d+=1,d<a&&(p=r[d],g=h(p))):(x=m,f+=1,f<A&&(m=-o[f],y=h(m))),d<a&&g<y||f>=A?(w=p,d+=1,d<a&&(p=r[d],g=h(p))):(w=m,f+=1,f<A&&(m=-o[f],y=h(m)));for(var B=w+x,E=B-w,k=x-E,U=k,T=B,Q,z,O,R,D;d<a&&f<A;)g<y?(w=p,d+=1,d<a&&(p=r[d],g=h(p))):(w=m,f+=1,f<A&&(m=-o[f],y=h(m))),x=U,B=w+x,E=B-w,k=x-E,k&&(c[u++]=k),Q=T+B,z=Q-T,O=Q-z,R=B-z,D=T-O,U=D+R,T=Q;for(;d<a;)w=p,x=U,B=w+x,E=B-w,k=x-E,k&&(c[u++]=k),Q=T+B,z=Q-T,O=Q-z,R=B-z,D=T-O,U=D+R,T=Q,d+=1,d<a&&(p=r[d]);for(;f<A;)w=m,x=U,B=w+x,E=B-w,k=x-E,k&&(c[u++]=k),Q=T+B,z=Q-T,O=Q-z,R=B-z,D=T-O,U=D+R,T=Q,f+=1,f<A&&(m=-o[f]);return U&&(c[u++]=U),T&&(c[u++]=T),u||(c[u++]=0),c.length=u,c}}),OBe=XA(function(e){var t=hI,n=IBe,r=MBe,o=LBe,a=5,A=11102230246251565e-32,l=(3+16*A)*A,c=(7+56*A)*A;function u(E,k){for(var U=new Array(E.length-1),T=1;T<E.length;++T)for(var Q=U[T-1]=new Array(E.length-1),z=0,O=0;z<E.length;++z)z!==k&&(Q[O++]=E[T][z]);return U}function d(E){for(var k=new Array(E),U=0;U<E;++U){k[U]=new Array(E);for(var T=0;T<E;++T)k[U][T]=["m",T,"[",E-U-1,"]"].join("")}return k}function f(E){return E&1?"-":""}function h(E){if(E.length===1)return E[0];if(E.length===2)return["sum(",E[0],",",E[1],")"].join("");var k=E.length>>1;return["sum(",h(E.slice(0,k)),",",h(E.slice(k)),")"].join("")}function p(E){if(E.length===2)return[["sum(prod(",E[0][0],",",E[1][1],"),prod(-",E[0][1],",",E[1][0],"))"].join("")];for(var k=[],U=0;U<E.length;++U)k.push(["scale(",h(p(u(E,U))),",",f(U),E[0][U],")"].join(""));return k}function g(E){for(var k=[],U=[],T=d(E),Q=[],z=0;z<E;++z)z&1?U.push.apply(U,p(u(T,z))):k.push.apply(k,p(u(T,z))),Q.push("m"+z);var O=h(k),R=h(U),D="orientation"+E+"Exact",M=["function ",D,"(",Q.join(),"){var p=",O,",n=",R,",d=sub(p,n);return d[d.length-1];};return ",D].join(""),L=new Function("sum","prod","scale","sub",M);return L(n,t,r,o)}var m=g(3),y=g(4),w=[function(){return 0},function(){return 0},function(k,U){return U[0]-k[0]},function(k,U,T){var Q=(k[1]-T[1])*(U[0]-T[0]),z=(k[0]-T[0])*(U[1]-T[1]),O=Q-z,R;if(Q>0){if(z<=0)return O;R=Q+z}else if(Q<0){if(z>=0)return O;R=-(Q+z)}else return O;var D=l*R;return O>=D||O<=-D?O:m(k,U,T)},function(k,U,T,Q){var z=k[0]-Q[0],O=U[0]-Q[0],R=T[0]-Q[0],D=k[1]-Q[1],M=U[1]-Q[1],L=T[1]-Q[1],q=k[2]-Q[2],G=U[2]-Q[2],J=T[2]-Q[2],X=O*L,W=R*M,K=R*D,ne=z*L,ie=z*M,le=O*D,ce=q*(X-W)+G*(K-ne)+J*(ie-le),me=(Math.abs(X)+Math.abs(W))*Math.abs(q)+(Math.abs(K)+Math.abs(ne))*Math.abs(G)+(Math.abs(ie)+Math.abs(le))*Math.abs(J),we=c*me;return ce>we||-ce>we?ce:y(k,U,T,Q)}];function x(E){var k=w[E.length];return k||(k=w[E.length]=g(E.length)),k.apply(void 0,E)}function B(){for(;w.length<=a;)w.push(g(w.length));for(var E=[],k=["slow"],U=0;U<=a;++U)E.push("a"+U),k.push("o"+U);for(var T=["function getOrientation(",E.join(),"){switch(arguments.length){case 0:case 1:return 0;"],U=2;U<=a;++U)T.push("case ",U,":return o",U,"(",E.slice(0,U).join(),");");T.push("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation"),k.push(T.join(""));var Q=Function.apply(void 0,k);e.exports=Q.apply(void 0,[x].concat(w));for(var U=0;U<=a;++U)e.exports[U]=w[U]}B()}),DBe=XA(function(e){e.exports=n;var t=OBe;function n(r,o){for(var a=o[0],A=o[1],l=r.length,c=1,u=l,d=0,f=l-1;d<u;f=d++){var h=r[d],p=r[f],g=h[1],m=p[1];if(m<g){if(m<A&&A<g){var y=t(h,p,o);if(y===0)return 0;c^=0<y|0}else if(A===g){var w=r[(d+1)%l],x=w[1];if(g<x){var y=t(h,p,o);if(y===0)return 0;c^=0<y|0}}}else if(g<m){if(g<A&&A<m){var y=t(h,p,o);if(y===0)return 0;c^=y<0|0}else if(A===g){var w=r[(d+1)%l],x=w[1];if(x<g){var y=t(h,p,o);if(y===0)return 0;c^=y<0|0}}}else if(A===g){var B=Math.min(h[0],p[0]),E=Math.max(h[0],p[0]);if(d===0){for(;f>0;){var k=(f+l-1)%l,U=r[k];if(U[1]!==A)break;var T=U[0];B=Math.min(B,T),E=Math.max(E,T),f=k}if(f===0)return B<=a&&a<=E?0:1;u=f+1}for(var Q=r[(f+l-1)%l][1];d+1<u;){var U=r[d+1];if(U[1]!==A)break;var T=U[0];B=Math.min(B,T),E=Math.max(E,T),d+=1}if(B<=a&&a<=E)return 0;var z=r[(d+1)%l][1];a<B&&Q<A!=z<A&&(c^=1)}}return 2*c-1}}),__;function PBe(){var e=[],t=75,n=!0,r=!1,o=!0,a,A={start:function(){},draw:function(){},end:function(){}};function l(c){var u=c.append("g").attr("class","lasso"),d=u.append("path").attr("class","drawn"),f=u.append("path").attr("class","loop_close"),h=u.append("circle").attr("class","origin"),p,g,m,y;__=force_graph_d3.drag().on("start",w).on("drag",x).on("end",B),a.call(__);function w(){y=[],p="",d.attr("d",null),f.attr("d",null),e.nodes().forEach(function(E){E.__lasso.possible=!1,E.__lasso.selected=!1,E.__lasso.hoverSelect=!1,E.__lasso.loopSelect=!1;var k=E.getBoundingClientRect();E.__lasso.lassoPoint=[Math.round(k.left+k.width/2),Math.round(k.top+k.height/2)]}),o&&e.on("mouseover.lasso",function(){this.__lasso.hoverSelect=!0}),A.start()}function x(E){var k,U;E.sourceEvent.type==="touchmove"?(k=E.sourceEvent.touches[0].clientX,U=E.sourceEvent.touches[0].clientY):(k=E.sourceEvent.clientX,U=E.sourceEvent.clientY);var T=E.x,Q=E.y;p===""?(p=p+"M "+T+" "+Q,g=[k,U],m=[T,Q],h.attr("cx",T).attr("cy",Q).attr("r",7).attr("display",null)):p=p+" L "+T+" "+Q,y.push([k,U]);var z=Math.sqrt(Math.pow(k-g[0],2)+Math.pow(U-g[1],2)),O="M "+T+" "+Q+" L "+m[0]+" "+m[1];d.attr("d",p),f.attr("d",O),r=z<=t,r&&n?f.attr("display",null):f.attr("display","none"),e.nodes().forEach(function(R){R.__lasso.loopSelect=r&&n?DBe(y,R.__lasso.lassoPoint)<1:!1,R.__lasso.possible=R.__lasso.hoverSelect||R.__lasso.loopSelect}),A.draw()}function B(){e.on("mouseover.lasso",null),e.nodes().forEach(function(E){E.__lasso.selected=E.__lasso.possible,E.__lasso.possible=!1}),d.attr("d",null),f.attr("d",null),h.attr("display","none"),A.end()}}return l.items=function(c){if(!arguments.length)return e;e=c;var u=e.nodes();return u.forEach(function(d){d.__lasso={possible:!1,selected:!1}}),l},l.rebindDrag=function(c){c.call(__)},l.possibleItems=function(){return e.filter(function(){return this.__lasso.possible})},l.selectedItems=function(){return e.filter(function(){return this.__lasso.selected})},l.notPossibleItems=function(){return e.filter(function(){return!this.__lasso.possible})},l.notSelectedItems=function(){return e.filter(function(){return!this.__lasso.selected})},l.closePathDistance=function(c){return arguments.length?(t=c,l):t},l.closePathSelect=function(c){return arguments.length?(n=c===!0,l):n},l.isPathClosed=function(c){return arguments.length?(r=c===!0,l):r},l.hoverSelect=function(c){return arguments.length?(o=c===!0,l):o},l.on=function(c,u){if(!arguments.length)return A;if(arguments.length===1)return A[c];var d=["start","draw","end"];return d.indexOf(c)>-1&&(A[c]=u),l},l.targetArea=function(c){return arguments.length?(a=c,l):a},l}let Ia,pI=Mn("svg#main-svg");const RBe={name:"Lasso",emits:["update"],mounted(){window.force_graph_d3=Zue,pI=Mn("svg#main-svg")},beforeUnmount(){window.force_graph_d3=null},methods:{setLasso(){const e=this;var t=function(){Ia.items().classed("not_possible",!0).classed("isSelected",!1)},n=function(){Ia.possibleItems().filter(o=>o.type!=="aggregation"&&o.type!=="nodeType").classed("not_possible",!1).classed("possible",!0),Ia.notPossibleItems().classed("not_possible",!0).classed("possible",!1)},r=function(){Ia.items().classed("not_possible",!1).classed("possible",!1),Ia.selectedItems().filter(o=>o.type!=="aggregation"&&o.type!=="nodeType").classed("isSelected",!0),Ia.notSelectedItems(),Ze(e,"update")};Ia=PBe().items(jp(".node")).closePathSelect(!0).closePathDistance(100).targetArea(Mn("svg#main-svg")).on("start",t).on("draw",n).on("end",r),Mn("svg#main-svg").call(Ia)},resetLasso(){Ia.rebindDrag(pI)}}};function HBe(e,t,n,r,o,a){return s.openBlock(),s.createElementBlock("div")}const $Be=wt(RBe,[["render",HBe]]),PEe="",REe="",HEe="",$Ee="",KBe={name:"Popover",components:{ForceGraphSvgIcon:oA},mixins:[Qo],inject:["levelList"],props:{showPopover:{type:Boolean,default:!1},mousePosition:{type:Object,default:()=>({left:0,top:0})},nodeInfo:{type:Object,default:()=>{}},type:{type:String,default:"node"},moduleDetail:{type:Object,default:()=>{}},data:{type:Object,default:()=>{}},darkMode:{type:Boolean,default:!0},history:{type:Object,default:()=>({})}},data(){return{showSelf:!1,onPop:!1,position:null,aggregationList:[]}},computed:{show(){return this.showPopover||this.showSelf},name(){var e,t,n;return((n=(t=(e=this.nodeInfo)==null?void 0:e.detail)==null?void 0:t.info)==null?void 0:n.name)||this.nodeInfo.name},isNormalNode(){return this.nodeInfo.type!=="nodeType"&&this.nodeInfo.type!=="aggregation"},isNodeTypeNode(){return this.nodeInfo.type==="nodeType"},isAggregateNode(){return this.nodeInfo.type==="aggregation"},fieldMapThisType(){var e;return this.moduleDetail.detail_field_map&&this.moduleDetail.detail_field_map[`${(e=this.nodeInfo)==null?void 0:e.type}_detail_info`]},canGoDetail(){return["nodeType","aggregation","family","org","report","vul","thumbprint_md5","email","cert_https"].indexOf(this.nodeInfo.type)<0}},watch:{mousePosition(){setTimeout(()=>{var l,c,u;const e=this.mousePosition.left>document.body.offsetWidth/2,t=this.mousePosition.top>document.body.offsetHeight/2,n=(l=document.getElementsByClassName("popover-container")[0])==null?void 0:l.offsetHeight,r=(c=document.getElementsByClassName("d3-container")[0])==null?void 0:c.offsetHeight,o=(u=document.getElementsByClassName("d3-container")[0])==null?void 0:u.getBoundingClientRect().top;let a;t?a=Math.max(this.mousePosition.top,n+o)+5:a=Math.min(this.mousePosition.top,Math.max(r-n,o))-5;const A={left:(e?this.mousePosition.left+2:this.mousePosition.right-2)+"px",top:a+"px",transform:`translate(${e?"-100%":"0%"}, ${t?"-100%":"0%"})`};this.position=A},100)},nodeInfo:{handler:function(){var t;const e=(((t=this.nodeInfo)==null?void 0:t.list)||[]).map(n=>{var o,a,A;const r=n.detail;return Te(xe({},n),{name:((o=r==null?void 0:r.info)==null?void 0:o.name)||n.name,level:((A=(a=r==null?void 0:r.info)==null?void 0:a.basic)==null?void 0:A.level)||""})});e==null||e.sort((n,r)=>{var A,l;const o=(A=this.levelList.find(c=>c.level===n.level))==null?void 0:A.dangerNumber;return((l=this.levelList.find(c=>c.level===r.level))==null?void 0:l.dangerNumber)-o}),this.aggregationList=e},immediate:!0}},methods:{handleMouseEnter(){this.showSelf=!0},handleMouseLeave(){this.showSelf=!1},isSomething(e){return eb(e)},getTypeZh(e){var n,r,o;let t=e;if(e==="nodeType")t="关系节点";else for(const a in(n=this.moduleDetail)==null?void 0:n.nodes)if(e===((r=this.moduleDetail)==null?void 0:r.nodes[a].name)){t=(o=this.moduleDetail)==null?void 0:o.nodes[a].namec;break}return t},getLevelClass(e){return l1(e,this.levelList)},getColorStyle(e){return c1(e,this.levelList,this.darkMode)},getNodeTypeChildNum(e){var o;const t=(o=this.data)==null?void 0:o.links,n=[],r=[];return t==null||t.map(a=>{a.source.id===e&&(n.push(a.target.id),a.target.detail&&kfe(a.target.detail.info.basic.level,this.levelList)&&r.push(a.target.id))}),{allChildNum:n.length,dangerChildNum:r.length}},canShowField(e){const t=this.hasFieldValue(e);return!(t===void 0||e.hide_hover||e.hide_empty&&!t)},hasFieldValue(e){const t=this.nodeInfo.detail&&this.nodeInfo.detail.info&&this.nodeInfo.detail.info.basic[e.prop];if(t===null)return;const n=Array.isArray(t);return n&&t.length>0||!n&&t!==""&&t!=="无"},getFieldValue(e){const t=this.nodeInfo.detail.info.basic[e.prop],n=Array.isArray(t),r=this.isSomething(t);let o="-";return r&&(n?o=t.length?t.join("|"):"-":o=t||"-"),o},formatTags(e){return a1(s1(e))},addToGraph(e){const t={type:"addFromAggregation",addOne:{nodes:[e],links:[{source:this.nodeInfo.relationId,target:e.id}]}};if(this.aggregationList=this.aggregationList.filter(n=>n.id!==e.id),this.history.updateAggregationNode(this.aggregationList,this.nodeInfo.id),this.history.pushState(t),this.aggregationList.length)Ze(Ft,"emitDataLoaded");else{const n=this.nodeInfo,r={deleteOne:{nodes:[n],links:[{source:n.relationId,target:n.id}]},type:"aggregation"};setTimeout(()=>{this.history.pushState(r),Ze(Ft,"emitDataLoaded")},0)}}}},qc=e=>(s.pushScopeId("data-v-4d80bc6d"),e=e(),s.popScopeId(),e),GBe={key:0,class:"node-info-container"},zBe={class:"popover-block popover-header"},qBe={key:0,class:"popover-collect"},jBe={key:1,class:"row-item"},WBe={class:"label"},YBe={key:2,class:"row-item"},XBe=qc(()=>s.createElementVNode("div",{class:"label"},"关系节点:",-1)),JBe={class:"value"},ZBe={class:"node-type-info"},VBe={class:"name"},eCe={key:3,class:"row-item"},tCe=qc(()=>s.createElementVNode("div",{class:"label"},"备注:",-1)),nCe={class:"value"},rCe={class:"popover-block popover-fields"},iCe={key:0,class:"node-detail top-border"},oCe={key:0,class:"row-item"},aCe=qc(()=>s.createElementVNode("div",{class:"label"},"危险级别:",-1)),sCe=["title"],ACe={key:1,class:"row-item row-item-tag"},lCe=qc(()=>s.createElementVNode("div",{class:"label"},"标签:",-1)),cCe={class:"value"},uCe={class:"graph-tags-box"},dCe=qc(()=>s.createElementVNode("br",null,null,-1)),fCe={key:0,class:"row-item"},hCe={class:"label"},pCe=["title"],gCe={key:1,class:"node-statistics top-border"},mCe={class:"row-item node-num"},vCe=qc(()=>s.createElementVNode("div",{class:"label"},"拓展节点统计:",-1)),yCe={class:"value"},wCe={key:0},bCe={class:"danger"},_Ce={key:2,class:"node-aggregation"},BCe={class:"aggregation-title"},CCe={class:"aggregation-box"},ECe={key:1,class:"node-info-container"},SCe={class:"popover-fields"},xCe={class:"top"};function FCe(e,t,n,r,o,a){const A=s.resolveComponent("force-graph-svg-icon"),l=Ei,c=ud,u=lX,d=tA,f=AX;return s.openBlock(),s.createElementBlock("div",{class:s.normalizeClass(["popover-container",a.show?"show-popover":"hide-popover"]),style:s.normalizeStyle(o.position),onMouseenter:t[0]||(t[0]=(...h)=>a.handleMouseEnter&&a.handleMouseEnter(...h)),onMouseleave:t[1]||(t[1]=(...h)=>a.handleMouseLeave&&a.handleMouseLeave(...h))},[s.createElementVNode("div",null,[n.type==="node"?(s.openBlock(),s.createElementBlock("div",GBe,[s.createElementVNode("div",zBe,[n.nodeInfo.collect?(s.openBlock(),s.createElementBlock("div",qBe,[s.createVNode(l,{content:"已收藏","popper-class":"el-tooltip-gray",placement:"left"},{default:s.withCtx(()=>[s.createVNode(A,{class:"button-img","icon-class":e.imgPath["./public/d3svg1/star.svg"]},null,8,["icon-class"])]),_:1})])):s.createCommentVNode("",!0),a.isNormalNode?(s.openBlock(),s.createElementBlock("div",jBe,[s.createElementVNode("div",WBe,s.toDisplayString(a.getTypeZh(n.nodeInfo.type))+":",1),s.createElementVNode("div",{class:s.normalizeClass(["value",{"star-next":n.nodeInfo.collect}])},s.toDisplayString(a.name),3)])):s.createCommentVNode("",!0),a.isNodeTypeNode?(s.openBlock(),s.createElementBlock("div",YBe,[XBe,s.createElementVNode("div",JBe,[s.createElementVNode("div",ZBe,[s.createElementVNode("div",VBe,s.toDisplayString(n.nodeInfo.name),1)])])])):s.createCommentVNode("",!0),n.nodeInfo.label?(s.openBlock(),s.createElementBlock("div",eCe,[tCe,s.createElementVNode("div",nCe,s.toDisplayString(n.nodeInfo.label),1)])):s.createCommentVNode("",!0)]),s.createElementVNode("div",rCe,[a.isNormalNode&&n.nodeInfo.detail?(s.openBlock(),s.createElementBlock("div",iCe,[a.canGoDetail?(s.openBlock(),s.createElementBlock("div",oCe,[aCe,s.createElementVNode("div",{class:s.normalizeClass(["value level",a.getLevelClass(n.nodeInfo.detail&&n.nodeInfo.detail.info.basic.level)]),title:n.nodeInfo.detail&&n.nodeInfo.detail.info.basic.level||"--"},s.toDisplayString(n.nodeInfo.detail&&n.nodeInfo.detail.info.basic.level||"--"),11,sCe)])):s.createCommentVNode("",!0),n.nodeInfo.detail&&n.nodeInfo.detail.tags&&n.nodeInfo.detail.tags.length>0?(s.openBlock(),s.createElementBlock("div",ACe,[lCe,s.createElementVNode("div",cCe,[s.createElementVNode("div",uCe,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.formatTags(n.nodeInfo.detail.tags),(h,p)=>(s.openBlock(),s.createBlock(l,{key:p,"popper-class":"el-tooltip-gray"},{content:s.withCtx(()=>[s.createElementVNode("div",null,[s.createTextVNode(s.toDisplayString(h.name===h.desc?h.name:h.name+":"+h.desc)+" ",1),h.disabled?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[dCe,s.createTextVNode(" 标签状态:失效 ")],64)):s.createCommentVNode("",!0)])]),default:s.withCtx(()=>[s.createElementVNode("span",null,[s.createVNode(c,{class:s.normalizeClass(["graph-tag-one",`${h.type||"unknown"} ${h.disabled?"tag-disable":""}`]),type:h.type||"info"},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(h.name),1)]),_:2},1032,["class","type"])])]),_:2},1024))),128))])])])):s.createCommentVNode("",!0),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.fieldMapThisType,(h,p)=>(s.openBlock(),s.createElementBlock(s.Fragment,null,[a.canShowField(h)?(s.openBlock(),s.createElementBlock("div",fCe,[s.createElementVNode("div",hCe,s.toDisplayString(h.zh)+":",1),s.createElementVNode("div",{class:s.normalizeClass(["value",{red:h.prop==="virus_name"}]),title:n.nodeInfo.detail.info.basic[p]},s.toDisplayString(a.getFieldValue(h)),11,pCe)])):s.createCommentVNode("",!0)],64))),256))])):s.createCommentVNode("",!0),a.isNodeTypeNode?(s.openBlock(),s.createElementBlock("div",gCe,[s.createElementVNode("div",mCe,[vCe,s.createElementVNode("div",yCe,[a.getNodeTypeChildNum(n.nodeInfo.id).dangerChildNum>0?(s.openBlock(),s.createElementBlock("span",wCe,[s.createElementVNode("span",bCe,s.toDisplayString(a.getNodeTypeChildNum(n.nodeInfo.id).dangerChildNum),1),s.createTextVNode("/")])):s.createCommentVNode("",!0),s.createTextVNode(s.toDisplayString(a.getNodeTypeChildNum(n.nodeInfo.id).allChildNum),1)])])])):s.createCommentVNode("",!0),a.isAggregateNode?(s.openBlock(),s.createElementBlock("div",_Ce,[s.createElementVNode("div",BCe,"聚合节点 ("+s.toDisplayString(o.aggregationList.length)+"个)",1),s.createElementVNode("div",CCe,[s.createVNode(f,{data:o.aggregationList,style:{width:"100%"}},{default:s.withCtx(()=>[s.createVNode(u,{prop:"name","min-width":"200",label:"名称"}),s.createVNode(u,{sortable:"",prop:"type",label:"类型"}),s.createVNode(u,{sortable:"",prop:"level",width:"80",label:"级别"},{default:s.withCtx(h=>[s.createElementVNode("span",{style:s.normalizeStyle({color:a.getColorStyle(h.row.level)})},s.toDisplayString(h.row.level||"--"),5)]),_:1}),s.createVNode(u,{label:"操作"},{default:s.withCtx(h=>[s.createVNode(d,{class:"add-to-graph-btn",type:"primary",text:"",size:"small",onClick:p=>a.addToGraph(h.row)},{default:s.withCtx(()=>[s.createTextVNode(" 添加到图谱 ")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])])])):s.createCommentVNode("",!0)])])):(s.openBlock(),s.createElementBlock("div",ECe,[s.createElementVNode("div",SCe,[s.createElementVNode("div",xCe,s.toDisplayString(n.nodeInfo.apiName),1)])]))])],38)}const kCe=wt(KBe,[["render",FCe],["__scopeId","data-v-4d80bc6d"]]),UCe=[{id:52,product_id:0,name:"copy",namec:"复制",parent_id:0,has_child:0,status:0,type:2,path:"0-52",pos:65,ctime:"0000-00-00 00:00:00",utime:"2019-06-04 16:49:38",children:[]},{id:62,product_id:0,name:"release_aggregation",namec:"释放聚合顶点",parent_id:0,has_child:0,status:0,is_sys:0,is_detail:0,type:2,path:"0-62",pos:1,ctime:"0000-00-00 00:00:00",utime:"2019-05-06 15:08:10",children:[]}],gI={name:"vue-safe-force-graph",version:"2.0.3",description:"force_graph in security area",author:"jason zhang",module:"./lib/vue-safe-force-graph.js",main:"./lib/vue-safe-force-graph.umd.cjs",type:"module",files:["/lib/"],exports:{".":{import:"./lib/vue-safe-force-graph.js",require:"./lib/vue-safe-force-graph.umd.cjs"},"./*":"./*"},scripts:{dev:"vite",devforce:"vite --force","dev:base64":"vite --mode development_base64",build:"vite build",lib:"vite build","lib:base64":"vite build --mode production_base64",patch:'npm version patch -m "Upgrade to %s "',"patch:base64":'npm version patch -m "Upgrade to %s for base64"',p:"npm run patch && npm run lib && npm publish","p:base64":"npm run patch:base64 && npm run lib:base64 && npm publish",imageAndP:"npm run imageToCdn && npm run patch && npm run lib && npm publish","imageAndP:base64":"npm run imageToBase64 && npm run patch:base64 && npm run lib:base64 && npm publish",svgo:"svgo -f src/icons/svg --config=src/icons/svgo.yml",lint:"eslint --ext .js,.vue src",lintFix:"eslint --fix --ext .js,.vue src",imageToCdn:"node qcdn.cjs",imageToBase64:"node qcdn.cjs --buildtype=base64",changelog:"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},dependencies:{"@element-plus/icons-vue":"^2.1.0","@q/qapm":"^1.1.2","core-js":"^3.29.1","csv-parse":"^5.0.4",d3:"^7.8.5","d3-lasso":"0.0.5","element-plus":"^2.3.0",html2canvas:"^1.0.0-rc.7",json2csv:"^5.0.7",konva:"^9.2.0",lodash:"^4.17.21","mime-types":"^2.1.35",minimist:"^1.2.6","radar-js-analytic-sdk":"^2.2.6",vue:"^3.2.47","vue-clipboard3":"^2.0.0","vue-router":"^4.1.6"},devDependencies:{"@babel/core":"^7.23.3","@babel/preset-env":"^7.23.3","@originjs/vite-plugin-commonjs":"^1.0.3","@q/qcdn":"^3.1.6","@vitejs/plugin-vue":"^4.1.0",autoprefixer:"9.5.1",axios:"^0.21.1","babel-eslint":"^10.1.0",eslint:"^7.32.0","eslint-plugin-vue":"^8.0.3",imageinfo:"^1.0.4",qs:"^6.10.1","rollup-plugin-visualizer":"^5.9.0",sass:"^1.62.0",svgo:"1.2.2","unplugin-auto-import":"^0.15.2","unplugin-vue-components":"^0.24.1",vite:"^4.3.1"},browserslist:["> 1%","last 2 versions"],engines:{node:">=8.9",npm:">= 3.0.0"},license:"MIT"},iSe="",oSe="",aSe="",{toClipboard:NCe}=u1(),TCe="Arial,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif",B_={},Ro=1,ICe=["ip","intranet","internet"],C_=20;let On={},Vr={},Ns=null;const Mi={},QCe={name:"ForceGraphRenderByCanvas",components:{Popover:kCe,LassoOne:$Be,NodeContextmenu:TBe},mixins:[Qo],provide:function(){return{levelList:this.levelList}},props:{data:{type:Object,default:()=>({nodes:[],links:[]})},history:{type:Object,default:()=>({})},strength:{type:Number,default:-600},isThreatPath:{type:Boolean,default:!1},requestGraphData:{type:Boolean,default:!1},moduleDetail:{type:Object,default:()=>{}},graphApi:{type:Object,default:()=>{}},alphaDecay:{type:Number,default:.0228},alphaMin:{type:Number,default:.001},darkMode:{type:Boolean,default:!0},levelList:{type:Array,default:()=>[{level:"未知",levelName:"未知",className:"unknown",normalColor:"#666",darkColor:"#c6cdd5",dangerNumber:0},{level:"危险",levelName:"危险",className:"warn",normalColor:"#CF1322",darkColor:"#fb2400",dangerNumber:1},{level:"普通",levelName:"普通",className:"normal",normalColor:"#007EE2",darkColor:"#0094ff",dangerNumber:-1},{level:"安全",levelName:"安全",className:"safe",normalColor:"#009A75",darkColor:"#00da90",dangerNumber:-2}]},nodeTypeScale:{type:Number,default:1},nodeTypeList:{type:Array}},emits:["handle-select-node","custom-contextmenu-click","flagFiles","updateSelection"],data(){return{prefix:"./public/",iconAllLoaded:!1,iconFiles:{},flagFiles:{},highlightRule:{},nodesRange:null,mousePosition:{left:0,top:0},hoverNodePosition:{},uniqueClass:"",showPopover:!1,popoverTimer:null,popoverType:"",popoverContent:{},popoverNode:{},showContextMenu:!1,contextMenuNode:{},menuOptions:[],isDragging:!1,originTransform:null,dragNodeFix:!1,destroyed:!1,actKey:Ec()?"metaKey":"ctrlKey",levelHeight:100,actNum:0,scriptNow:null,scriptInited:!1,canAct:!1,isKeyUp:!0,initTimes:0,resizeObserver:null,canvasElement:null,stage:s.shallowRef(null),layer:s.shallowRef(null),simulation:s.shallowRef(null),nodes:s.shallowRef(null),links:s.shallowRef(null),hoveredNode:s.shallowRef(null),mouseDownNode:s.shallowRef(null),selection:[],scale:Ro,mousedownPos:null,mousedownNode:null,mouseupNode:null,dragLine:null}},computed:{iconSizeComputed(){const e=Z8e(B_);return this.nodeTypeList.forEach(t=>{e[t]=B_[t]*this.nodeTypeScale}),e},contextMenuNodes(){return this.contextMenuNode.id?this.selection.some(e=>e.id===this.contextMenuNode.id)?[...this.selection]:[this.contextMenuNode]:[]},showContextMenuFlag(){return this.requestGraphData?this.showContextMenu:!1}},watch:{data:{handler:function(){this.nodes=this.data.nodes,this.links=this.data.links,this.update()},deep:!0},moduleDetail:{handler:function(e){return dt(this,null,function*(){e!=null&&e.nodes&&!this.iconAllLoaded&&(yield this.loadIcons(),this.initForceGraph(),setTimeout(()=>{this.update()},50))})},deep:!0,immediate:!0},darkMode:{handler:function(e){return dt(this,null,function*(){const t=e?"dark":"light";setTimeout(()=>{this.update(),this.isThreatPath?document.querySelectorAll(`.${this.uniqueClass}.render-container`)[0].setAttribute("data-theme",t):(document.querySelectorAll(`.${this.uniqueClass}.render-container`)[0].setAttribute("data-theme",t),document.getElementsByClassName(this.uniqueClass+" render-container")[0].parentElement.parentElement.setAttribute("data-theme",t))},200)})},immediate:!0}},created(){Ba.setProject("QH_10542_1724").getTrack().getClickAndKeydown(),localStorage.getItem("showSafeForceGraphLog")&&(Bs("组件名称: "+gI.name),Bs("组件版本: "+gI.version),Bs("环境变量")),this.isThreatPath||this.initKeyEvent(),this.uniqueClass="unique"+new Date().getTime()+Math.floor(Math.random()*1e5)},mounted(){return dt(this,null,function*(){this.initForceGraph(),Ffe(this.levelList),!this.isThreatPath&&(as(Ft,"buttonClick",e=>{console.log(e,"buttonClick msg"),this.handleContextMenuClick(e)}),as(Ft,"relationClick",e=>{this.handleContextMenuClick(e)}),as(Ft,"sendNodesRange",(e,t)=>{e!==void 0&&(this.nodesRange=e,this.updateNodeStyle())}))})},beforeUnmount(){ss(Ft,"buttonClick"),ss(Ft,"relationClick"),ss(Ft,"sendNodesRange"),this.unbindKeyEvent(),this.resetAll(),console.log("destroy")},methods:{initForceGraph(){return dt(this,null,function*(){document.addEventListener("click",this.hideContextMenu,!1),this.nodes=this.data.nodes,this.links=this.data.links;const e=this.$refs.canvasContainer,t=e.clientWidth,n=e.clientHeight;this.stage=new _n.Stage({container:e,width:t,height:n,scaleX:Ro,scaleY:Ro}),this.layer=new _n.Layer,Ns=new _n.Group({id:"grab",x:0,y:0}),this.layer.add(Ns);const r=this.layer.getCanvas()._canvas;this.canvasElement=r,this.stage.on("mousemove",o=>{if(!this.mousedownNode||!o.evt[this.actKey]){this.resetMouseVars();return}else{const a=this.stage.getPointerPosition(),A=this.stage.scaleX(),l=(a.x-this.stage.x())/A,c=(a.y-this.stage.y())/A;this.dragLine.points([this.mousedownPos.x,this.mousedownPos.y,l,c]),this.layer.batchDraw()}}),this.stage.on("wheel",o=>{console.log("wheel"),o.evt.preventDefault();const a=1.1,A=this.scale,l=o.evt.deltaY<0?A*a:A/a;this.scale=l;const c=this.stage.getPointerPosition(),u=this.stage.position(),d=c.x-(c.x-u.x)*(l/A),f=c.y-(c.y-u.y)*(l/A);this.stage.setAttrs({scaleX:l,scaleY:l,x:d,y:f}),this.layer.batchDraw()}),this.stage.on("mousedown",o=>{const a=o.target;a&&a.nodeType==="Stage"?this.stage.setDraggable(!0):this.stage.setDraggable(!1)}),this.stage.on("mouseup",()=>{this.stage.setDraggable(!1)}),this.stage.on("contextmenu",this.handleGlobalContextMenu),this.stage.on("click",o=>{o.target&&o.target.nodeType==="Stage"&&this.handleDeselectNode(o)}),this.setSimulation(),this.stage.add(this.layer),this.stage.draw(),this.update()})},setSimulation(){var n;if(!((n=this.nodes)!=null&&n.length)){console.log("setSimulation 无数据");return}const e=this.stage.width()/(2*Ro),t=this.stage.height()/(2*Ro);this.simulation=IE(this.nodes).force("link",NE(this.links).id(r=>r.id).distance(120).strength(1)).force("charge",QE().strength(-600)).force("x",ME()).force("y",LE()).force("center",f4(e,t)).on("tick",this.ticked),this.simulation.alphaDecay=this.alphaDecay*1,this.simulation.alphaMin=this.alphaMin*1,this.simulation.on("end",()=>{console.log("simulation end"),this.isThreatPath&&this.centerAndZoom(1)})},update(){var e;this.destroyed||(e=this.nodes)!=null&&e.length&&(this.initScript(),this.simulation?this.updateSimulation():this.setSimulation(),this.doClearCanvas(),this.paintLinks(),this.paintNodes(),this.updateSelection(),this.actNum===9&&setTimeout(()=>{this.centerAndZoom(.8)},200))},doClearCanvas(){On={},Vr={},this.layer.destroyChildren(),Ns=new _n.Group({id:"grab",x:0,y:0}),this.layer.add(Ns)},paintNodes(){const e=this.stage.width()/2,t=this.stage.height()/2,n=this.selection.map(r=>r.id);this.nodes.forEach(r=>dt(this,null,function*(){var m,y,w,x,B,E,k,U,T,Q,z,O,R,D;const o=r.type==="nodeType"?this.iconSizeComputed[r.icon]||this.iconSizeComputed.node_type:this.iconSizeComputed[r.type]||24,a=(w=(y=(m=r==null?void 0:r.detail)==null?void 0:m.info)==null?void 0:y.basic)==null?void 0:w.level,A=(E=(B=(x=r==null?void 0:r.detail)==null?void 0:x.info)==null?void 0:B.basic)==null?void 0:E.flag,l=yield this.getNodeImage(r);On[r.id]&&((k=On[r.id])==null||k.destroy());const c=new _n.Group({name:"nodeGroup",opacity:1,id:`${r.id}`,x:r.x?r.x:e,y:r.y?r.y:t,draggable:!0,visible:r.show});if(n.includes(r.id)&&c.addName("isSelected"),r.startNode){const M=c1(a,this.levelList,this.darkMode),L=new _n.Circle({x:0,y:0,radius:20,fill:M,opacity:0}),q=new _n.Circle({x:0,y:0,radius:20,fill:M,opacity:0}),G=new _n.Circle({x:0,y:0,radius:20,fill:M,opacity:0});c.add(L),c.add(q),c.add(G);const J=(ne,ie)=>new _n.Animation(function(le){const ce=le.time,me=.5-.5*(ce%ie)/ie,we=40*(ce%ie)/ie;ne.radius(we),ne.opacity(me)},this.layer),X=J(L,1500),W=J(q,1500),K=J(G,1500);X.start(),setTimeout(function(){W.start()},500),setTimeout(function(){K.start()},1e3)}if(r.type==="ip"||r.type==="internet"){const M=new _n.Circle({x:0,y:0,fill:this.darkMode?"#182628":"#fff",radius:o/2,stroke:c1(a,this.levelList),strokeWidth:2});c.add(M)}if(l){const M=A?20:o,L=l&&new _n.Image({x:0,y:0,offsetX:M/2,offsetY:M/2,image:l,width:M,height:M,draggable:!1});c.add(L)}if(r.detail&&r.type==="md5"){const M=((Q=(T=(U=r.detail.info)==null?void 0:U.basic)==null?void 0:T.file_type)==null?void 0:Q.toUpperCase())||"MD5",L=new _n.Text({name:"md5Text",x:0,y:0,text:M,fontSize:4,fontWeight:700,fontFamily:TCe,fill:this.darkMode?"#182628":"#fff",align:"center",listening:!1});L.x(L.x()-L.width()/2),c.add(L)}const u=r.textProp||"name",d=u==="name"?((O=(z=r==null?void 0:r.detail)==null?void 0:z.info)==null?void 0:O.name)||r.name:r[u];let f=d.length>14&&!ICe.includes(r.type)?d.slice(0,7)+"..."+d.slice(-7):d;f=ade(f);const h=new _n.Text({offsetY:o/2,name:"konvaText",x:0,y:o+8,text:f,fontSize:12,fontFamily:"Calibri",fill:this.darkMode?"#cdd9da":"#000",align:"center",listening:!1,visible:!!r.textProp});h.x(h.x()-h.width()/2),c.add(h);const p=new _n.Circle({name:"border",x:0,y:0,radius:o/2,fill:"#5c6271",opacity:.4,visible:!1});if(c.add(p),(D=(R=r.detail)==null?void 0:R.tags)!=null&&D.length){const M=new _n.Circle({x:((o/2||14)+5)*Math.sin(60*Math.PI/180),y:-((o/2||14)+5)*Math.cos(60*Math.PI/180),radius:3,fill:"#9300ff",listening:!1});c.add(M)}if(r.type!=="nodeType"&&r.type!=="aggregation"){var g=new _n.Circle({name:"collect",x:((o/2||14)+5)*Math.sin(0*Math.PI/180),y:-((o/2||14)+5)*Math.cos(0*Math.PI/180),radius:3,fill:"#ffad00",visible:!!r.collect});c.add(g)}if(r.label){const M=new _n.Circle({x:((o/2||14)+5)*Math.sin(30*Math.PI/180),y:-((o/2||14)+5)*Math.cos(30*Math.PI/180),radius:3,fill:"#0099ff",listening:!1});c.add(M)}c.on("dragstart",(M,L)=>{M.evt[this.actKey]||(this.simulation.alphaTarget(.3).restart(),this.isDragging=!0)}),c.on("dragmove",M=>{if(!M.evt[this.actKey]){var L=this.simulation.nodes().find(q=>q.id===r.id);L.x=c.x(),L.fx=c.x(),L.y=c.y(),L.fy=c.y(),this.links.forEach(q=>{const G=Vr[`${q.source.id}-${q.target.id}`].findOne(".konvaLine"),J=Vr[`${q.source.id}-${q.target.id}`].findOne(".linkArrow");if(q.source.id===L.id){const X=L.x,W=On[q.target.id].x(),K=L.y,ne=On[q.target.id].y();G.points([X,K,W,ne]);const ie=tb(X,K,W,ne,C_);J==null||J.x(ie==null?void 0:ie.x),J==null||J.y(ie==null?void 0:ie.y),J==null||J.rotation(Math.atan2(ne-K,W-X)*(180/Math.PI))}else if(q.target.id===L.id){const X=On[q.source.id].x()||0,W=L.x||0,K=On[q.source.id].y()||0,ne=L.y||0;G.points([X,K,W,ne]);const ie=tb(X,K,W,ne,C_);J==null||J.x(ie==null?void 0:ie.x),J==null||J.y(ie==null?void 0:ie.y),J==null||J.rotation(Math.atan2(ne-K,W-X)*(180/Math.PI))}}),this.layer.batchDraw()}}),c.on("dragend",M=>{M.evt[this.actKey]||(this.isDragging=!1)}),c.on("click",M=>{M.evt.detail===2?this.expandNodes(M,r):M.evt.detail===1&&M.evt.button===0&&this.handleNodeClick(M,r)}),c.on("contextmenu",M=>{M.cancelBubble=!0,M.evt.preventDefault(),M.evt.stopPropagation(),this.handleNodeContextMenu(M,r,c)}),c.on("mouseup",M=>this.handleNodeMouseUp(M,r)),c.on("mousedown",M=>this.handleNodeMouseDown(M,r)),c.on("mouseenter",M=>this.handleNodeMouseEnter(M,r)),c.on("mouseleave",M=>this.handleNodeMouseLeave(M,r)),Ns.add(c),On[r.id]=c})),this.stage.batchDraw()},paintLinks(){const e=this.stage.width()/2,t=this.stage.height()/2;this.links.forEach(n=>{Vr[`${n.source.id}-${n.target.id}`]&&Vr[`${n.source.id}-${n.target.id}`].destroy();const r=new _n.Group({opacity:1,id:`${n.source.id}-${n.target.id}`,visible:n.source.show&&n.target.show}),o=this.darkMode?"#445152":"#999",a=new _n.Arrow({name:"linkArrow",pointerLength:10,pointerWidth:10,x:e,y:t,fill:o});r.add(a);const A=n.source.x||0,l=n.source.y||0,c=n.target.x||0,u=n.target.y||0,d=new _n.Line({name:"konvaLine",id:`${n.source.id}-${n.target.id}`,points:[A,l,c,u],stroke:n.target.type==="org"?"#cf1322":o,strokeWidth:1,dash:n.diy===!0?[5,5]:null});if(n.target.type==="nodeType"){const f=new _n.Text({name:"edgeLabel",x:(A+c)/2,y:(l+u)/2,text:n.target.name,fontSize:12,fill:this.darkMode?"#cdd9da":"#000"});r.add(f)}r.add(d),Ns.add(r),r.moveToBottom(),Vr[`${n.source.id}-${n.target.id}`]=r}),this.stage.batchDraw()},updateSimulation(){var e;try{this.simulation.stop(),this.simulation.nodes(this.nodes),this.simulation.force("link").links(this.links),this.simulation.alpha(.4).restart(),this.simulation.on("tick",this.ticked)}catch(t){console.log(t,"simulation-e1"),(e=this.simulation)==null||e.stop()}},ticked(){switch(this.history.layoutIndex){case 0:this.forceLayout();break;case 1:this.treeLayout();break;default:this.forceLayout();break}},forceLayout(){var t;if(!this.nodes.length||!this.links.length)return;let e=!0;for(let n=0;n<this.links.length;n++){const r=this.links[n],o=Vr[`${r.source.id}-${r.target.id}`],a=o==null?void 0:o.findOne(".konvaLine"),A=o==null?void 0:o.findOne(".linkArrow"),l=o==null?void 0:o.findOne(".edgeLabel");let c=r.source.x,u=r.source.y,d=r.target.x,f=r.target.y;const h=d-c||1,p=f-u||1,g=Math.sqrt(h*h+p*p),m=h/g||1,y=p/g||1,w=r.source.type==="nodeType"?(this.iconSizeComputed[r.source.icon]||14)/2-1:this.iconSizeComputed[r.source.type]/2-1,x=r.target.type==="nodeType"?(this.iconSizeComputed[r.target.icon]||14)/2-1:(this.iconSizeComputed[r.target.type]||14)/2-1;if(c=c+w*m,u=u+w*y,d=d-x*m,f=f-x*y,isNaN(c)||isNaN(u)||isNaN(d)||isNaN(f)){e=!1;break}a==null||a.points([c,u,d,f]);const B=tb(c,u,d,f,C_);if(A==null||A.x((B==null?void 0:B.x)||0),A==null||A.y((B==null?void 0:B.y)||0),A==null||A.rotation(Math.atan2(f-u,d-c)*(180/Math.PI)),l){l.x((c+d)/2),l.y((u+f)/2),l.offsetX(l.getWidth()/2),l.offsetY(l.getHeight()/2+8);const E=Math.atan2(f-u,d-c)*(180/Math.PI);d<c?l.rotation(E+180):l.rotation(E)}}if(!e){console.log("请点击自动布局按钮"),this.resetLayout();return}for(let n=0;n<this.nodes.length;n++){const r=this.nodes[n];(t=On[r.id])==null||t.position({x:r.x||0,y:r.y||0})}},selectEdgesByNode(e){const t=e.map(n=>n.id);this.links.forEach(n=>{const r=Vr[`${n.source.id}-${n.target.id}`];t.includes(n==null?void 0:n.target.id)||t.includes(n==null?void 0:n.source.id)?r==null||r.addName("isSelected"):r==null||r.removeName("isSelected")})},showKeyWay(e){if(e.length!==1){this.links.forEach(r=>{const o=Vr[`${r.source.id}-${r.target.id}`];o==null||o.removeName("keyed")}),this.history.resetKeyLinksAndNodes();return}const{keyLinks:t,keyNodeIds:n}=this.history.findKeyLinksAndNodes(e[0].id,!0);this.links.forEach(r=>{const o=t.find(A=>A.source.id===r.source.id&&A.target.id===r.target.id),a=Vr[`${r.source.id}-${r.target.id}`];o?a==null||a.addName("keyed"):a==null||a.removeName("keyed")}),this.nodes.forEach(r=>{const o=On[r.id];n.includes(r.id)?o==null||o.addName("keyed"):o==null||o.removeName("keyed")})},updateNodeStyle(){if(!this.iconAllLoaded)return;let e;this.nodesRange&&this.history.keyNodeIds?e=[...this.nodesRange.map(t=>t.id),...this.history.keyNodeIds]:this.nodesRange?e=this.nodesRange.map(t=>t.id):this.history.keyNodeIds&&(e=this.history.keyNodeIds),setTimeout(()=>{this.highlightByRule(this.highlightRule,e),this.updateNodesStyleByName(),this.updateLinksStyleByName()},0)},updateNodesStyleByName(){this.nodes.forEach(e=>{const t=On[e.id];if(!t)return;const n=t==null?void 0:t.findOne(".border"),r=t==null?void 0:t.findOne(".konvaText"),o=this.darkMode?"#cdd9da":"#000";t!=null&&t.hasName("lowlight")?t==null||t.opacity(.4):t==null||t.opacity(1),t!=null&&t.hasName("isSelected")?(t.scale({x:8/7,y:8/7}),n==null||n.visible(!0)):(t.scale({x:1,y:1}),n==null||n.visible(!1)),e.type!=="nodeType"&&(t!=null&&t.hasName("isSelected")?(r==null||r.visible(!0),r==null||r.fill("#007ee2")):(r==null||r.visible(!!e.textProp),r==null||r.fill(o)))}),this.layer.batchDraw()},updateLinksStyleByName(){this.links.forEach(e=>{const t=Vr[`${e.source.id}-${e.target.id}`];if(!t)return;const n=t.findOne(".konvaLine"),r=t.findOne(".edgeLabel"),o=t.findOne(".linkArrow");t!=null&&t.hasName("lowlight")?t==null||t.opacity(.4):t==null||t.opacity(1);const a=this.darkMode?"#445152":"#999";if(t.hasName("isSelected")||t.hasName("keyed")){const A=e.target.type==="org"?"#cf1322":"#007ee2";n.stroke(A),o.fill(A),n.strokeWidth(1),t==null||t.opacity(1),r==null||r.fill("#007ee2"),t.hasName("keyed")?n.strokeWidth(3):n.strokeWidth(1)}else{const A=e.target.type==="org"?"#cf1322":a;Vr[`${e.source.id}-${e.target.id}`].removeName("isSelected"),n.strokeWidth(1),n.stroke(A),o.fill(A),r==null||r.fill(this.darkMode?"#cdd9da":"#000")}}),this.layer.batchDraw()},handleTableSelect(e=[]){this.selection=this.nodes.filter(t=>{let n;return e.length>1?n=e.indexOf(t.id)>=0&&t.type!=="nodeType"&&t.type!=="aggregation":n=e.indexOf(t.id)>=0,n}),this.updateSelection()},resetAll(){var e,t;document.removeEventListener("click",this.hideContextMenu),(e=this.simulation)==null||e.stop(),this.simulation=null,this.mousedownNode=null,this.mousedownPos=null,this.mouseupNode=null,document.getElementById("main-svg-box")&&((t=this.resizeObserver)==null||t.unobserve(document.getElementById("main-svg-box"))),this.nodes=[],this.links=[],this.resizeObserver=null,this.destroyed=!0,this.history.destroy()},unbindKeyEvent(){this.initKeyEvent(1)},initKeyEvent(e=0){if(e){document.removeEventListener("keydown",this.keyDown),document.removeEventListener("keyup",this.keyUp);return}document.addEventListener("keydown",this.keyDown),document.addEventListener("keyup",this.keyUp),this.isKeyUp=!0},keyDown(e){const t=e.keyCode,n=e[this.actKey],r=e.shiftKey;if(this.isKeyUp)switch(t){case 17:break;case 16:this.toggleZoom(!1);break;case 38:break;case 40:this.goAction();break;case 67:if(window.getSelection().toString())return;n&&this.copyNodeText(this.selection);break;case 89:n&&!Ec()&&this.$parent.historyForward();break;case 90:n&&r?this.$parent.historyForward():n&&this.$parent.historyBack();break;case 46:this.$parent.deleteNodes(this.selection);break}},keyUp(e){const t=e.keyCode,n=e.keyCode;if(Ec())switch(n){case 17:break;case 16:this.toggleZoom(!0);break}else switch(t){case 17:break;case 16:this.toggleZoom(!0);break}this.isKeyUp=!0},initScript(){var r,o,a,A,l,c;if(this.scriptInited)return;((a=(o=(r=this.history)==null?void 0:r.dataNow)==null?void 0:o.nodes)==null?void 0:a.length)>0&&(this.scriptInited=!0);const e=["193.36.119.50","6cd7b91212983cc557c6e3e671734ff9"];let t=null;if((c=(l=(A=this.history)==null?void 0:A.dataNow)==null?void 0:l.nodes)==null||c.some(u=>{const d=e.indexOf(u.id);return d>=0&&u.startNode===!0&&(t=d),!0}),console.log("scriptIndex",t),t===null)return;const n=[[{node:"193.36.119.50"},{node:"6cd7b91212983cc557c6e3e671734ff9"},{node:"http://9d1109ab.privatedns.org/download/FirefoxSetup.dll"},{node:"94.237.81.57"},{node:"chart.expocasheuro.com"}],[{node:"6cd7b91212983cc557c6e3e671734ff9"},{node:"http://9d1109ab.privatedns.org/download/FirefoxSetup.dll"},{node:"94.237.81.57"},{node:"chart.expocasheuro.com"},{node:"183.246.177.59"},{node:"e7db5b09a39e324d36e937d89f98fdb9122cd859"}]];this.scriptNow=n[t],this.canAct=!!this.scriptNow},goAction(){if(console.log("this.actNum",this.actNum),!this.scriptNow||this.actNum>(this.scriptNow.length-1)*2)return;if(this.actNum===(this.scriptNow.length-1)*2){this.centerAndZoom(),this.actNum++;return}const e=this.scriptNow[Math.floor(this.actNum/2)+1];if(this.actNum%2===0){if(!this.history.dataNow.nodes.some(t=>t.id===e.node))return;this.handleTableSelect(e.node),this.nodesMoveToCenterView([e.node]),this.actNum++}else this.$parent.expandNodes(this.selection[0]),setTimeout(()=>{this.nodesMoveToCenterView([this.selection[0].id])},100),this.actNum++},nodesMoveToCenterView(e,t=.9){if(console.log("nodesMoveToCenterView"),e.length===0)return;const n=[],r=this.nodes.filter(x=>e.indexOf(x.id)>=0);r==null||r.forEach(function(x,B){const E=On[x.id];n.push({bounds:(E==null?void 0:E.getClientRect())||{},fx:x.x||0,fy:x.y||0})});const o=this.getBounds(n);this.originTransform=this.originTransform={scaleX:this.stage.scaleX(),scaleY:this.stage.scaleY(),x:this.stage.x(),y:this.stage.y()};const a=this.stage.width(),A=this.stage.height()/1.5,l=o.width,c=o.height;if(l===0||c===0)return;let u=t/Math.max(l/a,c/A);u=Math.min(u,Ro)||Ro,this.scale=u;const d=this.stage.width()/(2*u),f=this.stage.height()/(2*u),h=On[e[0]],p=h==null?void 0:h.getClientRect(),g=p.x*u,m=p.y*u,y=d-g,w=f-m;this.stage.setAttrs({scaleX:u,scaleY:u,x:y||0,y:w||0}),this.layer.batchDraw()},getBounds(e){let t,n,r,o;return e.map(a=>{const A=a.bounds,l=A.x+a.fx,c=A.y+a.fy;t=Math.min(l,t)||l,n=Math.min(c,n)||c,r=Math.max(l+A.width,r)||l+A.width,o=Math.max(c+A.height,o)||c+A.height}),{x:t,y:n,width:r-t,height:o-n}},resetMouseVars(){var e;this.mousedownNode=null,this.mousedownPos=null,this.mouseupNode=null,(e=this.dragLine)==null||e.destroy(),Object.keys(On).forEach(t=>{On[t].draggable(!0)})},loadIcons(){return new Promise((e,t)=>{const n=[],r=[];for(const c in this.moduleDetail.plugs){const u=this.moduleDetail.plugs[c];u==null||u.map(d=>{d.children?r.push(...d.children):r.push(d)})}n.push(...r.map(c=>c.icon)),n.push(...this.moduleDetail.nodes.map(c=>c.name)),n.push("node_type"),n.push("node"),n.push("aggregation");const o=this;let a=0;const A=n.filter(c=>this.imgPath[`${o.prefix}d3svg1/${c}.svg`]);function l(c){return{}.VITE_SVG_TYPE==="base64"?lde(c):Hd(c)}A.map(c=>{l(this.imgPath[`${o.prefix}d3svg1/${c}.svg`]).then(function(u){o.iconFiles[c]=u;const d=Ade(u).width;B_[c]=d,a++,a===A.length&&(o.iconAllLoaded=!0,e())}).catch(u=>{console.log(u,"e"),t()})})})},toggleZoom(e){},handleNodeContextMenu(e,t){var n,r;e.evt[this.actKey]||(clearTimeout(this.popoverTimer),this.showPopover=!1,this.contextMenuId++,this.contextMenuNode=t,this.mousePosition.left=e.evt.clientX,this.mousePosition.top=e.evt.clientY,this.showContextMenu=!0,console.log("e",e),console.log("node",t),e.currentTarget.type==="aggregation"?this.menuOptions=UCe:this.menuOptions=(n=this.$parent.moduleDetail)!=null&&n.plugs[t.type]?Array.from((r=this.$parent.moduleDetail)==null?void 0:r.plugs[t.type]):[])},handleDeselectNode(e,t){console.log("点击空白 _e, _node",e,t,new Date().getTime()),Ze(this,"handle-select-node",{isSelected:!1,_node:s.toRaw(t)}),this.selection.length&&(this.selection=[],this.updateSelection()),this.setHighlightRule({}),this.hideContextMenu()},setHighlightRule({prop:e,type:t,value:n}){console.log("setHighlightRule"),this.highlightRule={prop:e,type:t,value:n},this.updateNodeStyle(),t||jp(".legend-filter .out-box").classed("active",!1)},updateSelection(){const e=this.selection.map(t=>t.id);this.nodes.forEach(t=>{var n,r;e.includes(t.id)?(n=On[t.id])==null||n.addName("isSelected"):(r=On[t.id])==null||r.removeName("isSelected")}),Ze(this,"updateSelection")},toggleLayout(e){this.history.layoutIndex=e,this.history.dataNow.nodes.map(t=>{t.fx=t.fy=null}),this.updateSimulation(),this.ticked(),setTimeout(()=>{this.centerAndZoom()},200)},handleNodeClick(e,t){console.log("click",e,t),wr({cId:"handleNodeClick",c:"点击节点"}),this.canAct&&(t.type==="org"?window.open("http://bs.safe.360.net/starmap","__blank"):t.type==="nodeType"&&t.id.indexOf("org")>=0&&window.open("http://bs.safe.360.net/orglist?snapshot=true","__blank1")),this.hideContextMenu();const n=this.selection.includes(o=>o.id===t.id);if(e.evt.shiftKey){if(t.type==="nodeType"||this.selection.some(o=>o.type==="nodeType"))return;n?this.selection=this.selection.filter(o=>o.id!==t.id):this.selection=[...this.selection,t]}else n?this.selection=[]:this.selection=[t];const r=this.selection.some(o=>o.id===t.id);Ze(this,"handle-select-node",{isSelected:r,_node:t}),this.updateSelection(),this.setHighlightRule(this.highlightRule)},handleNodeMouseEnter(e,t){if(!this.showContextMenu&&!e.evt[this.actKey]){const n=e.target.width(),r=e.target.height(),o=e.target,a=o.getAbsolutePosition(),l=o.getStage().container().getBoundingClientRect(),c=a.x-n/2+l.left,u=a.y-r/2+l.top,d=c,f=u,h=d,p=d+n,g=f,m=f+r;this.hoverNodePosition={top:g,right:p,bottom:m,left:h,width:n,height:r},this.popoverType="node",this.popoverContent={[t.type]:t.id},this.popoverNode=t,this.popoverTimer&&clearTimeout(this.popoverTimer),this.popoverTimer=setTimeout(()=>{this.showPopover=!0},200)}},handleNodeMouseLeave(e,t){this.showContextMenu||(clearTimeout(this.popoverTimer),this.showPopover=!1)},handleNodeMouseUp(e,t){var n;e.evt[this.actKey]&&this.mousedownNode&&(this.dragLine&&((n=this.dragLine)==null||n.destroy()),this.mouseupNode=t,this.mouseupNode.id===this.mousedownNode.id||this.mouseupNode.type==="aggregation"||this.mousedownNode.type==="aggregation"||this.$parent.addLink(this.mousedownNode,this.mouseupNode)),this.resetMouseVars()},handleNodeMouseDown(e,t){if(e.evt[this.actKey]){this.mousedownNode=t,On[t.id].draggable(!1);const n=this.stage.scaleX(),r=this.stage.getPointerPosition(),o=(r.x-this.stage.x())/n,a=(r.y-this.stage.y())/n;this.mousedownPos={x:o,y:a},this.dragLine=new _n.Line({points:[o,a,o,a],stroke:"black",strokeWidth:1,dash:[5,5],opacity:.7,visible:!0}),this.layer.add(this.dragLine),this.stage.draw()}},treeLayout(){console.log("treeLayout"),this.nodes.map(e=>{e.fx=e.pos,e.fy=e.levelNum*this.levelHeight}),this.forceLayout()},resetLayout(){console.log("resetLayout"),this.simulation.stop(),this.nodes.map(e=>{delete e.vx,delete e.vy,delete e.x,delete e.y,delete e.fx,delete e.fy}),this.updateSimulation()},selectSingleEdgeNode(e){const t=[];this.links.map(n=>{n.source.id===e.id&&t.push(n.target.id)});for(let n=t.length-1;n>=0;n--){let r=0,o=0;const a=t[n];this.links.map(A=>{A.source.id===a&&r++,A.target.id===a&&o++}),r>=1&&t.splice(n,1),o>=2&&t.splice(n,1)}return t},selectChildren(e){const t=[];this.links.map(n=>{n.source.id===e.id&&t.push(n.target.id)}),this.handleTableSelect(t)},selectParents(e){const t=[];this.links.map(n=>{n.target.id===e.id&&t.push(n.source.id)}),this.handleTableSelect(t)},handleGlobalContextMenu(e){console.log("global context"),this.mousePosition.left=e.evt.clientX,this.mousePosition.top=e.evt.clientY,this.menuOptions=[],this.showContextMenu=!0,this.showPopover=!1,this.contextMenuNode={},e.evt.preventDefault()},hideContextMenu(){this.showContextMenu=!1,this.contextMenuNode={}},centerAndZoom(e=.9,t=!1){var d;console.log("centerAndZoom"),this.originTransform={scaleX:this.stage.scaleX(),scaleY:this.stage.scaleY(),x:this.stage.x(),y:this.stage.y()};const n=this.stage.width(),r=this.stage.height(),o=Ns.getClientRect(),a=o.width/this.scale,A=o.height/this.scale;if(a===0||A===0)return;let l=e/Math.max(a/n,A/r);if(l=t?l:Math.min(l,Ro)||Ro,!t&&l>Ro)return;this.scale=l;const c=this.stage.width()/(2*l),u=this.stage.height()/(2*l);if(this.simulation.force("center",f4(c,u)),this.stage.setAttrs({scaleX:l,scaleY:l,x:0,y:0}),this.layer.batchDraw(),this.history.layoutIndex===1){const f=Ns.getClientRect(),h=(n-f.width)/2-f.x,p=(r-f.height)/2-f.y;this.stage.setAttrs({x:h,y:p}),this.layer.batchDraw(),(d=this.simulation)==null||d.stop()}},reset(){this.stage.setAttrs(this.originTransform)},handleContextMenuClick({nodes:e,api:t,dataApi:n}){if(console.log("-> nodes",e),this.requestGraphData){let r,o;const a={show_label:"label",all_show_label:"label",all_show_names:"name",show_names:"name"};switch(t&&t.name){case"edit_label":this.editLabel(e);break;case"single_edge_select":r=this.selectSingleEdgeNode(e[0]),this.selection=this.nodes.filter(A=>r.includes(A.id));break;case"hold_aggregation":o=this.selectSingleEdgeNode(e[0]),this.$parent.aggregationNodes(o,e[0]);break;case"release_aggregation":this.$parent.releaseAggregation(e[0]);break;case"show_label":case"show_names":e.map(A=>{this.showLabel(A,a[t.name])});break;case"all_show_label":case"all_show_names":this.nodes.map(A=>{this.showLabel(A,a[t.name])});break;case"un_show_names":case"un_show_label":e.map(A=>{this.hideLabel(A)});break;case"all_un_show_names":case"all_un_show_label":this.nodes.map(A=>{this.hideLabel(A)});break;case"copy":this.copyNodeText(e);break;case"node_star":e.map(A=>{this.starNode(A)});break;case"un_node_star":e.map(A=>{this.starNode(A,!1)});break;case"fix_nodes":e.map(A=>{this.toggleMove(A,!0)});break;case"un_fix_nodes":e.map(A=>{this.toggleMove(A,!1)});break;case"all_fix_nodes":this.fixAllNodes(!0);break;case"all_un_fix_nodes":this.fixAllNodes(!1);break;case"expand_node":e.map(A=>{this.$parent.expandNodes(A)});break;case"expand_part_node":e.map(A=>{this.$parent.expandNodes(A,n)});break;case"go_result":this.handleGoDetail(e);break;case"delete_node":this.$parent.deleteNodes(e);break;case"select_children":this.selectChildren(e[0]);break;case"select_parents":this.selectParents(e[0]);break;case"undo":this.$parent.historyBack();break;case"redo":this.$parent.historyForward();break;case"add_con_node":this.$parent.$refs.buttonList.addNode("diy",e[0]);break;case"add_link":this.$parent.$refs.buttonList.addNode("diy",e[0]);break;case"show_node":this.toggleShowNode(e[0],e[1],!0);break;case"hide_node":this.toggleShowNode(e[0],e[1],!1);break;default:Ze(this,"custom-contextmenu-click",{eventName:t.name,customConfig:t.customConfig,nodes:e,allNodes:s.toRaw(this.history.dataNow.nodes)})}this.hideContextMenu(),setTimeout(()=>{this.updateSelection()},400)}else Qn({message:"无可操作权限",type:"warning"})},expandNodes(e,t){console.log("dblclick"),wr({cId:"dblclick",c:"双击节点"}),this.requestGraphData?this.$parent.expandNodes(t):Qn({message:"无可操作权限",type:"warning"})},toggleShowNode(e,t,n=!0){this.history.toggleShowNode(e,t,n),this.selection.filter(o=>o.show).length>0||this.handleTableSelect([]),setTimeout(this.updateNodeStyle,100)},copyNodeText(e){let t="";e.filter(n=>n.type!=="aggregation"&&n.type!=="nodeType").map(n=>{t=t+n.id+`
|
|
170
|
+
`),n=+this.fontSize(),r=0,o=this.lineHeight()*n,a=this.attrs.width,A=this.attrs.height,l=a!==Oc&&a!==void 0,c=A!==Oc&&A!==void 0,u=this.padding(),d=a-u*2,f=A-u*2,h=0,p=this.wrap(),g=p!==ZN,m=p!==D2e&&g,y=this.ellipsis();this.textArr=[],Zb().font=this._getContextFont();for(var w=y?this._getTextWidth(Jb):0,x=0,B=t.length;x<B;++x){var E=t[x],k=this._getTextWidth(E);if(l&&k>d)for(;E.length>0;){for(var U=0,T=E.length,Q="",z=0;U<T;){var O=U+T>>>1,R=E.slice(0,O+1),D=this._getTextWidth(R)+w;D<=d?(U=O+1,Q=R,z=D):T=O}if(Q){if(m){var M,L=E[Q.length],q=L===j1||L===WN;q&&z<=d?M=Q.length:M=Math.max(Q.lastIndexOf(j1),Q.lastIndexOf(WN))+1,M>0&&(U=M,Q=Q.slice(0,U),z=this._getTextWidth(Q))}Q=Q.trimRight(),this._addTextLine(Q),r=Math.max(r,z),h+=o;var G=this._shouldHandleEllipsis(h);if(G){this._tryToAddEllipsisToLastLine();break}if(E=E.slice(U),E=E.trimLeft(),E.length>0&&(k=this._getTextWidth(E),k<=d)){this._addTextLine(E),h+=o,r=Math.max(r,k);break}}else break}else this._addTextLine(E),h+=o,r=Math.max(r,k),this._shouldHandleEllipsis(h)&&x<B-1&&this._tryToAddEllipsisToLastLine();if(this.textArr[this.textArr.length-1]&&(this.textArr[this.textArr.length-1].lastInParagraph=!0),c&&h+o>f)break}this.textHeight=n,this.textWidth=r}_shouldHandleEllipsis(t){var n=+this.fontSize(),r=this.lineHeight()*n,o=this.attrs.height,a=o!==Oc&&o!==void 0,A=this.padding(),l=o-A*2,c=this.wrap(),u=c!==ZN;return!u||a&&t+r>l}_tryToAddEllipsisToLastLine(){var t=this.attrs.width,n=t!==Oc&&t!==void 0,r=this.padding(),o=t-r*2,a=this.ellipsis(),A=this.textArr[this.textArr.length-1];if(!(!A||!a)){if(n){var l=this._getTextWidth(A.text+Jb)<o;l||(A.text=A.text.slice(0,A.text.length-3))}this.textArr.splice(this.textArr.length-1,1),this._addTextLine(A.text+Jb)}}getStrokeScaleEnabled(){return!0}}qA.Text=kn,kn.prototype._fillFunc=H2e,kn.prototype._strokeFunc=$2e,kn.prototype.className=T2e,kn.prototype._attrsAffectingSize=["text","fontSize","padding","wrap","lineHeight","letterSpacing"],(0,x2e._registerNode)(kn),Lr.Factory.overWriteSetter(kn,"width",(0,Fs.getNumberOrAutoValidator)()),Lr.Factory.overWriteSetter(kn,"height",(0,Fs.getNumberOrAutoValidator)()),Lr.Factory.addGetterSetter(kn,"fontFamily","Arial"),Lr.Factory.addGetterSetter(kn,"fontSize",12,(0,Fs.getNumberValidator)()),Lr.Factory.addGetterSetter(kn,"fontStyle",JN),Lr.Factory.addGetterSetter(kn,"fontVariant",JN),Lr.Factory.addGetterSetter(kn,"padding",0,(0,Fs.getNumberValidator)()),Lr.Factory.addGetterSetter(kn,"align",YN),Lr.Factory.addGetterSetter(kn,"verticalAlign",I2e),Lr.Factory.addGetterSetter(kn,"lineHeight",1,(0,Fs.getNumberValidator)()),Lr.Factory.addGetterSetter(kn,"wrap",O2e),Lr.Factory.addGetterSetter(kn,"ellipsis",!1,(0,Fs.getBooleanValidator)()),Lr.Factory.addGetterSetter(kn,"letterSpacing",0,(0,Fs.getNumberValidator)()),Lr.Factory.addGetterSetter(kn,"text","",(0,Fs.getStringValidator)()),Lr.Factory.addGetterSetter(kn,"textDecoration","");var Y1={};Object.defineProperty(Y1,"__esModule",{value:!0}),Y1.TextPath=void 0;const Vb=gn,ao=_t,G2e=jn,If=Ic,e_=qA,eT=Xe,z2e=Ct;var q2e="",tT="normal";function nT(e){e.fillText(this.partialText,0,0)}function rT(e){e.strokeText(this.partialText,0,0)}class Yn extends G2e.Shape{constructor(t){super(t),this.dummyCanvas=Vb.Util.createCanvasElement(),this.dataArray=[],this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute(),this._setTextData()}),this.on("textChange.konva alignChange.konva letterSpacingChange.konva kerningFuncChange.konva fontSizeChange.konva fontFamilyChange.konva",this._setTextData),this._setTextData()}_getTextPathLength(){return If.Path.getPathLength(this.dataArray)}_getPointAtLength(t){if(!this.attrs.data)return null;const n=this.pathLength;return t-1>n?null:If.Path.getPointAtLengthOfDataArray(t,this.dataArray)}_readDataAttribute(){this.dataArray=If.Path.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(t){t.setAttr("font",this._getContextFont()),t.setAttr("textBaseline",this.textBaseline()),t.setAttr("textAlign","left"),t.save();var n=this.textDecoration(),r=this.fill(),o=this.fontSize(),a=this.glyphInfo;n==="underline"&&t.beginPath();for(var A=0;A<a.length;A++){t.save();var l=a[A].p0;t.translate(l.x,l.y),t.rotate(a[A].rotation),this.partialText=a[A].text,t.fillStrokeShape(this),n==="underline"&&(A===0&&t.moveTo(0,o/2+1),t.lineTo(o,o/2+1)),t.restore()}n==="underline"&&(t.strokeStyle=r,t.lineWidth=o/20,t.stroke()),t.restore()}_hitFunc(t){t.beginPath();var n=this.glyphInfo;if(n.length>=1){var r=n[0].p0;t.moveTo(r.x,r.y)}for(var o=0;o<n.length;o++){var a=n[o].p1;t.lineTo(a.x,a.y)}t.setAttr("lineWidth",this.fontSize()),t.setAttr("strokeStyle",this.colorKey),t.stroke()}getTextWidth(){return this.textWidth}getTextHeight(){return Vb.Util.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}setText(t){return e_.Text.prototype.setText.call(this,t)}_getContextFont(){return e_.Text.prototype._getContextFont.call(this)}_getTextSize(t){var n=this.dummyCanvas,r=n.getContext("2d");r.save(),r.font=this._getContextFont();var o=r.measureText(t);return r.restore(),{width:o.width,height:parseInt(`${this.fontSize()}`,10)}}_setTextData(){const{width:t,height:n}=this._getTextSize(this.attrs.text);if(this.textWidth=t,this.textHeight=n,this.glyphInfo=[],!this.attrs.data)return null;const r=this.letterSpacing(),o=this.align(),a=this.kerningFunc(),A=Math.max(this.textWidth+((this.attrs.text||"").length-1)*r,0);let l=0;o==="center"&&(l=Math.max(0,this.pathLength/2-A/2)),o==="right"&&(l=Math.max(0,this.pathLength-A));const c=(0,e_.stringToArray)(this.text());let u=l;for(var d=0;d<c.length;d++){const f=this._getPointAtLength(u);if(!f)return;let h=this._getTextSize(c[d]).width+r;if(c[d]===" "&&o==="justify"){const x=this.text().split(" ").length-1;h+=(this.pathLength-A)/x}const p=this._getPointAtLength(u+h);if(!p)return;const g=If.Path.getLineLength(f.x,f.y,p.x,p.y);let m=0;if(a)try{m=a(c[d-1],c[d])*this.fontSize()}catch(x){m=0}f.x+=m,p.x+=m,this.textWidth+=m;const y=If.Path.getPointOnLine(m+g/2,f.x,f.y,p.x,p.y),w=Math.atan2(p.y-f.y,p.x-f.x);this.glyphInfo.push({transposeX:y.x,transposeY:y.y,text:c[d],rotation:w,p0:f,p1:p}),u+=h}}getSelfRect(){if(!this.glyphInfo.length)return{x:0,y:0,width:0,height:0};var t=[];this.glyphInfo.forEach(function(d){t.push(d.p0.x),t.push(d.p0.y),t.push(d.p1.x),t.push(d.p1.y)});for(var n=t[0]||0,r=t[0]||0,o=t[1]||0,a=t[1]||0,A,l,c=0;c<t.length/2;c++)A=t[c*2],l=t[c*2+1],n=Math.min(n,A),r=Math.max(r,A),o=Math.min(o,l),a=Math.max(a,l);var u=this.fontSize();return{x:n-u/2,y:o-u/2,width:r-n+u,height:a-o+u}}destroy(){return Vb.Util.releaseCanvas(this.dummyCanvas),super.destroy()}}Y1.TextPath=Yn,Yn.prototype._fillFunc=nT,Yn.prototype._strokeFunc=rT,Yn.prototype._fillFuncHit=nT,Yn.prototype._strokeFuncHit=rT,Yn.prototype.className="TextPath",Yn.prototype._attrsAffectingSize=["text","fontSize","data"],(0,z2e._registerNode)(Yn),ao.Factory.addGetterSetter(Yn,"data"),ao.Factory.addGetterSetter(Yn,"fontFamily","Arial"),ao.Factory.addGetterSetter(Yn,"fontSize",12,(0,eT.getNumberValidator)()),ao.Factory.addGetterSetter(Yn,"fontStyle",tT),ao.Factory.addGetterSetter(Yn,"align","left"),ao.Factory.addGetterSetter(Yn,"letterSpacing",0,(0,eT.getNumberValidator)()),ao.Factory.addGetterSetter(Yn,"textBaseline","middle"),ao.Factory.addGetterSetter(Yn,"fontVariant",tT),ao.Factory.addGetterSetter(Yn,"text",q2e),ao.Factory.addGetterSetter(Yn,"textDecoration",null),ao.Factory.addGetterSetter(Yn,"kerningFunc",null);var X1={};Object.defineProperty(X1,"__esModule",{value:!0}),X1.Transformer=void 0;const zt=gn,Kt=_t,iT=sn,j2e=jn,W2e=Nf,oT=Nc,so=Ct,ks=Xe,Y2e=Ct;var aT="tr-konva",X2e=["resizeEnabledChange","rotateAnchorOffsetChange","rotateEnabledChange","enabledAnchorsChange","anchorSizeChange","borderEnabledChange","borderStrokeChange","borderStrokeWidthChange","borderDashChange","anchorStrokeChange","anchorStrokeWidthChange","anchorFillChange","anchorCornerRadiusChange","ignoreStrokeChange","anchorStyleFuncChange"].map(e=>e+`.${aT}`).join(" "),sT="nodesRect",J2e=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange"],Z2e={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135};const V2e="ontouchstart"in so.Konva._global;function eve(e,t){if(e==="rotater")return"crosshair";t+=zt.Util.degToRad(Z2e[e]||0);var n=(zt.Util.radToDeg(t)%360+360)%360;return zt.Util._inRange(n,315+22.5,360)||zt.Util._inRange(n,0,22.5)?"ns-resize":zt.Util._inRange(n,45-22.5,45+22.5)?"nesw-resize":zt.Util._inRange(n,90-22.5,90+22.5)?"ew-resize":zt.Util._inRange(n,135-22.5,135+22.5)?"nwse-resize":zt.Util._inRange(n,180-22.5,180+22.5)?"ns-resize":zt.Util._inRange(n,225-22.5,225+22.5)?"nesw-resize":zt.Util._inRange(n,270-22.5,270+22.5)?"ew-resize":zt.Util._inRange(n,315-22.5,315+22.5)?"nwse-resize":(zt.Util.error("Transformer has unknown angle for cursor detection: "+n),"pointer")}var J1=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],AT=1e8;function tve(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function lT(e,t,n){const r=n.x+(e.x-n.x)*Math.cos(t)-(e.y-n.y)*Math.sin(t),o=n.y+(e.x-n.x)*Math.sin(t)+(e.y-n.y)*Math.cos(t);return Object.assign(Object.assign({},e),{rotation:e.rotation+t,x:r,y:o})}function nve(e,t){const n=tve(e);return lT(e,t,n)}function rve(e,t,n){let r=t;for(let o=0;o<e.length;o++){const a=so.Konva.getAngle(e[o]),A=Math.abs(a-t)%(Math.PI*2);Math.min(A,Math.PI*2-A)<n&&(r=a)}return r}class Qt extends oT.Group{constructor(t){super(t),this._transforming=!1,this._createElements(),this._handleMouseMove=this._handleMouseMove.bind(this),this._handleMouseUp=this._handleMouseUp.bind(this),this.update=this.update.bind(this),this.on(X2e,this.update),this.getNode()&&this.update()}attachTo(t){return this.setNode(t),this}setNode(t){return zt.Util.warn("tr.setNode(shape), tr.node(shape) and tr.attachTo(shape) methods are deprecated. Please use tr.nodes(nodesArray) instead."),this.setNodes([t])}getNode(){return this._nodes&&this._nodes[0]}_getEventNamespace(){return aT+this._id}setNodes(t=[]){this._nodes&&this._nodes.length&&this.detach();const n=t.filter(o=>o.isAncestorOf(this)?(zt.Util.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1):!0);this._nodes=t=n,t.length===1&&this.useSingleNodeRotation()?this.rotation(t[0].getAbsoluteRotation()):this.rotation(0),this._nodes.forEach(o=>{const a=()=>{this.nodes().length===1&&this.useSingleNodeRotation()&&this.rotation(this.nodes()[0].getAbsoluteRotation()),this._resetTransformCache(),!this._transforming&&!this.isDragging()&&this.update()},A=o._attrsAffectingSize.map(l=>l+"Change."+this._getEventNamespace()).join(" ");o.on(A,a),o.on(J2e.map(l=>l+`.${this._getEventNamespace()}`).join(" "),a),o.on(`absoluteTransformChange.${this._getEventNamespace()}`,a),this._proxyDrag(o)}),this._resetTransformCache();var r=!!this.findOne(".top-left");return r&&this.update(),this}_proxyDrag(t){let n;t.on(`dragstart.${this._getEventNamespace()}`,r=>{n=t.getAbsolutePosition(),!this.isDragging()&&t!==this.findOne(".back")&&this.startDrag(r,!1)}),t.on(`dragmove.${this._getEventNamespace()}`,r=>{if(!n)return;const o=t.getAbsolutePosition(),a=o.x-n.x,A=o.y-n.y;this.nodes().forEach(l=>{if(l===t||l.isDragging())return;const c=l.getAbsolutePosition();l.setAbsolutePosition({x:c.x+a,y:c.y+A}),l.startDrag(r)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){this._nodes&&this._nodes.forEach(t=>{t.off("."+this._getEventNamespace())}),this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(sT),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(sT,this.__getNodeRect)}__getNodeShape(t,n=this.rotation(),r){var o=t.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),a=t.getAbsoluteScale(r),A=t.getAbsolutePosition(r),l=o.x*a.x-t.offsetX()*a.x,c=o.y*a.y-t.offsetY()*a.y;const u=(so.Konva.getAngle(t.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),d={x:A.x+l*Math.cos(u)+c*Math.sin(-u),y:A.y+c*Math.cos(u)+l*Math.sin(u),width:o.width*a.x,height:o.height*a.y,rotation:u};return lT(d,-so.Konva.getAngle(n),{x:0,y:0})}__getNodeRect(){var t=this.getNode();if(!t)return{x:-AT,y:-AT,width:0,height:0,rotation:0};const n=[];this.nodes().map(u=>{const d=u.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()});var f=[{x:d.x,y:d.y},{x:d.x+d.width,y:d.y},{x:d.x+d.width,y:d.y+d.height},{x:d.x,y:d.y+d.height}],h=u.getAbsoluteTransform();f.forEach(function(p){var g=h.point(p);n.push(g)})});const r=new zt.Transform;r.rotate(-so.Konva.getAngle(this.rotation()));var o,a,A,l;n.forEach(function(u){var d=r.point(u);o===void 0&&(o=A=d.x,a=l=d.y),o=Math.min(o,d.x),a=Math.min(a,d.y),A=Math.max(A,d.x),l=Math.max(l,d.y)}),r.invert();const c=r.point({x:o,y:a});return{x:c.x,y:c.y,width:A-o,height:l-a,rotation:so.Konva.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),J1.forEach(function(t){this._createAnchor(t)}.bind(this)),this._createAnchor("rotater")}_createAnchor(t){var n=new W2e.Rect({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:t+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:V2e?10:"auto"}),r=this;n.on("mousedown touchstart",function(o){r._handleMouseDown(o)}),n.on("dragstart",o=>{n.stopDrag(),o.cancelBubble=!0}),n.on("dragend",o=>{o.cancelBubble=!0}),n.on("mouseenter",()=>{var o=so.Konva.getAngle(this.rotation()),a=eve(t,o);n.getStage().content&&(n.getStage().content.style.cursor=a),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){var t=new j2e.Shape({name:"back",width:0,height:0,draggable:!0,sceneFunc(n){var r=this.getParent(),o=r.padding();n.beginPath(),n.rect(-o,-o,this.width()+o*2,this.height()+o*2),n.moveTo(this.width()/2,-o),r.rotateEnabled()&&n.lineTo(this.width()/2,-r.rotateAnchorOffset()*zt.Util._sign(this.height())-o),n.fillStrokeShape(this)},hitFunc:(n,r)=>{if(this.shouldOverdrawWholeArea()){var o=this.padding();n.beginPath(),n.rect(-o,-o,r.width()+o*2,r.height()+o*2),n.fillStrokeShape(r)}}});this.add(t),this._proxyDrag(t),t.on("dragstart",n=>{n.cancelBubble=!0}),t.on("dragmove",n=>{n.cancelBubble=!0}),t.on("dragend",n=>{n.cancelBubble=!0}),this.on("dragmove",n=>{this.update()})}_handleMouseDown(t){this._movingAnchorName=t.target.name().split(" ")[0];var n=this._getNodeRect(),r=n.width,o=n.height,a=Math.sqrt(Math.pow(r,2)+Math.pow(o,2));this.sin=Math.abs(o/a),this.cos=Math.abs(r/a),typeof window!="undefined"&&(window.addEventListener("mousemove",this._handleMouseMove),window.addEventListener("touchmove",this._handleMouseMove),window.addEventListener("mouseup",this._handleMouseUp,!0),window.addEventListener("touchend",this._handleMouseUp,!0)),this._transforming=!0;var A=t.target.getAbsolutePosition(),l=t.target.getStage().getPointerPosition();this._anchorDragOffset={x:l.x-A.x,y:l.y-A.y},this._fire("transformstart",{evt:t.evt,target:this.getNode()}),this._nodes.forEach(c=>{c._fire("transformstart",{evt:t.evt,target:c})})}_handleMouseMove(t){var n,r,o,a=this.findOne("."+this._movingAnchorName),A=a.getStage();A.setPointersPositions(t);const l=A.getPointerPosition();let c={x:l.x-this._anchorDragOffset.x,y:l.y-this._anchorDragOffset.y};const u=a.getAbsolutePosition();this.anchorDragBoundFunc()&&(c=this.anchorDragBoundFunc()(u,c,t)),a.setAbsolutePosition(c);const d=a.getAbsolutePosition();if(!(u.x===d.x&&u.y===d.y)){if(this._movingAnchorName==="rotater"){var f=this._getNodeRect();n=a.x()-f.width/2,r=-a.y()+f.height/2;let M=Math.atan2(-r,n)+Math.PI/2;f.height<0&&(M-=Math.PI);var h=so.Konva.getAngle(this.rotation());const L=h+M,q=so.Konva.getAngle(this.rotationSnapTolerance()),J=rve(this.rotationSnaps(),L,q)-f.rotation,X=nve(f,J);this._fitNodesInto(X,t);return}var p=this.shiftBehavior(),g;p==="inverted"?g=this.keepRatio()&&!t.shiftKey:p==="none"?g=this.keepRatio():g=this.keepRatio()||t.shiftKey;var B=this.centeredScaling()||t.altKey;if(this._movingAnchorName==="top-left"){if(g){var m=B?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};o=Math.sqrt(Math.pow(m.x-a.x(),2)+Math.pow(m.y-a.y(),2));var y=this.findOne(".top-left").x()>m.x?-1:1,w=this.findOne(".top-left").y()>m.y?-1:1;n=o*this.cos*y,r=o*this.sin*w,this.findOne(".top-left").x(m.x-n),this.findOne(".top-left").y(m.y-r)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(a.y());else if(this._movingAnchorName==="top-right"){if(g){var m=B?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};o=Math.sqrt(Math.pow(a.x()-m.x,2)+Math.pow(m.y-a.y(),2));var y=this.findOne(".top-right").x()<m.x?-1:1,w=this.findOne(".top-right").y()>m.y?-1:1;n=o*this.cos*y,r=o*this.sin*w,this.findOne(".top-right").x(m.x+n),this.findOne(".top-right").y(m.y-r)}var x=a.position();this.findOne(".top-left").y(x.y),this.findOne(".bottom-right").x(x.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(a.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(a.x());else if(this._movingAnchorName==="bottom-left"){if(g){var m=B?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};o=Math.sqrt(Math.pow(m.x-a.x(),2)+Math.pow(a.y()-m.y,2));var y=m.x<a.x()?-1:1,w=a.y()<m.y?-1:1;n=o*this.cos*y,r=o*this.sin*w,a.x(m.x-n),a.y(m.y+r)}x=a.position(),this.findOne(".top-left").x(x.x),this.findOne(".bottom-right").y(x.y)}else if(this._movingAnchorName==="bottom-center")this.findOne(".bottom-right").y(a.y());else if(this._movingAnchorName==="bottom-right"){if(g){var m=B?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-left").x(),y:this.findOne(".top-left").y()};o=Math.sqrt(Math.pow(a.x()-m.x,2)+Math.pow(a.y()-m.y,2));var y=this.findOne(".bottom-right").x()<m.x?-1:1,w=this.findOne(".bottom-right").y()<m.y?-1:1;n=o*this.cos*y,r=o*this.sin*w,this.findOne(".bottom-right").x(m.x+n),this.findOne(".bottom-right").y(m.y+r)}}else console.error(new Error("Wrong position argument of selection resizer: "+this._movingAnchorName));var B=this.centeredScaling()||t.altKey;if(B){var E=this.findOne(".top-left"),k=this.findOne(".bottom-right"),U=E.x(),T=E.y(),Q=this.getWidth()-k.x(),z=this.getHeight()-k.y();k.move({x:-U,y:-T}),E.move({x:Q,y:z})}var O=this.findOne(".top-left").getAbsolutePosition();n=O.x,r=O.y;var R=this.findOne(".bottom-right").x()-this.findOne(".top-left").x(),D=this.findOne(".bottom-right").y()-this.findOne(".top-left").y();this._fitNodesInto({x:n,y:r,width:R,height:D,rotation:so.Konva.getAngle(this.rotation())},t)}}_handleMouseUp(t){this._removeEvents(t)}getAbsoluteTransform(){return this.getTransform()}_removeEvents(t){if(this._transforming){this._transforming=!1,typeof window!="undefined"&&(window.removeEventListener("mousemove",this._handleMouseMove),window.removeEventListener("touchmove",this._handleMouseMove),window.removeEventListener("mouseup",this._handleMouseUp,!0),window.removeEventListener("touchend",this._handleMouseUp,!0));var n=this.getNode();this._fire("transformend",{evt:t,target:n}),n&&this._nodes.forEach(r=>{r._fire("transformend",{evt:t,target:r})}),this._movingAnchorName=null}}_fitNodesInto(t,n){var r=this._getNodeRect();const o=1;if(zt.Util._inRange(t.width,-this.padding()*2-o,o)){this.update();return}if(zt.Util._inRange(t.height,-this.padding()*2-o,o)){this.update();return}const a=this.flipEnabled();var A=new zt.Transform;if(A.rotate(so.Konva.getAngle(this.rotation())),this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("left")>=0){const f=A.point({x:-this.padding()*2,y:0});if(t.x+=f.x,t.y+=f.y,t.width+=this.padding()*2,this._movingAnchorName=this._movingAnchorName.replace("left","right"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,!a){this.update();return}}else if(this._movingAnchorName&&t.width<0&&this._movingAnchorName.indexOf("right")>=0){const f=A.point({x:this.padding()*2,y:0});if(this._movingAnchorName=this._movingAnchorName.replace("right","left"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.width+=this.padding()*2,!a){this.update();return}}if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("top")>=0){const f=A.point({x:0,y:-this.padding()*2});if(t.x+=f.x,t.y+=f.y,this._movingAnchorName=this._movingAnchorName.replace("top","bottom"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!a){this.update();return}}else if(this._movingAnchorName&&t.height<0&&this._movingAnchorName.indexOf("bottom")>=0){const f=A.point({x:0,y:this.padding()*2});if(this._movingAnchorName=this._movingAnchorName.replace("bottom","top"),this._anchorDragOffset.x-=f.x,this._anchorDragOffset.y-=f.y,t.height+=this.padding()*2,!a){this.update();return}}if(this.boundBoxFunc()){const f=this.boundBoxFunc()(r,t);f?t=f:zt.Util.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}const l=1e7,c=new zt.Transform;c.translate(r.x,r.y),c.rotate(r.rotation),c.scale(r.width/l,r.height/l);const u=new zt.Transform;u.translate(t.x,t.y),u.rotate(t.rotation),u.scale(t.width/l,t.height/l);const d=u.multiply(c.invert());this._nodes.forEach(f=>{var h;const p=f.getParent().getAbsoluteTransform(),g=f.getTransform().copy();g.translate(f.offsetX(),f.offsetY());const m=new zt.Transform;m.multiply(p.copy().invert()).multiply(d).multiply(p).multiply(g);const y=m.decompose();f.setAttrs(y),this._fire("transform",{evt:n,target:f}),f._fire("transform",{evt:n,target:f}),(h=f.getLayer())===null||h===void 0||h.batchDraw()}),this.rotation(zt.Util._getRotation(t.rotation)),this._resetTransformCache(),this.update(),this.getLayer().batchDraw()}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(t,n){this.findOne(t).setAttrs(n)}update(){var t,n=this._getNodeRect();this.rotation(zt.Util._getRotation(n.rotation));var r=n.width,o=n.height,a=this.enabledAnchors(),A=this.resizeEnabled(),l=this.padding(),c=this.anchorSize();const u=this.find("._anchor");u.forEach(f=>{f.setAttrs({width:c,height:c,offsetX:c/2,offsetY:c/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:c/2+l,offsetY:c/2+l,visible:A&&a.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:r/2,y:0,offsetY:c/2+l,visible:A&&a.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:r,y:0,offsetX:c/2-l,offsetY:c/2+l,visible:A&&a.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:o/2,offsetX:c/2+l,visible:A&&a.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:r,y:o/2,offsetX:c/2-l,visible:A&&a.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:o,offsetX:c/2+l,offsetY:c/2-l,visible:A&&a.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:r/2,y:o,offsetY:c/2-l,visible:A&&a.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:r,y:o,offsetX:c/2-l,offsetY:c/2-l,visible:A&&a.indexOf("bottom-right")>=0}),this._batchChangeChild(".rotater",{x:r/2,y:-this.rotateAnchorOffset()*zt.Util._sign(o)-l,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:r,height:o,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),x:0,y:0});const d=this.anchorStyleFunc();d&&u.forEach(f=>{d(f)}),(t=this.getLayer())===null||t===void 0||t.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();var t=this.findOne("."+this._movingAnchorName);t&&t.stopDrag()}}destroy(){return this.getStage()&&this._cursorChange&&this.getStage().content&&(this.getStage().content.style.cursor=""),oT.Group.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}toObject(){return iT.Node.prototype.toObject.call(this)}clone(t){var n=iT.Node.prototype.clone.call(this,t);return n}getClientRect(){return this.nodes().length>0?super.getClientRect():{x:0,y:0,width:0,height:0}}}X1.Transformer=Qt;function ive(e){return e instanceof Array||zt.Util.warn("enabledAnchors value should be an array"),e instanceof Array&&e.forEach(function(t){J1.indexOf(t)===-1&&zt.Util.warn("Unknown anchor name: "+t+". Available names are: "+J1.join(", "))}),e||[]}Qt.prototype.className="Transformer",(0,Y2e._registerNode)(Qt),Kt.Factory.addGetterSetter(Qt,"enabledAnchors",J1,ive),Kt.Factory.addGetterSetter(Qt,"flipEnabled",!0,(0,ks.getBooleanValidator)()),Kt.Factory.addGetterSetter(Qt,"resizeEnabled",!0),Kt.Factory.addGetterSetter(Qt,"anchorSize",10,(0,ks.getNumberValidator)()),Kt.Factory.addGetterSetter(Qt,"rotateEnabled",!0),Kt.Factory.addGetterSetter(Qt,"rotationSnaps",[]),Kt.Factory.addGetterSetter(Qt,"rotateAnchorOffset",50,(0,ks.getNumberValidator)()),Kt.Factory.addGetterSetter(Qt,"rotationSnapTolerance",5,(0,ks.getNumberValidator)()),Kt.Factory.addGetterSetter(Qt,"borderEnabled",!0),Kt.Factory.addGetterSetter(Qt,"anchorStroke","rgb(0, 161, 255)"),Kt.Factory.addGetterSetter(Qt,"anchorStrokeWidth",1,(0,ks.getNumberValidator)()),Kt.Factory.addGetterSetter(Qt,"anchorFill","white"),Kt.Factory.addGetterSetter(Qt,"anchorCornerRadius",0,(0,ks.getNumberValidator)()),Kt.Factory.addGetterSetter(Qt,"borderStroke","rgb(0, 161, 255)"),Kt.Factory.addGetterSetter(Qt,"borderStrokeWidth",1,(0,ks.getNumberValidator)()),Kt.Factory.addGetterSetter(Qt,"borderDash"),Kt.Factory.addGetterSetter(Qt,"keepRatio",!0),Kt.Factory.addGetterSetter(Qt,"shiftBehavior","default"),Kt.Factory.addGetterSetter(Qt,"centeredScaling",!1),Kt.Factory.addGetterSetter(Qt,"ignoreStroke",!1),Kt.Factory.addGetterSetter(Qt,"padding",0,(0,ks.getNumberValidator)()),Kt.Factory.addGetterSetter(Qt,"node"),Kt.Factory.addGetterSetter(Qt,"nodes"),Kt.Factory.addGetterSetter(Qt,"boundBoxFunc"),Kt.Factory.addGetterSetter(Qt,"anchorDragBoundFunc"),Kt.Factory.addGetterSetter(Qt,"anchorStyleFunc"),Kt.Factory.addGetterSetter(Qt,"shouldOverdrawWholeArea",!1),Kt.Factory.addGetterSetter(Qt,"useSingleNodeRotation",!0),Kt.Factory.backCompat(Qt,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});var Z1={};Object.defineProperty(Z1,"__esModule",{value:!0}),Z1.Wedge=void 0;const V1=_t,ove=jn,ave=Ct,cT=Xe,sve=Ct;class Ta extends ove.Shape{_sceneFunc(t){t.beginPath(),t.arc(0,0,this.radius(),0,ave.Konva.getAngle(this.angle()),this.clockwise()),t.lineTo(0,0),t.closePath(),t.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(t){this.radius(t/2)}setHeight(t){this.radius(t/2)}}Z1.Wedge=Ta,Ta.prototype.className="Wedge",Ta.prototype._centroid=!0,Ta.prototype._attrsAffectingSize=["radius"],(0,sve._registerNode)(Ta),V1.Factory.addGetterSetter(Ta,"radius",0,(0,cT.getNumberValidator)()),V1.Factory.addGetterSetter(Ta,"angle",0,(0,cT.getNumberValidator)()),V1.Factory.addGetterSetter(Ta,"clockwise",!1),V1.Factory.backCompat(Ta,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});var em={};Object.defineProperty(em,"__esModule",{value:!0}),em.Blur=void 0;const uT=_t,Ave=sn,lve=Xe;function dT(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var cve=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],uve=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function dve(e,t){var n=e.data,r=e.width,o=e.height,a,A,l,c,u,d,f,h,p,g,m,y,w,x,B,E,k,U,T,Q,z,O,R,D,M=t+t+1,L=r-1,q=o-1,G=t+1,J=G*(G+1)/2,X=new dT,W=null,K=X,ne=null,ie=null,le=cve[t],ce=uve[t];for(l=1;l<M;l++)K=K.next=new dT,l===G&&(W=K);for(K.next=X,f=d=0,A=0;A<o;A++){for(E=k=U=T=h=p=g=m=0,y=G*(Q=n[d]),w=G*(z=n[d+1]),x=G*(O=n[d+2]),B=G*(R=n[d+3]),h+=J*Q,p+=J*z,g+=J*O,m+=J*R,K=X,l=0;l<G;l++)K.r=Q,K.g=z,K.b=O,K.a=R,K=K.next;for(l=1;l<G;l++)c=d+((L<l?L:l)<<2),h+=(K.r=Q=n[c])*(D=G-l),p+=(K.g=z=n[c+1])*D,g+=(K.b=O=n[c+2])*D,m+=(K.a=R=n[c+3])*D,E+=Q,k+=z,U+=O,T+=R,K=K.next;for(ne=X,ie=W,a=0;a<r;a++)n[d+3]=R=m*le>>ce,R!==0?(R=255/R,n[d]=(h*le>>ce)*R,n[d+1]=(p*le>>ce)*R,n[d+2]=(g*le>>ce)*R):n[d]=n[d+1]=n[d+2]=0,h-=y,p-=w,g-=x,m-=B,y-=ne.r,w-=ne.g,x-=ne.b,B-=ne.a,c=f+((c=a+t+1)<L?c:L)<<2,E+=ne.r=n[c],k+=ne.g=n[c+1],U+=ne.b=n[c+2],T+=ne.a=n[c+3],h+=E,p+=k,g+=U,m+=T,ne=ne.next,y+=Q=ie.r,w+=z=ie.g,x+=O=ie.b,B+=R=ie.a,E-=Q,k-=z,U-=O,T-=R,ie=ie.next,d+=4;f+=r}for(a=0;a<r;a++){for(k=U=T=E=p=g=m=h=0,d=a<<2,y=G*(Q=n[d]),w=G*(z=n[d+1]),x=G*(O=n[d+2]),B=G*(R=n[d+3]),h+=J*Q,p+=J*z,g+=J*O,m+=J*R,K=X,l=0;l<G;l++)K.r=Q,K.g=z,K.b=O,K.a=R,K=K.next;for(u=r,l=1;l<=t;l++)d=u+a<<2,h+=(K.r=Q=n[d])*(D=G-l),p+=(K.g=z=n[d+1])*D,g+=(K.b=O=n[d+2])*D,m+=(K.a=R=n[d+3])*D,E+=Q,k+=z,U+=O,T+=R,K=K.next,l<q&&(u+=r);for(d=a,ne=X,ie=W,A=0;A<o;A++)c=d<<2,n[c+3]=R=m*le>>ce,R>0?(R=255/R,n[c]=(h*le>>ce)*R,n[c+1]=(p*le>>ce)*R,n[c+2]=(g*le>>ce)*R):n[c]=n[c+1]=n[c+2]=0,h-=y,p-=w,g-=x,m-=B,y-=ne.r,w-=ne.g,x-=ne.b,B-=ne.a,c=a+((c=A+G)<q?c:q)*r<<2,h+=E+=ne.r=n[c],p+=k+=ne.g=n[c+1],g+=U+=ne.b=n[c+2],m+=T+=ne.a=n[c+3],ne=ne.next,y+=Q=ie.r,w+=z=ie.g,x+=O=ie.b,B+=R=ie.a,E-=Q,k-=z,U-=O,T-=R,ie=ie.next,d+=r}}const fve=function(t){var n=Math.round(this.blurRadius());n>0&&dve(t,n)};em.Blur=fve,uT.Factory.addGetterSetter(Ave.Node,"blurRadius",0,(0,lve.getNumberValidator)(),uT.Factory.afterSetFilter);var tm={};Object.defineProperty(tm,"__esModule",{value:!0}),tm.Brighten=void 0;const fT=_t,hve=sn,pve=Xe,gve=function(e){var t=this.brightness()*255,n=e.data,r=n.length,o;for(o=0;o<r;o+=4)n[o]+=t,n[o+1]+=t,n[o+2]+=t};tm.Brighten=gve,fT.Factory.addGetterSetter(hve.Node,"brightness",0,(0,pve.getNumberValidator)(),fT.Factory.afterSetFilter);var nm={};Object.defineProperty(nm,"__esModule",{value:!0}),nm.Contrast=void 0;const hT=_t,mve=sn,vve=Xe,yve=function(e){var t=Math.pow((this.contrast()+100)/100,2),n=e.data,r=n.length,o=150,a=150,A=150,l;for(l=0;l<r;l+=4)o=n[l],a=n[l+1],A=n[l+2],o/=255,o-=.5,o*=t,o+=.5,o*=255,a/=255,a-=.5,a*=t,a+=.5,a*=255,A/=255,A-=.5,A*=t,A+=.5,A*=255,o=o<0?0:o>255?255:o,a=a<0?0:a>255?255:a,A=A<0?0:A>255?255:A,n[l]=o,n[l+1]=a,n[l+2]=A};nm.Contrast=yve,hT.Factory.addGetterSetter(mve.Node,"contrast",0,(0,vve.getNumberValidator)(),hT.Factory.afterSetFilter);var rm={};Object.defineProperty(rm,"__esModule",{value:!0}),rm.Emboss=void 0;const Us=_t,im=sn,wve=gn,pT=Xe,bve=function(e){var t=this.embossStrength()*10,n=this.embossWhiteLevel()*255,r=this.embossDirection(),o=this.embossBlend(),a=0,A=0,l=e.data,c=e.width,u=e.height,d=c*4,f=u;switch(r){case"top-left":a=-1,A=-1;break;case"top":a=-1,A=0;break;case"top-right":a=-1,A=1;break;case"right":a=0,A=1;break;case"bottom-right":a=1,A=1;break;case"bottom":a=1,A=0;break;case"bottom-left":a=1,A=-1;break;case"left":a=0,A=-1;break;default:wve.Util.error("Unknown emboss direction: "+r)}do{var h=(f-1)*d,p=a;f+p<1&&(p=0),f+p>u&&(p=0);var g=(f-1+p)*c*4,m=c;do{var y=h+(m-1)*4,w=A;m+w<1&&(w=0),m+w>c&&(w=0);var x=g+(m-1+w)*4,B=l[y]-l[x],E=l[y+1]-l[x+1],k=l[y+2]-l[x+2],U=B,T=U>0?U:-U,Q=E>0?E:-E,z=k>0?k:-k;if(Q>T&&(U=E),z>T&&(U=k),U*=t,o){var O=l[y]+U,R=l[y+1]+U,D=l[y+2]+U;l[y]=O>255?255:O<0?0:O,l[y+1]=R>255?255:R<0?0:R,l[y+2]=D>255?255:D<0?0:D}else{var M=n-U;M<0?M=0:M>255&&(M=255),l[y]=l[y+1]=l[y+2]=M}}while(--m)}while(--f)};rm.Emboss=bve,Us.Factory.addGetterSetter(im.Node,"embossStrength",.5,(0,pT.getNumberValidator)(),Us.Factory.afterSetFilter),Us.Factory.addGetterSetter(im.Node,"embossWhiteLevel",.5,(0,pT.getNumberValidator)(),Us.Factory.afterSetFilter),Us.Factory.addGetterSetter(im.Node,"embossDirection","top-left",null,Us.Factory.afterSetFilter),Us.Factory.addGetterSetter(im.Node,"embossBlend",!1,null,Us.Factory.afterSetFilter);var om={};Object.defineProperty(om,"__esModule",{value:!0}),om.Enhance=void 0;const gT=_t,_ve=sn,Bve=Xe;function t_(e,t,n,r,o){var a=n-t,A=o-r,l;return a===0?r+A/2:A===0?r:(l=(e-t)/a,l=A*l+r,l)}const Cve=function(e){var t=e.data,n=t.length,r=t[0],o=r,a,A=t[1],l=A,c,u=t[2],d=u,f,h,p=this.enhance();if(p!==0){for(h=0;h<n;h+=4)a=t[h+0],a<r?r=a:a>o&&(o=a),c=t[h+1],c<A?A=c:c>l&&(l=c),f=t[h+2],f<u?u=f:f>d&&(d=f);o===r&&(o=255,r=0),l===A&&(l=255,A=0),d===u&&(d=255,u=0);var g,m,y,w,x,B,E,k,U;for(p>0?(m=o+p*(255-o),y=r-p*(r-0),x=l+p*(255-l),B=A-p*(A-0),k=d+p*(255-d),U=u-p*(u-0)):(g=(o+r)*.5,m=o+p*(o-g),y=r+p*(r-g),w=(l+A)*.5,x=l+p*(l-w),B=A+p*(A-w),E=(d+u)*.5,k=d+p*(d-E),U=u+p*(u-E)),h=0;h<n;h+=4)t[h+0]=t_(t[h+0],r,o,y,m),t[h+1]=t_(t[h+1],A,l,B,x),t[h+2]=t_(t[h+2],u,d,U,k)}};om.Enhance=Cve,gT.Factory.addGetterSetter(_ve.Node,"enhance",0,(0,Bve.getNumberValidator)(),gT.Factory.afterSetFilter);var am={};Object.defineProperty(am,"__esModule",{value:!0}),am.Grayscale=void 0;const Eve=function(e){var t=e.data,n=t.length,r,o;for(r=0;r<n;r+=4)o=.34*t[r]+.5*t[r+1]+.16*t[r+2],t[r]=o,t[r+1]=o,t[r+2]=o};am.Grayscale=Eve;var sm={};Object.defineProperty(sm,"__esModule",{value:!0}),sm.HSL=void 0;const Dc=_t,n_=sn,r_=Xe;Dc.Factory.addGetterSetter(n_.Node,"hue",0,(0,r_.getNumberValidator)(),Dc.Factory.afterSetFilter),Dc.Factory.addGetterSetter(n_.Node,"saturation",0,(0,r_.getNumberValidator)(),Dc.Factory.afterSetFilter),Dc.Factory.addGetterSetter(n_.Node,"luminance",0,(0,r_.getNumberValidator)(),Dc.Factory.afterSetFilter);const Sve=function(e){var t=e.data,n=t.length,r=1,o=Math.pow(2,this.saturation()),a=Math.abs(this.hue()+360)%360,A=this.luminance()*127,l,c=r*o*Math.cos(a*Math.PI/180),u=r*o*Math.sin(a*Math.PI/180),d=.299*r+.701*c+.167*u,f=.587*r-.587*c+.33*u,h=.114*r-.114*c-.497*u,p=.299*r-.299*c-.328*u,g=.587*r+.413*c+.035*u,m=.114*r-.114*c+.293*u,y=.299*r-.3*c+1.25*u,w=.587*r-.586*c-1.05*u,x=.114*r+.886*c-.2*u,B,E,k,U;for(l=0;l<n;l+=4)B=t[l+0],E=t[l+1],k=t[l+2],U=t[l+3],t[l+0]=d*B+f*E+h*k+A,t[l+1]=p*B+g*E+m*k+A,t[l+2]=y*B+w*E+x*k+A,t[l+3]=U};sm.HSL=Sve;var Am={};Object.defineProperty(Am,"__esModule",{value:!0}),Am.HSV=void 0;const Pc=_t,i_=sn,o_=Xe,xve=function(e){var t=e.data,n=t.length,r=Math.pow(2,this.value()),o=Math.pow(2,this.saturation()),a=Math.abs(this.hue()+360)%360,A,l=r*o*Math.cos(a*Math.PI/180),c=r*o*Math.sin(a*Math.PI/180),u=.299*r+.701*l+.167*c,d=.587*r-.587*l+.33*c,f=.114*r-.114*l-.497*c,h=.299*r-.299*l-.328*c,p=.587*r+.413*l+.035*c,g=.114*r-.114*l+.293*c,m=.299*r-.3*l+1.25*c,y=.587*r-.586*l-1.05*c,w=.114*r+.886*l-.2*c,x,B,E,k;for(A=0;A<n;A+=4)x=t[A+0],B=t[A+1],E=t[A+2],k=t[A+3],t[A+0]=u*x+d*B+f*E,t[A+1]=h*x+p*B+g*E,t[A+2]=m*x+y*B+w*E,t[A+3]=k};Am.HSV=xve,Pc.Factory.addGetterSetter(i_.Node,"hue",0,(0,o_.getNumberValidator)(),Pc.Factory.afterSetFilter),Pc.Factory.addGetterSetter(i_.Node,"saturation",0,(0,o_.getNumberValidator)(),Pc.Factory.afterSetFilter),Pc.Factory.addGetterSetter(i_.Node,"value",0,(0,o_.getNumberValidator)(),Pc.Factory.afterSetFilter);var lm={};Object.defineProperty(lm,"__esModule",{value:!0}),lm.Invert=void 0;const Fve=function(e){var t=e.data,n=t.length,r;for(r=0;r<n;r+=4)t[r]=255-t[r],t[r+1]=255-t[r+1],t[r+2]=255-t[r+2]};lm.Invert=Fve;var cm={};Object.defineProperty(cm,"__esModule",{value:!0}),cm.Kaleidoscope=void 0;const um=_t,mT=sn,vT=gn,yT=Xe;var kve=function(e,t,n){var r=e.data,o=t.data,a=e.width,A=e.height,l=n.polarCenterX||a/2,c=n.polarCenterY||A/2,u,d,f,h=0,p=0,g=0,m=0,y,w=Math.sqrt(l*l+c*c);d=a-l,f=A-c,y=Math.sqrt(d*d+f*f),w=y>w?y:w;var x=A,B=a,E,k,U=360/B*Math.PI/180,T,Q;for(k=0;k<B;k+=1)for(T=Math.sin(k*U),Q=Math.cos(k*U),E=0;E<x;E+=1)d=Math.floor(l+w*E/x*Q),f=Math.floor(c+w*E/x*T),u=(f*a+d)*4,h=r[u+0],p=r[u+1],g=r[u+2],m=r[u+3],u=(k+E*a)*4,o[u+0]=h,o[u+1]=p,o[u+2]=g,o[u+3]=m},Uve=function(e,t,n){var r=e.data,o=t.data,a=e.width,A=e.height,l=n.polarCenterX||a/2,c=n.polarCenterY||A/2,u,d,f,h,p,g=0,m=0,y=0,w=0,x,B=Math.sqrt(l*l+c*c);d=a-l,f=A-c,x=Math.sqrt(d*d+f*f),B=x>B?x:B;var E=A,k=a,U,T,Q=n.polarRotation||0,z,O;for(d=0;d<a;d+=1)for(f=0;f<A;f+=1)h=d-l,p=f-c,U=Math.sqrt(h*h+p*p)*E/B,T=(Math.atan2(p,h)*180/Math.PI+360+Q)%360,T=T*k/360,z=Math.floor(T),O=Math.floor(U),u=(O*a+z)*4,g=r[u+0],m=r[u+1],y=r[u+2],w=r[u+3],u=(f*a+d)*4,o[u+0]=g,o[u+1]=m,o[u+2]=y,o[u+3]=w};const Nve=function(e){var t=e.width,n=e.height,r,o,a,A,l,c,u,d,f,h,p=Math.round(this.kaleidoscopePower()),g=Math.round(this.kaleidoscopeAngle()),m=Math.floor(t*(g%360)/360);if(!(p<1)){var y=vT.Util.createCanvasElement();y.width=t,y.height=n;var w=y.getContext("2d").getImageData(0,0,t,n);vT.Util.releaseCanvas(y),kve(e,w,{polarCenterX:t/2,polarCenterY:n/2});for(var x=t/Math.pow(2,p);x<=8;)x=x*2,p-=1;x=Math.ceil(x);var B=x,E=0,k=B,U=1;for(m+x>t&&(E=B,k=0,U=-1),o=0;o<n;o+=1)for(r=E;r!==k;r+=U)a=Math.round(r+m)%t,f=(t*o+a)*4,l=w.data[f+0],c=w.data[f+1],u=w.data[f+2],d=w.data[f+3],h=(t*o+r)*4,w.data[h+0]=l,w.data[h+1]=c,w.data[h+2]=u,w.data[h+3]=d;for(o=0;o<n;o+=1)for(B=Math.floor(x),A=0;A<p;A+=1){for(r=0;r<B+1;r+=1)f=(t*o+r)*4,l=w.data[f+0],c=w.data[f+1],u=w.data[f+2],d=w.data[f+3],h=(t*o+B*2-r-1)*4,w.data[h+0]=l,w.data[h+1]=c,w.data[h+2]=u,w.data[h+3]=d;B*=2}Uve(w,e,{polarRotation:0})}};cm.Kaleidoscope=Nve,um.Factory.addGetterSetter(mT.Node,"kaleidoscopePower",2,(0,yT.getNumberValidator)(),um.Factory.afterSetFilter),um.Factory.addGetterSetter(mT.Node,"kaleidoscopeAngle",0,(0,yT.getNumberValidator)(),um.Factory.afterSetFilter);var dm={};Object.defineProperty(dm,"__esModule",{value:!0}),dm.Mask=void 0;const wT=_t,Tve=sn,Ive=Xe;function fm(e,t,n){var r=(n*e.width+t)*4,o=[];return o.push(e.data[r++],e.data[r++],e.data[r++],e.data[r++]),o}function Qf(e,t){return Math.sqrt(Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)+Math.pow(e[2]-t[2],2))}function Qve(e){for(var t=[0,0,0],n=0;n<e.length;n++)t[0]+=e[n][0],t[1]+=e[n][1],t[2]+=e[n][2];return t[0]/=e.length,t[1]/=e.length,t[2]/=e.length,t}function Mve(e,t){var n=fm(e,0,0),r=fm(e,e.width-1,0),o=fm(e,0,e.height-1),a=fm(e,e.width-1,e.height-1),A=t||10;if(Qf(n,r)<A&&Qf(r,a)<A&&Qf(a,o)<A&&Qf(o,n)<A){for(var l=Qve([r,n,a,o]),c=[],u=0;u<e.width*e.height;u++){var d=Qf(l,[e.data[u*4],e.data[u*4+1],e.data[u*4+2]]);c[u]=d<A?0:255}return c}}function Lve(e,t){for(var n=0;n<e.width*e.height;n++)e.data[4*n+3]=t[n]}function Ove(e,t,n){for(var r=[1,1,1,1,0,1,1,1,1],o=Math.round(Math.sqrt(r.length)),a=Math.floor(o/2),A=[],l=0;l<n;l++)for(var c=0;c<t;c++){for(var u=l*t+c,d=0,f=0;f<o;f++)for(var h=0;h<o;h++){var p=l+f-a,g=c+h-a;if(p>=0&&p<n&&g>=0&&g<t){var m=p*t+g,y=r[f*o+h];d+=e[m]*y}}A[u]=d===255*8?255:0}return A}function Dve(e,t,n){for(var r=[1,1,1,1,1,1,1,1,1],o=Math.round(Math.sqrt(r.length)),a=Math.floor(o/2),A=[],l=0;l<n;l++)for(var c=0;c<t;c++){for(var u=l*t+c,d=0,f=0;f<o;f++)for(var h=0;h<o;h++){var p=l+f-a,g=c+h-a;if(p>=0&&p<n&&g>=0&&g<t){var m=p*t+g,y=r[f*o+h];d+=e[m]*y}}A[u]=d>=255*4?255:0}return A}function Pve(e,t,n){for(var r=[.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111,.1111111111111111],o=Math.round(Math.sqrt(r.length)),a=Math.floor(o/2),A=[],l=0;l<n;l++)for(var c=0;c<t;c++){for(var u=l*t+c,d=0,f=0;f<o;f++)for(var h=0;h<o;h++){var p=l+f-a,g=c+h-a;if(p>=0&&p<n&&g>=0&&g<t){var m=p*t+g,y=r[f*o+h];d+=e[m]*y}}A[u]=d}return A}const Rve=function(e){var t=this.threshold(),n=Mve(e,t);return n&&(n=Ove(n,e.width,e.height),n=Dve(n,e.width,e.height),n=Pve(n,e.width,e.height),Lve(e,n)),e};dm.Mask=Rve,wT.Factory.addGetterSetter(Tve.Node,"threshold",0,(0,Ive.getNumberValidator)(),wT.Factory.afterSetFilter);var hm={};Object.defineProperty(hm,"__esModule",{value:!0}),hm.Noise=void 0;const bT=_t,Hve=sn,$ve=Xe,Kve=function(e){var t=this.noise()*255,n=e.data,r=n.length,o=t/2,a;for(a=0;a<r;a+=4)n[a+0]+=o-2*o*Math.random(),n[a+1]+=o-2*o*Math.random(),n[a+2]+=o-2*o*Math.random()};hm.Noise=Kve,bT.Factory.addGetterSetter(Hve.Node,"noise",.2,(0,$ve.getNumberValidator)(),bT.Factory.afterSetFilter);var pm={};Object.defineProperty(pm,"__esModule",{value:!0}),pm.Pixelate=void 0;const _T=_t,Gve=gn,zve=sn,qve=Xe,jve=function(e){var t=Math.ceil(this.pixelSize()),n=e.width,r=e.height,o,a,A,l,c,u,d,f=Math.ceil(n/t),h=Math.ceil(r/t),p,g,m,y,w,x,B,E=e.data;if(t<=0){Gve.Util.error("pixelSize value can not be <= 0");return}for(w=0;w<f;w+=1)for(x=0;x<h;x+=1){for(l=0,c=0,u=0,d=0,p=w*t,g=p+t,m=x*t,y=m+t,B=0,o=p;o<g;o+=1)if(!(o>=n))for(a=m;a<y;a+=1)a>=r||(A=(n*a+o)*4,l+=E[A+0],c+=E[A+1],u+=E[A+2],d+=E[A+3],B+=1);for(l=l/B,c=c/B,u=u/B,d=d/B,o=p;o<g;o+=1)if(!(o>=n))for(a=m;a<y;a+=1)a>=r||(A=(n*a+o)*4,E[A+0]=l,E[A+1]=c,E[A+2]=u,E[A+3]=d)}};pm.Pixelate=jve,_T.Factory.addGetterSetter(zve.Node,"pixelSize",8,(0,qve.getNumberValidator)(),_T.Factory.afterSetFilter);var gm={};Object.defineProperty(gm,"__esModule",{value:!0}),gm.Posterize=void 0;const BT=_t,Wve=sn,Yve=Xe,Xve=function(e){var t=Math.round(this.levels()*254)+1,n=e.data,r=n.length,o=255/t,a;for(a=0;a<r;a+=1)n[a]=Math.floor(n[a]/o)*o};gm.Posterize=Xve,BT.Factory.addGetterSetter(Wve.Node,"levels",.5,(0,Yve.getNumberValidator)(),BT.Factory.afterSetFilter);var mm={};Object.defineProperty(mm,"__esModule",{value:!0}),mm.RGB=void 0;const vm=_t,a_=sn,Jve=Xe,Zve=function(e){var t=e.data,n=t.length,r=this.red(),o=this.green(),a=this.blue(),A,l;for(A=0;A<n;A+=4)l=(.34*t[A]+.5*t[A+1]+.16*t[A+2])/255,t[A]=l*r,t[A+1]=l*o,t[A+2]=l*a,t[A+3]=t[A+3]};mm.RGB=Zve,vm.Factory.addGetterSetter(a_.Node,"red",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),vm.Factory.addGetterSetter(a_.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),vm.Factory.addGetterSetter(a_.Node,"blue",0,Jve.RGBComponent,vm.Factory.afterSetFilter);var ym={};Object.defineProperty(ym,"__esModule",{value:!0}),ym.RGBA=void 0;const Mf=_t,wm=sn,Vve=Xe,eye=function(e){var t=e.data,n=t.length,r=this.red(),o=this.green(),a=this.blue(),A=this.alpha(),l,c;for(l=0;l<n;l+=4)c=1-A,t[l]=r*A+t[l]*c,t[l+1]=o*A+t[l+1]*c,t[l+2]=a*A+t[l+2]*c};ym.RGBA=eye,Mf.Factory.addGetterSetter(wm.Node,"red",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),Mf.Factory.addGetterSetter(wm.Node,"green",0,function(e){return this._filterUpToDate=!1,e>255?255:e<0?0:Math.round(e)}),Mf.Factory.addGetterSetter(wm.Node,"blue",0,Vve.RGBComponent,Mf.Factory.afterSetFilter),Mf.Factory.addGetterSetter(wm.Node,"alpha",1,function(e){return this._filterUpToDate=!1,e>1?1:e<0?0:e});var bm={};Object.defineProperty(bm,"__esModule",{value:!0}),bm.Sepia=void 0;const tye=function(e){var t=e.data,n=t.length,r,o,a,A;for(r=0;r<n;r+=4)o=t[r+0],a=t[r+1],A=t[r+2],t[r+0]=Math.min(255,o*.393+a*.769+A*.189),t[r+1]=Math.min(255,o*.349+a*.686+A*.168),t[r+2]=Math.min(255,o*.272+a*.534+A*.131)};bm.Sepia=tye;var _m={};Object.defineProperty(_m,"__esModule",{value:!0}),_m.Solarize=void 0;const nye=function(e){var t=e.data,n=e.width,r=e.height,o=n*4,a=r;do{var A=(a-1)*o,l=n;do{var c=A+(l-1)*4,u=t[c],d=t[c+1],f=t[c+2];u>127&&(u=255-u),d>127&&(d=255-d),f>127&&(f=255-f),t[c]=u,t[c+1]=d,t[c+2]=f}while(--l)}while(--a)};_m.Solarize=nye;var Bm={};Object.defineProperty(Bm,"__esModule",{value:!0}),Bm.Threshold=void 0;const CT=_t,rye=sn,iye=Xe,oye=function(e){var t=this.threshold()*255,n=e.data,r=n.length,o;for(o=0;o<r;o+=1)n[o]=n[o]<t?0:255};Bm.Threshold=oye,CT.Factory.addGetterSetter(rye.Node,"threshold",.5,(0,iye.getNumberValidator)(),CT.Factory.afterSetFilter),Object.defineProperty(w1,"__esModule",{value:!0}),w1.Konva=void 0;const ET=fN,aye=T1,sye=M1,Aye=D1,lye=P1,cye=R1,ST=Lc,uye=kf,dye=Ic,fye=Nf,hye=K1,pye=G1,gye=z1,mye=q1,vye=qA,yye=Y1,wye=X1,bye=Z1,_ye=em,Bye=tm,Cye=nm,Eye=rm,Sye=om,xye=am,Fye=sm,kye=Am,Uye=lm,Nye=cm,Tye=dm,Iye=hm,Qye=pm,Mye=gm,Lye=mm,Oye=ym,Dye=bm,Pye=_m,Rye=Bm;w1.Konva=ET.Konva.Util._assign(ET.Konva,{Arc:aye.Arc,Arrow:sye.Arrow,Circle:Aye.Circle,Ellipse:lye.Ellipse,Image:cye.Image,Label:ST.Label,Tag:ST.Tag,Line:uye.Line,Path:dye.Path,Rect:fye.Rect,RegularPolygon:hye.RegularPolygon,Ring:pye.Ring,Sprite:gye.Sprite,Star:mye.Star,Text:vye.Text,TextPath:yye.TextPath,Transformer:wye.Transformer,Wedge:bye.Wedge,Filters:{Blur:_ye.Blur,Brighten:Bye.Brighten,Contrast:Cye.Contrast,Emboss:Eye.Emboss,Enhance:Sye.Enhance,Grayscale:xye.Grayscale,HSL:Fye.HSL,HSV:kye.HSV,Invert:Uye.Invert,Kaleidoscope:Nye.Kaleidoscope,Mask:Tye.Mask,Noise:Iye.Noise,Pixelate:Qye.Pixelate,Posterize:Mye.Posterize,RGB:Lye.RGB,RGBA:Oye.RGBA,Sepia:Dye.Sepia,Solarize:Pye.Solarize,Threshold:Rye.Threshold}}),Object.defineProperty(y1,"__esModule",{value:!0});const Hye=w1;z1e.exports=Hye.Konva;const _n=VB(y1);function $ye(){this.__data__=[],this.size=0}var Kye=$ye;function Gye(e,t){return e===t||e!==e&&t!==t}var xT=Gye,zye=xT;function qye(e,t){for(var n=e.length;n--;)if(zye(e[n][0],t))return n;return-1}var Cm=qye,jye=Cm,Wye=Array.prototype,Yye=Wye.splice;function Xye(e){var t=this.__data__,n=jye(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():Yye.call(t,n,1),--this.size,!0}var Jye=Xye,Zye=Cm;function Vye(e){var t=this.__data__,n=Zye(t,e);return n<0?void 0:t[n][1]}var e3e=Vye,t3e=Cm;function n3e(e){return t3e(this.__data__,e)>-1}var r3e=n3e,i3e=Cm;function o3e(e,t){var n=this.__data__,r=i3e(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var a3e=o3e,s3e=Kye,A3e=Jye,l3e=e3e,c3e=r3e,u3e=a3e;function Rc(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Rc.prototype.clear=s3e,Rc.prototype.delete=A3e,Rc.prototype.get=l3e,Rc.prototype.has=c3e,Rc.prototype.set=u3e;var Em=Rc,d3e=Em;function f3e(){this.__data__=new d3e,this.size=0}var h3e=f3e;function p3e(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}var g3e=p3e;function m3e(e){return this.__data__.get(e)}var v3e=m3e;function y3e(e){return this.__data__.has(e)}var w3e=y3e,b3e=Ef,_3e=QA,B3e="[object AsyncFunction]",C3e="[object Function]",E3e="[object GeneratorFunction]",S3e="[object Proxy]";function x3e(e){if(!_3e(e))return!1;var t=b3e(e);return t==C3e||t==E3e||t==B3e||t==S3e}var FT=x3e,F3e=io,k3e=F3e["__core-js_shared__"],U3e=k3e,s_=U3e,kT=function(){var e=/[^.]+$/.exec(s_&&s_.keys&&s_.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function N3e(e){return!!kT&&kT in e}var T3e=N3e,I3e=Function.prototype,Q3e=I3e.toString;function M3e(e){if(e!=null){try{return Q3e.call(e)}catch(t){}try{return e+""}catch(t){}}return""}var UT=M3e,L3e=FT,O3e=T3e,D3e=QA,P3e=UT,R3e=/[\\^$.*+?()[\]{}|]/g,H3e=/^\[object .+?Constructor\]$/,$3e=Function.prototype,K3e=Object.prototype,G3e=$3e.toString,z3e=K3e.hasOwnProperty,q3e=RegExp("^"+G3e.call(z3e).replace(R3e,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function j3e(e){if(!D3e(e)||O3e(e))return!1;var t=L3e(e)?q3e:H3e;return t.test(P3e(e))}var W3e=j3e;function Y3e(e,t){return e==null?void 0:e[t]}var X3e=Y3e,J3e=W3e,Z3e=X3e;function V3e(e,t){var n=Z3e(e,t);return J3e(n)?n:void 0}var jA=V3e,e4e=jA,t4e=io,n4e=e4e(t4e,"Map"),A_=n4e,r4e=jA,i4e=r4e(Object,"create"),Sm=i4e,NT=Sm;function o4e(){this.__data__=NT?NT(null):{},this.size=0}var a4e=o4e;function s4e(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var A4e=s4e,l4e=Sm,c4e="__lodash_hash_undefined__",u4e=Object.prototype,d4e=u4e.hasOwnProperty;function f4e(e){var t=this.__data__;if(l4e){var n=t[e];return n===c4e?void 0:n}return d4e.call(t,e)?t[e]:void 0}var h4e=f4e,p4e=Sm,g4e=Object.prototype,m4e=g4e.hasOwnProperty;function v4e(e){var t=this.__data__;return p4e?t[e]!==void 0:m4e.call(t,e)}var y4e=v4e,w4e=Sm,b4e="__lodash_hash_undefined__";function _4e(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=w4e&&t===void 0?b4e:t,this}var B4e=_4e,C4e=a4e,E4e=A4e,S4e=h4e,x4e=y4e,F4e=B4e;function Hc(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Hc.prototype.clear=C4e,Hc.prototype.delete=E4e,Hc.prototype.get=S4e,Hc.prototype.has=x4e,Hc.prototype.set=F4e;var k4e=Hc,TT=k4e,U4e=Em,N4e=A_;function T4e(){this.size=0,this.__data__={hash:new TT,map:new(N4e||U4e),string:new TT}}var I4e=T4e;function Q4e(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var M4e=Q4e,L4e=M4e;function O4e(e,t){var n=e.__data__;return L4e(t)?n[typeof t=="string"?"string":"hash"]:n.map}var xm=O4e,D4e=xm;function P4e(e){var t=D4e(this,e).delete(e);return this.size-=t?1:0,t}var R4e=P4e,H4e=xm;function $4e(e){return H4e(this,e).get(e)}var K4e=$4e,G4e=xm;function z4e(e){return G4e(this,e).has(e)}var q4e=z4e,j4e=xm;function W4e(e,t){var n=j4e(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}var Y4e=W4e,X4e=I4e,J4e=R4e,Z4e=K4e,V4e=q4e,ewe=Y4e;function $c(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}$c.prototype.clear=X4e,$c.prototype.delete=J4e,$c.prototype.get=Z4e,$c.prototype.has=V4e,$c.prototype.set=ewe;var twe=$c,nwe=Em,rwe=A_,iwe=twe,owe=200;function awe(e,t){var n=this.__data__;if(n instanceof nwe){var r=n.__data__;if(!rwe||r.length<owe-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new iwe(r)}return n.set(e,t),this.size=n.size,this}var swe=awe,Awe=Em,lwe=h3e,cwe=g3e,uwe=v3e,dwe=w3e,fwe=swe;function Kc(e){var t=this.__data__=new Awe(e);this.size=t.size}Kc.prototype.clear=lwe,Kc.prototype.delete=cwe,Kc.prototype.get=uwe,Kc.prototype.has=dwe,Kc.prototype.set=fwe;var hwe=Kc;function pwe(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}var gwe=pwe,mwe=jA,vwe=function(){try{var e=mwe(Object,"defineProperty");return e({},"",{}),e}catch(t){}}(),ywe=vwe,IT=ywe;function wwe(e,t,n){t=="__proto__"&&IT?IT(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var QT=wwe,bwe=QT,_we=xT,Bwe=Object.prototype,Cwe=Bwe.hasOwnProperty;function Ewe(e,t,n){var r=e[t];(!(Cwe.call(e,t)&&_we(r,n))||n===void 0&&!(t in e))&&bwe(e,t,n)}var MT=Ewe,Swe=MT,xwe=QT;function Fwe(e,t,n,r){var o=!n;n||(n={});for(var a=-1,A=t.length;++a<A;){var l=t[a],c=r?r(n[l],e[l],l,n,e):void 0;c===void 0&&(c=e[l]),o?xwe(n,l,c):Swe(n,l,c)}return n}var Fm=Fwe;function kwe(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var Uwe=kwe,Nwe=Ef,Twe=Sc,Iwe="[object Arguments]";function Qwe(e){return Twe(e)&&Nwe(e)==Iwe}var Mwe=Qwe,LT=Mwe,Lwe=Sc,OT=Object.prototype,Owe=OT.hasOwnProperty,Dwe=OT.propertyIsEnumerable,Pwe=LT(function(){return arguments}())?LT:function(e){return Lwe(e)&&Owe.call(e,"callee")&&!Dwe.call(e,"callee")},Rwe=Pwe,Hwe=Array.isArray,l_=Hwe,Lf={},$we={get exports(){return Lf},set exports(e){Lf=e}};function Kwe(){return!1}var Gwe=Kwe;(function(e,t){var n=io,r=Gwe,o=t&&!t.nodeType&&t,a=o&&!0&&e&&!e.nodeType&&e,A=a&&a.exports===o,l=A?n.Buffer:void 0,c=l?l.isBuffer:void 0,u=c||r;e.exports=u})($we,Lf);var zwe=9007199254740991,qwe=/^(?:0|[1-9]\d*)$/;function jwe(e,t){var n=typeof e;return t=t==null?zwe:t,!!t&&(n=="number"||n!="symbol"&&qwe.test(e))&&e>-1&&e%1==0&&e<t}var Wwe=jwe,Ywe=9007199254740991;function Xwe(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Ywe}var DT=Xwe,Jwe=Ef,Zwe=DT,Vwe=Sc,ebe="[object Arguments]",tbe="[object Array]",nbe="[object Boolean]",rbe="[object Date]",ibe="[object Error]",obe="[object Function]",abe="[object Map]",sbe="[object Number]",Abe="[object Object]",lbe="[object RegExp]",cbe="[object Set]",ube="[object String]",dbe="[object WeakMap]",fbe="[object ArrayBuffer]",hbe="[object DataView]",pbe="[object Float32Array]",gbe="[object Float64Array]",mbe="[object Int8Array]",vbe="[object Int16Array]",ybe="[object Int32Array]",wbe="[object Uint8Array]",bbe="[object Uint8ClampedArray]",_be="[object Uint16Array]",Bbe="[object Uint32Array]",nn={};nn[pbe]=nn[gbe]=nn[mbe]=nn[vbe]=nn[ybe]=nn[wbe]=nn[bbe]=nn[_be]=nn[Bbe]=!0,nn[ebe]=nn[tbe]=nn[fbe]=nn[nbe]=nn[hbe]=nn[rbe]=nn[ibe]=nn[obe]=nn[abe]=nn[sbe]=nn[Abe]=nn[lbe]=nn[cbe]=nn[ube]=nn[dbe]=!1;function Cbe(e){return Vwe(e)&&Zwe(e.length)&&!!nn[Jwe(e)]}var Ebe=Cbe;function Sbe(e){return function(t){return e(t)}}var c_=Sbe,Gc={},xbe={get exports(){return Gc},set exports(e){Gc=e}};(function(e,t){var n=IU,r=t&&!t.nodeType&&t,o=r&&!0&&e&&!e.nodeType&&e,a=o&&o.exports===r,A=a&&n.process,l=function(){try{var c=o&&o.require&&o.require("util").types;return c||A&&A.binding&&A.binding("util")}catch(u){}}();e.exports=l})(xbe,Gc);var Fbe=Ebe,kbe=c_,PT=Gc,RT=PT&&PT.isTypedArray,Ube=RT?kbe(RT):Fbe,Nbe=Ube,Tbe=Uwe,Ibe=Rwe,Qbe=l_,Mbe=Lf,Lbe=Wwe,Obe=Nbe,Dbe=Object.prototype,Pbe=Dbe.hasOwnProperty;function Rbe(e,t){var n=Qbe(e),r=!n&&Ibe(e),o=!n&&!r&&Mbe(e),a=!n&&!r&&!o&&Obe(e),A=n||r||o||a,l=A?Tbe(e.length,String):[],c=l.length;for(var u in e)(t||Pbe.call(e,u))&&!(A&&(u=="length"||o&&(u=="offset"||u=="parent")||a&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Lbe(u,c)))&&l.push(u);return l}var HT=Rbe,Hbe=Object.prototype;function $be(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||Hbe;return e===n}var u_=$be;function Kbe(e,t){return function(n){return e(t(n))}}var $T=Kbe,Gbe=$T,zbe=Gbe(Object.keys,Object),qbe=zbe,jbe=u_,Wbe=qbe,Ybe=Object.prototype,Xbe=Ybe.hasOwnProperty;function Jbe(e){if(!jbe(e))return Wbe(e);var t=[];for(var n in Object(e))Xbe.call(e,n)&&n!="constructor"&&t.push(n);return t}var Zbe=Jbe,Vbe=FT,e_e=DT;function t_e(e){return e!=null&&e_e(e.length)&&!Vbe(e)}var KT=t_e,n_e=HT,r_e=Zbe,i_e=KT;function o_e(e){return i_e(e)?n_e(e):r_e(e)}var d_=o_e,a_e=Fm,s_e=d_;function A_e(e,t){return e&&a_e(t,s_e(t),e)}var l_e=A_e;function c_e(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var u_e=c_e,d_e=QA,f_e=u_,h_e=u_e,p_e=Object.prototype,g_e=p_e.hasOwnProperty;function m_e(e){if(!d_e(e))return h_e(e);var t=f_e(e),n=[];for(var r in e)r=="constructor"&&(t||!g_e.call(e,r))||n.push(r);return n}var v_e=m_e,y_e=HT,w_e=v_e,b_e=KT;function __e(e){return b_e(e)?y_e(e,!0):w_e(e)}var f_=__e,B_e=Fm,C_e=f_;function E_e(e,t){return e&&B_e(t,C_e(t),e)}var S_e=E_e,km={},x_e={get exports(){return km},set exports(e){km=e}};(function(e,t){var n=io,r=t&&!t.nodeType&&t,o=r&&!0&&e&&!e.nodeType&&e,a=o&&o.exports===r,A=a?n.Buffer:void 0,l=A?A.allocUnsafe:void 0;function c(u,d){if(d)return u.slice();var f=u.length,h=l?l(f):new u.constructor(f);return u.copy(h),h}e.exports=c})(x_e,km);function F_e(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}var k_e=F_e;function U_e(e,t){for(var n=-1,r=e==null?0:e.length,o=0,a=[];++n<r;){var A=e[n];t(A,n,e)&&(a[o++]=A)}return a}var N_e=U_e;function T_e(){return[]}var GT=T_e,I_e=N_e,Q_e=GT,M_e=Object.prototype,L_e=M_e.propertyIsEnumerable,zT=Object.getOwnPropertySymbols,O_e=zT?function(e){return e==null?[]:(e=Object(e),I_e(zT(e),function(t){return L_e.call(e,t)}))}:Q_e,h_=O_e,D_e=Fm,P_e=h_;function R_e(e,t){return D_e(e,P_e(e),t)}var H_e=R_e;function $_e(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}var qT=$_e,K_e=$T,G_e=K_e(Object.getPrototypeOf,Object),jT=G_e,z_e=qT,q_e=jT,j_e=h_,W_e=GT,Y_e=Object.getOwnPropertySymbols,X_e=Y_e?function(e){for(var t=[];e;)z_e(t,j_e(e)),e=q_e(e);return t}:W_e,WT=X_e,J_e=Fm,Z_e=WT;function V_e(e,t){return J_e(e,Z_e(e),t)}var e5e=V_e,t5e=qT,n5e=l_;function r5e(e,t,n){var r=t(e);return n5e(e)?r:t5e(r,n(e))}var YT=r5e,i5e=YT,o5e=h_,a5e=d_;function s5e(e){return i5e(e,a5e,o5e)}var A5e=s5e,l5e=YT,c5e=WT,u5e=f_;function d5e(e){return l5e(e,u5e,c5e)}var f5e=d5e,h5e=jA,p5e=io,g5e=h5e(p5e,"DataView"),m5e=g5e,v5e=jA,y5e=io,w5e=v5e(y5e,"Promise"),b5e=w5e,_5e=jA,B5e=io,C5e=_5e(B5e,"Set"),E5e=C5e,S5e=jA,x5e=io,F5e=S5e(x5e,"WeakMap"),k5e=F5e,p_=m5e,g_=A_,m_=b5e,v_=E5e,y_=k5e,XT=Ef,zc=UT,JT="[object Map]",U5e="[object Object]",ZT="[object Promise]",VT="[object Set]",eI="[object WeakMap]",tI="[object DataView]",N5e=zc(p_),T5e=zc(g_),I5e=zc(m_),Q5e=zc(v_),M5e=zc(y_),WA=XT;(p_&&WA(new p_(new ArrayBuffer(1)))!=tI||g_&&WA(new g_)!=JT||m_&&WA(m_.resolve())!=ZT||v_&&WA(new v_)!=VT||y_&&WA(new y_)!=eI)&&(WA=function(e){var t=XT(e),n=t==U5e?e.constructor:void 0,r=n?zc(n):"";if(r)switch(r){case N5e:return tI;case T5e:return JT;case I5e:return ZT;case Q5e:return VT;case M5e:return eI}return t});var w_=WA,L5e=Object.prototype,O5e=L5e.hasOwnProperty;function D5e(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]=="string"&&O5e.call(e,"index")&&(n.index=e.index,n.input=e.input),n}var P5e=D5e,R5e=io,H5e=R5e.Uint8Array,$5e=H5e,nI=$5e;function K5e(e){var t=new e.constructor(e.byteLength);return new nI(t).set(new nI(e)),t}var b_=K5e,G5e=b_;function z5e(e,t){var n=t?G5e(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var q5e=z5e,j5e=/\w*$/;function W5e(e){var t=new e.constructor(e.source,j5e.exec(e));return t.lastIndex=e.lastIndex,t}var Y5e=W5e,rI=yb,iI=rI?rI.prototype:void 0,oI=iI?iI.valueOf:void 0;function X5e(e){return oI?Object(oI.call(e)):{}}var J5e=X5e,Z5e=b_;function V5e(e,t){var n=t?Z5e(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var e6e=V5e,t6e=b_,n6e=q5e,r6e=Y5e,i6e=J5e,o6e=e6e,a6e="[object Boolean]",s6e="[object Date]",A6e="[object Map]",l6e="[object Number]",c6e="[object RegExp]",u6e="[object Set]",d6e="[object String]",f6e="[object Symbol]",h6e="[object ArrayBuffer]",p6e="[object DataView]",g6e="[object Float32Array]",m6e="[object Float64Array]",v6e="[object Int8Array]",y6e="[object Int16Array]",w6e="[object Int32Array]",b6e="[object Uint8Array]",_6e="[object Uint8ClampedArray]",B6e="[object Uint16Array]",C6e="[object Uint32Array]";function E6e(e,t,n){var r=e.constructor;switch(t){case h6e:return t6e(e);case a6e:case s6e:return new r(+e);case p6e:return n6e(e,n);case g6e:case m6e:case v6e:case y6e:case w6e:case b6e:case _6e:case B6e:case C6e:return o6e(e,n);case A6e:return new r;case l6e:case d6e:return new r(e);case c6e:return r6e(e);case u6e:return new r;case f6e:return i6e(e)}}var S6e=E6e,x6e=QA,aI=Object.create,F6e=function(){function e(){}return function(t){if(!x6e(t))return{};if(aI)return aI(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}(),k6e=F6e,U6e=k6e,N6e=jT,T6e=u_;function I6e(e){return typeof e.constructor=="function"&&!T6e(e)?U6e(N6e(e)):{}}var Q6e=I6e,M6e=w_,L6e=Sc,O6e="[object Map]";function D6e(e){return L6e(e)&&M6e(e)==O6e}var P6e=D6e,R6e=P6e,H6e=c_,sI=Gc,AI=sI&&sI.isMap,$6e=AI?H6e(AI):R6e,K6e=$6e,G6e=w_,z6e=Sc,q6e="[object Set]";function j6e(e){return z6e(e)&&G6e(e)==q6e}var W6e=j6e,Y6e=W6e,X6e=c_,lI=Gc,cI=lI&&lI.isSet,J6e=cI?X6e(cI):Y6e,Z6e=J6e,V6e=hwe,e8e=gwe,t8e=MT,n8e=l_e,r8e=S_e,i8e=km,o8e=k_e,a8e=H_e,s8e=e5e,A8e=A5e,l8e=f5e,c8e=w_,u8e=P5e,d8e=S6e,f8e=Q6e,h8e=l_,p8e=Lf,g8e=K6e,m8e=QA,v8e=Z6e,y8e=d_,w8e=f_,b8e=1,_8e=2,B8e=4,uI="[object Arguments]",C8e="[object Array]",E8e="[object Boolean]",S8e="[object Date]",x8e="[object Error]",dI="[object Function]",F8e="[object GeneratorFunction]",k8e="[object Map]",U8e="[object Number]",fI="[object Object]",N8e="[object RegExp]",T8e="[object Set]",I8e="[object String]",Q8e="[object Symbol]",M8e="[object WeakMap]",L8e="[object ArrayBuffer]",O8e="[object DataView]",D8e="[object Float32Array]",P8e="[object Float64Array]",R8e="[object Int8Array]",H8e="[object Int16Array]",$8e="[object Int32Array]",K8e="[object Uint8Array]",G8e="[object Uint8ClampedArray]",z8e="[object Uint16Array]",q8e="[object Uint32Array]",Zt={};Zt[uI]=Zt[C8e]=Zt[L8e]=Zt[O8e]=Zt[E8e]=Zt[S8e]=Zt[D8e]=Zt[P8e]=Zt[R8e]=Zt[H8e]=Zt[$8e]=Zt[k8e]=Zt[U8e]=Zt[fI]=Zt[N8e]=Zt[T8e]=Zt[I8e]=Zt[Q8e]=Zt[K8e]=Zt[G8e]=Zt[z8e]=Zt[q8e]=!0,Zt[x8e]=Zt[dI]=Zt[M8e]=!1;function Um(e,t,n,r,o,a){var A,l=t&b8e,c=t&_8e,u=t&B8e;if(n&&(A=o?n(e,r,o,a):n(e)),A!==void 0)return A;if(!m8e(e))return e;var d=h8e(e);if(d){if(A=u8e(e),!l)return o8e(e,A)}else{var f=c8e(e),h=f==dI||f==F8e;if(p8e(e))return i8e(e,l);if(f==fI||f==uI||h&&!o){if(A=c||h?{}:f8e(e),!l)return c?s8e(e,r8e(A,e)):a8e(e,n8e(A,e))}else{if(!Zt[f])return o?e:{};A=d8e(e,f,l)}}a||(a=new V6e);var p=a.get(e);if(p)return p;a.set(e,A),v8e(e)?e.forEach(function(y){A.add(Um(y,t,n,y,e,a))}):g8e(e)&&e.forEach(function(y,w){A.set(w,Um(y,t,n,w,e,a))});var g=u?c?l8e:A8e:c?w8e:y8e,m=d?void 0:g(e);return e8e(m||e,function(y,w){m&&(w=y,y=e[w]),t8e(A,w,Um(y,t,n,w,e,a))}),A}var j8e=Um,W8e=j8e,Y8e=1,X8e=4;function J8e(e){return W8e(e,Y8e|X8e)}var Z8e=J8e;const IEe="",QEe="",V8e={components:{InfoFilled:Hv},mixins:[Qo],inject:["hasLevel"],props:{axis:{required:!0,type:Object,default:()=>({x:0,y:0})},show:{required:!0,type:Boolean,default:!1},nodeInfo:{required:!0,type:Array,default:()=>[]},menuOptions:{required:!0,type:Array,default:()=>[]},border:{type:Boolean,required:!1,default:!0},itemWidth:{type:Number,required:!1,default:206},itemHeight:{type:Number,required:!1,default:36},itemSize:{type:Number,required:!1,default:14},offset:{type:Object,required:!1,default:()=>({x:6,y:2})},borderWidth:{type:Number,required:!1,default:6},history:{type:Object,required:!0,default:()=>{}},moduleDetail:{type:Object,required:!0,default:()=>{}}},emits:["contextmenu-click"],data(){return{checkedItems:{},globalMenus:vhe,maxMulti:6}},computed:{checkboxMenu(){return this.nodeInfo.length>1?[]:this.menuOptions},canGoDetail(){var e,t,n,r;return((t=(e=this.moduleDetail)==null?void 0:e.config)==null?void 0:t.jumpDetail)&&((r=this.moduleDetail)==null?void 0:r.config.jumpRule[(n=this.nodeInfo[0])==null?void 0:n.type])},systemMenu(){var r,o,a,A,l,c,u;const e=[];if(this.nodeInfo.length===1){const d=this.nodeInfo[0];d.type!=="aggregation"&&d.type!=="nodeType"&&(e.push(hb),(r=this.history.keyNodeIds)!=null&&r.some(y=>y===d.id)||(e.push(mb),(a=(o=this.moduleDetail)==null?void 0:o.config)!=null&&a.hideCollectMenu||e.push(d.collect?gb:pb),e.push(d.textProp==="name"?ub:cb),d.label&&e.push(d.textProp==="label"?db:fb)),this.canGoDetail&&e.push(NU)),e.push(d.fx?lb:Ab);const f=this.history.dataNow.links.some(m=>m.source.id===d.id&&m.target.type==="aggregation"),g=this.history.dataNow.links.filter(m=>m.source.id===d.id).map(m=>m.target).some(m=>{let y=0;return this.history.dataNow.links.map(w=>{w.source.id===m.id&&y++}),y===0});f||d.type==="aggregation"?e.push(FU):g&&e.push(xU),g&&e.push(SU),e.push(vb)}else this.nodeInfo.length>1?(e.push(mb,hb),e.push(this.nodeInfo.some(f=>!f.collect)?pb:gb),this.nodeInfo.some(f=>f.label)&&e.push(this.nodeInfo.some(f=>f.textProp!=="label")?fb:db),e.push(this.nodeInfo.some(f=>f.textProp!=="name")?cb:ub),e.push(this.nodeInfo.some(f=>!f.fx)?Ab:lb),e.push(vb)):this.nodeInfo.length===0&&(this.history.dataNow.nodes.some(f=>f.label)&&e.push(this.history.dataNow.nodes.some(f=>f.textProp!=="label")?BU:_U),e.push(this.history.dataNow.nodes.some(f=>f.textProp!=="name")?wU:bU),e.push(this.history.dataNow.nodes.some(f=>!f.fx)?vU:yU),this.history.currentIndex>0&&e.push(CU),this.history.currentIndex<this.history.length-1&&e.push(EU));const t=(A=this.nodeInfo[0])==null?void 0:A.type,n=(u=(c=(l=this.nodeInfo[0])==null?void 0:l.detail)==null?void 0:c.info)==null?void 0:u.extraNodeContextMenus;return t!=="nodeType"&&(n!=null&&n.length)&&(n.forEach(d=>{d.icon||(d.icon="button_edit_label")}),e.push(...n)),e},totalHeight(){let e=this.menuOptions.length*(this.itemHeight+5)+10+44+48+5,t=this.systemMenu.length*(this.itemHeight+5)+10+44+5;return e=this.menuOptions.length===0?0:44,t=this.systemMenu.length===0?0:44,e+t},axisComputed(){const e=document.getElementsByClassName("d3-container")[0],t=this.axis.top-e.offsetTop;return{top:(t<e.offsetHeight/2?Math.min(t+this.offset.y,Math.max(e.offsetHeight-this.totalHeight,e.getBoundingClientRect().top)):Math.max(t+this.offset.y,this.totalHeight+e.getBoundingClientRect().top))+"px",left:this.axis.left+this.offset.x+"px",transform:`translate(${this.axis.left>e.offsetWidth/2?"-100%":"0%"}, ${t>e.offsetHeight/2?"-100%":"0%"})`}},liStyle(){return{width:this.itemWidth+"px",height:this.itemHeight+"px",lineHeight:this.itemHeight+"px",fontSize:this.itemSize+"px"}},firstLeft(){const e=document.body.offsetWidth;return this.axis.left+this.itemWidth*2>=e},secondLeft(){const e=document.body.offsetWidth;return this.axis.left+this.itemWidth*3>=e},checkedItemsFinal(){return Object.keys(this.checkedItems).filter(e=>this.checkedItems[e]).map(e=>this.checkedItems[e])},haveInterface(){let e=!1;return this.menuOptions.map(t=>{t.type===1&&(e=!0)}),e}},watch:{show(){this.checkedItems={}}},methods:{handleCollapse(){},isSystemItem(e){return e.type===2},isExternalItem(e){return e.type===3},hasChildren(e){var t;return((t=e==null?void 0:e.children)==null?void 0:t.length)>0},onCheck(e,t){this.checkedItems[t.name]=e.currentTarget.checked?t:!1},secondBorderCheck(e,t=0){const n=document.body.offsetWidth,r=document.body.offsetHeight,o=this.axis.top+(e+t)*this.itemHeight;return{left:this.axis.left+this.itemWidth*2>=n?"-100%":"100%",top:r>=o?0:"auto",bottom:r<o?0:"auto"}},thirdBorderCheck(e,t,n,r){const o=document.body.offsetWidth,a=document.body.offsetHeight,A=this.secondBorderCheck(e,n).top;let l;const c=(t+r)*this.itemHeight,u=c>180?180:c;return A===0?l=this.axis.top+e*this.itemHeight+u:l=this.axis.top-e*this.itemHeight+u,{left:this.axis.left+this.itemWidth*3>=o?"-100%":"100%",bottom:a>=l?0:"auto",top:a<l?0:"auto"}},handleClick(e,t){if(!t){if(wr({cId:"contextMenu-"+e.name,c:"右键菜单-"+e.namec}),e.has_child>0)return!1;Ze(this,"contextmenu-click",{nodes:this.nodeInfo,api:e})}},handleDataClick(e,t){wr({cId:"contextMenu-"+e.name,c:"右键菜单-"+e.namec}),Ze(this,"contextmenu-click",{nodes:this.nodeInfo,api:t,dataApi:e}),this.checkedItems={}}}},YA=e=>(s.pushScopeId("data-v-5517c890"),e=e(),s.popScopeId(),e),eBe={"aria-hidden":"true",style:{position:"absolute",width:"0",height:"0",overflow:"hidden",display:"none"}},tBe=[YA(()=>s.createElementVNode("symbol",{id:"icon-arrow-right",viewBox:"0 0 1024 1024"},[s.createElementVNode("path",{d:"M288.791335 65.582671l446.41733 446.417329-446.41733 446.417329z"})],-1))],nBe={class:"cm-list"},rBe={class:"cm-ul"},iBe={class:"hd"},oBe=["src"],aBe=YA(()=>s.createElementVNode("i",{class:"el-icon el-icon-arrow-right"},null,-1)),sBe={class:"bd"},ABe={class:"cm-ul cm-ul-level1"},lBe=["title"],cBe=YA(()=>s.createElementVNode("svg",{class:"icon","aria-hidden":"true"},[s.createElementVNode("use",{"xlink:href":"#icon-arrow-right"})],-1)),uBe=["title","onClick"],dBe=["title","onClick"],fBe={key:0,class:"icon","aria-hidden":"true"},hBe=[YA(()=>s.createElementVNode("use",{"xlink:href":"#icon-arrow-right"},null,-1))],pBe=["title","onClick"],gBe=["src"],mBe=YA(()=>s.createElementVNode("div",{class:"bd"},null,-1)),vBe=["title","onClick"],yBe={key:0,class:"fas el-icon-fa-cog"},wBe={key:1,class:"fas el-icon-fa-external-link-alt"},bBe={class:"text-wrapper"},_Be=["src"],BBe=["src"],CBe={key:3,class:"shortcut"},EBe={key:2,class:"icon","aria-hidden":"true"},SBe=[YA(()=>s.createElementVNode("use",{"xlink:href":"#icon-arrow-right"},null,-1))],xBe=["title","onClick"],FBe={key:1,class:"icon","aria-hidden":"true"},kBe=[YA(()=>s.createElementVNode("use",{"xlink:href":"#icon-arrow-right"},null,-1))],UBe=["title","onClick"];function NBe(e,t,n,r,o,a){const A=s.resolveComponent("InfoFilled"),l=Ht,c=Ei;return n.show?(s.openBlock(),s.createElementBlock("div",{key:0,class:"cm-container",style:s.normalizeStyle(a.axisComputed),onClick:t[1]||(t[1]=s.withModifiers((...u)=>a.handleCollapse&&a.handleCollapse(...u),["stop"]))},[(s.openBlock(),s.createElementBlock("svg",eBe,tBe)),s.createElementVNode("div",nBe,[s.createElementVNode("ul",rBe,[a.checkboxMenu.length>0?(s.openBlock(),s.createElementBlock("li",{key:0,class:"cm-li data-opt-wrapper",style:s.normalizeStyle(a.liStyle)},[s.createElementVNode("div",iBe,[s.createElementVNode("img",{src:e.imgPath["./public/d3svg1/button18/button_relation.svg"],style:{"margin-right":"10px"}},null,8,oBe),s.createTextVNode("按关系分类拓线"),aBe]),s.createElementVNode("div",sBe,[s.createElementVNode("ul",ABe,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.checkboxMenu,(u,d)=>(s.openBlock(),s.createElementBlock("li",{key:d,class:"cm-li context-one",style:s.normalizeStyle(a.liStyle)},[a.hasChildren(u)?(s.openBlock(),s.createElementBlock("div",{key:0,class:s.normalizeClass(["cm-item",a.firstLeft?"cm-left":""]),title:u.namec},[s.createElementVNode("span",null,s.toDisplayString(u.namec),1),cBe],10,lBe)):(s.openBlock(),s.createElementBlock("div",{key:1,class:s.normalizeClass(["cm-item",a.firstLeft?"cm-left":""]),title:u.namec,onClick:s.withModifiers(f=>a.handleDataClick(u,o.globalMenus.expandPartNode),["stop"])},[s.createElementVNode("span",null,s.toDisplayString(u.namec),1)],10,uBe)),a.hasChildren(u)?(s.openBlock(),s.createElementBlock("ul",{key:2,class:"cm-ul cm-ul-level2",style:s.normalizeStyle(a.secondBorderCheck(d,u.children.length))},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(u.children,(f,h)=>(s.openBlock(),s.createElementBlock("li",{key:h,class:"cm-li",style:s.normalizeStyle(a.liStyle)},[s.createElementVNode("div",{class:s.normalizeClass(["cm-item",a.secondLeft?"cm-left":""]),title:f.namec,onClick:s.withModifiers(p=>a.handleDataClick(f,o.globalMenus.expandPartNode),["stop"])},[s.createElementVNode("span",null,s.toDisplayString(f.namec),1),a.hasChildren(f)?(s.openBlock(),s.createElementBlock("svg",fBe,hBe)):s.createCommentVNode("",!0)],10,dBe),a.hasChildren(f)?(s.openBlock(),s.createElementBlock("ul",{key:0,class:"cm-ul cm-ul-level3",style:s.normalizeStyle(a.thirdBorderCheck(d,h,u.children.length,f.children.length))},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(f.children,(p,g)=>(s.openBlock(),s.createElementBlock("li",{key:g,class:"cm-li",style:s.normalizeStyle(a.liStyle)},[s.createElementVNode("div",{class:"cm-item",title:p.namec,onClick:s.withModifiers(m=>a.handleDataClick(p,o.globalMenus.expandPartNode),["stop"])},[s.createElementVNode("span",null,s.toDisplayString(p.namec),1)],8,pBe)],4))),128))],4)):s.createCommentVNode("",!0)],4))),128))],4)):s.createCommentVNode("",!0)],4))),128))])])],4)):n.nodeInfo.length>1&&n.nodeInfo.length<o.maxMulti?(s.openBlock(),s.createElementBlock("li",{key:1,class:"cm-li data-opt-wrapper data-opt-all",style:s.normalizeStyle(a.liStyle)},[s.createElementVNode("div",{class:"hd",onClick:t[0]||(t[0]=s.withModifiers(u=>a.handleDataClick(null,o.globalMenus.expandNode),["stop"]))},[s.createElementVNode("img",{src:e.imgPath["./public/d3svg1/button18/button_relation.svg"],style:{"margin-right":"10px"}},null,8,gBe),s.createTextVNode("展开全部关系 ")]),mBe],4)):s.createCommentVNode("",!0),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.systemMenu,(u,d)=>(s.openBlock(),s.createElementBlock("li",{key:d,class:"cm-li",style:s.normalizeStyle(a.liStyle)},[s.createElementVNode("div",{class:s.normalizeClass(["cm-item",{"cm-left":a.firstLeft,disabled:u.disabled}]),title:u.namec,onClick:s.withModifiers(f=>a.handleClick(u,u.disabled),["stop"])},[a.isSystemItem(u)?(s.openBlock(),s.createElementBlock("i",yBe)):a.isExternalItem(u)?(s.openBlock(),s.createElementBlock("i",wBe)):s.createCommentVNode("",!0),s.createElementVNode("div",bBe,[u.icon?(s.openBlock(),s.createElementBlock("img",{key:0,src:e.imgPath["./public/d3svg1/button18/"+u.icon+".svg"],class:"t-icon"},null,8,_Be)):(s.openBlock(),s.createElementBlock("img",{key:1,src:e.imgPath["./public/d3svg1/button18/button_"+u.name+".svg"],class:"t-icon"},null,8,BBe)),u.tooltip?(s.openBlock(),s.createBlock(c,{key:2,class:"el-icon-info",effect:"dark",content:u.tooltip,placement:"top-start"},{default:s.withCtx(()=>[s.createVNode(l,null,{default:s.withCtx(()=>[s.createVNode(A)]),_:1})]),_:2},1032,["content"])):s.createCommentVNode("",!0),s.createElementVNode("span",null,s.toDisplayString(u.namec),1),u.shortcut?(s.openBlock(),s.createElementBlock("span",CBe,s.toDisplayString(u.shortcut),1)):s.createCommentVNode("",!0)]),a.hasChildren(u)?(s.openBlock(),s.createElementBlock("svg",EBe,SBe)):s.createCommentVNode("",!0)],10,vBe),a.hasChildren(u)?(s.openBlock(),s.createElementBlock("ul",{key:0,class:"cm-ul cm-ul-level2",style:s.normalizeStyle(a.secondBorderCheck(d,u.children.length))},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(u.children,(f,h)=>(s.openBlock(),s.createElementBlock("li",{key:h,class:"cm-li",style:s.normalizeStyle(a.liStyle)},[s.createElementVNode("div",{class:s.normalizeClass(["cm-item",{"cm-left":a.secondLeft,disabled:u.disabled||f.disabled}]),title:f.namec,onClick:s.withModifiers(p=>a.handleClick(f,u.disabled||f.disabled),["stop"])},[f.tooltip?(s.openBlock(),s.createBlock(c,{key:0,class:"el-icon-info",effect:"dark",content:f.tooltip,placement:"top-start"},{default:s.withCtx(()=>[s.createVNode(l,null,{default:s.withCtx(()=>[s.createVNode(A)]),_:1})]),_:2},1032,["content"])):s.createCommentVNode("",!0),s.createElementVNode("span",null,s.toDisplayString(f.namec),1),a.hasChildren(f)?(s.openBlock(),s.createElementBlock("svg",FBe,kBe)):s.createCommentVNode("",!0)],10,xBe),a.hasChildren(f)?(s.openBlock(),s.createElementBlock("ul",{key:0,class:"cm-ul cm-ul-level3",style:s.normalizeStyle(a.thirdBorderCheck(d,h,u.children.length,f.children.length))},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(f.children,(p,g)=>(s.openBlock(),s.createElementBlock("li",{key:g,class:"cm-li",style:s.normalizeStyle(a.liStyle)},[s.createElementVNode("div",{class:s.normalizeClass(["cm-item",{disabled:u.disabled||f.disabled||p.disabled}]),title:p.namec,onClick:s.withModifiers(m=>a.handleClick(p,u.disabled||f.disabled||p.disabled),["stop"])},[p.tooltip?(s.openBlock(),s.createBlock(c,{key:0,class:"el-icon-info",effect:"dark",content:p.tooltip,placement:"top-start"},{default:s.withCtx(()=>[s.createVNode(l,null,{default:s.withCtx(()=>[s.createVNode(A)]),_:1})]),_:2},1032,["content"])):s.createCommentVNode("",!0),s.createElementVNode("span",null,s.toDisplayString(p.namec),1)],10,UBe)],4))),128))],4)):s.createCommentVNode("",!0)],4))),128))],4)):s.createCommentVNode("",!0)],4))),128))])])],4)):s.createCommentVNode("",!0)}const TBe=wt(V8e,[["render",NBe],["__scopeId","data-v-5517c890"]]);function XA(e,t){return t={exports:{}},e(t,t.exports),t.exports}var hI=XA(function(e){e.exports=n;var t=+(Math.pow(2,27)+1);function n(r,o,a){var A=r*o,l=t*r,c=l-r,u=l-c,d=r-u,f=t*o,h=f-o,p=f-h,g=o-p,m=A-u*p,y=m-d*p,w=y-u*g,x=d*g-w;return a?(a[0]=x,a[1]=A,a):[x,A]}}),IBe=XA(function(e){e.exports=n;function t(r,o){var a=r+o,A=a-r,l=a-A,c=o-A,u=r-l,d=u+c;return d?[d,a]:[a]}function n(r,o){var a=r.length|0,A=o.length|0;if(a===1&&A===1)return t(r[0],o[0]);var l=a+A,c=new Array(l),u=0,d=0,f=0,h=Math.abs,p=r[d],g=h(p),m=o[f],y=h(m),w,x;g<y?(x=p,d+=1,d<a&&(p=r[d],g=h(p))):(x=m,f+=1,f<A&&(m=o[f],y=h(m))),d<a&&g<y||f>=A?(w=p,d+=1,d<a&&(p=r[d],g=h(p))):(w=m,f+=1,f<A&&(m=o[f],y=h(m)));for(var B=w+x,E=B-w,k=x-E,U=k,T=B,Q,z,O,R,D;d<a&&f<A;)g<y?(w=p,d+=1,d<a&&(p=r[d],g=h(p))):(w=m,f+=1,f<A&&(m=o[f],y=h(m))),x=U,B=w+x,E=B-w,k=x-E,k&&(c[u++]=k),Q=T+B,z=Q-T,O=Q-z,R=B-z,D=T-O,U=D+R,T=Q;for(;d<a;)w=p,x=U,B=w+x,E=B-w,k=x-E,k&&(c[u++]=k),Q=T+B,z=Q-T,O=Q-z,R=B-z,D=T-O,U=D+R,T=Q,d+=1,d<a&&(p=r[d]);for(;f<A;)w=m,x=U,B=w+x,E=B-w,k=x-E,k&&(c[u++]=k),Q=T+B,z=Q-T,O=Q-z,R=B-z,D=T-O,U=D+R,T=Q,f+=1,f<A&&(m=o[f]);return U&&(c[u++]=U),T&&(c[u++]=T),u||(c[u++]=0),c.length=u,c}}),QBe=XA(function(e){e.exports=t;function t(n,r,o){var a=n+r,A=a-n,l=a-A,c=r-A,u=n-l;return o?(o[0]=u+c,o[1]=a,o):[u+c,a]}}),MBe=XA(function(e){var t=hI,n=QBe;e.exports=r;function r(o,a){var A=o.length;if(A===1){var l=t(o[0],a);return l[0]?l:[l[1]]}var c=new Array(2*A),u=[.1,.1],d=[.1,.1],f=0;t(o[0],a,u),u[0]&&(c[f++]=u[0]);for(var h=1;h<A;++h){t(o[h],a,d);var p=u[1];n(p,d[0],u),u[0]&&(c[f++]=u[0]);var g=d[1],m=u[1],y=g+m,w=y-g,x=m-w;u[1]=y,x&&(c[f++]=x)}return u[1]&&(c[f++]=u[1]),f===0&&(c[f++]=0),c.length=f,c}}),LBe=XA(function(e){e.exports=n;function t(r,o){var a=r+o,A=a-r,l=a-A,c=o-A,u=r-l,d=u+c;return d?[d,a]:[a]}function n(r,o){var a=r.length|0,A=o.length|0;if(a===1&&A===1)return t(r[0],-o[0]);var l=a+A,c=new Array(l),u=0,d=0,f=0,h=Math.abs,p=r[d],g=h(p),m=-o[f],y=h(m),w,x;g<y?(x=p,d+=1,d<a&&(p=r[d],g=h(p))):(x=m,f+=1,f<A&&(m=-o[f],y=h(m))),d<a&&g<y||f>=A?(w=p,d+=1,d<a&&(p=r[d],g=h(p))):(w=m,f+=1,f<A&&(m=-o[f],y=h(m)));for(var B=w+x,E=B-w,k=x-E,U=k,T=B,Q,z,O,R,D;d<a&&f<A;)g<y?(w=p,d+=1,d<a&&(p=r[d],g=h(p))):(w=m,f+=1,f<A&&(m=-o[f],y=h(m))),x=U,B=w+x,E=B-w,k=x-E,k&&(c[u++]=k),Q=T+B,z=Q-T,O=Q-z,R=B-z,D=T-O,U=D+R,T=Q;for(;d<a;)w=p,x=U,B=w+x,E=B-w,k=x-E,k&&(c[u++]=k),Q=T+B,z=Q-T,O=Q-z,R=B-z,D=T-O,U=D+R,T=Q,d+=1,d<a&&(p=r[d]);for(;f<A;)w=m,x=U,B=w+x,E=B-w,k=x-E,k&&(c[u++]=k),Q=T+B,z=Q-T,O=Q-z,R=B-z,D=T-O,U=D+R,T=Q,f+=1,f<A&&(m=-o[f]);return U&&(c[u++]=U),T&&(c[u++]=T),u||(c[u++]=0),c.length=u,c}}),OBe=XA(function(e){var t=hI,n=IBe,r=MBe,o=LBe,a=5,A=11102230246251565e-32,l=(3+16*A)*A,c=(7+56*A)*A;function u(E,k){for(var U=new Array(E.length-1),T=1;T<E.length;++T)for(var Q=U[T-1]=new Array(E.length-1),z=0,O=0;z<E.length;++z)z!==k&&(Q[O++]=E[T][z]);return U}function d(E){for(var k=new Array(E),U=0;U<E;++U){k[U]=new Array(E);for(var T=0;T<E;++T)k[U][T]=["m",T,"[",E-U-1,"]"].join("")}return k}function f(E){return E&1?"-":""}function h(E){if(E.length===1)return E[0];if(E.length===2)return["sum(",E[0],",",E[1],")"].join("");var k=E.length>>1;return["sum(",h(E.slice(0,k)),",",h(E.slice(k)),")"].join("")}function p(E){if(E.length===2)return[["sum(prod(",E[0][0],",",E[1][1],"),prod(-",E[0][1],",",E[1][0],"))"].join("")];for(var k=[],U=0;U<E.length;++U)k.push(["scale(",h(p(u(E,U))),",",f(U),E[0][U],")"].join(""));return k}function g(E){for(var k=[],U=[],T=d(E),Q=[],z=0;z<E;++z)z&1?U.push.apply(U,p(u(T,z))):k.push.apply(k,p(u(T,z))),Q.push("m"+z);var O=h(k),R=h(U),D="orientation"+E+"Exact",M=["function ",D,"(",Q.join(),"){var p=",O,",n=",R,",d=sub(p,n);return d[d.length-1];};return ",D].join(""),L=new Function("sum","prod","scale","sub",M);return L(n,t,r,o)}var m=g(3),y=g(4),w=[function(){return 0},function(){return 0},function(k,U){return U[0]-k[0]},function(k,U,T){var Q=(k[1]-T[1])*(U[0]-T[0]),z=(k[0]-T[0])*(U[1]-T[1]),O=Q-z,R;if(Q>0){if(z<=0)return O;R=Q+z}else if(Q<0){if(z>=0)return O;R=-(Q+z)}else return O;var D=l*R;return O>=D||O<=-D?O:m(k,U,T)},function(k,U,T,Q){var z=k[0]-Q[0],O=U[0]-Q[0],R=T[0]-Q[0],D=k[1]-Q[1],M=U[1]-Q[1],L=T[1]-Q[1],q=k[2]-Q[2],G=U[2]-Q[2],J=T[2]-Q[2],X=O*L,W=R*M,K=R*D,ne=z*L,ie=z*M,le=O*D,ce=q*(X-W)+G*(K-ne)+J*(ie-le),me=(Math.abs(X)+Math.abs(W))*Math.abs(q)+(Math.abs(K)+Math.abs(ne))*Math.abs(G)+(Math.abs(ie)+Math.abs(le))*Math.abs(J),we=c*me;return ce>we||-ce>we?ce:y(k,U,T,Q)}];function x(E){var k=w[E.length];return k||(k=w[E.length]=g(E.length)),k.apply(void 0,E)}function B(){for(;w.length<=a;)w.push(g(w.length));for(var E=[],k=["slow"],U=0;U<=a;++U)E.push("a"+U),k.push("o"+U);for(var T=["function getOrientation(",E.join(),"){switch(arguments.length){case 0:case 1:return 0;"],U=2;U<=a;++U)T.push("case ",U,":return o",U,"(",E.slice(0,U).join(),");");T.push("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation"),k.push(T.join(""));var Q=Function.apply(void 0,k);e.exports=Q.apply(void 0,[x].concat(w));for(var U=0;U<=a;++U)e.exports[U]=w[U]}B()}),DBe=XA(function(e){e.exports=n;var t=OBe;function n(r,o){for(var a=o[0],A=o[1],l=r.length,c=1,u=l,d=0,f=l-1;d<u;f=d++){var h=r[d],p=r[f],g=h[1],m=p[1];if(m<g){if(m<A&&A<g){var y=t(h,p,o);if(y===0)return 0;c^=0<y|0}else if(A===g){var w=r[(d+1)%l],x=w[1];if(g<x){var y=t(h,p,o);if(y===0)return 0;c^=0<y|0}}}else if(g<m){if(g<A&&A<m){var y=t(h,p,o);if(y===0)return 0;c^=y<0|0}else if(A===g){var w=r[(d+1)%l],x=w[1];if(x<g){var y=t(h,p,o);if(y===0)return 0;c^=y<0|0}}}else if(A===g){var B=Math.min(h[0],p[0]),E=Math.max(h[0],p[0]);if(d===0){for(;f>0;){var k=(f+l-1)%l,U=r[k];if(U[1]!==A)break;var T=U[0];B=Math.min(B,T),E=Math.max(E,T),f=k}if(f===0)return B<=a&&a<=E?0:1;u=f+1}for(var Q=r[(f+l-1)%l][1];d+1<u;){var U=r[d+1];if(U[1]!==A)break;var T=U[0];B=Math.min(B,T),E=Math.max(E,T),d+=1}if(B<=a&&a<=E)return 0;var z=r[(d+1)%l][1];a<B&&Q<A!=z<A&&(c^=1)}}return 2*c-1}}),__;function PBe(){var e=[],t=75,n=!0,r=!1,o=!0,a,A={start:function(){},draw:function(){},end:function(){}};function l(c){var u=c.append("g").attr("class","lasso"),d=u.append("path").attr("class","drawn"),f=u.append("path").attr("class","loop_close"),h=u.append("circle").attr("class","origin"),p,g,m,y;__=force_graph_d3.drag().on("start",w).on("drag",x).on("end",B),a.call(__);function w(){y=[],p="",d.attr("d",null),f.attr("d",null),e.nodes().forEach(function(E){E.__lasso.possible=!1,E.__lasso.selected=!1,E.__lasso.hoverSelect=!1,E.__lasso.loopSelect=!1;var k=E.getBoundingClientRect();E.__lasso.lassoPoint=[Math.round(k.left+k.width/2),Math.round(k.top+k.height/2)]}),o&&e.on("mouseover.lasso",function(){this.__lasso.hoverSelect=!0}),A.start()}function x(E){var k,U;E.sourceEvent.type==="touchmove"?(k=E.sourceEvent.touches[0].clientX,U=E.sourceEvent.touches[0].clientY):(k=E.sourceEvent.clientX,U=E.sourceEvent.clientY);var T=E.x,Q=E.y;p===""?(p=p+"M "+T+" "+Q,g=[k,U],m=[T,Q],h.attr("cx",T).attr("cy",Q).attr("r",7).attr("display",null)):p=p+" L "+T+" "+Q,y.push([k,U]);var z=Math.sqrt(Math.pow(k-g[0],2)+Math.pow(U-g[1],2)),O="M "+T+" "+Q+" L "+m[0]+" "+m[1];d.attr("d",p),f.attr("d",O),r=z<=t,r&&n?f.attr("display",null):f.attr("display","none"),e.nodes().forEach(function(R){R.__lasso.loopSelect=r&&n?DBe(y,R.__lasso.lassoPoint)<1:!1,R.__lasso.possible=R.__lasso.hoverSelect||R.__lasso.loopSelect}),A.draw()}function B(){e.on("mouseover.lasso",null),e.nodes().forEach(function(E){E.__lasso.selected=E.__lasso.possible,E.__lasso.possible=!1}),d.attr("d",null),f.attr("d",null),h.attr("display","none"),A.end()}}return l.items=function(c){if(!arguments.length)return e;e=c;var u=e.nodes();return u.forEach(function(d){d.__lasso={possible:!1,selected:!1}}),l},l.rebindDrag=function(c){c.call(__)},l.possibleItems=function(){return e.filter(function(){return this.__lasso.possible})},l.selectedItems=function(){return e.filter(function(){return this.__lasso.selected})},l.notPossibleItems=function(){return e.filter(function(){return!this.__lasso.possible})},l.notSelectedItems=function(){return e.filter(function(){return!this.__lasso.selected})},l.closePathDistance=function(c){return arguments.length?(t=c,l):t},l.closePathSelect=function(c){return arguments.length?(n=c===!0,l):n},l.isPathClosed=function(c){return arguments.length?(r=c===!0,l):r},l.hoverSelect=function(c){return arguments.length?(o=c===!0,l):o},l.on=function(c,u){if(!arguments.length)return A;if(arguments.length===1)return A[c];var d=["start","draw","end"];return d.indexOf(c)>-1&&(A[c]=u),l},l.targetArea=function(c){return arguments.length?(a=c,l):a},l}let Ia,pI=Mn("svg#main-svg");const RBe={name:"Lasso",emits:["update"],mounted(){window.force_graph_d3=Zue,pI=Mn("svg#main-svg")},beforeUnmount(){window.force_graph_d3=null},methods:{setLasso(){const e=this;var t=function(){Ia.items().classed("not_possible",!0).classed("isSelected",!1)},n=function(){Ia.possibleItems().filter(o=>o.type!=="aggregation"&&o.type!=="nodeType").classed("not_possible",!1).classed("possible",!0),Ia.notPossibleItems().classed("not_possible",!0).classed("possible",!1)},r=function(){Ia.items().classed("not_possible",!1).classed("possible",!1),Ia.selectedItems().filter(o=>o.type!=="aggregation"&&o.type!=="nodeType").classed("isSelected",!0),Ia.notSelectedItems(),Ze(e,"update")};Ia=PBe().items(jp(".node")).closePathSelect(!0).closePathDistance(100).targetArea(Mn("svg#main-svg")).on("start",t).on("draw",n).on("end",r),Mn("svg#main-svg").call(Ia)},resetLasso(){Ia.rebindDrag(pI)}}};function HBe(e,t,n,r,o,a){return s.openBlock(),s.createElementBlock("div")}const $Be=wt(RBe,[["render",HBe]]),PEe="",REe="",HEe="",$Ee="",KBe={name:"Popover",components:{ForceGraphSvgIcon:oA},mixins:[Qo],inject:["levelList"],props:{showPopover:{type:Boolean,default:!1},mousePosition:{type:Object,default:()=>({left:0,top:0})},nodeInfo:{type:Object,default:()=>{}},type:{type:String,default:"node"},moduleDetail:{type:Object,default:()=>{}},data:{type:Object,default:()=>{}},darkMode:{type:Boolean,default:!0},history:{type:Object,default:()=>({})}},data(){return{showSelf:!1,onPop:!1,position:null,aggregationList:[]}},computed:{show(){return this.showPopover||this.showSelf},name(){var e,t,n;return((n=(t=(e=this.nodeInfo)==null?void 0:e.detail)==null?void 0:t.info)==null?void 0:n.name)||this.nodeInfo.name},isNormalNode(){return this.nodeInfo.type!=="nodeType"&&this.nodeInfo.type!=="aggregation"},isNodeTypeNode(){return this.nodeInfo.type==="nodeType"},isAggregateNode(){return this.nodeInfo.type==="aggregation"},fieldMapThisType(){var e;return this.moduleDetail.detail_field_map&&this.moduleDetail.detail_field_map[`${(e=this.nodeInfo)==null?void 0:e.type}_detail_info`]},canGoDetail(){return["nodeType","aggregation","family","org","report","vul","thumbprint_md5","email","cert_https"].indexOf(this.nodeInfo.type)<0}},watch:{mousePosition(){setTimeout(()=>{var l,c,u;const e=this.mousePosition.left>document.body.offsetWidth/2,t=this.mousePosition.top>document.body.offsetHeight/2,n=(l=document.getElementsByClassName("popover-container")[0])==null?void 0:l.offsetHeight,r=(c=document.getElementsByClassName("d3-container")[0])==null?void 0:c.offsetHeight,o=(u=document.getElementsByClassName("d3-container")[0])==null?void 0:u.getBoundingClientRect().top;let a;t?a=Math.max(this.mousePosition.top,n+o)+5:a=Math.min(this.mousePosition.top,Math.max(r-n,o))-5;const A={left:(e?this.mousePosition.left+2:this.mousePosition.right-2)+"px",top:a+"px",transform:`translate(${e?"-100%":"0%"}, ${t?"-100%":"0%"})`};this.position=A},100)},nodeInfo:{handler:function(){var t;const e=(((t=this.nodeInfo)==null?void 0:t.list)||[]).map(n=>{var o,a,A;const r=n.detail;return Te(xe({},n),{name:((o=r==null?void 0:r.info)==null?void 0:o.name)||n.name,level:((A=(a=r==null?void 0:r.info)==null?void 0:a.basic)==null?void 0:A.level)||""})});e==null||e.sort((n,r)=>{var A,l;const o=(A=this.levelList.find(c=>c.level===n.level))==null?void 0:A.dangerNumber;return((l=this.levelList.find(c=>c.level===r.level))==null?void 0:l.dangerNumber)-o}),this.aggregationList=e},immediate:!0}},methods:{handleMouseEnter(){this.showSelf=!0},handleMouseLeave(){this.showSelf=!1},isSomething(e){return eb(e)},getTypeZh(e){var n,r,o;let t=e;if(e==="nodeType")t="关系节点";else for(const a in(n=this.moduleDetail)==null?void 0:n.nodes)if(e===((r=this.moduleDetail)==null?void 0:r.nodes[a].name)){t=(o=this.moduleDetail)==null?void 0:o.nodes[a].namec;break}return t},getLevelClass(e){return l1(e,this.levelList)},getColorStyle(e){return c1(e,this.levelList,this.darkMode)},getNodeTypeChildNum(e){var o;const t=(o=this.data)==null?void 0:o.links,n=[],r=[];return t==null||t.map(a=>{a.source.id===e&&(n.push(a.target.id),a.target.detail&&kfe(a.target.detail.info.basic.level,this.levelList)&&r.push(a.target.id))}),{allChildNum:n.length,dangerChildNum:r.length}},canShowField(e){const t=this.hasFieldValue(e);return!(t===void 0||e.hide_hover||e.hide_empty&&!t)},hasFieldValue(e){const t=this.nodeInfo.detail&&this.nodeInfo.detail.info&&this.nodeInfo.detail.info.basic[e.prop];if(t===null)return;const n=Array.isArray(t);return n&&t.length>0||!n&&t!==""&&t!=="无"},getFieldValue(e){const t=this.nodeInfo.detail.info.basic[e.prop],n=Array.isArray(t),r=this.isSomething(t);let o="-";return r&&(n?o=t.length?t.join("|"):"-":o=t||"-"),o},formatTags(e){return a1(s1(e))},addToGraph(e){const t={type:"addFromAggregation",addOne:{nodes:[e],links:[{source:this.nodeInfo.relationId,target:e.id}]}};if(this.aggregationList=this.aggregationList.filter(n=>n.id!==e.id),this.history.updateAggregationNode(this.aggregationList,this.nodeInfo.id),this.history.pushState(t),this.aggregationList.length)Ze(Ft,"emitDataLoaded");else{const n=this.nodeInfo,r={deleteOne:{nodes:[n],links:[{source:n.relationId,target:n.id}]},type:"aggregation"};setTimeout(()=>{this.history.pushState(r),Ze(Ft,"emitDataLoaded")},0)}}}},qc=e=>(s.pushScopeId("data-v-4d80bc6d"),e=e(),s.popScopeId(),e),GBe={key:0,class:"node-info-container"},zBe={class:"popover-block popover-header"},qBe={key:0,class:"popover-collect"},jBe={key:1,class:"row-item"},WBe={class:"label"},YBe={key:2,class:"row-item"},XBe=qc(()=>s.createElementVNode("div",{class:"label"},"关系节点:",-1)),JBe={class:"value"},ZBe={class:"node-type-info"},VBe={class:"name"},eCe={key:3,class:"row-item"},tCe=qc(()=>s.createElementVNode("div",{class:"label"},"备注:",-1)),nCe={class:"value"},rCe={class:"popover-block popover-fields"},iCe={key:0,class:"node-detail top-border"},oCe={key:0,class:"row-item"},aCe=qc(()=>s.createElementVNode("div",{class:"label"},"危险级别:",-1)),sCe=["title"],ACe={key:1,class:"row-item row-item-tag"},lCe=qc(()=>s.createElementVNode("div",{class:"label"},"标签:",-1)),cCe={class:"value"},uCe={class:"graph-tags-box"},dCe=qc(()=>s.createElementVNode("br",null,null,-1)),fCe={key:0,class:"row-item"},hCe={class:"label"},pCe=["title"],gCe={key:1,class:"node-statistics top-border"},mCe={class:"row-item node-num"},vCe=qc(()=>s.createElementVNode("div",{class:"label"},"拓展节点统计:",-1)),yCe={class:"value"},wCe={key:0},bCe={class:"danger"},_Ce={key:2,class:"node-aggregation"},BCe={class:"aggregation-title"},CCe={class:"aggregation-box"},ECe={key:1,class:"node-info-container"},SCe={class:"popover-fields"},xCe={class:"top"};function FCe(e,t,n,r,o,a){const A=s.resolveComponent("force-graph-svg-icon"),l=Ei,c=ud,u=lX,d=tA,f=AX;return s.openBlock(),s.createElementBlock("div",{class:s.normalizeClass(["popover-container",a.show?"show-popover":"hide-popover"]),style:s.normalizeStyle(o.position),onMouseenter:t[0]||(t[0]=(...h)=>a.handleMouseEnter&&a.handleMouseEnter(...h)),onMouseleave:t[1]||(t[1]=(...h)=>a.handleMouseLeave&&a.handleMouseLeave(...h))},[s.createElementVNode("div",null,[n.type==="node"?(s.openBlock(),s.createElementBlock("div",GBe,[s.createElementVNode("div",zBe,[n.nodeInfo.collect?(s.openBlock(),s.createElementBlock("div",qBe,[s.createVNode(l,{content:"已收藏","popper-class":"el-tooltip-gray",placement:"left"},{default:s.withCtx(()=>[s.createVNode(A,{class:"button-img","icon-class":e.imgPath["./public/d3svg1/star.svg"]},null,8,["icon-class"])]),_:1})])):s.createCommentVNode("",!0),a.isNormalNode?(s.openBlock(),s.createElementBlock("div",jBe,[s.createElementVNode("div",WBe,s.toDisplayString(a.getTypeZh(n.nodeInfo.type))+":",1),s.createElementVNode("div",{class:s.normalizeClass(["value",{"star-next":n.nodeInfo.collect}])},s.toDisplayString(a.name),3)])):s.createCommentVNode("",!0),a.isNodeTypeNode?(s.openBlock(),s.createElementBlock("div",YBe,[XBe,s.createElementVNode("div",JBe,[s.createElementVNode("div",ZBe,[s.createElementVNode("div",VBe,s.toDisplayString(n.nodeInfo.name),1)])])])):s.createCommentVNode("",!0),n.nodeInfo.label?(s.openBlock(),s.createElementBlock("div",eCe,[tCe,s.createElementVNode("div",nCe,s.toDisplayString(n.nodeInfo.label),1)])):s.createCommentVNode("",!0)]),s.createElementVNode("div",rCe,[a.isNormalNode&&n.nodeInfo.detail?(s.openBlock(),s.createElementBlock("div",iCe,[a.canGoDetail?(s.openBlock(),s.createElementBlock("div",oCe,[aCe,s.createElementVNode("div",{class:s.normalizeClass(["value level",a.getLevelClass(n.nodeInfo.detail&&n.nodeInfo.detail.info.basic.level)]),title:n.nodeInfo.detail&&n.nodeInfo.detail.info.basic.level||"--"},s.toDisplayString(n.nodeInfo.detail&&n.nodeInfo.detail.info.basic.level||"--"),11,sCe)])):s.createCommentVNode("",!0),n.nodeInfo.detail&&n.nodeInfo.detail.tags&&n.nodeInfo.detail.tags.length>0?(s.openBlock(),s.createElementBlock("div",ACe,[lCe,s.createElementVNode("div",cCe,[s.createElementVNode("div",uCe,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.formatTags(n.nodeInfo.detail.tags),(h,p)=>(s.openBlock(),s.createBlock(l,{key:p,"popper-class":"el-tooltip-gray"},{content:s.withCtx(()=>[s.createElementVNode("div",null,[s.createTextVNode(s.toDisplayString(h.name===h.desc?h.name:h.name+":"+h.desc)+" ",1),h.disabled?(s.openBlock(),s.createElementBlock(s.Fragment,{key:0},[dCe,s.createTextVNode(" 标签状态:失效 ")],64)):s.createCommentVNode("",!0)])]),default:s.withCtx(()=>[s.createElementVNode("span",null,[s.createVNode(c,{class:s.normalizeClass(["graph-tag-one",`${h.type||"unknown"} ${h.disabled?"tag-disable":""}`]),type:h.type||"info"},{default:s.withCtx(()=>[s.createTextVNode(s.toDisplayString(h.name),1)]),_:2},1032,["class","type"])])]),_:2},1024))),128))])])])):s.createCommentVNode("",!0),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(a.fieldMapThisType,(h,p)=>(s.openBlock(),s.createElementBlock(s.Fragment,null,[a.canShowField(h)?(s.openBlock(),s.createElementBlock("div",fCe,[s.createElementVNode("div",hCe,s.toDisplayString(h.zh)+":",1),s.createElementVNode("div",{class:s.normalizeClass(["value",{red:h.prop==="virus_name"}]),title:n.nodeInfo.detail.info.basic[p]},s.toDisplayString(a.getFieldValue(h)),11,pCe)])):s.createCommentVNode("",!0)],64))),256))])):s.createCommentVNode("",!0),a.isNodeTypeNode?(s.openBlock(),s.createElementBlock("div",gCe,[s.createElementVNode("div",mCe,[vCe,s.createElementVNode("div",yCe,[a.getNodeTypeChildNum(n.nodeInfo.id).dangerChildNum>0?(s.openBlock(),s.createElementBlock("span",wCe,[s.createElementVNode("span",bCe,s.toDisplayString(a.getNodeTypeChildNum(n.nodeInfo.id).dangerChildNum),1),s.createTextVNode("/")])):s.createCommentVNode("",!0),s.createTextVNode(s.toDisplayString(a.getNodeTypeChildNum(n.nodeInfo.id).allChildNum),1)])])])):s.createCommentVNode("",!0),a.isAggregateNode?(s.openBlock(),s.createElementBlock("div",_Ce,[s.createElementVNode("div",BCe,"聚合节点 ("+s.toDisplayString(o.aggregationList.length)+"个)",1),s.createElementVNode("div",CCe,[s.createVNode(f,{data:o.aggregationList,style:{width:"100%"}},{default:s.withCtx(()=>[s.createVNode(u,{prop:"name","min-width":"200",label:"名称"}),s.createVNode(u,{sortable:"",prop:"type",label:"类型"}),s.createVNode(u,{sortable:"",prop:"level",width:"80",label:"级别"},{default:s.withCtx(h=>[s.createElementVNode("span",{style:s.normalizeStyle({color:a.getColorStyle(h.row.level)})},s.toDisplayString(h.row.level||"--"),5)]),_:1}),s.createVNode(u,{label:"操作"},{default:s.withCtx(h=>[s.createVNode(d,{class:"add-to-graph-btn",type:"primary",text:"",size:"small",onClick:p=>a.addToGraph(h.row)},{default:s.withCtx(()=>[s.createTextVNode(" 添加到图谱 ")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])])])):s.createCommentVNode("",!0)])])):(s.openBlock(),s.createElementBlock("div",ECe,[s.createElementVNode("div",SCe,[s.createElementVNode("div",xCe,s.toDisplayString(n.nodeInfo.apiName),1)])]))])],38)}const kCe=wt(KBe,[["render",FCe],["__scopeId","data-v-4d80bc6d"]]),UCe=[{id:52,product_id:0,name:"copy",namec:"复制",parent_id:0,has_child:0,status:0,type:2,path:"0-52",pos:65,ctime:"0000-00-00 00:00:00",utime:"2019-06-04 16:49:38",children:[]},{id:62,product_id:0,name:"release_aggregation",namec:"释放聚合顶点",parent_id:0,has_child:0,status:0,is_sys:0,is_detail:0,type:2,path:"0-62",pos:1,ctime:"0000-00-00 00:00:00",utime:"2019-05-06 15:08:10",children:[]}],gI={name:"vue-safe-force-graph",version:"2.0.4",description:"force_graph in security area",author:"jason zhang",module:"./lib/vue-safe-force-graph.js",main:"./lib/vue-safe-force-graph.umd.cjs",type:"module",files:["/lib/"],exports:{".":{import:"./lib/vue-safe-force-graph.js",require:"./lib/vue-safe-force-graph.umd.cjs"},"./*":"./*"},scripts:{dev:"vite",devforce:"vite --force","dev:base64":"vite --mode development_base64",build:"vite build",lib:"vite build","lib:base64":"vite build --mode production_base64",patch:'npm version patch -m "Upgrade to %s "',"patch:base64":'npm version patch -m "Upgrade to %s for base64"',p:"npm run patch && npm run lib && npm publish","p:base64":"npm run patch:base64 && npm run lib:base64 && npm publish",imageAndP:"npm run imageToCdn && npm run patch && npm run lib && npm publish","imageAndP:base64":"npm run imageToBase64 && npm run patch:base64 && npm run lib:base64 && npm publish",svgo:"svgo -f src/icons/svg --config=src/icons/svgo.yml",lint:"eslint --ext .js,.vue src",lintFix:"eslint --fix --ext .js,.vue src",imageToCdn:"node qcdn.cjs",imageToBase64:"node qcdn.cjs --buildtype=base64",changelog:"conventional-changelog -p angular -i CHANGELOG.md -s -r 0"},dependencies:{"@element-plus/icons-vue":"^2.1.0","@q/qapm":"^1.1.2","core-js":"^3.29.1","csv-parse":"^5.0.4",d3:"^7.8.5","d3-lasso":"0.0.5","element-plus":"^2.3.0",html2canvas:"^1.0.0-rc.7",json2csv:"^5.0.7",konva:"^9.2.0",lodash:"^4.17.21","mime-types":"^2.1.35",minimist:"^1.2.6","radar-js-analytic-sdk":"^2.2.6",vue:"^3.2.47","vue-clipboard3":"^2.0.0","vue-router":"^4.1.6"},devDependencies:{"@babel/core":"^7.23.3","@babel/preset-env":"^7.23.3","@originjs/vite-plugin-commonjs":"^1.0.3","@q/qcdn":"^3.1.6","@vitejs/plugin-vue":"^4.1.0",autoprefixer:"9.5.1",axios:"^0.21.1","babel-eslint":"^10.1.0",eslint:"^7.32.0","eslint-plugin-vue":"^8.0.3",imageinfo:"^1.0.4",qs:"^6.10.1","rollup-plugin-visualizer":"^5.9.0",sass:"^1.62.0",svgo:"1.2.2","unplugin-auto-import":"^0.15.2","unplugin-vue-components":"^0.24.1",vite:"^4.3.1"},browserslist:["> 1%","last 2 versions"],engines:{node:">=8.9",npm:">= 3.0.0"},license:"MIT"},iSe="",oSe="",aSe="",{toClipboard:NCe}=u1(),TCe="Arial,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif",B_={},Ro=1,ICe=["ip","intranet","internet"],C_=20;let On={},Vr={},Ns=null;const Mi={},QCe={name:"ForceGraphRenderByCanvas",components:{Popover:kCe,LassoOne:$Be,NodeContextmenu:TBe},mixins:[Qo],provide:function(){return{levelList:this.levelList}},props:{data:{type:Object,default:()=>({nodes:[],links:[]})},history:{type:Object,default:()=>({})},strength:{type:Number,default:-600},isThreatPath:{type:Boolean,default:!1},requestGraphData:{type:Boolean,default:!1},moduleDetail:{type:Object,default:()=>{}},graphApi:{type:Object,default:()=>{}},alphaDecay:{type:Number,default:.0228},alphaMin:{type:Number,default:.001},darkMode:{type:Boolean,default:!0},levelList:{type:Array,default:()=>[{level:"未知",levelName:"未知",className:"unknown",normalColor:"#666",darkColor:"#c6cdd5",dangerNumber:0},{level:"危险",levelName:"危险",className:"warn",normalColor:"#CF1322",darkColor:"#fb2400",dangerNumber:1},{level:"普通",levelName:"普通",className:"normal",normalColor:"#007EE2",darkColor:"#0094ff",dangerNumber:-1},{level:"安全",levelName:"安全",className:"safe",normalColor:"#009A75",darkColor:"#00da90",dangerNumber:-2}]},nodeTypeScale:{type:Number,default:1},nodeTypeList:{type:Array}},emits:["handle-select-node","custom-contextmenu-click","flagFiles","updateSelection"],data(){return{prefix:"./public/",iconAllLoaded:!1,iconFiles:{},flagFiles:{},highlightRule:{},nodesRange:null,mousePosition:{left:0,top:0},hoverNodePosition:{},uniqueClass:"",showPopover:!1,popoverTimer:null,popoverType:"",popoverContent:{},popoverNode:{},showContextMenu:!1,contextMenuNode:{},menuOptions:[],isDragging:!1,originTransform:null,dragNodeFix:!1,destroyed:!1,actKey:Ec()?"metaKey":"ctrlKey",levelHeight:100,actNum:0,scriptNow:null,scriptInited:!1,canAct:!1,isKeyUp:!0,initTimes:0,resizeObserver:null,canvasElement:null,stage:s.shallowRef(null),layer:s.shallowRef(null),simulation:s.shallowRef(null),nodes:s.shallowRef(null),links:s.shallowRef(null),hoveredNode:s.shallowRef(null),mouseDownNode:s.shallowRef(null),selection:[],scale:Ro,mousedownPos:null,mousedownNode:null,mouseupNode:null,dragLine:null}},computed:{iconSizeComputed(){const e=Z8e(B_);return this.nodeTypeList.forEach(t=>{e[t]=B_[t]*this.nodeTypeScale}),e},contextMenuNodes(){return this.contextMenuNode.id?this.selection.some(e=>e.id===this.contextMenuNode.id)?[...this.selection]:[this.contextMenuNode]:[]},showContextMenuFlag(){return this.requestGraphData?this.showContextMenu:!1}},watch:{data:{handler:function(){this.nodes=this.data.nodes,this.links=this.data.links,this.update()},deep:!0},moduleDetail:{handler:function(e){return dt(this,null,function*(){e!=null&&e.nodes&&!this.iconAllLoaded&&(yield this.loadIcons(),this.initForceGraph(),setTimeout(()=>{this.update()},50))})},deep:!0,immediate:!0},darkMode:{handler:function(e){return dt(this,null,function*(){const t=e?"dark":"light";setTimeout(()=>{this.update(),this.isThreatPath?document.querySelectorAll(`.${this.uniqueClass}.render-container`)[0].setAttribute("data-theme",t):(document.querySelectorAll(`.${this.uniqueClass}.render-container`)[0].setAttribute("data-theme",t),document.getElementsByClassName(this.uniqueClass+" render-container")[0].parentElement.parentElement.setAttribute("data-theme",t))},200)})},immediate:!0}},created(){console.log("graph created time",Date.now()),Ba.setProject("QH_10542_1724").getTrack().getClickAndKeydown(),localStorage.getItem("showSafeForceGraphLog")&&(Bs("组件名称: "+gI.name),Bs("组件版本: "+gI.version),Bs("环境变量")),this.isThreatPath||this.initKeyEvent(),this.uniqueClass="unique"+new Date().getTime()+Math.floor(Math.random()*1e5)},mounted(){return dt(this,null,function*(){this.initForceGraph(),Ffe(this.levelList),!this.isThreatPath&&(as(Ft,"buttonClick",e=>{console.log(e,"buttonClick msg"),this.handleContextMenuClick(e)}),as(Ft,"relationClick",e=>{this.handleContextMenuClick(e)}),as(Ft,"sendNodesRange",(e,t)=>{e!==void 0&&(this.nodesRange=e,this.updateNodeStyle())}))})},beforeUnmount(){ss(Ft,"buttonClick"),ss(Ft,"relationClick"),ss(Ft,"sendNodesRange"),this.unbindKeyEvent(),this.resetAll(),console.log("destroy")},methods:{initForceGraph(){return dt(this,null,function*(){document.addEventListener("click",this.hideContextMenu,!1),this.nodes=this.data.nodes,this.links=this.data.links;const e=this.$refs.canvasContainer,t=e.clientWidth,n=e.clientHeight;this.stage=new _n.Stage({container:e,width:t,height:n,scaleX:Ro,scaleY:Ro}),this.layer=new _n.Layer,Ns=new _n.Group({id:"grab",x:0,y:0}),this.layer.add(Ns);const r=this.layer.getCanvas()._canvas;this.canvasElement=r,this.stage.on("mousemove",o=>{if(!this.mousedownNode||!o.evt[this.actKey]){this.resetMouseVars();return}else{const a=this.stage.getPointerPosition(),A=this.stage.scaleX(),l=(a.x-this.stage.x())/A,c=(a.y-this.stage.y())/A;this.dragLine.points([this.mousedownPos.x,this.mousedownPos.y,l,c]),this.layer.batchDraw()}}),this.stage.on("wheel",o=>{console.log("wheel"),o.evt.preventDefault();const a=1.1,A=this.scale,l=o.evt.deltaY<0?A*a:A/a;this.scale=l;const c=this.stage.getPointerPosition(),u=this.stage.position(),d=c.x-(c.x-u.x)*(l/A),f=c.y-(c.y-u.y)*(l/A);this.stage.setAttrs({scaleX:l,scaleY:l,x:d,y:f}),this.layer.batchDraw()}),this.stage.on("mousedown",o=>{const a=o.target;a&&a.nodeType==="Stage"?this.stage.setDraggable(!0):this.stage.setDraggable(!1)}),this.stage.on("mouseup",()=>{this.stage.setDraggable(!1)}),this.stage.on("contextmenu",this.handleGlobalContextMenu),this.stage.on("click",o=>{o.target&&o.target.nodeType==="Stage"&&this.handleDeselectNode(o)}),this.setSimulation(),this.stage.add(this.layer),this.stage.draw(),this.update()})},setSimulation(){var n;if(!((n=this.nodes)!=null&&n.length)){console.log("setSimulation 无数据");return}const e=this.stage.width()/(2*Ro),t=this.stage.height()/(2*Ro);this.simulation=IE(this.nodes).force("link",NE(this.links).id(r=>r.id).distance(120).strength(1)).force("charge",QE().strength(-600)).force("x",ME()).force("y",LE()).force("center",f4(e,t)).on("tick",this.ticked),this.simulation.alphaDecay=this.alphaDecay*1,this.simulation.alphaMin=this.alphaMin*1,this.simulation.on("end",()=>{console.log("simulation end time",Date.now()),this.isThreatPath&&this.centerAndZoom(1)})},update(){var e;this.destroyed||(e=this.nodes)!=null&&e.length&&(this.initScript(),this.simulation?this.updateSimulation():this.setSimulation(),this.doClearCanvas(),this.paintLinks(),this.paintNodes(),this.updateSelection(),this.actNum===9&&setTimeout(()=>{this.centerAndZoom(.8)},200))},doClearCanvas(){On={},Vr={},this.layer.destroyChildren(),Ns=new _n.Group({id:"grab",x:0,y:0}),this.layer.add(Ns)},paintNodes(){const e=this.stage.width()/2,t=this.stage.height()/2,n=this.selection.map(r=>r.id);this.nodes.forEach(r=>dt(this,null,function*(){var m,y,w,x,B,E,k,U,T,Q,z,O,R,D;const o=(r.type==="nodeType"?this.iconSizeComputed[r.icon]||this.iconSizeComputed.node_type:this.iconSizeComputed[r.type])||24,a=(w=(y=(m=r==null?void 0:r.detail)==null?void 0:m.info)==null?void 0:y.basic)==null?void 0:w.level,A=(E=(B=(x=r==null?void 0:r.detail)==null?void 0:x.info)==null?void 0:B.basic)==null?void 0:E.flag,l=yield this.getNodeImage(r);On[r.id]&&((k=On[r.id])==null||k.destroy());const c=new _n.Group({name:"nodeGroup",opacity:1,id:`${r.id}`,x:r.x?r.x:e,y:r.y?r.y:t,draggable:!0,visible:r.show});if(n.includes(r.id)&&c.addName("isSelected"),r.startNode){const M=c1(a,this.levelList,this.darkMode),L=new _n.Circle({x:0,y:0,radius:20,fill:M,opacity:0}),q=new _n.Circle({x:0,y:0,radius:20,fill:M,opacity:0}),G=new _n.Circle({x:0,y:0,radius:20,fill:M,opacity:0});c.add(L),c.add(q),c.add(G);const J=(ne,ie)=>new _n.Animation(function(le){const ce=le.time,me=.5-.5*(ce%ie)/ie,we=40*(ce%ie)/ie;ne.radius(we||0),ne.opacity(me)},this.layer),X=J(L,1500),W=J(q,1500),K=J(G,1500);X.start(),setTimeout(function(){W.start()},500),setTimeout(function(){K.start()},1e3)}if(r.type==="ip"||r.type==="internet"){const M=new _n.Circle({x:0,y:0,fill:this.darkMode?"#182628":"#fff",radius:o/2,stroke:c1(a,this.levelList),strokeWidth:2});c.add(M)}if(l){const M=(A?20:o)||24,L=l&&new _n.Image({x:0,y:0,offsetX:M/2,offsetY:M/2,image:l,width:M,height:M,draggable:!1});c.add(L)}if(r.detail&&r.type==="md5"){const M=((Q=(T=(U=r.detail.info)==null?void 0:U.basic)==null?void 0:T.file_type)==null?void 0:Q.toUpperCase())||"MD5",L=new _n.Text({name:"md5Text",x:0,y:0,text:M,fontSize:4,fontWeight:700,fontFamily:TCe,fill:this.darkMode?"#182628":"#fff",align:"center",listening:!1});L.x(L.x()-L.width()/2),c.add(L)}const u=r.textProp||"name",d=u==="name"?((O=(z=r==null?void 0:r.detail)==null?void 0:z.info)==null?void 0:O.name)||r.name:r[u];let f=d.length>14&&!ICe.includes(r.type)?d.slice(0,7)+"..."+d.slice(-7):d;f=ade(f);const h=new _n.Text({offsetY:o/2,name:"konvaText",x:0,y:o+8,text:f,fontSize:12,fontFamily:"Calibri",fill:this.darkMode?"#cdd9da":"#000",align:"center",listening:!1,visible:!!r.textProp});h.x(h.x()-h.width()/2),c.add(h);const p=new _n.Circle({name:"border",x:0,y:0,radius:o/2,fill:"#5c6271",opacity:.4,visible:!1});if(c.add(p),(D=(R=r.detail)==null?void 0:R.tags)!=null&&D.length){const M=new _n.Circle({x:((o/2||14)+5)*Math.sin(60*Math.PI/180),y:-((o/2||14)+5)*Math.cos(60*Math.PI/180),radius:3,fill:"#9300ff",listening:!1});c.add(M)}if(r.type!=="nodeType"&&r.type!=="aggregation"){var g=new _n.Circle({name:"collect",x:((o/2||14)+5)*Math.sin(0*Math.PI/180),y:-((o/2||14)+5)*Math.cos(0*Math.PI/180),radius:3,fill:"#ffad00",visible:!!r.collect});c.add(g)}if(r.label){const M=new _n.Circle({x:((o/2||14)+5)*Math.sin(30*Math.PI/180),y:-((o/2||14)+5)*Math.cos(30*Math.PI/180),radius:3,fill:"#0099ff",listening:!1});c.add(M)}c.on("dragstart",(M,L)=>{M.evt[this.actKey]||(this.simulation.alphaTarget(.3).restart(),this.isDragging=!0)}),c.on("dragmove",M=>{if(!M.evt[this.actKey]){var L=this.simulation.nodes().find(q=>q.id===r.id);L.x=c.x(),L.fx=c.x(),L.y=c.y(),L.fy=c.y(),this.links.forEach(q=>{const G=Vr[`${q.source.id}-${q.target.id}`].findOne(".konvaLine"),J=Vr[`${q.source.id}-${q.target.id}`].findOne(".linkArrow");if(q.source.id===L.id){const X=L.x,W=On[q.target.id].x(),K=L.y,ne=On[q.target.id].y();G.points([X,K,W,ne]);const ie=tb(X,K,W,ne,C_);J==null||J.x(ie==null?void 0:ie.x),J==null||J.y(ie==null?void 0:ie.y),J==null||J.rotation(Math.atan2(ne-K,W-X)*(180/Math.PI))}else if(q.target.id===L.id){const X=On[q.source.id].x()||0,W=L.x||0,K=On[q.source.id].y()||0,ne=L.y||0;G.points([X,K,W,ne]);const ie=tb(X,K,W,ne,C_);J==null||J.x(ie==null?void 0:ie.x),J==null||J.y(ie==null?void 0:ie.y),J==null||J.rotation(Math.atan2(ne-K,W-X)*(180/Math.PI))}}),this.layer.batchDraw()}}),c.on("dragend",M=>{M.evt[this.actKey]||(this.isDragging=!1)}),c.on("click",M=>{M.evt.detail===2?this.expandNodes(M,r):M.evt.detail===1&&M.evt.button===0&&this.handleNodeClick(M,r)}),c.on("contextmenu",M=>{M.cancelBubble=!0,M.evt.preventDefault(),M.evt.stopPropagation(),this.handleNodeContextMenu(M,r,c)}),c.on("mouseup",M=>this.handleNodeMouseUp(M,r)),c.on("mousedown",M=>this.handleNodeMouseDown(M,r)),c.on("mouseenter",M=>this.handleNodeMouseEnter(M,r)),c.on("mouseleave",M=>this.handleNodeMouseLeave(M,r)),Ns.add(c),On[r.id]=c})),this.stage.batchDraw()},paintLinks(){const e=this.stage.width()/2,t=this.stage.height()/2;this.links.forEach(n=>{Vr[`${n.source.id}-${n.target.id}`]&&Vr[`${n.source.id}-${n.target.id}`].destroy();const r=new _n.Group({opacity:1,id:`${n.source.id}-${n.target.id}`,visible:n.source.show&&n.target.show}),o=this.darkMode?"#445152":"#999",a=new _n.Arrow({name:"linkArrow",pointerLength:10,pointerWidth:10,x:e,y:t,fill:o});r.add(a);const A=n.source.x||0,l=n.source.y||0,c=n.target.x||0,u=n.target.y||0,d=new _n.Line({name:"konvaLine",id:`${n.source.id}-${n.target.id}`,points:[A,l,c,u],stroke:n.target.type==="org"?"#cf1322":o,strokeWidth:1,dash:n.diy===!0?[5,5]:null});if(n.target.type==="nodeType"){const f=new _n.Text({name:"edgeLabel",x:(A+c)/2,y:(l+u)/2,text:n.target.name,fontSize:12,fill:this.darkMode?"#cdd9da":"#000"});r.add(f)}r.add(d),Ns.add(r),r.moveToBottom(),Vr[`${n.source.id}-${n.target.id}`]=r}),this.stage.batchDraw()},updateSimulation(){var e;try{this.simulation.stop(),this.simulation.nodes(this.nodes),this.simulation.force("link").links(this.links),this.simulation.alpha(.4).restart(),this.simulation.on("tick",this.ticked)}catch(t){console.log(t,"simulation-e1"),(e=this.simulation)==null||e.stop()}},ticked(){switch(this.history.layoutIndex){case 0:this.forceLayout();break;case 1:this.treeLayout();break;default:this.forceLayout();break}},forceLayout(){var t;if(!this.nodes.length||!this.links.length)return;let e=!0;for(let n=0;n<this.links.length;n++){const r=this.links[n],o=Vr[`${r.source.id}-${r.target.id}`],a=o==null?void 0:o.findOne(".konvaLine"),A=o==null?void 0:o.findOne(".linkArrow"),l=o==null?void 0:o.findOne(".edgeLabel");let c=r.source.x,u=r.source.y,d=r.target.x,f=r.target.y;const h=d-c||1,p=f-u||1,g=Math.sqrt(h*h+p*p),m=h/g||1,y=p/g||1,w=r.source.type==="nodeType"?(this.iconSizeComputed[r.source.icon]||14)/2-1:(this.iconSizeComputed[r.target.type]||14)/2-1,x=r.target.type==="nodeType"?(this.iconSizeComputed[r.target.icon]||14)/2-1:(this.iconSizeComputed[r.target.type]||14)/2-1;if(c=c+w*m,u=u+w*y,d=d-x*m,f=f-x*y,isNaN(c)||isNaN(u)||isNaN(d)||isNaN(f)){e=!1;break}a==null||a.points([c,u,d,f]);const B=tb(c,u,d,f,C_);if(A==null||A.x((B==null?void 0:B.x)||0),A==null||A.y((B==null?void 0:B.y)||0),A==null||A.rotation(Math.atan2(f-u,d-c)*(180/Math.PI)),l){l.x((c+d)/2),l.y((u+f)/2),l.offsetX(l.getWidth()/2||0),l.offsetY(l.getHeight()/2+8||0);const E=Math.atan2(f-u,d-c)*(180/Math.PI);d<c?l.rotation(E+180):l.rotation(E)}}if(!e){console.log("请点击自动布局按钮"),this.resetLayout();return}for(let n=0;n<this.nodes.length;n++){const r=this.nodes[n];(t=On[r.id])==null||t.position({x:r.x||0,y:r.y||0})}},selectEdgesByNode(e){const t=e.map(n=>n.id);this.links.forEach(n=>{const r=Vr[`${n.source.id}-${n.target.id}`];t.includes(n==null?void 0:n.target.id)||t.includes(n==null?void 0:n.source.id)?r==null||r.addName("isSelected"):r==null||r.removeName("isSelected")})},showKeyWay(e){if(e.length!==1){this.links.forEach(r=>{const o=Vr[`${r.source.id}-${r.target.id}`];o==null||o.removeName("keyed")}),this.history.resetKeyLinksAndNodes();return}const{keyLinks:t,keyNodeIds:n}=this.history.findKeyLinksAndNodes(e[0].id,!0);this.links.forEach(r=>{const o=t.find(A=>A.source.id===r.source.id&&A.target.id===r.target.id),a=Vr[`${r.source.id}-${r.target.id}`];o?a==null||a.addName("keyed"):a==null||a.removeName("keyed")}),this.nodes.forEach(r=>{const o=On[r.id];n.includes(r.id)?o==null||o.addName("keyed"):o==null||o.removeName("keyed")})},updateNodeStyle(){if(!this.iconAllLoaded)return;let e;this.nodesRange&&this.history.keyNodeIds?e=[...this.nodesRange.map(t=>t.id),...this.history.keyNodeIds]:this.nodesRange?e=this.nodesRange.map(t=>t.id):this.history.keyNodeIds&&(e=this.history.keyNodeIds),setTimeout(()=>{this.highlightByRule(this.highlightRule,e),this.updateNodesStyleByName(),this.updateLinksStyleByName()},0)},updateNodesStyleByName(){this.nodes.forEach(e=>{const t=On[e.id];if(!t)return;const n=t==null?void 0:t.findOne(".border"),r=t==null?void 0:t.findOne(".konvaText"),o=this.darkMode?"#cdd9da":"#000";t!=null&&t.hasName("lowlight")?t==null||t.opacity(.4):t==null||t.opacity(1),t!=null&&t.hasName("isSelected")?(t.scale({x:8/7,y:8/7}),n==null||n.visible(!0)):(t.scale({x:1,y:1}),n==null||n.visible(!1)),e.type!=="nodeType"&&(t!=null&&t.hasName("isSelected")?(r==null||r.visible(!0),r==null||r.fill("#007ee2")):(r==null||r.visible(!!e.textProp),r==null||r.fill(o)))}),this.layer.batchDraw()},updateLinksStyleByName(){this.links.forEach(e=>{const t=Vr[`${e.source.id}-${e.target.id}`];if(!t)return;const n=t.findOne(".konvaLine"),r=t.findOne(".edgeLabel"),o=t.findOne(".linkArrow");t!=null&&t.hasName("lowlight")?t==null||t.opacity(.4):t==null||t.opacity(1);const a=this.darkMode?"#445152":"#999";if(t.hasName("isSelected")||t.hasName("keyed")){const A=e.target.type==="org"?"#cf1322":"#007ee2";n.stroke(A),o.fill(A),n.strokeWidth(1),t==null||t.opacity(1),r==null||r.fill("#007ee2"),t.hasName("keyed")?n.strokeWidth(3):n.strokeWidth(1)}else{const A=e.target.type==="org"?"#cf1322":a;Vr[`${e.source.id}-${e.target.id}`].removeName("isSelected"),n.strokeWidth(1),n.stroke(A),o.fill(A),r==null||r.fill(this.darkMode?"#cdd9da":"#000")}}),this.layer.batchDraw()},handleTableSelect(e=[]){this.selection=this.nodes.filter(t=>{let n;return e.length>1?n=e.indexOf(t.id)>=0&&t.type!=="nodeType"&&t.type!=="aggregation":n=e.indexOf(t.id)>=0,n}),this.updateSelection()},resetAll(){var e,t;document.removeEventListener("click",this.hideContextMenu),(e=this.simulation)==null||e.stop(),this.simulation=null,this.mousedownNode=null,this.mousedownPos=null,this.mouseupNode=null,document.getElementById("main-svg-box")&&((t=this.resizeObserver)==null||t.unobserve(document.getElementById("main-svg-box"))),this.nodes=[],this.links=[],this.resizeObserver=null,this.destroyed=!0,this.history.destroy()},unbindKeyEvent(){this.initKeyEvent(1)},initKeyEvent(e=0){if(e){document.removeEventListener("keydown",this.keyDown),document.removeEventListener("keyup",this.keyUp);return}document.addEventListener("keydown",this.keyDown),document.addEventListener("keyup",this.keyUp),this.isKeyUp=!0},keyDown(e){const t=e.keyCode,n=e[this.actKey],r=e.shiftKey;if(this.isKeyUp)switch(t){case 17:break;case 16:this.toggleZoom(!1);break;case 38:break;case 40:this.goAction();break;case 67:if(window.getSelection().toString())return;n&&this.copyNodeText(this.selection);break;case 89:n&&!Ec()&&this.$parent.historyForward();break;case 90:n&&r?this.$parent.historyForward():n&&this.$parent.historyBack();break;case 46:this.$parent.deleteNodes(this.selection);break}},keyUp(e){const t=e.keyCode,n=e.keyCode;if(Ec())switch(n){case 17:break;case 16:this.toggleZoom(!0);break}else switch(t){case 17:break;case 16:this.toggleZoom(!0);break}this.isKeyUp=!0},initScript(){var r,o,a,A,l,c;if(this.scriptInited)return;((a=(o=(r=this.history)==null?void 0:r.dataNow)==null?void 0:o.nodes)==null?void 0:a.length)>0&&(this.scriptInited=!0);const e=["193.36.119.50","6cd7b91212983cc557c6e3e671734ff9"];let t=null;if((c=(l=(A=this.history)==null?void 0:A.dataNow)==null?void 0:l.nodes)==null||c.some(u=>{const d=e.indexOf(u.id);return d>=0&&u.startNode===!0&&(t=d),!0}),console.log("scriptIndex",t),t===null)return;const n=[[{node:"193.36.119.50"},{node:"6cd7b91212983cc557c6e3e671734ff9"},{node:"http://9d1109ab.privatedns.org/download/FirefoxSetup.dll"},{node:"94.237.81.57"},{node:"chart.expocasheuro.com"}],[{node:"6cd7b91212983cc557c6e3e671734ff9"},{node:"http://9d1109ab.privatedns.org/download/FirefoxSetup.dll"},{node:"94.237.81.57"},{node:"chart.expocasheuro.com"},{node:"183.246.177.59"},{node:"e7db5b09a39e324d36e937d89f98fdb9122cd859"}]];this.scriptNow=n[t],this.canAct=!!this.scriptNow},goAction(){if(console.log("this.actNum",this.actNum),!this.scriptNow||this.actNum>(this.scriptNow.length-1)*2)return;if(this.actNum===(this.scriptNow.length-1)*2){this.centerAndZoom(),this.actNum++;return}const e=this.scriptNow[Math.floor(this.actNum/2)+1];if(this.actNum%2===0){if(!this.history.dataNow.nodes.some(t=>t.id===e.node))return;this.handleTableSelect(e.node),this.nodesMoveToCenterView([e.node]),this.actNum++}else this.$parent.expandNodes(this.selection[0]),setTimeout(()=>{this.nodesMoveToCenterView([this.selection[0].id])},100),this.actNum++},nodesMoveToCenterView(e,t=.9){if(console.log("nodesMoveToCenterView"),e.length===0)return;const n=[],r=this.nodes.filter(x=>e.indexOf(x.id)>=0);r==null||r.forEach(function(x,B){const E=On[x.id];n.push({bounds:(E==null?void 0:E.getClientRect())||{},fx:x.x||0,fy:x.y||0})});const o=this.getBounds(n);this.originTransform=this.originTransform={scaleX:this.stage.scaleX(),scaleY:this.stage.scaleY(),x:this.stage.x(),y:this.stage.y()};const a=this.stage.width(),A=this.stage.height()/1.5,l=o.width,c=o.height;if(l===0||c===0)return;let u=t/Math.max(l/a,c/A);u=Math.min(u,Ro)||Ro,this.scale=u;const d=this.stage.width()/(2*u),f=this.stage.height()/(2*u),h=On[e[0]],p=h==null?void 0:h.getClientRect(),g=p.x*u,m=p.y*u,y=d-g,w=f-m;this.stage.setAttrs({scaleX:u,scaleY:u,x:y||0,y:w||0}),this.layer.batchDraw()},getBounds(e){let t,n,r,o;return e.map(a=>{const A=a.bounds,l=A.x+a.fx,c=A.y+a.fy;t=Math.min(l,t)||l,n=Math.min(c,n)||c,r=Math.max(l+A.width,r)||l+A.width,o=Math.max(c+A.height,o)||c+A.height}),{x:t,y:n,width:r-t,height:o-n}},resetMouseVars(){var e;this.mousedownNode=null,this.mousedownPos=null,this.mouseupNode=null,(e=this.dragLine)==null||e.destroy(),Object.keys(On).forEach(t=>{On[t].draggable(!0)})},loadIcons(){return new Promise((e,t)=>{const n=[],r=[];for(const c in this.moduleDetail.plugs){const u=this.moduleDetail.plugs[c];u==null||u.map(d=>{d.children?r.push(...d.children):r.push(d)})}n.push(...r.map(c=>c.icon)),n.push(...this.moduleDetail.nodes.map(c=>c.name)),n.push("node_type"),n.push("node"),n.push("aggregation");const o=this;let a=0;const A=n.filter(c=>this.imgPath[`${o.prefix}d3svg1/${c}.svg`]);function l(c){return{}.VITE_SVG_TYPE==="base64"?lde(c):Hd(c)}A.map(c=>{l(this.imgPath[`${o.prefix}d3svg1/${c}.svg`]).then(function(u){o.iconFiles[c]=u;const d=Ade(u).width;B_[c]=d,a++,a===A.length&&(o.iconAllLoaded=!0,e())}).catch(u=>{console.log(u,"e"),t()})})})},toggleZoom(e){},handleNodeContextMenu(e,t){var n,r;e.evt[this.actKey]||(clearTimeout(this.popoverTimer),this.showPopover=!1,this.contextMenuId++,this.contextMenuNode=t,this.mousePosition.left=e.evt.clientX,this.mousePosition.top=e.evt.clientY,this.showContextMenu=!0,console.log("e",e),console.log("node",t),e.currentTarget.type==="aggregation"?this.menuOptions=UCe:this.menuOptions=(n=this.$parent.moduleDetail)!=null&&n.plugs[t.type]?Array.from((r=this.$parent.moduleDetail)==null?void 0:r.plugs[t.type]):[])},handleDeselectNode(e,t){console.log("点击空白 _e, _node",e,t,new Date().getTime()),Ze(this,"handle-select-node",{isSelected:!1,_node:s.toRaw(t)}),this.selection.length&&(this.selection=[],this.updateSelection()),this.setHighlightRule({}),this.hideContextMenu()},setHighlightRule({prop:e,type:t,value:n}){console.log("setHighlightRule"),this.highlightRule={prop:e,type:t,value:n},this.updateNodeStyle(),t||jp(".legend-filter .out-box").classed("active",!1)},updateSelection(){const e=this.selection.map(t=>t.id);this.nodes.forEach(t=>{var n,r;e.includes(t.id)?(n=On[t.id])==null||n.addName("isSelected"):(r=On[t.id])==null||r.removeName("isSelected")}),Ze(this,"updateSelection")},toggleLayout(e){this.history.layoutIndex=e,this.history.dataNow.nodes.map(t=>{t.fx=t.fy=null}),this.updateSimulation(),this.ticked(),setTimeout(()=>{this.centerAndZoom()},200)},handleNodeClick(e,t){console.log("click",e,t),wr({cId:"handleNodeClick",c:"点击节点"}),this.canAct&&(t.type==="org"?window.open("http://bs.safe.360.net/starmap","__blank"):t.type==="nodeType"&&t.id.indexOf("org")>=0&&window.open("http://bs.safe.360.net/orglist?snapshot=true","__blank1")),this.hideContextMenu();const n=this.selection.includes(o=>o.id===t.id);if(e.evt.shiftKey){if(t.type==="nodeType"||this.selection.some(o=>o.type==="nodeType"))return;n?this.selection=this.selection.filter(o=>o.id!==t.id):this.selection=[...this.selection,t]}else n?this.selection=[]:this.selection=[t];const r=this.selection.some(o=>o.id===t.id);Ze(this,"handle-select-node",{isSelected:r,_node:t}),this.updateSelection(),this.setHighlightRule(this.highlightRule)},handleNodeMouseEnter(e,t){if(!this.showContextMenu&&!e.evt[this.actKey]){const n=e.target.width(),r=e.target.height(),o=e.target,a=o.getAbsolutePosition(),l=o.getStage().container().getBoundingClientRect(),c=a.x-n/2+l.left,u=a.y-r/2+l.top,d=c,f=u,h=d,p=d+n,g=f,m=f+r;this.hoverNodePosition={top:g,right:p,bottom:m,left:h,width:n,height:r},this.popoverType="node",this.popoverContent={[t.type]:t.id},this.popoverNode=t,this.popoverTimer&&clearTimeout(this.popoverTimer),this.popoverTimer=setTimeout(()=>{this.showPopover=!0},200)}},handleNodeMouseLeave(e,t){this.showContextMenu||(clearTimeout(this.popoverTimer),this.showPopover=!1)},handleNodeMouseUp(e,t){var n;e.evt[this.actKey]&&this.mousedownNode&&(this.dragLine&&((n=this.dragLine)==null||n.destroy()),this.mouseupNode=t,this.mouseupNode.id===this.mousedownNode.id||this.mouseupNode.type==="aggregation"||this.mousedownNode.type==="aggregation"||this.$parent.addLink(this.mousedownNode,this.mouseupNode)),this.resetMouseVars()},handleNodeMouseDown(e,t){if(e.evt[this.actKey]){this.mousedownNode=t,On[t.id].draggable(!1);const n=this.stage.scaleX(),r=this.stage.getPointerPosition(),o=(r.x-this.stage.x())/n,a=(r.y-this.stage.y())/n;this.mousedownPos={x:o,y:a},this.dragLine=new _n.Line({points:[o,a,o,a],stroke:"black",strokeWidth:1,dash:[5,5],opacity:.7,visible:!0}),this.layer.add(this.dragLine),this.stage.draw()}},treeLayout(){console.log("treeLayout"),this.nodes.map(e=>{e.fx=e.pos,e.fy=e.levelNum*this.levelHeight}),this.forceLayout()},resetLayout(){console.log("resetLayout"),this.simulation.stop(),this.nodes.map(e=>{delete e.vx,delete e.vy,delete e.x,delete e.y,delete e.fx,delete e.fy}),this.updateSimulation()},selectSingleEdgeNode(e){const t=[];this.links.map(n=>{n.source.id===e.id&&t.push(n.target.id)});for(let n=t.length-1;n>=0;n--){let r=0,o=0;const a=t[n];this.links.map(A=>{A.source.id===a&&r++,A.target.id===a&&o++}),r>=1&&t.splice(n,1),o>=2&&t.splice(n,1)}return t},selectChildren(e){const t=[];this.links.map(n=>{n.source.id===e.id&&t.push(n.target.id)}),this.handleTableSelect(t)},selectParents(e){const t=[];this.links.map(n=>{n.target.id===e.id&&t.push(n.source.id)}),this.handleTableSelect(t)},handleGlobalContextMenu(e){console.log("global context"),this.mousePosition.left=e.evt.clientX,this.mousePosition.top=e.evt.clientY,this.menuOptions=[],this.showContextMenu=!0,this.showPopover=!1,this.contextMenuNode={},e.evt.preventDefault()},hideContextMenu(){this.showContextMenu=!1,this.contextMenuNode={}},centerAndZoom(e=.9,t=!1){var d;console.log("centerAndZoom"),this.originTransform={scaleX:this.stage.scaleX(),scaleY:this.stage.scaleY(),x:this.stage.x(),y:this.stage.y()};const n=this.stage.width(),r=this.stage.height(),o=Ns.getClientRect(),a=o.width/this.scale,A=o.height/this.scale;if(a===0||A===0)return;let l=e/Math.max(a/n,A/r);if(l=t?l:Math.min(l,Ro)||Ro,!t&&l>Ro)return;this.scale=l;const c=this.stage.width()/(2*l),u=this.stage.height()/(2*l);if(this.simulation.force("center",f4(c,u)),this.stage.setAttrs({scaleX:l,scaleY:l,x:0,y:0}),this.layer.batchDraw(),this.history.layoutIndex===1){const f=Ns.getClientRect(),h=(n-f.width)/2-f.x,p=(r-f.height)/2-f.y;this.stage.setAttrs({x:h,y:p}),this.layer.batchDraw(),(d=this.simulation)==null||d.stop()}},reset(){this.stage.setAttrs(this.originTransform)},handleContextMenuClick({nodes:e,api:t,dataApi:n}){if(console.log("-> nodes",e),this.requestGraphData){let r,o;const a={show_label:"label",all_show_label:"label",all_show_names:"name",show_names:"name"};switch(t&&t.name){case"edit_label":this.editLabel(e);break;case"single_edge_select":r=this.selectSingleEdgeNode(e[0]),this.selection=this.nodes.filter(A=>r.includes(A.id));break;case"hold_aggregation":o=this.selectSingleEdgeNode(e[0]),this.$parent.aggregationNodes(o,e[0]);break;case"release_aggregation":this.$parent.releaseAggregation(e[0]);break;case"show_label":case"show_names":e.map(A=>{this.showLabel(A,a[t.name])});break;case"all_show_label":case"all_show_names":this.nodes.map(A=>{this.showLabel(A,a[t.name])});break;case"un_show_names":case"un_show_label":e.map(A=>{this.hideLabel(A)});break;case"all_un_show_names":case"all_un_show_label":this.nodes.map(A=>{this.hideLabel(A)});break;case"copy":this.copyNodeText(e);break;case"node_star":e.map(A=>{this.starNode(A)});break;case"un_node_star":e.map(A=>{this.starNode(A,!1)});break;case"fix_nodes":e.map(A=>{this.toggleMove(A,!0)});break;case"un_fix_nodes":e.map(A=>{this.toggleMove(A,!1)});break;case"all_fix_nodes":this.fixAllNodes(!0);break;case"all_un_fix_nodes":this.fixAllNodes(!1);break;case"expand_node":e.map(A=>{this.$parent.expandNodes(A)});break;case"expand_part_node":e.map(A=>{this.$parent.expandNodes(A,n)});break;case"go_result":this.handleGoDetail(e);break;case"delete_node":this.$parent.deleteNodes(e);break;case"select_children":this.selectChildren(e[0]);break;case"select_parents":this.selectParents(e[0]);break;case"undo":this.$parent.historyBack();break;case"redo":this.$parent.historyForward();break;case"add_con_node":this.$parent.$refs.buttonList.addNode("diy",e[0]);break;case"add_link":this.$parent.$refs.buttonList.addNode("diy",e[0]);break;case"show_node":this.toggleShowNode(e[0],e[1],!0);break;case"hide_node":this.toggleShowNode(e[0],e[1],!1);break;default:Ze(this,"custom-contextmenu-click",{eventName:t.name,customConfig:t.customConfig,nodes:e,allNodes:s.toRaw(this.history.dataNow.nodes)})}this.hideContextMenu(),setTimeout(()=>{this.updateSelection()},400)}else Qn({message:"无可操作权限",type:"warning"})},expandNodes(e,t){console.log("dblclick"),wr({cId:"dblclick",c:"双击节点"}),this.requestGraphData?this.$parent.expandNodes(t):Qn({message:"无可操作权限",type:"warning"})},toggleShowNode(e,t,n=!0){this.history.toggleShowNode(e,t,n),this.selection.filter(o=>o.show).length>0||this.handleTableSelect([]),setTimeout(this.updateNodeStyle,100)},copyNodeText(e){let t="";e.filter(n=>n.type!=="aggregation"&&n.type!=="nodeType").map(n=>{t=t+n.id+`
|
|
171
171
|
`}),t&&NCe(t).then(()=>{Qn({message:"复制成功",type:"success"})},n=>{console.log("copy---e",n)})},toggleMove(e,t){e.fx=t?e.x:null,e.fy=t?e.y:null,this.updateSimulation()},autoDisplay(){this.nodes.map(e=>{e.fx=null,e.fy=null})},editLabel(e){var t;o9.prompt("修改备注",{confirmButtonText:"确定",cancelButtonText:"取消",inputValue:(t=e[0])==null?void 0:t.label,inputPlaceholder:"请输入备注,最多20字",inputValidator:n=>n.length>20?"已超过20字":!0}).then(({value:n})=>{e.map(r=>{r.label=n,this.showLabel(r,"label")}),this.updateNodeStyle()}).catch(n=>{console.log(n)})},showLabel(e,t){e.textProp=t,this.update()},hideLabel(e,t){e.textProp=null,this.update()},safeGet(e,t){return!e||!t?void 0:t.split(".").reduce((o,a)=>o&&o[a]?o[a]:void 0,e)},fixAllNodes(e=!0){this.nodes.map(t=>{this.toggleMove(t,e)})},highlightByRule(e,t){if(!e.prop&&!t){this.nodes.forEach(l=>{const c=On[l.id];c==null||c.removeName("lowlight")}),this.links.forEach(l=>{const c=Vr[`${l.source.id}-${l.target.id}`];c==null||c.removeName("lowlight")});return}const{type:n,prop:r,value:o}=e,a=this,A=[];this.nodes.forEach(function(l){const c=On[l.id];r?n==="include"?o.includes(a.safeGet(l,r))&&a.inNodesRange(t,l)?(c==null||c.removeName("lowlight"),A.push(l)):c==null||c.addName("lowlight"):n==="equal"?a.safeGet(l,r)===o&&a.inNodesRange(t,l)?(c==null||c.removeName("lowlight"),A.push(l)):c==null||c.addName("lowlight"):n==="boolean"&&(eb(a.safeGet(l,r))&&a.inNodesRange(t,l)?(c==null||c.removeName("lowlight"),A.push(l)):c==null||c.addName("lowlight")):a.inNodesRange(t,l)?(c==null||c.removeName("lowlight"),A.push(l)):c==null||c.addName("lowlight")}),this.links.forEach(function(l){const c=Vr[`${l.source.id}-${l.target.id}`];A.some(d=>d.id===l.target.id)?c==null||c.removeName("lowlight"):c==null||c.addName("lowlight")})},handleCustomSelect(e){if(this.handleDeselectNode(),!e.prop)return;const{type:t,prop:n,value:r}=e,o=this;this.nodes.forEach(a=>{if(n&&t==="include"){let A;if(a.type==="nodeType"){const l=o.safeGet(a,"parents"),c=o.safeGet(a,"children"),u=l==null?void 0:l.some(f=>r.includes(f)),d=c==null?void 0:c.some(f=>r.includes(f));A=u&&d}(r.includes(o.safeGet(a,n))||A)&&this.selection.push(a)}}),this.updateSelection()},inNodesRange(e,t){return e?e.some(n=>n===t.id):!0},loadFlagFiles(e){return dt(this,null,function*(){return new Promise(t=>{this.flagFiles[e]?t():Bf(this.imgPath[`${this.prefix}d3svg1/flags/${e}.png`]).then(n=>{this.flagFiles[e]=n,t()})})})},getNodeImage(e){return dt(this,null,function*(){var o,a,A,l,c,u;let t=null;const n=(o=e.detail)==null?void 0:o.info.basic.flag,r=((l=(A=(a=e==null?void 0:e.detail)==null?void 0:a.info)==null?void 0:A.basic)==null?void 0:l.level)||"未知";if(e.detail&&((u=(c=e.detail)==null?void 0:c.info)!=null&&u.inner_img))t=yield Cc(e.detail.info.inner_img);else if(e.type==="nodeType"||e.type==="aggregation"){const d=e.icon||"node_type";if(Mi[d])return t=Mi[d],t;t=this.iconFiles[d],t=yield Cc("data:image/svg+xml,"+encodeURIComponent(t)),Mi[d]=t}else if(n&&(e.type==="ip"||e.type==="internet")){if(Mi[n])return t=Mi[n],t;yield this.loadFlagFiles(n),t=yield Cc(this.flagFiles[n]),Mi[n]=t}else if(e.detail&&(e.type==="country"||e.type==="target_country")){const d=e.detail.info.inner_country;if(Mi[d])return t=Mi[d],t;yield this.loadFlagFiles(d),t=yield Cc(this.flagFiles[d]),Mi[d]=t}else{const d=`${e.type||"node"}${r}${this.darkMode}`;if(Mi[d])return t=Mi[d],t;t=this.iconFiles[e.type]?this.iconFiles[e.type]:this.iconFiles.node;const f=c1(r,this.levelList,this.darkMode),h=this.darkMode?"#182628":"#fff";t=sde(t,f,h),t=yield Cc("data:image/svg+xml,"+encodeURIComponent(t)),Mi[d]=t}return t})},handleGoDetail(e){e.forEach(t=>{if(t.isCluster)return;const n=t.type,r=this.moduleDetail.config.jumpRule[n];if(r)if(n==="org"){const o=t.id.split("(")[0];o.indexOf("APT")>=0&&window.open(r.split("${id}").join(o),t.id)}else{let o=t.origin&&t.origin[0]||t.id;(n==="url"||n==="virus")&&(o=encodeURIComponent(o)),window.open(r.split("${id}").join(o),t.id)}})},starNode(e,t=!0){e.collect=t,this.update()},handleAddBlack(e){this.showBlackType=!0,this.node=e},changeVisible(e){this.showBlackType=e},zoomIn(){this.adjustZoom(1.1)},zoomOut(){this.adjustZoom(.909)},adjustZoom(e){const n=this.stage.scaleX()*e;this.scale=n;const r={x:this.stage.width()/2,y:this.stage.height()/2},o={x:this.stage.getPointerPosition().x-this.stage.x(),y:this.stage.getPointerPosition().y-this.stage.y()},a={x:-(o.x-r.x)*(e-1),y:-(o.y-r.y)*(e-1)};this.stage.setAttrs({x:this.stage.x()+a.x,y:this.stage.y()+a.y,scaleX:n,scaleY:n}),this.layer.batchDraw()},addNodesDetail(e){return dt(this,null,function*(){const t=e.filter(o=>!o.detail&&o.noDetail!==!0&&o.type!=="aggregation"&&o.type!=="nodeType"),n={};t.map(o=>{n[o.type]?n[o.type].push(o):n[o.type]=[o]});const r=[];for(const o in n){const a=n[o],A={};a.map(l=>{l.origin&&(A[l.id]=l.origin)}),r.push(this.graphApi.getNodesDetail({api:this.moduleDetail.node_info[n[o][0].type],node_id:n[o].map(l=>l.id),origin:A}).then(l=>(l.data.records.map(u=>{const d=e.find(f=>f.id===u.info.id);d.detail=u}),Promise.resolve({}))))}})}}},MCe={id:"main-svg-box",class:"main-svg-box"},LCe={id:"canvas-container",ref:"canvasContainer",class:"canvas-container"};function OCe(e,t,n,r,o,a){const A=s.resolveComponent("popover"),l=s.resolveComponent("node-contextmenu");return s.openBlock(),s.createElementBlock("div",{class:s.normalizeClass(["render-container",n.darkMode?"dark-theme "+o.uniqueClass:" "+o.uniqueClass])},[s.createElementVNode("div",MCe,[s.createElementVNode("div",LCe,null,512)]),s.createVNode(A,{"dark-mode":n.darkMode,"show-popover":o.showPopover&&!o.isDragging,"mouse-position":o.hoverNodePosition,"node-info":o.popoverNode,"module-detail":n.moduleDetail,type:o.popoverType,history:n.history,data:n.history.dataNow},null,8,["dark-mode","show-popover","mouse-position","node-info","module-detail","type","history","data"]),n.isThreatPath?s.createCommentVNode("",!0):(s.openBlock(),s.createBlock(l,{key:0,show:a.showContextMenuFlag,axis:o.mousePosition,"node-info":a.contextMenuNodes,history:n.history,"menu-options":o.menuOptions,"module-detail":n.moduleDetail,onContextmenuClick:a.handleContextMenuClick},null,8,["show","axis","node-info","history","menu-options","module-detail","onContextmenuClick"]))],2)}const jc=wt(QCe,[["render",OCe]]),sSe="",ASe="",lSe="",{toClipboard:mI}=u1(),DCe={name:"SnapShotDialog",components:{},mixins:[],props:{snapshot:{type:Object,default:()=>{}},graphApi:{type:Object,default:()=>{}}},data(){return{dialogVisible:!1,origin:window.location.origin,ruleForm:{radio:"0",event:"",group:"",graphDesc:""},rules:{event:[{required:!0,message:"请选择安全事件",trigger:"change"}],group:[{required:!1,message:"请选择团队",trigger:"change"}]},eventOptions:[{value:"",label:""}],groupOptions:[{value:"",label:""}],hostList:["https://sc.360.net","https://sc.b.qihoo.net","http://sec.test.safe.qihoo.net"],isInnerAccount:!1,visibleSuccess:!1,eventUrl:null}},computed:{},watch:{snapshot:{handler:function(e,t){e.name&&(this.ruleForm.graphDesc=e.name)},immediate:!0,deep:!0}},created(){this.graphApi.getReportList&&this.graphApi.getReportList().then(e=>{e.data!==null&&(this.eventOptions=[],e.data.map(t=>{this.eventOptions.push({label:t.title,value:t.report_id})}))}),this.graphApi.getGroupList&&this.graphApi.getGroupList().then(e=>{e.data!==null?(this.groupOptions=[],e.data.map(t=>{this.groupOptions.push({label:t.group_name,value:t.group_id})}),this.isInnerAccount=!0):this.isInnerAccount=!1})},mounted(){},updated(){},beforeUnmount(){},methods:{hanleClickCopy(e){mI(e).then(t=>Qn({message:"复制成功",type:"success"}),t=>Qn.error("复制失败"))},show(){this.dialogVisible=!0},hide(){this.dialogVisible=!1,this.resetForm("ruleForm")},submitForm(e){this.$refs[e].validate(t=>{if(t){const n=this.hostList.some(l=>l===this.origin);let r=null;n?this.origin===this.hostList[1]?r=`${this.hostList[0]}/graph?snapshot_id=${this.snapshot.snapshot_id}&vcode=${this.snapshot.vcode}`:r=`${this.origin}/graph?snapshot_id=${this.snapshot.snapshot_id}&vcode=${this.snapshot.vcode}`:r=`http://test.sec.360.net/graph?snapshot_id=${this.snapshot.snapshot_id}&vcode=${this.snapshot.vcode}`,this.eventUrl=window.location.origin+"/event/"+this.ruleForm.event;const o=this.snapshot.thumb;let a=null;this.groupOptions.map(l=>{l.value===this.ruleForm.group&&(a=l.label)});const A={report_id:this.ruleForm.event,group_id:this.ruleForm.group,content:o,graph_url:r,group_name:a,acl:parseInt(this.ruleForm.radio),head:this.ruleForm.graphDesc};this.graphApi.addGraph(A).then(l=>{l.code==="0"?(mI(this.eventUrl),Qn({message:"分享成功! 分享事件地址已经复制",type:"success",showClose:!0,duration:5e3})):Qn({message:"分享失败",type:"error"})}).catch(()=>{Qn({message:"分享失败",type:"error"})}),this.resetForm(e),this.dialogVisible=!1}else return!1})},resetForm(e){this.$refs[e].resetFields(),this.snapshot.name=""}}},PCe={class:"sharetoEvents"},RCe={class:"lable-header"},HCe={class:"desc"},$Ce={key:0,class:"desc-font"},KCe={key:1,class:"desc-font"},GCe={class:"dialog-footer"};function zCe(e,t,n,r,o,a){const A=Pj,l=Np,c=Up,u=uy,d=Vs,f=cy,h=tA,p=dd;return s.openBlock(),s.createElementBlock("div",PCe,[s.createVNode(p,{title:"分享到安全事件","append-to-body":"","close-on-click-modal":!1,width:"25%",modelValue:o.dialogVisible,"onUpdate:modelValue":t[6]||(t[6]=g=>o.dialogVisible=g),class:"el-dialog-graph"},{footer:s.withCtx(()=>[s.createElementVNode("span",GCe,[s.createVNode(h,{type:"primary",onClick:t[5]||(t[5]=g=>a.submitForm("ruleForm"))},{default:s.withCtx(()=>[s.createTextVNode("确认分享")]),_:1}),s.createVNode(h,{onClick:a.hide},{default:s.withCtx(()=>[s.createTextVNode("关闭")]),_:1},8,["onClick"])])]),default:s.withCtx(()=>[s.createVNode(f,{ref:"ruleForm",model:o.ruleForm,rules:o.rules,"label-width":"100px",class:"demo-ruleForm"},{default:s.withCtx(()=>[s.createElementVNode("div",RCe,[s.createVNode(A,{modelValue:o.ruleForm.radio,"onUpdate:modelValue":t[0]||(t[0]=g=>o.ruleForm.radio=g),class:"el-radio",label:"1",border:"",size:"medium"},{default:s.withCtx(()=>[s.createTextVNode("付费可见")]),_:1},8,["modelValue"]),s.createVNode(A,{modelValue:o.ruleForm.radio,"onUpdate:modelValue":t[1]||(t[1]=g=>o.ruleForm.radio=g),label:"0",border:"",size:"medium"},{default:s.withCtx(()=>[s.createTextVNode("开放")]),_:1},8,["modelValue"]),s.createElementVNode("div",HCe,[o.ruleForm.radio==="0"?(s.openBlock(),s.createElementBlock("span",$Ce,"该Graph内容对所有用户可见。")):(s.openBlock(),s.createElementBlock("span",KCe,"该Graph内容对付费用户可见。"))])]),s.createVNode(u,{label:"安全事件",prop:"event"},{default:s.withCtx(()=>[s.createVNode(c,{modelValue:o.ruleForm.event,"onUpdate:modelValue":t[2]||(t[2]=g=>o.ruleForm.event=g),"popper-append-to-body":!1,filterable:"",placeholder:"请选择",class:"select-item"},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(o.eventOptions,g=>(s.openBlock(),s.createBlock(l,{key:g.value,label:g.label,value:g.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o.isInnerAccount?(s.openBlock(),s.createBlock(u,{key:0,label:"选择团队",prop:"group"},{default:s.withCtx(()=>[s.createVNode(c,{modelValue:o.ruleForm.group,"onUpdate:modelValue":t[3]||(t[3]=g=>o.ruleForm.group=g),class:"select-item",filterable:"",placeholder:"请选择"},{default:s.withCtx(()=>[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(o.groupOptions,g=>(s.openBlock(),s.createBlock(l,{key:g.value,label:g.label,value:g.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):s.createCommentVNode("",!0),s.createVNode(u,{label:"Graph介绍",prop:"graphDesc"},{default:s.withCtx(()=>[s.createVNode(d,{modelValue:o.ruleForm.graphDesc,"onUpdate:modelValue":t[4]||(t[4]=g=>o.ruleForm.graphDesc=g),type:"textarea",rows:2,placeholder:"请输入内容",maxlength:"50",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"])])}const qCe=wt(DCe,[["render",zCe]]),cSe="",{toClipboard:jCe}=u1(),WCe={name:"SnapShotDialog",components:{ShareToSecurityEvents:qCe},mixins:[],props:{graphUrlPath:{type:String,default:"/graph"},snapshot:{type:Object,default:()=>{}},graphApi:{type:Object,default:()=>{}}},data(){return{dialogVisible:!1,origin:window.location.origin,isInnerAccount:!1}},computed:{},watch:{},created(){},mounted(){as(Ft,"sharePermission",e=>{this.isInnerAccount=e})},updated(){},beforeUnmount(){ss(Ft,"sharePermission")},methods:{hanleClickCopy(e){jCe(e).then(t=>Qn({message:"复制成功",type:"success"}),t=>Qn.error("复制失败"))},show(){this.dialogVisible=!0},hide(){this.dialogVisible=!1},shareToEvents(){this.dialogVisible=!1,this.$refs.sharetoevents.show()}}},YCe={class:"snapshotdialog-container"},XCe={class:"dialog-footer"};function JCe(e,t,n,r,o,a){const A=Vs,l=uW,c=tA,u=dd,d=s.resolveComponent("ShareToSecurityEvents");return s.openBlock(),s.createElementBlock("div",YCe,[s.createVNode(u,{title:"复制链接及提取码","append-to-body":"",modelValue:o.dialogVisible,"onUpdate:modelValue":t[2]||(t[2]=f=>o.dialogVisible=f),"close-on-click-modal":!1,class:"el-dialog-graph"},{footer:s.withCtx(()=>[s.createElementVNode("span",XCe,[o.isInnerAccount?(s.openBlock(),s.createBlock(c,{key:0,type:"primary",onClick:t[0]||(t[0]=f=>a.shareToEvents())},{default:s.withCtx(()=>[s.createTextVNode("分享到安全事件")]),_:1})):s.createCommentVNode("",!0),s.createVNode(c,{type:"primary",onClick:t[1]||(t[1]=f=>a.hanleClickCopy(`${o.origin}${n.graphUrlPath}?snapshot_id=${n.snapshot.snapshot_id}&vcode=${n.snapshot.vcode}`))},{default:s.withCtx(()=>[s.createTextVNode("复制链接及提取码")]),_:1}),s.createVNode(c,{onClick:a.hide},{default:s.withCtx(()=>[s.createTextVNode("关闭")]),_:1},8,["onClick"])])]),default:s.withCtx(()=>[s.createVNode(A,{value:`${o.origin}${n.graphUrlPath}?snapshot_id=${n.snapshot.snapshot_id}`},{prepend:s.withCtx(()=>[s.createTextVNode("链接地址:")]),_:1},8,["value"]),s.createVNode(l),s.createVNode(A,{value:n.snapshot.vcode},{prepend:s.withCtx(()=>[s.createTextVNode("提取码:")]),_:1},8,["value"])]),_:1},8,["modelValue"]),s.createVNode(d,{ref:"sharetoevents",snapshot:n.snapshot,"graph-api":n.graphApi},null,8,["snapshot","graph-api"])])}const ZCe=wt(WCe,[["render",JCe]]),uSe="",VCe={name:"ForceGraphByCanvas",components:{Loading:ep,ForceGraphSvgIcon:oA,RenderByCanvas:jc,ButtonList:G1e,SnapShotDialog:ZCe,RightMenu:N0e,Legend:mge},mixins:[Qo],provide:function(){return{history:this.history,hasLevel:this.hasLevel,levelList:this.levelList,levelMap:this.levelMap,requestGraphData:this.requestGraphData,moduleDetail:()=>this.moduleDetail}},props:{showPoint:{type:Boolean,default:!0},isRenderStartNode:{type:Boolean,default:!0},isDefaultSelectStartNode:{type:Boolean,default:!0},isShowRightMenu:{type:Boolean,default:!0},hideButtonList:{type:Array,default:()=>[]},customContextMenuEvent:{type:Function},handleSelectNodeEvent:{type:Function},handleDataLoaded:{type:Function},graphApi:{type:Object,default:()=>{}},graphUrlPath:{type:String,default:"/graph"},snapshot_id:{type:String,default:""},vcode:{type:String,default:""},module:{type:String,default:""},startNode:{type:Array,default:()=>[]},enterStartNode:{type:Boolean,default:!1},hasLevel:{type:Boolean,default:!0},levelList:{type:Array,default:()=>[{level:"未知",levelName:"未知",className:"unknown",iconType:"",normalColor:"#666",darkColor:"#c6cdd5",dangerNumber:0},{level:"危险",levelName:"危险",className:"warn",iconType:"",normalColor:"#CF1322",darkColor:"#fb2400",dangerNumber:1},{level:"普通",levelName:"普通",className:"normal",iconType:"",normalColor:"#007EE2",darkColor:"#0094ff",dangerNumber:-1},{level:"安全",levelName:"安全",className:"safe",iconType:"",normalColor:"#009A75",darkColor:"#00da90",dangerNumber:-2}]},darkMode:{type:Boolean,default:!1},title:{type:String,default:""},isShowNodeMessage:{type:Boolean,default:!0},nodeTypeScale:{type:Number},singlesNodeMaxNum:{type:Number,default:100}},emits:["sharePermission","custom-contextmenu-click","handle-select-node","handle-data-loaded","outdate"],data(){return{history:new Vue({isShowNodeMessage:this.isShowNodeMessage}),isLoading:!1,bigLoading:!1,loadingInfo:"数据加载中",moduleDetail:{},contextMenuNode:{},contextMenuId:0,isDragging:!1,isCtrlDown:!1,selection:[],detailLoaded:{},snapshot:{},inited:!1,outdateTime:0,fullScreen:!1,generateUniqueIndexNow:this.generateUniqueIndex(),screenHeight:0,margin:"0",requestGraphData:!0,nodeTypeList:[]}},computed:{topFrame(){return window.top.location===window.location},levelMap(){const e={};return this.levelList.forEach(t=>{e[t.level]=t}),e}},watch:{startNode:{handler:function(e,t){this.moduleDetail.module&&this.searchStartNode()},immediate:!0,deep:!0},screenHeight:{deep:!0,handler:function(){this.margin=this.changeMargin()}}},created(){return dt(this,null,function*(){if(this.snapshot_id)this.isLoading=!0,this.graphApi.getSnapshotDetail({snapshot_id:this.snapshot_id,vcode:this.vcode}).then(e=>{this.moduleDetail=e.data.config,this.history.initFromSnapshot(JSON.parse(e.data.data)),setTimeout(()=>{this.$refs.render.updateNodeStyle(),this.centerAndZoom(.8,!1)},1e3)}).catch(e=>{console.log(e,"e")}).finally(e=>{this.isLoading=!1});else if(this.module)this.initGraph();else{Qn.error("请传入模块名称");return}this.graphApi.userInfo&&this.graphApi.userInfo().then(e=>{e.data!==null&&(Ze(Ft,"sharePermission",e.data.access.graph_share),this.requestGraphData=e.data.access.request_graph_data)}).catch(e=>{this.onOutdate(e.res)})})},unmounted(){window.onresize=null},mounted(){return dt(this,null,function*(){window.onresize=()=>{this.fullScreen=!!document.fullscreenElement,this.screenHeight=document.body.clientHeight},this.margin=this.changeMargin(),as(Ft,"emitDataLoaded",()=>{console.log("emitDataLoaded"),this.emitDataLoaded()})})},methods:{handleCustomContextMenuClick(e){this.customContextMenuEvent&&typeof this.customContextMenuEvent=="function"?this.customContextMenuEvent(s.toRaw(e)):Ze(this,"custom-contextmenu-click",s.toRaw(e))},handleSelectNode(e){this.handleSelectNodeEvent&&typeof this.handleSelectNodeEvent=="function"?this.handleSelectNodeEvent(s.toRaw(e),s.toRaw(this.history.dataNow)):Ze(this,"handle-select-node",s.toRaw(e))},searchStartNode(){this.startNode.length>0&&!this.inited&&this.startNode.map(e=>{const t={type:e.type,id:e.id,startNode:!0};this.inited=!0,this.moduleDetail.nodes.findIndex(n=>e.type===n.name)>=0?this.addNewNodesAndExpand(t):(Qn({message:"无相关数据",type:"warning"}),this.emitDataLoaded())})},initGraph(){return dt(this,null,function*(){var e;(e=this.graphApi)==null||e.getGraphConfig({name:this.module}).then(t=>{Bs("getGraphConfig"),this.moduleDetail=t.data,this.searchStartNode(),!this.inited&&this.enterStartNode&&this.$refs.buttonList.addNode("search")}).catch(t=>{this.onOutdate(t.res),this.emitDataLoaded(),console.log("e",t)})})},addNewNodesAndExpand(e){this.graphApi.getNodesDetail({api:this.moduleDetail.node_info[e.type],node_id:[e.id],nodeType:e.type,moduleDetail:this.moduleDetail}).then(t=>{var o,a,A;Bs(`getNodesDetail${this.moduleDetail.node_info[e.type]}`);let n={id:(o=t.data.records[0])==null?void 0:o.info.id,type:(a=t.data.records[0])==null?void 0:a.info.type,startNode:!0,detail:t.data.records[0],group:e.id,name:((A=t.data.records[0])==null?void 0:A.info.name)||e.id};n=Ca(n,this.moduleDetail.plugs);const r={addOne:{nodes:[n],links:[]}};this.isRenderStartNode&&(this.history.pushState(r),this.history.updateData(t.data.records,[e.id]),setTimeout(()=>{this.isDefaultSelectStartNode&&(this.handleTableSelect([e.id]),setTimeout(()=>{this.selection.length&&this.handleSelectNode({isSelected:!0,_node:this.selection[0]})},0))},500)),this.expandNodes(n)}).catch(t=>{console.log(t,"e"),this.emitDataLoaded(),this.onOutdate(t.res),Qn({message:"无该节点信息",type:"warning"})})},onAction(e){this.history.pushState(e)},onOutdate(e){(e==null?void 0:e.code)==="AC100001"&&this.outdateTime<1&&(this.outdateTime++,Ze(this,"outdate"))},expandNodes(e,t){return dt(this,null,function*(){if(!(e!=null&&e.type))return;const n=this.moduleDetail.plugs[e==null?void 0:e.type];let r=[];t?(r=Array.isArray(t)?[...t]:[t],e.apis===void 0&&(e.apis=[]),e.apis.push(...r)):(e.expand=1,e.apis=[],e.apis.push({namec:"拓线全部",value:0,name:"",flagSelect:!0}),n==null||n.map(u=>{u.children?r.push(...u.children):r.push(u)}));const o=r.map(u=>this.graphApi.getGraphRequest({api:u.name,node_id:e.id,origin:e.origin,nodeType:e.type,moduleDetail:this.moduleDetail}).then(d=>Promise.resolve(Te(xe({},d),{api:u.name,apiC:u.relay_name,icon:u.icon,note_name:u.note_name,canLoop:u.canloop}))).catch(d=>Promise.resolve(d)));this.isLoading=!0;let a;yield Promise.all(o).then(u=>{if(u.some(f=>{var h;return((h=f.res)==null?void 0:h.code)==="AC100001"})){this.onOutdate({code:"AC100001"});return}a=u.filter(f=>f.code==="0"||f.code===0)}).catch(u=>{console.log(u,"e")}).finally(u=>{this.isLoading=!1}),Bs("resultArray");const A=[],l=[];if(a&&a.forEach(u=>{if(e.getData[u.api]=!0,this.history.dataNow.nodes.find(m=>m.id===e.id).getData[u.api]=!0,!u.data)return;let d;const f=u.data.nodes.map(m=>(m.group=e.id+"-"+u.api,m.groupC=u.apiC,m=Ca(m,this.moduleDetail.plugs),m)),h=e.id+"-"+u.api;let p={id:h,name:u.apiC,note_name:u.note_name,type:"nodeType",icon:u.icon};const g={source:e.id,target:h};if(p=Ca(p,this.moduleDetail.plugs),this.nodeTypeList.push(u.icon||"node_type"),f.length>0&&this.isRenderStartNode){if(d=u.data.links.map(m=>{let y;if(m.source===e.id){const w=this.history.dataNow.nodes.filter(x=>x.id===m.target);if(w.length>0&&(y=this.findGrandSonNodeIds(w[0]).indexOf(m.source)>=0),!u.api.canLoop&&y)return;m.source=h}else m.target===e.id&&(m.target=h);return m}).filter(m=>m),d.length===0)return;d.push(g)}else d=u.data.links;if(f.length>=this.singlesNodeMaxNum){let m=null,y=null;const w=String(Math.floor(new Date().getTime()));m={id:w,list:f,type:"aggregation",name:"聚合",relationId:p.id},m=Ca(m,this.moduleDetail.plugs),y={source:p.id,target:w,uniqueIndex:this.generateUniqueIndexNow()};const x={addOne:{nodes:[p,m],links:[g,y]},type:"aggregation"};this.history.pushState(x),this.getNodeDetail(m.list,m.id)}else d.length&&f.push(p),A.push(...f||[]),l.push(...d||[])}),!this.isRenderStartNode){const u={},d=[];l.forEach((f,h)=>{const p=f.source+"-"+f.name;if(u[p])for(let g=d.length-1;g>-1;g--){const{source:m,target:y,name:w}=d[g];m===f.source&&w===f.name?f.source=p:y===f.target&&w===f.name&&(f.target=p),f.source===f.target&&l.splice(h,1)}else{let g={id:p,name:f.name,type:"nodeType",originSource:f.source,originTarget:f.target,icon:f.feature.icon};d.push({source:f.source,target:f.target,name:f.name}),g=Ca(g,this.moduleDetail.plugs),u[p]=g,f.source=p}});for(const f in u)A.push(u[f]),l.push({source:u[f].originSource,target:f})}l.map(u=>{u.uniqueIndex=this.generateUniqueIndexNow()});const c={addOne:{nodes:A,links:l}};(A.length>0||l.length>0)&&this.history.pushState(c),this.history.length===2&&setTimeout(()=>{this.centerAndZoom(.8,!1)},1e3),this.getNodeDetail(A)})},findGrandSonNodeIds(e){return this.history.dataNow.nodes.filter(r=>{var o;return((o=e.children)==null?void 0:o.indexOf(r.id))>=0}).reduce((r,o)=>(r.push(...o.children||[]),r),[])||[]},centerAndZoom(e,t){var n;(n=this.$refs.render)==null||n.centerAndZoom(e,t)},generateUniqueIndex(){let e=0;return function(){return e++}},reset(){this.$refs.render.reset()},getNodeDetail(e,t){const n=e.filter(a=>!a.detail&&a.noDetail!==!0&&!this.detailLoaded[a.id]&&a.type!=="aggregation"&&a.type!=="nodeType"),r={};n.map(a=>{r[a.type]?r[a.type].push(a):r[a.type]=[a]});let o=Object.keys(r).length;for(const a in r){const A=r[a],l={};A.map(c=>{c.origin&&(l[c.id]=c.origin)}),this.graphApi.getNodesDetail({api:this.moduleDetail.node_info[r[a][0].type],node_id:r[a].map(c=>c.id),origin:l,nodeType:r[a][0].type,moduleDetail:this.moduleDetail}).then(c=>{const u=c.data.records;t?this.history.updateAggregationDetail(u,r[a].map(d=>d.id),t):this.history.updateData(u,r[a].map(d=>d.id))}).catch(c=>{this.onOutdate(c.res)}).finally(()=>{o=o-1,o===0&&this.emitDataLoaded()})}Object.keys(r).length||this.emitDataLoaded()},emitDataLoaded(){this.handleDataLoaded&&typeof this.handleDataLoaded=="function"?this.handleDataLoaded({dataNow:s.toRaw(this.history.dataNow)}):Ze(this,"handle-data-loaded",{dataNow:s.toRaw(this.history.dataNow)})},addNode({node:e,type:t,connectNode:n}){if(this.history.dataNow.nodes.findIndex(a=>a.id===e.id)>-1){Qn({type:"warning",message:"该节点已存在,添加失败"});return}let o;if(t==="diy"&&e.type==="nodeType"){let a=Te(xe({},e),{detail:null,diy:!0,group:e.id});a=Ca(a,this.moduleDetail.plugs);const A=n?{source:n.id,target:e.id,uniqueIndex:this.generateUniqueIndexNow()}:null;o={addOne:{nodes:[a],links:A?[A]:[]}},this.history.pushState(o)}else t==="diy"?this.graphApi.getNodesDetail({api:this.moduleDetail.node_info[e.type],node_id:[e.id],nodeType:e.type,moduleDetail:this.moduleDetail}).then(a=>{var c,u,d;let A={id:(c=a.data.records[0])==null?void 0:c.info.id,type:(u=a.data.records[0])==null?void 0:u.info.type,detail:a.data.records[0],group:e.id,name:((d=a.data.records[0])==null?void 0:d.info.name)||e.id};A=Ca(A,this.moduleDetail.plugs);const l=n?{source:n.id,target:e.id,uniqueIndex:this.generateUniqueIndexNow()}:null;o={addOne:{nodes:[A],links:l?[l]:[]}},this.history.pushState(o)}).catch(a=>{this.onOutdate(a.res);let A=Te(xe({},e),{detail:null,diy:!0,group:e.id});A=Ca(A,this.moduleDetail.plugs);const l=n?{source:n.id,target:e.id,uniqueIndex:this.generateUniqueIndexNow()}:null;o={addOne:{nodes:[A],links:l?[l]:[]}},this.history.pushState(o)}).finally(a=>{setTimeout(()=>{},500)}):this.addNewNodesAndExpand(e)},addLink(e,t){if(!([e,t].filter(a=>a.type==="nodeType").length===1))return;const r={source:e.id,target:t.id,uniqueIndex:this.generateUniqueIndexNow(),diy:!0};let o=!1;if(this.history.dataNow.links.map(a=>{a.source.id===e.id&&a.target.id===t.id&&(o=!0)}),!o){const a={addOne:{links:[r]}};this.onAction(a)}},expandSelectedNodes(e){e.map(t=>{this.expandNodes(t)})},handleTableSelect(e=[]){this.$refs.render.handleTableSelect(e)},updateSelection(){this.selection=this.$refs.render.selection,this.$refs.render.selectEdgesByNode(this.selection),this.$refs.render.showKeyWay(this.selection),this.$refs.render.updateNodeStyle()},aggregationNodes(e,t){if(e.length===0)return;const n=[];for(const A in this.history.dataNow.nodes)e.findIndex((c,u,d)=>c===this.history.dataNow.nodes[A].id)>=0&&n.push(JSON.parse(JSON.stringify(this.history.dataNow.nodes[A])));const r=String(Math.floor(new Date().getTime()));let o={id:r,list:n,type:"aggregation",name:"聚合",relationId:t.id};o=Ca(o,this.moduleDetail.plugs);const a={addOne:{nodes:[o],links:[{source:t.id,target:r,uniqueIndex:this.generateUniqueIndexNow()}]},deleteOne:{nodes:n,links:n.map(A=>({source:t.id,target:A.id}))},type:"aggregation"};this.history.pushState(a),this.emitDataLoaded()},releaseAggregation(e){let t;if(e.type==="aggregation"&&(t=e),this.history.dataNow.links.map(n=>{n.source.id===e.id&&n.target.type==="aggregation"&&(t=t||n.target,n.source)}),t){const n={deleteOne:{nodes:[t],links:[{source:t.relationId,target:t.id}]},addOne:{nodes:t.list,links:t.list.map(r=>({source:t.relationId,target:r.id}))},type:"aggregation"};for(const r in this.history.dataNow.nodes)t.list.findIndex((a,A,l)=>a===this.history.dataNow.nodes[r].id)>=0&&(this.history.dataNow.nodes[r].aggregation=!1);this.history.pushState(n),this.emitDataLoaded()}},saveSnapshot(){return dt(this,null,function*(){o9.prompt(null,"添加快照",{confirmButtonText:"确定",cancelButtonText:"取消",inputPattern:/^.{1,20}$/,inputPlaceholder:"请输入20字以内快照名称",inputErrorMessage:"请输入20字以内快照名称"}).then(t=>dt(this,[t],function*({value:e}){this.bigLoading=!0,setTimeout(()=>dt(this,null,function*(){const n=yield this.$refs.buttonList.svgToBlob(),r=new FormData;r.append("data",this.history.toString()),r.append("name",e),r.append("thumb",n),this.graphApi.addSnapshot1(r).then(o=>{this.snapshot=o.data,this.snapshot.name=e,this.$refs.snapshot.show()}).catch(o=>{this.onOutdate(o.res)}).finally(o=>{this.bigLoading=!1})}),100)})).catch(()=>{Qn({type:"info",message:"取消输入"})})})},autoDisplay(){this.$refs.render.autoDisplay()},deleteNodes(e=this.selection){const t={deleteOne:{nodes:e}};this.history.pushState(t),this.emitDataLoaded();const n=e.map(r=>r.id);this.$refs.render.selection=this.selection.filter(r=>!n.includes(r.id)),setTimeout(()=>{this.updateSelection()},300)},historyForward(){this.history.forward(),setTimeout(()=>{this.updateSelection()},100)},historyBack(){this.history.back(),setTimeout(()=>{this.updateSelection()},100)},toggleFullScreen(){wr({cId:"toggleFullScreen",c:"切换全屏"}),document.fullscreenElement?document.exitFullscreen&&document.exitFullscreen():document.getElementsByTagName("body")[0].requestFullscreen()},zoomView(e="in"){e==="in"?(wr({cId:"zoomIn",c:"zoomIn"}),this.$refs.render.zoomIn()):(wr({cId:"zoomOut",c:"zoomOut"}),this.$refs.render.zoomOut())},fitScreen(){var e;wr({cId:"centerAndZoom",c:"centerAndZoom"}),(e=this.$refs.render)==null||e.centerAndZoom()},changeMargin(){let e=0;const t=document.body.clientHeight;return e=Math.floor(((t-50)/20-22)/2),e>8?"8px 0":e+"px 0"},handleHighLight(e,t,n){this.$refs.render.setHighlightRule({type:e,prop:t,value:n})},handleCustomSelect(e,t,n){this.$refs.render.handleCustomSelect({type:e,prop:t,value:n})},fixAllNodes(e){this.$refs.render.fixAllNodes(e)},toggleLayout(e){this.$refs.render.toggleLayout(e)},importCsvData(e){for(const t in e.nodes)delete e.nodes[t].vx,delete e.nodes[t].vy,delete e.nodes[t].x,delete e.nodes[t].y;this.history.dataNow=Object.assign({},e)}}},e9e={class:"d3-container"},t9e=["innerHTML"],n9e=s.createElementVNode("div",{class:"top-line-bg"},null,-1),r9e={class:"top-item"},i9e={class:"top-line"},o9e={key:1,class:"select-num"},a9e={class:"highlight"},s9e={key:2,class:"loading-container"},A9e={class:"corner-button-box"};function l9e(e,t,n,r,o,a){const A=s.resolveComponent("ButtonList"),l=s.resolveComponent("RenderByCanvas"),c=s.resolveComponent("Loading"),u=Ht,d=s.resolveComponent("Legend"),f=s.resolveComponent("force-graph-svg-icon"),h=Ei,p=s.resolveComponent("RightMenu"),g=s.resolveComponent("SnapShotDialog"),m=jX;return s.withDirectives((s.openBlock(),s.createElementBlock("div",e9e,[s.createElementVNode("div",{class:s.normalizeClass(["graph-box",{"hide-right-menu":!n.isShowRightMenu}])},[n.title?(s.openBlock(),s.createElementBlock("div",{key:0,class:"safe-force-title",innerHTML:n.title},null,8,t9e)):s.createCommentVNode("",!0),n9e,s.createElementVNode("div",r9e,[s.createElementVNode("div",i9e,[s.createVNode(A,{ref:"buttonList","hide-button-list":n.hideButtonList,selection:o.selection,history:o.history,"module-detail":o.moduleDetail,"request-graph-data":o.requestGraphData,onSaveSnapshot:a.saveSnapshot,onAddNodes:a.addNode,onAutoDisplay:a.autoDisplay,onDeleteNodes:a.deleteNodes,onFixNodes:a.fixAllNodes,onToggleLayout:a.toggleLayout,onImportCsvData:a.importCsvData},null,8,["hide-button-list","selection","history","module-detail","request-graph-data","onSaveSnapshot","onAddNodes","onAutoDisplay","onDeleteNodes","onFixNodes","onToggleLayout","onImportCsvData"])])]),s.createVNode(l,{ref:"render","module-detail":o.moduleDetail,history:o.history,"level-list":n.levelList,selection:o.selection,data:o.history.dataNow,"request-graph-data":o.requestGraphData,"dark-mode":n.darkMode,"node-type-scale":n.nodeTypeScale,"node-type-list":o.nodeTypeList,onUpdateSelection:a.updateSelection,onOnaction:a.onAction,onHandleSelectNode:a.handleSelectNode,onCustomContextmenuClick:a.handleCustomContextMenuClick},null,8,["module-detail","history","level-list","selection","data","request-graph-data","dark-mode","node-type-scale","node-type-list","onUpdateSelection","onOnaction","onHandleSelectNode","onCustomContextmenuClick"]),o.selection.length>0?(s.openBlock(),s.createElementBlock("p",o9e,[s.createTextVNode(" 已选择"),s.createElementVNode("span",a9e,s.toDisplayString(o.selection.length),1),s.createTextVNode("项 ")])):s.createCommentVNode("",!0),o.isLoading?(s.openBlock(),s.createElementBlock("div",s9e,[s.createElementVNode("span",null,s.toDisplayString(o.loadingInfo),1),s.createVNode(u,{class:"is-loading"},{default:s.withCtx(()=>[s.createVNode(c)]),_:1})])):s.createCommentVNode("",!0),s.createVNode(d,{"show-point":n.showPoint,history:o.history,"module-detail":o.moduleDetail,"has-level":n.hasLevel,margin:o.margin,onHighLight:a.handleHighLight},null,8,["show-point","history","module-detail","has-level","margin","onHighLight"]),s.createElementVNode("div",A9e,[!o.fullScreen&&a.topFrame?(s.openBlock(),s.createBlock(h,{key:0,content:"进入全屏",placement:"left","popper-class":"el-tooltip-gray"},{default:s.withCtx(()=>[s.createVNode(f,{"icon-class":e.imgPath["./public/d3svg1/button18/full_button.svg"],alt:"",class:"corner-button",onClick:a.toggleFullScreen},null,8,["icon-class","onClick"])]),_:1})):s.createCommentVNode("",!0),o.fullScreen&&a.topFrame?(s.openBlock(),s.createBlock(h,{key:1,content:"退出全屏",placement:"left","popper-class":"el-tooltip-gray"},{default:s.withCtx(()=>[s.createVNode(f,{"icon-class":e.imgPath["./public/d3svg1/button18/un_full_button.svg"],alt:"",class:"corner-button",onClick:a.toggleFullScreen},null,8,["icon-class","onClick"])]),_:1})):s.createCommentVNode("",!0),s.createVNode(h,{content:"适应屏幕",placement:"left","popper-class":"el-tooltip-gray"},{default:s.withCtx(()=>[s.createVNode(f,{"icon-class":e.imgPath["./public/d3svg1/button18/fit_button.svg"],alt:"",class:"corner-button",onClick:a.fitScreen},null,8,["icon-class","onClick"])]),_:1}),s.createVNode(h,{content:"放大",placement:"left","popper-class":"el-tooltip-gray"},{default:s.withCtx(()=>[s.createVNode(f,{"icon-class":e.imgPath["./public/d3svg1/button18/zoom_in_button.svg"],alt:"",class:"corner-button",onClick:t[0]||(t[0]=y=>a.zoomView("in"))},null,8,["icon-class"])]),_:1}),s.createVNode(h,{content:"缩小",placement:"left","popper-class":"el-tooltip-gray"},{default:s.withCtx(()=>[s.createVNode(f,{"icon-class":e.imgPath["./public/d3svg1/button18/zoom_out_button.svg"],alt:"",class:"corner-button",onClick:t[1]||(t[1]=y=>a.zoomView("out"))},null,8,["icon-class"])]),_:1})])],2),n.isShowRightMenu?(s.openBlock(),s.createBlock(p,{key:0,"graph-data":o.history.dataNow,"selected-nodes":o.selection,"request-graph-data":o.requestGraphData,onChangeBox:a.handleTableSelect},null,8,["graph-data","selected-nodes","request-graph-data","onChangeBox"])):s.createCommentVNode("",!0),s.createVNode(g,{ref:"snapshot",snapshot:o.snapshot,"graph-api":n.graphApi,"graph-url-path":n.graphUrlPath},null,8,["snapshot","graph-api","graph-url-path"])])),[[m,o.bigLoading]])}const Of=wt(VCe,[["render",l9e]]);Of.install=function(e){e.component(Of.name,Of)},jc.install=function(e){e.component(jc.name,jc)};function vI(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Df(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?vI(Object(n),!0).forEach(function(r){Qa(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vI(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Ao(){Ao=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=Object.defineProperty||function(D,M,L){D[M]=L.value},o=typeof Symbol=="function"?Symbol:{},a=o.iterator||"@@iterator",A=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function c(D,M,L){return Object.defineProperty(D,M,{value:L,enumerable:!0,configurable:!0,writable:!0}),D[M]}try{c({},"")}catch(D){c=function(M,L,q){return M[L]=q}}function u(D,M,L,q){var G=M&&M.prototype instanceof h?M:h,J=Object.create(G.prototype),X=new z(q||[]);return r(J,"_invoke",{value:k(D,L,X)}),J}function d(D,M,L){try{return{type:"normal",arg:D.call(M,L)}}catch(q){return{type:"throw",arg:q}}}e.wrap=u;var f={};function h(){}function p(){}function g(){}var m={};c(m,a,function(){return this});var y=Object.getPrototypeOf,w=y&&y(y(O([])));w&&w!==t&&n.call(w,a)&&(m=w);var x=g.prototype=h.prototype=Object.create(m);function B(D){["next","throw","return"].forEach(function(M){c(D,M,function(L){return this._invoke(M,L)})})}function E(D,M){function L(G,J,X,W){var K=d(D[G],D,J);if(K.type!=="throw"){var ne=K.arg,ie=ne.value;return ie&&typeof ie=="object"&&n.call(ie,"__await")?M.resolve(ie.__await).then(function(le){L("next",le,X,W)},function(le){L("throw",le,X,W)}):M.resolve(ie).then(function(le){ne.value=le,X(ne)},function(le){return L("throw",le,X,W)})}W(K.arg)}var q;r(this,"_invoke",{value:function(G,J){function X(){return new M(function(W,K){L(G,J,W,K)})}return q=q?q.then(X,X):X()}})}function k(D,M,L){var q="suspendedStart";return function(G,J){if(q==="executing")throw new Error("Generator is already running");if(q==="completed"){if(G==="throw")throw J;return R()}for(L.method=G,L.arg=J;;){var X=L.delegate;if(X){var W=U(X,L);if(W){if(W===f)continue;return W}}if(L.method==="next")L.sent=L._sent=L.arg;else if(L.method==="throw"){if(q==="suspendedStart")throw q="completed",L.arg;L.dispatchException(L.arg)}else L.method==="return"&&L.abrupt("return",L.arg);q="executing";var K=d(D,M,L);if(K.type==="normal"){if(q=L.done?"completed":"suspendedYield",K.arg===f)continue;return{value:K.arg,done:L.done}}K.type==="throw"&&(q="completed",L.method="throw",L.arg=K.arg)}}}function U(D,M){var L=M.method,q=D.iterator[L];if(q===void 0)return M.delegate=null,L==="throw"&&D.iterator.return&&(M.method="return",M.arg=void 0,U(D,M),M.method==="throw")||L!=="return"&&(M.method="throw",M.arg=new TypeError("The iterator does not provide a '"+L+"' method")),f;var G=d(q,D.iterator,M.arg);if(G.type==="throw")return M.method="throw",M.arg=G.arg,M.delegate=null,f;var J=G.arg;return J?J.done?(M[D.resultName]=J.value,M.next=D.nextLoc,M.method!=="return"&&(M.method="next",M.arg=void 0),M.delegate=null,f):J:(M.method="throw",M.arg=new TypeError("iterator result is not an object"),M.delegate=null,f)}function T(D){var M={tryLoc:D[0]};1 in D&&(M.catchLoc=D[1]),2 in D&&(M.finallyLoc=D[2],M.afterLoc=D[3]),this.tryEntries.push(M)}function Q(D){var M=D.completion||{};M.type="normal",delete M.arg,D.completion=M}function z(D){this.tryEntries=[{tryLoc:"root"}],D.forEach(T,this),this.reset(!0)}function O(D){if(D){var M=D[a];if(M)return M.call(D);if(typeof D.next=="function")return D;if(!isNaN(D.length)){var L=-1,q=function G(){for(;++L<D.length;)if(n.call(D,L))return G.value=D[L],G.done=!1,G;return G.value=void 0,G.done=!0,G};return q.next=q}}return{next:R}}function R(){return{value:void 0,done:!0}}return p.prototype=g,r(x,"constructor",{value:g,configurable:!0}),r(g,"constructor",{value:p,configurable:!0}),p.displayName=c(g,l,"GeneratorFunction"),e.isGeneratorFunction=function(D){var M=typeof D=="function"&&D.constructor;return!!M&&(M===p||(M.displayName||M.name)==="GeneratorFunction")},e.mark=function(D){return Object.setPrototypeOf?Object.setPrototypeOf(D,g):(D.__proto__=g,c(D,l,"GeneratorFunction")),D.prototype=Object.create(x),D},e.awrap=function(D){return{__await:D}},B(E.prototype),c(E.prototype,A,function(){return this}),e.AsyncIterator=E,e.async=function(D,M,L,q,G){G===void 0&&(G=Promise);var J=new E(u(D,M,L,q),G);return e.isGeneratorFunction(M)?J:J.next().then(function(X){return X.done?X.value:J.next()})},B(x),c(x,l,"Generator"),c(x,a,function(){return this}),c(x,"toString",function(){return"[object Generator]"}),e.keys=function(D){var M=Object(D),L=[];for(var q in M)L.push(q);return L.reverse(),function G(){for(;L.length;){var J=L.pop();if(J in M)return G.value=J,G.done=!1,G}return G.done=!0,G}},e.values=O,z.prototype={constructor:z,reset:function(D){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(Q),!D)for(var M in this)M.charAt(0)==="t"&&n.call(this,M)&&!isNaN(+M.slice(1))&&(this[M]=void 0)},stop:function(){this.done=!0;var D=this.tryEntries[0].completion;if(D.type==="throw")throw D.arg;return this.rval},dispatchException:function(D){if(this.done)throw D;var M=this;function L(K,ne){return J.type="throw",J.arg=D,M.next=K,ne&&(M.method="next",M.arg=void 0),!!ne}for(var q=this.tryEntries.length-1;q>=0;--q){var G=this.tryEntries[q],J=G.completion;if(G.tryLoc==="root")return L("end");if(G.tryLoc<=this.prev){var X=n.call(G,"catchLoc"),W=n.call(G,"finallyLoc");if(X&&W){if(this.prev<G.catchLoc)return L(G.catchLoc,!0);if(this.prev<G.finallyLoc)return L(G.finallyLoc)}else if(X){if(this.prev<G.catchLoc)return L(G.catchLoc,!0)}else{if(!W)throw new Error("try statement without catch or finally");if(this.prev<G.finallyLoc)return L(G.finallyLoc)}}}},abrupt:function(D,M){for(var L=this.tryEntries.length-1;L>=0;--L){var q=this.tryEntries[L];if(q.tryLoc<=this.prev&&n.call(q,"finallyLoc")&&this.prev<q.finallyLoc){var G=q;break}}G&&(D==="break"||D==="continue")&&G.tryLoc<=M&&M<=G.finallyLoc&&(G=null);var J=G?G.completion:{};return J.type=D,J.arg=M,G?(this.method="next",this.next=G.finallyLoc,f):this.complete(J)},complete:function(D,M){if(D.type==="throw")throw D.arg;return D.type==="break"||D.type==="continue"?this.next=D.arg:D.type==="return"?(this.rval=this.arg=D.arg,this.method="return",this.next="end"):D.type==="normal"&&M&&(this.next=M),f},finish:function(D){for(var M=this.tryEntries.length-1;M>=0;--M){var L=this.tryEntries[M];if(L.finallyLoc===D)return this.complete(L.completion,L.afterLoc),Q(L),f}},catch:function(D){for(var M=this.tryEntries.length-1;M>=0;--M){var L=this.tryEntries[M];if(L.tryLoc===D){var q=L.completion;if(q.type==="throw"){var G=q.arg;Q(L)}return G}}throw new Error("illegal catch attempt")},delegateYield:function(D,M,L){return this.delegate={iterator:O(D),resultName:M,nextLoc:L},this.method==="next"&&(this.arg=void 0),f}},e}function Un(e){return Un=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Un(e)}function yI(e,t,n,r,o,a,A){try{var l=e[a](A),c=l.value}catch(u){return void n(u)}l.done?t(c):Promise.resolve(c).then(r,o)}function Pf(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function A(c){yI(a,r,o,A,l,"next",c)}function l(c){yI(a,r,o,A,l,"throw",c)}A(void 0)})}}function Nm(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function wI(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,CI(r.key),r)}}function Tm(e,t,n){return t&&wI(e.prototype,t),n&&wI(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Qa(e,t,n){return(t=CI(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Im(e){return Im=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Im(e)}function E_(e,t){return E_=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},E_(e,t)}function Rf(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function bI(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Rf(e)}function c9e(e){var t=function(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(n){return!1}}();return function(){var n,r=Im(e);if(t){var o=Im(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return bI(this,n)}}function u9e(e,t){return function(n){if(Array.isArray(n))return n}(e)||function(n,r){var o=n==null?null:typeof Symbol!="undefined"&&n[Symbol.iterator]||n["@@iterator"];if(o!=null){var a,A,l,c,u=[],d=!0,f=!1;try{if(l=(o=o.call(n)).next,r===0){if(Object(o)!==o)return;d=!1}else for(;!(d=(a=l.call(o)).done)&&(u.push(a.value),u.length!==r);d=!0);}catch(h){f=!0,A=h}finally{try{if(!d&&o.return!=null&&(c=o.return(),Object(c)!==c))return}finally{if(f)throw A}}return u}}(e,t)||_I(e,t)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
172
172
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function _I(e,t){if(e){if(typeof e=="string")return BI(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?BI(e,t):void 0}}function BI(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function S_(e,t){var n=typeof Symbol!="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=_I(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(c){throw c},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
173
173
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,A=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var c=n.next();return A=c.done,c},e:function(c){l=!0,a=c},f:function(){try{A||n.return==null||n.return()}finally{if(l)throw a}}}}function CI(e){var t=function(n,r){if(typeof n!="object"||n===null)return n;var o=n[Symbol.toPrimitive];if(o!==void 0){var a=o.call(n,r||"default");if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(n)}(e,"string");return typeof t=="symbol"?t:String(t)}function Qm(e,t,n){return SI(e,t),xI(n,"get"),function(r,o){return o.get?o.get.call(r):o.value}(e,n)}function EI(e,t,n,r){return SI(e,t),xI(n,"set"),function(o,a,A){if(a.set)a.set.call(o,A);else{if(!a.writable)throw new TypeError("attempted to set read only private field");a.value=A}}(e,n,r),r}function SI(e,t){if(e!==t)throw new TypeError("Private static access of wrong provenance")}function xI(e,t){if(e===void 0)throw new TypeError("attempted to "+t+" private static field before its declaration")}function x_(){x_=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=Object.defineProperty||function(D,M,L){D[M]=L.value},o=typeof Symbol=="function"?Symbol:{},a=o.iterator||"@@iterator",A=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function c(D,M,L){return Object.defineProperty(D,M,{value:L,enumerable:!0,configurable:!0,writable:!0}),D[M]}try{c({},"")}catch(D){c=function(M,L,q){return M[L]=q}}function u(D,M,L,q){var G=M&&M.prototype instanceof h?M:h,J=Object.create(G.prototype),X=new z(q||[]);return r(J,"_invoke",{value:k(D,L,X)}),J}function d(D,M,L){try{return{type:"normal",arg:D.call(M,L)}}catch(q){return{type:"throw",arg:q}}}e.wrap=u;var f={};function h(){}function p(){}function g(){}var m={};c(m,a,function(){return this});var y=Object.getPrototypeOf,w=y&&y(y(O([])));w&&w!==t&&n.call(w,a)&&(m=w);var x=g.prototype=h.prototype=Object.create(m);function B(D){["next","throw","return"].forEach(function(M){c(D,M,function(L){return this._invoke(M,L)})})}function E(D,M){function L(G,J,X,W){var K=d(D[G],D,J);if(K.type!=="throw"){var ne=K.arg,ie=ne.value;return ie&&Un(ie)=="object"&&n.call(ie,"__await")?M.resolve(ie.__await).then(function(le){L("next",le,X,W)},function(le){L("throw",le,X,W)}):M.resolve(ie).then(function(le){ne.value=le,X(ne)},function(le){return L("throw",le,X,W)})}W(K.arg)}var q;r(this,"_invoke",{value:function(G,J){function X(){return new M(function(W,K){L(G,J,W,K)})}return q=q?q.then(X,X):X()}})}function k(D,M,L){var q="suspendedStart";return function(G,J){if(q==="executing")throw new Error("Generator is already running");if(q==="completed"){if(G==="throw")throw J;return{value:void 0,done:!0}}for(L.method=G,L.arg=J;;){var X=L.delegate;if(X){var W=U(X,L);if(W){if(W===f)continue;return W}}if(L.method==="next")L.sent=L._sent=L.arg;else if(L.method==="throw"){if(q==="suspendedStart")throw q="completed",L.arg;L.dispatchException(L.arg)}else L.method==="return"&&L.abrupt("return",L.arg);q="executing";var K=d(D,M,L);if(K.type==="normal"){if(q=L.done?"completed":"suspendedYield",K.arg===f)continue;return{value:K.arg,done:L.done}}K.type==="throw"&&(q="completed",L.method="throw",L.arg=K.arg)}}}function U(D,M){var L=M.method,q=D.iterator[L];if(q===void 0)return M.delegate=null,L==="throw"&&D.iterator.return&&(M.method="return",M.arg=void 0,U(D,M),M.method==="throw")||L!=="return"&&(M.method="throw",M.arg=new TypeError("The iterator does not provide a '"+L+"' method")),f;var G=d(q,D.iterator,M.arg);if(G.type==="throw")return M.method="throw",M.arg=G.arg,M.delegate=null,f;var J=G.arg;return J?J.done?(M[D.resultName]=J.value,M.next=D.nextLoc,M.method!=="return"&&(M.method="next",M.arg=void 0),M.delegate=null,f):J:(M.method="throw",M.arg=new TypeError("iterator result is not an object"),M.delegate=null,f)}function T(D){var M={tryLoc:D[0]};1 in D&&(M.catchLoc=D[1]),2 in D&&(M.finallyLoc=D[2],M.afterLoc=D[3]),this.tryEntries.push(M)}function Q(D){var M=D.completion||{};M.type="normal",delete M.arg,D.completion=M}function z(D){this.tryEntries=[{tryLoc:"root"}],D.forEach(T,this),this.reset(!0)}function O(D){if(D){var M=D[a];if(M)return M.call(D);if(typeof D.next=="function")return D;if(!isNaN(D.length)){var L=-1,q=function G(){for(;++L<D.length;)if(n.call(D,L))return G.value=D[L],G.done=!1,G;return G.value=void 0,G.done=!0,G};return q.next=q}}return{next:R}}function R(){return{value:void 0,done:!0}}return p.prototype=g,r(x,"constructor",{value:g,configurable:!0}),r(g,"constructor",{value:p,configurable:!0}),p.displayName=c(g,l,"GeneratorFunction"),e.isGeneratorFunction=function(D){var M=typeof D=="function"&&D.constructor;return!!M&&(M===p||(M.displayName||M.name)==="GeneratorFunction")},e.mark=function(D){return Object.setPrototypeOf?Object.setPrototypeOf(D,g):(D.__proto__=g,c(D,l,"GeneratorFunction")),D.prototype=Object.create(x),D},e.awrap=function(D){return{__await:D}},B(E.prototype),c(E.prototype,A,function(){return this}),e.AsyncIterator=E,e.async=function(D,M,L,q,G){G===void 0&&(G=Promise);var J=new E(u(D,M,L,q),G);return e.isGeneratorFunction(M)?J:J.next().then(function(X){return X.done?X.value:J.next()})},B(x),c(x,l,"Generator"),c(x,a,function(){return this}),c(x,"toString",function(){return"[object Generator]"}),e.keys=function(D){var M=Object(D),L=[];for(var q in M)L.push(q);return L.reverse(),function G(){for(;L.length;){var J=L.pop();if(J in M)return G.value=J,G.done=!1,G}return G.done=!0,G}},e.values=O,z.prototype={constructor:z,reset:function(D){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(Q),!D)for(var M in this)M.charAt(0)==="t"&&n.call(this,M)&&!isNaN(+M.slice(1))&&(this[M]=void 0)},stop:function(){this.done=!0;var D=this.tryEntries[0].completion;if(D.type==="throw")throw D.arg;return this.rval},dispatchException:function(D){if(this.done)throw D;var M=this;function L(K,ne){return J.type="throw",J.arg=D,M.next=K,ne&&(M.method="next",M.arg=void 0),!!ne}for(var q=this.tryEntries.length-1;q>=0;--q){var G=this.tryEntries[q],J=G.completion;if(G.tryLoc==="root")return L("end");if(G.tryLoc<=this.prev){var X=n.call(G,"catchLoc"),W=n.call(G,"finallyLoc");if(X&&W){if(this.prev<G.catchLoc)return L(G.catchLoc,!0);if(this.prev<G.finallyLoc)return L(G.finallyLoc)}else if(X){if(this.prev<G.catchLoc)return L(G.catchLoc,!0)}else{if(!W)throw new Error("try statement without catch or finally");if(this.prev<G.finallyLoc)return L(G.finallyLoc)}}}},abrupt:function(D,M){for(var L=this.tryEntries.length-1;L>=0;--L){var q=this.tryEntries[L];if(q.tryLoc<=this.prev&&n.call(q,"finallyLoc")&&this.prev<q.finallyLoc){var G=q;break}}G&&(D==="break"||D==="continue")&&G.tryLoc<=M&&M<=G.finallyLoc&&(G=null);var J=G?G.completion:{};return J.type=D,J.arg=M,G?(this.method="next",this.next=G.finallyLoc,f):this.complete(J)},complete:function(D,M){if(D.type==="throw")throw D.arg;return D.type==="break"||D.type==="continue"?this.next=D.arg:D.type==="return"?(this.rval=this.arg=D.arg,this.method="return",this.next="end"):D.type==="normal"&&M&&(this.next=M),f},finish:function(D){for(var M=this.tryEntries.length-1;M>=0;--M){var L=this.tryEntries[M];if(L.finallyLoc===D)return this.complete(L.completion,L.afterLoc),Q(L),f}},catch:function(D){for(var M=this.tryEntries.length-1;M>=0;--M){var L=this.tryEntries[M];if(L.tryLoc===D){var q=L.completion;if(q.type==="throw"){var G=q.arg;Q(L)}return G}}throw new Error("illegal catch attempt")},delegateYield:function(D,M,L){return this.delegate={iterator:O(D),resultName:M,nextLoc:L},this.method==="next"&&(this.arg=void 0),f}},e}function FI(e,t,n,r,o,a,A){try{var l=e[a](A),c=l.value}catch(u){return void n(u)}l.done?t(c):Promise.resolve(c).then(r,o)}function d9e(e,t){return function(n){if(Array.isArray(n))return n}(e)||function(n,r){var o=n==null?null:typeof Symbol!="undefined"&&n[Symbol.iterator]||n["@@iterator"];if(o!=null){var a,A,l,c,u=[],d=!0,f=!1;try{if(l=(o=o.call(n)).next,r===0){if(Object(o)!==o)return;d=!1}else for(;!(d=(a=l.call(o)).done)&&(u.push(a.value),u.length!==r);d=!0);}catch(h){f=!0,A=h}finally{try{if(!d&&o.return!=null&&(c=o.return(),Object(c)!==c))return}finally{if(f)throw A}}return u}}(e,t)||function(n,r){if(n){if(typeof n=="string")return kI(n,r);var o=Object.prototype.toString.call(n).slice(8,-1);return o==="Object"&&n.constructor&&(o=n.constructor.name),o==="Map"||o==="Set"?Array.from(n):o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?kI(n,r):void 0}}(e,t)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|