!(function(){var ux=Object.defineProperty,cx=Object.defineProperties;var dx=Object.getOwnPropertyDescriptors;var iv=Object.getOwnPropertySymbols;var EE=Object.prototype.hasOwnProperty,xE=Object.prototype.propertyIsEnumerable;var bE=Math.pow,SE=(Re,xe,ue)=>xe in Re?ux(Re,xe,{enumerable:!0,configurable:!0,writable:!0,value:ue}):Re[xe]=ue,Ks=(Re,xe)=>{for(var ue in xe||(xe={}))EE.call(xe,ue)&&SE(Re,ue,xe[ue]);if(iv)for(var ue of iv(xe))xE.call(xe,ue)&&SE(Re,ue,xe[ue]);return Re},Kf=(Re,xe)=>cx(Re,dx(xe));var wE=(Re,xe)=>{var ue={};for(var ce in Re)EE.call(Re,ce)&&xe.indexOf(ce)<0&&(ue[ce]=Re[ce]);if(Re!=null&&iv)for(var ce of iv(Re))xe.indexOf(ce)<0&&xE.call(Re,ce)&&(ue[ce]=Re[ce]);return ue};var CE=(Re,xe,ue)=>new Promise((ce,Ae)=>{var Fe=Pe=>{try{Ye(ue.next(Pe))}catch(Ue){Ae(Ue)}},ke=Pe=>{try{Ye(ue.throw(Pe))}catch(Ue){Ae(Ue)}},Ye=Pe=>Pe.done?ce(Pe.value):Promise.resolve(Pe.value).then(Fe,ke);Ye((ue=ue.apply(Re,xe)).next())});(self.webpackChunk=self.webpackChunk||[]).push([[7959],{71749:function(){"use strict"},30483:function(){"use strict"},71736:function(Re,xe){"use strict";xe.Z={lists:"lists___xhHyq",item:"item___pWJAA",children:"children___sDG61",diamond:"diamond___FwgzD",button:"button___WPN6r",mathWrap:"mathWrap___FmnMJ",mathFillWrap:"mathFillWrap___PmY3H"}},18023:function(){"use strict";function Re(De,te,ee,de){ee===void 0&&(ee=0),de===void 0&&(de=1/0),this._name=De,this._defaultValue=te,this._minimum=ee,this._maximum=de}Object.defineProperty(Re.prototype,"name",{get:function(){return this._name},set:function(De){if(typeof De!="string"||De==="")throw new Error("Shape name must be a valid string.");this._name=De}}),Object.defineProperty(Re.prototype,"defaultValue",{get:function(){return this._defaultValue},set:function(De){if(typeof De!="number"||isNaN(De))throw new Error("The default value must be a real number, not: "+De);this._defaultValue=De}}),Object.defineProperty(Re.prototype,"minimum",{get:function(){return this._minimum},set:function(De){if(typeof De!="number"||isNaN(De))throw new Error("Minimum must be a real number, not: "+De);this._minimum=De}}),Object.defineProperty(Re.prototype,"maximum",{get:function(){return this._maximum},set:function(De){if(typeof De!="number"||isNaN(De))throw new Error("Maximum must be a real number, not: "+De);this._maximum=De}}),go.Shape._FigureParameters={},go.Shape.getFigureParameter=function(De,te){var ee=go.Shape._FigureParameters[De];return ee?ee[te]:null},go.Shape.setFigureParameter=function(De,te,ee){if(!(ee instanceof Re))throw new Error("Third argument to Shape.setFigureParameter is not FigureParameter: "+ee);if(ee.defaultValueee.maximum)throw new Error("defaultValue must be between minimum and maximum, not: "+ee.defaultValue);var de=go.Shape._FigureParameters[De];de||(de=[],go.Shape._FigureParameters[De]=de),de[te]=ee};var xe=[];function ue(De,te){var ee=xe.pop();return ee===void 0?new go.Point(De,te):(ee.x=De,ee.y=te,ee)}function ce(){var De=xe.pop();return De===void 0?new go.Point:De}function Ae(De){xe.push(De)}function Fe(De,te,ee,de,se,ge,ve,be,we){we||(we=new go.Point);var Oe=De-ee,Ke=se-ve,qe=NaN,lt=NaN;if(Oe===0)if(Ke===0)De===ee&&(qe=De,lt=te);else{var at=(ge-be)/Ke,ft=ge-at*se;qe=De,lt=at*qe+ft}else if(Ke===0){var pt=(te-de)/Oe,Nt=te-pt*De;qe=se,lt=pt*qe+Nt}else{var pt=(te-de)/Oe,at=(ge-be)/Ke,Nt=te-pt*De,ft=ge-at*se;qe=(ft-Nt)/(pt-at),lt=pt*qe+Nt}return we.x=qe,we.y=lt,we}function ke(De,te,ee,de,se,ge,ve,be,we,Oe,Ke,qe,lt,at){var ft=1-we,pt=we,Nt=De*ft+ee*pt,Xt=te*ft+de*pt,Zt=ee*ft+se*pt,yn=de*ft+ge*pt,Ln=se*ft+ve*pt,on=ge*ft+be*pt,Bn=Nt*ft+Zt*pt,Et=Xt*ft+yn*pt,nt=Zt*ft+Ln*pt,ot=yn*ft+on*pt,Jt=Bn*ft+nt*pt,In=Et*ft+ot*pt;Oe.x=Nt,Oe.y=Xt,Ke.x=Bn,Ke.y=Et,qe.x=Jt,qe.y=In,lt.x=nt,lt.y=ot,at.x=Ln,at.y=on}var Ye=new go.Spot(.156,.156),Pe=new go.Spot(.844,.844),Ue=4*((Math.sqrt(2)-1)/3);go.Shape.setFigureParameter("RoundedRectangle",0,new Re("CornerRounding",5)),go.Shape.defineFigureGenerator("RoundedRectangle",function(De,te,ee){var de=De?De.parameter1:NaN;(isNaN(de)||de<0)&&(de=5),de=Math.min(de,te/3),de=Math.min(de,ee/3);var se=de*Ue,ge=new go.Geometry().add(new go.PathFigure(de,0,!0).add(new go.PathSegment(go.PathSegment.Line,te-de,0)).add(new go.PathSegment(go.PathSegment.Bezier,te,de,te-se,0,te,se)).add(new go.PathSegment(go.PathSegment.Line,te,ee-de)).add(new go.PathSegment(go.PathSegment.Bezier,te-de,ee,te,ee-se,te-se,ee)).add(new go.PathSegment(go.PathSegment.Line,de,ee)).add(new go.PathSegment(go.PathSegment.Bezier,0,ee-de,se,ee,0,ee-se)).add(new go.PathSegment(go.PathSegment.Line,0,de)).add(new go.PathSegment(go.PathSegment.Bezier,de,0,0,se,se,0).close()));return se>1&&(ge.spot1=new go.Spot(0,0,se,se),ge.spot2=new go.Spot(1,1,-se,-se)),ge}),go.Shape.defineFigureGenerator("Border","RoundedRectangle"),go.Shape.defineFigureGenerator("TriangleRight",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)).add(new go.PathSegment(go.PathSegment.Line,0,ee).close())).setSpots(0,.25,.5,.75)}),go.Shape.defineFigureGenerator("TriangleDown",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,.5*te,ee).close())).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("TriangleLeft",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(te,ee).add(new go.PathSegment(go.PathSegment.Line,0,.5*ee)).add(new go.PathSegment(go.PathSegment.Line,te,0).close())).setSpots(.5,.25,1,.75)}),go.Shape.defineFigureGenerator("TriangleUp",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(te,ee).add(new go.PathSegment(go.PathSegment.Line,0,ee)).add(new go.PathSegment(go.PathSegment.Line,.5*te,0).close())).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("Triangle","TriangleUp"),go.Shape.defineFigureGenerator("Diamond",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(.5*te,0).add(new go.PathSegment(go.PathSegment.Line,0,.5*ee)).add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)).add(new go.PathSegment(go.PathSegment.Line,te,.5*ee).close())).setSpots(.25,.25,.75,.75)}),go.Shape.defineFigureGenerator("LineH",function(De,te,ee){var de=new go.Geometry(go.Geometry.Line);return de.startX=0,de.startY=ee/2,de.endX=te,de.endY=ee/2,de}),go.Shape.defineFigureGenerator("LineV",function(De,te,ee){var de=new go.Geometry(go.Geometry.Line);return de.startX=te/2,de.startY=0,de.endX=te/2,de.endY=ee,de}),go.Shape.defineFigureGenerator("BarH","Rectangle"),go.Shape.defineFigureGenerator("BarV","Rectangle"),go.Shape.defineFigureGenerator("MinusLine","LineH"),go.Shape.defineFigureGenerator("PlusLine",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,ee/2,!1).add(new go.PathSegment(go.PathSegment.Line,te,ee/2)).add(new go.PathSegment(go.PathSegment.Move,te/2,0)).add(new go.PathSegment(go.PathSegment.Line,te/2,ee)))}),go.Shape.defineFigureGenerator("XLine",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,ee,!1).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Move,0,0)).add(new go.PathSegment(go.PathSegment.Line,te,ee)))}),go.Shape.defineFigureGenerator("LineRight",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(.25*te,0,!1).add(new go.PathSegment(go.PathSegment.Line,.75*te,.5*ee)).add(new go.PathSegment(go.PathSegment.Line,.25*te,ee)))}),go.Shape.defineFigureGenerator("LineDown",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,.25*ee,!1).add(new go.PathSegment(go.PathSegment.Line,.5*te,.75*ee)).add(new go.PathSegment(go.PathSegment.Line,te,.25*ee)))}),go.Shape.defineFigureGenerator("LineLeft",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(.75*te,0,!1).add(new go.PathSegment(go.PathSegment.Line,.25*te,.5*ee)).add(new go.PathSegment(go.PathSegment.Line,.75*te,ee)))}),go.Shape.defineFigureGenerator("LineUp",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,.75*ee,!1).add(new go.PathSegment(go.PathSegment.Line,.5*te,.25*ee)).add(new go.PathSegment(go.PathSegment.Line,te,.75*ee)))}),go.Shape.defineFigureGenerator("AsteriskLine",function(De,te,ee){var de=.2/Math.SQRT2;return new go.Geometry().add(new go.PathFigure(de*te,(1-de)*ee,!1).add(new go.PathSegment(go.PathSegment.Line,(1-de)*te,de*ee)).add(new go.PathSegment(go.PathSegment.Move,de*te,de*ee)).add(new go.PathSegment(go.PathSegment.Line,(1-de)*te,(1-de)*ee)).add(new go.PathSegment(go.PathSegment.Move,0,ee/2)).add(new go.PathSegment(go.PathSegment.Line,te,ee/2)).add(new go.PathSegment(go.PathSegment.Move,te/2,0)).add(new go.PathSegment(go.PathSegment.Line,te/2,ee)))}),go.Shape.defineFigureGenerator("CircleLine",function(De,te,ee){var de=te/2,se=new go.Geometry().add(new go.PathFigure(te,te/2,!1).add(new go.PathSegment(go.PathSegment.Arc,0,360,de,de,de,de).close()));return se.spot1=Ye,se.spot2=Pe,se.defaultStretch=go.GraphObject.Uniform,se}),go.Shape.defineFigureGenerator("Line1",function(De,te,ee){var de=new go.Geometry(go.Geometry.Line);return de.startX=0,de.startY=0,de.endX=te,de.endY=ee,de}),go.Shape.defineFigureGenerator("Line2",function(De,te,ee){var de=new go.Geometry(go.Geometry.Line);return de.startX=te,de.startY=0,de.endX=0,de.endY=ee,de}),go.Shape.defineFigureGenerator("Curve1",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,te,ee,Ue*te,0,te,(1-Ue)*ee)))}),go.Shape.defineFigureGenerator("Curve2",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,te,ee,0,Ue*ee,(1-Ue)*te,ee)))}),go.Shape.defineFigureGenerator("Curve3",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(te,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,ee,te,Ue*ee,Ue*te,ee)))}),go.Shape.defineFigureGenerator("Curve4",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(te,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,ee,(1-Ue)*te,0,0,(1-Ue)*ee)))}),go.Shape.defineFigureGenerator("TriangleDownLeft",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,te,ee)).add(new go.PathSegment(go.PathSegment.Line,0,ee).close())).setSpots(0,.5,.5,1)}),go.Shape.defineFigureGenerator("TriangleDownRight",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(te,0,!0).add(new go.PathSegment(go.PathSegment.Line,te,ee)).add(new go.PathSegment(go.PathSegment.Line,0,ee).close())).setSpots(.5,.5,1,1)}),go.Shape.defineFigureGenerator("TriangleUpLeft",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,0,ee).close())).setSpots(0,0,.5,.5)}),go.Shape.defineFigureGenerator("TriangleUpRight",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,te,ee).close())).setSpots(.5,0,1,.5)}),go.Shape.defineFigureGenerator("RightTriangle","TriangleDownLeft"),go.Shape.setFigureParameter("Parallelogram1",0,new Re("Indent",.1,-.99,.99)),go.Shape.defineFigureGenerator("Parallelogram1",function(De,te,ee){var de=De?De.parameter1:NaN;isNaN(de)?de=.1:de<-1?de=-1:de>1&&(de=1);var se=Math.abs(de)*te;if(de===0){var ge=new go.Geometry(go.Geometry.Rectangle);return ge.startX=0,ge.startY=0,ge.endX=te,ge.endY=ee,ge}else{var ge=new go.Geometry;return de>0?ge.add(new go.PathFigure(se,0).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,te-se,ee)).add(new go.PathSegment(go.PathSegment.Line,0,ee).close())):ge.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,te-se,0)).add(new go.PathSegment(go.PathSegment.Line,te,ee)).add(new go.PathSegment(go.PathSegment.Line,se,ee).close())),sete&&(de=te);var se=Math.abs(de);if(de===0){var ge=new go.Geometry(go.Geometry.Rectangle);return ge.startX=0,ge.startY=0,ge.endX=te,ge.endY=ee,ge}else{var ge=new go.Geometry;return de>0?ge.add(new go.PathFigure(se,0).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,te-se,ee)).add(new go.PathSegment(go.PathSegment.Line,0,ee).close())):ge.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,te-se,0)).add(new go.PathSegment(go.PathSegment.Line,te,ee)).add(new go.PathSegment(go.PathSegment.Line,se,ee).close())),se.5&&(de=.5);var se=Math.abs(de)*te;if(de===0){var ge=new go.Geometry(go.Geometry.Rectangle);return ge.startX=0,ge.startY=0,ge.endX=te,ge.endY=ee,ge}else{var ge=new go.Geometry;return de>0?ge.add(new go.PathFigure(se,0).add(new go.PathSegment(go.PathSegment.Line,te-se,0)).add(new go.PathSegment(go.PathSegment.Line,te,ee)).add(new go.PathSegment(go.PathSegment.Line,0,ee).close())):ge.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,te-se,ee)).add(new go.PathSegment(go.PathSegment.Line,se,ee).close())),sete&&(de=te/2);var se=Math.abs(de);if(de===0){var ge=new go.Geometry(go.Geometry.Rectangle);return ge.startX=0,ge.startY=0,ge.endX=te,ge.endY=ee,ge}else{var ge=new go.Geometry;return de>0?ge.add(new go.PathFigure(se,0).add(new go.PathSegment(go.PathSegment.Line,te-se,0)).add(new go.PathSegment(go.PathSegment.Line,te,ee)).add(new go.PathSegment(go.PathSegment.Line,0,ee).close())):ge.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,te-se,ee)).add(new go.PathSegment(go.PathSegment.Line,se,ee).close())),sete&&(de=te/2);var se=Math.abs(de);if(de===0){var ge=new go.Geometry(go.Geometry.Rectangle);return ge.startX=0,ge.startY=0,ge.endX=te,ge.endY=ee,ge}else{var ge=new go.Geometry;return de>0?ge.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,te-se,ee)).add(new go.PathSegment(go.PathSegment.Line,se,ee).close())):ge.add(new go.PathFigure(se,0).add(new go.PathSegment(go.PathSegment.Line,te-se,0)).add(new go.PathSegment(go.PathSegment.Line,te,ee)).add(new go.PathSegment(go.PathSegment.Line,0,ee).close())),se0&&(ve.add(new go.PathSegment(go.PathSegment.Move,te/2+be,te/2)),ve.add(new go.PathSegment(go.PathSegment.Arc,0,-360,se,se,be,be).close())),ge.spot1=Ye,ge.spot2=Pe,ge.defaultStretch=go.GraphObject.Uniform,ge}),go.Shape.defineFigureGenerator("Cloud",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(.08034461*te,.1944299*ee,!0).add(new go.PathSegment(go.PathSegment.Bezier,.2008615*te,.05349299*ee,-.09239631*te,.07836421*ee,.1406031*te,-.0542823*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.4338609*te,.074219*ee,.2450511*te,-.00697547*ee,.3776197*te,-.01112067*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.6558228*te,.07004196*ee,.4539471*te,0,.6066018*te,-.02526587*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.8921095*te,.08370865*ee,.6914277*te,-.01904177*ee,.8921095*te,-.01220843*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.9147671*te,.3194596*ee,1.036446*te,.04105738*ee,1.020377*te,.3022052*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.9082935*te,.562044*ee,1.04448*te,.360238*ee,.992256*te,.5219009*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.9212406*te,.8217117*ee,1.032337*te,.5771781*ee,1.018411*te,.8120651*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.7592566*te,.9156953*ee,1.028411*te,.9571472*ee,.8556702*te,1.052487*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.5101666*te,.9310455*ee,.7431877*te,1.009325*ee,.5624123*te,1.021761*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.2609328*te,.9344623*ee,.4820677*te,1.031761*ee,.3030112*te,1.002796*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*te,.870098*ee,.2329994*te,1.01518*ee,.03213784*te,1.01518*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.06829292*te,.6545475*ee,-.02812061*te,.9032597*ee,-.01205169*te,.6835638*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.06427569*te,.4265613*ee,-.01812061*te,.6089503*ee,-.00606892*te,.4555777*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*te,.1944299*ee,-.01606892*te,.3892545*ee,-.01205169*te,.1944299*ee))).setSpots(.1,.1,.9,.9)}),go.Shape.defineFigureGenerator("StopSign",function(De,te,ee){var de=1/(Math.SQRT2+2);return new go.Geometry().add(new go.PathFigure(de*te,0,!0).add(new go.PathSegment(go.PathSegment.Line,(1-de)*te,0)).add(new go.PathSegment(go.PathSegment.Line,te,de*ee)).add(new go.PathSegment(go.PathSegment.Line,te,(1-de)*ee)).add(new go.PathSegment(go.PathSegment.Line,(1-de)*te,ee)).add(new go.PathSegment(go.PathSegment.Line,de*te,ee)).add(new go.PathSegment(go.PathSegment.Line,0,(1-de)*ee)).add(new go.PathSegment(go.PathSegment.Line,0,de*ee).close())).setSpots(de/2,de/2,1-de/2,1-de/2)}),go.Shape.setFigureParameter("Pie",0,new Re("Start",0,-360,360)),go.Shape.setFigureParameter("Pie",1,new Re("Sweep",315,-360,360)),go.Shape.defineFigureGenerator("Pie",function(De,te,ee){var de=De?De.parameter1:NaN,se=De?De.parameter2:NaN;isNaN(de)&&(de=0),isNaN(se)&&(se=315);var ge=de%360;ge<0&&(ge+=360);var ve=se%360,be=Math.min(te,ee)/2;return new go.Geometry().add(new go.PathFigure(be,be).add(new go.PathSegment(go.PathSegment.Arc,ge,ve,be,be,be,be).close()))}),go.Shape.defineFigureGenerator("PiePiece",function(De,te,ee){var de=Ue/Math.SQRT2*.5,se=Math.SQRT2/2,ge=1-Math.SQRT2/2;return new go.Geometry().add(new go.PathFigure(te,ee,!0).add(new go.PathSegment(go.PathSegment.Bezier,se*te,ge*ee,te,(1-de)*ee,(se+de)*te,(ge+de)*ee)).add(new go.PathSegment(go.PathSegment.Line,0,ee).close()))}),go.Shape.setFigureParameter("ThickCross",0,new Re("Thickness",30)),go.Shape.defineFigureGenerator("ThickCross",function(De,te,ee){var de=De?De.parameter1:NaN;(isNaN(de)||de<0)&&(de=30);var se=Math.min(de,te)/2,ge=te/2,ve=ee/2;return new go.Geometry().add(new go.PathFigure(ge-se,0,!0).add(new go.PathSegment(go.PathSegment.Line,ge+se,0)).add(new go.PathSegment(go.PathSegment.Line,ge+se,ve-se)).add(new go.PathSegment(go.PathSegment.Line,te,ve-se)).add(new go.PathSegment(go.PathSegment.Line,te,ve+se)).add(new go.PathSegment(go.PathSegment.Line,ge+se,ve+se)).add(new go.PathSegment(go.PathSegment.Line,ge+se,ee)).add(new go.PathSegment(go.PathSegment.Line,ge-se,ee)).add(new go.PathSegment(go.PathSegment.Line,ge-se,ve+se)).add(new go.PathSegment(go.PathSegment.Line,0,ve+se)).add(new go.PathSegment(go.PathSegment.Line,0,ve-se)).add(new go.PathSegment(go.PathSegment.Line,ge-se,ve-se).close()))}),go.Shape.setFigureParameter("ThinCross",0,new Re("Thickness",10)),go.Shape.defineFigureGenerator("ThinCross",function(De,te,ee){var de=De?De.parameter1:NaN;(isNaN(de)||de<0)&&(de=10);var se=Math.min(de,te)/2,ge=te/2,ve=ee/2;return new go.Geometry().add(new go.PathFigure(ge-se,0,!0).add(new go.PathSegment(go.PathSegment.Line,ge+se,0)).add(new go.PathSegment(go.PathSegment.Line,ge+se,ve-se)).add(new go.PathSegment(go.PathSegment.Line,te,ve-se)).add(new go.PathSegment(go.PathSegment.Line,te,ve+se)).add(new go.PathSegment(go.PathSegment.Line,ge+se,ve+se)).add(new go.PathSegment(go.PathSegment.Line,ge+se,ee)).add(new go.PathSegment(go.PathSegment.Line,ge-se,ee)).add(new go.PathSegment(go.PathSegment.Line,ge-se,ve+se)).add(new go.PathSegment(go.PathSegment.Line,0,ve+se)).add(new go.PathSegment(go.PathSegment.Line,0,ve-se)).add(new go.PathSegment(go.PathSegment.Line,ge-se,ve-se).close()))}),go.Shape.setFigureParameter("ThickX",0,new Re("Thickness",30)),go.Shape.defineFigureGenerator("ThickX",function(De,te,ee){var de=De?De.parameter1:NaN;if((isNaN(de)||de<0)&&(de=30),te===0||ee===0){var se=new go.Geometry(go.Geometry.Rectangle);return se.startX=0,se.startY=0,se.endX=te,se.endY=ee,se}else{var ge=te/2,ve=ee/2,be=Math.atan2(ee,te),we=de-Math.min(Math.cos(be)*de/2,ge),Oe=de-Math.min(Math.sin(be)*de/2,ve),se=new go.Geometry,Ke=new go.PathFigure(we,0,!0);return se.add(Ke),Ke.add(new go.PathSegment(go.PathSegment.Line,ge,.2*ee)),Ke.add(new go.PathSegment(go.PathSegment.Line,te-we,0)),Ke.add(new go.PathSegment(go.PathSegment.Line,te,Oe)),Ke.add(new go.PathSegment(go.PathSegment.Line,.8*te,ve)),Ke.add(new go.PathSegment(go.PathSegment.Line,te,ee-Oe)),Ke.add(new go.PathSegment(go.PathSegment.Line,te-we,ee)),Ke.add(new go.PathSegment(go.PathSegment.Line,ge,.8*ee)),Ke.add(new go.PathSegment(go.PathSegment.Line,we,ee)),Ke.add(new go.PathSegment(go.PathSegment.Line,0,ee-Oe)),Ke.add(new go.PathSegment(go.PathSegment.Line,.2*te,ve)),Ke.add(new go.PathSegment(go.PathSegment.Line,0,Oe).close()),se}}),go.Shape.setFigureParameter("ThinX",0,new Re("Thickness",10)),go.Shape.defineFigureGenerator("ThinX",function(De,te,ee){var de=De?De.parameter1:NaN;(isNaN(de)||de<0)&&(de=10);var se=new go.Geometry,ge=new go.PathFigure(.1*te,0,!0);return se.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,.4*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.9*te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,te,.1*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.6*te,.5*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,te,.9*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.9*te,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,.6*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.1*te,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,.9*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.4*te,.5*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,.1*ee).close()),se}),go.Shape.setFigureParameter("SquareIBeam",0,new Re("BeamWidth",.2,.1,.9)),go.Shape.defineFigureGenerator("SquareIBeam",function(De,te,ee){var de=De?De.parameter1:NaN;isNaN(de)&&(de=.2);var se=new go.Geometry,ge=new go.PathFigure(0,0,!0);return se.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,te,de*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,(.5+de/2)*te,de*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,(.5+de/2)*te,(1-de)*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,te,(1-de)*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,(1-de)*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,(.5-de/2)*te,(1-de)*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,(.5-de/2)*te,de*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,de*ee).close()),se}),go.Shape.setFigureParameter("RoundedIBeam",0,new Re("Curviness",.5,.05,.65)),go.Shape.defineFigureGenerator("RoundedIBeam",function(De,te,ee){var de=De?De.parameter1:NaN;isNaN(de)&&(de=.5);var se=new go.Geometry,ge=new go.PathFigure(0,0,!0);return se.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Bezier,te,ee,Math.abs(1-de)*te,.25*ee,Math.abs(1-de)*te,.75*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ee)),ge.add(new go.PathSegment(go.PathSegment.Bezier,0,0,de*te,.75*ee,de*te,.25*ee).close()),se}),go.Shape.defineFigureGenerator("HalfEllipse",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,te,.5*ee,Ue*te,0,te,(.5-Ue/2)*ee)).add(new go.PathSegment(go.PathSegment.Bezier,0,ee,te,(.5+Ue/2)*ee,Ue*te,ee).close())).setSpots(0,.156,.844,.844)}),go.Shape.defineFigureGenerator("Crescent",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,ee,te,0,te,ee)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.5*te,.75*ee,.5*te,.25*ee).close())).setSpots(.311,.266,.744,.744)}),go.Shape.defineFigureGenerator("Heart",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(.5*te,ee,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,.3*ee,.1*te,.8*ee,0,.5*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.3*ee,0,0,.45*te,0)).add(new go.PathSegment(go.PathSegment.Bezier,te,.3*ee,.55*te,0,te,0)).add(new go.PathSegment(go.PathSegment.Bezier,.5*te,ee,te,.5*ee,.9*te,.8*ee).close())).setSpots(.14,.29,.86,.78)}),go.Shape.defineFigureGenerator("Spade",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(.5*te,0,!0).add(new go.PathSegment(go.PathSegment.Line,.51*te,.01*ee)).add(new go.PathSegment(go.PathSegment.Bezier,te,.5*ee,.6*te,.2*ee,te,.25*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.55*te,.7*ee,te,.8*ee,.6*te,.8*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.75*te,ee,.5*te,.75*ee,.55*te,.95*ee)).add(new go.PathSegment(go.PathSegment.Line,.25*te,ee)).add(new go.PathSegment(go.PathSegment.Bezier,.45*te,.7*ee,.45*te,.95*ee,.5*te,.75*ee)).add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ee,.4*te,.8*ee,0,.8*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.49*te,.01*ee,0,.25*ee,.4*te,.2*ee).close())).setSpots(.14,.26,.86,.78)}),go.Shape.defineFigureGenerator("Club",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.4*te,.6*ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Bezier,.15*te,ee,.5*te,.75*ee,.45*te,.95*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.85*te,ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.6*te,.6*ee,.55*te,.95*ee,.5*te,.75*ee));var ge=.2,ve=.3,be=0,we=ge*Ue;return se.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ve)*te,(.5+ge+be)*ee,(.5-ge+ve)*te,(.5+we+be)*ee,(.5-we+ve)*te,(.5+ge+be)*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+ge+ve)*te,(.5+be)*ee,(.5+we+ve)*te,(.5+ge+be)*ee,(.5+ge+ve)*te,(.5+we+be)*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ve)*te,(.5-ge+be)*ee,(1-.5+ge+ve)*te,(.5-we+be)*ee,(.5+we+ve)*te,(.5-ge+be)*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.65*te,.36771243*ee,(.5-we+ve)*te,(.5-ge+be)*ee,(.5-ge+ve+.05)*te,(.5-we+be-.02)*ee)),ge=.2,ve=0,be=-.3,we=ge*Ue,se.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+ge+ve)*te,(.5+be)*ee,(.5+we+ve)*te,(.5+ge+be)*ee,(.5+ge+ve)*te,(.5+we+be)*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ve)*te,(.5-ge+be)*ee,(1-.5+ge+ve)*te,(.5-we+be)*ee,(.5+we+ve)*te,(.5-ge+be)*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,(.5-ge+ve)*te,(.5+be)*ee,(.5-we+ve)*te,(.5-ge+be)*ee,(.5-ge+ve)*te,(.5-we+be)*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,(.5-we+ve)*te,(.5+ge+be)*ee,(.5-ge+ve)*te,(.5+we+be)*ee,(.5-we+ve)*te,(.5+ge+be)*ee)),ge=.2,ve=-.3,be=0,we=ge*Ue,se.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ve)*te,(.5-ge+be)*ee,(1-.5+ge+ve-.05)*te,(.5-we+be-.02)*ee,(.5+we+ve)*te,(.5-ge+be)*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,(.5-ge+ve)*te,(.5+be)*ee,(.5-we+ve)*te,(.5-ge+be)*ee,(.5-ge+ve)*te,(.5-we+be)*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ve)*te,(.5+ge+be)*ee,(.5-ge+ve)*te,(.5+we+be)*ee,(.5-we+ve)*te,(.5+ge+be)*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.4*te,.6*ee,(.5+we+ve)*te,(.5+ge+be)*ee,(.5+ge+ve)*te,(.5+we+be)*ee).close()),de.setSpots(.06,.33,.93,.68),de}),go.Shape.defineFigureGenerator("YinYang",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(te*.5,0,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Arc,270,180,te*.5,te*.5,te*.5,te*.5)),se.add(new go.PathSegment(go.PathSegment.Arc,90,-180,te*.5,te*.75,te*.25,te*.25)),se.add(new go.PathSegment(go.PathSegment.Arc,90,180,te*.5,te*.25,te*.25,te*.25));var ge=.1,ve=.5,be=.25;return se.add(new go.PathSegment(go.PathSegment.Move,(ve+ge)*te,be*ee)),se.add(new go.PathSegment(go.PathSegment.Arc,0,-360,te*ve,ee*be,ge*te,ge*te).close()),se=new go.PathFigure(te*.5,0,!1),de.add(se),se.add(new go.PathSegment(go.PathSegment.Arc,270,-180,te*.5,te*.5,te*.5,te*.5)),be=.75,se=new go.PathFigure((ve+ge)*te,be*ee,!0),de.add(se),se.add(new go.PathSegment(go.PathSegment.Arc,0,360,te*ve,ee*be,ge*te,ge*te).close()),de.defaultStretch=go.GraphObject.Uniform,de}),go.Shape.defineFigureGenerator("Peace",function(De,te,ee){var de=.8535533905932737,se=.5*te,ge=.5*ee;return new go.Geometry().add(new go.PathFigure(se,0,!1).add(new go.PathSegment(go.PathSegment.Arc,270,360,se,ge,se,ge)).add(new go.PathSegment(go.PathSegment.Line,se,ee)).add(new go.PathSegment(go.PathSegment.Move,se,ge)).add(new go.PathSegment(go.PathSegment.Line,(1-de)*te,de*ee)).add(new go.PathSegment(go.PathSegment.Move,se,ge)).add(new go.PathSegment(go.PathSegment.Line,de*te,de*ee)))}),go.Shape.defineFigureGenerator("NotAllowed",function(De,te,ee){var de=new go.Geometry,se=Ue*.5,ge=.5,ve=.5,be=.5,we=new go.PathFigure(ve*te,(be-ge)*ee);de.add(we),we.add(new go.PathSegment(go.PathSegment.Bezier,(ve-ge)*te,be*ee,(ve-se)*te,(be-ge)*ee,(ve-ge)*te,(be-se)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be+ge)*ee,(ve-ge)*te,(be+se)*ee,(ve-se)*te,(be+ge)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ve+ge)*te,be*ee,(ve+se)*te,(be+ge)*ee,(ve+ge)*te,(be+se)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be-ge)*ee,(ve+ge)*te,(be-se)*ee,(ve+se)*te,(be-ge)*ee)),ge=.4,se=Ue*.4;var Oe=ce(),Ke=ce(),qe=ce(),lt=ce();ke(ve,be-ge,ve+se,be-ge,ve+ge,be-se,ve+ge,be,.42,Oe,Ke,qe,lt,lt);var at=ce(),ft=ce(),pt=ce();ke(ve,be-ge,ve+se,be-ge,ve+ge,be-se,ve+ge,be,.58,lt,lt,pt,at,ft);var Nt=ce(),Xt=ce(),Zt=ce();ke(ve,be+ge,ve-se,be+ge,ve-ge,be+se,ve-ge,be,.42,Nt,Xt,Zt,lt,lt);var yn=ce(),Ln=ce(),on=ce();return ke(ve,be+ge,ve-se,be+ge,ve-ge,be+se,ve-ge,be,.58,lt,lt,on,yn,Ln),we.add(new go.PathSegment(go.PathSegment.Move,on.x*te,on.y*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ve-ge)*te,be*ee,yn.x*te,yn.y*ee,Ln.x*te,Ln.y*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be-ge)*ee,(ve-ge)*te,(be-se)*ee,(ve-se)*te,(be-ge)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,qe.x*te,qe.y*ee,Oe.x*te,Oe.y*ee,Ke.x*te,Ke.y*ee)),we.add(new go.PathSegment(go.PathSegment.Line,on.x*te,on.y*ee).close()),we.add(new go.PathSegment(go.PathSegment.Move,Zt.x*te,Zt.y*ee)),we.add(new go.PathSegment(go.PathSegment.Line,pt.x*te,pt.y*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ve+ge)*te,be*ee,at.x*te,at.y*ee,ft.x*te,ft.y*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be+ge)*ee,(ve+ge)*te,(be+se)*ee,(ve+se)*te,(be+ge)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,Zt.x*te,Zt.y*ee,Nt.x*te,Nt.y*ee,Xt.x*te,Xt.y*ee).close()),Ae(Oe),Ae(Ke),Ae(qe),Ae(lt),Ae(at),Ae(ft),Ae(pt),Ae(Nt),Ae(Xt),Ae(Zt),Ae(yn),Ae(Ln),Ae(on),de.defaultStretch=go.GraphObject.Uniform,de}),go.Shape.defineFigureGenerator("Fragile",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.25*te,0)).add(new go.PathSegment(go.PathSegment.Line,.2*te,.15*ee)).add(new go.PathSegment(go.PathSegment.Line,.3*te,.25*ee)).add(new go.PathSegment(go.PathSegment.Line,.29*te,.33*ee)).add(new go.PathSegment(go.PathSegment.Line,.35*te,.25*ee)).add(new go.PathSegment(go.PathSegment.Line,.3*te,.15*ee)).add(new go.PathSegment(go.PathSegment.Line,.4*te,0)).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Bezier,.55*te,.5*ee,te,.25*ee,.75*te,.5*ee)).add(new go.PathSegment(go.PathSegment.Line,.55*te,.9*ee)).add(new go.PathSegment(go.PathSegment.Line,.7*te,.9*ee)).add(new go.PathSegment(go.PathSegment.Line,.7*te,ee)).add(new go.PathSegment(go.PathSegment.Line,.3*te,ee)).add(new go.PathSegment(go.PathSegment.Line,.3*te,.9*ee)).add(new go.PathSegment(go.PathSegment.Line,.45*te,.9*ee)).add(new go.PathSegment(go.PathSegment.Line,.45*te,.5*ee)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*te,.5*ee,0,.25*ee).close()))}),go.Shape.setFigureParameter("HourGlass",0,new Re("Thickness",30)),go.Shape.defineFigureGenerator("HourGlass",function(De,te,ee){var de=De?De.parameter1:NaN;(isNaN(de)||de<0)&&(de=30),de>te&&(de=te);var se=(te-de)/2,ge=se+de;return new go.Geometry().add(new go.PathFigure(ge,.5*ee).add(new go.PathSegment(go.PathSegment.Line,te,ee)).add(new go.PathSegment(go.PathSegment.Line,0,ee)).add(new go.PathSegment(go.PathSegment.Line,se,.5*ee)).add(new go.PathSegment(go.PathSegment.Line,0,0)).add(new go.PathSegment(go.PathSegment.Line,te,0).close()))}),go.Shape.defineFigureGenerator("Lightning",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,.55*ee).add(new go.PathSegment(go.PathSegment.Line,.6*te,0)).add(new go.PathSegment(go.PathSegment.Line,.3*te,.45*ee)).add(new go.PathSegment(go.PathSegment.Line,te,.45*ee)).add(new go.PathSegment(go.PathSegment.Line,.4*te,ee)).add(new go.PathSegment(go.PathSegment.Line,.7*te,.55*ee).close()))}),go.Shape.defineFigureGenerator("GenderMale",function(De,te,ee){var de=new go.Geometry,se=Ue*.4,ge=.4,ve=.5,be=.5,we=ce(),Oe=ce(),Ke=ce(),qe=ce(),lt=new go.PathFigure((ve-ge)*te,be*ee,!1);de.add(lt),lt.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be-ge)*ee,(ve-ge)*te,(be-se)*ee,(ve-se)*te,(be-ge)*ee)),ke(ve,be-ge,ve+se,be-ge,ve+ge,be-se,ve+ge,be,.44,Ke,qe,Oe,we,we),lt.add(new go.PathSegment(go.PathSegment.Bezier,Oe.x*te,Oe.y*ee,Ke.x*te,Ke.y*ee,qe.x*te,qe.y*ee));var at=ue(Oe.x,Oe.y);ke(ve,be-ge,ve+se,be-ge,ve+ge,be-se,ve+ge,be,.56,we,we,Oe,Ke,qe);var ft=ue(Oe.x,Oe.y);lt.add(new go.PathSegment(go.PathSegment.Line,(at.x*.1+.95*.9)*te,at.y*.1*ee)),lt.add(new go.PathSegment(go.PathSegment.Line,.85*te,at.y*.1*ee)),lt.add(new go.PathSegment(go.PathSegment.Line,.85*te,0)),lt.add(new go.PathSegment(go.PathSegment.Line,te,0)),lt.add(new go.PathSegment(go.PathSegment.Line,te,.15*ee)),lt.add(new go.PathSegment(go.PathSegment.Line,(ft.x*.1+.9)*te,.15*ee)),lt.add(new go.PathSegment(go.PathSegment.Line,(ft.x*.1+.9)*te,(ft.y*.1+.05*.9)*ee)),lt.add(new go.PathSegment(go.PathSegment.Line,ft.x*te,ft.y*ee)),lt.add(new go.PathSegment(go.PathSegment.Bezier,(ve+ge)*te,be*ee,Ke.x*te,Ke.y*ee,qe.x*te,qe.y*ee)),lt.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be+ge)*ee,(ve+ge)*te,(be+se)*ee,(ve+se)*te,(be+ge)*ee)),lt.add(new go.PathSegment(go.PathSegment.Bezier,(ve-ge)*te,be*ee,(ve-se)*te,(be+ge)*ee,(ve-ge)*te,(be+se)*ee)),ge=.35,se=Ue*.35;var pt=new go.PathFigure(ve*te,(be-ge)*ee,!1);de.add(pt),pt.add(new go.PathSegment(go.PathSegment.Bezier,(ve-ge)*te,be*ee,(ve-se)*te,(be-ge)*ee,(ve-ge)*te,(be-se)*ee)),pt.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be+ge)*ee,(ve-ge)*te,(be+se)*ee,(ve-se)*te,(be+ge)*ee)),pt.add(new go.PathSegment(go.PathSegment.Bezier,(ve+ge)*te,be*ee,(ve+se)*te,(be+ge)*ee,(ve+ge)*te,(be+se)*ee)),pt.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be-ge)*ee,(ve+ge)*te,(be-se)*ee,(ve+se)*te,(be-ge)*ee));var Nt=new go.PathFigure((ve-ge)*te,be*ee,!1);return de.add(Nt),Ae(we),Ae(Oe),Ae(Ke),Ae(qe),Ae(at),Ae(ft),de.spot1=new go.Spot(.202,.257),de.spot2=new go.Spot(.792,.739),de.defaultStretch=go.GraphObject.Uniform,de}),go.Shape.defineFigureGenerator("GenderFemale",function(De,te,ee){var de=new go.Geometry,se=.375,ge=0,ve=-.125,be=se*Ue,we=new go.PathFigure((.525+ge)*te,(.5+se+ve)*ee,!1);de.add(we),we.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+se+ge)*te,(.5+ve)*ee,(.5+be+ge)*te,(.5+se+ve)*ee,(.5+se+ge)*te,(.5+be+ve)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ge)*te,(.5-se+ve)*ee,(1-.5+se+ge)*te,(.5-be+ve)*ee,(.5+be+ge)*te,(.5-se+ve)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(.5-se+ge)*te,(.5+ve)*ee,(.5-be+ge)*te,(.5-se+ve)*ee,(.5-se+ge)*te,(.5-be+ve)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(.475+ge)*te,(.5+se+ve)*ee,(.5-se+ge)*te,(.5+be+ve)*ee,(.5-be+ge)*te,(.5+se+ve)*ee)),we.add(new go.PathSegment(go.PathSegment.Line,.475*te,.85*ee)),we.add(new go.PathSegment(go.PathSegment.Line,.425*te,.85*ee)),we.add(new go.PathSegment(go.PathSegment.Line,.425*te,.9*ee)),we.add(new go.PathSegment(go.PathSegment.Line,.475*te,.9*ee)),we.add(new go.PathSegment(go.PathSegment.Line,.475*te,ee)),we.add(new go.PathSegment(go.PathSegment.Line,.525*te,ee)),we.add(new go.PathSegment(go.PathSegment.Line,.525*te,.9*ee)),we.add(new go.PathSegment(go.PathSegment.Line,.575*te,.9*ee)),we.add(new go.PathSegment(go.PathSegment.Line,.575*te,.85*ee)),we.add(new go.PathSegment(go.PathSegment.Line,.525*te,.85*ee).close()),se=.325,ge=0,ve=-.125,be=se*Ue;var we=new go.PathFigure((1-.5+se+ge)*te,(.5+ve)*ee,!1);de.add(we),we.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ge)*te,(.5+se+ve)*ee,(.5+se+ge)*te,(.5+be+ve)*ee,(.5+be+ge)*te,(.5+se+ve)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(.5-se+ge)*te,(.5+ve)*ee,(.5-be+ge)*te,(.5+se+ve)*ee,(.5-se+ge)*te,(.5+be+ve)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ge)*te,(.5-se+ve)*ee,(.5-se+ge)*te,(.5-be+ve)*ee,(.5-be+ge)*te,(.5-se+ve)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+se+ge)*te,(.5+ve)*ee,(.5+be+ge)*te,(.5-se+ve)*ee,(1-.5+se+ge)*te,(.5-be+ve)*ee));var we=new go.PathFigure((.525+ge)*te,(.5+se+ve)*ee,!1);return de.add(we),de.spot1=new go.Spot(.232,.136),de.spot2=new go.Spot(.682,.611),de.defaultStretch=go.GraphObject.Uniform,de}),go.Shape.defineFigureGenerator("LogicImplies",function(De,te,ee){var de=De?De.parameter1:NaN;return isNaN(de)&&(de=.2),new go.Geometry().add(new go.PathFigure((1-de)*te,0,!1).add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)).add(new go.PathSegment(go.PathSegment.Line,(1-de)*te,ee)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ee)).add(new go.PathSegment(go.PathSegment.Line,te,.5*ee))).setSpots(0,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicIff",function(De,te,ee){var de=De?De.parameter1:NaN;return isNaN(de)&&(de=.2),new go.Geometry().add(new go.PathFigure((1-de)*te,0,!1).add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)).add(new go.PathSegment(go.PathSegment.Line,(1-de)*te,ee)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ee)).add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)).add(new go.PathSegment(go.PathSegment.Move,de*te,0)).add(new go.PathSegment(go.PathSegment.Line,0,.5*ee)).add(new go.PathSegment(go.PathSegment.Line,de*te,ee))).setSpots(.2,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicNot",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,te,ee)))}),go.Shape.defineFigureGenerator("LogicAnd",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,ee,!1).add(new go.PathSegment(go.PathSegment.Line,.5*te,0)).add(new go.PathSegment(go.PathSegment.Line,te,ee))).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("LogicOr",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)).add(new go.PathSegment(go.PathSegment.Line,te,0))).setSpots(.219,0,.78,.409)}),go.Shape.defineFigureGenerator("LogicXor",function(De,te,ee){var de=new go.Geometry().add(new go.PathFigure(.5*te,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ee)).add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)).add(new go.PathSegment(go.PathSegment.Arc,0,360,.5*te,.5*ee,.5*te,.5*ee)));return de.defaultStretch=go.GraphObject.Uniform,de}),go.Shape.defineFigureGenerator("LogicTruth",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Move,.5*te,0)).add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)))}),go.Shape.defineFigureGenerator("LogicFalsity",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,ee,!1).add(new go.PathSegment(go.PathSegment.Line,te,ee)).add(new go.PathSegment(go.PathSegment.Move,.5*te,ee)).add(new go.PathSegment(go.PathSegment.Line,.5*te,0)))}),go.Shape.defineFigureGenerator("LogicThereExists",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)).add(new go.PathSegment(go.PathSegment.Line,0,.5*ee)).add(new go.PathSegment(go.PathSegment.Move,te,.5*ee)).add(new go.PathSegment(go.PathSegment.Line,te,ee)).add(new go.PathSegment(go.PathSegment.Line,0,ee)))}),go.Shape.defineFigureGenerator("LogicForAll",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Move,.25*te,.5*ee)).add(new go.PathSegment(go.PathSegment.Line,.75*te,.5*ee))).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("LogicIsDefinedAs",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Move,0,.5*ee)).add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)).add(new go.PathSegment(go.PathSegment.Move,0,ee)).add(new go.PathSegment(go.PathSegment.Line,te,ee))).setSpots(.01,.01,.99,.49)}),go.Shape.defineFigureGenerator("LogicIntersect",function(De,te,ee){var de=.5;return new go.Geometry().add(new go.PathFigure(0,ee,!1).add(new go.PathSegment(go.PathSegment.Line,0,de*ee)).add(new go.PathSegment(go.PathSegment.Arc,180,180,de*te,de*ee,de*te,de*ee)).add(new go.PathSegment(go.PathSegment.Line,te,ee))).setSpots(0,.5,1,1)}),go.Shape.defineFigureGenerator("LogicUnion",function(De,te,ee){var de=.5;return new go.Geometry().add(new go.PathFigure(te,0,!1).add(new go.PathSegment(go.PathSegment.Line,te,de*ee)).add(new go.PathSegment(go.PathSegment.Arc,0,180,de*te,de*ee,de*te,de*ee)).add(new go.PathSegment(go.PathSegment.Line,0,0))).setSpots(0,0,1,.5)}),go.Shape.setFigureParameter("Arrow",0,new Re("ArrowheadWidth",.3,.01,.99)),go.Shape.setFigureParameter("Arrow",1,new Re("TailHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("Arrow",function(De,te,ee){var de=De?De.parameter1:NaN;isNaN(de)&&(de=.3);var se=De?De.parameter2:NaN;isNaN(se)&&(se=.3);var ge=(1-de)*te,ve=(.5-se/2)*ee,be=(.5+se/2)*ee,we=new go.Geometry,Oe=new go.PathFigure(0,ve,!0);we.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Line,ge,ve)),Oe.add(new go.PathSegment(go.PathSegment.Line,ge,0)),Oe.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)),Oe.add(new go.PathSegment(go.PathSegment.Line,ge,ee)),Oe.add(new go.PathSegment(go.PathSegment.Line,ge,be)),Oe.add(new go.PathSegment(go.PathSegment.Line,0,be).close()),we.spot1=new go.Spot(0,ve/ee);var Ke=Fe(0,be/ee,1,be/ee,ge/te,1,1,.5,ce());return we.spot2=new go.Spot(Ke.x,Ke.y),Ae(Ke),we}),go.Shape.setFigureParameter("Arrow2",0,new Re("ArrowheadWidth",30)),go.Shape.setFigureParameter("Arrow2",0,new Re("TailHeight",30)),go.Shape.defineFigureGenerator("Arrow2",function(De,te,ee){var de=De?De.parameter1:NaN;isNaN(de)&&(de=30),de>te&&(de=te);var se=De?De.parameter2:NaN;isNaN(se)&&(se=30),se=Math.min(se,ee/2);var ge=te-de,ve=(ee-se)/2,be=ve+se,we=new go.Geometry,Oe=new go.PathFigure(0,ve,!0);we.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Line,ge,ve)),Oe.add(new go.PathSegment(go.PathSegment.Line,ge,0)),Oe.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)),Oe.add(new go.PathSegment(go.PathSegment.Line,ge,ee)),Oe.add(new go.PathSegment(go.PathSegment.Line,ge,be)),Oe.add(new go.PathSegment(go.PathSegment.Line,0,be).close()),we.spot1=new go.Spot(0,ve/ee);var Ke=Fe(0,be/ee,1,be/ee,ge/te,1,1,.5,ce());return we.spot2=new go.Spot(Ke.x,Ke.y),Ae(Ke),we}),go.Shape.defineFigureGenerator("Chevron",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ee).close()),de}),go.Shape.defineFigureGenerator("DoubleArrow",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.3*te,.214*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.3*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,1*te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.3*te,1*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.3*te,.786*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,1*ee).close()),de}),go.Shape.setFigureParameter("DoubleEndArrow",0,new Re("ConnecterHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("DoubleEndArrow",function(De,te,ee){var de=De?De.parameter1:NaN;isNaN(de)&&(de=.3);var se=(.5-de/2)*ee,ge=(.5+de/2)*ee,ve=new go.Geometry,be=new go.PathFigure(te,.5*ee,!0);ve.add(be),be.add(new go.PathSegment(go.PathSegment.Line,.7*te,ee)),be.add(new go.PathSegment(go.PathSegment.Line,.7*te,ge)),be.add(new go.PathSegment(go.PathSegment.Line,.3*te,ge)),be.add(new go.PathSegment(go.PathSegment.Line,.3*te,ee)),be.add(new go.PathSegment(go.PathSegment.Line,0,.5*ee)),be.add(new go.PathSegment(go.PathSegment.Line,.3*te,0)),be.add(new go.PathSegment(go.PathSegment.Line,.3*te,se)),be.add(new go.PathSegment(go.PathSegment.Line,.7*te,se)),be.add(new go.PathSegment(go.PathSegment.Line,.7*te,0).close());var we=Fe(0,.5,.3,0,0,se/ee,.1,se/ee,ce());return ve.spot1=new go.Spot(we.x,we.y),we=Fe(.7,1,1,.5,0,ge/ee,1,ge/ee,we),ve.spot2=new go.Spot(we.x,we.y),Ae(we),ve}),go.Shape.setFigureParameter("DoubleEndArrow2",0,new Re("ConnecterHeight",40)),go.Shape.setFigureParameter("DoubleEndArrow2",1,new Re("ArrowHeight",100)),go.Shape.defineFigureGenerator("DoubleEndArrow2",function(De,te,ee){var de=De?De.parameter1:NaN;isNaN(de)&&(de=40);var se=De?De.parameter2:NaN;isNaN(se)&&(se=100);var ge=(ee-de)/2,ve=ge+de,be=(ee-se)/2,we=be+se;(de>ee||se>ee)&&(se>de?(de=de*ee/se,ge=(ee-de)/2,ve=ge+de,be=0,we=ee):(ge=0,ve=ee,be=0,we=ee));var Oe=new go.Geometry,Ke=new go.PathFigure(te,.5*ee,!0);Oe.add(Ke),Ke.add(new go.PathSegment(go.PathSegment.Line,.7*te,we)),Ke.add(new go.PathSegment(go.PathSegment.Line,.7*te,ve)),Ke.add(new go.PathSegment(go.PathSegment.Line,.3*te,ve)),Ke.add(new go.PathSegment(go.PathSegment.Line,.3*te,we)),Ke.add(new go.PathSegment(go.PathSegment.Line,0,.5*ee)),Ke.add(new go.PathSegment(go.PathSegment.Line,.3*te,be)),Ke.add(new go.PathSegment(go.PathSegment.Line,.3*te,ge)),Ke.add(new go.PathSegment(go.PathSegment.Line,.7*te,ge)),Ke.add(new go.PathSegment(go.PathSegment.Line,.7*te,be).close());var qe=Fe(0,.5,.3,be/ee,0,ge/ee,1,ge/ee,ce());return Oe.spot1=new go.Spot(qe.x,qe.y),qe=Fe(.7,we/ee,1,.5,0,ve/ee,1,ve/ee,qe),Oe.spot2=new go.Spot(qe.x,qe.y),Ae(qe),Oe}),go.Shape.setFigureParameter("IBeamArrow",0,new Re("ConnectorHeight",.7,.51,.97)),go.Shape.defineFigureGenerator("IBeamArrow",function(De,te,ee){var de=De?De.parameter1:NaN;isNaN(de)&&(de=.3);var se=(.5-de/2)*ee,ge=(.5+de/2)*ee,ve=new go.Geometry,be=new go.PathFigure(te,.5*ee,!0);ve.add(be),be.add(new go.PathSegment(go.PathSegment.Line,.7*te,ee)),be.add(new go.PathSegment(go.PathSegment.Line,.7*te,ge)),be.add(new go.PathSegment(go.PathSegment.Line,.2*te,ge)),be.add(new go.PathSegment(go.PathSegment.Line,.2*te,ee)),be.add(new go.PathSegment(go.PathSegment.Line,0,ee)),be.add(new go.PathSegment(go.PathSegment.Line,0,0)),be.add(new go.PathSegment(go.PathSegment.Line,.2*te,0)),be.add(new go.PathSegment(go.PathSegment.Line,.2*te,se)),be.add(new go.PathSegment(go.PathSegment.Line,.7*te,se)),be.add(new go.PathSegment(go.PathSegment.Line,.7*te,0).close()),ve.spot1=new go.Spot(0,se/ee);var we=Fe(.7,1,1,.5,0,ge/ee,1,ge/ee,ce());return ve.spot2=new go.Spot(we.x,we.y),Ae(we),ve}),go.Shape.setFigureParameter("IBeamArrow2",0,new Re("ConnectorHeight",40)),go.Shape.setFigureParameter("IBeamArrow2",1,new Re("BeamArrowHeight",100)),go.Shape.defineFigureGenerator("IBeamArrow2",function(De,te,ee){var de=De?De.parameter1:NaN;isNaN(de)&&(de=40);var se=De?De.parameter2:NaN;isNaN(se)&&(se=100);var ge=(ee-de)/2,ve=ge+de,be=(ee-se)/2,we=be+se;(de>ee||se>ee)&&(se>de?(de=de*ee/se,ge=(ee-de)/2,ve=ge+de,be=0,we=ee):(ge=0,ve=ee,be=0,we=ee));var Oe=new go.Geometry,Ke=new go.PathFigure(te,.5*ee,!0);Oe.add(Ke),Ke.add(new go.PathSegment(go.PathSegment.Line,.7*te,we)),Ke.add(new go.PathSegment(go.PathSegment.Line,.7*te,ve)),Ke.add(new go.PathSegment(go.PathSegment.Line,.2*te,ve)),Ke.add(new go.PathSegment(go.PathSegment.Line,.2*te,we)),Ke.add(new go.PathSegment(go.PathSegment.Line,0,we)),Ke.add(new go.PathSegment(go.PathSegment.Line,0,be)),Ke.add(new go.PathSegment(go.PathSegment.Line,.2*te,be)),Ke.add(new go.PathSegment(go.PathSegment.Line,.2*te,ge)),Ke.add(new go.PathSegment(go.PathSegment.Line,.7*te,ge)),Ke.add(new go.PathSegment(go.PathSegment.Line,.7*te,be).close()),Oe.spot1=new go.Spot(0,ge/ee);var qe=Fe(.7,we/ee,1,.5,0,ve/ee,1,ve/ee,ce());return Oe.spot2=new go.Spot(qe.x,qe.y),Ae(qe),Oe}),go.Shape.setFigureParameter("Pointer",0,new Re("BackPoint",.1,0,.2)),go.Shape.defineFigureGenerator("Pointer",function(De,te,ee){var de=De?De.parameter1:NaN;isNaN(de)&&(de=.1);var se=new go.Geometry,ge=new go.PathFigure(te,.5*ee,!0);se.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,0,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,de*te,.5*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,0).close()),se.spot1=new go.Spot(de,.35);var ve=Fe(.2,.65,1,.65,0,1,1,.5,ce());return se.spot2=new go.Spot(ve.x,ve.y),Ae(ve),se}),go.Shape.setFigureParameter("RoundedPointer",0,new Re("RoundedEdge",.3,0,.5)),go.Shape.defineFigureGenerator("RoundedPointer",function(De,te,ee){var de=De?De.parameter1:NaN;isNaN(de)&&(de=.3);var se=new go.Geometry,ge=new go.PathFigure(te,.5*ee,!0);se.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,0,ee)),ge.add(new go.PathSegment(go.PathSegment.Bezier,0,0,de*te,.75*ee,de*te,.25*ee).close()),se.spot1=new go.Spot(de,.35);var ve=Fe(0,.65,1,.65,0,1,1,.5,ce());return se.spot2=new go.Spot(ve.x,ve.y),Ae(ve),se}),go.Shape.setFigureParameter("SplitEndArrow",0,new Re("TailHeight",.4,.01,.99)),go.Shape.defineFigureGenerator("SplitEndArrow",function(De,te,ee){var de=De?De.parameter1:NaN;isNaN(de)&&(de=.4);var se=(.5-de/2)*ee,ge=(.5+de/2)*ee,ve=new go.Geometry,be=new go.PathFigure(te,.5*ee,!0);ve.add(be),be.add(new go.PathSegment(go.PathSegment.Line,.7*te,ee)),be.add(new go.PathSegment(go.PathSegment.Line,.7*te,ge)),be.add(new go.PathSegment(go.PathSegment.Line,0,ge)),be.add(new go.PathSegment(go.PathSegment.Line,.2*te,.5*ee)),be.add(new go.PathSegment(go.PathSegment.Line,0,se)),be.add(new go.PathSegment(go.PathSegment.Line,.7*te,se)),be.add(new go.PathSegment(go.PathSegment.Line,.7*te,0).close()),ve.spot1=new go.Spot(.2,.3);var we=Fe(.7,1,1,.5,0,ge/ee,1,ge/ee,ce());return ve.spot2=new go.Spot(we.x,we.y),Ae(we),ve}),go.Shape.setFigureParameter("SplitEndArrow2",0,new Re("TailThickness",50)),go.Shape.defineFigureGenerator("SplitEndArrow2",function(De,te,ee){var de=De?De.parameter1:NaN;isNaN(de)&&(de=50);var se=(ee-de)/2,ge=se+de;de>ee&&(se=0,ge=ee);var ve=new go.Geometry,be=new go.PathFigure(te,.5*ee,!0);ve.add(be),be.add(new go.PathSegment(go.PathSegment.Line,.7*te,ee)),be.add(new go.PathSegment(go.PathSegment.Line,.7*te,ge)),be.add(new go.PathSegment(go.PathSegment.Line,0,ge)),be.add(new go.PathSegment(go.PathSegment.Line,.2*te,.5*ee)),be.add(new go.PathSegment(go.PathSegment.Line,0,se)),be.add(new go.PathSegment(go.PathSegment.Line,.7*te,se)),be.add(new go.PathSegment(go.PathSegment.Line,.7*te,0).close()),ve.spot1=new go.Spot(.2,se/ee);var we=Fe(.7,1,1,.5,0,ge/ee,1,ge/ee,ce());return ve.spot2=new go.Spot(we.x,we.y),Ae(we),ve}),go.Shape.setFigureParameter("SquareArrow",0,new Re("ArrowPoint",.7,.2,.9)),go.Shape.defineFigureGenerator("SquareArrow",function(De,te,ee){var de=De?De.parameter1:NaN;isNaN(de)&&(de=.7);var se=new go.Geometry,ge=new go.PathFigure(te,.5*ee,!0);return se.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,de*te,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,0)),ge.add(new go.PathSegment(go.PathSegment.Line,de*te,0).close()),se.spot1=go.Spot.TopLeft,se.spot2=new go.Spot(de,1),se}),go.Shape.defineFigureGenerator("Cone1",function(De,te,ee){var de=new go.Geometry,se=Ue*.5,ge=Ue*.1,ve=new go.PathFigure(0,.9*ee,!0);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),ve.add(new go.PathSegment(go.PathSegment.Line,te,.9*ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,ee,te,(.9+ge)*ee,(.5+se)*te,ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ee,(.5-se)*te,ee,0,(.9+ge)*ee).close()),de.spot1=new go.Spot(.25,.5),de.spot2=new go.Spot(.75,.97),de}),go.Shape.defineFigureGenerator("Cone2",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,.9*ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Bezier,te,.9*ee,(1-.85/.9)*te,ee,.85/.9*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,0,.9*ee).close());var ge=new go.PathFigure(0,.9*ee,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Bezier,te,.9*ee,(1-.85/.9)*te,.8*ee,.85/.9*te,.8*ee)),de.spot1=new go.Spot(.25,.5),de.spot2=new go.Spot(.75,.82),de}),go.Shape.defineFigureGenerator("Cube1",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.5*te,ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.85*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.15*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,0,.15*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.85*ee).close());var ge=new go.PathFigure(.5*te,ee,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,.3*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,.15*ee)),ge.add(new go.PathSegment(go.PathSegment.Move,.5*te,.3*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,te,.15*ee)),de.spot1=new go.Spot(0,.3),de.spot2=new go.Spot(.5,.85),de}),go.Shape.defineFigureGenerator("Cube2",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,.3*ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.7*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.7*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.3*te,0).close());var ge=new go.PathFigure(0,.3*ee,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.7*te,.3*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Move,.7*te,.3*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.7*te,ee)),de.spot1=new go.Spot(0,.3),de.spot2=new go.Spot(.7,1),de}),go.Shape.defineFigureGenerator("Cylinder1",function(De,te,ee){var de=De?De.parameter1:NaN;isNaN(de)&&(de=5),de=Math.min(de,ee/3);var se=new go.Geometry,ge=Ue*.5,ve=new go.PathFigure(0,de,!0);se.add(ve),ve.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,0,0,Ue*de,(.5-ge)*te,0)),ve.add(new go.PathSegment(go.PathSegment.Bezier,1*te,de,(.5+ge)*te,0,1*te,Ue*de)),ve.add(new go.PathSegment(go.PathSegment.Line,te,ee-de)),ve.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,1*ee,1*te,ee-Ue*de,(.5+ge)*te,1*ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,0,ee-de,(.5-ge)*te,1*ee,0,ee-Ue*de)),ve.add(new go.PathSegment(go.PathSegment.Line,0,de));var be=new go.PathFigure(te,de,!1);return se.add(be),be.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,2*de,1*te,2*de-Ue*de,(.5+ge)*te,2*de)),be.add(new go.PathSegment(go.PathSegment.Bezier,0,de,(.5-ge)*te,2*de,0,2*de-Ue*de)),se.spot1=new go.Spot(0,0,0,2*de),se.spot2=new go.Spot(1,1),se}),go.Shape.defineFigureGenerator("Cylinder2",function(De,te,ee){var de=De?De.parameter1:NaN;isNaN(de)&&(de=5),de=Math.min(de,ee/3);var se=new go.Geometry,ge=Ue*.5,ve=new go.PathFigure(0,ee-de,!0);se.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,0,de)),ve.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,0,0,Ue*de,(.5-ge)*te,0)),ve.add(new go.PathSegment(go.PathSegment.Bezier,te,de,(.5+ge)*te,0,te,Ue*de)),ve.add(new go.PathSegment(go.PathSegment.Line,te,ee-de)),ve.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,ee,te,ee-Ue*de,(.5+ge)*te,ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,0,ee-de,(.5-ge)*te,ee,0,ee-Ue*de));var be=new go.PathFigure(0,ee-de,!1);return se.add(be),be.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,ee-2*de,0,ee-de-Ue*de,(.5-ge)*te,ee-2*de)),be.add(new go.PathSegment(go.PathSegment.Bezier,te,ee-de,(.5+ge)*te,ee-2*de,te,ee-de-Ue*de)),se.spot1=new go.Spot(0,0),se.spot2=new go.Spot(1,1,0,-2*de),se}),go.Shape.defineFigureGenerator("Cylinder3",function(De,te,ee){var de=De?De.parameter1:NaN;isNaN(de)&&(de=5),de=Math.min(de,te/3);var se=new go.Geometry,ge=Ue*.5,ve=new go.PathFigure(de,0,!0);se.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,te-de,0)),ve.add(new go.PathSegment(go.PathSegment.Bezier,te,.5*ee,te-Ue*de,0,te,(.5-ge)*ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,te-de,ee,te,(.5+ge)*ee,te-Ue*de,ee)),ve.add(new go.PathSegment(go.PathSegment.Line,de,ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ee,Ue*de,ee,0,(.5+ge)*ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,de,0,0,(.5-ge)*ee,Ue*de,0));var be=new go.PathFigure(de,0,!1);return se.add(be),be.add(new go.PathSegment(go.PathSegment.Bezier,2*de,.5*ee,de+Ue*de,0,2*de,(.5-ge)*ee)),be.add(new go.PathSegment(go.PathSegment.Bezier,de,ee,2*de,(.5+ge)*ee,de+Ue*de,ee)),se.spot1=new go.Spot(0,0,2*de,0),se.spot2=new go.Spot(1,1),se}),go.Shape.defineFigureGenerator("Cylinder4",function(De,te,ee){var de=De?De.parameter1:NaN;isNaN(de)&&(de=5),de=Math.min(de,te/3);var se=new go.Geometry,ge=Ue*.5,ve=new go.PathFigure(te-de,0,!0);se.add(ve),ve.add(new go.PathSegment(go.PathSegment.Bezier,te,.5*ee,te-Ue*de,0,te,(.5-ge)*ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,te-de,ee,te,(.5+ge)*ee,te-Ue*de,ee)),ve.add(new go.PathSegment(go.PathSegment.Line,de,ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ee,Ue*de,ee,0,(.5+ge)*ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,de,0,0,(.5-ge)*ee,Ue*de,0)),ve.add(new go.PathSegment(go.PathSegment.Line,te-de,0));var be=new go.PathFigure(te-de,0,!1);return se.add(be),be.add(new go.PathSegment(go.PathSegment.Bezier,te-2*de,.5*ee,te-de-Ue*de,0,te-2*de,(.5-ge)*ee)),be.add(new go.PathSegment(go.PathSegment.Bezier,te-de,ee,te-2*de,(.5+ge)*ee,te-de-Ue*de,ee)),se.spot1=new go.Spot(0,0),se.spot2=new go.Spot(1,1,-2*de,0),se}),go.Shape.defineFigureGenerator("Prism1",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.25*te,.25*ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee).close());var ge=new go.PathFigure(.25*te,.25*ee,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)),de.spot1=new go.Spot(.408,.172),de.spot2=new go.Spot(.833,.662),de}),go.Shape.defineFigureGenerator("Prism2",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,.25*ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.25*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,.75*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee).close());var ge=new go.PathFigure(0,ee,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.25*te,.5*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,te,.25*ee)),ge.add(new go.PathSegment(go.PathSegment.Move,0,.25*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.25*te,.5*ee)),de.spot1=new go.Spot(.25,.5),de.spot2=new go.Spot(.75,.75),de}),go.Shape.defineFigureGenerator("Pyramid1",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.5*te,0,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.75*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.75*ee).close());var ge=new go.PathFigure(.5*te,0,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)),de.spot1=new go.Spot(.25,.367),de.spot2=new go.Spot(.75,.875),de}),go.Shape.defineFigureGenerator("Pyramid2",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.5*te,0,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.85*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.85*ee).close());var ge=new go.PathFigure(.5*te,0,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,.7*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,.85*ee)),ge.add(new go.PathSegment(go.PathSegment.Move,.5*te,.7*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,te,.85*ee)),de.spot1=new go.Spot(.25,.367),de.spot2=new go.Spot(.75,.875),de}),go.Shape.defineFigureGenerator("Actor",function(De,te,ee){var de=new go.Geometry,se=.2,ge=.1,ve=Ue*se,be=Ue*ge,we=.5,Oe=.1,Ke=new go.PathFigure(we*te,(Oe+ge)*ee,!0);de.add(Ke),Ke.add(new go.PathSegment(go.PathSegment.Bezier,(we-se)*te,Oe*ee,(we-ve)*te,(Oe+ge)*ee,(we-se)*te,(Oe+be)*ee)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,we*te,(Oe-ge)*ee,(we-se)*te,(Oe-be)*ee,(we-ve)*te,(Oe-ge)*ee)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,(we+se)*te,Oe*ee,(we+ve)*te,(Oe-ge)*ee,(we+se)*te,(Oe-be)*ee)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,we*te,(Oe+ge)*ee,(we+se)*te,(Oe+be)*ee,(we+ve)*te,(Oe+ge)*ee));var qe=.05,lt=Ue*qe;we=.05,Oe=.25;var at=new go.PathFigure(.5*te,.2*ee,!0);return de.add(at),at.add(new go.PathSegment(go.PathSegment.Line,.95*te,.2*ee)),we=.95,Oe=.25,at.add(new go.PathSegment(go.PathSegment.Bezier,(we+qe)*te,Oe*ee,(we+lt)*te,(Oe-qe)*ee,(we+qe)*te,(Oe-lt)*ee)),at.add(new go.PathSegment(go.PathSegment.Line,te,.6*ee)),at.add(new go.PathSegment(go.PathSegment.Line,.85*te,.6*ee)),at.add(new go.PathSegment(go.PathSegment.Line,.85*te,.35*ee)),qe=.025,lt=Ue*qe,we=.825,Oe=.35,at.add(new go.PathSegment(go.PathSegment.Bezier,we*te,(Oe-qe)*ee,(we+qe)*te,(Oe-lt)*ee,(we+lt)*te,(Oe-qe)*ee)),at.add(new go.PathSegment(go.PathSegment.Bezier,(we-qe)*te,Oe*ee,(we-lt)*te,(Oe-qe)*ee,(we-qe)*te,(Oe-lt)*ee)),at.add(new go.PathSegment(go.PathSegment.Line,.8*te,ee)),at.add(new go.PathSegment(go.PathSegment.Line,.55*te,ee)),at.add(new go.PathSegment(go.PathSegment.Line,.55*te,.7*ee)),qe=.05,lt=Ue*qe,we=.5,Oe=.7,at.add(new go.PathSegment(go.PathSegment.Bezier,we*te,(Oe-qe)*ee,(we+qe)*te,(Oe-lt)*ee,(we+lt)*te,(Oe-qe)*ee)),at.add(new go.PathSegment(go.PathSegment.Bezier,(we-qe)*te,Oe*ee,(we-lt)*te,(Oe-qe)*ee,(we-qe)*te,(Oe-lt)*ee)),at.add(new go.PathSegment(go.PathSegment.Line,.45*te,ee)),at.add(new go.PathSegment(go.PathSegment.Line,.2*te,ee)),at.add(new go.PathSegment(go.PathSegment.Line,.2*te,.35*ee)),qe=.025,lt=Ue*qe,we=.175,Oe=.35,at.add(new go.PathSegment(go.PathSegment.Bezier,we*te,(Oe-qe)*ee,(we+qe)*te,(Oe-lt)*ee,(we+lt)*te,(Oe-qe)*ee)),at.add(new go.PathSegment(go.PathSegment.Bezier,(we-qe)*te,Oe*ee,(we-lt)*te,(Oe-qe)*ee,(we-qe)*te,(Oe-lt)*ee)),at.add(new go.PathSegment(go.PathSegment.Line,.15*te,.6*ee)),at.add(new go.PathSegment(go.PathSegment.Line,0,.6*ee)),at.add(new go.PathSegment(go.PathSegment.Line,0,.25*ee)),qe=.05,lt=Ue*qe,we=.05,Oe=.25,at.add(new go.PathSegment(go.PathSegment.Bezier,we*te,(Oe-qe)*ee,(we-qe)*te,(Oe-lt)*ee,(we-lt)*te,(Oe-qe)*ee)),at.add(new go.PathSegment(go.PathSegment.Line,.5*te,.2*ee)),de.spot1=new go.Spot(.2,.2),de.spot2=new go.Spot(.8,.65),de}),go.Shape.setFigureParameter("Card",0,new Re("CornerCutoutSize",.2,.1,.9)),go.Shape.defineFigureGenerator("Card",function(De,te,ee){var de=De?De.parameter1:NaN;isNaN(de)&&(de=.2);var se=new go.Geometry,ge=new go.PathFigure(te,0,!0);return se.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,de*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,de*te,0).close()),se.spot1=new go.Spot(0,de),se.spot2=go.Spot.BottomRight,se}),go.Shape.defineFigureGenerator("Collate",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.5*te,.5*ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ee));var ge=new go.PathFigure(.5*te,.5*ee,!0);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ee)),de.spot1=new go.Spot(.25,0),de.spot2=new go.Spot(.75,.25),de}),go.Shape.defineFigureGenerator("CreateRequest",function(De,te,ee){var de=new go.Geometry,se=De?De.parameter1:NaN;isNaN(se)&&(se=.1);var ge=new go.PathFigure(0,0,!0);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ee).close());var ve=new go.PathFigure(0,se*ee,!1);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,te,se*ee)),ve.add(new go.PathSegment(go.PathSegment.Move,0,(1-se)*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,te,(1-se)*ee)),de}),go.Shape.defineFigureGenerator("Database",function(De,te,ee){var de=new go.Geometry,se=Ue*.5,ge=Ue*.1,ve=new go.PathFigure(te,.1*ee,!0);de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,te,.9*ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,ee,te,(.9+ge)*ee,(.5+se)*te,ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ee,(.5-se)*te,ee,0,(.9+ge)*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,0,.1*ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,0,0,(.1-ge)*ee,(.5-se)*te,0)),ve.add(new go.PathSegment(go.PathSegment.Bezier,te,.1*ee,(.5+se)*te,0,te,(.1-ge)*ee));var be=new go.PathFigure(te,.1*ee,!1);return de.add(be),be.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.2*ee,te,(.1+ge)*ee,(.5+se)*te,.2*ee)),be.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*ee,(.5-se)*te,.2*ee,0,(.1+ge)*ee)),be.add(new go.PathSegment(go.PathSegment.Move,te,.2*ee)),be.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.3*ee,te,(.2+ge)*ee,(.5+se)*te,.3*ee)),be.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*ee,(.5-se)*te,.3*ee,0,(.2+ge)*ee)),be.add(new go.PathSegment(go.PathSegment.Move,te,.3*ee)),be.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.4*ee,te,(.3+ge)*ee,(.5+se)*te,.4*ee)),be.add(new go.PathSegment(go.PathSegment.Bezier,0,.3*ee,(.5-se)*te,.4*ee,0,(.3+ge)*ee)),de.spot1=new go.Spot(0,.4),de.spot2=new go.Spot(1,.9),de}),go.Shape.defineFigureGenerator("DataStorage",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,0)),se.add(new go.PathSegment(go.PathSegment.Bezier,.75*te,ee,te,0,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*te,.9*ee,.25*te,.1*ee).close()),de.spot1=new go.Spot(.226,0),de.spot2=new go.Spot(.81,1),de}),go.Shape.defineFigureGenerator("DiskStorage",function(De,te,ee){var de=new go.Geometry,se=Ue*.5,ge=Ue*.1,ve=new go.PathFigure(te,.1*ee,!0);de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,te,.9*ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,ee,te,(.9+ge)*ee,(.5+se)*te,ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ee,(.5-se)*te,ee,0,(.9+ge)*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,0,.1*ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,0,0,(.1-ge)*ee,(.5-se)*te,0)),ve.add(new go.PathSegment(go.PathSegment.Bezier,te,.1*ee,(.5+se)*te,0,te,(.1-ge)*ee));var be=new go.PathFigure(te,.1*ee,!1);return de.add(be),be.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.2*ee,te,(.1+ge)*ee,(.5+se)*te,.2*ee)),be.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*ee,(.5-se)*te,.2*ee,0,(.1+ge)*ee)),be.add(new go.PathSegment(go.PathSegment.Move,te,.2*ee)),be.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.3*ee,te,(.2+ge)*ee,(.5+se)*te,.3*ee)),be.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*ee,(.5-se)*te,.3*ee,0,(.2+ge)*ee)),de.spot1=new go.Spot(0,.3),de.spot2=new go.Spot(1,.9),de}),go.Shape.defineFigureGenerator("Display",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.25*te,0,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,0)),se.add(new go.PathSegment(go.PathSegment.Bezier,.75*te,ee,te,0,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.25*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.5*ee).close()),de.spot1=new go.Spot(.25,0),de.spot2=new go.Spot(.75,1),de}),go.Shape.defineFigureGenerator("DividedEvent",function(De,te,ee){var de=new go.Geometry,se=De?De.parameter1:NaN;isNaN(se)?se=.2:se<.15&&(se=.15);var ge=Ue*.2,ve=new go.PathFigure(0,.2*ee,!0);de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Bezier,.2*te,0,0,(.2-ge)*ee,(.2-ge)*te,0)),ve.add(new go.PathSegment(go.PathSegment.Line,.8*te,0)),ve.add(new go.PathSegment(go.PathSegment.Bezier,te,.2*ee,(.8+ge)*te,0,te,(.2-ge)*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,te,.8*ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,.8*te,ee,te,(.8+ge)*ee,(.8+ge)*te,ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.2*te,ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,0,.8*ee,(.2-ge)*te,ee,0,(.8+ge)*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,0,.2*ee));var be=new go.PathFigure(0,se*ee,!1);return de.add(be),be.add(new go.PathSegment(go.PathSegment.Line,te,se*ee)),de}),go.Shape.defineFigureGenerator("DividedProcess",function(De,te,ee){var de=new go.Geometry,se=De?De.parameter1:NaN;(isNaN(se)||se<.1)&&(se=.1);var ge=new go.PathFigure(0,0,!0);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ee).close());var ve=new go.PathFigure(0,se*ee,!1);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,te,se*ee)),de}),go.Shape.defineFigureGenerator("Document",function(De,te,ee){var de=new go.Geometry;ee=ee/.8;var se=new go.PathFigure(0,.7*ee,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.7*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ee,.5*te,.4*ee,.5*te,ee).close()),de.spot1=go.Spot.TopLeft,de.spot2=new go.Spot(1,.6),de}),go.Shape.defineFigureGenerator("ExternalOrganization",function(De,te,ee){var de=new go.Geometry,se=De?De.parameter1:NaN;(isNaN(se)||se<.2)&&(se=.2);var ge=new go.PathFigure(0,0,!0);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ee).close());var ve=new go.PathFigure(se*te,0,!1);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,0,se*ee)),ve.add(new go.PathSegment(go.PathSegment.Move,te,se*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,(1-se)*te,0)),ve.add(new go.PathSegment(go.PathSegment.Move,0,(1-se)*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,se*te,ee)),ve.add(new go.PathSegment(go.PathSegment.Move,(1-se)*te,ee)),ve.add(new go.PathSegment(go.PathSegment.Line,te,(1-se)*ee)),de}),go.Shape.defineFigureGenerator("ExternalProcess",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.5*te,0,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.5*ee).close());var ge=new go.PathFigure(.1*te,.4*ee,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.1*te,.6*ee)),ge.add(new go.PathSegment(go.PathSegment.Move,.9*te,.6*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.9*te,.4*ee)),ge.add(new go.PathSegment(go.PathSegment.Move,.6*te,.1*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.4*te,.1*ee)),ge.add(new go.PathSegment(go.PathSegment.Move,.4*te,.9*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.6*te,.9*ee)),de.spot1=new go.Spot(.25,.25),de.spot2=new go.Spot(.75,.75),de}),go.Shape.defineFigureGenerator("File",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.25*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee).close());var ge=new go.PathFigure(.75*te,0,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.75*te,.25*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,te,.25*ee)),de.spot1=new go.Spot(0,.25),de.spot2=go.Spot.BottomRight,de}),go.Shape.defineFigureGenerator("Interrupt",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(te,.5*ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee));var ge=new go.PathFigure(te,.5*ee,!1);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,ee));var ve=new go.PathFigure(te,.5*ee,!1);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,te,0)),de.spot1=new go.Spot(0,.25),de.spot2=new go.Spot(.5,.75),de}),go.Shape.defineFigureGenerator("InternalStorage",function(De,te,ee){var de=new go.Geometry,se=De?De.parameter1:NaN,ge=De?De.parameter2:NaN;isNaN(se)&&(se=.1),isNaN(ge)&&(ge=.1);var ve=new go.PathFigure(0,0,!0);de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,te,0)),ve.add(new go.PathSegment(go.PathSegment.Line,te,ee)),ve.add(new go.PathSegment(go.PathSegment.Line,0,ee).close());var be=new go.PathFigure(se*te,0,!1);return de.add(be),be.add(new go.PathSegment(go.PathSegment.Line,se*te,ee)),be.add(new go.PathSegment(go.PathSegment.Move,0,ge*ee)),be.add(new go.PathSegment(go.PathSegment.Line,te,ge*ee)),de}),go.Shape.defineFigureGenerator("Junction",function(De,te,ee){var de=new go.Geometry,se=1/Math.SQRT2,ge=(1-1/Math.SQRT2)/2,ve=Ue*.5,be=.5,we=new go.PathFigure(te,be*ee,!0);de.add(we),we.add(new go.PathSegment(go.PathSegment.Bezier,be*te,ee,te,(be+ve)*ee,(be+ve)*te,ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,0,be*ee,(be-ve)*te,ee,0,(be+ve)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,be*te,0,0,(be-ve)*ee,(be-ve)*te,0)),we.add(new go.PathSegment(go.PathSegment.Bezier,te,be*ee,(be+ve)*te,0,te,(be-ve)*ee));var Oe=new go.PathFigure((ge+se)*te,(ge+se)*ee,!1);return de.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Line,ge*te,ge*ee)),Oe.add(new go.PathSegment(go.PathSegment.Move,ge*te,(ge+se)*ee)),Oe.add(new go.PathSegment(go.PathSegment.Line,(ge+se)*te,ge*ee)),de}),go.Shape.defineFigureGenerator("LinedDocument",function(De,te,ee){var de=new go.Geometry;ee=ee/.8;var se=new go.PathFigure(0,.7*ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.7*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ee,.5*te,.4*ee,.5*te,ee).close());var ge=new go.PathFigure(.1*te,0,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.1*te,.75*ee)),de.spot1=new go.Spot(.1,0),de.spot2=new go.Spot(1,.6),de}),go.Shape.defineFigureGenerator("LoopLimit",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,ee,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,.25*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.25*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.25*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee).close()),de.spot1=new go.Spot(0,.25),de.spot2=go.Spot.BottomRight,de}),go.Shape.defineFigureGenerator("MagneticTape",function(De,te,ee){var de=new go.Geometry,se=Ue*.5,ge=.5,ve=new go.PathFigure(.5*te,ee,!0);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Bezier,0,ge*ee,(ge-se)*te,ee,0,(ge+se)*ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,ge*te,0,0,(ge-se)*ee,(ge-se)*te,0)),ve.add(new go.PathSegment(go.PathSegment.Bezier,te,ge*ee,(ge+se)*te,0,te,(ge-se)*ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,(ge+.1)*te,.9*ee,te,(ge+se)*ee,(ge+se)*te,.9*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,te,.9*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,te,ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)),de.spot1=new go.Spot(.15,.15),de.spot2=new go.Spot(.85,.8),de}),go.Shape.defineFigureGenerator("ManualInput",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(te,0,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.25*ee).close()),de.spot1=new go.Spot(0,.25),de.spot2=go.Spot.BottomRight,de}),go.Shape.defineFigureGenerator("MessageFromUser",function(De,te,ee){var de=new go.Geometry,se=De?De.parameter1:NaN;isNaN(se)&&(se=.7);var ge=new go.PathFigure(0,0,!0);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,se*te,.5*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ee).close()),de.spot1=go.Spot.TopLeft,de}),go.Shape.defineFigureGenerator("MicroformProcessing",function(De,te,ee){var de=new go.Geometry,se=De?De.parameter1:NaN;isNaN(se)&&(se=.25);var ge=new go.PathFigure(0,0,!0);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,se*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,(1-se)*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ee).close()),de}),go.Shape.defineFigureGenerator("MicroformRecording",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,.25*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.15*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.85*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,.75*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee).close()),de.spot1=new go.Spot(0,.25),de.spot2=new go.Spot(1,.75),de}),go.Shape.defineFigureGenerator("MultiDocument",function(De,te,ee){var de=new go.Geometry;ee=ee/.8;var se=new go.PathFigure(te,0,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.9*te,.44*ee,.96*te,.47*ee,.93*te,.45*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.9*te,.6*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.8*te,.54*ee,.86*te,.57*ee,.83*te,.55*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,.7*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ee,.4*te,.4*ee,.4*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.2*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,.2*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,.1*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,.1*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,0).close());var ge=new go.PathFigure(.1*te,.2*ee,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.2*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.54*ee)),ge.add(new go.PathSegment(go.PathSegment.Move,.2*te,.1*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.9*te,.1*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.9*te,.44*ee)),de.spot1=new go.Spot(0,.25),de.spot2=new go.Spot(.8,.77),de}),go.Shape.defineFigureGenerator("MultiProcess",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.1*te,.1*ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,.1*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.9*te,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.9*te,.9*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,.9*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.2*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,.2*ee).close());var ge=new go.PathFigure(.2*te,.1*ee,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.9*te,.1*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.9*te,.8*ee)),ge.add(new go.PathSegment(go.PathSegment.Move,.1*te,.2*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.2*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.9*ee)),de.spot1=new go.Spot(0,.2),de.spot2=new go.Spot(.8,1),de}),go.Shape.defineFigureGenerator("OfflineStorage",function(De,te,ee){var de=new go.Geometry,se=De?De.parameter1:NaN;isNaN(se)&&(se=.1);var ge=1-se,ve=new go.PathFigure(0,0,!0);de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,te,0)),ve.add(new go.PathSegment(go.PathSegment.Line,.5*te,ee).close());var be=new go.PathFigure(.5*se*te,se*ee,!1);return de.add(be),be.add(new go.PathSegment(go.PathSegment.Line,(1-.5*se)*te,se*ee)),de}),go.Shape.defineFigureGenerator("OffPageConnector",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee).close()),de.spot1=go.Spot.TopLeft,de.spot2=new go.Spot(.75,1),de}),go.Shape.defineFigureGenerator("Or",function(De,te,ee){var de=new go.Geometry,se=Ue*.5,ge=.5,ve=new go.PathFigure(te,ge*ee,!0);de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Bezier,ge*te,ee,te,(ge+se)*ee,(ge+se)*te,ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,0,ge*ee,(ge-se)*te,ee,0,(ge+se)*ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,ge*te,0,0,(ge-se)*ee,(ge-se)*te,0)),ve.add(new go.PathSegment(go.PathSegment.Bezier,te,ge*ee,(ge+se)*te,0,te,(ge-se)*ee));var be=new go.PathFigure(te,.5*ee,!1);return de.add(be),be.add(new go.PathSegment(go.PathSegment.Line,0,.5*ee)),be.add(new go.PathSegment(go.PathSegment.Move,.5*te,ee)),be.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),de}),go.Shape.defineFigureGenerator("PaperTape",function(De,te,ee){var de=new go.Geometry;ee=ee/.8;var se=new go.PathFigure(0,.7*ee,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,.3*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,te,.3*ee,.5*te,.6*ee,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.7*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*ee,.5*te,.4*ee,.5*te,ee).close()),de.spot1=new go.Spot(0,.49),de.spot2=new go.Spot(1,.75),de}),go.Shape.defineFigureGenerator("PrimitiveFromCall",function(De,te,ee){var de=new go.Geometry,se=De?De.parameter1:NaN,ge=De?De.parameter2:NaN;isNaN(se)&&(se=.1),isNaN(ge)&&(ge=.3);var ve=new go.PathFigure(0,0,!0);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,te,0)),ve.add(new go.PathSegment(go.PathSegment.Line,(1-ge)*te,.5*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,te,ee)),ve.add(new go.PathSegment(go.PathSegment.Line,0,ee).close()),de}),go.Shape.defineFigureGenerator("PrimitiveToCall",function(De,te,ee){var de=new go.Geometry,se=De?De.parameter1:NaN,ge=De?De.parameter2:NaN;isNaN(se)&&(se=.1),isNaN(ge)&&(ge=.3);var ve=new go.PathFigure(0,0,!0);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,(1-ge)*te,0)),ve.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,(1-ge)*te,ee)),ve.add(new go.PathSegment(go.PathSegment.Line,0,ee).close()),de}),go.Shape.defineFigureGenerator("Procedure",function(De,te,ee){var de=new go.Geometry,se=De?De.parameter1:NaN;isNaN(se)&&(se=.1);var ge=new go.PathFigure(0,0,!0);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ee).close());var ve=new go.PathFigure((1-se)*te,0,!1);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,(1-se)*te,ee)),ve.add(new go.PathSegment(go.PathSegment.Move,se*te,0)),ve.add(new go.PathSegment(go.PathSegment.Line,se*te,ee)),de}),go.Shape.defineFigureGenerator("Process",function(De,te,ee){var de=new go.Geometry,se=De?De.parameter1:NaN;isNaN(se)&&(se=.1);var ge=new go.PathFigure(0,0,!0);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ee).close());var ve=new go.PathFigure(se*te,0,!1);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,se*te,ee)),de.spot2=go.Spot.BottomRight,de}),go.Shape.defineFigureGenerator("Sort",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.5*te,0,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.5*ee).close());var ge=new go.PathFigure(0,.5*ee,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)),de.spot1=new go.Spot(.25,.25),de.spot2=new go.Spot(.75,.5),de}),go.Shape.defineFigureGenerator("Start",function(De,te,ee){var de=new go.Geometry,se=De?De.parameter1:NaN;isNaN(se)&&(se=.25);var ge=new go.PathFigure(se*te,0,!0);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*te,.5*ee,.25*te,.5*ee)),ge.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*te,.5*ee,.25*te,.5*ee));var ve=new go.PathFigure(se*te,0,!1);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,se*te,ee)),ve.add(new go.PathSegment(go.PathSegment.Move,(1-se)*te,0)),ve.add(new go.PathSegment(go.PathSegment.Line,(1-se)*te,ee)),de.spot1=new go.Spot(se,0),de.spot2=new go.Spot(1-se,1),de}),go.Shape.defineFigureGenerator("Terminator",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.25*te,0,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*te,.5*ee,.25*te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*te,.5*ee,.25*te,.5*ee)),de.spot1=new go.Spot(.23,0),de.spot2=new go.Spot(.77,1),de}),go.Shape.defineFigureGenerator("TransmittalTape",function(De,te,ee){var de=new go.Geometry,se=De?De.parameter1:NaN;isNaN(se)&&(se=.1);var ge=new go.PathFigure(0,0,!0);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.75*te,(1-se)*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,(1-se)*ee).close()),de.spot1=go.Spot.TopLeft,de}),go.Shape.defineFigureGenerator("AndGate",function(De,te,ee){var de=new go.Geometry,se=Ue*.5,ge=new go.PathFigure(0,0,!0);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),ge.add(new go.PathSegment(go.PathSegment.Bezier,te,.5*ee,(.5+se)*te,0,te,(.5-se)*ee)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,ee,te,(.5+se)*ee,(.5+se)*te,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ee).close()),de.spot1=go.Spot.TopLeft,de.spot2=new go.Spot(.55,1),de}),go.Shape.defineFigureGenerator("Buffer",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee).close()),de.spot1=new go.Spot(0,.25),de.spot2=new go.Spot(.5,.75),de}),go.Shape.defineFigureGenerator("Clock",function(De,te,ee){var de=new go.Geometry,se=Ue*.5,ge=.5,ve=new go.PathFigure(te,ge*ee,!0);de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Bezier,ge*te,ee,te,(ge+se)*ee,(ge+se)*te,ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,0,ge*ee,(ge-se)*te,ee,0,(ge+se)*ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,ge*te,0,0,(ge-se)*ee,(ge-se)*te,0)),ve.add(new go.PathSegment(go.PathSegment.Bezier,te,ge*ee,(ge+se)*te,0,te,(ge-se)*ee));var be=new go.PathFigure(te,ge*ee,!1);de.add(be),be.add(new go.PathSegment(go.PathSegment.Line,te,ge*ee));var we=new go.PathFigure(.8*te,.75*ee,!1);return de.add(we),we.add(new go.PathSegment(go.PathSegment.Line,.8*te,.25*ee)),we.add(new go.PathSegment(go.PathSegment.Line,.6*te,.25*ee)),we.add(new go.PathSegment(go.PathSegment.Line,.6*te,.75*ee)),we.add(new go.PathSegment(go.PathSegment.Line,.4*te,.75*ee)),we.add(new go.PathSegment(go.PathSegment.Line,.4*te,.25*ee)),we.add(new go.PathSegment(go.PathSegment.Line,.2*te,.25*ee)),we.add(new go.PathSegment(go.PathSegment.Line,.2*te,.75*ee)),de}),go.Shape.defineFigureGenerator("Ground",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.5*te,0,!1);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.4*ee)),se.add(new go.PathSegment(go.PathSegment.Move,.2*te,.6*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,.6*ee)),se.add(new go.PathSegment(go.PathSegment.Move,.3*te,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.7*te,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Move,.4*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.6*te,ee)),de}),go.Shape.defineFigureGenerator("Inverter",function(De,te,ee){var de=new go.Geometry,se=Ue*.1,ge=.1,ve=.9,be=.5,we=new go.PathFigure(.8*te,.5*ee,!0);de.add(we),we.add(new go.PathSegment(go.PathSegment.Line,0,ee)),we.add(new go.PathSegment(go.PathSegment.Line,0,0)),we.add(new go.PathSegment(go.PathSegment.Line,.8*te,.5*ee));var Oe=new go.PathFigure((ve+ge)*te,be*ee,!0);return de.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be+ge)*ee,(ve+ge)*te,(be+se)*ee,(ve+se)*te,(be+ge)*ee)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(ve-ge)*te,be*ee,(ve-se)*te,(be+ge)*ee,(ve-ge)*te,(be+se)*ee)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be-ge)*ee,(ve-ge)*te,(be-se)*ee,(ve-se)*te,(be-ge)*ee)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(ve+ge)*te,be*ee,(ve+se)*te,(be-ge)*ee,(ve+ge)*te,(be-se)*ee)),de.spot1=new go.Spot(0,.25),de.spot2=new go.Spot(.4,.75),de}),go.Shape.defineFigureGenerator("NandGate",function(De,te,ee){var de=new go.Geometry,se=Ue*.5,ge=Ue*.4,ve=Ue*.1,be=.1,we=.9,Oe=.5,Ke=new go.PathFigure(.8*te,.5*ee,!0);de.add(Ke),Ke.add(new go.PathSegment(go.PathSegment.Bezier,.4*te,ee,.8*te,(.5+ge)*ee,(.4+se)*te,ee)),Ke.add(new go.PathSegment(go.PathSegment.Line,0,ee)),Ke.add(new go.PathSegment(go.PathSegment.Line,0,0)),Ke.add(new go.PathSegment(go.PathSegment.Line,.4*te,0)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,.8*te,.5*ee,(.4+se)*te,0,.8*te,(.5-ge)*ee));var qe=new go.PathFigure((we+be)*te,Oe*ee,!0);return de.add(qe),qe.add(new go.PathSegment(go.PathSegment.Bezier,we*te,(Oe+be)*ee,(we+be)*te,(Oe+ve)*ee,(we+ve)*te,(Oe+be)*ee)),qe.add(new go.PathSegment(go.PathSegment.Bezier,(we-be)*te,Oe*ee,(we-ve)*te,(Oe+be)*ee,(we-be)*te,(Oe+ve)*ee)),qe.add(new go.PathSegment(go.PathSegment.Bezier,we*te,(Oe-be)*ee,(we-be)*te,(Oe-ve)*ee,(we-ve)*te,(Oe-be)*ee)),qe.add(new go.PathSegment(go.PathSegment.Bezier,(we+be)*te,Oe*ee,(we+ve)*te,(Oe-be)*ee,(we+be)*te,(Oe-ve)*ee)),de.spot1=new go.Spot(0,.05),de.spot2=new go.Spot(.55,.95),de}),go.Shape.defineFigureGenerator("NorGate",function(De,te,ee){var de=new go.Geometry,se=.5,ge=Ue*se,ve=0,be=.5,we=new go.PathFigure(.8*te,.5*ee,!0);de.add(we),we.add(new go.PathSegment(go.PathSegment.Bezier,0,ee,.7*te,(be+ge)*ee,(ve+ge)*te,(be+se)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*te,.75*ee,.25*te,.25*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,.8*te,.5*ee,(ve+ge)*te,(be-se)*ee,.7*te,(be-ge)*ee)),se=.1,ge=Ue*.1,ve=.9,be=.5;var Oe=new go.PathFigure((ve-se)*te,be*ee,!0);return de.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be-se)*ee,(ve-se)*te,(be-ge)*ee,(ve-ge)*te,(be-se)*ee)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(ve+se)*te,be*ee,(ve+ge)*te,(be-se)*ee,(ve+se)*te,(be-ge)*ee)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be+se)*ee,(ve+se)*te,(be+ge)*ee,(ve+ge)*te,(be+se)*ee)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(ve-se)*te,be*ee,(ve-ge)*te,(be+se)*ee,(ve-se)*te,(be+ge)*ee)),de.spot1=new go.Spot(.2,.25),de.spot2=new go.Spot(.6,.75),de}),go.Shape.defineFigureGenerator("OrGate",function(De,te,ee){var de=new go.Geometry,se=.5,ge=Ue*se,ve=0,be=.5,we=new go.PathFigure(0,0,!0);return de.add(we),we.add(new go.PathSegment(go.PathSegment.Bezier,te,.5*ee,(ve+ge+ge)*te,(be-se)*ee,.8*te,(be-ge)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,0,ee,.8*te,(be+ge)*ee,(ve+ge+ge)*te,(be+se)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*te,.75*ee,.25*te,.25*ee).close()),de.spot1=new go.Spot(.2,.25),de.spot2=new go.Spot(.75,.75),de}),go.Shape.defineFigureGenerator("XnorGate",function(De,te,ee){var de=new go.Geometry,se=.5,ge=Ue*se,ve=.2,be=.5,we=new go.PathFigure(.1*te,0,!1);de.add(we),we.add(new go.PathSegment(go.PathSegment.Bezier,.1*te,ee,.35*te,.25*ee,.35*te,.75*ee));var Oe=new go.PathFigure(.8*te,.5*ee,!0);de.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,.2*te,ee,.7*te,(be+ge)*ee,(ve+ge)*te,(be+se)*ee)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,.2*te,0,.45*te,.75*ee,.45*te,.25*ee)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,.8*te,.5*ee,(ve+ge)*te,(be-se)*ee,.7*te,(be-ge)*ee)),se=.1,ge=Ue*.1,ve=.9,be=.5;var Ke=new go.PathFigure((ve-se)*te,be*ee,!0);return de.add(Ke),Ke.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be-se)*ee,(ve-se)*te,(be-ge)*ee,(ve-ge)*te,(be-se)*ee)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,(ve+se)*te,be*ee,(ve+ge)*te,(be-se)*ee,(ve+se)*te,(be-ge)*ee)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be+se)*ee,(ve+se)*te,(be+ge)*ee,(ve+ge)*te,(be+se)*ee)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,(ve-se)*te,be*ee,(ve-ge)*te,(be+se)*ee,(ve-se)*te,(be+ge)*ee)),de.spot1=new go.Spot(.4,.25),de.spot2=new go.Spot(.65,.75),de}),go.Shape.defineFigureGenerator("XorGate",function(De,te,ee){var de=new go.Geometry,se=.5,ge=Ue*se,ve=.2,be=.5,we=new go.PathFigure(.1*te,0,!1);de.add(we),we.add(new go.PathSegment(go.PathSegment.Bezier,.1*te,ee,.35*te,.25*ee,.35*te,.75*ee));var Oe=new go.PathFigure(.2*te,0,!0);return de.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,te,.5*ee,(ve+ge)*te,(be-se)*ee,.9*te,(be-ge)*ee)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,.2*te,ee,.9*te,(be+ge)*ee,(ve+ge)*te,(be+se)*ee)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,.2*te,0,.45*te,.75*ee,.45*te,.25*ee).close()),de.spot1=new go.Spot(.4,.25),de.spot2=new go.Spot(.8,.75),de}),go.Shape.defineFigureGenerator("Capacitor",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!1);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Move,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),de}),go.Shape.defineFigureGenerator("Resistor",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,.5*ee,!1);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.3*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.4*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.6*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.7*te,.5*ee)),de}),go.Shape.defineFigureGenerator("Inductor",function(De,te,ee){var de=new go.Geometry,se=Ue*.1,ge=.1,ve=.1,be=.5,we=new go.PathFigure((ve-se*.5)*te,ee,!1);return de.add(we),we.add(new go.PathSegment(go.PathSegment.Bezier,(ve+ge)*te,0,(ve-se)*te,ee,(ve-ge)*te,0)),ve=.3,we.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,ee,(ve+ge)*te,0,(ve+se)*te,ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ve+ge)*te,0,(ve-se)*te,ee,(ve-ge)*te,0)),ve=.5,we.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,ee,(ve+ge)*te,0,(ve+se)*te,ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ve+ge)*te,0,(ve-se)*te,ee,(ve-ge)*te,0)),ve=.7,we.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,ee,(ve+ge)*te,0,(ve+se)*te,ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ve+ge)*te,0,(ve-se)*te,ee,(ve-ge)*te,0)),ve=.9,we.add(new go.PathSegment(go.PathSegment.Bezier,(ve+se*.5)*te,ee,(ve+ge)*te,0,(ve+se)*te,ee)),de}),go.Shape.defineFigureGenerator("ACvoltageSource",function(De,te,ee){var de=new go.Geometry,se=Ue*.5,ge=.5,ve=.5,be=.5,we=new go.PathFigure((ve-ge)*te,be*ee,!1);return de.add(we),we.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be-ge)*ee,(ve-ge)*te,(be-se)*ee,(ve-se)*te,(be-ge)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ve+ge)*te,be*ee,(ve+se)*te,(be-ge)*ee,(ve+ge)*te,(be-se)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be+ge)*ee,(ve+ge)*te,(be+se)*ee,(ve+se)*te,(be+ge)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ve-ge)*te,be*ee,(ve-se)*te,(be+ge)*ee,(ve-ge)*te,(be+se)*ee)),we.add(new go.PathSegment(go.PathSegment.Move,(ve-ge+.1)*te,be*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ve+ge-.1)*te,be*ee,ve*te,(be-ge)*ee,ve*te,(be+ge)*ee)),de}),go.Shape.defineFigureGenerator("DCvoltageSource",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,.75*ee,!1);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,.25*ee)),se.add(new go.PathSegment(go.PathSegment.Move,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),de}),go.Shape.defineFigureGenerator("Diode",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(te,0,!1);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),de.spot1=new go.Spot(0,.25),de.spot2=new go.Spot(.5,.75),de}),go.Shape.defineFigureGenerator("Wifi",function(De,te,ee){var de=new go.Geometry,se=te,ge=ee;te=te*.38,ee=ee*.6;var ve=Ue*.8,be=.8,we=0,Oe=.5,Ke=(se-te)/2,qe=(ge-ee)/2,lt=new go.PathFigure(we*te+Ke,(Oe+be)*ee+qe,!0);de.add(lt),lt.add(new go.PathSegment(go.PathSegment.Bezier,(we-be)*te+Ke,Oe*ee+qe,(we-ve)*te+Ke,(Oe+be)*ee+qe,(we-be)*te+Ke,(Oe+ve)*ee+qe)),lt.add(new go.PathSegment(go.PathSegment.Bezier,we*te+Ke,(Oe-be)*ee+qe,(we-be)*te+Ke,(Oe-ve)*ee+qe,(we-ve)*te+Ke,(Oe-be)*ee+qe)),lt.add(new go.PathSegment(go.PathSegment.Bezier,(we-be+ve*.5)*te+Ke,Oe*ee+qe,we*te+Ke,(Oe-be)*ee+qe,(we-be+ve*.5)*te+Ke,(Oe-ve)*ee+qe)),lt.add(new go.PathSegment(go.PathSegment.Bezier,we*te+Ke,(Oe+be)*ee+qe,(we-be+ve*.5)*te+Ke,(Oe+ve)*ee+qe,we*te+Ke,(Oe+be)*ee+qe).close()),ve=Ue*.4,be=.4,we=.2,Oe=.5;var at=new go.PathFigure(we*te+Ke,(Oe+be)*ee+qe,!0);de.add(at),at.add(new go.PathSegment(go.PathSegment.Bezier,(we-be)*te+Ke,Oe*ee+qe,(we-ve)*te+Ke,(Oe+be)*ee+qe,(we-be)*te+Ke,(Oe+ve)*ee+qe)),at.add(new go.PathSegment(go.PathSegment.Bezier,we*te+Ke,(Oe-be)*ee+qe,(we-be)*te+Ke,(Oe-ve)*ee+qe,(we-ve)*te+Ke,(Oe-be)*ee+qe)),at.add(new go.PathSegment(go.PathSegment.Bezier,(we-be+ve*.5)*te+Ke,Oe*ee+qe,we*te+Ke,(Oe-be)*ee+qe,(we-be+ve*.5)*te+Ke,(Oe-ve)*ee+qe)),at.add(new go.PathSegment(go.PathSegment.Bezier,we*te+Ke,(Oe+be)*ee+qe,(we-be+ve*.5)*te+Ke,(Oe+ve)*ee+qe,we*te+Ke,(Oe+be)*ee+qe).close()),ve=Ue*.2,be=.2,we=.5,Oe=.5;var ft=new go.PathFigure((we-be)*te+Ke,Oe*ee+qe,!0);de.add(ft),ft.add(new go.PathSegment(go.PathSegment.Bezier,we*te+Ke,(Oe-be)*ee+qe,(we-be)*te+Ke,(Oe-ve)*ee+qe,(we-ve)*te+Ke,(Oe-be)*ee+qe)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(we+be)*te+Ke,Oe*ee+qe,(we+ve)*te+Ke,(Oe-be)*ee+qe,(we+be)*te+Ke,(Oe-ve)*ee+qe)),ft.add(new go.PathSegment(go.PathSegment.Bezier,we*te+Ke,(Oe+be)*ee+qe,(we+be)*te+Ke,(Oe+ve)*ee+qe,(we+ve)*te+Ke,(Oe+be)*ee+qe)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(we-be)*te+Ke,Oe*ee+qe,(we-ve)*te+Ke,(Oe+be)*ee+qe,(we-be)*te+Ke,(Oe+ve)*ee+qe)),ve=Ue*.4,be=.4,we=.8,Oe=.5;var pt=new go.PathFigure(we*te+Ke,(Oe-be)*ee+qe,!0);de.add(pt),pt.add(new go.PathSegment(go.PathSegment.Bezier,(we+be)*te+Ke,Oe*ee+qe,(we+ve)*te+Ke,(Oe-be)*ee+qe,(we+be)*te+Ke,(Oe-ve)*ee+qe)),pt.add(new go.PathSegment(go.PathSegment.Bezier,we*te+Ke,(Oe+be)*ee+qe,(we+be)*te+Ke,(Oe+ve)*ee+qe,(we+ve)*te+Ke,(Oe+be)*ee+qe)),pt.add(new go.PathSegment(go.PathSegment.Bezier,(we+be-ve*.5)*te+Ke,Oe*ee+qe,we*te+Ke,(Oe+be)*ee+qe,(we+be-ve*.5)*te+Ke,(Oe+ve)*ee+qe)),pt.add(new go.PathSegment(go.PathSegment.Bezier,we*te+Ke,(Oe-be)*ee+qe,(we+be-ve*.5)*te+Ke,(Oe-ve)*ee+qe,we*te+Ke,(Oe-be)*ee+qe).close()),ve=Ue*.8,be=.8,we=1,Oe=.5;var Nt=new go.PathFigure(we*te+Ke,(Oe-be)*ee+qe,!0);return de.add(Nt),Nt.add(new go.PathSegment(go.PathSegment.Bezier,(we+be)*te+Ke,Oe*ee+qe,(we+ve)*te+Ke,(Oe-be)*ee+qe,(we+be)*te+Ke,(Oe-ve)*ee+qe)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,we*te+Ke,(Oe+be)*ee+qe,(we+be)*te+Ke,(Oe+ve)*ee+qe,(we+ve)*te+Ke,(Oe+be)*ee+qe)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,(we+be-ve*.5)*te+Ke,Oe*ee+qe,we*te+Ke,(Oe+be)*ee+qe,(we+be-ve*.5)*te+Ke,(Oe+ve)*ee+qe)),Nt.add(new go.PathSegment(go.PathSegment.Bezier,we*te+Ke,(Oe-be)*ee+qe,(we+be-ve*.5)*te+Ke,(Oe-ve)*ee+qe,we*te+Ke,(Oe-be)*ee+qe).close()),de}),go.Shape.defineFigureGenerator("Email",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var ge=new go.PathFigure(0,0,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,.6*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,te,0)),ge.add(new go.PathSegment(go.PathSegment.Move,0,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.45*te,.54*ee)),ge.add(new go.PathSegment(go.PathSegment.Move,te,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.55*te,.54*ee)),de}),go.Shape.defineFigureGenerator("Ethernet",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.35*te,0,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.65*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.65*te,.4*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.35*te,.4*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.35*te,0).close());var ge=new go.PathFigure(.1*te,ee,!0,!0);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.4*te,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.4*te,.6*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.1*te,.6*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.1*te,ee).close());var ve=new go.PathFigure(.6*te,ee,!0,!0);de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.9*te,ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.9*te,.6*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.6*te,.6*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.6*te,ee).close());var be=new go.PathFigure(0,.5*ee,!1);return de.add(be),be.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)),be.add(new go.PathSegment(go.PathSegment.Move,.5*te,.5*ee)),be.add(new go.PathSegment(go.PathSegment.Line,.5*te,.4*ee)),be.add(new go.PathSegment(go.PathSegment.Move,.75*te,.5*ee)),be.add(new go.PathSegment(go.PathSegment.Line,.75*te,.6*ee)),be.add(new go.PathSegment(go.PathSegment.Move,.25*te,.5*ee)),be.add(new go.PathSegment(go.PathSegment.Line,.25*te,.6*ee)),de}),go.Shape.defineFigureGenerator("Power",function(De,te,ee){var de=new go.Geometry,se=Ue*.4,ge=.4,ve=.5,be=.5,we=ce(),Oe=ce(),Ke=ce(),qe=ce();ke(ve,be-ge,ve+se,be-ge,ve+ge,be-se,ve+ge,be,.5,we,we,Oe,Ke,qe);var lt=ue(Oe.x,Oe.y),at=new go.PathFigure(Oe.x*te,Oe.y*ee,!0);de.add(at),at.add(new go.PathSegment(go.PathSegment.Bezier,(ve+ge)*te,be*ee,Ke.x*te,Ke.y*ee,qe.x*te,qe.y*ee)),at.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be+ge)*ee,(ve+ge)*te,(be+se)*ee,(ve+se)*te,(be+ge)*ee)),at.add(new go.PathSegment(go.PathSegment.Bezier,(ve-ge)*te,be*ee,(ve-se)*te,(be+ge)*ee,(ve-ge)*te,(be+se)*ee)),ke(ve-ge,be,ve-ge,be-se,ve-se,be-ge,ve,be-ge,.5,Ke,qe,Oe,we,we),at.add(new go.PathSegment(go.PathSegment.Bezier,Oe.x*te,Oe.y*ee,Ke.x*te,Ke.y*ee,qe.x*te,qe.y*ee)),se=Ue*.3,ge=.3,ke(ve-ge,be,ve-ge,be-se,ve-se,be-ge,ve,be-ge,.5,Ke,qe,Oe,we,we),at.add(new go.PathSegment(go.PathSegment.Line,Oe.x*te,Oe.y*ee)),at.add(new go.PathSegment(go.PathSegment.Bezier,(ve-ge)*te,be*ee,qe.x*te,qe.y*ee,Ke.x*te,Ke.y*ee)),at.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be+ge)*ee,(ve-ge)*te,(be+se)*ee,(ve-se)*te,(be+ge)*ee)),at.add(new go.PathSegment(go.PathSegment.Bezier,(ve+ge)*te,be*ee,(ve+se)*te,(be+ge)*ee,(ve+ge)*te,(be+se)*ee)),ke(ve,be-ge,ve+se,be-ge,ve+ge,be-se,ve+ge,be,.5,we,we,Oe,Ke,qe),at.add(new go.PathSegment(go.PathSegment.Bezier,Oe.x*te,Oe.y*ee,qe.x*te,qe.y*ee,Ke.x*te,Ke.y*ee).close());var at=new go.PathFigure(.45*te,0,!0);return de.add(at),at.add(new go.PathSegment(go.PathSegment.Line,.45*te,.5*ee)),at.add(new go.PathSegment(go.PathSegment.Line,.55*te,.5*ee)),at.add(new go.PathSegment(go.PathSegment.Line,.55*te,0).close()),Ae(we),Ae(Oe),Ae(Ke),Ae(qe),Ae(lt),de.spot1=new go.Spot(.25,.45),de.spot2=new go.Spot(.75,.8),de}),go.Shape.defineFigureGenerator("Fallout",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,ee/2,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Arc,180,360,te/2,ee/2,te/2,ee/2));function ge(ve,be,we){ve.add(new go.PathSegment(go.PathSegment.Move,(.3+be)*te,(.8+we)*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,(.5+be)*te,(.5+we)*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,(.1+be)*te,(.5+we)*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,(.3+be)*te,(.8+we)*ee).close())}return ge(se,0,0),ge(se,.4,0),ge(se,.2,-.3),de}),go.Shape.defineFigureGenerator("IrritationHazard",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.2*te,0,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.3*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.2*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.7*te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.7*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.3*te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.2*ee).close()),de.spot1=new go.Spot(.3,.3),de.spot2=new go.Spot(.7,.7),de}),go.Shape.defineFigureGenerator("ElectricalHazard",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.37*te,0,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.11*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.77*te,.04*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.33*te,.49*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.37*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.63*te,.86*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.77*te,.91*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.34*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.34*te,.78*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.44*te,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.65*te,.56*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.68*ee).close()),de}),go.Shape.defineFigureGenerator("FireHazard",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.1*te,ee,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Bezier,.29*te,0,-.25*te,.63*ee,.45*te,.44*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.51*te,.42*ee,.48*te,.17*ee,.54*te,.35*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.59*te,.18*ee,.59*te,.29*ee,.58*te,.28*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.75*te,.6*ee,.8*te,.34*ee,.88*te,.43*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.88*te,.31*ee,.87*te,.48*ee,.88*te,.43*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.9*te,ee,1.17*te,.76*ee,.82*te,.8*ee).close()),de.spot1=new go.Spot(.07,.445),de.spot2=new go.Spot(.884,.958),de}),go.Shape.defineFigureGenerator("BpmnActivityLoop",function(De,te,ee){var de=new go.Geometry,se=.5,ge=0,ve=0,be=se*Ue,we=.4*Math.SQRT2/2+.5,Oe=.5-.5*Math.SQRT2/2,Ke=1,qe=.5,lt=.5,at=0,ft=new go.PathFigure(we*te,(1-Oe)*ee,!1);return de.add(ft),ft.add(new go.PathSegment(go.PathSegment.Bezier,Ke*te,qe*ee,Ke*te,.7*ee,Ke*te,qe*ee)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(lt+ge)*te,(at+ge)*ee,(.5+se+ge)*te,(.5-be+ge)*ee,(.5+be+ge)*te,(.5-se+ge)*ee)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(.5-se+ge)*te,(.5+ve)*ee,(.5-be+ge)*te,(.5-se+ve)*ee,(.5-se+ge)*te,(.5-be+ve)*ee)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(.35+ge)*te,.9*ee,(.5-se+ge)*te,(.5+be+ve)*ee,(.5-be+ge)*te,.9*ee)),ft.add(new go.PathSegment(go.PathSegment.Move,(.25+ge)*te,.8*ee)),ft.add(new go.PathSegment(go.PathSegment.Line,(.35+ge)*te,.9*ee)),ft.add(new go.PathSegment(go.PathSegment.Line,(.2+ge)*te,.95*ee)),de}),go.Shape.defineFigureGenerator("BpmnActivityParallel",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!1);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Move,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)),se.add(new go.PathSegment(go.PathSegment.Move,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),de}),go.Shape.defineFigureGenerator("BpmnActivitySequential",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!1);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Move,0,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Move,0,ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),de}),go.Shape.defineFigureGenerator("BpmnActivityAdHoc",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!1);de.add(se);var ge=new go.PathFigure(te,ee,!1);de.add(ge);var ve=new go.PathFigure(0,.5*ee,!1);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.5*ee,.2*te,.35*ee,.3*te,.35*ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,te,.5*ee,.7*te,.65*ee,.8*te,.65*ee)),de}),go.Shape.defineFigureGenerator("BpmnActivityCompensation",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,.5*ee,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ee).close()),de}),go.Shape.defineFigureGenerator("BpmnTaskMessage",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,.2*ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.2*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.8*ee).close());var se=new go.PathFigure(0,.2*ee,!1);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.2*ee)),de}),go.Shape.defineFigureGenerator("BpmnTaskScript",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.7*te,ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.3*te,ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.3*te,0,.6*te,.5*ee,0,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.7*te,0)),se.add(new go.PathSegment(go.PathSegment.Bezier,.7*te,ee,.4*te,.5*ee,te,.5*ee).close());var ge=new go.PathFigure(.45*te,.73*ee,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.7*te,.73*ee)),ge.add(new go.PathSegment(go.PathSegment.Move,.38*te,.5*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.63*te,.5*ee)),ge.add(new go.PathSegment(go.PathSegment.Move,.31*te,.27*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.56*te,.27*ee)),de}),go.Shape.defineFigureGenerator("BpmnTaskUser",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!1);de.add(se);var ge=new go.PathFigure(.335*te,(1-.555)*ee,!0);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.335*te,(1-.405)*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*te,(1-.405)*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*te,(1-.555)*ee)),ge.add(new go.PathSegment(go.PathSegment.Bezier,te,.68*ee,(1-.12)*te,.46*ee,(1-.02)*te,.54*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,te,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,.68*ee)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.335*te,(1-.555)*ee,.02*te,.54*ee,.12*te,.46*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.365*te,(1-.595)*ee));var ve=.5-.285,be=.5,we=ve,Oe=Math.PI/4,Ke=4*(1-Math.cos(Oe))/(3*Math.sin(Oe)),qe=Ke*.5,lt=ve,at=ve,ft=Ke*lt,pt=Ke*at;ge.add(new go.PathSegment(go.PathSegment.Bezier,(be-lt)*te,we*ee,(be-(ft+lt)/2)*te,(we+(at+pt)/2)*ee,(be-lt)*te,(we+pt)*ee)),ge.add(new go.PathSegment(go.PathSegment.Bezier,be*te,(we-at)*ee,(be-lt)*te,(we-pt)*ee,(be-ft)*te,(we-at)*ee)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(be+lt)*te,we*ee,(be+ft)*te,(we-at)*ee,(be+lt)*te,(we-pt)*ee)),ge.add(new go.PathSegment(go.PathSegment.Bezier,(1-.365)*te,(1-.595)*ee,(be+lt)*te,(we+pt)*ee,(be+(ft+lt)/2)*te,(we+(at+pt)/2)*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,(1-.365)*te,(1-.595)*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*te,(1-.555)*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*te,(1-.405)*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.335*te,(1-.405)*ee));var Nt=new go.PathFigure(.2*te,ee,!1);de.add(Nt),Nt.add(new go.PathSegment(go.PathSegment.Line,.2*te,.8*ee));var Xt=new go.PathFigure(.8*te,ee,!1);return de.add(Xt),Xt.add(new go.PathSegment(go.PathSegment.Line,.8*te,.8*ee)),de}),go.Shape.defineFigureGenerator("BpmnEventConditional",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.1*te,0,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.9*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.9*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,ee).close());var ge=new go.PathFigure(.2*te,.2*ee,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.2*ee)),ge.add(new go.PathSegment(go.PathSegment.Move,.2*te,.4*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.4*ee)),ge.add(new go.PathSegment(go.PathSegment.Move,.2*te,.6*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.6*ee)),ge.add(new go.PathSegment(go.PathSegment.Move,.2*te,.8*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.8*ee)),de}),go.Shape.defineFigureGenerator("BpmnEventError",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,ee,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.33*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.66*te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.66*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.33*te,.5*ee).close()),de}),go.Shape.defineFigureGenerator("BpmnEventEscalation",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!1);de.add(se);var ge=new go.PathFigure(te,ee,!1);de.add(ge);var ve=new go.PathFigure(.1*te,ee,!0);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),ve.add(new go.PathSegment(go.PathSegment.Line,.9*te,ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ee).close()),de}),go.Shape.defineFigureGenerator("Caution",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.05*te,ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Bezier,.1*te,.8*ee,0,ee,0,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.45*te,.1*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.55*te,.1*ee,.5*te,0,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.95*te,.9*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.9*te,ee,te,ee,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.05*te,ee));var ge=.05;return se.add(new go.PathSegment(go.PathSegment.Move,(.5-ge)*te,.875*ee)),se.add(new go.PathSegment(go.PathSegment.Arc,180,-360,.5*te,.875*ee,ge*te,ge*ee)),se.add(new go.PathSegment(go.PathSegment.Move,.5*te,.75*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.325*ee,.575*te,.725*ee,.625*te,.375*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.75*ee,.375*te,.375*ee,.425*te,.725*ee)),de}),go.Shape.defineFigureGenerator("Recycle",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.45*te,.95*ee,!1);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,.95*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.185*te,.85*ee,.17*te,.95*ee,.15*te,.9*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.235*te,.75*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.3*te,.625*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.35*te,.65*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.275*te,.45*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.05*te,.45*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.05*te,.575*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.1875*te,.95*ee,0,.675*ee,0,.7*ee)),se.add(new go.PathSegment(go.PathSegment.Move,.45*te,.95*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.45*te,.775*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.22*te,.775*ee));var ge=new go.PathFigure(.475*te,.2*ee,!1);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.4*te,.4*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.225*te,.3*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.275*te,.175*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.325*te,.05*ee)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.4*te,.05*ee,.35*te,0,.375*te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,.575*te,.375*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.525*te,.4*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.75*te,.475*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.85*te,.315*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.32*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.65*te,.05*ee)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.575*te,0,.65*te,.05*ee,.625*te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,.38*te,.0105*ee));var ve=new go.PathFigure(.675*te,.575*ee,!1);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.875*te,.525*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,te,.775*ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,.85*te,.95*ee,te,.8*ee,te,.85*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.65*te,.95*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.65*te,ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.55*te,.85*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.65*te,.725*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.65*te,.775*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.7*te,.775*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,te,.775*ee)),ve.add(new go.PathSegment(go.PathSegment.Move,.675*te,.575*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.775*te,.775*ee)),de}),go.Shape.defineFigureGenerator("BpmnEventTimer",function(De,te,ee){var de=new go.Geometry,se=.5,ge=Ue*.5,ve=new go.PathFigure(te,se*ee,!0);de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Bezier,se*te,ee,te,(se+ge)*ee,(se+ge)*te,ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,0,se*ee,(se-ge)*te,ee,0,(se+ge)*ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,se*te,0,0,(se-ge)*ee,(se-ge)*te,0)),ve.add(new go.PathSegment(go.PathSegment.Bezier,te,se*ee,(se+ge)*te,0,te,(se-ge)*ee));var be=new go.PathFigure(se*te,0,!1);return de.add(be),be.add(new go.PathSegment(go.PathSegment.Line,se*te,.15*ee)),be.add(new go.PathSegment(go.PathSegment.Move,se*te,ee)),be.add(new go.PathSegment(go.PathSegment.Line,se*te,.85*ee)),be.add(new go.PathSegment(go.PathSegment.Move,0,se*ee)),be.add(new go.PathSegment(go.PathSegment.Line,.15*te,se*ee)),be.add(new go.PathSegment(go.PathSegment.Move,te,se*ee)),be.add(new go.PathSegment(go.PathSegment.Line,.85*te,se*ee)),be.add(new go.PathSegment(go.PathSegment.Move,se*te,se*ee)),be.add(new go.PathSegment(go.PathSegment.Line,.58*te,.1*ee)),be.add(new go.PathSegment(go.PathSegment.Move,se*te,se*ee)),be.add(new go.PathSegment(go.PathSegment.Line,.78*te,.54*ee)),de}),go.Shape.defineFigureGenerator("Package",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,.15*ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,.15*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee).close());var ge=new go.PathFigure(0,.15*ee,!0);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,0,0)),ge.add(new go.PathSegment(go.PathSegment.Line,.6*te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,.65*te,.15*ee).close()),de.spot1=new go.Spot(0,.1),de.spot2=new go.Spot(1,1),de}),go.Shape.defineFigureGenerator("Class",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var ge=new go.PathFigure(0,.2*ee,!1);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,.2*ee).close());var ve=new go.PathFigure(0,.5*ee,!1);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee).close()),de}),go.Shape.defineFigureGenerator("Component",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(te,ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.15*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.15*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee).close());var ge=new go.PathFigure(0,.2*ee,!0);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.45*te,.2*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.45*te,.4*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,.4*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,.2*ee).close());var ve=new go.PathFigure(0,.6*ee,!0);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.45*te,.6*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.45*te,.8*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,0,.8*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,0,.6*ee).close()),de}),go.Shape.defineFigureGenerator("Boat Shipment",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.15*te,.6*ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.15*te,.6*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.6*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.15*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.85*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.6*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.85*te,.6*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.15*te,.6*ee));var ge=new go.PathFigure(.15*te,.6*ee,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.85*te,.6*ee)),de}),go.Shape.defineFigureGenerator("Customer/Supplier",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(te,ee,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.66*te,.33*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.66*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.33*te,.33*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.33*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,0,.33*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee).close()),de}),go.Shape.defineFigureGenerator("Workcell",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,ee,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.65*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.65*te,.4*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.35*te,.4*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.35*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee).close()),de}),go.Shape.defineFigureGenerator("Supermarket",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!1);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.33*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.33*ee)),se.add(new go.PathSegment(go.PathSegment.Move,te,.33*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.66*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.66*ee)),se.add(new go.PathSegment(go.PathSegment.Move,te,.66*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),de}),go.Shape.defineFigureGenerator("TruckShipment",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.6*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.6*te,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var ge=new go.PathFigure(te,.8*ee,!0);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,.4*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.6*te,.4*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.6*te,.8*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,te,.8*ee).close());var ve=.1,be=Ue*.1,we=.2,Oe=.9,Ke=new go.PathFigure((we-ve)*te,Oe*ee,!0);de.add(Ke),Ke.add(new go.PathSegment(go.PathSegment.Bezier,we*te,(Oe-ve)*ee,(we-ve)*te,(Oe-be)*ee,(we-be)*te,(Oe-ve)*ee)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,(we+ve)*te,Oe*ee,(we+be)*te,(Oe-ve)*ee,(we+ve)*te,(Oe-be)*ee)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,we*te,(Oe+ve)*ee,(we+ve)*te,(Oe+be)*ee,(we+be)*te,(Oe+ve)*ee)),Ke.add(new go.PathSegment(go.PathSegment.Bezier,(we-ve)*te,Oe*ee,(we-be)*te,(Oe+ve)*ee,(we-ve)*te,(Oe+be)*ee).close()),ve=.1,be=Ue*.1,we=.8,Oe=.9;var qe=new go.PathFigure((we-ve)*te,Oe*ee,!0);return de.add(qe),qe.add(new go.PathSegment(go.PathSegment.Bezier,we*te,(Oe-ve)*ee,(we-ve)*te,(Oe-be)*ee,(we-be)*te,(Oe-ve)*ee)),qe.add(new go.PathSegment(go.PathSegment.Bezier,(we+ve)*te,Oe*ee,(we+be)*te,(Oe-ve)*ee,(we+ve)*te,(Oe-be)*ee)),qe.add(new go.PathSegment(go.PathSegment.Bezier,we*te,(Oe+ve)*ee,(we+ve)*te,(Oe+be)*ee,(we+be)*te,(Oe+ve)*ee)),qe.add(new go.PathSegment(go.PathSegment.Bezier,(we-ve)*te,Oe*ee,(we-be)*te,(Oe+ve)*ee,(we-ve)*te,(Oe+be)*ee).close()),de}),go.Shape.defineFigureGenerator("KanbanPost",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.2*te,0,!1);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,0)),se.add(new go.PathSegment(go.PathSegment.Move,.5*te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,ee)),se.add(new go.PathSegment(go.PathSegment.Move,.5*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,ee)),de}),go.Shape.defineFigureGenerator("Forklift",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.4*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,0,0));var ge=new go.PathFigure(0,.5*ee,!0);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,0,.8*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,.8*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,0,.5*ee));var ve=new go.PathFigure(.5*te,.8*ee,!0);de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.5*te,.1*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.55*te,.1*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.55*te,.8*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.5*te,.8*ee));var be=new go.PathFigure(.5*te,.7*ee,!1);de.add(be),be.add(new go.PathSegment(go.PathSegment.Line,te,.7*ee));var we=.1,Oe=Ue*.1,Ke=.1,qe=.9,lt=new go.PathFigure((Ke-we)*te,qe*ee,!0);de.add(lt),lt.add(new go.PathSegment(go.PathSegment.Bezier,Ke*te,(qe-we)*ee,(Ke-we)*te,(qe-Oe)*ee,(Ke-Oe)*te,(qe-we)*ee)),lt.add(new go.PathSegment(go.PathSegment.Bezier,(Ke+we)*te,qe*ee,(Ke+Oe)*te,(qe-we)*ee,(Ke+we)*te,(qe-Oe)*ee)),lt.add(new go.PathSegment(go.PathSegment.Bezier,Ke*te,(qe+we)*ee,(Ke+we)*te,(qe+Oe)*ee,(Ke+Oe)*te,(qe+we)*ee)),lt.add(new go.PathSegment(go.PathSegment.Bezier,(Ke-we)*te,qe*ee,(Ke-Oe)*te,(qe+we)*ee,(Ke-we)*te,(qe+Oe)*ee)),we=.1,Oe=Ue*.1,Ke=.4,qe=.9;var at=new go.PathFigure((Ke-we)*te,qe*ee,!0);return de.add(at),at.add(new go.PathSegment(go.PathSegment.Bezier,Ke*te,(qe-we)*ee,(Ke-we)*te,(qe-Oe)*ee,(Ke-Oe)*te,(qe-we)*ee)),at.add(new go.PathSegment(go.PathSegment.Bezier,(Ke+we)*te,qe*ee,(Ke+Oe)*te,(qe-we)*ee,(Ke+we)*te,(qe-Oe)*ee)),at.add(new go.PathSegment(go.PathSegment.Bezier,Ke*te,(qe+we)*ee,(Ke+we)*te,(qe+Oe)*ee,(Ke+Oe)*te,(qe+we)*ee)),at.add(new go.PathSegment(go.PathSegment.Bezier,(Ke-we)*te,qe*ee,(Ke-Oe)*te,(qe+we)*ee,(Ke-we)*te,(qe+Oe)*ee)),de}),go.Shape.defineFigureGenerator("RailShipment",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.1*te,.4*ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.45*te,.4*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.45*te,.9*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,.9*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,.4*ee).close());var ge=new go.PathFigure(.45*te,.7*ee,!1);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.55*te,.7*ee));var ve=new go.PathFigure(.55*te,.4*ee,!0);de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.9*te,.4*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.9*te,.9*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.55*te,.9*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.55*te,.4*ee).close());var Ke=.05,qe=Ue*.05,lt=.175,at=.95,be=new go.PathFigure((lt-Ke)*te,at*ee,!0);de.add(be),be.add(new go.PathSegment(go.PathSegment.Bezier,lt*te,(at-Ke)*ee,(lt-Ke)*te,(at-qe)*ee,(lt-qe)*te,(at-Ke)*ee)),be.add(new go.PathSegment(go.PathSegment.Bezier,(lt+Ke)*te,at*ee,(lt+qe)*te,(at-Ke)*ee,(lt+Ke)*te,(at-qe)*ee)),be.add(new go.PathSegment(go.PathSegment.Bezier,lt*te,(at+Ke)*ee,(lt+Ke)*te,(at+qe)*ee,(lt+qe)*te,(at+Ke)*ee)),be.add(new go.PathSegment(go.PathSegment.Bezier,(lt-Ke)*te,at*ee,(lt-qe)*te,(at+Ke)*ee,(lt-Ke)*te,(at+qe)*ee));var Ke=.05,qe=Ue*.05,lt=.375,at=.95,we=new go.PathFigure((lt-Ke)*te,at*ee,!0);de.add(we),we.add(new go.PathSegment(go.PathSegment.Bezier,lt*te,(at-Ke)*ee,(lt-Ke)*te,(at-qe)*ee,(lt-qe)*te,(at-Ke)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(lt+Ke)*te,at*ee,(lt+qe)*te,(at-Ke)*ee,(lt+Ke)*te,(at-qe)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,lt*te,(at+Ke)*ee,(lt+Ke)*te,(at+qe)*ee,(lt+qe)*te,(at+Ke)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(lt-Ke)*te,at*ee,(lt-qe)*te,(at+Ke)*ee,(lt-Ke)*te,(at+qe)*ee));var Ke=.05,qe=Ue*.05,lt=.625,at=.95,Oe=new go.PathFigure((lt-Ke)*te,at*ee,!0);de.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,lt*te,(at-Ke)*ee,(lt-Ke)*te,(at-qe)*ee,(lt-qe)*te,(at-Ke)*ee)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(lt+Ke)*te,at*ee,(lt+qe)*te,(at-Ke)*ee,(lt+Ke)*te,(at-qe)*ee)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,lt*te,(at+Ke)*ee,(lt+Ke)*te,(at+qe)*ee,(lt+qe)*te,(at+Ke)*ee)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(lt-Ke)*te,at*ee,(lt-qe)*te,(at+Ke)*ee,(lt-Ke)*te,(at+qe)*ee));var Ke=.05,qe=Ue*.05,lt=.825,at=.95,ft=new go.PathFigure((lt-Ke)*te,at*ee,!0);de.add(ft),ft.add(new go.PathSegment(go.PathSegment.Bezier,lt*te,(at-Ke)*ee,(lt-Ke)*te,(at-qe)*ee,(lt-qe)*te,(at-Ke)*ee)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(lt+Ke)*te,at*ee,(lt+qe)*te,(at-Ke)*ee,(lt+Ke)*te,(at-qe)*ee)),ft.add(new go.PathSegment(go.PathSegment.Bezier,lt*te,(at+Ke)*ee,(lt+Ke)*te,(at+qe)*ee,(lt+qe)*te,(at+Ke)*ee)),ft.add(new go.PathSegment(go.PathSegment.Bezier,(lt-Ke)*te,at*ee,(lt-qe)*te,(at+Ke)*ee,(lt-Ke)*te,(at+qe)*ee).close());var pt=new go.PathFigure(0,ee,!1);return de.add(pt),pt.add(new go.PathSegment(go.PathSegment.Line,te,ee).close()),de}),go.Shape.defineFigureGenerator("Warehouse",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var ge=new go.PathFigure(0,.2*ee,!1);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,.2*ee).close());var ve=new go.PathFigure(.15*te,ee,!0);de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.15*te,.5*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.4*te,.5*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.4*te,ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.15*te,ee).close());var be=.05,we=Ue*.05,Oe=.35,Ke=.775,qe=new go.PathFigure((Oe-be)*te,Ke*ee,!0);return de.add(qe),qe.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Ke-be)*ee,(Oe-be)*te,(Ke-we)*ee,(Oe-we)*te,(Ke-be)*ee)),qe.add(new go.PathSegment(go.PathSegment.Bezier,(Oe+be)*te,Ke*ee,(Oe+we)*te,(Ke-be)*ee,(Oe+be)*te,(Ke-we)*ee)),qe.add(new go.PathSegment(go.PathSegment.Bezier,Oe*te,(Ke+be)*ee,(Oe+be)*te,(Ke+we)*ee,(Oe+we)*te,(Ke+be)*ee)),qe.add(new go.PathSegment(go.PathSegment.Bezier,(Oe-be)*te,Ke*ee,(Oe-we)*te,(Ke+be)*ee,(Oe-be)*te,(Ke+we)*ee).close()),de}),go.Shape.defineFigureGenerator("ControlCenter",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,ee,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.9*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.9*te,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Move,.1*te,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.9*te,.8*ee).close()),de}),go.Shape.defineFigureGenerator("Bluetooth",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,.75*ee,!1);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,.75*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.25*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.75*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.25*ee)),de}),go.Shape.defineFigureGenerator("Bookmark",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.6*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,0,0)),se.add(new go.PathSegment(go.PathSegment.Move,.2*te,.2*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,.2*ee)),se.add(new go.PathSegment(go.PathSegment.Move,.2*te,.4*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,.4*ee)),de}),go.Shape.defineFigureGenerator("Bookmark",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.6*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),se.add(new go.PathSegment(go.PathSegment.Line,0,0)),se.add(new go.PathSegment(go.PathSegment.Move,.2*te,.2*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,.2*ee)),se.add(new go.PathSegment(go.PathSegment.Move,.2*te,.4*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.8*te,.4*ee)),de}),go.Shape.defineFigureGenerator("Globe",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.5*te,0,!1);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)),se.add(new go.PathSegment(go.PathSegment.Move,0,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Move,.5*te,0)),se.add(new go.PathSegment(go.PathSegment.Bezier,te,.5*ee,.75*te,0,te,.25*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,ee,te,.75*ee,.75*te,ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ee,.25*te,ee,0,.75*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,0,0,.25*ee,.25*te,0)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,ee,.15*te,.25*ee,.15*te,.75*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,0,.85*te,.75*ee,.85*te,.25*ee)),se.add(new go.PathSegment(go.PathSegment.Move,.1675*te,.15*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.8325*te,.15*ee,.35*te,.3*ee,.65*te,.3*ee)),se.add(new go.PathSegment(go.PathSegment.Move,.1675*te,.85*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.8325*te,.85*ee,.35*te,.7*ee,.65*te,.7*ee)),de}),go.Shape.defineFigureGenerator("Wave",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,.25*ee,!1);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Bezier,.3*te,.25*ee,.1*te,0,.2*te,0)),se.add(new go.PathSegment(go.PathSegment.Bezier,.7*te,.25*ee,.425*te,.5*ee,.575*te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,te,.25*ee,.8*te,0,.9*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.75*ee)),se.add(new go.PathSegment(go.PathSegment.Move,0,.25*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.75*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.3*te,.75*ee,.1*te,.5*ee,.2*te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.7*te,.75*ee,.425*te,ee,.575*te,ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,te,.75*ee,.8*te,.5*ee,.9*te,.5*ee)),de}),go.Shape.defineFigureGenerator("Operator",function(De,te,ee){var de=new go.Geometry,se=.3,ge=Ue*.3,ve=.5,be=.7,we=new go.PathFigure((ve-se)*te,be*ee,!0);de.add(we),we.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be-se)*ee,(ve-se)*te,(be-ge)*ee,(ve-ge)*te,(be-se)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ve+se)*te,be*ee,(ve+ge)*te,(be-se)*ee,(ve+se)*te,(be-ge)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be+se)*ee,(ve+se)*te,(be+ge)*ee,(ve+ge)*te,(be+se)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ve-se)*te,be*ee,(ve-ge)*te,(be+se)*ee,(ve-se)*te,(be+ge)*ee));var Oe=new go.PathFigure(0,.7*ee,!1);return de.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,te,.7*ee,0,0,te,0)),de}),go.Shape.defineFigureGenerator("TripleFanBlades",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.5*te,0,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.65*ee,.65*te,.3*ee,.65*te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,0,.35*te,.5*ee,.35*te,.3*ee)),se.add(new go.PathSegment(go.PathSegment.Move,.5*te,.65*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,ee,.3*te,.6*ee,.1*te,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.65*ee,.2*te,ee,.35*te,.95*ee)),se.add(new go.PathSegment(go.PathSegment.Move,.5*te,.65*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,te,ee,.7*te,.6*ee,.9*te,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.65*ee,.8*te,ee,.65*te,.95*ee)),de}),go.Shape.defineFigureGenerator("CentrifugalPump",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(te,0,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.4*te,0)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ee,0,.075*ee,0,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.4*te,ee,0,ee,.4*te,ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.8*te,.4*ee,.8*te,ee,.85*te,.6*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.4*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,0)),de}),go.Shape.defineFigureGenerator("Battery",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,.1*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.1*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Move,.4*te,.1*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.4*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.6*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.6*te,.1*ee));var ge=new go.PathFigure(0,.6*ee,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Move,0,.4*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,te,.4*ee)),de}),go.Shape.defineFigureGenerator("Delete",function(De,te,ee){var de=new go.Geometry,se=.5,ge=Ue*.5,ve=.5,be=.5,we=new go.PathFigure((ve-se)*te,be*ee,!0);de.add(we),we.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be-se)*ee,(ve-se)*te,(be-ge)*ee,(ve-ge)*te,(be-se)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ve+se)*te,be*ee,(ve+ge)*te,(be-se)*ee,(ve+se)*te,(be-ge)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be+se)*ee,(ve+se)*te,(be+ge)*ee,(ve+ge)*te,(be+se)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ve-se)*te,be*ee,(ve-ge)*te,(be+se)*ee,(ve-se)*te,(be+ge)*ee));var Oe=new go.PathFigure(.15*te,.5*ee,!1);return de.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Line,.85*te,.5*ee)),de}),go.Shape.defineFigureGenerator("Flag",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,.1*ee,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Move,0,.1*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.1*ee,.15*te,0,.35*te,0)),se.add(new go.PathSegment(go.PathSegment.Bezier,te,.1*ee,.65*te,.2*ee,.85*te,.2*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.5*ee,.85*te,.6*ee,.65*te,.6*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*ee,.35*te,.4*ee,.15*te,.4*ee).close()),de}),go.Shape.defineFigureGenerator("Help",function(De,te,ee){var de=new go.Geometry,se=.5,ge=Ue*.5,ve=.5,be=.5,we=new go.PathFigure((ve-se)*te,be*ee,!1);de.add(we),we.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be-se)*ee,(ve-se)*te,(be-ge)*ee,(ve-ge)*te,(be-se)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ve+se)*te,be*ee,(ve+ge)*te,(be-se)*ee,(ve+se)*te,(be-ge)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be+se)*ee,(ve+se)*te,(be+ge)*ee,(ve+ge)*te,(be+se)*ee)),we.add(new go.PathSegment(go.PathSegment.Bezier,(ve-se)*te,be*ee,(ve-ge)*te,(be+se)*ee,(ve-se)*te,(be+ge)*ee).close()),se=.05,ge=Ue*.05,ve=.5,be=.8;var Oe=new go.PathFigure((ve-se)*te,be*ee,!1);return de.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be-se)*ee,(ve-se)*te,(be-ge)*ee,(ve-ge)*te,(be-se)*ee)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(ve+se)*te,be*ee,(ve+ge)*te,(be-se)*ee,(ve+se)*te,(be-ge)*ee)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,ve*te,(be+se)*ee,(ve+se)*te,(be+ge)*ee,(ve+ge)*te,(be+se)*ee)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,(ve-se)*te,be*ee,(ve-ge)*te,(be+se)*ee,(ve-se)*te,(be+ge)*ee).close()),Oe.add(new go.PathSegment(go.PathSegment.Move,.5*te,.7*ee)),Oe.add(new go.PathSegment(go.PathSegment.Line,.5*te,.5*ee)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,.5*te,.2*ee,.75*te,.475*ee,.75*te,.225*ee)),Oe.add(new go.PathSegment(go.PathSegment.Bezier,.3*te,.35*ee,.4*te,.2*ee,.3*te,.25*ee)),de}),go.Shape.defineFigureGenerator("Location",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(.5*te,ee,!0).add(new go.PathSegment(go.PathSegment.Line,.75*te,.5*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.5*te,0,.975*te,.025*ee,.5*te,0)).add(new go.PathSegment(go.PathSegment.Bezier,.25*te,.5*ee,.5*te,0,.025*te,.025*ee).close()).add(new go.PathSegment(go.PathSegment.Move,.5*te,.2*ee)).add(new go.PathSegment(go.PathSegment.Arc,270,360,.5*te,.3*ee,.1*te,.1*ee).close()))}),go.Shape.defineFigureGenerator("Lock",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,.5*ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.5*ee));var ge=new go.PathFigure(.2*te,.5*ee,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Move,.2*te,.5*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.2*te,.3*ee)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.8*te,.3*ee,.25*te,0,.75*te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.5*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.3*ee)),de}),go.Shape.defineFigureGenerator("Unlocked",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,.5*ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,.5*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.5*ee));var ge=new go.PathFigure(.2*te,.5*ee,!1);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Move,.2*te,.5*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.2*te,.3*ee)),ge.add(new go.PathSegment(go.PathSegment.Bezier,.8*te,.3*ee,.25*te,0,.75*te,0)),ge.add(new go.PathSegment(go.PathSegment.Line,.8*te,.35*ee)),de}),go.Shape.defineFigureGenerator("Gear",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(.9375*te,.56246875*ee,!0).add(new go.PathSegment(go.PathSegment.Line,.9375*te,.4375*ee)).add(new go.PathSegment(go.PathSegment.Line,.80621875*te,.4375*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.763*te,.3316875*ee,.79840625*te,.39915625*ee,.7834375*te,.3635*ee)).add(new go.PathSegment(go.PathSegment.Line,.8566875*te,.23796875*ee)).add(new go.PathSegment(go.PathSegment.Line,.76825*te,.14959375*ee)).add(new go.PathSegment(go.PathSegment.Line,.67596875*te,.24184375*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.5625*te,.19378125*ee,.64228125*te,.2188125*ee,.603875*te,.2021875*ee)).add(new go.PathSegment(go.PathSegment.Line,.5625*te,.0625*ee)).add(new go.PathSegment(go.PathSegment.Line,.4375*te,.0625*ee)).add(new go.PathSegment(go.PathSegment.Line,.4375*te,.19378125*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.32775*te,.239375*ee,.39759375*te,.20190625*ee,.36053125*te,.2176875*ee)).add(new go.PathSegment(go.PathSegment.Line,.2379375*te,.14959375*ee)).add(new go.PathSegment(go.PathSegment.Line,.14953125*te,.2379375*ee)).add(new go.PathSegment(go.PathSegment.Line,.23934375*te,.3278125*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.19378125*te,.4375*ee,.21765625*te,.36059375*ee,.201875*te,.397625*ee)).add(new go.PathSegment(go.PathSegment.Line,.0625*te,.4375*ee)).add(new go.PathSegment(go.PathSegment.Line,.0625*te,.5625*ee)).add(new go.PathSegment(go.PathSegment.Line,.1938125*te,.5625*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.241875*te,.67596875*ee,.20221875*te,.603875*ee,.21884375*te,.64228125*ee)).add(new go.PathSegment(go.PathSegment.Line,.1495625*te,.76825*ee)).add(new go.PathSegment(go.PathSegment.Line,.238*te,.8566875*ee)).add(new go.PathSegment(go.PathSegment.Line,.3316875*te,.76296875*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.43753125*te,.80621875*ee,.36353125*te,.78340625*ee,.3991875*te,.79840625*ee)).add(new go.PathSegment(go.PathSegment.Line,.43753125*te,.9375*ee)).add(new go.PathSegment(go.PathSegment.Line,.5625*te,.9375*ee)).add(new go.PathSegment(go.PathSegment.Line,.5625*te,.80621875*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.67225*te,.760625*ee,.602375*te,.79809375*ee,.63946875*te,.78234375*ee)).add(new go.PathSegment(go.PathSegment.Line,.76828125*te,.8566875*ee)).add(new go.PathSegment(go.PathSegment.Line,.85671875*te,.76825*ee)).add(new go.PathSegment(go.PathSegment.Line,.76065625*te,.67221875*ee)).add(new go.PathSegment(go.PathSegment.Bezier,.80621875*te,.56246875*ee,.78234375*te,.63940625*ee,.798125*te,.602375*ee)).add(new go.PathSegment(go.PathSegment.Line,.9375*te,.56246875*ee).close()).add(new go.PathSegment(go.PathSegment.Move,.5*te,.6*ee)).add(new go.PathSegment(go.PathSegment.Arc,90,360,.5*te,.5*ee,.1*te,.1*ee).close()))}),go.Shape.defineFigureGenerator("Hand",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,.5*ee,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Bezier,.1*te,.3*ee,0,.375*ee,.05*te,.325*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.45*te,.075*ee,.3*te,.225*ee,.4*te,.175*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.525*te,.075*ee,.46*te,.05*ee,.525*te,.05*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.3*te,.4*ee,.525*te,.275*ee,.475*te,.325*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.9*te,.4*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.9*te,.55*ee,te,.4*ee,te,.55*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.425*te,.55*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.6*te,.55*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.6*te,.7*ee,.675*te,.55*ee,.675*te,.7*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.4*te,.7*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.575*te,.7*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.575*te,.85*ee,.65*te,.7*ee,.65*te,.85*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.4*te,.85*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.525*te,.85*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.535*te,ee,.61*te,.85*ee,.61*te,ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*ee,.435*te,ee,0,ee).close()),de}),go.Shape.defineFigureGenerator("Map",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,.2*ee,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.25*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.2*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,te,.2*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,.25*te,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee).close()),se.add(new go.PathSegment(go.PathSegment.Move,.25*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.25*te,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Move,.5*te,.2*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ee)),se.add(new go.PathSegment(go.PathSegment.Move,.75*te,0)),se.add(new go.PathSegment(go.PathSegment.Line,.75*te,.8*ee)),de}),go.Shape.defineFigureGenerator("Eject",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,ee,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te,ee)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee*.7)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee*.7).close());var ge=new go.PathFigure(0,ee*.6,!0);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te,.6*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.5*te,0).close()),de}),go.Shape.defineFigureGenerator("Pencil",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.2*te,.1*ee)).add(new go.PathSegment(go.PathSegment.Line,te,.9*ee)).add(new go.PathSegment(go.PathSegment.Line,.9*te,ee)).add(new go.PathSegment(go.PathSegment.Line,.1*te,.2*ee).close()))}),go.Shape.defineFigureGenerator("Building",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(te*1,ee*1,!1);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee*.85)),se.add(new go.PathSegment(go.PathSegment.Line,.046*te,ee*.85)),se.add(new go.PathSegment(go.PathSegment.Line,.046*te,ee*.45)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee*.45)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee*.3)),se.add(new go.PathSegment(go.PathSegment.Line,.046*te,ee*.3)),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,ee*0)),se.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*te,ee*.3)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee*.3)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee*.45)),se.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*te,ee*.45)),se.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*te,ee*.85)),se.add(new go.PathSegment(go.PathSegment.Line,te,ee*.85).close());var ge=new go.PathFigure(.126*te,.85*ee,!1);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,.126*te,.45*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.322*te,.45*ee)),ge.add(new go.PathSegment(go.PathSegment.Line,.322*te,.85*ee).close());var ve=new go.PathFigure(.402*te,.85*ee,!1);de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,.402*te,.45*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.598*te,.45*ee)),ve.add(new go.PathSegment(go.PathSegment.Line,.598*te,.85*ee).close());var be=new go.PathFigure(.678*te,.85*ee,!1);de.add(be),be.add(new go.PathSegment(go.PathSegment.Line,.678*te,.45*ee)),be.add(new go.PathSegment(go.PathSegment.Line,.874*te,.45*ee)),be.add(new go.PathSegment(go.PathSegment.Line,.874*te,.85*ee).close());var we=new go.PathFigure(.5*te,.1*ee,!1);return de.add(we),we.add(new go.PathSegment(go.PathSegment.Line,(.046+.15)*te,.3*ee)),we.add(new go.PathSegment(go.PathSegment.Line,(1-(.046+.15))*te,.3*ee).close()),de}),go.Shape.defineFigureGenerator("Staircase",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,ee*1,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te*.2,ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.2,ee*.8)),se.add(new go.PathSegment(go.PathSegment.Line,te*.4,ee*.8)),se.add(new go.PathSegment(go.PathSegment.Line,te*.4,ee*.6)),se.add(new go.PathSegment(go.PathSegment.Line,te*.6,ee*.6)),se.add(new go.PathSegment(go.PathSegment.Line,te*.6,ee*.4)),se.add(new go.PathSegment(go.PathSegment.Line,te*.8,ee*.4)),se.add(new go.PathSegment(go.PathSegment.Line,te*.8,ee*.2)),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ee*.2)),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ee*.15)),se.add(new go.PathSegment(go.PathSegment.Line,te*.75,ee*.15)),se.add(new go.PathSegment(go.PathSegment.Line,te*.75,ee*.35)),se.add(new go.PathSegment(go.PathSegment.Line,te*.55,ee*.35)),se.add(new go.PathSegment(go.PathSegment.Line,te*.55,ee*.55)),se.add(new go.PathSegment(go.PathSegment.Line,te*.35,ee*.55)),se.add(new go.PathSegment(go.PathSegment.Line,te*.35,ee*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.15,ee*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.15,ee*.95)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee*.95).close()),de}),go.Shape.defineFigureGenerator("5Bars",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,ee*1,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te*.184,ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.184,ee*(1-.184)).close());var ge=new go.PathFigure(te*.204,ee,!0);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te*.204,ee*(1-.184))),ge.add(new go.PathSegment(go.PathSegment.Line,te*.388,ee*(1-.184*2))),ge.add(new go.PathSegment(go.PathSegment.Line,te*.388,ee*1).close());var ve=new go.PathFigure(te*.408,ee,!0);de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,te*.408,ee*(1-.184*2))),ve.add(new go.PathSegment(go.PathSegment.Line,te*.592,ee*(1-.184*3))),ve.add(new go.PathSegment(go.PathSegment.Line,te*.592,ee*1).close());var be=new go.PathFigure(te*.612,ee,!0);de.add(be),be.add(new go.PathSegment(go.PathSegment.Line,te*.612,ee*(1-.184*3))),be.add(new go.PathSegment(go.PathSegment.Line,te*.796,ee*(1-.184*4))),be.add(new go.PathSegment(go.PathSegment.Line,te*.796,ee*1).close());var we=new go.PathFigure(te*.816,ee,!0);return de.add(we),we.add(new go.PathSegment(go.PathSegment.Line,te*.816,ee*(1-.184*4))),we.add(new go.PathSegment(go.PathSegment.Line,te*1,ee*(1-.184*5))),we.add(new go.PathSegment(go.PathSegment.Line,te*1,ee*1).close()),de}),go.Shape.defineFigureGenerator("PC",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,0,ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.3,ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.3,0).close());var ge=new go.PathFigure(te*.055,.07*ee,!0);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te*.245,ee*.07)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.245,ee*.1)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.055,ee*.1).close());var ve=new go.PathFigure(te*.055,.13*ee,!0);de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,te*.245,ee*.13)),ve.add(new go.PathSegment(go.PathSegment.Line,te*.245,ee*.16)),ve.add(new go.PathSegment(go.PathSegment.Line,te*.055,ee*.16).close());var be=new go.PathFigure(te*.055,.18*ee,!0);de.add(be),be.add(new go.PathSegment(go.PathSegment.Line,te*.245,ee*.18)),be.add(new go.PathSegment(go.PathSegment.Line,te*.245,ee*.21)),be.add(new go.PathSegment(go.PathSegment.Line,te*.055,ee*.21).close());var we=new go.PathFigure(te*1,0,!0);return de.add(we),we.add(new go.PathSegment(go.PathSegment.Line,te*.4,0)),we.add(new go.PathSegment(go.PathSegment.Line,te*.4,ee*.65)),we.add(new go.PathSegment(go.PathSegment.Line,te*1,ee*.65).close()),de}),go.Shape.defineFigureGenerator("Plane",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(.55*te,ee,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,.5*te,.6*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.4*te,.7*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.1*te,.475*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.35*te,.525*ee,0,.4*ee,.225*te,.45*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.4*te,.475*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.15*te,.35*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.2*te,.325*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.6*te,.325*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.85*te,.1*ee)),se.add(new go.PathSegment(go.PathSegment.Bezier,.9*te,.2*ee,.975*te,0,te,.08*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.7*te,.45*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.6*te,.95*ee)),se.add(new go.PathSegment(go.PathSegment.Line,.55*te,ee).close()),de}),go.Shape.defineFigureGenerator("Key",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(te*1,ee*.5,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te*.9,.4*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te*.5,.4*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te*.5,.35*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te*.45,.35*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te*.3,.2*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te*.15,.2*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.35*ee)),se.add(new go.PathSegment(go.PathSegment.Line,0,.65*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te*.15,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te*.3,.8*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te*.45,.65*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te*.5,.65*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te*.5,.6*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te*.6,.6*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te*.65,.55*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te*.7,.6*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te*.75,.55*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te*.8,.6*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te*.85,.575*ee)),se.add(new go.PathSegment(go.PathSegment.Line,te*.9,.6*ee).close()),se.add(new go.PathSegment(go.PathSegment.Move,.17*te,.425*ee)),se.add(new go.PathSegment(go.PathSegment.Arc,270,360,.17*te,.5*ee,.075*te,.075*ee).close()),de}),go.Shape.defineFigureGenerator("FilmTape",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(0,0,!1);de.add(se),se.add(new go.PathSegment(go.PathSegment.Arc,270,180,te*0,te*.3,te*.055)),se.add(new go.PathSegment(go.PathSegment.Line,0,ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.08,ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.08,ee*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*1),ee*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*1),ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*2),ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*2),ee*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*3),ee*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*3),ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*4),ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*4),ee*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*5),ee*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*5),ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*6),ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*6),ee*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*7),ee*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*7),ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*8),ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*8),ee*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*9),ee*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*9),ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*10),ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*10),ee*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*11),ee*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*11),ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*12),ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*12),ee*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*13),ee*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*13),ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*14),ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*14),ee*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*15),ee*.95)),se.add(new go.PathSegment(go.PathSegment.Line,te*(.08+.056*15),ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ee*1));var ge=new go.PathFigure(0,0,!1);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te*1,ee*0)),ge.add(new go.PathSegment(go.PathSegment.Arc,270,-180,te*1,te*.3,te*.055)),ge.add(new go.PathSegment(go.PathSegment.Line,te*1,ee*1));var ve=new go.PathFigure(te*.11,ee*.1,!1);de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,te*(.11+.24133333*1+.028*0),ee*.1)),ve.add(new go.PathSegment(go.PathSegment.Line,te*(.11+.24133333*1+.028*0),ee*.8)),ve.add(new go.PathSegment(go.PathSegment.Line,te*.11,ee*.8).close());var be=new go.PathFigure(te*(.11+.24133333*1+.028*1),ee*.1,!1);de.add(be),be.add(new go.PathSegment(go.PathSegment.Line,te*(.11+.24133333*2+.028*1),ee*.1)),be.add(new go.PathSegment(go.PathSegment.Line,te*(.11+.24133333*2+.028*1),ee*.8)),be.add(new go.PathSegment(go.PathSegment.Line,te*(.11+.24133333*1+.028*1),ee*.8).close());var we=new go.PathFigure(te*(.11+.24133333*2+.028*2),ee*.1,!1);return de.add(we),we.add(new go.PathSegment(go.PathSegment.Line,te*(.11+.24133333*3+.028*2),ee*.1)),we.add(new go.PathSegment(go.PathSegment.Line,te*(.11+.24133333*3+.028*2),ee*.8)),we.add(new go.PathSegment(go.PathSegment.Line,te*(.11+.24133333*2+.028*2),ee*.8).close()),de}),go.Shape.defineFigureGenerator("FloppyDisk",function(De,te,ee){var de=new go.Geometry,se=8,ge=se*Ue,ve=new go.PathFigure(se,0,!1);de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,te*.86,0)),ve.add(new go.PathSegment(go.PathSegment.Line,te*1,ee*.14)),ve.add(new go.PathSegment(go.PathSegment.Line,te,ee-se)),ve.add(new go.PathSegment(go.PathSegment.Bezier,te-se,ee,te,ee-ge,te-ge,ee)),ve.add(new go.PathSegment(go.PathSegment.Line,se,ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,0,ee-se,ge,ee,0,ee-ge)),ve.add(new go.PathSegment(go.PathSegment.Line,0,se)),ve.add(new go.PathSegment(go.PathSegment.Bezier,se,0,0,ge,ge,0).close());var be=new go.PathFigure(te*.83,0,!1);de.add(be),be.add(new go.PathSegment(go.PathSegment.Line,te*.83,ee*.3)),be.add(new go.PathSegment(go.PathSegment.Line,te*.17,ee*.3)),be.add(new go.PathSegment(go.PathSegment.Line,te*.17,ee*0).close());var we=new go.PathFigure(te*.83,ee*1,!1);de.add(we),we.add(new go.PathSegment(go.PathSegment.Line,te*.83,ee*.5)),we.add(new go.PathSegment(go.PathSegment.Line,te*.17,ee*.5)),we.add(new go.PathSegment(go.PathSegment.Line,te*.17,ee*1).close());var Oe=new go.PathFigure(te*.78,ee*.05,!1);return de.add(Oe),Oe.add(new go.PathSegment(go.PathSegment.Line,te*.66,ee*.05)),Oe.add(new go.PathSegment(go.PathSegment.Line,te*.66,ee*.25)),Oe.add(new go.PathSegment(go.PathSegment.Line,te*.78,ee*.25).close()),de}),go.Shape.defineFigureGenerator("SpeechBubble",function(De,te,ee){var de=De?De.parameter1:NaN;(isNaN(de)||de<0)&&(de=15),de=Math.min(de,te/3),de=Math.min(de,ee/3);var se=de*Ue,ge=ee*.8,ve=new go.Geometry,be=new go.PathFigure(de,0,!0);return ve.add(be),be.add(new go.PathSegment(go.PathSegment.Line,te-de,0)),be.add(new go.PathSegment(go.PathSegment.Bezier,te,de,te-se,0,te,se)),be.add(new go.PathSegment(go.PathSegment.Line,te,ge-de)),be.add(new go.PathSegment(go.PathSegment.Bezier,te-de,ge,te,ge-se,te-se,ge)),be.add(new go.PathSegment(go.PathSegment.Line,te*.7,ge)),be.add(new go.PathSegment(go.PathSegment.Line,te*.7,ee)),be.add(new go.PathSegment(go.PathSegment.Line,te*.55,ge)),be.add(new go.PathSegment(go.PathSegment.Line,de,ge)),be.add(new go.PathSegment(go.PathSegment.Bezier,0,ge-de,se,ge,0,ge-se)),be.add(new go.PathSegment(go.PathSegment.Line,0,de)),be.add(new go.PathSegment(go.PathSegment.Bezier,de,0,0,se,se,0).close()),se>1?(ve.spot1=new go.Spot(0,0,se,se),ve.spot2=new go.Spot(1,.8,-se,-se)):(ve.spot1=go.Spot.TopLeft,ve.spot2=new go.Spot(1,.8)),ve}),go.Shape.defineFigureGenerator("Repeat",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(te*0,ee*.45,!0);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te*.25,ee*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*.5,ee*.45)),se.add(new go.PathSegment(go.PathSegment.Line,te*.3,ee*.45)),se.add(new go.PathSegment(go.PathSegment.Line,te*.3,ee*.9)),se.add(new go.PathSegment(go.PathSegment.Line,te*.6,ee*.9)),se.add(new go.PathSegment(go.PathSegment.Line,te*.65,ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.2,ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.2,ee*.45).close());var ge=new go.PathFigure(te*1,ee*.55,!0);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te*.75,ee*1)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.5,ee*.55)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.7,ee*.55)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.7,ee*.1)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.4,ee*.1)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.35,ee*0)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.8,ee*0)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.8,ee*.55).close()),de}),go.Shape.defineFigureGenerator("Windows",function(De,te,ee){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,te,0)).add(new go.PathSegment(go.PathSegment.Line,te,ee)).add(new go.PathSegment(go.PathSegment.Line,0,ee).close()).add(new go.PathSegment(go.PathSegment.Move,.4*te,.4*ee)).add(new go.PathSegment(go.PathSegment.Line,.4*te,.8*ee)).add(new go.PathSegment(go.PathSegment.Line,.9*te,.8*ee)).add(new go.PathSegment(go.PathSegment.Line,.9*te,.4*ee).close()).add(new go.PathSegment(go.PathSegment.Move,.2*te,.1*ee)).add(new go.PathSegment(go.PathSegment.Line,.2*te,.6*ee)).add(new go.PathSegment(go.PathSegment.Line,.7*te,.6*ee)).add(new go.PathSegment(go.PathSegment.Line,.7*te,.1*ee).close()).add(new go.PathSegment(go.PathSegment.Move,.1*te,.6*ee)).add(new go.PathSegment(go.PathSegment.Line,.1*te,.9*ee)).add(new go.PathSegment(go.PathSegment.Line,.5*te,.9*ee)).add(new go.PathSegment(go.PathSegment.Line,.5*te,.6*ee).close()))}),go.Shape.defineFigureGenerator("Terminal",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(te*0,ee*.1,!1);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ee*.1)),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ee*.9)),se.add(new go.PathSegment(go.PathSegment.Line,te*0,ee*.9).close());var ge=new go.PathFigure(te*.1,ee*.2,!0);de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te*.1,ee*.25)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.22,ee*.285)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.1,ee*.32)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.1,ee*.37)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.275,ee*.32)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.275,ee*.25).close());var ve=new go.PathFigure(te*.28,ee*.37,!0);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,te*.45,ee*.37)),ve.add(new go.PathSegment(go.PathSegment.Line,te*.45,ee*.41)),ve.add(new go.PathSegment(go.PathSegment.Line,te*.28,ee*.41).close()),de}),go.Shape.defineFigureGenerator("Beaker",function(De,te,ee){var de=new go.Geometry,se=15,ge=se*Ue,ve=new go.PathFigure(te*.62,ee*.475,!0);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,te,ee-se)),ve.add(new go.PathSegment(go.PathSegment.Bezier,te-se,ee,te,ee-ge,te-ge,ee)),ve.add(new go.PathSegment(go.PathSegment.Line,se,ee)),ve.add(new go.PathSegment(go.PathSegment.Bezier,0,ee-se,ge,ee,0,ee-ge)),ve.add(new go.PathSegment(go.PathSegment.Line,te*.38,ee*.475)),ve.add(new go.PathSegment(go.PathSegment.Line,te*.38,ee*.03)),ve.add(new go.PathSegment(go.PathSegment.Line,te*.36,ee*0)),ve.add(new go.PathSegment(go.PathSegment.Line,te*.64,ee*0)),ve.add(new go.PathSegment(go.PathSegment.Line,te*.62,ee*.03).close()),ge>1?(de.spot1=new go.Spot(0,0,ge,ge),de.spot2=new go.Spot(1,1,-ge,-ge)):(de.spot1=go.Spot.TopLeft,de.spot2=go.Spot.BottomRight),de}),go.Shape.defineFigureGenerator("Download",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(te*0,ee*1,!0);de.add(se);var ge=.1/.3;se.add(new go.PathSegment(go.PathSegment.Line,te*1,ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ee*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.8,ee*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*.66,ee*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*.66,ee*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*.755,ee*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*.93,ee*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.64,ee*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.61,ee*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.5,ee*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.39,ee*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.36,ee*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.07,ee*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.755),ee*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.66),ee*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.66),ee*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.8),ee*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*0,ee*(1-ge)).close());var ve=new go.PathFigure(te*.4,ee*0,!0);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,te*.4,ee*.44)),ve.add(new go.PathSegment(go.PathSegment.Line,te*.26,ee*.44)),ve.add(new go.PathSegment(go.PathSegment.Line,te*.5,ee*.66)),ve.add(new go.PathSegment(go.PathSegment.Line,te*(1-.26),ee*.44)),ve.add(new go.PathSegment(go.PathSegment.Line,te*.6,ee*.44)),ve.add(new go.PathSegment(go.PathSegment.Line,te*.6,ee*0).close()),de}),go.Shape.defineFigureGenerator("Bin",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(te*0,ee*1,!0);de.add(se);var ge=.1/.3;return se.add(new go.PathSegment(go.PathSegment.Line,te*1,ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ee*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.8,ee*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*.66,ee*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*.66,ee*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*.755,ee*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*.93,ee*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.64,ee*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.61,ee*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.5,ee*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.39,ee*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.36,ee*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.07,ee*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.755),ee*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.66),ee*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.66),ee*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.8),ee*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*0,ee*(1-ge)).close()),de}),go.Shape.defineFigureGenerator("Upload",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(te*0,ee*1,!0);de.add(se);var ge=.1/.3;se.add(new go.PathSegment(go.PathSegment.Line,te*1,ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ee*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.8,ee*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*.66,ee*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*.66,ee*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*.755,ee*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*.93,ee*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.64,ee*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.61,ee*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.5,ee*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.39,ee*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.36,ee*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*.07,ee*(1-ge))),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.755),ee*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.66),ee*.055)),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.66),ee*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*(1-.8),ee*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*0,ee*(1-ge)).close());var ve=new go.PathFigure(te*.5,ee*0,!0);return de.add(ve),ve.add(new go.PathSegment(go.PathSegment.Line,te*.26,ee*.25)),ve.add(new go.PathSegment(go.PathSegment.Line,te*.4,ee*.25)),ve.add(new go.PathSegment(go.PathSegment.Line,te*.4,ee*.63)),ve.add(new go.PathSegment(go.PathSegment.Line,te*.6,ee*.63)),ve.add(new go.PathSegment(go.PathSegment.Line,te*.6,ee*.25)),ve.add(new go.PathSegment(go.PathSegment.Line,te*.74,ee*.25).close()),de}),go.Shape.defineFigureGenerator("EmptyDrink",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(te*.15,ee*0,!1);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te*.85,ee*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*.7,ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.3,ee*1).close()),de}),go.Shape.defineFigureGenerator("Drink",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(te*.15,ee*0,!1);de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te*.85,ee*0)),se.add(new go.PathSegment(go.PathSegment.Line,te*.7,ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.3,ee*1).close());var ge=new go.PathFigure(te*.235,ee*.28,!0);return de.add(ge),ge.add(new go.PathSegment(go.PathSegment.Line,te*.765,ee*.28)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.655,ee*.97)),ge.add(new go.PathSegment(go.PathSegment.Line,te*.345,ee*.97).close()),de}),go.Shape.defineFigureGenerator("4Arrows",function(De,te,ee){var de=new go.Geometry,se=new go.PathFigure(te*.5,ee*0,!0);return de.add(se),se.add(new go.PathSegment(go.PathSegment.Line,te*.65,ee*.25)),se.add(new go.PathSegment(go.PathSegment.Line,te*.55,ee*.25)),se.add(new go.PathSegment(go.PathSegment.Line,te*.55,ee*.45)),se.add(new go.PathSegment(go.PathSegment.Line,te*.75,ee*.45)),se.add(new go.PathSegment(go.PathSegment.Line,te*.75,ee*.35)),se.add(new go.PathSegment(go.PathSegment.Line,te*1,ee*.5)),se.add(new go.PathSegment(go.PathSegment.Line,te*.75,ee*.65)),se.add(new go.PathSegment(go.PathSegment.Line,te*.75,ee*.55)),se.add(new go.PathSegment(go.PathSegment.Line,te*.55,ee*.55)),se.add(new go.PathSegment(go.PathSegment.Line,te*.55,ee*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.65,ee*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.5,ee*1)),se.add(new go.PathSegment(go.PathSegment.Line,te*.35,ee*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.45,ee*.75)),se.add(new go.PathSegment(go.PathSegment.Line,te*.45,ee*.55)),se.add(new go.PathSegment(go.PathSegment.Line,te*.25,ee*.55)),se.add(new go.PathSegment(go.PathSegment.Line,te*.25,ee*.65)),se.add(new go.PathSegment(go.PathSegment.Line,te*0,ee*.5)),se.add(new go.PathSegment(go.PathSegment.Line,te*.25,ee*.35)),se.add(new go.PathSegment(go.PathSegment.Line,te*.25,ee*.45)),se.add(new go.PathSegment(go.PathSegment.Line,te*.45,ee*.45)),se.add(new go.PathSegment(go.PathSegment.Line,te*.45,ee*.25)),se.add(new go.PathSegment(go.PathSegment.Line,te*.35,ee*.25).close()),de}),go.Shape.defineFigureGenerator("Connector","Ellipse"),go.Shape.defineFigureGenerator("Alternative","TriangleUp"),go.Shape.defineFigureGenerator("Merge","TriangleUp"),go.Shape.defineFigureGenerator("Decision","Diamond"),go.Shape.defineFigureGenerator("DataTransmissions","Hexagon"),go.Shape.defineFigureGenerator("Gate","Crescent"),go.Shape.defineFigureGenerator("Delay","HalfEllipse"),go.Shape.defineFigureGenerator("Input","Parallelogram1"),go.Shape.defineFigureGenerator("ManualLoop","ManualOperation"),go.Shape.defineFigureGenerator("ISOProcess","Chevron"),go.Shape.defineFigureGenerator("MessageToUser","SquareArrow"),go.Shape.defineFigureGenerator("MagneticData","Cylinder1"),go.Shape.defineFigureGenerator("DirectData","Cylinder4"),go.Shape.defineFigureGenerator("StoredData","DataStorage"),go.Shape.defineFigureGenerator("SequentialData","MagneticTape"),go.Shape.defineFigureGenerator("Subroutine","Procedure")},61016:function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;(function(){if(typeof window.GGBApplet=="function"){console.warn("deployggb.js was loaded twice");return}var isRenderGGBElementEnabled=!1,scriptLoadStarted=!1,html5AppletsToProcess=null,ggbHTML5LoadedCodebaseIsWebSimple=!1,ggbHTML5LoadedCodebaseVersion=null,ggbHTML5LoadedScript=null,GGBApplet=function(){"use strict";for(var Re={},xe="5.0",ue={},ce=null,Ae=!1,Fe=!1,ke=null,Ye=!1,Pe=null,Ue=null,tt=0;tt4?parseFloat(Gt):5};Re.setHTML5Codebase=function(Gt,An){Ue=Gt,ot(Gt,An)},Re.setJavaCodebase=Re.setJavaCodebaseVersion=Re.isCompiledInstalled=Re.setPreCompiledScriptPath=Re.setPreCompiledResourcePath=function(){},Re.setHTML5CodebaseVersion=function(Gt,An){var Nn=parseFloat(Gt);if(Nn!==NaN&&Nn<5){console.log("The GeoGebra HTML5 codebase version "+Nn+" is deprecated. Using version latest instead.");return}Pe=Gt,nt(Gt,An)},Re.getHTML5CodebaseVersion=function(){return De},Re.getParameters=function(){return ue},Re.setFontsCSSURL=function(Gt){ve=Gt},Re.setGiacJSURL=function(Gt){},Re.setJNLPFile=function(Gt){rt=Gt},Re.setJNLPBaseDir=function(Gt){},Re.inject=function(){function Gt(){return window.frameElement&&window.frameElement.getAttribute("data-singleton")}for(var An="auto",Nn=ue.id,di,At=!1,Ot=0;Ot=5)return!0;var Gt=Re.getAppletObject();return Gt&&typeof Gt.recalculateEnvironments=="function"?(Gt.recalculateEnvironments(),!0):!1},Re.startAnimation=function(){var Gt=Re.getAppletObject();return Gt&&typeof Gt.startAnimation=="function"?(Gt.startAnimation(),!0):!1},Re.stopAnimation=function(){var Gt=Re.getAppletObject();return Gt&&typeof Gt.stopAnimation=="function"?(Gt.stopAnimation(),!0):!1},Re.getAppletObject=function(){var Gt=ue.id!==void 0?ue.id:"ggbApplet";return window[Gt]},Re.resize=function(){};var ft=function(Gt,An,Nn){var di=document.createElement("param");di.setAttribute("name",An),di.setAttribute("value",Nn),Gt.appendChild(di)},pt=function(Gt){return Gt&&Gt!=="false"},Nt=function(Gt,An,Nn){we(De)<=4.2&&(Nn=!0);var di=!isRenderGGBElementEnabled&&!scriptLoadStarted;(!isRenderGGBElementEnabled&&!scriptLoadStarted||ggbHTML5LoadedCodebaseVersion!==De||ggbHTML5LoadedCodebaseIsWebSimple&&!ee)&&(di=!0,isRenderGGBElementEnabled=!1,scriptLoadStarted=!1);var At=document.createElement("div");At.classList.add("appletParameters","notranslate");var Ot=An.width,$e=An.height;if(An.disableAutoScale=An.disableAutoScale===void 0?GGBAppletUtils.isFlexibleWorksheetEditor():An.disableAutoScale,An.width!==void 0)if(we(De)<=4.4)pt(An.showToolBar)&&(An.height-=7),pt(An.showAlgebraInput)&&(An.height-=37),An.width<605&&pt(An.showToolBar)&&(An.width=605,Ot=605);else{var Wt=100;(pt(An.showToolBar)||pt(An.showMenuBar))&&(An.hasOwnProperty("customToolBar")&&(An.customToolbar=An.customToolBar),Wt=pt(An.showMenuBar)?245:155),Ot=5?(An.appletOnLoad=function(rn){var oi=Gt.querySelector(".ggb_preview");oi&&oi.parentNode.removeChild(oi),window.GGBT_spinner&&window.GGBT_spinner.removeSpinner(Me),window.GGBT_wsf_view&&$(window).trigger("resize"),Je(rn)},Le||Me.appendChild(Xe)):At.appendChild(Xe),Me.appendChild(At),Le||Gt.appendChild(Me),setTimeout(function(){Re.resize()},1)}else{var dt=document.createElement("div");dt.className="applet_scaler",dt.style.position="relative",dt.style.display="block",dt.appendChild(At),Gt.appendChild(dt),An.appletOnLoad=function(rn){Re.resize(),Je(rn)}}function je(rn,oi){oi&&typeof oi.appletOnLoad=="function"&&typeof renderGGBElement=="function"?renderGGBElement(rn,oi.appletOnLoad):renderGGBElement(rn),Jt("GeoGebra HTML5 applet injected and rendered with previously loaded codebase.",oi)}function bt(rn,oi){typeof renderGGBElement=="undefined"?(html5AppletsToProcess===null&&(html5AppletsToProcess=[]),html5AppletsToProcess.push({article:rn,params:oi}),window.renderGGBElementReady=function(){isRenderGGBElementEnabled=!0,html5AppletsToProcess!==null&&html5AppletsToProcess.length&&(html5AppletsToProcess.forEach(function(ei){je(ei.article,ei.params)}),html5AppletsToProcess=null)},we(De)<5&&(rn.className+=" geogebraweb")):je(rn,oi)}if(di){scriptLoadStarted=!0;for(var Sn=0;Sn0?(jt.remove(),Me.attr("id","fullscreencontent").show(),jQuery(Je).append(Me),window.dispatchEvent(new Event("resize"))):Nt(jt,An,!1),window.GGBT_wsf_view.launchFullScreen(Je)}else Mt=di,Nt(Gt,An,!1);if(!window.GGBT_wsf_view)for($e=0;$eGt/4*3&&(jt=Gt/4*3),Je=jt/5.8,Wt.setAttribute("src",se),Wt.setAttribute("width",jt),Wt.setAttribute("height",Je);var Me=(Gt-jt)/2,Le=(An-Je)/2;Wt.style.left=Me+"px",Wt.style.top=Le+"px",At.appendChild(Wt)}}return At.appendChild($e),At},Bn=function(Gt){return Gt=Gt.toLowerCase(),Gt==="html5"||Gt==="screenshot"?Gt:"html5"},Et=["web","webSimple","web3d","tablet","tablet3d","phone"],nt=function(Gt,An){if(De=Gt,An){ot(De,!0);return}var Nn=!Ae;if(Nn){var di=we(De);!isNaN(di)&&di<4.4&&(Nn=!1)}var At,Ot;window.location.protocol.substr(0,4)==="http"?At=window.location.protocol:At="http:";var $e=De.indexOf("//");$e>0?Ot=De:$e===0?Ot=At+De:Ot="https://www.geogebra.org/apps/5.2.814.0/";for(var Wt in Et)if(De.slice(Et[Wt].length*-1)===Et[Wt]||De.slice((Et[Wt].length+1)*-1)===Et[Wt]+"/"){ot(Ot,!1);return}!GGBAppletUtils.isFlexibleWorksheetEditor()&&Nn&&!ce.is3D&&!ce.AV&&!ce.SV&&!ce.CV&&!ce.EV2&&!ce.CP&&!ce.PC&&!ce.DA&&!ce.FI&&!ce.PV&&!pt(ue.showToolBar)&&!pt(ue.showMenuBar)&&!pt(ue.showAlgebraInput)&&!pt(ue.enableRightClick)&&(!ue.appName||ue.appName=="classic")?Ot+="webSimple/":Ot+="web3d/",ot(Ot,!1)},ot=function(Gt,An){if(Gt.requirejs){xt=Gt;return}Gt.slice(-1)!=="/"&&(Gt+="/"),xt=Gt,An===null&&(An=Gt.indexOf("http")===-1),Qe=An,te="web.nocache.js",ee=!1;var Nn=xt.split("/");Nn.length>1&&(!An&&Nn[Nn.length-2]==="webSimple"?(te="webSimple.nocache.js",ee=!0):Et.indexOf(Nn[Nn.length-2])>=0&&(te=Nn[Nn.length-2]+".nocache.js")),Nn=Gt.split("/"),De=Nn[Nn.length-3],De.substr(0,4)==="test"?De=De.substr(4,1)+"."+De.substr(5,1):(De.substr(0,3)==="war"||De.substr(0,4)==="beta")&&(De="5.0");var di=parseFloat(De);di!==NaN&&di<5&&Gt.indexOf("geogebra.org")>=0&&(console.log("The GeoGebra HTML5 codebase version "+di+" is deprecated. Using version latest instead."),nt("5.0",An))},Jt=function(Gt,An){window.console&&window.console.log&&(!An||typeof An.showLogging=="undefined"||An.showLogging&&An.showLogging!=="false")&&console.log(Gt)};ue.material_id!==void 0?qe(In):In();function In(){var Gt=xe;Pe!==null?Gt=Pe:parseFloat(Gt)<5&&(Gt="5.0"),nt(Gt,!1),Ue!==null&&ot(Ue,Qe),Ye=!0}return Re},GGBAppletUtils=function(){"use strict";function Re(){return window.GGBT_wsf_edit!==void 0}function xe(Ye,Pe){Pe!=1?(Ye.style.transformOrigin="0% 0% 0px",Ye.style.webkitTransformOrigin="0% 0% 0px",Ye.style.transform="scale("+Pe+","+Pe+")",Ye.style.webkitTransform="scale("+Pe+","+Pe+")",Ye.style.maxWidth="initial",Ye.querySelector(".ggb_preview")!==null&&(Ye.querySelector(".ggb_preview").style.maxWidth="initial"),Ye.querySelectorAll(".ggb_preview img")[0]!==void 0&&(Ye.querySelectorAll(".ggb_preview img")[0].style.maxWidth="initial"),Ye.querySelectorAll(".ggb_preview img")[1]!==void 0&&(Ye.querySelectorAll(".ggb_preview img")[1].style.maxWidth="initial")):(Ye.style.transform="none",Ye.style.webkitTransform="none")}function ue(Ye,Pe,Ue,tt,Ze,rt){var xt=null;if(rt!=null&&rt!="")for(var Qe=Ye.parentNode;Qe!=null;)if((" "+Qe.className+" ").indexOf(" "+rt+" ")>-1){xt=Qe;break}else Qe=Qe.parentNode;var Mt=0,De=0,te=0,ee=0,de=0,se=0,ge=0;if(xt)Mt=xt.offsetWidth,De=Math.max(tt?xt.offsetWidth:0,xt.offsetHeight);else{if(window.innerWidth&&document.documentElement.clientWidth?(Mt=Math.min(window.innerWidth,document.documentElement.clientWidth),De=Math.min(window.innerHeight,document.documentElement.clientHeight),te=Mt):(Mt=window.innerWidth,De=window.innerHeight,te=window.innerWidth),Ye){var ve=Ye.getBoundingClientRect();ve.left>0&&ve.left<=Mt&&(Ze===void 0||!Ze)&&(document.dir==="rtl"?(de=Mt-ve.width-ve.left,se=te<=480?10:30):(se=ve.left,de=te<=480?10:30),ee=se+de)}if(Ye&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){var be=Ye.getBoundingClientRect();window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(ee=40,ge=0):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(ee=0,ge=40)}}return Ye&&((Ue===void 0||!Ue)&&Pe>0&&Pe+ee1&&(rt=!0)),Pe&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&(rt=!0),!(Ye.hasOwnProperty("disableAutoScale")&&Ye.disableAutoScale))Ze=ce(Ye,Pe,rt,Ue,Ye.scaleContainerClass);else return tt;return rt&&(!Ye.hasOwnProperty("scale")||tt===1)?Ze:Math.min(tt,Ze)}function Fe(Ye){var Pe=Math.min(window.innerWidth,document.documentElement.clientWidth),Ue=Math.min(window.innerHeight,document.documentElement.clientHeight),tt=Ye.getBoundingClientRect(),Ze=(Pe-tt.width)/2,rt=(Ue-tt.height)/2;rt<0&&(rt=0),Ye.style.position="relative",window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(Ze<40?Ye.style.left="40px":Ye.style.left=Ze+"px",Ye.style.top=rt+"px"):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(rt<40?Ye.style.top="40px":Ye.style.top=rt+"px",Ye.style.left=Ze+"px")}function ke(Ye,Pe){var Ue=Ye.querySelector(".appletParameters");if(Ue){if(typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){if(Pe.id!==Ue.getAttribute("data-param-id"))return;window.GGBT_wsf_view.setCloseBtnPosition(Ye)}if(Ue.parentElement&&/fullscreen/.test(Ue.parentElement.className))return;var tt=Ae(Pe,Ye);Re()&&Ue.setAttribute("data-param-scale",tt);for(var Ze=null,rt=0;rt=O)continue;if(j==jb){if(k=i.getAttribute(kb),k){var l,m=k.indexOf(lb);m>=O?(j=k.substring(O,m),l=k.substring(m+P)):(j=k,l=W),c[j]=l}}else if(j==mb){if(k=i.getAttribute(kb),k)try{d=eval(k)}catch(Re){alert(nb+k+ob)}}else if(j==pb&&(k=i.getAttribute(kb),k))try{e=eval(k)}catch(Re){alert(nb+k+qb)}}}__gwt_getMetaProperty=function(Re){var xe=c[Re];return xe==null?null:xe},r=d,webModule.__errFn=e}function B(){function Re(Ye){var Pe=Ye.lastIndexOf(rb);Pe==-1&&(Pe=Ye.length);var Ue=Ye.indexOf(sb);Ue==-1&&(Ue=Ye.length);var tt=Ye.lastIndexOf(tb,Math.min(Ue,Pe));return tt>=O?Ye.substring(O,tt+P):W}function xe(Ye){if(!Ye.match(/^\w+:\/\//)){var Pe=o.createElement(ub);Pe.src=Ye+vb,Ye=Re(Pe.src)}return Ye}function ue(){var Ye=__gwt_getMetaProperty(wb);return Ye!=null?Ye:W}function ce(){for(var Ye=o.getElementsByTagName(_),Pe=O;PeO?Ye[Ye.length-P].href:W}function Fe(){var Ye=o.location;return Ye.href==Ye.protocol+zb+Ye.host+Ye.pathname+Ye.search+Ye.hash}var ke=ue();return ke==W&&(ke=ce()),ke==W&&(ke=Ae()),ke==W&&Fe()&&(ke=Re(o.location.href)),ke=xe(ke),ke}function C(Re){return Re.match(/^\//)||Re.match(/^[a-zA-Z]+:\/\//)?Re:webModule.__moduleBase+Re}function D(){var Re=[],xe=O,ue=[],ce=[];function Ae(Ye){var Pe=ce[Ye](),Ue=ue[Ye];if(Pe in Ue)return Pe;var tt=[];for(var Ze in Ue)tt[Ue[Ze]]=Ze;throw r&&r(Ye,tt,Pe),null}if(__gwt_isKnownPropertyValue=function(Ye,Pe){return Pe in ue[Ye]},webModule.__getPropMap=function(){var Ye={};for(var Pe in ue)ue.hasOwnProperty(Pe)&&(Ye[Pe]=Ae(Pe));return Ye},webModule.__computePropValue=Ae,n.__gwt_activeModules[L].bindings=webModule.__getPropMap,p())return C(Bb);var Fe;try{Fe=Cb;var ke=Fe.indexOf(Db);ke!=-1&&(xe=parseInt(Fe.substring(ke+P),$),Fe=Fe.substring(O,ke))}catch(Ye){}return webModule.__softPermutationId=xe,C(Fe+Eb)}function F(){n.__gwt_stylesLoaded||(n.__gwt_stylesLoaded={})}A(),webModule.__moduleBase="/js/mathematicalGraphics/"+name+"/",s[L].moduleBase=webModule.__moduleBase;var G=D();return F(),w(G),!0}return webModule},typeof window.web3d!="function"&&(window.web3d=GGBAppletUtils.makeModule("web3d","A18F540516513B1292CA7CEF2F6AFC7E")),typeof window.webSimple!="function"&&(window.webSimple=GGBAppletUtils.makeModule("webSimple","96B09BF1B436BF53F0DF54116700F16A")),window.GGBApplet=GGBApplet})()},15476:function(Re,xe,ue){"use strict";ue.d(xe,{Ax:function(){return ke},Ds:function(){return Ye},KI:function(){return Ue},SI:function(){return Fe},f1:function(){return Ae}});var ce=ue(11320);function Ae(tt){let Ze=!0;if(tt.length>0){for(let rt=0;rtee in te?Fe(te,ee,{enumerable:!0,configurable:!0,writable:!0,value:de}):te[ee]=de,rt=(te,ee)=>{for(var de in ee||(ee={}))Ue.call(ee,de)&&Ze(te,de,ee[de]);if(Pe)for(var de of Pe(ee))tt.call(ee,de)&&Ze(te,de,ee[de]);return te},xt=(te,ee)=>ke(te,Ye(ee)),Qe=(te,ee)=>{var de={};for(var se in te)Ue.call(te,se)&&ee.indexOf(se)<0&&(de[se]=te[se]);if(te!=null&&Pe)for(var se of Pe(te))ee.indexOf(se)<0&&tt.call(te,se)&&(de[se]=te[se]);return de},Mt=(te,ee,de)=>new Promise((se,ge)=>{var ve=Oe=>{try{we(de.next(Oe))}catch(Ke){ge(Ke)}},be=Oe=>{try{we(de.throw(Oe))}catch(Ke){ge(Ke)}},we=Oe=>Oe.done?se(Oe.value):Promise.resolve(Oe.value).then(ve,be);we((de=de.apply(te,ee)).next())});const De=te=>{var ee=te,{children:de}=ee,se=Qe(ee,["children"]);const[ge,ve]=(0,Ae.useState)(!1);return Ae.createElement(ce.ZP,xt(rt({},se),{loading:ge,onClick:be=>Mt(void 0,null,function*(){try{ve(!0),yield se.onClick(be),ve(!1)}catch(we){console.error(we),ve(!1)}})}),de)}},56243:function(Re,xe,ue){"use strict";var ce=ue(17187),Ae=ue.n(ce),Fe=Object.defineProperty,ke=(tt,Ze,rt)=>Ze in tt?Fe(tt,Ze,{enumerable:!0,configurable:!0,writable:!0,value:rt}):tt[Ze]=rt,Ye=(tt,Ze,rt)=>ke(tt,typeof Ze!="symbol"?Ze+"":Ze,rt),Pe=(tt,Ze,rt)=>new Promise((xt,Qe)=>{var Mt=ee=>{try{te(rt.next(ee))}catch(de){Qe(de)}},De=ee=>{try{te(rt.throw(ee))}catch(de){Qe(de)}},te=ee=>ee.done?xt(ee.value):Promise.resolve(ee.value).then(Mt,De);te((rt=rt.apply(tt,Ze)).next())});class Ue extends ce.EventEmitter{constructor(Ze,rt){super(),Ye(this,"url"),Ye(this,"body"),Ye(this,"fullContent",""),Ye(this,"controller",null),Ye(this,"buffer",""),this.url=Ze,this.body=rt}startStream(){return Pe(this,null,function*(){this.controller=new AbortController;const{signal:Ze}=this.controller;try{const rt=yield fetch(this.url,{method:"POST",headers:{"Content-Type":"application/json; charset=utf-8"},credentials:"include",body:JSON.stringify(this.body),signal:Ze});if(!rt.ok)throw new Error(`\u8BF7\u6C42\u5931\u8D25: ${rt.status}`);const xt=rt.headers.get("content-type");if(!xt)throw new Error("\u54CD\u5E94\u5934\u7F3A\u5C11 content-type");if(xt.includes("application/json")){const De=yield rt.json();this.emit("error",De);return}if(!xt.includes("text/event-stream"))throw new Error("\u54CD\u5E94\u6570\u636E\u683C\u5F0F\u9519\u8BEF");const Qe=rt.body.getReader(),Mt=new TextDecoder("utf-8");for(;;){const{done:De,value:te}=yield Qe.read();if(De)break;const ee=Mt.decode(te,{stream:!0});this.buffer+=ee;const de=this.buffer.split(` `);this.buffer=de.pop()||"";for(const se of de)if(se.startsWith("data:")){const ge=se.slice(5).trim();if(ge==="[DONE]")break;try{const ve=JSON.parse(ge);ve.data&&this.handleData(ve.data)}catch(ve){this.buffer=se+` `+this.buffer,console.error("\u89E3\u6790 JSON \u5931\u8D25:",ve)}}}this.emit("done",this.fullContent)}catch(rt){rt.name==="AbortError"?this.emit("cancelled",this.fullContent):this.emit("error",rt.message)}})}handleData(Ze){Ze.content&&(this.fullContent+=Ze.content,this.emit("data",{chunk:Ze,full:this.fullContent}))}cancelRequest(){var Ze;(Ze=this.controller)==null||Ze.abort()}}xe.Z=Ue},64250:function(Re,xe,ue){"use strict";ue.d(xe,{Z:function(){return Mt}});var ce=ue(67294),Ae=ue(95012),Fe=ue(71230),ke=ue(15746),Ye={smartWrp:"smartWrp___NjRcB"},Pe=ue(36295),Ue=ue(30001),tt=ue(60580),Ze=ue(67294),rt=(De,te,ee)=>new Promise((de,se)=>{var ge=we=>{try{be(ee.next(we))}catch(Oe){se(Oe)}},ve=we=>{try{be(ee.throw(we))}catch(Oe){se(Oe)}},be=we=>we.done?de(we.value):Promise.resolve(we.value).then(ge,ve);be((ee=ee.apply(De,te)).next())});const xt=` \u5FEB\u901F\u6392\u5E8F\u6F14\u793A

\u5FEB\u901F\u6392\u5E8F\u7B97\u6CD5\u6F14\u793A