if(!window.console){window.console={};window.console.log=function(a){};window.console.dir=function(a){}}if(window.opera){window.console.log=function(a){opera.postError(a)}}function SvgCanvas(al){var h=!!window.opera;var ad=navigator.userAgent.indexOf("AppleWebKit")!=-1;var aC={};var ag={circle:["cx","cy","fill","fill-opacity","fill-rule","id","opacity","r","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","systemLanguage","transform"],defs:[],desc:[],ellipse:["cx","cy","fill","fill-opacity","fill-rule","id","opacity","requiredFeatures","rx","ry","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","systemLanguage","transform"],g:["id","display","fill","fill-opacity","fill-rule","opacity","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","systemLanguage","transform"],image:["height","id","opacity","requiredFeatures","systemLanguage","transform","width","x","xlink:href","xlink:title","y"],line:["fill","fill-opacity","fill-rule","id","opacity","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","systemLanguage","transform","x1","x2","y1","y2"],linearGradient:["id","gradientTransform","gradientUnits","requiredFeatures","spreadMethod","systemLanguage","x1","x2","y1","y2"],path:["d","fill","fill-opacity","fill-rule","id","opacity","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","systemLanguage","transform"],polygon:["id","fill","fill-opacity","fill-rule","id","opacity","points","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","systemLanguage","transform"],polyline:["id","fill","fill-opacity","fill-rule","opacity","points","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","systemLanguage","transform"],radialGradient:["id","cx","cy","fx","fy","gradientTransform","gradientUnits","r","requiredFeatures","spreadMethod","systemLanguage"],rect:["fill","fill-opacity","fill-rule","height","id","opacity","requiredFeatures","rx","ry","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","systemLanguage","transform","width","x","y"],stop:["id","offset","requiredFeatures","stop-color","stop-opacity","systemLanguage"],"switch":["id","requiredFeatures","systemLanguage"],svg:["id","height","requiredFeatures","systemLanguage","transform","viewBox","width","xmlns","xmlns:xlink"],text:["fill","fill-opacity","fill-rule","font-family","font-size","font-style","font-weight","id","opacity","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","systemLanguage","transform","text-anchor","x","xml:space","y"],title:[]};var ac={pathNodeTooltip:"Drag node to move it. Double-click node to change segment type",pathCtrlPtTooltip:"Drag control point to adjust curve properties"};var d=function(aP){return $("<p/>").text(aP).html()};var U=function(aP){return $("<p/>").html(aP).text()};function Y(aR,aQ,aS){this.elem=aR;this.text=aS?("Change "+aR.tagName+" "+aS):("Change "+aR.tagName);this.newValues={};this.oldValues=aQ;for(var aP in aQ){if(aP=="#text"){this.newValues[aP]=aR.textContent}else{this.newValues[aP]=aR.getAttribute(aP)}}this.apply=function(){var aW=false;for(var aU in this.newValues){if(this.newValues[aU]){if(aU=="#text"){this.elem.textContent=this.newValues[aU]}else{this.elem.setAttribute(aU,this.newValues[aU])}}else{if(aU=="#text"){this.elem.textContent=""}else{this.elem.setAttribute(aU,"");this.elem.removeAttribute(aU)}}if(aU=="transform"){aW=true}}if(!aW){var aY=aM.getRotationAngle(aR);if(aY){var aX=aR.getBBox();var aT=aX.x+aX.width/2,aZ=aX.y+aX.height/2;var aV=["rotate(",aY," ",aT,",",aZ,")"].join("");if(aV!=aR.getAttribute("transform")){aR.setAttribute("transform",aV)}}}if(this.elem.tagName=="title"&&this.elem.parentNode.parentNode==S){K()}return true};this.unapply=function(){var aW=false;for(var aU in this.oldValues){if(this.oldValues[aU]){if(aU=="#text"){this.elem.textContent=this.oldValues[aU]}else{this.elem.setAttribute(aU,this.oldValues[aU])}}else{if(aU=="#text"){this.elem.textContent=""}else{this.elem.removeAttribute(aU)}}if(aU=="transform"){aW=true}}if(!aW){var aY=aM.getRotationAngle(aR);if(aY){var aX=aR.getBBox();var aT=aX.x+aX.width/2,aZ=aX.y+aX.height/2;var aV=["rotate(",aY," ",aT,",",aZ,")"].join("");if(aV!=aR.getAttribute("transform")){aR.setAttribute("transform",aV)}}}if(this.elem.tagName=="title"&&this.elem.parentNode.parentNode==S){K()}return true};this.elements=function(){return[this.elem]}}function a(aP,aQ){this.elem=aP;this.text=aQ||("Create "+aP.tagName);this.parent=aP.parentNode;this.apply=function(){this.elem=this.parent.insertBefore(this.elem,this.elem.nextSibling);if(this.parent==S){K()}};this.unapply=function(){this.parent=this.elem.parentNode;this.elem=this.elem.parentNode.removeChild(this.elem);if(this.parent==S){K()}};this.elements=function(){return[this.elem]}}function D(aQ,aP,aR){this.elem=aQ;this.text=aR||("Delete "+aQ.tagName);this.parent=aP;this.apply=function(){this.parent=this.elem.parentNode;this.elem=this.parent.removeChild(this.elem);if(this.parent==S){K()}};this.unapply=function(){this.elem=this.parent.insertBefore(this.elem,this.elem.nextSibling);if(this.parent==S){K()}};this.elements=function(){return[this.elem]};if(G[aQ.id]){delete G[aQ.id]}}function E(aQ,aR,aP,aS){this.elem=aQ;this.text=aS?("Move "+aQ.tagName+" to "+aS):("Move "+aQ.tagName);this.oldNextSibling=aR;this.oldParent=aP;this.newNextSibling=aQ.nextSibling;this.newParent=aQ.parentNode;this.apply=function(){this.elem=this.newParent.insertBefore(this.elem,this.newNextSibling);if(this.newParent==S){K()}};this.unapply=function(){this.elem=this.oldParent.insertBefore(this.elem,this.oldNextSibling);if(this.oldParent==S){K()}};this.elements=function(){return[this.elem]}}function aa(aP){this.text=aP||"Batch Command";this.stack=[];this.apply=function(){var aQ=this.stack.length;for(var aR=0;aR<aQ;++aR){this.stack[aR].apply()}};this.unapply=function(){for(var aQ=this.stack.length-1;aQ>=0;aQ--){this.stack[aQ].unapply()}};this.elements=function(){var aQ=[];var aT=this.stack.length;while(aT--){var aS=this.stack[aT].elements();var aR=aS.length;while(aR--){if(aQ.indexOf(aS[aR])==-1){aQ.push(aS[aR])}}}return aQ};this.addSubCommand=function(aQ){this.stack.push(aQ)};this.isEmpty=function(){return this.stack.length==0}}function ay(aR,aQ){this.id=aR;this.selectedElement=aQ;this.locked=true;this.reset=function(aS,aT){this.locked=true;this.selectedElement=aS;this.resize();this.selectorGroup.setAttribute("display","inline")};this.selectorGroup=c({element:"g",attr:{id:("selectorGroup"+this.id)}});this.selectorRect=this.selectorGroup.appendChild(c({element:"path",attr:{id:("selectedBox"+this.id),fill:"none",stroke:"#22C","stroke-width":"1","stroke-dasharray":"5,5",style:"pointer-events:none"}}));this.selectorGrips={nw:null,n:null,ne:null,e:null,se:null,s:null,sw:null,w:null};this.rotateGripConnector=this.selectorGroup.appendChild(c({element:"line",attr:{id:("selectorGrip_rotateconnector_"+this.id),stroke:"#22C","stroke-width":"1"}}));this.rotateGrip=this.selectorGroup.appendChild(c({element:"circle",attr:{id:("selectorGrip_rotate_"+this.id),fill:"lime",r:4,stroke:"#22C","stroke-width":2,style:"cursor:url(images/rotate.png) 12 12, auto;"}}));for(var aP in this.selectorGrips){this.selectorGrips[aP]=this.selectorGroup.appendChild(c({element:"circle",attr:{id:("selectorGrip_resize_"+aP+"_"+this.id),fill:"#22C",r:4,style:("cursor:"+aP+"-resize"),"stroke-width":2,"pointer-events":"all",display:"none"}}))}this.showGrips=function(aS){var aU=aS?"inline":"none";this.rotateGrip.setAttribute("display",aU);this.rotateGripConnector.setAttribute("display",aU);var aV=this.selectedElement;for(var aT in this.selectorGrips){this.selectorGrips[aT].setAttribute("display",aU)}if(aV){this.updateGripCursors(aM.getRotationAngle(aV))}};this.updateGripCursors=function(aW){var aV=[];var aS=Math.round(aW/45);if(aS<0){aS+=8}for(var aT in this.selectorGrips){aV.push(aT)}while(aS>0){aV.push(aV.shift());aS--}var aU=0;for(var aT in this.selectorGrips){this.selectorGrips[aT].setAttribute("style",("cursor:"+aV[aU]+"-resize"));aU++}};this.resize=function(){var aS=this.selectorRect;var aZ=this.selectorGrips;var bg=this.selectedElement;var be=B(bg.getAttribute("stroke-width"));var a5=1/aM.getZoom();if(bg.getAttribute("stroke")!="none"&&!isNaN(be)){a5+=be/2}if(bg.tagName=="text"){a5+=2/aM.getZoom()}var aT=aM.getBBox(bg);if(bg.tagName=="g"){var a4=aM.getStrokedBBox(bg.childNodes);$.each(aT,function(bo,bp){aT[bo]=a4[bo]})}var a9=aM.getTransformList(bg);var bh=l(a9).matrix;bh.e*=M;bh.f*=M;var bi=aT.x-a5,bb=aT.y-a5,ba=aT.width+(a5<<1),bk=aT.height+(a5<<1);var aT={x:bi,y:bb,width:ba,height:bk};var bm=aO(bi*M,bb*M,ba*M,bk*M,bh);var aV=bm.aabox.x,aU=bm.aabox.y,aW=bm.aabox.width,a8=bm.aabox.height;var aY=aV+aW/2;var aX=aU+a8/2;var bl=aM.getRotationAngle(bg);if(bl){var a7=v.createSVGTransform();a7.setRotate(-bl,aY,aX);var bc=a7.matrix;bm.tl=C(bm.tl.x,bm.tl.y,bc);bm.tr=C(bm.tr.x,bm.tr.y,bc);bm.bl=C(bm.bl.x,bm.bl.y,bc);bm.br=C(bm.br.x,bm.br.y,bc);var a3=bm.tl.x,a2=bm.tl.y,a1=bm.tl.x,a0=bm.tl.y;a3=Math.min(a3,Math.min(bm.tr.x,Math.min(bm.bl.x,bm.br.x)));a2=Math.min(a2,Math.min(bm.tr.y,Math.min(bm.bl.y,bm.br.y)));a1=Math.max(a1,Math.max(bm.tr.x,Math.max(bm.bl.x,bm.br.x)));a0=Math.max(a0,Math.max(bm.tr.y,Math.max(bm.bl.y,bm.br.y)));aV=a3;aU=a2;aW=(a1-a3);a8=(a0-a2)}var bn=v.suspendRedraw(100);var bd="M"+aV+","+aU+" L"+(aV+aW)+","+aU+" "+(aV+aW)+","+(aU+a8)+" "+aV+","+(aU+a8)+"z";Z(aS,{d:bd});var a6={nw:[aV,aU],ne:[aV+aW,aU],sw:[aV,aU+a8],se:[aV+aW,aU+a8],n:[aV+(aW)/2,aU],w:[aV,aU+(a8)/2],e:[aV+aW,aU+(a8)/2],s:[aV+(aW)/2,aU+a8]};if(bg==aq[0]){for(var bf in a6){var bj=a6[bf];Z(aZ[bf],{cx:bj[0],cy:bj[1]})}}if(bl){this.selectorGroup.setAttribute("transform","rotate("+[bl,aY,aX].join(",")+")")}else{this.selectorGroup.setAttribute("transform","")}Z(this.rotateGripConnector,{x1:aV+(aW)/2,y1:aU,x2:aV+(aW)/2,y2:aU-20});Z(this.rotateGrip,{cx:aV+(aW)/2,cy:aU-20});v.unsuspendRedraw(bn)};this.reset(aQ)}function aN(){this.selectorParentGroup=null;this.rubberBandBox=null;this.selectors=[];this.selectorMap={};var aP=this;this.initGroup=function(){if(aP.selectorParentGroup&&aP.selectorParentGroup.parentNode){aP.selectorParentGroup.parentNode.removeChild(aP.selectorParentGroup)}aP.selectorParentGroup=am.createElementNS(ak,"g");aP.selectorParentGroup.setAttribute("id","selectorParentGroup");v.appendChild(aP.selectorParentGroup);aP.selectorMap={};aP.selectors=[];aP.rubberBandBox=null};this.requestSelector=function(aR){if(aR==null){return null}var aS=this.selectors.length;if(typeof(this.selectorMap[aR.id])=="object"){this.selectorMap[aR.id].locked=true;return this.selectorMap[aR.id]}for(var aQ=0;aQ<aS;++aQ){if(this.selectors[aQ]&&!this.selectors[aQ].locked){this.selectors[aQ].locked=true;this.selectors[aQ].reset(aR);this.selectorMap[aR.id]=this.selectors[aQ];return this.selectors[aQ]}}this.selectors[aS]=new ay(aS,aR);this.selectorParentGroup.appendChild(this.selectors[aS].selectorGroup);this.selectorMap[aR.id]=this.selectors[aS];return this.selectors[aS]};this.releaseSelector=function(aR){if(aR==null){return}var aU=this.selectors.length;var aS=this.selectorMap[aR.id];for(var aQ=0;aQ<aU;++aQ){if(this.selectors[aQ]&&this.selectors[aQ]==aS){if(aS.locked==false){console.log("WARNING! selector was released but was already unlocked")}delete this.selectorMap[aR.id];aS.locked=false;aS.selectedElement=null;aS.showGrips(false);try{aS.selectorGroup.setAttribute("display","none")}catch(aT){}break}}};this.getRubberBandBox=function(){if(this.rubberBandBox==null){this.rubberBandBox=this.selectorParentGroup.appendChild(c({element:"rect",attr:{id:"selectorRubberBand",fill:"#22C","fill-opacity":0.15,stroke:"#22C","stroke-width":0.5,display:"none",style:"pointer-events:none"}}))}return this.rubberBandBox};this.initGroup()}var G={};var w=function(aP){this._elem=aP||null;this._xforms=[];this._update=function(){var aS="";var aR=v.createSVGMatrix();for(var aT=0;aT<this.numberOfItems;++aT){var aQ=this._list.getItem(aT);aS+=O(aQ).text+" "}this._elem.setAttribute("transform",aS)};this._list=this;this._init=function(){var aZ=this._elem.getAttribute("transform");if(!aZ){return}var a3=/\s*((scale|matrix|rotate|translate)\s*\(.*?\))\s*,?\s*/;var aW=[];var aV=true;while(aV){aV=aZ.match(a3);aZ=aZ.replace(a3,"");if(aV&&aV[1]){var a0=aV[1];var a2=a0.split(/\s*\(/);var aQ=a2[0];var aU=a2[1].match(/\s*(.*?)\s*\)/);var aS=aU[1].split(/[, ]+/);var aX="abcdef".split("");var aR=v.createSVGMatrix();$.each(aS,function(a4,a5){aS[a4]=parseFloat(a5);if(aQ=="matrix"){aR[aX[a4]]=aS[a4]}});var aY=v.createSVGTransform();var aT="set"+aQ.charAt(0).toUpperCase()+aQ.slice(1);var a1=aQ=="matrix"?[aR]:aS;aY[aT].apply(aY,a1);this._list.appendItem(aY)}}};this.numberOfItems=0;this.clear=function(){this.numberOfItems=0;this._xforms=[]};this.initialize=function(aQ){this.numberOfItems=1;this._xforms=[aQ]};this.getItem=function(aQ){if(aQ<this.numberOfItems&&aQ>=0){return this._xforms[aQ]}return null};this.insertItemBefore=function(aT,aR){var aV=null;if(aR>=0){if(aR<this.numberOfItems){var aU=new Array(this.numberOfItems+1);for(var aS=0;aS<aR;++aS){aU[aS]=this._xforms[aS]}aU[aS]=aT;for(var aQ=aS+1;aS<this.numberOfItems;++aQ,++aS){aU[aQ]=this._xforms[aS]}this.numberOfItems++;this._xforms=aU;aV=aT;this._list._update()}else{aV=this._list.appendItem(aT)}}return aV};this.replaceItem=function(aR,aQ){var aS=null;if(aQ<this.numberOfItems&&aQ>=0){this._xforms[aQ]=aR;aS=aR;this._list._update()}return aS};this.removeItem=function(aR){var aU=null;if(aR<this.numberOfItems&&aR>=0){var aU=this._xforms[aR];var aT=new Array(this.numberOfItems-1);for(var aS=0;aS<aR;++aS){aT[aS]=this._xforms[aS]}for(var aQ=aS;aQ<this.numberOfItems-1;++aQ,++aS){aT[aQ]=this._xforms[aS+1]}this.numberOfItems--;this._xforms=aT;this._list._update()}return aU};this.appendItem=function(aQ){this._xforms.push(aQ);this.numberOfItems++;this._list._update();return aQ}};var c=function(aP){return aM.updateElementFromJson(aP)};var Z=function(aT,aQ,aP){if(!aP){aP=0}var aU=null;if(!window.opera){v.suspendRedraw(aP)}for(var aR in aQ){var aS=(aR.substr(0,4)=="xml:"?J:aR.substr(0,6)=="xlink:"?af:null);aT.setAttributeNS(aS,aR,aQ[aR])}if(!window.opera){v.unsuspendRedraw(aU)}};var W=function(aQ){var aR=v.suspendRedraw(60);var aS={"fill-opacity":1,opacity:1,stroke:"none","stroke-dasharray":"none","stroke-opacity":1,"stroke-width":1,rx:0,ry:0,display:"inline"};for(var aP in aS){var aT=aS[aP];if(aQ.getAttribute(aP)==aT){aQ.removeAttribute(aP)}}v.unsuspendRedraw(aR)};this.updateElementFromJson=function(aQ){var aP=b(aQ.attr.id);if(aP&&aQ.element!=aP.tagName){I.removeChild(aP);aP=null}if(!aP){aP=am.createElementNS(ak,aQ.element);if(I){I.appendChild(aP)}}Z(aP,aQ.attr,100);W(aP);return aP};var aM=this;var ak="http://www.w3.org/2000/svg";var af="http://www.w3.org/1999/xlink";var J="http://www.w3.org/XML/1998/namespace";var av="svg_";var am=al.ownerDocument;var v=am.createElementNS(ak,"svg");v.setAttribute("width",640);v.setAttribute("height",480);v.setAttribute("id","svgroot");v.setAttribute("xmlns",ak);v.setAttribute("xmlns:xlink",af);al.appendChild(v);var S=am.createElementNS(ak,"svg");S.setAttribute("id","svgcontent");S.setAttribute("viewBox","0 0 640 480");S.setAttribute("xmlns",ak);S.setAttribute("xmlns:xlink",af);v.appendChild(S);(function(){var aP=am.createComment(" Created with SVG-edit - http://svg-edit.googlecode.com/ ");S.appendChild(aP)});var ar=[];var aA={};var N="images/logo.png";var I=null;var R={round_digits:5};var ah=false;var aG=1;var T=null;var aE="select";var L="none";var H={shape:{fill:"#FF0000",fill_paint:null,fill_opacity:1,stroke:"#000000",stroke_paint:null,stroke_opacity:1,stroke_width:5,stroke_style:"none",opacity:1}};H.text=$.extend(true,{},H.shape);$.extend(H.text,{fill:"#000000",stroke_width:0,font_size:24,font_family:"serif"});var an=H.shape;var aI=H.text;var k=an;var M=1;var aq=new Array(1);var n=new Array(1);var z=null;var t=new aN();var g=null;var s={};var ao=0;var F=[];var ai=[];var B=function(aP){return parseInt(aP*M)/M};var az=function(aS){if(g==null){return null}if(!ai.length){ai=aM.getVisibleElements(I,true)}var aP=null;try{aP=I.getIntersectionList(aS,null)}catch(aT){}if(aP==null||typeof(aP.item)!="function"){aP=[];var aR=g.getBBox();$.each(aR,function(aU,aV){aR[aU]=aV/M});var aQ=ai.length;while(aQ--){if(Utils.rectsIntersect(aR,ai[aQ].bbox)){aP.push(ai[aQ].elem)}}}return aP};var at=function(aP){if(ao<F.length&&F.length>0){F=F.splice(0,ao)}F.push(aP);ao=F.length};var p=function(){if(s.getid){return Q("getid",aG)}return av+aG};var aJ=function(){var aP=p();while(b(aP)){aG++;aP=p()}return aP};var Q=function(aQ,aP){if(s[aQ]){return s[aQ](this,aP)}};var A=function(aT){if(aT.nodeType==3){aT.nodeValue=aT.nodeValue.replace(/^\s+|\s+$/g,"");if(!aT.nodeValue.length){aT.parentNode.removeChild(aT)}}if(aT.nodeType!=1){return}var aU=aT.ownerDocument;var aS=aT.parentNode;if(!aU||!aS){return}var aV=ag[aT.nodeName];if(aV!=undefined){var aR=aT.attributes.length;while(aR--){var aQ=aT.attributes.item(aR).nodeName;if(aV.indexOf(aQ)==-1){aT.removeAttribute(aQ)}if(aQ=="d"){aT.setAttribute("d",o.convertPath(aT))}}aR=aT.childNodes.length;while(aR--){A(aT.childNodes.item(aR))}}else{var aP=[];while(aT.hasChildNodes()){aP.push(aS.insertBefore(aT.firstChild,aT))}aS.removeChild(aT);var aR=aP.length;while(aR--){A(aP[aR])}}};var aH=function(){var aR=S.getElementsByTagNameNS(ak,"defs");if(!aR||!aR.length){return}var aY=S.getElementsByTagNameNS(ak,"*");var aT=[];$.each(aY,function(aZ,a0){var a2=a0.getAttribute("fill");if(a2&&a2.indexOf("url(#")==0){aT.push(a2)}var a1=a0.getAttribute("stroke");if(a1&&a1.indexOf("url(#")==0){aT.push(a1)}});var aV=S.getElementsByTagNameNS(ak,"linearGradient");var aW=[];var aS=aV.length;while(aS--){var aX=aV[aS];var aP=aX.id;var aU="url(#"+aP+")";if($.inArray(aU,aT)==-1){aX.parentNode.removeChild(aX)}}var aS=aR.length;while(aS--){var aQ=aR[aS];if(!aQ.getElementsByTagNameNS(ak,"*").length){aQ.parentNode.removeChild(aQ)}}};var f=function(){aH();o.clear(true);$.each(S.childNodes,function(aQ,aR){if(aQ&&aR.nodeType==8&&aR.data.indexOf("Created with")!=-1){S.insertBefore(aR,S.firstChild)}});var aP=aw(S,0);return aP};var aw=function(aR,aQ){var aS=new Array();if(aR){W(aR);var a1=aR.attributes;var aX;var aU;var aY=aR.childNodes;for(var aU=0;aU<aQ;aU++){aS.push(" ")}aS.push("<");aS.push(aR.nodeName);if(aR.id=="svgcontent"){var aZ=aM.getResolution();aS.push(' width="'+aZ.w+'" height="'+aZ.h+'" xmlns:xlink="'+af+'" xmlns="'+ak+'"')}else{for(var aU=a1.length-1;aU>=0;aU--){aX=a1.item(aU);var aW=aX.nodeValue;if(aW!=""){if(aW.indexOf("pointer-events")==0){continue}aS.push(" ");if(aX.localName=="d"){aW=o.convertPath(aR,true)}if(!isNaN(aW)){aW=aF(aW)}if(R.apply&&aR.nodeName=="image"&&aX.localName=="href"&&R.images&&R.images=="embed"){var aT=aA[aW];if(aT){aW=aT}}if(aX.namespaceURI==af){aS.push("xlink:")}else{if(aX.namespaceURI=="http://www.w3.org/2000/xmlns/"&&aX.localName!="xmlns"){aS.push("xmlns:")}else{if(aX.namespaceURI==J){aS.push("xml:")}}}aS.push(aX.localName);aS.push('="');aS.push(aW);aS.push('"')}}}if(aR.hasChildNodes()){aS.push(">");aQ++;var aV=false;for(var aU=0;aU<aY.length;aU++){var aP=aY.item(aU);if(aP.id=="selectorParentGroup"){continue}switch(aP.nodeType){case 1:aS.push("\n");aS.push(aw(aY.item(aU),aQ));break;case 3:var a0=aP.nodeValue.replace(/^\s+|\s+$/g,"");if(a0!=""){aV=true;aS.push(d(a0)+"")}break;case 8:aS.push("\n");aS.push(new Array(aQ+1).join(" "));aS.push("<!--");aS.push(aP.data);aS.push("-->");break}}aQ--;if(!aV){aS.push("\n");for(var aU=0;aU<aQ;aU++){aS.push(" ")}}aS.push("</");aS.push(aR.nodeName);aS.push(">")}else{aS.push("/>")}}return aS.join("")};this.embedImage=function(aP,aQ){$(new Image()).load(function(){var aR=document.createElement("canvas");aR.width=this.width;aR.height=this.height;aR.getContext("2d").drawImage(this,0,0);try{var aS=";svgedit_url="+encodeURIComponent(aP);aS=aR.toDataURL().replace(";base64",aS+";base64");aA[aP]=aS}catch(aT){aA[aP]=false}N=aP;if(aQ){aQ(aA[aP])}}).attr("src",aP)};this.fixOperaXML=function(aS,aQ){var aR=aS.attributes;$.each(aR,function(aV,aU){if(aU.nodeValue.indexOf(",")==-1){return}var aX=aU.prefix=="xlink"?af:aU.prefix=="xml"?J:null;var aW=aQ.getAttribute(aU.localName);if(aX){aS.setAttributeNS(aX,aU.nodeName,aW)}else{aS.setAttribute(aU.nodeName,aW)}});var aT=aS.childNodes;var aP=aQ.childNodes;$.each(aT,function(aU,aV){if(aV.nodeType==1){aM.fixOperaXML(aV,aP[aU])}})};var aB=function(){var aS=(L=="none"?"position":"size");var aP=new aa(aS);var aQ=aq.length;while(aQ--){var aR=i(aq[aQ]);if(aR){aP.addSubCommand(aR)}}if(!aP.isEmpty()){at(aP);Q("changed",aq)}};var u=[0,"z","M","m","L","l","C","c","Q","q","A","a","H","h","V","v","S","s","T","t"];var ab=function(aP){console.log([aP.a,aP.b,aP.c,aP.d,aP.e,aP.f])};var q=function(a3,bd,a6){var aU=function(be,bf){return C(be,bf,a6)};var aT=function(be){return a6.a*be};var a2=function(be){return a6.d*be};var aY=aM.getBBox(a3);switch(a3.tagName){case"line":var aX=aU(bd.x1,bd.y1),aW=aU(bd.x2,bd.y2);bd.x1=aX.x;bd.y1=aX.y;bd.x2=aW.x;bd.y2=aW.y;break;case"circle":var bc=aU(bd.cx,bd.cy);bd.cx=bc.x;bd.cy=bc.y;var a7=aO(aY.x,aY.y,aY.width,aY.height,a6);var aZ=a7.tr.x-a7.tl.x,ba=a7.bl.y-a7.tl.y;bd.r=Math.min(aZ/2,ba/2);break;case"ellipse":var bc=aU(bd.cx,bd.cy);bd.cx=bc.x;bd.cy=bc.y;bd.rx=aT(bd.rx);bd.ry=a2(bd.ry);break;case"rect":case"image":var aX=aU(bd.x,bd.y);bd.x=aX.x;bd.y=aX.y;bd.width=aT(bd.width);bd.height=a2(bd.height);break;case"text":var aQ=aM.getTransformList(a3);var a4=v.createSVGTransform();a4.setMatrix(P(l(aQ).matrix,a6));aQ.clear();aQ.appendItem(a4);break;case"polygon":case"polyline":var a9=bd.points.length;for(var a8=0;a8<a9;++a8){var a5=bd.points[a8];a5=aU(a5.x,a5.y);bd.points[a8].x=a5.x;bd.points[a8].y=a5.y}break;case"path":var aP=a3.pathSegList;var a9=aP.numberOfItems;bd.d=new Array(a9);for(var a8=0;a8<a9;++a8){var bb=aP.getItem(a8);bd.d[a8]={type:bb.pathSegType,x:bb.x,y:bb.y,x1:bb.x1,y1:bb.y1,x2:bb.x2,y2:bb.y2,r1:bb.r1,r2:bb.r2,angle:bb.angle,largeArcFlag:bb.largeArcFlag,sweepFlag:bb.sweepFlag}}var a9=bd.d.length;var aS=bd.d[0];var a1=aU(aS.x,aS.y);bd.d[0].x=a1.x;bd.d[0].y=a1.y;for(var a8=1;a8<a9;++a8){var bb=bd.d[a8];var aR=bb.type;if(aR%2==0){var a5=aU(bb.x,bb.y),aX=aU(bb.x1,bb.y1),aW=aU(bb.x2,bb.y2);bb.x=a5.x;bb.y=a5.y;bb.x1=aX.x;bb.y1=aX.y;bb.x2=aW.x;bb.y2=aW.y;bb.r1=aT(bb.r1),bb.r2=a2(bb.r2)}else{bb.x=aT(bb.x);bb.y=a2(bb.y);bb.x1=aT(bb.x1);bb.y1=a2(bb.y1);bb.x2=aT(bb.x2);bb.y2=a2(bb.y2);bb.r1=aT(bb.r1),bb.r2=a2(bb.r2)}}break}switch(a3.tagName){case"rect":case"image":bd.x=bd.x-0+Math.min(0,bd.width);bd.y=bd.y-0+Math.min(0,bd.height);bd.width=Math.abs(bd.width);bd.height=Math.abs(bd.height);Z(a3,bd,1000);break;case"ellipse":bd.rx=Math.abs(bd.rx);bd.ry=Math.abs(bd.ry);case"circle":if(bd.r){bd.r=Math.abs(bd.r)}case"line":case"text":Z(a3,bd,1000);break;case"polyline":case"polygon":var a9=bd.points.length;var aV="";for(var a8=0;a8<a9;++a8){var a5=bd.points[a8];aV+=a5.x+","+a5.y+" "}a3.setAttribute("points",aV);break;case"path":var a0="";var a9=bd.d.length;for(var a8=0;a8<a9;++a8){var bb=bd.d[a8];var aR=bb.type;a0+=u[aR];switch(aR){case 13:case 12:a0+=bb.x+" ";break;case 15:case 14:a0+=bb.y+" ";break;case 3:case 5:case 19:case 2:case 4:case 18:a0+=bb.x+","+bb.y+" ";break;case 7:case 6:a0+=bb.x1+","+bb.y1+" "+bb.x2+","+bb.y2+" "+bb.x+","+bb.y+" ";break;case 9:case 8:a0+=bb.x+","+bb.y+" "+bb.x1+","+bb.y1+" ";break;case 11:case 10:a0+=bb.r1+","+bb.r2+" "+bb.angle+" "+bb.largeArcFlag+" "+bb.sweepFlag+" "+bb.x+","+bb.y+" ";break;case 17:case 16:a0+=bb.x+","+bb.y+" "+bb.x2+","+bb.y2+" ";break}}a3.setAttribute("d",a0);break}};var i=function(bc){if(bc==null){return null}var bk=aM.getTransformList(bc);if(bk&&bk.numberOfItems>0){var bv=bk.numberOfItems;while(bv--){var bo=bk.getItem(bv);if(bo.type==0){bk.removeItem(bv)}else{if(bo.type==1){if(aK(bo.matrix)){bk.removeItem(bv)}}else{if(bo.type==4){if(bo.angle==0){bk.removeItem(bv)}}}}}}if(bk.numberOfItems==0){bc.removeAttribute("transform");return null}var aQ=new aa("Transform");var a8={},bC=null;switch(bc.tagName){case"line":a8.x1=bc.getAttribute("x1");a8.y1=bc.getAttribute("y1");a8.x2=bc.getAttribute("x2");a8.y2=bc.getAttribute("y2");break;case"circle":a8.cx=bc.getAttribute("cx");a8.cy=bc.getAttribute("cy");a8.r=bc.getAttribute("r");break;case"ellipse":a8.cx=bc.getAttribute("cx");a8.cy=bc.getAttribute("cy");a8.rx=bc.getAttribute("rx");a8.ry=bc.getAttribute("ry");break;case"rect":case"image":a8.x=bc.getAttribute("x");a8.y=bc.getAttribute("y");a8.width=bc.getAttribute("width");a8.height=bc.getAttribute("height");break;case"text":a8.x=bc.getAttribute("x");a8.y=bc.getAttribute("y");break;case"polygon":case"polyline":bC={};bC.points=bc.getAttribute("points");var a7=bc.points;var a5=a7.numberOfItems;a8.points=new Array(a5);for(var by=0;by<a5;++by){var aZ=a7.getItem(by);a8.points[by]={x:aZ.x,y:aZ.y}}break;case"path":bC={};bC.d=bc.getAttribute("d");a8.d=bc.getAttribute("d");break}if(bC==null){bC=$.extend(true,{},a8)}bC.transform=T?T:"";if(bc.tagName=="g"){var aV=aM.getBBox(bc);var bF={x:aV.x+aV.width/2,y:aV.y+aV.height/2};var aS=C(aV.x+aV.width/2,aV.y+aV.height/2,l(bk).matrix);var bs=v.createSVGMatrix();var bb=aM.getRotationAngle(bc);if(bb){for(var by=0;by<bk.numberOfItems;++by){var bo=bk.getItem(by);if(bo.type==4){var bi=bo.matrix;var bD=bb*Math.PI/180;bF.y=0.5*(Math.sin(bD)*bi.e+(1-Math.cos(bD))*bi.f)/(1-Math.cos(bD));bF.x=((1-Math.cos(bD))*bF.y-bi.f)/Math.sin(bD);bk.removeItem(by);break}}}var bw=0,bu=0;var bj=0;var aX=bk.numberOfItems;if(aX>=3&&bk.getItem(aX-2).type==3&&bk.getItem(aX-3).type==2&&bk.getItem(aX-1).type==2){bj=3;var bG=bk.getItem(aX-3).matrix;var a1=bk.getItem(aX-2).matrix;var bq=bk.getItem(aX-1).matrix;var a3=bc.childNodes;var bB=a3.length;while(bB--){var aU=a3.item(bB);bw=0;bu=0;if(aU.nodeType==1){var a6=aM.getTransformList(aU);var bs=l(a6).matrix;var a4=aM.getRotationAngle(aU);var bm=T;T=aU.getAttribute("transform");if(a4||ap(a6)){var bl=v.createSVGTransform();bl.setMatrix(P(bG,a1,bq,bs));a6.clear();a6.appendItem(bl,0)}else{var aT=P(bs.inverse(),bq,bs);var be=v.createSVGMatrix();be.e=-aT.e;be.f=-aT.f;var bA=P(be.inverse(),bs.inverse(),bG,a1,bq,bs,aT.inverse());var bE=v.createSVGTransform(),bg=v.createSVGTransform(),a0=v.createSVGTransform();bE.setTranslate(aT.e,aT.f);bg.setScale(bA.a,bA.d);a0.setTranslate(be.e,be.f);a6.appendItem(a0);a6.appendItem(bg);a6.appendItem(bE)}aQ.addSubCommand(i(aU));T=bm}}bk.removeItem(aX-1);bk.removeItem(aX-2);bk.removeItem(aX-3)}else{if(aX>=3&&bk.getItem(aX-1).type==1){bj=3;bs=l(bk).matrix;var bl=v.createSVGTransform();bl.setMatrix(bs);bk.clear();bk.appendItem(bl)}else{if((aX==1||(aX>1&&bk.getItem(1).type!=3))&&bk.getItem(0).type==2){bj=2;var ba=l(bk).matrix;bk.removeItem(0);var bf=l(bk).matrix.inverse();var a2=P(bf,ba);bw=a2.e;bu=a2.f;if(bw!=0||bu!=0){var a3=bc.childNodes;var bB=a3.length;while(bB--){var aU=a3.item(bB);if(aU.nodeType==1){var bm=T;T=aU.getAttribute("transform");var a6=aM.getTransformList(aU);var bd=v.createSVGTransform();bd.setTranslate(bw,bu);a6.insertItemBefore(bd,0);aQ.addSubCommand(i(aU));T=bm}}T=bm}}else{if(aX==1&&bk.getItem(0).type==1&&!bb){bj=1;var bs=bk.getItem(0).matrix;var a3=bc.childNodes;var bB=a3.length;while(bB--){var aU=a3.item(bB);if(aU.nodeType==1){var bm=T;T=aU.getAttribute("transform");var a6=aM.getTransformList(aU);var bx=P(bs,l(a6).matrix);var bp=v.createSVGTransform();bp.setMatrix(bx);a6.clear();a6.appendItem(bp,0);aQ.addSubCommand(i(aU));T=bm}}bk.clear()}else{if(bb){var aR=v.createSVGTransform();aR.setRotate(bb,aS.x,aS.y);bk.insertItemBefore(aR,0)}if(bk.numberOfItems==0){bc.removeAttribute("transform")}return null}}}}if(bj==2){if(bb){var aR=v.createSVGTransform();aR.setRotate(bb,aS.x,aS.y);bk.insertItemBefore(aR,0)}}else{if(bj==3){var bs=l(bk).matrix;var aP=v.createSVGTransform();aP.setRotate(bb,bF.x,bF.y);var bh=aP.matrix;var br=v.createSVGTransform();br.setRotate(bb,aS.x,aS.y);var a9=br.matrix.inverse();var bt=bs.inverse();var bn=P(bt,a9,bh,bs);bw=bn.e;bu=bn.f;if(bw!=0||bu!=0){var a3=bc.childNodes;var bB=a3.length;while(bB--){var aU=a3.item(bB);if(aU.nodeType==1){var bm=T;T=aU.getAttribute("transform");var a6=aM.getTransformList(aU);var bd=v.createSVGTransform();bd.setTranslate(bw,bu);a6.insertItemBefore(bd,0);aQ.addSubCommand(i(aU));T=bm}}}if(bb){bk.insertItemBefore(br,0)}}}}else{var aV=aM.getBBox(bc);var bF={x:aV.x+aV.width/2,y:aV.y+aV.height/2};var aS=C(aV.x+aV.width/2,aV.y+aV.height/2,l(bk).matrix);var bs=v.createSVGMatrix();var a4=aM.getRotationAngle(bc);if(a4){for(var by=0;by<bk.numberOfItems;++by){var bo=bk.getItem(by);if(bo.type==4){var bi=bo.matrix;var bD=a4*Math.PI/180;bF.y=0.5*(Math.sin(bD)*bi.e+(1-Math.cos(bD))*bi.f)/(1-Math.cos(bD));bF.x=((1-Math.cos(bD))*bF.y-bi.f)/Math.sin(bD);bk.removeItem(by);break}}}var bj=0;var aX=bk.numberOfItems;if(aX>=3&&bk.getItem(aX-2).type==3&&bk.getItem(aX-3).type==2&&bk.getItem(aX-1).type==2){bj=3;bs=l(bk,aX-3,aX-1).matrix;bk.removeItem(aX-1);bk.removeItem(aX-2);bk.removeItem(aX-3)}else{if(aX==4&&bk.getItem(aX-1).type==1){bj=3;bs=l(bk).matrix;var bl=v.createSVGTransform();bl.setMatrix(bs);bk.clear();bk.appendItem(bl);bs=v.createSVGMatrix()}else{if((aX==1||(aX>1&&bk.getItem(1).type!=3))&&bk.getItem(0).type==2){bj=2;var bz=bk.getItem(0).matrix,aY=l(bk,1).matrix,aW=aY.inverse();bs=P(aW,bz,aY);bk.removeItem(0)}else{if(aX==1&&bk.getItem(0).type==1&&!a4){bs=l(bk).matrix;switch(bc.tagName){case"line":a8.x1=bc.getAttribute("x1");a8.y1=bc.getAttribute("y1");a8.x2=bc.getAttribute("x2");a8.y2=bc.getAttribute("y2");case"polyline":case"polygon":a8.points=bc.getAttribute("points");if(a8.points){var a7=bc.points;var a5=a7.numberOfItems;a8.points=new Array(a5);for(var by=0;by<a5;++by){var aZ=a7.getItem(by);a8.points[by]={x:aZ.x,y:aZ.y}}}case"path":a8.d=bc.getAttribute("d");bj=1;bk.clear();break;default:break}}else{bj=4;if(a4){var aR=v.createSVGTransform();aR.setRotate(a4,aS.x,aS.y);bk.insertItemBefore(aR,0)}if(bk.numberOfItems==0){bc.removeAttribute("transform")}return null}}}}if(bj==1||bj==2||bj==3){q(bc,a8,bs)}if(bj==2){if(a4){var aR=v.createSVGTransform();aR.setRotate(a4,aS.x,aS.y);bk.insertItemBefore(aR,0)}}else{if(bj==3){var bs=l(bk).matrix;var aP=v.createSVGTransform();aP.setRotate(a4,bF.x,bF.y);var bh=aP.matrix;var br=v.createSVGTransform();br.setRotate(a4,aS.x,aS.y);var a9=br.matrix.inverse();var bt=bs.inverse();var bn=P(bt,a9,bh,bs);q(bc,a8,bn);if(a4){bk.insertItemBefore(br,0)}}}}if(bk.numberOfItems==0){bc.removeAttribute("transform")}aQ.addSubCommand(new Y(bc,bC));return aQ};this.clearSelection=function(){if(aq[0]!=null){var aP=aq.length;for(var aQ=0;aQ<aP;++aQ){var aR=aq[aQ];if(aR==null){break}t.releaseSelector(aR);aq[aQ]=null;if(aQ==0){n[aQ]=null}}}Q("selected",aq)};this.addToSelection=function(aP,aT){if(aP.length==0){return}var aQ=0;while(aQ<aq.length){if(aq[aQ]==null){break}++aQ}var aR=aP.length;while(aR--){var aS=aP[aR];if(!aS||aS.id.substr(0,13)=="selectorGrip_"){continue}if(aq.indexOf(aS)==-1){aq[aQ]=aS;if(aQ==0){n[aQ]=this.getBBox(aS)}aQ++;var aU=t.requestSelector(aS);if(aq.length>1){aU.showGrips(false)}}}Q("selected",aq);if(aT){t.requestSelector(aq[0]).showGrips(true)}else{if(aq.length>1){t.requestSelector(aq[0]).showGrips(false)}}aq.sort(function(aW,aV){if(aW&&aV&&aW.compareDocumentPosition){return 3-(aV.compareDocumentPosition(aW)&6)}else{if(aW==null){return 1}}});while(aq[0]==null){aq.shift(0)}};this.removeFromSelection=function(aQ){if(aq[0]==null){return}if(aQ.length==0){return}var aT=new Array(aq.length);var aV=new Array(n.length);var aR=0;var aP=aq.length;for(var aS=0;aS<aP;++aS){var aU=aq[aS];if(aU){if(aQ.indexOf(aU)==-1){aT[aR]=aU;if(aR==0){aV[aR]=n[aS]}aR++}else{t.releaseSelector(aU)}}}aq=aT;n=aV};var j=null;var C=function(aQ,aR,aP){return{x:aP.a*aQ+aP.c*aR+aP.e,y:aP.b*aQ+aP.d*aR+aP.f}};var aK=function(aP){return(aP.a==1&&aP.b==0&&aP.c==0&&aP.d==1&&aP.e==0&&aP.f==0)};var P=function(){var aT=function(aW,aV){var aU=v.createSVGMatrix();aU.a=aW.a*aV.a+aW.c*aV.b;aU.b=aW.b*aV.a+aW.d*aV.b,aU.c=aW.a*aV.c+aW.c*aV.d,aU.d=aW.b*aV.c+aW.d*aV.d,aU.e=aW.a*aV.e+aW.c*aV.f+aW.e,aU.f=aW.b*aV.e+aW.d*aV.f+aW.f;return aU};var aR=arguments,aS=aR.length,aP=aR[aS-1];while(aS-->1){var aQ=aR[aS-1];aP=aT(aQ,aP)}return aP};var l=function(aV,aU,aQ){var aU=aU==undefined?0:aU;var aQ=aQ==undefined?(aV.numberOfItems-1):aQ;aU=parseInt(aU);aQ=parseInt(aQ);if(aU>aQ){var aR=aQ;aQ=aU;aU=aR}var aP=v.createSVGMatrix();for(var aT=aU;aT<=aQ;++aT){var aS=(aT>=0&&aT<aV.numberOfItems?aV.getItem(aT).matrix:v.createSVGMatrix());aP=P(aP,aS)}return v.createSVGTransformFromMatrix(aP)};var ap=function(aR){var aQ=aR.numberOfItems;while(aQ--){var aP=aR.getItem(aQ);if(aP.type==1&&!aK(aP.matrix)){return true}}return false};var O=function(aQ,aT){var aP=aQ.matrix;var aS={tx:0,ty:0,sx:1,sy:1,angle:0,cx:0,cy:0,text:""};var aU=aT?M:1;switch(aQ.type){case 1:aS.text="matrix("+[aP.a,aP.b,aP.c,aP.d,aP.e,aP.f].join(",")+")";break;case 2:aS.tx=aP.e;aS.ty=aP.f;aS.text="translate("+aP.e*aU+","+aP.f*aU+")";break;case 3:aS.sx=aP.a;aS.sy=aP.d;if(aP.a==aP.d){aS.text="scale("+aP.a+")"}else{aS.text="scale("+aP.a+","+aP.d+")"}break;case 4:aS.angle=aQ.angle;if(aQ.angle!=0){var aR=1-aP.a;aS.cy=(aR*aP.f+aP.b*aP.e)/(aR*aR+aP.b*aP.b);aS.cx=(aP.e-aP.b*aS.cy)/aR}aS.text="rotate("+aQ.angle+" "+aS.cx*aU+","+aS.cy*aU+")";break}return aS};var aO=function(aR,a1,aY,aS,aQ){var aU={x:aR,y:a1},aV={x:(aR+aY),y:a1},aP={x:(aR+aY),y:(a1+aS)},aT={x:aR,y:(a1+aS)};aU=C(aU.x,aU.y,aQ);var a0=aU.x,aX=aU.x,aZ=aU.y,aW=aU.y;aV=C(aV.x,aV.y,aQ);a0=Math.min(a0,aV.x);aX=Math.max(aX,aV.x);aZ=Math.min(aZ,aV.y);aW=Math.max(aW,aV.y);aT=C(aT.x,aT.y,aQ);a0=Math.min(a0,aT.x);aX=Math.max(aX,aT.x);aZ=Math.min(aZ,aT.y);aW=Math.max(aW,aT.y);aP=C(aP.x,aP.y,aQ);a0=Math.min(a0,aP.x);aX=Math.max(aX,aP.x);aZ=Math.min(aZ,aP.y);aW=Math.max(aW,aP.y);return{tl:aU,tr:aV,bl:aT,br:aP,aabox:{x:a0,y:aZ,width:(aX-a0),height:(aW-aZ)}}};(function(){var aW=null;var aU=null;var aS=null;var aV={};var aR={minx:null,miny:null,maxx:null,maxy:null};var aQ=function(bb){j=v.getScreenCTM().inverse();var bc=C(bb.pageX,bb.pageY,j);var a6=bc.x;var a5=bc.y;bb.preventDefault();if($.inArray(aE,["select","resize"])==-1){r()}var ba=a6/M;var a8=a5/M;aU=ba;aS=a8;var aX=bb.target;while(aX.parentNode.parentNode.tagName=="g"){aX=aX.parentNode}if(aX.nodeName.toLowerCase()=="div"){aX=v}if(aX.parentNode==t.selectorParentGroup&&aq[0]!=null){var a9=bb.target.id;var a4=a9.substr(0,20);if(a4=="selectorGrip_rotate_"){aE="rotate"}else{if(a4=="selectorGrip_resize_"){aE="resize";L=a9.substr(20,a9.indexOf("_",20)-20)}}aX=aq[0]}T=aX.getAttribute("transform");var a1=aM.getTransformList(aX);switch(aE){case"select":ah=true;L="none";if(aX!=v){if(aq.indexOf(aX)==-1){if(!bb.shiftKey){aM.clearSelection()}aM.addToSelection([aX]);z=aX;o.clear()}for(var aZ=0;aZ<aq.length;++aZ){if(aq[aZ]==null){continue}var a3=aM.getTransformList(aq[aZ]);a3.insertItemBefore(v.createSVGTransform(),0)}}else{aM.clearSelection();aE="multiselect";if(g==null){g=t.getRubberBandBox()}aU*=M;aS*=M;Z(g,{x:aU,y:aS,width:0,height:0,display:"inline"},100)}break;case"zoom":ah=true;aU=ba;aS=a8;if(g==null){g=t.getRubberBandBox()}Z(g,{x:aU*M,y:aS*M,width:0,height:0,display:"inline"},100);break;case"resize":ah=true;aU=ba;aS=a8;aV=aM.getBBox($("#selectedBox0")[0]);$.each(aV,function(bd,be){aV[bd]=be/M});var a7=aM.getRotationAngle(aX)?1:0;if(ap(a1)){a1.insertItemBefore(v.createSVGTransform(),a7);a1.insertItemBefore(v.createSVGTransform(),a7);a1.insertItemBefore(v.createSVGTransform(),a7)}else{a1.appendItem(v.createSVGTransform());a1.appendItem(v.createSVGTransform());a1.appendItem(v.createSVGTransform())}break;case"fhellipse":case"fhrect":case"fhpath":ah=true;aU=ba;aS=a8;aW=ba+","+a8+" ";var aY=an.stroke_width==0?1:an.stroke_width;c({element:"polyline",attr:{points:aW,id:aJ(),fill:"none",stroke:an.stroke,"stroke-width":aY,"stroke-dasharray":an.stroke_style,"stroke-opacity":an.stroke_opacity,"stroke-linecap":"round","stroke-linejoin":"round",opacity:an.opacity/2,style:"pointer-events:none"}});aR.minx=ba;aR.maxx=ba;aR.miny=a8;aR.miny=a8;break;case"image":ah=true;aU=ba;aS=a8;var a2=c({element:"image",attr:{x:ba,y:a8,width:0,height:0,id:aJ(),opacity:an.opacity/2,style:"pointer-events:inherit"}});a2.setAttributeNS(af,"href",N);ax(a2);break;case"square":case"rect":ah=true;aU=ba;aS=a8;c({element:"rect",attr:{x:ba,y:a8,width:0,height:0,id:aJ(),fill:an.fill,stroke:an.stroke,"stroke-width":an.stroke_width,"stroke-dasharray":an.stroke_style,"stroke-opacity":an.stroke_opacity,"fill-opacity":an.fill_opacity,opacity:an.opacity/2,style:"pointer-events:inherit"}});break;case"line":ah=true;var aY=an.stroke_width==0?1:an.stroke_width;c({element:"line",attr:{x1:ba,y1:a8,x2:ba,y2:a8,id:aJ(),stroke:an.stroke,"stroke-width":aY,"stroke-dasharray":an.stroke_style,"stroke-opacity":an.stroke_opacity,fill:"none",opacity:an.opacity/2,style:"pointer-events:none"}});break;case"circle":ah=true;c({element:"circle",attr:{cx:ba,cy:a8,r:0,id:aJ(),fill:an.fill,stroke:an.stroke,"stroke-width":an.stroke_width,"stroke-dasharray":an.stroke_style,"stroke-opacity":an.stroke_opacity,"fill-opacity":an.fill_opacity,opacity:an.opacity/2,style:"pointer-events:inherit"}});break;case"ellipse":ah=true;c({element:"ellipse",attr:{cx:ba,cy:a8,rx:0,ry:0,id:aJ(),fill:an.fill,stroke:an.stroke,"stroke-width":an.stroke_width,"stroke-dasharray":an.stroke_style,"stroke-opacity":an.stroke_opacity,"fill-opacity":an.fill_opacity,opacity:an.opacity/2,style:"pointer-events:inherit"}});break;case"text":ah=true;var a0=c({element:"text",attr:{x:ba,y:a8,id:aJ(),fill:aI.fill,stroke:an.stroke,"stroke-width":aI.stroke_width,"stroke-dasharray":an.stroke_style,"stroke-opacity":an.stroke_opacity,"fill-opacity":an.fill_opacity,opacity:an.opacity,"font-size":aI.font_size,"font-family":aI.font_family,"text-anchor":"middle",style:"pointer-events:inherit","xml:space":"preserve"}});a0.textContent="text";break;case"path":case"pathedit":o.mouseDown(bb,aX,aU,aS);ah=true;break;case"rotate":ah=true;aM.beginUndoableChange("transform",aq);break;default:console.log("Unknown mode in mousedown: "+aE);break}};var aT=function(br){if(!ah){return}var bp=aq[0];var ba=C(br.pageX,br.pageY,j);var bw=ba.x;var bv=ba.y;var bj=b(p());x=bw/M;y=bv/M;br.preventDefault();switch(aE){case"select":if(aq[0]!=null){var a2=x-aU;var a1=y-aS;if(a2!=0||a1!=0){var bh=aq.length;for(var bD=0;bD<bh;++bD){var bp=aq[bD];if(bp==null){break}if(bD==0){var a6=aM.getBBox(bp);n[bD].x=a6.x+a2;n[bD].y=a6.y+a1}var by=v.createSVGTransform();var bt=aM.getTransformList(bp);by.setTranslate(a2,a1);if(bt.numberOfItems){bt.replaceItem(by,0)}else{bt.appendItem(by)}t.requestSelector(bp).resize()}}}break;case"multiselect":x*=M;y*=M;Z(g,{x:Math.min(aU,x),y:Math.min(aS,y),width:Math.abs(x-aU),height:Math.abs(y-aS)},100);var bq=[],bC=[];var a3=az();var bh=aq.length;for(var bD=0;bD<bh;++bD){var bE=a3.indexOf(aq[bD]);if(bE==-1){bq.push(aq[bD])}else{a3[bE]=null}}bh=a3.length;for(var bD=0;bD<bh;++bD){if(a3[bD]){bC.push(a3[bD])}}if(bq.length>0){aM.removeFromSelection(bq)}if(bC.length>0){aM.addToSelection(bC)}break;case"resize":var bt=aM.getTransformList(bp);var bb=ap(bt);var a6=bb?aV:aM.getBBox(bp),a4=a6.x,a5=a6.y,aX=a6.width,aZ=a6.height,a2=(x-aU),a1=(y-aS);var bg=aM.getRotationAngle(bp);if(bg){var bx=Math.sqrt(a2*a2+a1*a1);var bi=Math.atan2(a1,a2)-bg*Math.PI/180;a2=bx*Math.cos(bi);a1=bx*Math.sin(bi)}if(L.indexOf("n")==-1&&L.indexOf("s")==-1){a1=0}if(L.indexOf("e")==-1&&L.indexOf("w")==-1){a2=0}var bG=null;var bB=0,bA=0;var a8=aZ?(aZ+a1)/aZ:1,a9=aX?(aX+a2)/aX:1;if(L.indexOf("n")!=-1){a8=aZ?(aZ-a1)/aZ:1;bA=aZ}if(L.indexOf("w")!=-1){a9=aX?(aX-a2)/aX:1;bB=aX}var bI=v.createSVGTransform(),bs=v.createSVGTransform(),bc=v.createSVGTransform();bI.setTranslate(-(a4+bB),-(a5+bA));if(br.shiftKey){if(a9==1){a9=a8}else{a8=a9}}bs.setScale(a9,a8);bc.setTranslate(a4+bB,a5+bA);if(bb){var bo=bg?1:0;bt.replaceItem(bI,2+bo);bt.replaceItem(bs,1+bo);bt.replaceItem(bc,0+bo)}else{var a7=bt.numberOfItems;bt.replaceItem(bc,a7-3);bt.replaceItem(bs,a7-2);bt.replaceItem(bI,a7-1)}var bd=n[0];bd.x=a4;bd.y=a5;if(bB){bd.x+=a2}if(bA){bd.y+=a1}t.requestSelector(bp).resize();break;case"zoom":x*=M;y*=M;Z(g,{x:Math.min(aU*M,x),y:Math.min(aS*M,y),width:Math.abs(x-aU*M),height:Math.abs(y-aS*M)},100);break;case"text":Z(bj,{x:x,y:y},1000);break;case"line":var bk=null;if(!window.opera){v.suspendRedraw(1000)}bj.setAttributeNS(null,"x2",x);bj.setAttributeNS(null,"y2",y);if(!window.opera){v.unsuspendRedraw(bk)}break;case"square":case"rect":case"image":var bH=(aE=="square")||br.shiftKey;var bu=Math.abs(x-aU),bF=Math.abs(y-aS),bf,be;if(bH){bu=bF=Math.max(bu,bF);bf=aU<x?aU:aU-bu;be=aS<y?aS:aS-bF}else{bf=Math.min(aU,x);be=Math.min(aS,y)}Z(bj,{width:bu,height:bF,x:bf,y:be},1000);break;case"circle":var bm=bj.getAttributeNS(null,"cx");var bl=bj.getAttributeNS(null,"cy");var a0=Math.sqrt((x-bm)*(x-bm)+(y-bl)*(y-bl));bj.setAttributeNS(null,"r",a0);break;case"ellipse":var bm=bj.getAttributeNS(null,"cx");var bl=bj.getAttributeNS(null,"cy");var bk=null;if(!window.opera){v.suspendRedraw(1000)}bj.setAttributeNS(null,"rx",Math.abs(x-bm));var bn=Math.abs(br.shiftKey?(x-bm):(y-bl));bj.setAttributeNS(null,"ry",bn);if(!window.opera){v.unsuspendRedraw(bk)}break;case"fhellipse":case"fhrect":aR.minx=Math.min(x,aR.minx);aR.maxx=Math.max(x,aR.maxx);aR.miny=Math.min(y,aR.miny);aR.maxy=Math.max(y,aR.maxy);case"fhpath":aU=x;aS=y;aW+=+x+","+y+" ";bj.setAttributeNS(null,"points",aW);break;case"path":case"pathedit":o.mouseMove(bw,bv);break;case"rotate":var a6=aM.getBBox(bp),bm=a6.x+a6.width/2,bl=a6.y+a6.height/2;var bz=l(aM.getTransformList(bp)).matrix;var aY=C(bm,bl,bz);bm=aY.x;bl=aY.y;var bg=((Math.atan2(bl-y,bm-x)*(180/Math.PI))-90)%360;aM.setRotationAngle(bg<-180?(360+bg):bg,true);Q("changed",aq);break;default:break}};var aP=function(a6){var a1=z;z=null;if(!ah){return}var a9=C(a6.pageX,a6.pageY,j);var aY=a9.x;var aX=a9.y;var a3=aY/M;var a2=aX/M;ah=false;var aZ=b(p());var bd=false;switch(aE){case"resize":case"multiselect":if(g!=null){g.setAttribute("display","none");ai=[]}aE="select";case"select":if(aq[0]!=null){if(aq[1]==null){var a8=aq[0];if(a8.tagName!="g"&&a8.tagName!="image"){k.fill=a8.getAttribute("fill");k.fill_opacity=a8.getAttribute("fill-opacity");k.stroke=a8.getAttribute("stroke");k.stroke_opacity=a8.getAttribute("stroke-opacity");k.stroke_width=a8.getAttribute("stroke-width");k.stroke_style=a8.getAttribute("stroke-dasharray")}if(a8.tagName=="text"){aI.font_size=a8.getAttribute("font-size");aI.font_family=a8.getAttribute("font-family")}t.requestSelector(a8).showGrips(true)}aB();if(a3!=aU||a2!=aS){var bc=aq.length;for(var bb=0;bb<bc;++bb){if(aq[bb]==null){break}if(aq[bb].tagName!="g"){t.requestSelector(aq[bb]).resize()}}}else{var a5=a6.target;if(aq[0].nodeName=="path"&&aq[1]==null){o.select(a5)}else{if(a6.shiftKey){if(a1!=a5){aM.removeFromSelection([a5])}}}}}return;break;case"zoom":if(g!=null){g.setAttribute("display","none")}var a7=a6.shiftKey?0.5:2;Q("zoomed",{x:Math.min(aU,a3),y:Math.min(aS,a2),width:Math.abs(a3-aU),height:Math.abs(a2-aS),factor:a7});return;case"fhpath":var ba=aZ.getAttribute("points");var a0=ba.indexOf(",");if(a0>=0){bd=ba.indexOf(",",a0+1)>=0}else{bd=ba.indexOf(" ",ba.indexOf(" ")+1)>=0}break;case"line":bd=(aZ.getAttribute("x1")!=aZ.getAttribute("x2")||aZ.getAttribute("y1")!=aZ.getAttribute("y2"));break;case"square":case"rect":bd=(aZ.getAttribute("width")!=0||aZ.getAttribute("height")!=0);break;case"image":bd=(aZ.getAttribute("width")!=0||aZ.getAttribute("height")!=0);break;case"circle":bd=(aZ.getAttribute("r")!=0);break;case"ellipse":bd=(aZ.getAttribute("rx")!=null||aZ.getAttribute("ry")!=null);break;case"fhellipse":if((aR.maxx-aR.minx)>0&&(aR.maxy-aR.miny)>0){aZ=c({element:"ellipse",attr:{cx:(aR.minx+aR.maxx)/2,cy:(aR.miny+aR.maxy)/2,rx:(aR.maxx-aR.minx)/2,ry:(aR.maxy-aR.miny)/2,id:p(),fill:an.fill,stroke:an.stroke,"stroke-width":an.stroke_width,"stroke-dasharray":an.stroke_style,opacity:an.opacity,"stroke-opacity":an.stroke_opacity,"fill-opacity":an.fill_opacity,style:"pointer-events:inherit"}});Q("changed",[aZ]);bd=true}break;case"fhrect":if((aR.maxx-aR.minx)>0&&(aR.maxy-aR.miny)>0){aZ=c({element:"rect",attr:{x:aR.minx,y:aR.miny,width:(aR.maxx-aR.minx),height:(aR.maxy-aR.miny),id:p(),fill:an.fill,stroke:an.stroke,"stroke-width":an.stroke_width,"stroke-dasharray":an.stroke_style,opacity:an.opacity,"stroke-opacity":an.stroke_opacity,"fill-opacity":an.fill_opacity,style:"pointer-events:inherit"}});Q("changed",[aZ]);bd=true}break;case"text":bd=true;aM.clearSelection();break;case"path":aZ=null;ah=true;var be=o.mouseUp(a6,aZ,aY,aX);aZ=be.element;bd=be.keep;break;case"pathedit":bd=true;aZ=null;o.mouseUp(a6);break;case"rotate":bd=true;aZ=null;aE="select";var a4=aM.finishUndoableChange();if(!a4.isEmpty()){at(a4)}aB();break;default:console.log("Unknown mode in mouseup: "+aE);break}if(!bd&&aZ!=null){aZ.parentNode.removeChild(aZ);aZ=null;var a5=a6.target;while(a5.parentNode.parentNode.tagName=="g"){a5=a5.parentNode}if((aE!="path"||current_path_pts.length==0)&&a5.parentNode.id!="selectorParentGroup"&&a5.id!="svgcanvas"&&a5.id!="svgroot"){aM.addToSelection([a5],true);aM.setMode("select")}}else{if(aZ!=null){aM.addedNew=true;aZ.setAttribute("opacity",an.opacity);aZ.setAttribute("style","pointer-events:inherit");W(aZ);if(aE=="path"){o.toEditMode(aZ)}else{if(aE=="text"||aE=="image"){aM.addToSelection([aZ],true)}}at(new a(aZ));Q("changed",[aZ])}}T=null};$(al).mousedown(aQ).mousemove(aT);$(window).mouseup(aP)}());var o=function(){var a0=[];var aZ=null;var a3=[];var a4=-1;var ba=-1;var a7=null;var a5=-1;var aW=false;var aR=function(){if(!aZ){return}var bd=v.suspendRedraw(100);aV();aX();a2();v.unsuspendRedraw(bd)};var aU=function(be){var bd=$("#pathpointgrip_container,#ctrlpointgrip_container");$.each(bd,function(){if(!be){this.removeAttribute("transform")}else{this.setAttribute("transform",be)}})};var aX=function(){a3=[];var bd=aZ.pathSegList;var bk=bd.getItem(0).x,bi=bd.getItem(0).y;a3.push(bk*M);a3.push(bi*M);var bg=bd.numberOfItems;for(var bf=1;bf<bg;++bf){var be=bd.getItem(bf);var bl=be.x,bj=be.y;if(be.pathSegType==1){break}var bh=be.pathSegType;if(bh==4){bk=bl;bi=bj}else{if(bh==5){bk+=bl;bi+=bj}else{if(bh==6){bk=bl;bi=bj}else{if(bh==7){bk+=bl;bi+=bj}}}}a3.push(bk*M);a3.push(bi*M)}};var aV=function(){$("#pathpointgrip_container > *").attr("display","none");var bd=b("path_stretch_line");if(bd){bd.setAttribute("display","none")}$("#ctrlpointgrip_container *").attr("display","none")};var bb=function(bd){var be=bc();var bg=a3.length/2-1;if(be&&bd==bg){a4=0}else{a4=bd}$("#pathpointgrip_container circle").attr("stroke","#00F");var bh=(a4==0&&be)?bg:bd;$("#pathpointgrip_"+bh).attr("stroke","#0FF");var bf=$("#pathpointgrip_"+bd);$("#ctrlpointgrip_container circle").attr("fill","#EEE");$("#ctrlpointgrip_"+a4+"c1, #ctrlpointgrip_"+a4+"c2").attr("fill","#0FF");a6();a6(true);Q("selected",[bf[0]])};var a2=function(br){var bm=a3.length;for(var bi=0;bi<bm;bi+=2){var bj=b("pathpointgrip_"+bi/2);if(bj){Z(bj,{cx:a3[bi],cy:a3[bi+1],display:"inline"})}else{a8(a3[bi],a3[bi+1],bi/2)}var bl=bi/2;var bq=aZ.pathSegList.getItem(bl);if(bq.pathSegType==6){bl-=1;var bh=aT(bl)[0];var bg=aT(bl)[1];var bn=aT(bl+1)[0];var bk=aT(bl+1)[1];aP(bq.x1,bq.y1,bh,bg,bl+"c1");aP(bq.x2,bq.y2,bn,bk,bl+"c2")}}var be=aM.getRotationAngle(aZ);if(be){var bp=aM.getBBox(aZ);var bf=(bp.x+bp.width/2)*M,bd=(bp.y+bp.height/2)*M;var bo=["rotate(",be," ",bf,",",bd,")"].join("");aU(bo)}if(br!=null){bb(br)}};var a8=function(bd,bj,bf){var bi=b("pathpointgrip_container");if(!bi){var bg=b("selectorParentGroup");bi=bg.appendChild(document.createElementNS(ak,"g"));bi.id="pathpointgrip_container"}var bh=b("pathpointgrip_"+bf);if(!bh){bh=document.createElementNS(ak,"circle");Z(bh,{id:"pathpointgrip_"+bf,display:"none",r:4,fill:"#0FF",stroke:"#00F","stroke-width":2,cursor:"move",style:"pointer-events:all","xlink:title":ac.pathNodeTooltip});bh=bi.appendChild(bh);var be=$("#pathpointgrip_"+bf);be.dblclick(function(){aM.setSegType()})}Z(bh,{cx:bd,cy:bj,display:"inline"})};var bc=function(){if(!aZ){return}return aZ.getAttribute("d").substr(-1,1).toLowerCase()=="z"};var a6=function(bg){var bf=b("segline");if(!bf){var bh=$("#pathpointgrip_container")[0];bf=document.createElementNS(ak,"path");Z(bf,{id:"segline",fill:"none",stroke:"#0FF","stroke-width":2,style:"pointer-events:none"});bf=bh.appendChild(bf)}if(!bf.getAttribute("d")){var bi=aT(a4);bf.setAttribute("d","M"+bi.join(",")+" 0,0")}bf.setAttribute("display","inline");if(a4+1>=aZ.pathSegList.numberOfItems){bf.setAttribute("display","none");return}if(!bg){aS(2,0,aT(a4,true),bf)}else{var bd=aZ.pathSegList.getItem(a4+1);var be=[bd.x,bd.y];if(bd.x1!=null&&bd.x2!=null){be.splice(2,0,bd.x1,bd.y1,bd.x2,bd.y2)}be=$.map(be,function(bj){return bj*M});aS(bd.pathSegType,1,be,bf)}};var a1=function(bE,bC,bq){var bz=bE/M;var by=bC/M;var bA=bc();var bH=ba*2;var bw=a3.length/2-1;var bD=ba==0||(bA&&ba==bw);var bK=!bA&&ba==bw;var bk=aM.getRotationAngle(aZ,true);if(bk){var bh=n[0];var bn=(bh.x+bh.width/2)*M,bm=(bh.y+bh.height/2)*M;var bg=bE-bn,be=bC-bm;var bF=Math.sqrt(bg*bg+be*be);var bl=Math.atan2(be,bg)-bk;a3[bH]=bE=bn+bF*Math.cos(bl);a3[bH+1]=bC=bm+bF*Math.sin(bl);bz=bE/M;by=bC/M}else{a3[bH]=bz*M;a3[bH+1]=by*M}if(bD&&bA){a3[0]=a3[bH];a3[1]=a3[bH+1];ba=0}var br=ba;var bf=aT(br)[0];var bd=aT(br)[1];var bp=aZ.pathSegList.getItem(br);var bo=bz-bq[br*2];var bL=by-bq[br*2+1];var bG=bp.pathSegType;var bx=[];if(bG==6){bx=[bf,bd,bp.x1,bp.y1,bp.x2+bo,bp.y2+bL]}else{if(bD){bx=aT(0)}else{bx=[bf,bd]}}aS(bG,br,bx);var bt=function(bN,bR){var bP,bQ=aZ.pathSegList.getItem(bN);var bO=bQ.pathSegType;if(bR){bQ.x+=bo;bQ.y+=bL}switch(bO){case 1:bP=[];break;case 4:bP=[bQ.x,bQ.y];break;case 6:if(bR){bQ.x1-=bo;bQ.y1-=bL;bQ.x2+=bo;bQ.y2+=bL}bP=[bQ.x,bQ.y,bQ.x1+bo,bQ.y1+bL,bQ.x2,bQ.y2];break;default:break}aS(bO,bN,bP);return bO};if(bA||!bK){var bI=bt(br+1)}else{var bI=0}if(bD&&bA){var bB=bt(bw,1)}var bs=b("pathpointgrip_"+ba);if(bs){bs.setAttribute("cx",bE);bs.setAttribute("cy",bC);if(bA&&bD){var bs=b("pathpointgrip_"+bw);bs.setAttribute("cx",bE);bs.setAttribute("cy",bC)}Q("changed",[bs])}if(bD){bG=bB}if(bG!=4){var bJ=bD?bw:br;var bu=(bJ-1)+"c2";var bi=b("ctrlLine_"+bu);if(bi){if(!(!bA&&ba==0)){var bj=bi.getAttribute("x2")-0+bo*M;var bM=bi.getAttribute("y2")-0+bL*M;aP(bj,bM,bE,bC,bu,true)}}}if(bI!=4){var bv=(ba)+"c1";var bi=b("ctrlLine_"+bv);if(bi){var bj=bi.getAttribute("x2")-0+bo*M;var bM=bi.getAttribute("y2")-0+bL*M;aP(bj,bM,bE,bC,bv,true)}}a6();if(bI!=4){a6(true)}};var aY=function(be,bd,bh,br){var bu=aZ.pathSegList;if(bh+1>=bu.numberOfItems){bh=-1}var bp=bu.getItem(bh+1);if(bp.pathSegType!=6){return}ctrl_pt_drag=bh+"c"+br;var bk=be/M;var bj=bd/M;var bt=aM.getRotationAngle(aZ,true);if(bt){var bl=n[0];var bg=(bl.x+bl.width/2)*M,bf=(bl.y+bl.height/2)*M;var bo=be-bg,bn=bd-bf;var bq=Math.sqrt(bo*bo+bn*bn);var bi=Math.atan2(bn,bo)-bt;be=bg+bq*Math.cos(bi);bd=bf+bq*Math.sin(bi);bk=be/M;bj=bd/M}bp["x"+br]=bk;bp["y"+br]=bj;aS(6,bh+1,[bp.x,bp.y,bp.x1,bp.y1,bp.x2,bp.y2]);a6(true);var bs=b("ctrlpointgrip_"+ctrl_pt_drag);if(bs){bs.setAttribute("cx",be);bs.setAttribute("cy",bd);var bm=b("ctrlLine_"+ctrl_pt_drag);bm.setAttribute("x2",be);bm.setAttribute("y2",bd)}};var aT=function(be,bf){var bd=a3.length;var bg=bd/2;if(be<0){be+=bg}else{if(be>=bg){be-=bg}}var bh=bf?1:M;return[a3[be*2]/bh,a3[be*2+1]/bh]};var aS=function(bl,bj,bm,bn){if(!bn){bn=aZ}var bd="createSVGPathSeg"+a0[bl];var bg=bn[bd].apply(bn,bm);if(aC.pathReplaceItem){bn.pathSegList.replaceItem(bg,bj)}else{var be=bn.pathSegList;var bk=be.numberOfItems;var bi=[];for(var bh=0;bh<bk;bh++){var bf=be.getItem(bh);bi.push(bf)}be.clear();for(var bh=0;bh<bk;bh++){if(bh==bj){be.appendItem(bg)}else{be.appendItem(bi[bh])}}}};var aP=function(bj,bi,bf,be,bd,bg){if(!bg){bj*=M;bi*=M;bf*=M;be*=M}var bh=b("ctrlpointgrip_container");if(!bh){var bk=b("selectorParentGroup");bh=bk.appendChild(document.createElementNS(ak,"g"));bh.id="ctrlpointgrip_container"}bh.setAttribute("display","inline");var bm=b("ctrlLine_"+bd);if(!bm){bm=document.createElementNS(ak,"line");Z(bm,{id:"ctrlLine_"+bd,stroke:"#555","stroke-width":1,style:"pointer-events:none"});bm=bh.appendChild(bm)}Z(bm,{x1:bf,y1:be,x2:bj,y2:bi,display:"inline"});var bl=b("ctrlpointgrip_"+bd);if(!bl){bl=document.createElementNS(ak,"circle");Z(bl,{id:"ctrlpointgrip_"+bd,display:"none",r:4,fill:"#0FF",stroke:"#55F","stroke-width":1,cursor:"move",style:"pointer-events:all","xlink:title":ac.pathCtrlPtTooltip});bl=bh.appendChild(bl)}Z(bl,{cx:bj,cy:bi,display:"inline"})};var aQ=function(bd){for(var be=1;be<=2;be++){$("#ctrlpointgrip_"+bd+"c"+be+",#ctrlLine_"+bd+"c"+be).attr("display","none")}};var a9=function(){var bv=aM.getRotationAngle(aZ,true);if(!bv){return}var bm=aM.getBBox(aZ);var bq=n[0];var be=bq.x+bq.width/2,bd=bq.y+bq.height/2,bz=bm.x+bm.width/2,bx=bm.y+bm.height/2;var bo=bz-be,bn=bx-bd;var bp=Math.sqrt(bo*bo+bn*bn);var bk=Math.atan2(bn,bo)+bv;bz=bp*Math.cos(bk)+be;bx=bp*Math.sin(bk)+bd;var bt=function(bA,bB){bo=bA-be;bn=bB-bd;bp=Math.sqrt(bo*bo+bn*bn);bk=Math.atan2(bn,bo)+bv;bo=bp*Math.cos(bk)+be;bn=bp*Math.sin(bk)+bd;bo-=bz;bn-=bx;bp=Math.sqrt(bo*bo+bn*bn);bk=Math.atan2(bn,bo)-bv;return{x:(bp*Math.cos(bk)+bz)/1,y:(bp*Math.sin(bk)+bx)/1}};var bw=aZ.pathSegList;var bs=bw.numberOfItems;while(bs){bs-=1;var bu=bw.getItem(bs);var bj=bu.pathSegType;if(bj==1){continue}var by=bt(bu.x,bu.y);var br=[by.x,by.y];if(bu.x1!=null&&bu.x2!=null){c_vals1=bt(bu.x1,bu.y1);c_vals2=bt(bu.x2,bu.y2);br.splice(br.length,0,c_vals1.x,c_vals1.y,c_vals2.x,c_vals2.y)}aS(bj,bs,br)}bm=aM.getBBox(aZ);n[0].x=bm.x;n[0].y=bm.y;n[0].width=bm.width;n[0].height=bm.height;var bh=v.createSVGTransform();var bl=aM.getTransformList(aZ);bh.setRotate((bv*180/Math.PI),bz,bx);bl.replaceItem(bh,0);if(b("pathpointgrip_container")){var bg=bz*M,bf=bx*M;var bi=["rotate(",(bv*180/Math.PI)," ",bg,",",bf,")"].join("");aU(bi)}aR();a6(true);a6()};return{init:function(){a0=[0,"ClosePath"];var bd=["Moveto","Lineto","CurvetoCubic","CurvetoQuadratic","Arc","LinetoHorizontal","LinetoVertical","CurvetoCubicSmooth","CurvetoQuadraticSmooth"];$.each(bd,function(be,bf){a0.push(bf+"Abs");a0.push(bf+"Rel")})},mouseDown:function(be,bh,bf,bd){if(aE=="path"){aU("");return}if(!aZ){return}a7=aZ.getAttribute("d");var bj=be.target.id;if(bj.substr(0,14)=="pathpointgrip_"){ba=parseInt(bj.substr(14));bb(ba);a6()}else{if(bj.indexOf("ctrlpointgrip_")==0){a5=bj.split("_")[1];var bg=a5.split("c")[0]-0;bb(bg)}}if(ba==-1&&a5==-1){aM.clearSelection();if(bh.id!="svgroot"){aZ=null;aM.addToSelection([bh],true);aM.setMode("select");var bi=aM.getTransformList(bh);bi.insertItemBefore(v.createSVGTransform(),0)}else{aM.setMode("multiselect");if(g==null){g=t.getRubberBandBox()}Z(g,{x:bf,y:bd,width:0,height:0,display:"inline"},100)}}},mouseMove:function(bm,bk){if(aE=="path"){var bp=b("path_stretch_line");if(bp){bp.setAttribute("x2",x*=M);bp.setAttribute("y2",y*=M)}return}if(ba!=-1&&aZ){var be=$.map(a3,function(bq){return bq/M});a1(bm,bk,be)}else{if(a5!=-1&&aZ){var bf=a5.split("c");var bg=bf[0]-0;var bd=bf[1]-0;var bi;var bh=a3.length/2;aY(bm,bk,bg,bd);if(aW){var bn=bc();if(bd==1){bd=2;bg--;bi=bg+1;if(bg<0){bg=bh-2;if(!bn){return}}}else{bd=1;bg++;bi=bg;if(bg>=bh-1){bg=0;if(!bn){return}}}var bo=aT(bi,true);var bl=bo[0]-(bm-bo[0]);var bj=bo[1]-(bk-bo[1]);aY(bl,bj,bg,bd,true)}}}},mouseUp:function(bn,bf,be,bd){if(aE=="path"){var bk=be/M;var bi=bd/M;var bg=b("path_stretch_line");if(!bg){bg=document.createElementNS(ak,"line");Z(bg,{id:"path_stretch_line",stroke:"#22C","stroke-width":"0.5"});bg=b("selectorParentGroup").appendChild(bg)}bg.setAttribute("display","inline");var bv=null;if(a3.length==0){a3.push(bk);a3.push(bi);d_attr="M"+bk+","+bi+" ";c({element:"path",attr:{d:d_attr,id:aJ(),fill:an.fill,"fill-opacity":an.fill_opacity,stroke:an.stroke,"stroke-width":an.stroke_width,"stroke-dasharray":an.stroke_style,"stroke-opacity":an.stroke_opacity,opacity:an.opacity/2,style:"pointer-events:inherit"}});Z(bg,{x1:be,y1:bd,x2:be,y2:bd});a8(be,bd,0)}else{var bt=a3.length;var bh=6/M;var bs=false;while(bt){bt-=2;var bo=a3[bt],bm=a3[bt+1];if(bk>=(bo-bh)&&bk<=(bo+bh)&&bi>=(bm-bh)&&bi<=(bm+bh)){bs=true;break}}var bq=b(p());var bu=a3.length;if(bs){if(bt==0&&bu>=6){var bx=a3[0];var bw=a3[1];d_attr+=["L",bx,",",bw,"z"].join("");bq.setAttribute("d",d_attr)}else{if(bu<3){bv=false;return bv}}aV();bf=bq;a3=[];ah=false}else{var br=a3[bu-2],bp=a3[bu-1];a3.push(bk);a3.push(bi);d_attr+="L"+B(bk)+","+B(bi)+" ";bq.setAttribute("d",d_attr);Z(bg,{x1:be,y1:bd,x2:be,y2:bd});a8(be,bd,(a3.length/2-1))}bv=true}return{keep:bv,element:bf}}if(ba!=-1){ba=-1;var bl=new aa("Edit Path");var bj={};bj.d=a7;a9();bl.addSubCommand(new Y(aZ,bj,"path points"));at(bl);Q("changed",[aZ]);if(bc()){a3[a3.length-2]=aT(0,true)[0];a3[a3.length-1]=aT(0,true)[1]}}else{if(a5!=-1){a5=-1;a9();var bl=new aa("Edit Path control points");bl.addSubCommand(new Y(aZ,{d:a7}));at(bl);Q("changed",[aZ])}else{aE="select";aV();aM.clearSelection();aM.addToSelection([bn.target])}}},toEditMode:function(bd){aZ=bd;aE="pathedit";var be=aM.getRotationAngle(bd);if(!be){aU()}aX();aM.clearSelection();n[0]=aM.getBBox(aZ);a2();bb(0)},select:function(bd){if(aZ==bd){o.toEditMode(aZ);aE="pathedit"}else{aZ=bd}},reorient:function(){var bf=aq[0];if(!bf){return}var bg=aM.getRotationAngle(bf);if(bg==0){return}var bd=new aa("Reorient path");var be={d:bf.getAttribute("d"),transform:bf.getAttribute("transform")};bd.addSubCommand(new Y(bf,be));aM.clearSelection();this.resetOrientation(bf);at(bd);aZ=bf;aU("");aR();this.clear();aM.addToSelection([bf],true);Q("changed",aq)},clear:function(bd){if(bd&&aE=="path"){var be=b(p());if(be){be.parentNode.removeChild(be)}}aV();a3=[];a4=-1;aZ=null},resetOrientation:function(bn){if(bn==null||bn.nodeName!="path"){return false}var bj=aM.getTransformList(bn);var be=l(bj).matrix;bj.clear();bn.removeAttribute("transform");var bf=bn.pathSegList;try{var bk=bf.numberOfItems}catch(bg){var bd=o.convertPath(bn);bn.setAttribute("d",bd);bf=bn.pathSegList;var bk=bf.numberOfItems}for(var bi=0;bi<bk;++bi){var bh=bf.getItem(bi);var bl=bh.pathSegType;if(bl==1){continue}var bm=[];$.each(["",1,2],function(bp,bs){var bo=bh["x"+bs],br=bh["y"+bs];if(bo&&br){var bq=C(bo,br,be);bm.splice(bm.length,0,bq.x,bq.y)}});aS(bl,bi,bm,bn)}},zoomChange:function(){if(aE=="pathedit"){aR();a6(true);a6()}},modeChange:function(){if(aE=="path"&&a3.length>0){var bd=b(p());bd.parentNode.removeChild(bd);this.clear();aM.clearSelection();ah=false}else{if(aE=="pathedit"){this.clear()}}},getNodePoint:function(){if(a4!=-1){var bf=aT(a4);var be=aZ.pathSegList;var bd;if(be.numberOfItems>a4+1){bd=be.getItem(a4+1).pathSegType}else{bd=false}return{x:bf[0],y:bf[1],type:bd}}else{return false}},linkControlPoints:function(bd){aW=bd},clonePathNode:function(){var br=a4,bl=aZ.pathSegList;var bq=bl.getItem(br+1);if(bq.pathSegType%2==0){var bi=bl.getItem(br);var bo=(bq.x+bi.x)/2;var bm=(bq.y+bi.y)/2}else{var bo=bq.x/2;var bm=bq.y/2}var bg=aZ.createSVGPathSegLinetoAbs(bo,bm);if(aC.pathInsertItemBefore){bl.insertItemBefore(bg,br+1)}else{var be=aZ.pathSegList;var bk=be.numberOfItems;var bj=[];for(var bh=0;bh<bk;bh++){var bf=be.getItem(bh);bj.push(bf)}be.clear();for(var bh=0;bh<bk;bh++){if(bh==br+1){be.appendItem(bg)}be.appendItem(bj[bh])}}var bp=(aT(br)[0]+bo)*M;var bn=(aT(br)[1]+bm)*M;var bd=a3.length/2;a8(bp,bn,bd);a3.splice(br*2+2,0,bp,bn);aR();bb(br+1)},deletePathNode:function(){var bj=bc();if(a3.length<=(bj?6:4)){return}var bh=a3.length/2-1;var bl=a4,bf=aZ.pathSegList;var bd=bf.getItem(bl);if(bl==0){var bg=aT(1)[0];var be=aT(1)[1];aS(2,1,[bg,be]);if(bj){var bk=bf.getItem(bh);aS(4,bh,[bg,be]);aQ(bh-1);a3.splice(bh*2,2,bg,be);a3.splice(0,2)}}else{a3.splice(bl*2,2)}bf.removeItem(bl);aR();if(window.opera){var bi=$(aZ);bi.attr("d",bi.attr("d"))}if(bl==bh&&!bj){bl--}bb(bl)},setPointContainerTransform:aU,setSegType:function(bj){var bu=$("#pathpointgrip_"+a4);var bd=aZ.getAttribute("d");var bh=bu[0].id.split("_")[1]-0;var bs=a3.length/2-1;var by=bc();if(!by&&bh==bs){return}else{if(bh>=bs&&by){bh=0}}var bn=bh+1;var bk=aT(bh)[0];var bi=aT(bh)[1];var br=aT(bn)[0];var bq=aT(bn)[1];if(!bj){var bp=new aa("Toggle Path Segment Type");var bo=aZ.pathSegList.getItem(bh+1).pathSegType;bj=(bo==6)?4:6}else{bj-=0;var bp=new aa("Change Path Segment Type")}var bt;var bg=aZ.getBBox();switch(bj){case 6:var bm=br-bk;var bl=bq-bi;var bf=bk+(bl/2);var be=bi-(bm/2);var bw=br+(bl/2);var bv=bq-(bm/2);bt=[br,bq,bf,be,bw,bv];break;case 4:bt=[br,bq];aQ(bh);break}aS(bj,bn,bt);if(ad&&aZ){var bx=o.convertPath(aZ);aZ.setAttribute("d",bx)}a2();a6(true);a9();bp.addSubCommand(new Y(aZ,{d:bd}));at(bp);Q("changed",[aZ])},moveNode:function(bd,bg){bg*=M;var bf=(bd=="x")?0:1;var be=$.map(a3,function(bh){return bh/M});a3[a4*2+bf]=bg-0;ba=a4;a1(a3[a4*2],a3[a4*2+1],be)},convertPath:function(bl,bk){var bd=bl.pathSegList;var bp=bd.numberOfItems;var bn=0,bm=0;var bt="";for(var bo=0;bo<bp;++bo){var br=bd.getItem(bo);var bj=br.x||0,bi=br.y||0,bs=br.x1||0,bf=br.y1||0,bq=br.x2||0,be=br.y2||0;var bg=br.pathSegType;var bu=u[bg]["to"+(bk?"Lower":"Upper")+"Case"]();var bh=function(bv,bw,bx){var by="";var bw=bw?" "+bw.join(" "):"";var bx=bx?aF(bx):"";$.each(bv,function(bz,bA){bv[bz]=aF(bA)});bt+=bu+bv.join(" ")+bw+bx};switch(bg){case 1:bt+="z";break;case 2:case 4:case 12:case 14:case 18:bj-=bn;bi-=bm;case 3:case 5:case 13:case 15:case 19:if(bk){bn+=bj;bm+=bi}else{bj+=bn;bi+=bm;bn=bj;bm=bi}bh([[bj,bi]]);break;case 6:bj-=bn;bs-=bn;bq-=bn;bi-=bm;bf-=bm;be-=bm;case 7:if(bk){bn+=bj;bm+=bi}else{bj+=bn;bs+=bn;bq+=bn;bi+=bm;bf+=bm;be+=bm;bn=bj;bm=bi}bh([[bs,bf],[bq,be],[bj,bi]]);break;case 8:bj-=bn;bs-=bn;bi-=bm;bf-=bm;case 9:if(bk){bn+=bj;bm+=bi}else{bj+=bn;bs+=bn;bi+=bm;bf+=bm;bn=bj;bm=bi}bh([[bs,bf],[bj,bi]]);break;case 10:bj-=bn;bi-=bm;case 11:if(bk){bn+=bj;bm+=bi}else{bj+=bn;bi+=bm;bn=bj;bm=bi}bh([[br.r1,br.r2]],[br.angle,(br.largeArcFlag?1:0),(br.sweepFlag?1:0)],[bj,bi]);break;case 16:bj-=bn;bq-=bn;bi-=bm;be-=bm;case 17:if(bk){bn+=bj;bm+=bi}else{bj+=bn;bq+=bn;bi+=bm;be+=bm;bn=bj;bm=bi}bh([[bq,be],[bj,bi]]);break}}return bt}}}();o.init();this.pathActions=o;var aF=function(aQ){var aP=R.round_digits;if(!isNaN(aQ)){return Number(Number(aQ).toFixed(aP))}else{if($.isArray(aQ)){return aF(aQ[0])+","+aF(aQ[1])}}};this.convertToPath=function(be,bf,bc){if(be==null){var bj=aq;$.each(aq,function(bb,bk){if(bk){aM.convertToPath(bk)}});return}if(!bf){var a3=new aa("Convert element to Path")}var a6=bf?{}:{fill:an.fill,"fill-opacity":an.fill_opacity,stroke:an.stroke,"stroke-width":an.stroke_width,"stroke-dasharray":an.stroke_style,"stroke-opacity":an.stroke_opacity,opacity:an.opacity,visibility:"hidden"};var a4=c({element:"path",attr:a6});var bi=be.getAttribute("transform");if(bi){a4.setAttribute("transform",bi)}var a5=be.id;var a0=be.parentNode;if(be.nextSibling){a0.insertBefore(a4,be)}else{a0.appendChild(a4)}var bg="";var aW=function(bb){$.each(bb,function(bm,bl){var bk=bl[0],bo=bl[1];bg+=bk;for(var bn=0;bn<bo.length;bn+=2){bg+=(bo[bn]+","+bo[bn+1])+" "}})};var aX=1.81;switch(be.tagName){case"ellipse":var aU=be.getAttribute("rx")-0;var aT=be.getAttribute("ry")-0;case"circle":if(be.tagName=="circle"){var aU=aT=be.getAttribute("r")-0}var aS=be.getAttribute("cx")-0;var aQ=be.getAttribute("cy")-0;aW([["M",[(aS-aU),(aQ)]],["C",[(aS-aU),(aQ-aT/aX),(aS-aU/aX),(aQ-aT),(aS),(aQ-aT)]],["C",[(aS+aU/aX),(aQ-aT),(aS+aU),(aQ-aT/aX),(aS+aU),(aQ)]],["C",[(aS+aU),(aQ+aT/aX),(aS+aU/aX),(aQ+aT),(aS),(aQ+aT)]],["C",[(aS-aU/aX),(aQ+aT),(aS-aU),(aQ+aT/aX),(aS-aU),(aQ)]],["Z",[]]]);break;case"path":bg=be.getAttribute("d");break;case"line":var ba=be.getAttribute("x1");var a9=be.getAttribute("x2");var aR=be.getAttribute("y1");var aP=be.getAttribute("y2");bg="M"+ba+","+aR+"L"+a9+","+aP;break;case"polyline":case"polygon":var a7=be.getAttribute("points");bg="M"+a7;break;case"rect":var aU=be.getAttribute("rx")-0;var aT=be.getAttribute("ry")-0;var bh=be.getBBox();var a1=bh.x,aZ=bh.y,a2=bh.width,a8=bh.height;var aX=4-aX;if(!aU&&!aT){aW([["M",[a1,aZ]],["L",[a1+a2,aZ]],["L",[a1+a2,aZ+a8]],["L",[a1,aZ+a8]],["L",[a1,aZ]],["Z",[]]])}else{aW([["M",[a1,aZ+aT]],["C",[a1,aZ+aT/aX,a1+aU/aX,aZ,a1+aU,aZ]],["L",[a1+a2-aU,aZ]],["C",[a1+a2-aU/aX,aZ,a1+a2,aZ+aT/aX,a1+a2,aZ+aT]],["L",[a1+a2,aZ+a8-aT]],["C",[a1+a2,aZ+a8-aT/aX,a1+a2-aU/aX,aZ+a8,a1+a2-aU,aZ+a8]],["L",[a1+aU,aZ+a8]],["C",[a1+aU/aX,aZ+a8,a1,aZ+a8-aT/aX,a1,aZ+a8-aT]],["L",[a1,aZ+aT]],["Z",[]]])}break;default:a4.parentNode.removeChild(a4);break}if(bg){a4.setAttribute("d",bg)}if(!bf){if(bi){var aY=aM.getTransformList(a4);if(ap(aY)){o.resetOrientation(a4)}}a3.addSubCommand(new D(be,a0));a3.addSubCommand(new a(a4));aM.clearSelection();be.parentNode.removeChild(be);a4.setAttribute("id",a5);a4.removeAttribute("visibility");aM.addToSelection([a4],true);at(a3)}else{o.resetOrientation(a4);var aV=false;try{aV=a4.getBBox()}catch(bd){}a4.parentNode.removeChild(a4);return aV}};this.open=function(aP){Q("opened",aP)};this.save=function(aP){this.clearSelection();if(aP){$.extend(R,aP)}R.apply=true;var aQ='<?xml version="1.0" standalone="no"?>\n';aQ+=f();Q("saved",aQ)};var X=function(aR,aP){if(aR&&aR.nodeType==1){aP(aR);var aQ=aR.childNodes.length;while(aQ--){X(aR.childNodes.item(aQ),aP)}}};this.getSvgString=function(){R.apply=false;return f()};this.setSvgString=function(aT){try{var aW=Utils.text2xml(aT);A(aW.documentElement);var aP=new aa("Change Source");var aS=v.removeChild(S);aP.addSubCommand(new D(aS,v));S=v.appendChild(am.importNode(aW.documentElement,true));$(S).find("image").each(function(){var a0=this;ax(a0);var a1=this.getAttributeNS(af,"href");if(a1.indexOf("data:")===0){var aY=a1.match(/svgedit_url=(.*?);/);if(aY){var aZ=decodeURIComponent(aY[1]);$(new Image()).load(function(){a0.setAttributeNS(af,"href",aZ)}).attr("src",aZ)}}aM.embedImage(a1)});if(!aC.goodDecimals){aM.fixOperaXML(S,aW.documentElement)}S.setAttribute("id","svgcontent");var aX,aQ;if(S.getAttribute("viewBox")){var aU=S.getAttribute("viewBox").split(" ");aX=aU[2];aQ=aU[3]}else{aX=S.getAttribute("width");aQ=S.getAttribute("height");S.setAttribute("viewBox",["0","0",aX,aQ].join(" "))}S.setAttribute("width","100%");S.setAttribute("height","100%");aP.addSubCommand(new a(S));var aV={};aV.width=v.getAttribute("width");aV.height=v.getAttribute("height");v.setAttribute("width",aX);v.setAttribute("height",aQ);aP.addSubCommand(new Y(v,aV));M=1;K();G={};aM.clearSelection();v.appendChild(t.selectorParentGroup);at(aP);Q("changed",[S])}catch(aR){console.log(aR);return false}return true};var K=function(){ar=[];var aX=S.childNodes.length;var aR=[],aY=[];for(var aU=0;aU<aX;++aU){var aQ=S.childNodes.item(aU);if(aQ&&aQ.nodeType==1){if(aQ.tagName=="g"){var aP=$("title",aQ).text();if(aP){aY.push(aP);ar.push([aP,aQ]);I=aQ;X(aQ,function(aZ){aZ.setAttribute("style","pointer-events:inherit")});I.setAttribute("style","pointer-events:none")}else{aR.push(aQ)}}else{if(aM.getBBox(aQ)&&aQ.nodeName!="defs"){var aW=aM.getBBox(aQ);aR.push(aQ)}}}}if(aR.length>0){var aU=1;while($.inArray(("Layer "+aU),aY)!=-1){aU++}var aS="Layer "+aU;I=am.createElementNS(ak,"g");var aV=am.createElementNS(ak,"title");aV.textContent=aS;I.appendChild(aV);for(var aT=0;aT<aR.length;++aT){I.appendChild(aR[aT])}I=S.appendChild(I);ar.push([aS,I])}X(I,function(aZ){aZ.setAttribute("style","pointer-events:inherit")});I.setAttribute("style","pointer-events:all")};this.createLayer=function(aR){var aQ=new aa("Create Layer");var aP=am.createElementNS(ak,"g");var aS=am.createElementNS(ak,"title");aS.textContent=aR;aP.appendChild(aS);aP=S.appendChild(aP);aQ.addSubCommand(new a(aP));at(aQ);aM.clearSelection();K();aM.setCurrentLayer(aR);Q("changed",[aP])};this.deleteCurrentLayer=function(){if(I&&ar.length>1){var aP=new aa("Delete Layer");var aQ=I.parentNode;aP.addSubCommand(new D(I,aQ));aQ.removeChild(I);at(aP);aM.clearSelection();K();aM.setCurrentLayer(ar[ar.length-1][0]);Q("changed",[S]);return true}return false};this.getNumLayers=function(){return ar.length};this.getLayer=function(aP){if(aP>=0&&aP<aM.getNumLayers()){return ar[aP][0]}return""};this.getCurrentLayer=function(){for(var aP=0;aP<ar.length;++aP){if(ar[aP][1]==I){return ar[aP][0]}}return""};this.setCurrentLayer=function(aP){aP=d(aP);for(var aQ=0;aQ<ar.length;++aQ){if(aP==ar[aQ][0]){if(I!=ar[aQ][1]){aM.clearSelection();I.setAttribute("style","pointer-events:none");I=ar[aQ][1];I.setAttribute("style","pointer-events:all")}return true}}return false};this.renameCurrentLayer=function(aT){if(I){var aQ=I;if(!aM.setCurrentLayer(aT)){var aR=new aa("Rename Layer");for(var aS=0;aS<ar.length;++aS){if(ar[aS][1]==aQ){break}}var aU=ar[aS][0];ar[aS][0]=d(aT);var aP=aQ.childNodes.length;for(var aS=0;aS<aP;++aS){var aV=aQ.childNodes.item(aS);if(aV&&aV.tagName=="title"){while(aV.firstChild){aV.removeChild(aV.firstChild)}aV.textContent=aT;aR.addSubCommand(new Y(aV,{"#text":aU}));at(aR);Q("changed",[aQ]);return true}}}I=aQ}return false};this.setCurrentLayerPosition=function(aR){if(I&&aR>=0&&aR<ar.length){for(var aP=0;aP<ar.length;++aP){if(ar[aP][1]==I){break}}if(aP==ar.length){return false}if(aP!=aR){var aS=null;var aQ=I.nextSibling;if(aR>aP){if(aR<ar.length-1){aS=ar[aR+1][1]}}else{aS=ar[aR][1]}S.insertBefore(I,aS);at(new E(I,aQ,S));K();aM.setCurrentLayer(ar[aR][0]);return true}}return false};this.getLayerVisibility=function(aR){var aQ=null;for(var aP=0;aP<ar.length;++aP){if(ar[aP][0]==aR){aQ=ar[aP][1];break}}if(!aQ){return false}return(aQ.getAttribute("display")!="none")};this.setLayerVisibility=function(aS,aP){var aR=null;for(var aQ=0;aQ<ar.length;++aQ){if(ar[aQ][0]==aS){aR=ar[aQ][1];break}}if(!aR){return false}var aT=aR.getAttribute("display");if(!aT){aT="inline"}aR.setAttribute("display",aP?"inline":"none");at(new Y(aR,{display:aT},"Layer Visibility"));if(aR==I){aM.clearSelection()}return true};this.moveSelectedToLayer=function(aV){var aT=null;for(var aS=0;aS<ar.length;++aS){if(ar[aS][0]==aV){aT=ar[aS][1];break}}if(!aT){return false}var aR=new aa("Move Elements to Layer");var aQ=aq;var aS=aQ.length;while(aS--){var aU=aQ[aS];if(!aU){continue}var aW=aU.nextSibling;var aP=aU.parentNode;aT.appendChild(aU);aR.addSubCommand(new E(aU,aW,aP))}at(aR);return true};this.getLayerOpacity=function(aS){for(var aQ=0;aQ<ar.length;++aQ){if(ar[aQ][0]==aS){var aR=ar[aQ][1];var aP=aR.getAttribute("opacity");if(!aP){aP="1.0"}return parseFloat(aP)}}return null};this.setLayerOpacity=function(aS,aP){if(aP<0||aP>1){return}for(var aQ=0;aQ<ar.length;++aQ){if(ar[aQ][0]==aS){var aR=ar[aQ][1];aR.setAttribute("opacity",aP);break}}};this.clear=function(){o.clear();var aQ=S.childNodes;var aP=S.childNodes.length;var aR=0;this.clearSelection();for(var aS=0;aS<aP;aS++){if(aQ[aR].nodeType==1){S.removeChild(aQ[aR])}else{aR++}}ar=[];aM.createLayer("Layer 1");aj();t.initGroup();g=t.getRubberBandBox();Q("cleared")};this.linkControlPoints=function(aP){o.linkControlPoints(aP)};this.getResolution=function(){var aP=S.getAttribute("viewBox").split(" ");return{w:aP[2],h:aP[3],zoom:M}};this.getImageTitle=function(){var aQ=S.childNodes;for(var aP=0;aP<aQ.length;aP++){if(aQ[aP].nodeName=="title"){return aQ[aP].textContent}}return""};this.setImageTitle=function(aS){var aT=S.childNodes,aU=false,aR="";var aP=new aa("Change Image Title");for(var aQ=0;aQ<aT.length;aQ++){if(aT[aQ].nodeName=="title"){aU=aT[aQ];aR=aU.textContent;break}}if(!aU){aU=am.createElementNS(ak,"title");S.insertBefore(aU,S.firstChild)}if(aS.length){aU.textContent=aS}else{aU.parentNode.removeChild(aU)}aP.addSubCommand(new Y(aU,{"#text":aR}));at(aP)};this.setResolution=function(aW,aV){var aU=aM.getResolution();var aX=aU.w,aR=aU.h;var aQ;if(aW=="fit"){var aY=aM.getStrokedBBox();if(aY){aQ=new aa("Fit Canvas to Content");var aS=aM.getVisibleElements();aM.addToSelection(aS);var a0=[],aZ=[];$.each(aS,function(a1,a2){a0.push(aY.x*-1);aZ.push(aY.y*-1)});var aP=aM.moveSelectedElements(a0,aZ,true);aQ.addSubCommand(aP);aM.clearSelection();aW=Math.round(aY.width);aV=Math.round(aY.height)}else{return false}}aW*=M;aV*=M;if(aW!=aX||aV!=aR){var aT=v.suspendRedraw(1000);if(!aQ){aQ=new aa("Change Image Dimensions")}v.setAttribute("width",aW);v.setAttribute("height",aV);aQ.addSubCommand(new Y(v,{width:aX,height:aR}));S.setAttribute("viewBox",["0 0",aW/M,aV/M].join(" "));aQ.addSubCommand(new Y(S,{viewBox:["0 0",aX,aR].join(" ")}));at(aQ);v.unsuspendRedraw(aT);Q("changed",[S])}return true};this.setBBoxZoom=function(aQ,aX,aR){var aW=0.85;var aV;var aT=function(a1){if(!a1){return false}var a0=Math.round((aX/a1.width)*100*aW)/100;var aY=Math.round((aR/a1.height)*100*aW)/100;var aZ=Math.min(a0,aY);aM.setZoom(aZ);return{zoom:aZ,bbox:a1}};if(typeof aQ=="object"){aV=aQ;if(aV.width==0||aV.height==0){var aP=aV.zoom?aV.zoom:M*aV.factor;aM.setZoom(aP);return{zoom:M,bbox:aV}}return aT(aV)}switch(aQ){case"selection":if(!aq[0]){return}var aS=$.map(aq,function(aY){if(aY){return aY}});aV=aM.getStrokedBBox(aS);break;case"canvas":var aU=aM.getResolution();aW=0.95;aV={width:aU.w,height:aU.h,x:0,y:0};break;case"content":aV=aM.getStrokedBBox();break;case"layer":aV=aM.getStrokedBBox(aM.getVisibleElements(I));break;default:return}return aT(aV)};this.setZoom=function(aP){var aQ=aM.getResolution();v.setAttribute("width",aQ.w*aP);v.setAttribute("height",aQ.h*aP);M=aP;$.each(aq,function(aR,aS){if(!aS){return}t.requestSelector(aS).resize()});o.zoomChange()};this.getMode=function(){return aE};this.setMode=function(aP){o.modeChange();k=(aq[0]&&aq[0].nodeName=="text")?aI:an;aE=aP};this.getStrokeColor=function(){return k.stroke};this.setStrokeColor=function(aQ,aP){an.stroke=aQ;k.stroke_paint={type:"solidColor"};if(!aP){this.changeSelectedAttribute("stroke",aQ)}else{this.changeSelectedAttributeNoUndo("stroke",aQ)}};this.getFillColor=function(){return k.fill};this.setFillColor=function(aT,aQ){k.fill=aT;k.fill_paint={type:"solidColor"};var aP=[];var aR=aq.length;while(aR--){var aS=aq[aR];if(aS&&aS.tagName!="polyline"&&aS.tagName!="line"){aP.push(aS)}}if(aP.length>0){if(!aQ){this.changeSelectedAttribute("fill",aT,aP)}else{this.changeSelectedAttributeNoUndo("fill",aT,aP)}}};var ae=function(){var aP=S.getElementsByTagNameNS(ak,"defs");if(aP.length>0){aP=aP[0]}else{aP=S.insertBefore(am.createElementNS(ak,"defs"),S.firstChild.nextSibling)}return aP};var r=function(){$.each(["stroke","fill"],function(aR,aS){if(!k[aS+"_paint"]||k[aS+"_paint"].type=="solidColor"){return}var aV=aM[aS+"Grad"];var aU=m(aV);var aP=ae();if(!aU){var aT=aV;aV=aP.appendChild(am.importNode(aV,true));aM.fixOperaXML(aV,aT);aV.id=aJ()}else{aV=aU}var aQ=aS=="fill"?"Fill":"Stroke";aM["set"+aQ+"Color"]("url(#"+aV.id+")")})};var m=function(aU){var aR=ae();var aV=aR.getElementsByTagNameNS(ak,"linearGradient");var aS=aV.length;while(aS--){var aW=aV.item(aS);if(aU.getAttribute("x1")!=aW.getAttribute("x1")||aU.getAttribute("y1")!=aW.getAttribute("y1")||aU.getAttribute("x2")!=aW.getAttribute("x2")||aU.getAttribute("y2")!=aW.getAttribute("y2")){continue}var aX=aU.getElementsByTagNameNS(ak,"stop");var aY=aW.getElementsByTagNameNS(ak,"stop");if(aX.length!=aY.length){continue}var aQ=aX.length;while(aQ--){var aT=aX.item(aQ);var aP=aY.item(aQ);if(aT.getAttribute("offset")!=aP.getAttribute("offset")||aT.getAttribute("stop-opacity")!=aP.getAttribute("stop-opacity")||aT.getAttribute("stop-color")!=aP.getAttribute("stop-color")){break}}if(aQ==-1){return aW}}return null};this.setStrokePaint=function(aQ,aP){var aQ=new $.jGraduate.Paint(aQ);this.setStrokeOpacity(aQ.alpha/100);k.stroke_paint=aQ;if(aQ.type=="solidColor"){this.setStrokeColor("#"+aQ.solidColor)}else{if(aQ.type=="linearGradient"){aM.strokeGrad=aQ.linearGradient;if(aP){r()}}else{}}};this.setFillPaint=function(aQ,aP){var aQ=new $.jGraduate.Paint(aQ);this.setFillOpacity(aQ.alpha/100,true);k.fill_paint=aQ;if(aQ.type=="solidColor"){this.setFillColor("#"+aQ.solidColor)}else{if(aQ.type=="linearGradient"){aM.fillGrad=aQ.linearGradient;if(aP){r()}}else{}}};this.getStrokeWidth=function(){return k.stroke_width};this.setStrokeWidth=function(aP){if(aP==0&&$.inArray(aE,["line","path"])!=-1){aM.setStrokeWidth(1);return}k.stroke_width=aP;this.changeSelectedAttribute("stroke-width",aP)};this.getStrokeStyle=function(){return an.stroke_style};this.setStrokeStyle=function(aP){an.stroke_style=aP;this.changeSelectedAttribute("stroke-dasharray",aP)};this.getOpacity=function(){return an.opacity};this.setOpacity=function(aP){an.opacity=aP;this.changeSelectedAttribute("opacity",aP)};this.getFillOpacity=function(){return an.fill_opacity};this.setFillOpacity=function(aQ,aP){an.fill_opacity=aQ;if(!aP){this.changeSelectedAttribute("fill-opacity",aQ)}else{this.changeSelectedAttributeNoUndo("fill-opacity",aQ)}};this.getStrokeOpacity=function(){return an.stroke_opacity};this.setStrokeOpacity=function(aQ,aP){an.stroke_opacity=aQ;if(!aP){this.changeSelectedAttribute("stroke-opacity",aQ)}else{this.changeSelectedAttributeNoUndo("stroke-opacity",aQ)}};this.getTransformList=function(aQ){if(ad||!aC.goodDecimals){var aR=aQ.id;if(!aR){aR="temp"}var aP=G[aR];if(!aP||aR=="temp"){G[aR]=new w(aQ);G[aR]._init();aP=G[aR]}return aP}else{if(aQ.transform){return aQ.transform.baseVal}}return null};this.getBBox=function(aT){var aS=aT||aq[0];if(aT.nodeType!=1){return null}var aP=null;if(aT.nodeName=="text"&&aS.textContent==""){aS.textContent="a";aP=aS.getBBox();aS.textContent=""}else{if(aT.nodeName=="g"&&h){aP=aS.getBBox();var aR=document.createElementNS(ak,"g");while(aS.firstChild){aR.appendChild(aS.firstChild)}var aQ=aS.attributes.length;while(aQ--){aR.setAttributeNode(aS.attributes.item(aQ).cloneNode(true))}aS.parentNode.appendChild(aR);aP=aR.getBBox();while(aR.firstChild){aS.appendChild(aR.firstChild)}aS.parentNode.removeChild(aR)}else{if(aT.nodeName=="path"&&ad){aP=aL(aS)}else{try{aP=aS.getBBox()}catch(aU){aP=null}}}}return aP};this.getRotationAngle=function(aT,aQ){var aS=aT||aq[0];var aV=aM.getTransformList(aS);if(!aV){return 0}var aU=aV.numberOfItems;for(var aR=0;aR<aU;++aR){var aP=aV.getItem(aR);if(aP.type==4){return aQ?aP.angle*Math.PI/180:aP.angle}}return 0};this.setRotationAngle=function(aR,aZ){aR=parseFloat(aR);var aS=aq[0];var aW=aS.getAttribute("transform");var a2=aM.getBBox(aS);var aV=a2.x+a2.width/2,aU=a2.y+a2.height/2;var aY=aM.getTransformList(aS);if(aY.numberOfItems>0){var a1=aY.getItem(0);if(a1.type==4){aY.removeItem(0)}}if(aR!=0){var aP=C(aV,aU,l(aY).matrix);var a0=v.createSVGTransform();a0.setRotate(aR,aP.x,aP.y);aY.insertItemBefore(a0,0)}else{if(aY.numberOfItems==0){aS.removeAttribute("transform")}}if(!aZ){var aQ=aS.getAttribute("transform");aS.setAttribute("transform",aW);this.changeSelectedAttribute("transform",aQ,aq)}var aX=b("pathpointgrip_container");if(aS.nodeName=="path"&&aX){o.setPointContainerTransform(aS.getAttribute("transform"))}var aT=t.requestSelector(aq[0]);aT.resize();aT.updateGripCursors(aR)};this.each=function(aP){$(v).children().each(aP)};this.bind=function(aQ,aR){var aP=s[aQ];s[aQ]=aR;return aP};this.setIdPrefix=function(aP){av=aP};this.getBold=function(){var aP=aq[0];if(aP!=null&&aP.tagName=="text"&&aq[1]==null){return(aP.getAttribute("font-weight")=="bold")}return false};this.setBold=function(aP){var aQ=aq[0];if(aQ!=null&&aQ.tagName=="text"&&aq[1]==null){this.changeSelectedAttribute("font-weight",aP?"bold":"normal")}};this.getItalic=function(){var aP=aq[0];if(aP!=null&&aP.tagName=="text"&&aq[1]==null){return(aP.getAttribute("font-style")=="italic")}return false};this.setItalic=function(aP){var aQ=aq[0];if(aQ!=null&&aQ.tagName=="text"&&aq[1]==null){this.changeSelectedAttribute("font-style",aP?"italic":"normal")}};this.getFontFamily=function(){return aI.font_family};this.setFontFamily=function(aP){aI.font_family=aP;this.changeSelectedAttribute("font-family",aP)};this.getFontSize=function(){return aI.font_size};this.setFontSize=function(aP){aI.font_size=aP;this.changeSelectedAttribute("font-size",aP)};this.getText=function(){var aP=aq[0];if(aP==null){return""}return aP.textContent};this.setTextContent=function(aP){this.changeSelectedAttribute("#text",aP)};this.setImageURL=function(aP){svgCanvas.changeSelectedAttribute("#href",aP)};this.setRectRadius=function(aR){var aP=aq[0];if(aP!=null&&aP.tagName=="rect"){var aQ=aP.getAttribute("rx");if(aQ!=aR){aP.setAttribute("rx",aR);aP.setAttribute("ry",aR);at(new Y(aP,{rx:aQ,ry:aQ},"Radius"));Q("changed",[aP])}}};this.setSegType=function(aP){o.setSegType(aP)};var e=function(aP){if(navigator.userAgent.indexOf("Gecko/")==-1){return aP}var aQ=aP.cloneNode(true);aP.parentNode.insertBefore(aQ,aP);aP.parentNode.removeChild(aP);t.releaseSelector(aP);aq[0]=aQ;t.requestSelector(aQ).showGrips(true);return aQ};var au=-1;var aD=[];this.beginUndoableChange=function(aS,aQ){var aV=++au;var aR=aQ.length;var aP=new Array(aR),aU=new Array(aR);while(aR--){var aT=aQ[aR];if(aT==null){continue}aU[aR]=aT;aP[aR]=aT.getAttribute(aS)}aD[aV]={attrName:aS,oldValues:aP,elements:aU}};this.changeSelectedAttributeNoUndo=function(a0,aY,a8){var a5=v.suspendRedraw(1000);if(aE=="pathedit"){o.moveNode(a0,aY)}var a8=a8||aq;var a2=a8.length;while(a2--){var a4=a8[a2];if(a4==null){continue}if((a0=="x"||a0=="y")&&$.inArray(a4.tagName,["g","polyline","path"])!=-1){var aP=aM.getStrokedBBox([a4]);var aV=a0=="x"?aY-aP.x:0;var aU=a0=="y"?aY-aP.y:0;aM.moveSelectedElements(aV*M,aU*M,true);continue}if(a4.tagName=="g"&&(a0!="transform"&&a0!="opacity")){continue}var aT=a0=="#text"?a4.textContent:a4.getAttribute(a0);if(aT==null){aT=""}if(aT!=String(aY)){if(a0=="#text"){var a1=aM.getBBox(a4).width;a4.textContent=aY;a4=e(a4)}else{if(a0=="#href"){a4.setAttributeNS(af,"href",aY)}else{a4.setAttribute(a0,aY)}}if(a2==0){n[a2]=this.getBBox(a4)}if(a4.nodeName=="text"){if((aY+"").indexOf("url")==0||$.inArray(a0,["font-size","font-family","x","y"])!=-1){a4=e(a4)}}setTimeout(function(){t.requestSelector(a4).resize()},0);var a3=aM.getRotationAngle(a4);if(a3!=0&&a0!="transform"){var aW=aM.getTransformList(a4);var aZ=aW.numberOfItems;while(aZ--){var aR=aW.getItem(aZ);if(aR.type==4){aW.removeItem(aZ);var aX=aM.getBBox(a4);var a7=C(aX.x+aX.width/2,aX.y+aX.height/2,l(aW).matrix);var aS=a7.x,aQ=a7.y;var a6=v.createSVGTransform();a6.setRotate(a3,aS,aQ);aW.insertItemBefore(a6,aZ);break}}}}}v.unsuspendRedraw(a5)};this.finishUndoableChange=function(){var aU=au--;var aV=aD[aU];var aR=aV.elements.length;var aQ=aV.attrName;var aP=new aa("Change "+aQ);while(aR--){var aT=aV.elements[aR];if(aT==null){continue}var aS={};aS[aQ]=aV.oldValues[aR];if(aS[aQ]!=aT.getAttribute(aQ)){aP.addSubCommand(new Y(aT,aS,aQ))}}aD[aU]=null;return aP};this.changeSelectedAttribute=function(aP,aT,aR){var aR=aR||aq;aM.beginUndoableChange(aP,aR);var aS=aR.length;aM.changeSelectedAttributeNoUndo(aP,aT,aR);var aQ=aM.finishUndoableChange();if(!aQ.isEmpty()){at(aQ)}};this.deleteSelectedElements=function(){var aR=new aa("Delete Elements");var aQ=aq.length;var aP=[];for(var aT=0;aT<aQ;++aT){var aV=aq[aT];if(aV==null){break}var aU=aV.parentNode;var aS=aV;t.releaseSelector(aS);var aW=aU.removeChild(aS);aP.push(aV);aq[aT]=null;aR.addSubCommand(new D(aW,aU))}if(!aR.isEmpty()){at(aR)}Q("changed",aP);aM.clearSelection()};this.groupSelectedElements=function(){var aP=new aa("Group Elements");var aT=c({element:"g",attr:{id:aJ()}});aP.addSubCommand(new a(aT));var aR=aq.length;while(aR--){var aS=aq[aR];if(aS==null){continue}var aU=aS.nextSibling;var aQ=aS.parentNode;aT.appendChild(aS);aP.addSubCommand(new E(aS,aU,aQ))}if(!aP.isEmpty()){at(aP)}aM.clearSelection();aM.addToSelection([aT],true)};this.ungroupSelectedElement=function(){var bc=aq[0];if(bc.tagName=="g"){var a3=new aa("Ungroup Elements");var a1=bc.parentNode;var aY=bc.previousSibling;var aU=new Array(bc.childNodes.length);var aQ=bc.getAttribute("transform");var aZ=aM.getTransformList(bc);var a6=l(aZ).matrix;var ba=0;var a0=aM.getRotationAngle(bc);while(bc.firstChild){var bf=bc.firstChild;var aS=bf.nextSibling;var aT=bf.parentNode;aU[ba++]=bf=a1.insertBefore(bf,aY);a3.addSubCommand(new E(bf,aS,aT));var aW=aM.getTransformList(bf);if(aZ.numberOfItems){if(a0&&aZ.numberOfItems==1){var bd=aZ.getItem(0).matrix;var a2=v.createSVGMatrix();var bg=aM.getRotationAngle(bf);if(bg){a2=aW.getItem(0).matrix}var aR=aM.getBBox(bf);var a9=l(aW).matrix;var aX=C(aR.x+aR.width/2,aR.y+aR.height/2,a9);var bh=a0+bg;var a8=v.createSVGTransform();a8.setRotate(bh,aX.x,aX.y);var a4=P(bd,a2,a8.matrix.inverse());if(bg){aW.removeItem(0)}if(bh){aW.insertItemBefore(a8,0)}if(a4.e||a4.f){var aP=v.createSVGTransform();aP.setTranslate(a4.e,a4.f);aW.insertItemBefore(aP,0)}}else{var bb=bf.getAttribute("transform");var bi={};bi.transform=bb?bb:"";var a5=v.createSVGTransform();var be=l(aW).matrix,aV=be.inverse();var a7=P(aV,a6,be);a5.setMatrix(a7);aW.appendItem(a5)}a3.addSubCommand(i(bf))}}if(aQ){var bi={};bi.transform=aQ;bc.setAttribute("transform","");bc.removeAttribute("transform");a3.addSubCommand(new Y(bc,bi))}aM.clearSelection();bc=a1.removeChild(bc);a3.addSubCommand(new D(bc,a1));if(!a3.isEmpty()){at(a3)}aM.addToSelection(aU)}};this.moveToTopSelectedElement=function(){var aR=aq[0];if(aR!=null){var aQ=aR;var aP=aQ.parentNode;var aS=aQ.nextSibling;if(aS==t.selectorParentGroup){aS=null}aQ=aQ.parentNode.appendChild(aQ);at(new E(aQ,aS,aP,"top"))}};this.moveToBottomSelectedElement=function(){var aR=aq[0];if(aR!=null){var aQ=aR;var aP=aQ.parentNode;var aT=aQ.nextSibling;if(aT==t.selectorParentGroup){aT=null}var aS=aQ.parentNode.firstChild;if(aS.tagName=="title"){aS=aS.nextSibling}if(aS.tagName=="defs"){aS=aS.nextSibling}aQ=aQ.parentNode.insertBefore(aQ,aS);at(new E(aQ,aT,aP,"bottom"))}};this.moveSelectedElements=function(aX,aW,aU){if(aX.constructor!=Array){aX/=M;aW/=M}var aU=aU||true;var aQ=new aa("position");var aS=aq.length;while(aS--){var aR=aq[aS];if(aR!=null){if(aS==0){n[aS]=this.getBBox(aR)}var aV=v.createSVGTransform();var aT=aM.getTransformList(aR);if(aX.constructor==Array){if(aS==0){n[aS].x+=aX[aS];n[aS].y+=aW[aS]}aV.setTranslate(aX[aS],aW[aS])}else{if(aS==0){n[aS].x+=aX;n[aS].y+=aW}aV.setTranslate(aX,aW)}aT.insertItemBefore(aV,0);var aP=i(aR);if(aP){aQ.addSubCommand(aP)}t.requestSelector(aR).resize()}}if(!aQ.isEmpty()){if(aU){at(aQ)}Q("changed",aq);return aQ}};var aL=function(a4){var a9=a4.pathSegList;var a2=a9.numberOfItems;var aW=[[],[]];var aV=a9.getItem(0);var aU=[aV.x,aV.y];for(var a6=0;a6<a2;a6++){var a8=a9.getItem(a6);if(!a8.x){continue}aW[0].push(aU[0]);aW[1].push(aU[1]);if(a8.x1){var aT=[a8.x1,a8.y1],aS=[a8.x2,a8.y2],aQ=[a8.x,a8.y];for(var a5=0;a5<2;a5++){var aP=function(bd){return Math.pow(1-bd,3)*aU[a5]+3*Math.pow(1-bd,2)*bd*aT[a5]+3*(1-bd)*Math.pow(bd,2)*aS[a5]+Math.pow(bd,3)*aQ[a5]};var bb=6*aU[a5]-12*aT[a5]+6*aS[a5];var bc=-3*aU[a5]+9*aT[a5]-9*aS[a5]+3*aQ[a5];var ba=3*aT[a5]-3*aU[a5];if(bc==0){if(bb==0){continue}var a3=-ba/bb;if(0<a3&&a3<1){aW[a5].push(aP(a3))}continue}var aR=Math.pow(bb,2)-4*ba*bc;if(aR<0){continue}var a0=(-bb+Math.sqrt(aR))/(2*bc);if(0<a0&&a0<1){aW[a5].push(aP(a0))}var aY=(-bb-Math.sqrt(aR))/(2*bc);if(0<aY&&aY<1){aW[a5].push(aP(aY))}}aU=aQ}else{aW[0].push(a8.x);aW[1].push(a8.y)}}var aZ=Math.min.apply(null,aW[0]);var a1=Math.max.apply(null,aW[0])-aZ;var aX=Math.min.apply(null,aW[1]);var a7=Math.max.apply(null,aW[1])-aX;return{x:aZ,y:aX,width:a1,height:a7}};this.getStrokedBBox=function(aQ){if(!aQ){aQ=aM.getVisibleElements()}if(!aQ.length){return false}var aR=function(a0){try{var a5=aM.getBBox(a0);var a1=aM.getRotationAngle(a0);if((a1&&a1%90)||ap(aM.getTransformList(a0))){var a4=false;var a7=["ellipse","path","line","polyline","polygon"];if($.inArray(a0.tagName,a7)!=-1){a5=a4=aM.convertToPath(a0,true,a1)}else{if(a0.tagName=="rect"){var aZ=a0.getAttribute("rx");var aY=a0.getAttribute("ry");if(aZ||aY){a5=a4=aM.convertToPath(a0,true,a1)}}}if(!a4){var a2=document.createElementNS(ak,"g");var a6=a0.parentNode;a6.replaceChild(a2,a0);a2.appendChild(a0);a5=a2.getBBox();a6.insertBefore(a0,a2);a6.removeChild(a2)}}return a5}catch(a3){return null}};var aV;$.each(aQ,function(){if(aV){return}if(!this.parentNode){return}aV=aR(this)});if(aV==null){return null}if(aQ.length==1){return aV}var aP=aV.x+aV.width;var aX=aV.y+aV.height;var aU=aV.x;var aT=aV.y;var aW=function(aZ){var aY=aZ.getAttribute("stroke-width");var a0=0;if(aZ.getAttribute("stroke")!="none"&&!isNaN(aY)){a0+=aY/2}return a0};var aS=[];$.each(aQ,function(aZ,a0){var aY=aR(a0);if(!aY){return}var a1=aW(a0);aU=Math.min(aU,aY.x-a1);aT=Math.min(aT,aY.y-a1);aS.push(aY)});aV.x=aU;aV.y=aT;$.each(aQ,function(aZ,a0){var aY=aS[aZ];var a1=aW(a0);aP=Math.max(aP,aY.x+aY.width+a1);aX=Math.max(aX,aY.y+aY.height+a1)});aV.width=aP-aU;aV.height=aX-aT;return aV};this.getVisibleElements=function(aP,aQ){if(!aP){aP=$(S).children()}var aR=[];$(aP).children().each(function(aS,aV){try{var aU=aV.getBBox();if(aU){var aT=aQ?{elem:aV,bbox:aM.getStrokedBBox([aV])}:aV;aR.push(aT)}}catch(aW){}});return aR.reverse()};this.cycleElement=function(aR){var aU=aq[0];var aS=false;var aT=this.getVisibleElements(I);if(aU==null){var aP=aR?aT.length-1:0;aS=aT[aP]}else{var aQ=aT.length;while(aQ--){if(aT[aQ]==aU){var aP=aR?aQ-1:aQ+1;if(aP>=aT.length){aP=0}else{if(aP<0){aP=aT.length-1}}aS=aT[aP];break}}}aM.clearSelection();aM.addToSelection([aS],true);Q("selected",aq)};var aj=function(){F=[];ao=0};this.getUndoStackSize=function(){return ao};this.getRedoStackSize=function(){return F.length-ao};this.getNextUndoCommandText=function(){if(ao>0){return F[ao-1].text}return""};this.getNextRedoCommandText=function(){if(ao<F.length){return F[ao].text}return""};this.undo=function(){if(ao>0){this.clearSelection();o.clear();var aP=F[--ao];aP.unapply();Q("changed",aP.elements())}};this.redo=function(){if(ao<F.length&&F.length>0){this.clearSelection();var aP=F[ao++];aP.apply();Q("changed",aP.elements())}};var V=function(aQ){var aR=document.createElementNS(ak,aQ.nodeName);$.each(aQ.attributes,function(aT,aS){var aU=aS.nodeName=="href"?af:aS.prefix=="xml"?J:null;aR.setAttributeNS(aU,aS.nodeName,aS.nodeValue)});aR.removeAttribute("id");aR.id=aJ();aG++;if(!aC.goodDecimals&&aQ.nodeName=="path"){var aP=o.convertPath(aQ);aR.setAttribute("d",aP)}$.each(aQ.childNodes,function(aS,aT){switch(aT.nodeType){case 1:aR.appendChild(V(aT));break;case 3:aR.textContent=aT.nodeValue;break;default:break}});if(aR.tagName=="image"){ax(aR)}return aR};var ax=function(aP){$(aP).click(function(aQ){aQ.preventDefault()})};this.cloneSelectedElements=function(){var aQ=new aa("Clone Elements");var aP=aq.length;for(var aR=0;aR<aP;++aR){var aT=aq[aR];if(aT==null){break}}var aS=aq.slice(0,aR);this.clearSelection();var aR=aS.length;while(aR--){var aT=aS[aR]=V(aS[aR]);I.appendChild(aT);aQ.addSubCommand(new a(aT))}if(!aQ.isEmpty()){this.addToSelection(aS.reverse());this.moveSelectedElements(20,20,false);at(aQ);Q("selected",aq)}};this.alignSelectedElements=function(aX,a3){var aS=[],aV=[];var a1=Number.MAX_VALUE,aW=Number.MIN_VALUE,aZ=Number.MAX_VALUE,aU=Number.MIN_VALUE;var aY=Number.MIN_VALUE,aT=Number.MIN_VALUE;var aR=aq.length;if(!aR){return}for(var aQ=0;aQ<aR;++aQ){if(aq[aQ]==null){break}var aP=aq[aQ];aS[aQ]=aM.getStrokedBBox([aP]);switch(a3){case"smallest":if((aX=="l"||aX=="c"||aX=="r")&&(aY==Number.MIN_VALUE||aY>aS[aQ].width)||(aX=="t"||aX=="m"||aX=="b")&&(aT==Number.MIN_VALUE||aT>aS[aQ].height)){a1=aS[aQ].x;aZ=aS[aQ].y;aW=aS[aQ].x+aS[aQ].width;aU=aS[aQ].y+aS[aQ].height;aY=aS[aQ].width;aT=aS[aQ].height}break;case"largest":if((aX=="l"||aX=="c"||aX=="r")&&(aY==Number.MIN_VALUE||aY<aS[aQ].width)||(aX=="t"||aX=="m"||aX=="b")&&(aT==Number.MIN_VALUE||aT<aS[aQ].height)){a1=aS[aQ].x;aZ=aS[aQ].y;aW=aS[aQ].x+aS[aQ].width;aU=aS[aQ].y+aS[aQ].height;aY=aS[aQ].width;aT=aS[aQ].height}break;default:if(aS[aQ].x<a1){a1=aS[aQ].x}if(aS[aQ].y<aZ){aZ=aS[aQ].y}if(aS[aQ].x+aS[aQ].width>aW){aW=aS[aQ].x+aS[aQ].width}if(aS[aQ].y+aS[aQ].height>aU){aU=aS[aQ].y+aS[aQ].height}break}}if(a3=="page"){a1=0;aZ=0;aW=v.getAttribute("width");aU=v.getAttribute("height")}var a4=new Array(aR);var a2=new Array(aR);for(var aQ=0;aQ<aR;++aQ){if(aq[aQ]==null){break}var aP=aq[aQ];var a0=aS[aQ];a4[aQ]=0;a2[aQ]=0;switch(aX){case"l":a4[aQ]=a1-a0.x;break;case"c":a4[aQ]=(a1+aW)/2-(a0.x+a0.width/2);break;case"r":a4[aQ]=aW-(a0.x+a0.width);break;case"t":a2[aQ]=aZ-a0.y;break;case"m":a2[aQ]=(aZ+aU)/2-(a0.y+a0.height/2);break;case"b":a2[aQ]=aU-(a0.y+a0.height);break}}this.moveSelectedElements(a4,a2)};this.getZoom=function(){return M};this.getVersion=function(){return"svgcanvas.js ($Rev: 1173 $)"};this.setUiStrings=function(aP){$.extend(ac,aP)};this.clear();function b(aP){if(v.querySelector){return v.querySelector("#"+aP)}else{if(am.evaluate){return am.evaluate('svg:svg[@id="svgroot"]//svg:*[@id="'+aP+'"]',al,function(){return"http://www.w3.org/2000/svg"},9,null).singleNodeValue}else{return $(v).find("[id="+aP+"]")[0]}}}(function(){var aU=document.createElementNS(ak,"path");aU.setAttribute("d","M0,0 10,10");var aQ=aU.pathSegList;var aP=aU.createSVGPathSegLinetoAbs(5,5);try{aQ.replaceItem(aP,0);aC.pathReplaceItem=true}catch(aT){aC.pathReplaceItem=false}try{aQ.insertItemBefore(aP,0);aC.pathInsertItemBefore=true}catch(aT){aC.pathInsertItemBefore=false}var aS=document.createElementNS(ak,"rect");aS.setAttribute("x",0.1);var aR=aS.cloneNode(false);aC.goodDecimals=(aR.getAttribute("x").indexOf(",")==-1)}())}var Utils={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode64:function(d){d=Utils.convertToXMLReferences(d);if(window.btoa){return window.btoa(d)}var b=new Array(Math.floor((d.length+2)/3)*4);var l,j,g;var k,h,f,e;var c=0,a=0;do{l=d.charCodeAt(c++);j=d.charCodeAt(c++);g=d.charCodeAt(c++);k=l>>2;h=((l&3)<<4)|(j>>4);f=((j&15)<<2)|(g>>6);e=g&63;if(isNaN(j)){f=e=64}else{if(isNaN(g)){e=64}}b[a++]=this._keyStr.charAt(k);b[a++]=this._keyStr.charAt(h);b[a++]=this._keyStr.charAt(f);b[a++]=this._keyStr.charAt(e)}while(c<d.length);return b.join("")},decode64:function(c){if(window.atob){return window.atob(c)}var a="";var k,h,f="";var j,g,e,d="";var b=0;c=c.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{j=this._keyStr.indexOf(c.charAt(b++));g=this._keyStr.indexOf(c.charAt(b++));e=this._keyStr.indexOf(c.charAt(b++));d=this._keyStr.indexOf(c.charAt(b++));k=(j<<2)|(g>>4);h=((g&15)<<4)|(e>>2);f=((e&3)<<6)|d;a=a+String.fromCharCode(k);if(e!=64){a=a+String.fromCharCode(h)}if(d!=64){a=a+String.fromCharCode(f)}k=h=f="";j=g=e=d=""}while(b<c.length);return unescape(a)},encodeUTF8:function(b){var a="";for(var e=0;e<b.length;e++){var d=b.charCodeAt(e);if(d<128){a+=b[e]}else{if(d>127){if(d<2048){a+=String.fromCharCode((d>>6)|192)}else{a+=String.fromCharCode((d>>12)|224)+String.fromCharCode((d>>6)&63|128)}a+=String.fromCharCode((d&63)|128)}}}return a},convertToXMLReferences:function(b){var a="";for(var e=0;e<b.length;e++){var d=b.charCodeAt(e);if(d<128){a+=b[e]}else{if(d>127){a+=("&#"+d+";")}}}return a},rectsIntersect:function(b,a){return a.x<(b.x+b.width)&&(a.x+a.width)>b.x&&a.y<(b.y+b.height)&&(a.y+a.height)>b.y},text2xml:function(b){var a;try{var d=($.browser.msie)?new ActiveXObject("Microsoft.XMLDOM"):new DOMParser();d.async=false}catch(c){throw new Error("XML Parser could not be instantiated")}try{if($.browser.msie){a=(d.loadXML(b))?d:false}else{a=d.parseFromString(b,"text/xml")}}catch(c){throw new Error("Error parsing XML string")}return a}};