var L=x.removeCells;x.removeCells=function(H,S){S=null!=S?S:!0;null==H&&(H=this.getDeletableCells(this.getSelectionCells()));S&&(H=this.getDeletableCells(this.addAllEdges(H)));for(var U=[],Q=0;Q<H.length;Q++){var W=H[Q];A.isEdge(W)&&t(W)&&(U.push(W),W=A.getTerminal(W,!1));if(d(W)){var V=[];x.traverse(W,!0,function(X,p){var C=null!=p&&x.isTreeEdge(p);C&&V.push(p);(null==p||C)&&V.push(X);return null==p||C});0<V.length&&(U=U.concat(V),W=x.getIncomingTreeEdges(H[Q]),H=H.concat(W))}else null!=W&&U.push(H[Q])}H=
U;return L.apply(this,arguments)};v.hoverIcons.getStateAt=function(H,S,U){return d(H.cell)?null:this.graph.view.getState(this.graph.getCellAt(S,U))};var M=x.duplicateCells;x.duplicateCells=function(H,S){H=null!=H?H:this.getSelectionCells();for(var U=H.slice(0),Q=0;Q<U.length;Q++){var W=x.view.getState(U[Q]);if(null!=W&&d(W.cell)){var V=x.getIncomingTreeEdges(W.cell);for(W=0;W<V.length;W++)mxUtils.remove(V[W],H)}}this.model.beginUpdate();try{var X=M.call(this,H,S);if(X.length==H.length)for(Q=0;Q<H.length;Q++)if(d(H[Q])){var p=
The software does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.