(self.webpackChunk=self.webpackChunk||[]).push([[1545,4599,6270],{99587:function(Oe,tt){"use strict";tt.Z={lists:"lists___xhHyq",item:"item___pWJAA",children:"children___sDG61",diamond:"diamond___FwgzD",button:"button___WPN6r",mathWrap:"mathWrap___FmnMJ",mathFillWrap:"mathFillWrap___PmY3H"}},91136:function(Oe,tt){"use strict";tt.Z={footer:"footer___bruwa",whiteFooter:"whiteFooter___mR7kn",error:"error___KO0Jg",case:"case___L0pNc","resize-y-bar":"resize-y-bar___NK0gI",unfoldBtn:"unfoldBtn___aMmZw",caseHead:"caseHead___EuMPr",dot:"dot___Iky9k",text:"text___lMSx6",pass:"pass___XjijC",noPass:"noPass___JxpWk",btns:"btns___FPIaK",result:"result___oRj1h",title:"title___IhMSa",left:"left___XlC98",leftNode:"leftNode___NGHgx",right:"right____fIu_",node:"node___MwdH7",elseNode:"elseNode___WjFIg",nameWrap:"nameWrap___bEdbD",scroll:"scroll___ylWYt",scrollBox:"scrollBox___hWkc9",action:"action___xBwDi",whiteCase:"whiteCase___AZiDR",disabled:"disabled___lWQU2",codeHead:"codeHead___l8q5R",navWrap:"navWrap___xdWQe",nav:"nav___JKPVX",active:"active___DTAtT",whiteCodeHead:"whiteCodeHead___wDOny",header:"header___VjNh9",timepiece:"timepiece___yuqJC",btn_edit:"btn_edit___ozzux",whiteHeader:"whiteHeader___REV3m",djs:"djs___v0Ru7",myProblems:"myProblems___DKSbs",whiteMyProblems:"whiteMyProblems___k0QS3",fullMask:"fullMask___QZH1M"}},58339:function(Oe,tt){"use strict";tt.Z={modalContent:"modalContent___UXmJC",modalContentLeft:"modalContentLeft___JOFgX",green:"green___rI_w_",textArea:"textArea___OTapv",red:"red___cDswv",row:"row___CE3Y7",html:"html___u9n4r",line:"line___Lh9Lb"}},39744:function(){"use strict"},57149:function(Oe,tt,te){"use strict";var y=te(59301),ie=Object.defineProperty,Ce=Object.getOwnPropertySymbols,ge=Object.prototype.hasOwnProperty,Se=Object.prototype.propertyIsEnumerable,Be=(fe,ue,ve)=>ue in fe?ie(fe,ue,{enumerable:!0,configurable:!0,writable:!0,value:ve}):fe[ue]=ve,pe=(fe,ue)=>{for(var ve in ue||(ue={}))ge.call(ue,ve)&&Be(fe,ve,ue[ve]);if(Ce)for(var ve of Ce(ue))Se.call(ue,ve)&&Be(fe,ve,ue[ve]);return fe};const be=fe=>React.createElement("svg",pe({className:"jiangxu_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:32,height:32},fe),React.createElement("path",{d:"M365.714 73.143H1024v73.143H365.714zm0 292.571H1024v73.143H365.714zm0 292.572H1024v73.143H365.714zm0 292.571H1024V1024H365.714v-73.143z",fill:"#98BDF7"}),React.createElement("path",{d:"m248.686 803.182-65.829 75.922V658.286h-73.143v220.818l-65.828-75.995L0 851.383 146.286 1024 292.57 851.53z",fill:"#145DFF"}),React.createElement("path",{d:"M146.286 0 0 158.72l43.886 55.223 65.828-75.922v227.693h73.143V138.021l65.829 75.922 43.885-55.223z",fill:"#98BDF7"}));tt.Z="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Ik0zNjUuNzE0IDczLjE0M0gxMDI0djczLjE0M0gzNjUuNzE0em0wIDI5Mi41NzFIMTAyNHY3My4xNDNIMzY1LjcxNHptMCAyOTIuNTcySDEwMjR2NzMuMTQzSDM2NS43MTR6bTAgMjkyLjU3MUgxMDI0VjEwMjRIMzY1LjcxNHYtNzMuMTQzeiIgZmlsbD0iIzk4QkRGNyIvPjxwYXRoIGQ9Im0yNDguNjg2IDgwMy4xODItNjUuODI5IDc1LjkyMlY2NTguMjg2aC03My4xNDN2MjIwLjgxOGwtNjUuODI4LTc1Ljk5NUwwIDg1MS4zODMgMTQ2LjI4NiAxMDI0IDI5Mi41NyA4NTEuNTN6IiBmaWxsPSIjMTQ1REZGIi8+PHBhdGggZD0iTTE0Ni4yODYgMCAwIDE1OC43Mmw0My44ODYgNTUuMjIzIDY1LjgyOC03NS45MjJ2MjI3LjY5M2g3My4xNDNWMTM4LjAyMWw2NS44MjkgNzUuOTIyIDQzLjg4NS01NS4yMjN6IiBmaWxsPSIjOThCREY3Ii8+PC9zdmc+"},61250:function(Oe,tt,te){"use strict";var y=te(59301),ie=Object.defineProperty,Ce=Object.getOwnPropertySymbols,ge=Object.prototype.hasOwnProperty,Se=Object.prototype.propertyIsEnumerable,Be=(fe,ue,ve)=>ue in fe?ie(fe,ue,{enumerable:!0,configurable:!0,writable:!0,value:ve}):fe[ue]=ve,pe=(fe,ue)=>{for(var ve in ue||(ue={}))ge.call(ue,ve)&&Be(fe,ve,ue[ve]);if(Ce)for(var ve of Ce(ue))Se.call(ue,ve)&&Be(fe,ve,ue[ve]);return fe};const be=fe=>React.createElement("svg",pe({className:"shengxu_svg__icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:32,height:32},fe),React.createElement("path",{d:"M365.714 73.143H1024v73.143H365.714zm0 292.571H1024v73.143H365.714zm0 292.572H1024v73.143H365.714zm0 292.571H1024V1024H365.714v-73.143zM248.686 803.182l-65.829 75.922V658.286h-73.143v220.818l-65.828-75.995L0 851.383 146.286 1024 292.57 851.53z",fill:"#98BDF7"}),React.createElement("path",{d:"M146.286 0 0 158.72l43.886 55.223 65.828-75.922v227.693h73.143V138.021l65.829 75.922 43.885-55.223z",fill:"#145DFF"}));tt.Z="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxwYXRoIGQ9Ik0zNjUuNzE0IDczLjE0M0gxMDI0djczLjE0M0gzNjUuNzE0em0wIDI5Mi41NzFIMTAyNHY3My4xNDNIMzY1LjcxNHptMCAyOTIuNTcySDEwMjR2NzMuMTQzSDM2NS43MTR6bTAgMjkyLjU3MUgxMDI0VjEwMjRIMzY1LjcxNHYtNzMuMTQzek0yNDguNjg2IDgwMy4xODJsLTY1LjgyOSA3NS45MjJWNjU4LjI4NmgtNzMuMTQzdjIyMC44MThsLTY1LjgyOC03NS45OTVMMCA4NTEuMzgzIDE0Ni4yODYgMTAyNCAyOTIuNTcgODUxLjUzeiIgZmlsbD0iIzk4QkRGNyIvPjxwYXRoIGQ9Ik0xNDYuMjg2IDAgMCAxNTguNzJsNDMuODg2IDU1LjIyMyA2NS44MjgtNzUuOTIydjIyNy42OTNoNzMuMTQzVjEzOC4wMjFsNjUuODI5IDc1LjkyMiA0My44ODUtNTUuMjIzeiIgZmlsbD0iIzE0NURGRiIvPjwvc3ZnPg=="},3932:function(Oe,tt,te){"use strict";var y=te(59301),ie=Object.defineProperty,Ce=Object.getOwnPropertySymbols,ge=Object.prototype.hasOwnProperty,Se=Object.prototype.propertyIsEnumerable,Be=(fe,ue,ve)=>ue in fe?ie(fe,ue,{enumerable:!0,configurable:!0,writable:!0,value:ve}):fe[ue]=ve,pe=(fe,ue)=>{for(var ve in ue||(ue={}))ge.call(ue,ve)&&Be(fe,ve,ue[ve]);if(Ce)for(var ve of Ce(ue))Se.call(ue,ve)&&Be(fe,ve,ue[ve]);return fe};const be=fe=>React.createElement("svg",pe({width:30,height:30,xmlns:"http://www.w3.org/2000/svg"},fe),React.createElement("title",null,"\u5360\u7528\u5185\u5B58"),React.createElement("g",{fillRule:"nonzero",fill:"none"},React.createElement("path",{fillOpacity:.01,fill:"#FFF",d:"M0 0h30v30H0z"}),React.createElement("path",{d:"M6.866 26.928h-1.28a2.561 2.561 0 0 1-2.562-2.561V5.585a2.561 2.561 0 0 1 2.561-2.56h1.28v4.268a2.561 2.561 0 0 0 2.562 2.56h3.842a2.561 2.561 0 0 0 2.56-2.56V3.024h2.915l8.184 8.184v13.159a2.561 2.561 0 0 1-2.561 2.561h-1.28v-5.976c0-.943-.765-1.707-1.708-1.707H8.573c-.943 0-1.707.764-1.707 1.707v5.976Z",fill:"#B6D0FC"}),React.createElement("path",{d:"M8.573 3.024h5.55v4.269a.854.854 0 0 1-.854.853H9.427a.854.854 0 0 1-.854-.853V3.024ZM8.573 26.928v-5.976H21.38v5.976z",fill:"#1890FF"})));tt.Z="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBmaWxsPSJub25lIj48cGF0aCBmaWxsLW9wYWNpdHk9Ii4wMSIgZmlsbD0iI0ZGRiIgZD0iTTAgMGgzMHYzMEgweiIvPjxwYXRoIGQ9Ik02Ljg2NiAyNi45MjhoLTEuMjhhMi41NjEgMi41NjEgMCAwIDEtMi41NjItMi41NjFWNS41ODVhMi41NjEgMi41NjEgMCAwIDEgMi41NjEtMi41NmgxLjI4djQuMjY4YTIuNTYxIDIuNTYxIDAgMCAwIDIuNTYyIDIuNTZoMy44NDJhMi41NjEgMi41NjEgMCAwIDAgMi41Ni0yLjU2VjMuMDI0aDIuOTE1bDguMTg0IDguMTg0djEzLjE1OWEyLjU2MSAyLjU2MSAwIDAgMS0yLjU2MSAyLjU2MWgtMS4yOHYtNS45NzZjMC0uOTQzLS43NjUtMS43MDctMS43MDgtMS43MDdIOC41NzNjLS45NDMgMC0xLjcwNy43NjQtMS43MDcgMS43MDd2NS45NzZaIiBmaWxsPSIjQjZEMEZDIi8+PHBhdGggZD0iTTguNTczIDMuMDI0aDUuNTV2NC4yNjlhLjg1NC44NTQgMCAwIDEtLjg1NC44NTNIOS40MjdhLjg1NC44NTQgMCAwIDEtLjg1NC0uODUzVjMuMDI0Wk04LjU3MyAyNi45Mjh2LTUuOTc2SDIxLjM4djUuOTc2eiIgZmlsbD0iIzE4OTBGRiIvPjwvZz48L3N2Zz4="},64126:function(Oe,tt,te){"use strict";var y=te(59301),ie=Object.defineProperty,Ce=Object.getOwnPropertySymbols,ge=Object.prototype.hasOwnProperty,Se=Object.prototype.propertyIsEnumerable,Be=(fe,ue,ve)=>ue in fe?ie(fe,ue,{enumerable:!0,configurable:!0,writable:!0,value:ve}):fe[ue]=ve,pe=(fe,ue)=>{for(var ve in ue||(ue={}))ge.call(ue,ve)&&Be(fe,ve,ue[ve]);if(Ce)for(var ve of Ce(ue))Se.call(ue,ve)&&Be(fe,ve,ue[ve]);return fe};const be=fe=>React.createElement("svg",pe({width:30,height:30,xmlns:"http://www.w3.org/2000/svg"},fe),React.createElement("title",null,"\u8FD0\u884C\u65F6\u95F4"),React.createElement("g",{fillRule:"nonzero",fill:"none"},React.createElement("path",{d:"M30 15c0 8.284-6.716 15-15 15-8.284 0-15-6.716-15-15C0 6.716 6.716 0 15 0c8.284 0 15 6.716 15 15Z",fill:"#BAFFF0"}),React.createElement("path",{d:"M25.5 15c0 5.8-4.7 10.5-10.5 10.5S4.5 20.8 4.5 15 9.2 4.5 15 4.5 25.5 9.2 25.5 15Z",fill:"#44D7B6"}),React.createElement("path",{d:"M13.5 9a1.5 1.5 0 0 1 1.5 1.5v4.379l3.56 3.56a1.5 1.5 0 0 1-2.12 2.122l-4-4A1.5 1.5 0 0 1 12 15.5v-5A1.5 1.5 0 0 1 13.5 9Z",fill:"#FFF"})));tt.Z="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbC1ydWxlPSJub256ZXJvIiBmaWxsPSJub25lIj48cGF0aCBkPSJNMzAgMTVjMCA4LjI4NC02LjcxNiAxNS0xNSAxNS04LjI4NCAwLTE1LTYuNzE2LTE1LTE1QzAgNi43MTYgNi43MTYgMCAxNSAwYzguMjg0IDAgMTUgNi43MTYgMTUgMTVaIiBmaWxsPSIjQkFGRkYwIi8+PHBhdGggZD0iTTI1LjUgMTVjMCA1LjgtNC43IDEwLjUtMTAuNSAxMC41UzQuNSAyMC44IDQuNSAxNSA5LjIgNC41IDE1IDQuNSAyNS41IDkuMiAyNS41IDE1WiIgZmlsbD0iIzQ0RDdCNiIvPjxwYXRoIGQ9Ik0xMy41IDlhMS41IDEuNSAwIDAgMSAxLjUgMS41djQuMzc5bDMuNTYgMy41NmExLjUgMS41IDAgMCAxLTIuMTIgMi4xMjJsLTQtNEExLjUgMS41IDAgMCAxIDEyIDE1LjV2LTVBMS41IDEuNSAwIDAgMSAxMy41IDlaIiBmaWxsPSIjRkZGIi8+PC9nPjwvc3ZnPg=="},63720:function(){"use strict";function Oe(oe,a,E,x){E===void 0&&(E=0),x===void 0&&(x=1/0),this._name=oe,this._defaultValue=a,this._minimum=E,this._maximum=x}Object.defineProperty(Oe.prototype,"name",{get:function(){return this._name},set:function(oe){if(typeof oe!="string"||oe==="")throw new Error("Shape name must be a valid string.");this._name=oe}}),Object.defineProperty(Oe.prototype,"defaultValue",{get:function(){return this._defaultValue},set:function(oe){if(typeof oe!="number"||isNaN(oe))throw new Error("The default value must be a real number, not: "+oe);this._defaultValue=oe}}),Object.defineProperty(Oe.prototype,"minimum",{get:function(){return this._minimum},set:function(oe){if(typeof oe!="number"||isNaN(oe))throw new Error("Minimum must be a real number, not: "+oe);this._minimum=oe}}),Object.defineProperty(Oe.prototype,"maximum",{get:function(){return this._maximum},set:function(oe){if(typeof oe!="number"||isNaN(oe))throw new Error("Maximum must be a real number, not: "+oe);this._maximum=oe}}),go.Shape._FigureParameters={},go.Shape.getFigureParameter=function(oe,a){var E=go.Shape._FigureParameters[oe];return E?E[a]:null},go.Shape.setFigureParameter=function(oe,a,E){if(!(E instanceof Oe))throw new Error("Third argument to Shape.setFigureParameter is not FigureParameter: "+E);if(E.defaultValueE.maximum)throw new Error("defaultValue must be between minimum and maximum, not: "+E.defaultValue);var x=go.Shape._FigureParameters[oe];x||(x=[],go.Shape._FigureParameters[oe]=x),x[a]=E};var tt=[];function te(oe,a){var E=tt.pop();return E===void 0?new go.Point(oe,a):(E.x=oe,E.y=a,E)}function y(){var oe=tt.pop();return oe===void 0?new go.Point:oe}function ie(oe){tt.push(oe)}function Ce(oe,a,E,x,b,z,ee,ne,ae){ae||(ae=new go.Point);var re=oe-E,le=b-ee,ce=NaN,Pe=NaN;if(re===0)if(le===0)oe===E&&(ce=oe,Pe=a);else{var de=(z-ne)/le,Ee=z-de*b;ce=oe,Pe=de*ce+Ee}else if(le===0){var Fe=(a-x)/re,he=a-Fe*oe;ce=b,Pe=Fe*ce+he}else{var Fe=(a-x)/re,de=(z-ne)/le,he=a-Fe*oe,Ee=z-de*b;ce=(Ee-he)/(Fe-de),Pe=Fe*ce+he}return ae.x=ce,ae.y=Pe,ae}function ge(oe,a,E,x,b,z,ee,ne,ae,re,le,ce,Pe,de){var Ee=1-ae,Fe=ae,he=oe*Ee+E*Fe,rt=a*Ee+x*Fe,Ue=E*Ee+b*Fe,Ne=x*Ee+z*Fe,ut=b*Ee+ee*Fe,Ze=z*Ee+ne*Fe,qe=he*Ee+Ue*Fe,xe=rt*Ee+Ne*Fe,Te=Ue*Ee+ut*Fe,$e=Ne*Ee+Ze*Fe,Xe=qe*Ee+Te*Fe,nt=xe*Ee+$e*Fe;re.x=he,re.y=rt,le.x=qe,le.y=xe,ce.x=Xe,ce.y=nt,Pe.x=Te,Pe.y=$e,de.x=ut,de.y=Ze}var Se=new go.Spot(.156,.156),Be=new go.Spot(.844,.844),pe=4*((Math.sqrt(2)-1)/3);go.Shape.setFigureParameter("RoundedRectangle",0,new Oe("CornerRounding",5)),go.Shape.defineFigureGenerator("RoundedRectangle",function(oe,a,E){var x=oe?oe.parameter1:NaN;(isNaN(x)||x<0)&&(x=5),x=Math.min(x,a/3),x=Math.min(x,E/3);var b=x*pe,z=new go.Geometry().add(new go.PathFigure(x,0,!0).add(new go.PathSegment(go.PathSegment.Line,a-x,0)).add(new go.PathSegment(go.PathSegment.Bezier,a,x,a-b,0,a,b)).add(new go.PathSegment(go.PathSegment.Line,a,E-x)).add(new go.PathSegment(go.PathSegment.Bezier,a-x,E,a,E-b,a-b,E)).add(new go.PathSegment(go.PathSegment.Line,x,E)).add(new go.PathSegment(go.PathSegment.Bezier,0,E-x,b,E,0,E-b)).add(new go.PathSegment(go.PathSegment.Line,0,x)).add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,b,b,0).close()));return b>1&&(z.spot1=new go.Spot(0,0,b,b),z.spot2=new go.Spot(1,1,-b,-b)),z}),go.Shape.defineFigureGenerator("Border","RoundedRectangle"),go.Shape.defineFigureGenerator("TriangleRight",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())).setSpots(0,.25,.5,.75)}),go.Shape.defineFigureGenerator("TriangleDown",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,.5*a,E).close())).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("TriangleLeft",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(a,E).add(new go.PathSegment(go.PathSegment.Line,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,a,0).close())).setSpots(.5,.25,1,.75)}),go.Shape.defineFigureGenerator("TriangleUp",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(a,E).add(new go.PathSegment(go.PathSegment.Line,0,E)).add(new go.PathSegment(go.PathSegment.Line,.5*a,0).close())).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("Triangle","TriangleUp"),go.Shape.defineFigureGenerator("Diamond",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(.5*a,0).add(new go.PathSegment(go.PathSegment.Line,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,.5*a,E)).add(new go.PathSegment(go.PathSegment.Line,a,.5*E).close())).setSpots(.25,.25,.75,.75)}),go.Shape.defineFigureGenerator("LineH",function(oe,a,E){var x=new go.Geometry(go.Geometry.Line);return x.startX=0,x.startY=E/2,x.endX=a,x.endY=E/2,x}),go.Shape.defineFigureGenerator("LineV",function(oe,a,E){var x=new go.Geometry(go.Geometry.Line);return x.startX=a/2,x.startY=0,x.endX=a/2,x.endY=E,x}),go.Shape.defineFigureGenerator("BarH","Rectangle"),go.Shape.defineFigureGenerator("BarV","Rectangle"),go.Shape.defineFigureGenerator("MinusLine","LineH"),go.Shape.defineFigureGenerator("PlusLine",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,E/2,!1).add(new go.PathSegment(go.PathSegment.Line,a,E/2)).add(new go.PathSegment(go.PathSegment.Move,a/2,0)).add(new go.PathSegment(go.PathSegment.Line,a/2,E)))}),go.Shape.defineFigureGenerator("XLine",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,E,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Move,0,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)))}),go.Shape.defineFigureGenerator("LineRight",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(.25*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,.75*a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,.25*a,E)))}),go.Shape.defineFigureGenerator("LineDown",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,.25*E,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,.75*E)).add(new go.PathSegment(go.PathSegment.Line,a,.25*E)))}),go.Shape.defineFigureGenerator("LineLeft",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(.75*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,.25*a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,.75*a,E)))}),go.Shape.defineFigureGenerator("LineUp",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,.75*E,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,.25*E)).add(new go.PathSegment(go.PathSegment.Line,a,.75*E)))}),go.Shape.defineFigureGenerator("AsteriskLine",function(oe,a,E){var x=.2/Math.SQRT2;return new go.Geometry().add(new go.PathFigure(x*a,(1-x)*E,!1).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,x*E)).add(new go.PathSegment(go.PathSegment.Move,x*a,x*E)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,(1-x)*E)).add(new go.PathSegment(go.PathSegment.Move,0,E/2)).add(new go.PathSegment(go.PathSegment.Line,a,E/2)).add(new go.PathSegment(go.PathSegment.Move,a/2,0)).add(new go.PathSegment(go.PathSegment.Line,a/2,E)))}),go.Shape.defineFigureGenerator("CircleLine",function(oe,a,E){var x=a/2,b=new go.Geometry().add(new go.PathFigure(a,a/2,!1).add(new go.PathSegment(go.PathSegment.Arc,0,360,x,x,x,x).close()));return b.spot1=Se,b.spot2=Be,b.defaultStretch=go.GraphObject.Uniform,b}),go.Shape.defineFigureGenerator("Line1",function(oe,a,E){var x=new go.Geometry(go.Geometry.Line);return x.startX=0,x.startY=0,x.endX=a,x.endY=E,x}),go.Shape.defineFigureGenerator("Line2",function(oe,a,E){var x=new go.Geometry(go.Geometry.Line);return x.startX=a,x.startY=0,x.endX=0,x.endY=E,x}),go.Shape.defineFigureGenerator("Curve1",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,a,E,pe*a,0,a,(1-pe)*E)))}),go.Shape.defineFigureGenerator("Curve2",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,a,E,0,pe*E,(1-pe)*a,E)))}),go.Shape.defineFigureGenerator("Curve3",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(a,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,E,a,pe*E,pe*a,E)))}),go.Shape.defineFigureGenerator("Curve4",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(a,0,!1).add(new go.PathSegment(go.PathSegment.Bezier,0,E,(1-pe)*a,0,0,(1-pe)*E)))}),go.Shape.defineFigureGenerator("TriangleDownLeft",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())).setSpots(0,.5,.5,1)}),go.Shape.defineFigureGenerator("TriangleDownRight",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(a,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())).setSpots(.5,.5,1,1)}),go.Shape.defineFigureGenerator("TriangleUpLeft",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())).setSpots(0,0,.5,.5)}),go.Shape.defineFigureGenerator("TriangleUpRight",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a,E).close())).setSpots(.5,0,1,.5)}),go.Shape.defineFigureGenerator("RightTriangle","TriangleDownLeft"),go.Shape.setFigureParameter("Parallelogram1",0,new Oe("Indent",.1,-.99,.99)),go.Shape.defineFigureGenerator("Parallelogram1",function(oe,a,E){var x=oe?oe.parameter1:NaN;isNaN(x)?x=.1:x<-1?x=-1:x>1&&(x=1);var b=Math.abs(x)*a;if(x===0){var z=new go.Geometry(go.Geometry.Rectangle);return z.startX=0,z.startY=0,z.endX=a,z.endY=E,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(b,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-b,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())):z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a-b,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,b,E).close())),ba&&(x=a);var b=Math.abs(x);if(x===0){var z=new go.Geometry(go.Geometry.Rectangle);return z.startX=0,z.startY=0,z.endX=a,z.endY=E,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(b,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-b,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())):z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a-b,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,b,E).close())),b.5&&(x=.5);var b=Math.abs(x)*a;if(x===0){var z=new go.Geometry(go.Geometry.Rectangle);return z.startX=0,z.startY=0,z.endX=a,z.endY=E,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(b,0).add(new go.PathSegment(go.PathSegment.Line,a-b,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())):z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-b,E)).add(new go.PathSegment(go.PathSegment.Line,b,E).close())),ba&&(x=a/2);var b=Math.abs(x);if(x===0){var z=new go.Geometry(go.Geometry.Rectangle);return z.startX=0,z.startY=0,z.endX=a,z.endY=E,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(b,0).add(new go.PathSegment(go.PathSegment.Line,a-b,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())):z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-b,E)).add(new go.PathSegment(go.PathSegment.Line,b,E).close())),ba&&(x=a/2);var b=Math.abs(x);if(x===0){var z=new go.Geometry(go.Geometry.Rectangle);return z.startX=0,z.startY=0,z.endX=a,z.endY=E,z}else{var z=new go.Geometry;return x>0?z.add(new go.PathFigure(0,0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a-b,E)).add(new go.PathSegment(go.PathSegment.Line,b,E).close())):z.add(new go.PathFigure(b,0).add(new go.PathSegment(go.PathSegment.Line,a-b,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close())),b0&&(ee.add(new go.PathSegment(go.PathSegment.Move,a/2+ne,a/2)),ee.add(new go.PathSegment(go.PathSegment.Arc,0,-360,b,b,ne,ne).close())),z.spot1=Se,z.spot2=Be,z.defaultStretch=go.GraphObject.Uniform,z}),go.Shape.defineFigureGenerator("Cloud",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(.08034461*a,.1944299*E,!0).add(new go.PathSegment(go.PathSegment.Bezier,.2008615*a,.05349299*E,-.09239631*a,.07836421*E,.1406031*a,-.0542823*E)).add(new go.PathSegment(go.PathSegment.Bezier,.4338609*a,.074219*E,.2450511*a,-.00697547*E,.3776197*a,-.01112067*E)).add(new go.PathSegment(go.PathSegment.Bezier,.6558228*a,.07004196*E,.4539471*a,0,.6066018*a,-.02526587*E)).add(new go.PathSegment(go.PathSegment.Bezier,.8921095*a,.08370865*E,.6914277*a,-.01904177*E,.8921095*a,-.01220843*E)).add(new go.PathSegment(go.PathSegment.Bezier,.9147671*a,.3194596*E,1.036446*a,.04105738*E,1.020377*a,.3022052*E)).add(new go.PathSegment(go.PathSegment.Bezier,.9082935*a,.562044*E,1.04448*a,.360238*E,.992256*a,.5219009*E)).add(new go.PathSegment(go.PathSegment.Bezier,.9212406*a,.8217117*E,1.032337*a,.5771781*E,1.018411*a,.8120651*E)).add(new go.PathSegment(go.PathSegment.Bezier,.7592566*a,.9156953*E,1.028411*a,.9571472*E,.8556702*a,1.052487*E)).add(new go.PathSegment(go.PathSegment.Bezier,.5101666*a,.9310455*E,.7431877*a,1.009325*E,.5624123*a,1.021761*E)).add(new go.PathSegment(go.PathSegment.Bezier,.2609328*a,.9344623*E,.4820677*a,1.031761*E,.3030112*a,1.002796*E)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*a,.870098*E,.2329994*a,1.01518*E,.03213784*a,1.01518*E)).add(new go.PathSegment(go.PathSegment.Bezier,.06829292*a,.6545475*E,-.02812061*a,.9032597*E,-.01205169*a,.6835638*E)).add(new go.PathSegment(go.PathSegment.Bezier,.06427569*a,.4265613*E,-.01812061*a,.6089503*E,-.00606892*a,.4555777*E)).add(new go.PathSegment(go.PathSegment.Bezier,.08034461*a,.1944299*E,-.01606892*a,.3892545*E,-.01205169*a,.1944299*E))).setSpots(.1,.1,.9,.9)}),go.Shape.defineFigureGenerator("StopSign",function(oe,a,E){var x=1/(Math.SQRT2+2);return new go.Geometry().add(new go.PathFigure(x*a,0,!0).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,0)).add(new go.PathSegment(go.PathSegment.Line,a,x*E)).add(new go.PathSegment(go.PathSegment.Line,a,(1-x)*E)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,E)).add(new go.PathSegment(go.PathSegment.Line,x*a,E)).add(new go.PathSegment(go.PathSegment.Line,0,(1-x)*E)).add(new go.PathSegment(go.PathSegment.Line,0,x*E).close())).setSpots(x/2,x/2,1-x/2,1-x/2)}),go.Shape.setFigureParameter("Pie",0,new Oe("Start",0,-360,360)),go.Shape.setFigureParameter("Pie",1,new Oe("Sweep",315,-360,360)),go.Shape.defineFigureGenerator("Pie",function(oe,a,E){var x=oe?oe.parameter1:NaN,b=oe?oe.parameter2:NaN;isNaN(x)&&(x=0),isNaN(b)&&(b=315);var z=x%360;z<0&&(z+=360);var ee=b%360,ne=Math.min(a,E)/2;return new go.Geometry().add(new go.PathFigure(ne,ne).add(new go.PathSegment(go.PathSegment.Arc,z,ee,ne,ne,ne,ne).close()))}),go.Shape.defineFigureGenerator("PiePiece",function(oe,a,E){var x=pe/Math.SQRT2*.5,b=Math.SQRT2/2,z=1-Math.SQRT2/2;return new go.Geometry().add(new go.PathFigure(a,E,!0).add(new go.PathSegment(go.PathSegment.Bezier,b*a,z*E,a,(1-x)*E,(b+x)*a,(z+x)*E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close()))}),go.Shape.setFigureParameter("ThickCross",0,new Oe("Thickness",30)),go.Shape.defineFigureGenerator("ThickCross",function(oe,a,E){var x=oe?oe.parameter1:NaN;(isNaN(x)||x<0)&&(x=30);var b=Math.min(x,a)/2,z=a/2,ee=E/2;return new go.Geometry().add(new go.PathFigure(z-b,0,!0).add(new go.PathSegment(go.PathSegment.Line,z+b,0)).add(new go.PathSegment(go.PathSegment.Line,z+b,ee-b)).add(new go.PathSegment(go.PathSegment.Line,a,ee-b)).add(new go.PathSegment(go.PathSegment.Line,a,ee+b)).add(new go.PathSegment(go.PathSegment.Line,z+b,ee+b)).add(new go.PathSegment(go.PathSegment.Line,z+b,E)).add(new go.PathSegment(go.PathSegment.Line,z-b,E)).add(new go.PathSegment(go.PathSegment.Line,z-b,ee+b)).add(new go.PathSegment(go.PathSegment.Line,0,ee+b)).add(new go.PathSegment(go.PathSegment.Line,0,ee-b)).add(new go.PathSegment(go.PathSegment.Line,z-b,ee-b).close()))}),go.Shape.setFigureParameter("ThinCross",0,new Oe("Thickness",10)),go.Shape.defineFigureGenerator("ThinCross",function(oe,a,E){var x=oe?oe.parameter1:NaN;(isNaN(x)||x<0)&&(x=10);var b=Math.min(x,a)/2,z=a/2,ee=E/2;return new go.Geometry().add(new go.PathFigure(z-b,0,!0).add(new go.PathSegment(go.PathSegment.Line,z+b,0)).add(new go.PathSegment(go.PathSegment.Line,z+b,ee-b)).add(new go.PathSegment(go.PathSegment.Line,a,ee-b)).add(new go.PathSegment(go.PathSegment.Line,a,ee+b)).add(new go.PathSegment(go.PathSegment.Line,z+b,ee+b)).add(new go.PathSegment(go.PathSegment.Line,z+b,E)).add(new go.PathSegment(go.PathSegment.Line,z-b,E)).add(new go.PathSegment(go.PathSegment.Line,z-b,ee+b)).add(new go.PathSegment(go.PathSegment.Line,0,ee+b)).add(new go.PathSegment(go.PathSegment.Line,0,ee-b)).add(new go.PathSegment(go.PathSegment.Line,z-b,ee-b).close()))}),go.Shape.setFigureParameter("ThickX",0,new Oe("Thickness",30)),go.Shape.defineFigureGenerator("ThickX",function(oe,a,E){var x=oe?oe.parameter1:NaN;if((isNaN(x)||x<0)&&(x=30),a===0||E===0){var b=new go.Geometry(go.Geometry.Rectangle);return b.startX=0,b.startY=0,b.endX=a,b.endY=E,b}else{var z=a/2,ee=E/2,ne=Math.atan2(E,a),ae=x-Math.min(Math.cos(ne)*x/2,z),re=x-Math.min(Math.sin(ne)*x/2,ee),b=new go.Geometry,le=new go.PathFigure(ae,0,!0);return b.add(le),le.add(new go.PathSegment(go.PathSegment.Line,z,.2*E)),le.add(new go.PathSegment(go.PathSegment.Line,a-ae,0)),le.add(new go.PathSegment(go.PathSegment.Line,a,re)),le.add(new go.PathSegment(go.PathSegment.Line,.8*a,ee)),le.add(new go.PathSegment(go.PathSegment.Line,a,E-re)),le.add(new go.PathSegment(go.PathSegment.Line,a-ae,E)),le.add(new go.PathSegment(go.PathSegment.Line,z,.8*E)),le.add(new go.PathSegment(go.PathSegment.Line,ae,E)),le.add(new go.PathSegment(go.PathSegment.Line,0,E-re)),le.add(new go.PathSegment(go.PathSegment.Line,.2*a,ee)),le.add(new go.PathSegment(go.PathSegment.Line,0,re).close()),b}}),go.Shape.setFigureParameter("ThinX",0,new Oe("Thickness",10)),go.Shape.defineFigureGenerator("ThinX",function(oe,a,E){var x=oe?oe.parameter1:NaN;(isNaN(x)||x<0)&&(x=10);var b=new go.Geometry,z=new go.PathFigure(.1*a,0,!0);return b.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,.4*E)),z.add(new go.PathSegment(go.PathSegment.Line,.9*a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,.1*E)),z.add(new go.PathSegment(go.PathSegment.Line,.6*a,.5*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,.9*E)),z.add(new go.PathSegment(go.PathSegment.Line,.9*a,E)),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*E)),z.add(new go.PathSegment(go.PathSegment.Line,.1*a,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,.9*E)),z.add(new go.PathSegment(go.PathSegment.Line,.4*a,.5*E)),z.add(new go.PathSegment(go.PathSegment.Line,0,.1*E).close()),b}),go.Shape.setFigureParameter("SquareIBeam",0,new Oe("BeamWidth",.2,.1,.9)),go.Shape.defineFigureGenerator("SquareIBeam",function(oe,a,E){var x=oe?oe.parameter1:NaN;isNaN(x)&&(x=.2);var b=new go.Geometry,z=new go.PathFigure(0,0,!0);return b.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,x*E)),z.add(new go.PathSegment(go.PathSegment.Line,(.5+x/2)*a,x*E)),z.add(new go.PathSegment(go.PathSegment.Line,(.5+x/2)*a,(1-x)*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,(1-x)*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,(1-x)*E)),z.add(new go.PathSegment(go.PathSegment.Line,(.5-x/2)*a,(1-x)*E)),z.add(new go.PathSegment(go.PathSegment.Line,(.5-x/2)*a,x*E)),z.add(new go.PathSegment(go.PathSegment.Line,0,x*E).close()),b}),go.Shape.setFigureParameter("RoundedIBeam",0,new Oe("Curviness",.5,.05,.65)),go.Shape.defineFigureGenerator("RoundedIBeam",function(oe,a,E){var x=oe?oe.parameter1:NaN;isNaN(x)&&(x=.5);var b=new go.Geometry,z=new go.PathFigure(0,0,!0);return b.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,0)),z.add(new go.PathSegment(go.PathSegment.Bezier,a,E,Math.abs(1-x)*a,.25*E,Math.abs(1-x)*a,.75*E)),z.add(new go.PathSegment(go.PathSegment.Line,0,E)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,0,x*a,.75*E,x*a,.25*E).close()),b}),go.Shape.defineFigureGenerator("HalfEllipse",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,pe*a,0,a,(.5-pe/2)*E)).add(new go.PathSegment(go.PathSegment.Bezier,0,E,a,(.5+pe/2)*E,pe*a,E).close())).setSpots(0,.156,.844,.844)}),go.Shape.defineFigureGenerator("Crescent",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,E,a,0,a,E)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.5*a,.75*E,.5*a,.25*E).close())).setSpots(.311,.266,.744,.744)}),go.Shape.defineFigureGenerator("Heart",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(.5*a,E,!0).add(new go.PathSegment(go.PathSegment.Bezier,0,.3*E,.1*a,.8*E,0,.5*E)).add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.3*E,0,0,.45*a,0)).add(new go.PathSegment(go.PathSegment.Bezier,a,.3*E,.55*a,0,a,0)).add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,.5*E,.9*a,.8*E).close())).setSpots(.14,.29,.86,.78)}),go.Shape.defineFigureGenerator("Spade",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(.5*a,0,!0).add(new go.PathSegment(go.PathSegment.Line,.51*a,.01*E)).add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,.6*a,.2*E,a,.25*E)).add(new go.PathSegment(go.PathSegment.Bezier,.55*a,.7*E,a,.8*E,.6*a,.8*E)).add(new go.PathSegment(go.PathSegment.Bezier,.75*a,E,.5*a,.75*E,.55*a,.95*E)).add(new go.PathSegment(go.PathSegment.Line,.25*a,E)).add(new go.PathSegment(go.PathSegment.Bezier,.45*a,.7*E,.45*a,.95*E,.5*a,.75*E)).add(new go.PathSegment(go.PathSegment.Bezier,0,.5*E,.4*a,.8*E,0,.8*E)).add(new go.PathSegment(go.PathSegment.Bezier,.49*a,.01*E,0,.25*E,.4*a,.2*E).close())).setSpots(.14,.26,.86,.78)}),go.Shape.defineFigureGenerator("Club",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.4*a,.6*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,.15*a,E,.5*a,.75*E,.45*a,.95*E)),b.add(new go.PathSegment(go.PathSegment.Line,.85*a,E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.6*a,.6*E,.55*a,.95*E,.5*a,.75*E));var z=.2,ee=.3,ne=0,ae=z*pe;return b.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ee)*a,(.5+z+ne)*E,(.5-z+ee)*a,(.5+ae+ne)*E,(.5-ae+ee)*a,(.5+z+ne)*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+z+ee)*a,(.5+ne)*E,(.5+ae+ee)*a,(.5+z+ne)*E,(.5+z+ee)*a,(.5+ae+ne)*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ee)*a,(.5-z+ne)*E,(1-.5+z+ee)*a,(.5-ae+ne)*E,(.5+ae+ee)*a,(.5-z+ne)*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.65*a,.36771243*E,(.5-ae+ee)*a,(.5-z+ne)*E,(.5-z+ee+.05)*a,(.5-ae+ne-.02)*E)),z=.2,ee=0,ne=-.3,ae=z*pe,b.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+z+ee)*a,(.5+ne)*E,(.5+ae+ee)*a,(.5+z+ne)*E,(.5+z+ee)*a,(.5+ae+ne)*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ee)*a,(.5-z+ne)*E,(1-.5+z+ee)*a,(.5-ae+ne)*E,(.5+ae+ee)*a,(.5-z+ne)*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,(.5-z+ee)*a,(.5+ne)*E,(.5-ae+ee)*a,(.5-z+ne)*E,(.5-z+ee)*a,(.5-ae+ne)*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,(.5-ae+ee)*a,(.5+z+ne)*E,(.5-z+ee)*a,(.5+ae+ne)*E,(.5-ae+ee)*a,(.5+z+ne)*E)),z=.2,ee=-.3,ne=0,ae=z*pe,b.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ee)*a,(.5-z+ne)*E,(1-.5+z+ee-.05)*a,(.5-ae+ne-.02)*E,(.5+ae+ee)*a,(.5-z+ne)*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,(.5-z+ee)*a,(.5+ne)*E,(.5-ae+ee)*a,(.5-z+ne)*E,(.5-z+ee)*a,(.5-ae+ne)*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,(.5+ee)*a,(.5+z+ne)*E,(.5-z+ee)*a,(.5+ae+ne)*E,(.5-ae+ee)*a,(.5+z+ne)*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.4*a,.6*E,(.5+ae+ee)*a,(.5+z+ne)*E,(.5+z+ee)*a,(.5+ae+ne)*E).close()),x.setSpots(.06,.33,.93,.68),x}),go.Shape.defineFigureGenerator("YinYang",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(a*.5,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Arc,270,180,a*.5,a*.5,a*.5,a*.5)),b.add(new go.PathSegment(go.PathSegment.Arc,90,-180,a*.5,a*.75,a*.25,a*.25)),b.add(new go.PathSegment(go.PathSegment.Arc,90,180,a*.5,a*.25,a*.25,a*.25));var z=.1,ee=.5,ne=.25;return b.add(new go.PathSegment(go.PathSegment.Move,(ee+z)*a,ne*E)),b.add(new go.PathSegment(go.PathSegment.Arc,0,-360,a*ee,E*ne,z*a,z*a).close()),b=new go.PathFigure(a*.5,0,!1),x.add(b),b.add(new go.PathSegment(go.PathSegment.Arc,270,-180,a*.5,a*.5,a*.5,a*.5)),ne=.75,b=new go.PathFigure((ee+z)*a,ne*E,!0),x.add(b),b.add(new go.PathSegment(go.PathSegment.Arc,0,360,a*ee,E*ne,z*a,z*a).close()),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("Peace",function(oe,a,E){var x=.8535533905932737,b=.5*a,z=.5*E;return new go.Geometry().add(new go.PathFigure(b,0,!1).add(new go.PathSegment(go.PathSegment.Arc,270,360,b,z,b,z)).add(new go.PathSegment(go.PathSegment.Line,b,E)).add(new go.PathSegment(go.PathSegment.Move,b,z)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,x*E)).add(new go.PathSegment(go.PathSegment.Move,b,z)).add(new go.PathSegment(go.PathSegment.Line,x*a,x*E)))}),go.Shape.defineFigureGenerator("NotAllowed",function(oe,a,E){var x=new go.Geometry,b=pe*.5,z=.5,ee=.5,ne=.5,ae=new go.PathFigure(ee*a,(ne-z)*E);x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Bezier,(ee-z)*a,ne*E,(ee-b)*a,(ne-z)*E,(ee-z)*a,(ne-b)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne+z)*E,(ee-z)*a,(ne+b)*E,(ee-b)*a,(ne+z)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*a,ne*E,(ee+b)*a,(ne+z)*E,(ee+z)*a,(ne+b)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne-z)*E,(ee+z)*a,(ne-b)*E,(ee+b)*a,(ne-z)*E)),z=.4,b=pe*.4;var re=y(),le=y(),ce=y(),Pe=y();ge(ee,ne-z,ee+b,ne-z,ee+z,ne-b,ee+z,ne,.42,re,le,ce,Pe,Pe);var de=y(),Ee=y(),Fe=y();ge(ee,ne-z,ee+b,ne-z,ee+z,ne-b,ee+z,ne,.58,Pe,Pe,Fe,de,Ee);var he=y(),rt=y(),Ue=y();ge(ee,ne+z,ee-b,ne+z,ee-z,ne+b,ee-z,ne,.42,he,rt,Ue,Pe,Pe);var Ne=y(),ut=y(),Ze=y();return ge(ee,ne+z,ee-b,ne+z,ee-z,ne+b,ee-z,ne,.58,Pe,Pe,Ze,Ne,ut),ae.add(new go.PathSegment(go.PathSegment.Move,Ze.x*a,Ze.y*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(ee-z)*a,ne*E,Ne.x*a,Ne.y*E,ut.x*a,ut.y*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne-z)*E,(ee-z)*a,(ne-b)*E,(ee-b)*a,(ne-z)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,ce.x*a,ce.y*E,re.x*a,re.y*E,le.x*a,le.y*E)),ae.add(new go.PathSegment(go.PathSegment.Line,Ze.x*a,Ze.y*E).close()),ae.add(new go.PathSegment(go.PathSegment.Move,Ue.x*a,Ue.y*E)),ae.add(new go.PathSegment(go.PathSegment.Line,Fe.x*a,Fe.y*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*a,ne*E,de.x*a,de.y*E,Ee.x*a,Ee.y*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne+z)*E,(ee+z)*a,(ne+b)*E,(ee+b)*a,(ne+z)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,Ue.x*a,Ue.y*E,he.x*a,he.y*E,rt.x*a,rt.y*E).close()),ie(re),ie(le),ie(ce),ie(Pe),ie(de),ie(Ee),ie(Fe),ie(he),ie(rt),ie(Ue),ie(Ne),ie(ut),ie(Ze),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("Fragile",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.25*a,0)).add(new go.PathSegment(go.PathSegment.Line,.2*a,.15*E)).add(new go.PathSegment(go.PathSegment.Line,.3*a,.25*E)).add(new go.PathSegment(go.PathSegment.Line,.29*a,.33*E)).add(new go.PathSegment(go.PathSegment.Line,.35*a,.25*E)).add(new go.PathSegment(go.PathSegment.Line,.3*a,.15*E)).add(new go.PathSegment(go.PathSegment.Line,.4*a,0)).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Bezier,.55*a,.5*E,a,.25*E,.75*a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,.55*a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.7*a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.7*a,E)).add(new go.PathSegment(go.PathSegment.Line,.3*a,E)).add(new go.PathSegment(go.PathSegment.Line,.3*a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.45*a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.45*a,.5*E)).add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*a,.5*E,0,.25*E).close()))}),go.Shape.setFigureParameter("HourGlass",0,new Oe("Thickness",30)),go.Shape.defineFigureGenerator("HourGlass",function(oe,a,E){var x=oe?oe.parameter1:NaN;(isNaN(x)||x<0)&&(x=30),x>a&&(x=a);var b=(a-x)/2,z=b+x;return new go.Geometry().add(new go.PathFigure(z,.5*E).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E)).add(new go.PathSegment(go.PathSegment.Line,b,.5*E)).add(new go.PathSegment(go.PathSegment.Line,0,0)).add(new go.PathSegment(go.PathSegment.Line,a,0).close()))}),go.Shape.defineFigureGenerator("Lightning",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,.55*E).add(new go.PathSegment(go.PathSegment.Line,.6*a,0)).add(new go.PathSegment(go.PathSegment.Line,.3*a,.45*E)).add(new go.PathSegment(go.PathSegment.Line,a,.45*E)).add(new go.PathSegment(go.PathSegment.Line,.4*a,E)).add(new go.PathSegment(go.PathSegment.Line,.7*a,.55*E).close()))}),go.Shape.defineFigureGenerator("GenderMale",function(oe,a,E){var x=new go.Geometry,b=pe*.4,z=.4,ee=.5,ne=.5,ae=y(),re=y(),le=y(),ce=y(),Pe=new go.PathFigure((ee-z)*a,ne*E,!1);x.add(Pe),Pe.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne-z)*E,(ee-z)*a,(ne-b)*E,(ee-b)*a,(ne-z)*E)),ge(ee,ne-z,ee+b,ne-z,ee+z,ne-b,ee+z,ne,.44,le,ce,re,ae,ae),Pe.add(new go.PathSegment(go.PathSegment.Bezier,re.x*a,re.y*E,le.x*a,le.y*E,ce.x*a,ce.y*E));var de=te(re.x,re.y);ge(ee,ne-z,ee+b,ne-z,ee+z,ne-b,ee+z,ne,.56,ae,ae,re,le,ce);var Ee=te(re.x,re.y);Pe.add(new go.PathSegment(go.PathSegment.Line,(de.x*.1+.95*.9)*a,de.y*.1*E)),Pe.add(new go.PathSegment(go.PathSegment.Line,.85*a,de.y*.1*E)),Pe.add(new go.PathSegment(go.PathSegment.Line,.85*a,0)),Pe.add(new go.PathSegment(go.PathSegment.Line,a,0)),Pe.add(new go.PathSegment(go.PathSegment.Line,a,.15*E)),Pe.add(new go.PathSegment(go.PathSegment.Line,(Ee.x*.1+.9)*a,.15*E)),Pe.add(new go.PathSegment(go.PathSegment.Line,(Ee.x*.1+.9)*a,(Ee.y*.1+.05*.9)*E)),Pe.add(new go.PathSegment(go.PathSegment.Line,Ee.x*a,Ee.y*E)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*a,ne*E,le.x*a,le.y*E,ce.x*a,ce.y*E)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne+z)*E,(ee+z)*a,(ne+b)*E,(ee+b)*a,(ne+z)*E)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(ee-z)*a,ne*E,(ee-b)*a,(ne+z)*E,(ee-z)*a,(ne+b)*E)),z=.35,b=pe*.35;var Fe=new go.PathFigure(ee*a,(ne-z)*E,!1);x.add(Fe),Fe.add(new go.PathSegment(go.PathSegment.Bezier,(ee-z)*a,ne*E,(ee-b)*a,(ne-z)*E,(ee-z)*a,(ne-b)*E)),Fe.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne+z)*E,(ee-z)*a,(ne+b)*E,(ee-b)*a,(ne+z)*E)),Fe.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*a,ne*E,(ee+b)*a,(ne+z)*E,(ee+z)*a,(ne+b)*E)),Fe.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne-z)*E,(ee+z)*a,(ne-b)*E,(ee+b)*a,(ne-z)*E));var he=new go.PathFigure((ee-z)*a,ne*E,!1);return x.add(he),ie(ae),ie(re),ie(le),ie(ce),ie(de),ie(Ee),x.spot1=new go.Spot(.202,.257),x.spot2=new go.Spot(.792,.739),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("GenderFemale",function(oe,a,E){var x=new go.Geometry,b=.375,z=0,ee=-.125,ne=b*pe,ae=new go.PathFigure((.525+z)*a,(.5+b+ee)*E,!1);x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+b+z)*a,(.5+ee)*E,(.5+ne+z)*a,(.5+b+ee)*E,(.5+b+z)*a,(.5+ne+ee)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5+z)*a,(.5-b+ee)*E,(1-.5+b+z)*a,(.5-ne+ee)*E,(.5+ne+z)*a,(.5-b+ee)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5-b+z)*a,(.5+ee)*E,(.5-ne+z)*a,(.5-b+ee)*E,(.5-b+z)*a,(.5-ne+ee)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(.475+z)*a,(.5+b+ee)*E,(.5-b+z)*a,(.5+ne+ee)*E,(.5-ne+z)*a,(.5+b+ee)*E)),ae.add(new go.PathSegment(go.PathSegment.Line,.475*a,.85*E)),ae.add(new go.PathSegment(go.PathSegment.Line,.425*a,.85*E)),ae.add(new go.PathSegment(go.PathSegment.Line,.425*a,.9*E)),ae.add(new go.PathSegment(go.PathSegment.Line,.475*a,.9*E)),ae.add(new go.PathSegment(go.PathSegment.Line,.475*a,E)),ae.add(new go.PathSegment(go.PathSegment.Line,.525*a,E)),ae.add(new go.PathSegment(go.PathSegment.Line,.525*a,.9*E)),ae.add(new go.PathSegment(go.PathSegment.Line,.575*a,.9*E)),ae.add(new go.PathSegment(go.PathSegment.Line,.575*a,.85*E)),ae.add(new go.PathSegment(go.PathSegment.Line,.525*a,.85*E).close()),b=.325,z=0,ee=-.125,ne=b*pe;var ae=new go.PathFigure((1-.5+b+z)*a,(.5+ee)*E,!1);x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5+z)*a,(.5+b+ee)*E,(.5+b+z)*a,(.5+ne+ee)*E,(.5+ne+z)*a,(.5+b+ee)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5-b+z)*a,(.5+ee)*E,(.5-ne+z)*a,(.5+b+ee)*E,(.5-b+z)*a,(.5+ne+ee)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(.5+z)*a,(.5-b+ee)*E,(.5-b+z)*a,(.5-ne+ee)*E,(.5-ne+z)*a,(.5-b+ee)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(1-.5+b+z)*a,(.5+ee)*E,(.5+ne+z)*a,(.5-b+ee)*E,(1-.5+b+z)*a,(.5-ne+ee)*E));var ae=new go.PathFigure((.525+z)*a,(.5+b+ee)*E,!1);return x.add(ae),x.spot1=new go.Spot(.232,.136),x.spot2=new go.Spot(.682,.611),x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("LogicImplies",function(oe,a,E){var x=oe?oe.parameter1:NaN;return isNaN(x)&&(x=.2),new go.Geometry().add(new go.PathFigure((1-x)*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,E)).add(new go.PathSegment(go.PathSegment.Move,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,a,.5*E))).setSpots(0,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicIff",function(oe,a,E){var x=oe?oe.parameter1:NaN;return isNaN(x)&&(x=.2),new go.Geometry().add(new go.PathFigure((1-x)*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,(1-x)*a,E)).add(new go.PathSegment(go.PathSegment.Move,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Move,x*a,0)).add(new go.PathSegment(go.PathSegment.Line,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,x*a,E))).setSpots(.2,0,.8,.5)}),go.Shape.defineFigureGenerator("LogicNot",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)))}),go.Shape.defineFigureGenerator("LogicAnd",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,E,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,0)).add(new go.PathSegment(go.PathSegment.Line,a,E))).setSpots(.25,.5,.75,1)}),go.Shape.defineFigureGenerator("LogicOr",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,E)).add(new go.PathSegment(go.PathSegment.Line,a,0))).setSpots(.219,0,.78,.409)}),go.Shape.defineFigureGenerator("LogicXor",function(oe,a,E){var x=new go.Geometry().add(new go.PathFigure(.5*a,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,E)).add(new go.PathSegment(go.PathSegment.Move,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Arc,0,360,.5*a,.5*E,.5*a,.5*E)));return x.defaultStretch=go.GraphObject.Uniform,x}),go.Shape.defineFigureGenerator("LogicTruth",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Move,.5*a,0)).add(new go.PathSegment(go.PathSegment.Line,.5*a,E)))}),go.Shape.defineFigureGenerator("LogicFalsity",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,E,!1).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Move,.5*a,E)).add(new go.PathSegment(go.PathSegment.Line,.5*a,0)))}),go.Shape.defineFigureGenerator("LogicThereExists",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,0,.5*E)).add(new go.PathSegment(go.PathSegment.Move,a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E)))}),go.Shape.defineFigureGenerator("LogicForAll",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,.5*a,E)).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Move,.25*a,.5*E)).add(new go.PathSegment(go.PathSegment.Line,.75*a,.5*E))).setSpots(.25,0,.75,.5)}),go.Shape.defineFigureGenerator("LogicIsDefinedAs",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Move,0,.5*E)).add(new go.PathSegment(go.PathSegment.Line,a,.5*E)).add(new go.PathSegment(go.PathSegment.Move,0,E)).add(new go.PathSegment(go.PathSegment.Line,a,E))).setSpots(.01,.01,.99,.49)}),go.Shape.defineFigureGenerator("LogicIntersect",function(oe,a,E){var x=.5;return new go.Geometry().add(new go.PathFigure(0,E,!1).add(new go.PathSegment(go.PathSegment.Line,0,x*E)).add(new go.PathSegment(go.PathSegment.Arc,180,180,x*a,x*E,x*a,x*E)).add(new go.PathSegment(go.PathSegment.Line,a,E))).setSpots(0,.5,1,1)}),go.Shape.defineFigureGenerator("LogicUnion",function(oe,a,E){var x=.5;return new go.Geometry().add(new go.PathFigure(a,0,!1).add(new go.PathSegment(go.PathSegment.Line,a,x*E)).add(new go.PathSegment(go.PathSegment.Arc,0,180,x*a,x*E,x*a,x*E)).add(new go.PathSegment(go.PathSegment.Line,0,0))).setSpots(0,0,1,.5)}),go.Shape.setFigureParameter("Arrow",0,new Oe("ArrowheadWidth",.3,.01,.99)),go.Shape.setFigureParameter("Arrow",1,new Oe("TailHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("Arrow",function(oe,a,E){var x=oe?oe.parameter1:NaN;isNaN(x)&&(x=.3);var b=oe?oe.parameter2:NaN;isNaN(b)&&(b=.3);var z=(1-x)*a,ee=(.5-b/2)*E,ne=(.5+b/2)*E,ae=new go.Geometry,re=new go.PathFigure(0,ee,!0);ae.add(re),re.add(new go.PathSegment(go.PathSegment.Line,z,ee)),re.add(new go.PathSegment(go.PathSegment.Line,z,0)),re.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),re.add(new go.PathSegment(go.PathSegment.Line,z,E)),re.add(new go.PathSegment(go.PathSegment.Line,z,ne)),re.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),ae.spot1=new go.Spot(0,ee/E);var le=Ce(0,ne/E,1,ne/E,z/a,1,1,.5,y());return ae.spot2=new go.Spot(le.x,le.y),ie(le),ae}),go.Shape.setFigureParameter("Arrow2",0,new Oe("ArrowheadWidth",30)),go.Shape.setFigureParameter("Arrow2",0,new Oe("TailHeight",30)),go.Shape.defineFigureGenerator("Arrow2",function(oe,a,E){var x=oe?oe.parameter1:NaN;isNaN(x)&&(x=30),x>a&&(x=a);var b=oe?oe.parameter2:NaN;isNaN(b)&&(b=30),b=Math.min(b,E/2);var z=a-x,ee=(E-b)/2,ne=ee+b,ae=new go.Geometry,re=new go.PathFigure(0,ee,!0);ae.add(re),re.add(new go.PathSegment(go.PathSegment.Line,z,ee)),re.add(new go.PathSegment(go.PathSegment.Line,z,0)),re.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),re.add(new go.PathSegment(go.PathSegment.Line,z,E)),re.add(new go.PathSegment(go.PathSegment.Line,z,ne)),re.add(new go.PathSegment(go.PathSegment.Line,0,ne).close()),ae.spot1=new go.Spot(0,ee/E);var le=Ce(0,ne/E,1,ne/E,z/a,1,1,.5,y());return ae.spot2=new go.Spot(le.x,le.y),ie(le),ae}),go.Shape.defineFigureGenerator("Chevron",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E).close()),x}),go.Shape.defineFigureGenerator("DoubleArrow",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.3*a,.214*E)),b.add(new go.PathSegment(go.PathSegment.Line,.3*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,1*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.3*a,1*E)),b.add(new go.PathSegment(go.PathSegment.Line,.3*a,.786*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,1*E).close()),x}),go.Shape.setFigureParameter("DoubleEndArrow",0,new Oe("ConnecterHeight",.3,.01,.99)),go.Shape.defineFigureGenerator("DoubleEndArrow",function(oe,a,E){var x=oe?oe.parameter1:NaN;isNaN(x)&&(x=.3);var b=(.5-x/2)*E,z=(.5+x/2)*E,ee=new go.Geometry,ne=new go.PathFigure(a,.5*E,!0);ee.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.7*a,E)),ne.add(new go.PathSegment(go.PathSegment.Line,.7*a,z)),ne.add(new go.PathSegment(go.PathSegment.Line,.3*a,z)),ne.add(new go.PathSegment(go.PathSegment.Line,.3*a,E)),ne.add(new go.PathSegment(go.PathSegment.Line,0,.5*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.3*a,0)),ne.add(new go.PathSegment(go.PathSegment.Line,.3*a,b)),ne.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),ne.add(new go.PathSegment(go.PathSegment.Line,.7*a,0).close());var ae=Ce(0,.5,.3,0,0,b/E,.1,b/E,y());return ee.spot1=new go.Spot(ae.x,ae.y),ae=Ce(.7,1,1,.5,0,z/E,1,z/E,ae),ee.spot2=new go.Spot(ae.x,ae.y),ie(ae),ee}),go.Shape.setFigureParameter("DoubleEndArrow2",0,new Oe("ConnecterHeight",40)),go.Shape.setFigureParameter("DoubleEndArrow2",1,new Oe("ArrowHeight",100)),go.Shape.defineFigureGenerator("DoubleEndArrow2",function(oe,a,E){var x=oe?oe.parameter1:NaN;isNaN(x)&&(x=40);var b=oe?oe.parameter2:NaN;isNaN(b)&&(b=100);var z=(E-x)/2,ee=z+x,ne=(E-b)/2,ae=ne+b;(x>E||b>E)&&(b>x?(x=x*E/b,z=(E-x)/2,ee=z+x,ne=0,ae=E):(z=0,ee=E,ne=0,ae=E));var re=new go.Geometry,le=new go.PathFigure(a,.5*E,!0);re.add(le),le.add(new go.PathSegment(go.PathSegment.Line,.7*a,ae)),le.add(new go.PathSegment(go.PathSegment.Line,.7*a,ee)),le.add(new go.PathSegment(go.PathSegment.Line,.3*a,ee)),le.add(new go.PathSegment(go.PathSegment.Line,.3*a,ae)),le.add(new go.PathSegment(go.PathSegment.Line,0,.5*E)),le.add(new go.PathSegment(go.PathSegment.Line,.3*a,ne)),le.add(new go.PathSegment(go.PathSegment.Line,.3*a,z)),le.add(new go.PathSegment(go.PathSegment.Line,.7*a,z)),le.add(new go.PathSegment(go.PathSegment.Line,.7*a,ne).close());var ce=Ce(0,.5,.3,ne/E,0,z/E,1,z/E,y());return re.spot1=new go.Spot(ce.x,ce.y),ce=Ce(.7,ae/E,1,.5,0,ee/E,1,ee/E,ce),re.spot2=new go.Spot(ce.x,ce.y),ie(ce),re}),go.Shape.setFigureParameter("IBeamArrow",0,new Oe("ConnectorHeight",.7,.51,.97)),go.Shape.defineFigureGenerator("IBeamArrow",function(oe,a,E){var x=oe?oe.parameter1:NaN;isNaN(x)&&(x=.3);var b=(.5-x/2)*E,z=(.5+x/2)*E,ee=new go.Geometry,ne=new go.PathFigure(a,.5*E,!0);ee.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.7*a,E)),ne.add(new go.PathSegment(go.PathSegment.Line,.7*a,z)),ne.add(new go.PathSegment(go.PathSegment.Line,.2*a,z)),ne.add(new go.PathSegment(go.PathSegment.Line,.2*a,E)),ne.add(new go.PathSegment(go.PathSegment.Line,0,E)),ne.add(new go.PathSegment(go.PathSegment.Line,0,0)),ne.add(new go.PathSegment(go.PathSegment.Line,.2*a,0)),ne.add(new go.PathSegment(go.PathSegment.Line,.2*a,b)),ne.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),ne.add(new go.PathSegment(go.PathSegment.Line,.7*a,0).close()),ee.spot1=new go.Spot(0,b/E);var ae=Ce(.7,1,1,.5,0,z/E,1,z/E,y());return ee.spot2=new go.Spot(ae.x,ae.y),ie(ae),ee}),go.Shape.setFigureParameter("IBeamArrow2",0,new Oe("ConnectorHeight",40)),go.Shape.setFigureParameter("IBeamArrow2",1,new Oe("BeamArrowHeight",100)),go.Shape.defineFigureGenerator("IBeamArrow2",function(oe,a,E){var x=oe?oe.parameter1:NaN;isNaN(x)&&(x=40);var b=oe?oe.parameter2:NaN;isNaN(b)&&(b=100);var z=(E-x)/2,ee=z+x,ne=(E-b)/2,ae=ne+b;(x>E||b>E)&&(b>x?(x=x*E/b,z=(E-x)/2,ee=z+x,ne=0,ae=E):(z=0,ee=E,ne=0,ae=E));var re=new go.Geometry,le=new go.PathFigure(a,.5*E,!0);re.add(le),le.add(new go.PathSegment(go.PathSegment.Line,.7*a,ae)),le.add(new go.PathSegment(go.PathSegment.Line,.7*a,ee)),le.add(new go.PathSegment(go.PathSegment.Line,.2*a,ee)),le.add(new go.PathSegment(go.PathSegment.Line,.2*a,ae)),le.add(new go.PathSegment(go.PathSegment.Line,0,ae)),le.add(new go.PathSegment(go.PathSegment.Line,0,ne)),le.add(new go.PathSegment(go.PathSegment.Line,.2*a,ne)),le.add(new go.PathSegment(go.PathSegment.Line,.2*a,z)),le.add(new go.PathSegment(go.PathSegment.Line,.7*a,z)),le.add(new go.PathSegment(go.PathSegment.Line,.7*a,ne).close()),re.spot1=new go.Spot(0,z/E);var ce=Ce(.7,ae/E,1,.5,0,ee/E,1,ee/E,y());return re.spot2=new go.Spot(ce.x,ce.y),ie(ce),re}),go.Shape.setFigureParameter("Pointer",0,new Oe("BackPoint",.1,0,.2)),go.Shape.defineFigureGenerator("Pointer",function(oe,a,E){var x=oe?oe.parameter1:NaN;isNaN(x)&&(x=.1);var b=new go.Geometry,z=new go.PathFigure(a,.5*E,!0);b.add(z),z.add(new go.PathSegment(go.PathSegment.Line,0,E)),z.add(new go.PathSegment(go.PathSegment.Line,x*a,.5*E)),z.add(new go.PathSegment(go.PathSegment.Line,0,0).close()),b.spot1=new go.Spot(x,.35);var ee=Ce(.2,.65,1,.65,0,1,1,.5,y());return b.spot2=new go.Spot(ee.x,ee.y),ie(ee),b}),go.Shape.setFigureParameter("RoundedPointer",0,new Oe("RoundedEdge",.3,0,.5)),go.Shape.defineFigureGenerator("RoundedPointer",function(oe,a,E){var x=oe?oe.parameter1:NaN;isNaN(x)&&(x=.3);var b=new go.Geometry,z=new go.PathFigure(a,.5*E,!0);b.add(z),z.add(new go.PathSegment(go.PathSegment.Line,0,E)),z.add(new go.PathSegment(go.PathSegment.Bezier,0,0,x*a,.75*E,x*a,.25*E).close()),b.spot1=new go.Spot(x,.35);var ee=Ce(0,.65,1,.65,0,1,1,.5,y());return b.spot2=new go.Spot(ee.x,ee.y),ie(ee),b}),go.Shape.setFigureParameter("SplitEndArrow",0,new Oe("TailHeight",.4,.01,.99)),go.Shape.defineFigureGenerator("SplitEndArrow",function(oe,a,E){var x=oe?oe.parameter1:NaN;isNaN(x)&&(x=.4);var b=(.5-x/2)*E,z=(.5+x/2)*E,ee=new go.Geometry,ne=new go.PathFigure(a,.5*E,!0);ee.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.7*a,E)),ne.add(new go.PathSegment(go.PathSegment.Line,.7*a,z)),ne.add(new go.PathSegment(go.PathSegment.Line,0,z)),ne.add(new go.PathSegment(go.PathSegment.Line,.2*a,.5*E)),ne.add(new go.PathSegment(go.PathSegment.Line,0,b)),ne.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),ne.add(new go.PathSegment(go.PathSegment.Line,.7*a,0).close()),ee.spot1=new go.Spot(.2,.3);var ae=Ce(.7,1,1,.5,0,z/E,1,z/E,y());return ee.spot2=new go.Spot(ae.x,ae.y),ie(ae),ee}),go.Shape.setFigureParameter("SplitEndArrow2",0,new Oe("TailThickness",50)),go.Shape.defineFigureGenerator("SplitEndArrow2",function(oe,a,E){var x=oe?oe.parameter1:NaN;isNaN(x)&&(x=50);var b=(E-x)/2,z=b+x;x>E&&(b=0,z=E);var ee=new go.Geometry,ne=new go.PathFigure(a,.5*E,!0);ee.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.7*a,E)),ne.add(new go.PathSegment(go.PathSegment.Line,.7*a,z)),ne.add(new go.PathSegment(go.PathSegment.Line,0,z)),ne.add(new go.PathSegment(go.PathSegment.Line,.2*a,.5*E)),ne.add(new go.PathSegment(go.PathSegment.Line,0,b)),ne.add(new go.PathSegment(go.PathSegment.Line,.7*a,b)),ne.add(new go.PathSegment(go.PathSegment.Line,.7*a,0).close()),ee.spot1=new go.Spot(.2,b/E);var ae=Ce(.7,1,1,.5,0,z/E,1,z/E,y());return ee.spot2=new go.Spot(ae.x,ae.y),ie(ae),ee}),go.Shape.setFigureParameter("SquareArrow",0,new Oe("ArrowPoint",.7,.2,.9)),go.Shape.defineFigureGenerator("SquareArrow",function(oe,a,E){var x=oe?oe.parameter1:NaN;isNaN(x)&&(x=.7);var b=new go.Geometry,z=new go.PathFigure(a,.5*E,!0);return b.add(z),z.add(new go.PathSegment(go.PathSegment.Line,x*a,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,0)),z.add(new go.PathSegment(go.PathSegment.Line,x*a,0).close()),b.spot1=go.Spot.TopLeft,b.spot2=new go.Spot(x,1),b}),go.Shape.defineFigureGenerator("Cone1",function(oe,a,E){var x=new go.Geometry,b=pe*.5,z=pe*.1,ee=new go.PathFigure(0,.9*E,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),ee.add(new go.PathSegment(go.PathSegment.Line,a,.9*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,(.9+z)*E,(.5+b)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*E,(.5-b)*a,E,0,(.9+z)*E).close()),x.spot1=new go.Spot(.25,.5),x.spot2=new go.Spot(.75,.97),x}),go.Shape.defineFigureGenerator("Cone2",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,.9*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,a,.9*E,(1-.85/.9)*a,E,.85/.9*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,0,.9*E).close());var z=new go.PathFigure(0,.9*E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Bezier,a,.9*E,(1-.85/.9)*a,.8*E,.85/.9*a,.8*E)),x.spot1=new go.Spot(.25,.5),x.spot2=new go.Spot(.75,.82),x}),go.Shape.defineFigureGenerator("Cube1",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.5*a,E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.85*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.15*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,0,.15*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.85*E).close());var z=new go.PathFigure(.5*a,E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,.3*E)),z.add(new go.PathSegment(go.PathSegment.Line,0,.15*E)),z.add(new go.PathSegment(go.PathSegment.Move,.5*a,.3*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,.15*E)),x.spot1=new go.Spot(0,.3),x.spot2=new go.Spot(.5,.85),x}),go.Shape.defineFigureGenerator("Cube2",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,.3*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,.7*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.7*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.3*a,0).close());var z=new go.PathFigure(0,.3*E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.7*a,.3*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,0)),z.add(new go.PathSegment(go.PathSegment.Move,.7*a,.3*E)),z.add(new go.PathSegment(go.PathSegment.Line,.7*a,E)),x.spot1=new go.Spot(0,.3),x.spot2=new go.Spot(.7,1),x}),go.Shape.defineFigureGenerator("Cylinder1",function(oe,a,E){var x=oe?oe.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,E/3);var b=new go.Geometry,z=pe*.5,ee=new go.PathFigure(0,x,!0);b.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,pe*x,(.5-z)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,1*a,x,(.5+z)*a,0,1*a,pe*x)),ee.add(new go.PathSegment(go.PathSegment.Line,a,E-x)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,1*E,1*a,E-pe*x,(.5+z)*a,1*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,E-x,(.5-z)*a,1*E,0,E-pe*x)),ee.add(new go.PathSegment(go.PathSegment.Line,0,x));var ne=new go.PathFigure(a,x,!1);return b.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,2*x,1*a,2*x-pe*x,(.5+z)*a,2*x)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,x,(.5-z)*a,2*x,0,2*x-pe*x)),b.spot1=new go.Spot(0,0,0,2*x),b.spot2=new go.Spot(1,1),b}),go.Shape.defineFigureGenerator("Cylinder2",function(oe,a,E){var x=oe?oe.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,E/3);var b=new go.Geometry,z=pe*.5,ee=new go.PathFigure(0,E-x,!0);b.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,0,x)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,pe*x,(.5-z)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,x,(.5+z)*a,0,a,pe*x)),ee.add(new go.PathSegment(go.PathSegment.Line,a,E-x)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,E-pe*x,(.5+z)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,E-x,(.5-z)*a,E,0,E-pe*x));var ne=new go.PathFigure(0,E-x,!1);return b.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E-2*x,0,E-x-pe*x,(.5-z)*a,E-2*x)),ne.add(new go.PathSegment(go.PathSegment.Bezier,a,E-x,(.5+z)*a,E-2*x,a,E-x-pe*x)),b.spot1=new go.Spot(0,0),b.spot2=new go.Spot(1,1,0,-2*x),b}),go.Shape.defineFigureGenerator("Cylinder3",function(oe,a,E){var x=oe?oe.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,a/3);var b=new go.Geometry,z=pe*.5,ee=new go.PathFigure(x,0,!0);b.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a-x,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,a-pe*x,0,a,(.5-z)*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a-x,E,a,(.5+z)*E,a-pe*x,E)),ee.add(new go.PathSegment(go.PathSegment.Line,x,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*E,pe*x,E,0,(.5+z)*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,(.5-z)*E,pe*x,0));var ne=new go.PathFigure(x,0,!1);return b.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,2*x,.5*E,x+pe*x,0,2*x,(.5-z)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,x,E,2*x,(.5+z)*E,x+pe*x,E)),b.spot1=new go.Spot(0,0,2*x,0),b.spot2=new go.Spot(1,1),b}),go.Shape.defineFigureGenerator("Cylinder4",function(oe,a,E){var x=oe?oe.parameter1:NaN;isNaN(x)&&(x=5),x=Math.min(x,a/3);var b=new go.Geometry,z=pe*.5,ee=new go.PathFigure(a-x,0,!0);b.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,a-pe*x,0,a,(.5-z)*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a-x,E,a,(.5+z)*E,a-pe*x,E)),ee.add(new go.PathSegment(go.PathSegment.Line,x,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*E,pe*x,E,0,(.5+z)*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,(.5-z)*E,pe*x,0)),ee.add(new go.PathSegment(go.PathSegment.Line,a-x,0));var ne=new go.PathFigure(a-x,0,!1);return b.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,a-2*x,.5*E,a-x-pe*x,0,a-2*x,(.5-z)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,a-x,E,a-2*x,(.5+z)*E,a-x-pe*x,E)),b.spot1=new go.Spot(0,0),b.spot2=new go.Spot(1,1,-2*x,0),b}),go.Shape.defineFigureGenerator("Prism1",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.25*a,.25*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var z=new go.PathFigure(.25*a,.25*E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),x.spot1=new go.Spot(.408,.172),x.spot2=new go.Spot(.833,.662),x}),go.Shape.defineFigureGenerator("Prism2",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,.25*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.25*E)),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,.75*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var z=new go.PathFigure(0,E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.25*a,.5*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,.25*E)),z.add(new go.PathSegment(go.PathSegment.Move,0,.25*E)),z.add(new go.PathSegment(go.PathSegment.Line,.25*a,.5*E)),x.spot1=new go.Spot(.25,.5),x.spot2=new go.Spot(.75,.75),x}),go.Shape.defineFigureGenerator("Pyramid1",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.5*a,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.75*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.75*E).close());var z=new go.PathFigure(.5*a,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),x.spot1=new go.Spot(.25,.367),x.spot2=new go.Spot(.75,.875),x}),go.Shape.defineFigureGenerator("Pyramid2",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.5*a,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.85*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.85*E).close());var z=new go.PathFigure(.5*a,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,.7*E)),z.add(new go.PathSegment(go.PathSegment.Line,0,.85*E)),z.add(new go.PathSegment(go.PathSegment.Move,.5*a,.7*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,.85*E)),x.spot1=new go.Spot(.25,.367),x.spot2=new go.Spot(.75,.875),x}),go.Shape.defineFigureGenerator("Actor",function(oe,a,E){var x=new go.Geometry,b=.2,z=.1,ee=pe*b,ne=pe*z,ae=.5,re=.1,le=new go.PathFigure(ae*a,(re+z)*E,!0);x.add(le),le.add(new go.PathSegment(go.PathSegment.Bezier,(ae-b)*a,re*E,(ae-ee)*a,(re+z)*E,(ae-b)*a,(re+ne)*E)),le.add(new go.PathSegment(go.PathSegment.Bezier,ae*a,(re-z)*E,(ae-b)*a,(re-ne)*E,(ae-ee)*a,(re-z)*E)),le.add(new go.PathSegment(go.PathSegment.Bezier,(ae+b)*a,re*E,(ae+ee)*a,(re-z)*E,(ae+b)*a,(re-ne)*E)),le.add(new go.PathSegment(go.PathSegment.Bezier,ae*a,(re+z)*E,(ae+b)*a,(re+ne)*E,(ae+ee)*a,(re+z)*E));var ce=.05,Pe=pe*ce;ae=.05,re=.25;var de=new go.PathFigure(.5*a,.2*E,!0);return x.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.95*a,.2*E)),ae=.95,re=.25,de.add(new go.PathSegment(go.PathSegment.Bezier,(ae+ce)*a,re*E,(ae+Pe)*a,(re-ce)*E,(ae+ce)*a,(re-Pe)*E)),de.add(new go.PathSegment(go.PathSegment.Line,a,.6*E)),de.add(new go.PathSegment(go.PathSegment.Line,.85*a,.6*E)),de.add(new go.PathSegment(go.PathSegment.Line,.85*a,.35*E)),ce=.025,Pe=pe*ce,ae=.825,re=.35,de.add(new go.PathSegment(go.PathSegment.Bezier,ae*a,(re-ce)*E,(ae+ce)*a,(re-Pe)*E,(ae+Pe)*a,(re-ce)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,(ae-ce)*a,re*E,(ae-Pe)*a,(re-ce)*E,(ae-ce)*a,(re-Pe)*E)),de.add(new go.PathSegment(go.PathSegment.Line,.8*a,E)),de.add(new go.PathSegment(go.PathSegment.Line,.55*a,E)),de.add(new go.PathSegment(go.PathSegment.Line,.55*a,.7*E)),ce=.05,Pe=pe*ce,ae=.5,re=.7,de.add(new go.PathSegment(go.PathSegment.Bezier,ae*a,(re-ce)*E,(ae+ce)*a,(re-Pe)*E,(ae+Pe)*a,(re-ce)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,(ae-ce)*a,re*E,(ae-Pe)*a,(re-ce)*E,(ae-ce)*a,(re-Pe)*E)),de.add(new go.PathSegment(go.PathSegment.Line,.45*a,E)),de.add(new go.PathSegment(go.PathSegment.Line,.2*a,E)),de.add(new go.PathSegment(go.PathSegment.Line,.2*a,.35*E)),ce=.025,Pe=pe*ce,ae=.175,re=.35,de.add(new go.PathSegment(go.PathSegment.Bezier,ae*a,(re-ce)*E,(ae+ce)*a,(re-Pe)*E,(ae+Pe)*a,(re-ce)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,(ae-ce)*a,re*E,(ae-Pe)*a,(re-ce)*E,(ae-ce)*a,(re-Pe)*E)),de.add(new go.PathSegment(go.PathSegment.Line,.15*a,.6*E)),de.add(new go.PathSegment(go.PathSegment.Line,0,.6*E)),de.add(new go.PathSegment(go.PathSegment.Line,0,.25*E)),ce=.05,Pe=pe*ce,ae=.05,re=.25,de.add(new go.PathSegment(go.PathSegment.Bezier,ae*a,(re-ce)*E,(ae-ce)*a,(re-Pe)*E,(ae-Pe)*a,(re-ce)*E)),de.add(new go.PathSegment(go.PathSegment.Line,.5*a,.2*E)),x.spot1=new go.Spot(.2,.2),x.spot2=new go.Spot(.8,.65),x}),go.Shape.setFigureParameter("Card",0,new Oe("CornerCutoutSize",.2,.1,.9)),go.Shape.defineFigureGenerator("Card",function(oe,a,E){var x=oe?oe.parameter1:NaN;isNaN(x)&&(x=.2);var b=new go.Geometry,z=new go.PathFigure(a,0,!0);return b.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,x*E)),z.add(new go.PathSegment(go.PathSegment.Line,x*a,0).close()),b.spot1=new go.Spot(0,x),b.spot2=go.Spot.BottomRight,b}),go.Shape.defineFigureGenerator("Collate",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.5*a,.5*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E));var z=new go.PathFigure(.5*a,.5*E,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,E)),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),x.spot1=new go.Spot(.25,0),x.spot2=new go.Spot(.75,.25),x}),go.Shape.defineFigureGenerator("CreateRequest",function(oe,a,E){var x=new go.Geometry,b=oe?oe.parameter1:NaN;isNaN(b)&&(b=.1);var z=new go.PathFigure(0,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var ee=new go.PathFigure(0,b*E,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,b*E)),ee.add(new go.PathSegment(go.PathSegment.Move,0,(1-b)*E)),ee.add(new go.PathSegment(go.PathSegment.Line,a,(1-b)*E)),x}),go.Shape.defineFigureGenerator("Database",function(oe,a,E){var x=new go.Geometry,b=pe*.5,z=pe*.1,ee=new go.PathFigure(a,.1*E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,.9*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,(.9+z)*E,(.5+b)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*E,(.5-b)*a,E,0,(.9+z)*E)),ee.add(new go.PathSegment(go.PathSegment.Line,0,.1*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,(.1-z)*E,(.5-b)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,.1*E,(.5+b)*a,0,a,(.1-z)*E));var ne=new go.PathFigure(a,.1*E,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.2*E,a,(.1+z)*E,(.5+b)*a,.2*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*E,(.5-b)*a,.2*E,0,(.1+z)*E)),ne.add(new go.PathSegment(go.PathSegment.Move,a,.2*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.3*E,a,(.2+z)*E,(.5+b)*a,.3*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*E,(.5-b)*a,.3*E,0,(.2+z)*E)),ne.add(new go.PathSegment(go.PathSegment.Move,a,.3*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.4*E,a,(.3+z)*E,(.5+b)*a,.4*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.3*E,(.5-b)*a,.4*E,0,(.3+z)*E)),x.spot1=new go.Spot(0,.4),x.spot2=new go.Spot(1,.9),x}),go.Shape.defineFigureGenerator("DataStorage",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,.75*a,E,a,0,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*a,.9*E,.25*a,.1*E).close()),x.spot1=new go.Spot(.226,0),x.spot2=new go.Spot(.81,1),x}),go.Shape.defineFigureGenerator("DiskStorage",function(oe,a,E){var x=new go.Geometry,b=pe*.5,z=pe*.1,ee=new go.PathFigure(a,.1*E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,.9*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,(.9+z)*E,(.5+b)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*E,(.5-b)*a,E,0,(.9+z)*E)),ee.add(new go.PathSegment(go.PathSegment.Line,0,.1*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,(.1-z)*E,(.5-b)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,.1*E,(.5+b)*a,0,a,(.1-z)*E));var ne=new go.PathFigure(a,.1*E,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.2*E,a,(.1+z)*E,(.5+b)*a,.2*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.1*E,(.5-b)*a,.2*E,0,(.1+z)*E)),ne.add(new go.PathSegment(go.PathSegment.Move,a,.2*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.3*E,a,(.2+z)*E,(.5+b)*a,.3*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,.2*E,(.5-b)*a,.3*E,0,(.2+z)*E)),x.spot1=new go.Spot(0,.3),x.spot2=new go.Spot(1,.9),x}),go.Shape.defineFigureGenerator("Display",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.25*a,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,.75*a,E,a,0,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.25*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.5*E).close()),x.spot1=new go.Spot(.25,0),x.spot2=new go.Spot(.75,1),x}),go.Shape.defineFigureGenerator("DividedEvent",function(oe,a,E){var x=new go.Geometry,b=oe?oe.parameter1:NaN;isNaN(b)?b=.2:b<.15&&(b=.15);var z=pe*.2,ee=new go.PathFigure(0,.2*E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,0,0,(.2-z)*E,(.2-z)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Line,.8*a,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,.2*E,(.8+z)*a,0,a,(.2-z)*E)),ee.add(new go.PathSegment(go.PathSegment.Line,a,.8*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,E,a,(.8+z)*E,(.8+z)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,.2*a,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,.8*E,(.2-z)*a,E,0,(.8+z)*E)),ee.add(new go.PathSegment(go.PathSegment.Line,0,.2*E));var ne=new go.PathFigure(0,b*E,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a,b*E)),x}),go.Shape.defineFigureGenerator("DividedProcess",function(oe,a,E){var x=new go.Geometry,b=oe?oe.parameter1:NaN;(isNaN(b)||b<.1)&&(b=.1);var z=new go.PathFigure(0,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var ee=new go.PathFigure(0,b*E,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,b*E)),x}),go.Shape.defineFigureGenerator("Document",function(oe,a,E){var x=new go.Geometry;E=E/.8;var b=new go.PathFigure(0,.7*E,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.7*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*E,.5*a,.4*E,.5*a,E).close()),x.spot1=go.Spot.TopLeft,x.spot2=new go.Spot(1,.6),x}),go.Shape.defineFigureGenerator("ExternalOrganization",function(oe,a,E){var x=new go.Geometry,b=oe?oe.parameter1:NaN;(isNaN(b)||b<.2)&&(b=.2);var z=new go.PathFigure(0,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var ee=new go.PathFigure(b*a,0,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,0,b*E)),ee.add(new go.PathSegment(go.PathSegment.Move,a,b*E)),ee.add(new go.PathSegment(go.PathSegment.Line,(1-b)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Move,0,(1-b)*E)),ee.add(new go.PathSegment(go.PathSegment.Line,b*a,E)),ee.add(new go.PathSegment(go.PathSegment.Move,(1-b)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,a,(1-b)*E)),x}),go.Shape.defineFigureGenerator("ExternalProcess",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.5*a,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.5*E).close());var z=new go.PathFigure(.1*a,.4*E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.1*a,.6*E)),z.add(new go.PathSegment(go.PathSegment.Move,.9*a,.6*E)),z.add(new go.PathSegment(go.PathSegment.Line,.9*a,.4*E)),z.add(new go.PathSegment(go.PathSegment.Move,.6*a,.1*E)),z.add(new go.PathSegment(go.PathSegment.Line,.4*a,.1*E)),z.add(new go.PathSegment(go.PathSegment.Move,.4*a,.9*E)),z.add(new go.PathSegment(go.PathSegment.Line,.6*a,.9*E)),x.spot1=new go.Spot(.25,.25),x.spot2=new go.Spot(.75,.75),x}),go.Shape.defineFigureGenerator("File",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.25*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var z=new go.PathFigure(.75*a,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.75*a,.25*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,.25*E)),x.spot1=new go.Spot(0,.25),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("Interrupt",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(a,.5*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*E));var z=new go.PathFigure(a,.5*E,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,E));var ee=new go.PathFigure(a,.5*E,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,0)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.5,.75),x}),go.Shape.defineFigureGenerator("InternalStorage",function(oe,a,E){var x=new go.Geometry,b=oe?oe.parameter1:NaN,z=oe?oe.parameter2:NaN;isNaN(b)&&(b=.1),isNaN(z)&&(z=.1);var ee=new go.PathFigure(0,0,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,0)),ee.add(new go.PathSegment(go.PathSegment.Line,a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var ne=new go.PathFigure(b*a,0,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,b*a,E)),ne.add(new go.PathSegment(go.PathSegment.Move,0,z*E)),ne.add(new go.PathSegment(go.PathSegment.Line,a,z*E)),x}),go.Shape.defineFigureGenerator("Junction",function(oe,a,E){var x=new go.Geometry,b=1/Math.SQRT2,z=(1-1/Math.SQRT2)/2,ee=pe*.5,ne=.5,ae=new go.PathFigure(a,ne*E,!0);x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,E,a,(ne+ee)*E,(ne+ee)*a,E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,0,ne*E,(ne-ee)*a,E,0,(ne+ee)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,0,0,(ne-ee)*E,(ne-ee)*a,0)),ae.add(new go.PathSegment(go.PathSegment.Bezier,a,ne*E,(ne+ee)*a,0,a,(ne-ee)*E));var re=new go.PathFigure((z+b)*a,(z+b)*E,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,z*a,z*E)),re.add(new go.PathSegment(go.PathSegment.Move,z*a,(z+b)*E)),re.add(new go.PathSegment(go.PathSegment.Line,(z+b)*a,z*E)),x}),go.Shape.defineFigureGenerator("LinedDocument",function(oe,a,E){var x=new go.Geometry;E=E/.8;var b=new go.PathFigure(0,.7*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.7*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*E,.5*a,.4*E,.5*a,E).close());var z=new go.PathFigure(.1*a,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.1*a,.75*E)),x.spot1=new go.Spot(.1,0),x.spot2=new go.Spot(1,.6),x}),go.Shape.defineFigureGenerator("LoopLimit",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,E,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.25*E)),b.add(new go.PathSegment(go.PathSegment.Line,.25*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.25*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E).close()),x.spot1=new go.Spot(0,.25),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("MagneticTape",function(oe,a,E){var x=new go.Geometry,b=pe*.5,z=.5,ee=new go.PathFigure(.5*a,E,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,z*E,(z-b)*a,E,0,(z+b)*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,z*a,0,0,(z-b)*E,(z-b)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,z*E,(z+b)*a,0,a,(z-b)*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,(z+.1)*a,.9*E,a,(z+b)*E,(z+b)*a,.9*E)),ee.add(new go.PathSegment(go.PathSegment.Line,a,.9*E)),ee.add(new go.PathSegment(go.PathSegment.Line,a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),x.spot1=new go.Spot(.15,.15),x.spot2=new go.Spot(.85,.8),x}),go.Shape.defineFigureGenerator("ManualInput",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(a,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.25*E).close()),x.spot1=new go.Spot(0,.25),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("MessageFromUser",function(oe,a,E){var x=new go.Geometry,b=oe?oe.parameter1:NaN;isNaN(b)&&(b=.7);var z=new go.PathFigure(0,0,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,b*a,.5*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x.spot1=go.Spot.TopLeft,x}),go.Shape.defineFigureGenerator("MicroformProcessing",function(oe,a,E){var x=new go.Geometry,b=oe?oe.parameter1:NaN;isNaN(b)&&(b=.25);var z=new go.PathFigure(0,0,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,b*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,E)),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,(1-b)*E)),z.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x}),go.Shape.defineFigureGenerator("MicroformRecording",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,.25*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.15*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.85*E)),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,.75*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(1,.75),x}),go.Shape.defineFigureGenerator("MultiDocument",function(oe,a,E){var x=new go.Geometry;E=E/.8;var b=new go.PathFigure(a,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,.44*E,.96*a,.47*E,.93*a,.45*E)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.54*E,.86*a,.57*E,.83*a,.55*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.7*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*E,.4*a,.4*E,.4*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.1*E)),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,.1*E)),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,0).close());var z=new go.PathFigure(.1*a,.2*E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*E)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.54*E)),z.add(new go.PathSegment(go.PathSegment.Move,.2*a,.1*E)),z.add(new go.PathSegment(go.PathSegment.Line,.9*a,.1*E)),z.add(new go.PathSegment(go.PathSegment.Line,.9*a,.44*E)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.8,.77),x}),go.Shape.defineFigureGenerator("MultiProcess",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.1*a,.1*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,.1*E)),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.9*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.9*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.2*E).close());var z=new go.PathFigure(.2*a,.1*E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.9*a,.1*E)),z.add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*E)),z.add(new go.PathSegment(go.PathSegment.Move,.1*a,.2*E)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*E)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.9*E)),x.spot1=new go.Spot(0,.2),x.spot2=new go.Spot(.8,1),x}),go.Shape.defineFigureGenerator("OfflineStorage",function(oe,a,E){var x=new go.Geometry,b=oe?oe.parameter1:NaN;isNaN(b)&&(b=.1);var z=1-b,ee=new go.PathFigure(0,0,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,0)),ee.add(new go.PathSegment(go.PathSegment.Line,.5*a,E).close());var ne=new go.PathFigure(.5*b*a,b*E,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,(1-.5*b)*a,b*E)),x}),go.Shape.defineFigureGenerator("OffPageConnector",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x.spot1=go.Spot.TopLeft,x.spot2=new go.Spot(.75,1),x}),go.Shape.defineFigureGenerator("Or",function(oe,a,E){var x=new go.Geometry,b=pe*.5,z=.5,ee=new go.PathFigure(a,z*E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,z*a,E,a,(z+b)*E,(z+b)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,z*E,(z-b)*a,E,0,(z+b)*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,z*a,0,0,(z-b)*E,(z-b)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,z*E,(z+b)*a,0,a,(z-b)*E));var ne=new go.PathFigure(a,.5*E,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,0,.5*E)),ne.add(new go.PathSegment(go.PathSegment.Move,.5*a,E)),ne.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),x}),go.Shape.defineFigureGenerator("PaperTape",function(oe,a,E){var x=new go.Geometry;E=E/.8;var b=new go.PathFigure(0,.7*E,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.3*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,a,.3*E,.5*a,.6*E,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.7*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.7*E,.5*a,.4*E,.5*a,E).close()),x.spot1=new go.Spot(0,.49),x.spot2=new go.Spot(1,.75),x}),go.Shape.defineFigureGenerator("PrimitiveFromCall",function(oe,a,E){var x=new go.Geometry,b=oe?oe.parameter1:NaN,z=oe?oe.parameter2:NaN;isNaN(b)&&(b=.1),isNaN(z)&&(z=.3);var ee=new go.PathFigure(0,0,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,0)),ee.add(new go.PathSegment(go.PathSegment.Line,(1-z)*a,.5*E)),ee.add(new go.PathSegment(go.PathSegment.Line,a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x}),go.Shape.defineFigureGenerator("PrimitiveToCall",function(oe,a,E){var x=new go.Geometry,b=oe?oe.parameter1:NaN,z=oe?oe.parameter2:NaN;isNaN(b)&&(b=.1),isNaN(z)&&(z=.3);var ee=new go.PathFigure(0,0,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,(1-z)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),ee.add(new go.PathSegment(go.PathSegment.Line,(1-z)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x}),go.Shape.defineFigureGenerator("Procedure",function(oe,a,E){var x=new go.Geometry,b=oe?oe.parameter1:NaN;isNaN(b)&&(b=.1);var z=new go.PathFigure(0,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var ee=new go.PathFigure((1-b)*a,0,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,(1-b)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Move,b*a,0)),ee.add(new go.PathSegment(go.PathSegment.Line,b*a,E)),x}),go.Shape.defineFigureGenerator("Process",function(oe,a,E){var x=new go.Geometry,b=oe?oe.parameter1:NaN;isNaN(b)&&(b=.1);var z=new go.PathFigure(0,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var ee=new go.PathFigure(b*a,0,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,b*a,E)),x.spot2=go.Spot.BottomRight,x}),go.Shape.defineFigureGenerator("Sort",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.5*a,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.5*E).close());var z=new go.PathFigure(0,.5*E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),x.spot1=new go.Spot(.25,.25),x.spot2=new go.Spot(.75,.5),x}),go.Shape.defineFigureGenerator("Start",function(oe,a,E){var x=new go.Geometry,b=oe?oe.parameter1:NaN;isNaN(b)&&(b=.25);var z=new go.PathFigure(b*a,0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*a,.5*E,.25*a,.5*E)),z.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*a,.5*E,.25*a,.5*E));var ee=new go.PathFigure(b*a,0,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,b*a,E)),ee.add(new go.PathSegment(go.PathSegment.Move,(1-b)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Line,(1-b)*a,E)),x.spot1=new go.Spot(b,0),x.spot2=new go.Spot(1-b,1),x}),go.Shape.defineFigureGenerator("Terminator",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.25*a,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Arc,270,180,.75*a,.5*E,.25*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Arc,90,180,.25*a,.5*E,.25*a,.5*E)),x.spot1=new go.Spot(.23,0),x.spot2=new go.Spot(.77,1),x}),go.Shape.defineFigureGenerator("TransmittalTape",function(oe,a,E){var x=new go.Geometry,b=oe?oe.parameter1:NaN;isNaN(b)&&(b=.1);var z=new go.PathFigure(0,0,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,0)),z.add(new go.PathSegment(go.PathSegment.Line,a,E)),z.add(new go.PathSegment(go.PathSegment.Line,.75*a,(1-b)*E)),z.add(new go.PathSegment(go.PathSegment.Line,0,(1-b)*E).close()),x.spot1=go.Spot.TopLeft,x}),go.Shape.defineFigureGenerator("AndGate",function(oe,a,E){var x=new go.Geometry,b=pe*.5,z=new go.PathFigure(0,0,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),z.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,(.5+b)*a,0,a,(.5-b)*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,(.5+b)*E,(.5+b)*a,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x.spot1=go.Spot.TopLeft,x.spot2=new go.Spot(.55,1),x}),go.Shape.defineFigureGenerator("Buffer",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.5,.75),x}),go.Shape.defineFigureGenerator("Clock",function(oe,a,E){var x=new go.Geometry,b=pe*.5,z=.5,ee=new go.PathFigure(a,z*E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,z*a,E,a,(z+b)*E,(z+b)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,z*E,(z-b)*a,E,0,(z+b)*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,z*a,0,0,(z-b)*E,(z-b)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,z*E,(z+b)*a,0,a,(z-b)*E));var ne=new go.PathFigure(a,z*E,!1);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a,z*E));var ae=new go.PathFigure(.8*a,.75*E,!1);return x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Line,.8*a,.25*E)),ae.add(new go.PathSegment(go.PathSegment.Line,.6*a,.25*E)),ae.add(new go.PathSegment(go.PathSegment.Line,.6*a,.75*E)),ae.add(new go.PathSegment(go.PathSegment.Line,.4*a,.75*E)),ae.add(new go.PathSegment(go.PathSegment.Line,.4*a,.25*E)),ae.add(new go.PathSegment(go.PathSegment.Line,.2*a,.25*E)),ae.add(new go.PathSegment(go.PathSegment.Line,.2*a,.75*E)),x}),go.Shape.defineFigureGenerator("Ground",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.5*a,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Move,.3*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,.7*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Move,.4*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,E)),x}),go.Shape.defineFigureGenerator("Inverter",function(oe,a,E){var x=new go.Geometry,b=pe*.1,z=.1,ee=.9,ne=.5,ae=new go.PathFigure(.8*a,.5*E,!0);x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Line,0,E)),ae.add(new go.PathSegment(go.PathSegment.Line,0,0)),ae.add(new go.PathSegment(go.PathSegment.Line,.8*a,.5*E));var re=new go.PathFigure((ee+z)*a,ne*E,!0);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne+z)*E,(ee+z)*a,(ne+b)*E,(ee+b)*a,(ne+z)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,(ee-z)*a,ne*E,(ee-b)*a,(ne+z)*E,(ee-z)*a,(ne+b)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne-z)*E,(ee-z)*a,(ne-b)*E,(ee-b)*a,(ne-z)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*a,ne*E,(ee+b)*a,(ne-z)*E,(ee+z)*a,(ne-b)*E)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.4,.75),x}),go.Shape.defineFigureGenerator("NandGate",function(oe,a,E){var x=new go.Geometry,b=pe*.5,z=pe*.4,ee=pe*.1,ne=.1,ae=.9,re=.5,le=new go.PathFigure(.8*a,.5*E,!0);x.add(le),le.add(new go.PathSegment(go.PathSegment.Bezier,.4*a,E,.8*a,(.5+z)*E,(.4+b)*a,E)),le.add(new go.PathSegment(go.PathSegment.Line,0,E)),le.add(new go.PathSegment(go.PathSegment.Line,0,0)),le.add(new go.PathSegment(go.PathSegment.Line,.4*a,0)),le.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.5*E,(.4+b)*a,0,.8*a,(.5-z)*E));var ce=new go.PathFigure((ae+ne)*a,re*E,!0);return x.add(ce),ce.add(new go.PathSegment(go.PathSegment.Bezier,ae*a,(re+ne)*E,(ae+ne)*a,(re+ee)*E,(ae+ee)*a,(re+ne)*E)),ce.add(new go.PathSegment(go.PathSegment.Bezier,(ae-ne)*a,re*E,(ae-ee)*a,(re+ne)*E,(ae-ne)*a,(re+ee)*E)),ce.add(new go.PathSegment(go.PathSegment.Bezier,ae*a,(re-ne)*E,(ae-ne)*a,(re-ee)*E,(ae-ee)*a,(re-ne)*E)),ce.add(new go.PathSegment(go.PathSegment.Bezier,(ae+ne)*a,re*E,(ae+ee)*a,(re-ne)*E,(ae+ne)*a,(re-ee)*E)),x.spot1=new go.Spot(0,.05),x.spot2=new go.Spot(.55,.95),x}),go.Shape.defineFigureGenerator("NorGate",function(oe,a,E){var x=new go.Geometry,b=.5,z=pe*b,ee=0,ne=.5,ae=new go.PathFigure(.8*a,.5*E,!0);x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Bezier,0,E,.7*a,(ne+z)*E,(ee+z)*a,(ne+b)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*a,.75*E,.25*a,.25*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.5*E,(ee+z)*a,(ne-b)*E,.7*a,(ne-z)*E)),b=.1,z=pe*.1,ee=.9,ne=.5;var re=new go.PathFigure((ee-b)*a,ne*E,!0);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne-b)*E,(ee-b)*a,(ne-z)*E,(ee-z)*a,(ne-b)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*a,ne*E,(ee+z)*a,(ne-b)*E,(ee+b)*a,(ne-z)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne+b)*E,(ee+b)*a,(ne+z)*E,(ee+z)*a,(ne+b)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*a,ne*E,(ee-z)*a,(ne+b)*E,(ee-b)*a,(ne+z)*E)),x.spot1=new go.Spot(.2,.25),x.spot2=new go.Spot(.6,.75),x}),go.Shape.defineFigureGenerator("OrGate",function(oe,a,E){var x=new go.Geometry,b=.5,z=pe*b,ee=0,ne=.5,ae=new go.PathFigure(0,0,!0);return x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,(ee+z+z)*a,(ne-b)*E,.8*a,(ne-z)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,0,E,.8*a,(ne+z)*E,(ee+z+z)*a,(ne+b)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,0,0,.25*a,.75*E,.25*a,.25*E).close()),x.spot1=new go.Spot(.2,.25),x.spot2=new go.Spot(.75,.75),x}),go.Shape.defineFigureGenerator("XnorGate",function(oe,a,E){var x=new go.Geometry,b=.5,z=pe*b,ee=.2,ne=.5,ae=new go.PathFigure(.1*a,0,!1);x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Bezier,.1*a,E,.35*a,.25*E,.35*a,.75*E));var re=new go.PathFigure(.8*a,.5*E,!0);x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,E,.7*a,(ne+z)*E,(ee+z)*a,(ne+b)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,0,.45*a,.75*E,.45*a,.25*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.5*E,(ee+z)*a,(ne-b)*E,.7*a,(ne-z)*E)),b=.1,z=pe*.1,ee=.9,ne=.5;var le=new go.PathFigure((ee-b)*a,ne*E,!0);return x.add(le),le.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne-b)*E,(ee-b)*a,(ne-z)*E,(ee-z)*a,(ne-b)*E)),le.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*a,ne*E,(ee+z)*a,(ne-b)*E,(ee+b)*a,(ne-z)*E)),le.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne+b)*E,(ee+b)*a,(ne+z)*E,(ee+z)*a,(ne+b)*E)),le.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*a,ne*E,(ee-z)*a,(ne+b)*E,(ee-b)*a,(ne+z)*E)),x.spot1=new go.Spot(.4,.25),x.spot2=new go.Spot(.65,.75),x}),go.Shape.defineFigureGenerator("XorGate",function(oe,a,E){var x=new go.Geometry,b=.5,z=pe*b,ee=.2,ne=.5,ae=new go.PathFigure(.1*a,0,!1);x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Bezier,.1*a,E,.35*a,.25*E,.35*a,.75*E));var re=new go.PathFigure(.2*a,0,!0);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,(ee+z)*a,(ne-b)*E,.9*a,(ne-z)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,E,.9*a,(ne+z)*E,(ee+z)*a,(ne+b)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,.2*a,0,.45*a,.75*E,.45*a,.25*E).close()),x.spot1=new go.Spot(.4,.25),x.spot2=new go.Spot(.8,.75),x}),go.Shape.defineFigureGenerator("Capacitor",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Move,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),x}),go.Shape.defineFigureGenerator("Resistor",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,.5*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.3*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.7*a,.5*E)),x}),go.Shape.defineFigureGenerator("Inductor",function(oe,a,E){var x=new go.Geometry,b=pe*.1,z=.1,ee=.1,ne=.5,ae=new go.PathFigure((ee-b*.5)*a,E,!1);return x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*a,0,(ee-b)*a,E,(ee-z)*a,0)),ee=.3,ae.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,E,(ee+z)*a,0,(ee+b)*a,E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*a,0,(ee-b)*a,E,(ee-z)*a,0)),ee=.5,ae.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,E,(ee+z)*a,0,(ee+b)*a,E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*a,0,(ee-b)*a,E,(ee-z)*a,0)),ee=.7,ae.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,E,(ee+z)*a,0,(ee+b)*a,E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*a,0,(ee-b)*a,E,(ee-z)*a,0)),ee=.9,ae.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b*.5)*a,E,(ee+z)*a,0,(ee+b)*a,E)),x}),go.Shape.defineFigureGenerator("ACvoltageSource",function(oe,a,E){var x=new go.Geometry,b=pe*.5,z=.5,ee=.5,ne=.5,ae=new go.PathFigure((ee-z)*a,ne*E,!1);return x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne-z)*E,(ee-z)*a,(ne-b)*E,(ee-b)*a,(ne-z)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*a,ne*E,(ee+b)*a,(ne-z)*E,(ee+z)*a,(ne-b)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne+z)*E,(ee+z)*a,(ne+b)*E,(ee+b)*a,(ne+z)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(ee-z)*a,ne*E,(ee-b)*a,(ne+z)*E,(ee-z)*a,(ne+b)*E)),ae.add(new go.PathSegment(go.PathSegment.Move,(ee-z+.1)*a,ne*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z-.1)*a,ne*E,ee*a,(ne-z)*E,ee*a,(ne+z)*E)),x}),go.Shape.defineFigureGenerator("DCvoltageSource",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,.75*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.25*E)),b.add(new go.PathSegment(go.PathSegment.Move,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),x}),go.Shape.defineFigureGenerator("Diode",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(a,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),x.spot1=new go.Spot(0,.25),x.spot2=new go.Spot(.5,.75),x}),go.Shape.defineFigureGenerator("Wifi",function(oe,a,E){var x=new go.Geometry,b=a,z=E;a=a*.38,E=E*.6;var ee=pe*.8,ne=.8,ae=0,re=.5,le=(b-a)/2,ce=(z-E)/2,Pe=new go.PathFigure(ae*a+le,(re+ne)*E+ce,!0);x.add(Pe),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(ae-ne)*a+le,re*E+ce,(ae-ee)*a+le,(re+ne)*E+ce,(ae-ne)*a+le,(re+ee)*E+ce)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,ae*a+le,(re-ne)*E+ce,(ae-ne)*a+le,(re-ee)*E+ce,(ae-ee)*a+le,(re-ne)*E+ce)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(ae-ne+ee*.5)*a+le,re*E+ce,ae*a+le,(re-ne)*E+ce,(ae-ne+ee*.5)*a+le,(re-ee)*E+ce)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,ae*a+le,(re+ne)*E+ce,(ae-ne+ee*.5)*a+le,(re+ee)*E+ce,ae*a+le,(re+ne)*E+ce).close()),ee=pe*.4,ne=.4,ae=.2,re=.5;var de=new go.PathFigure(ae*a+le,(re+ne)*E+ce,!0);x.add(de),de.add(new go.PathSegment(go.PathSegment.Bezier,(ae-ne)*a+le,re*E+ce,(ae-ee)*a+le,(re+ne)*E+ce,(ae-ne)*a+le,(re+ee)*E+ce)),de.add(new go.PathSegment(go.PathSegment.Bezier,ae*a+le,(re-ne)*E+ce,(ae-ne)*a+le,(re-ee)*E+ce,(ae-ee)*a+le,(re-ne)*E+ce)),de.add(new go.PathSegment(go.PathSegment.Bezier,(ae-ne+ee*.5)*a+le,re*E+ce,ae*a+le,(re-ne)*E+ce,(ae-ne+ee*.5)*a+le,(re-ee)*E+ce)),de.add(new go.PathSegment(go.PathSegment.Bezier,ae*a+le,(re+ne)*E+ce,(ae-ne+ee*.5)*a+le,(re+ee)*E+ce,ae*a+le,(re+ne)*E+ce).close()),ee=pe*.2,ne=.2,ae=.5,re=.5;var Ee=new go.PathFigure((ae-ne)*a+le,re*E+ce,!0);x.add(Ee),Ee.add(new go.PathSegment(go.PathSegment.Bezier,ae*a+le,(re-ne)*E+ce,(ae-ne)*a+le,(re-ee)*E+ce,(ae-ee)*a+le,(re-ne)*E+ce)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,(ae+ne)*a+le,re*E+ce,(ae+ee)*a+le,(re-ne)*E+ce,(ae+ne)*a+le,(re-ee)*E+ce)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,ae*a+le,(re+ne)*E+ce,(ae+ne)*a+le,(re+ee)*E+ce,(ae+ee)*a+le,(re+ne)*E+ce)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,(ae-ne)*a+le,re*E+ce,(ae-ee)*a+le,(re+ne)*E+ce,(ae-ne)*a+le,(re+ee)*E+ce)),ee=pe*.4,ne=.4,ae=.8,re=.5;var Fe=new go.PathFigure(ae*a+le,(re-ne)*E+ce,!0);x.add(Fe),Fe.add(new go.PathSegment(go.PathSegment.Bezier,(ae+ne)*a+le,re*E+ce,(ae+ee)*a+le,(re-ne)*E+ce,(ae+ne)*a+le,(re-ee)*E+ce)),Fe.add(new go.PathSegment(go.PathSegment.Bezier,ae*a+le,(re+ne)*E+ce,(ae+ne)*a+le,(re+ee)*E+ce,(ae+ee)*a+le,(re+ne)*E+ce)),Fe.add(new go.PathSegment(go.PathSegment.Bezier,(ae+ne-ee*.5)*a+le,re*E+ce,ae*a+le,(re+ne)*E+ce,(ae+ne-ee*.5)*a+le,(re+ee)*E+ce)),Fe.add(new go.PathSegment(go.PathSegment.Bezier,ae*a+le,(re-ne)*E+ce,(ae+ne-ee*.5)*a+le,(re-ee)*E+ce,ae*a+le,(re-ne)*E+ce).close()),ee=pe*.8,ne=.8,ae=1,re=.5;var he=new go.PathFigure(ae*a+le,(re-ne)*E+ce,!0);return x.add(he),he.add(new go.PathSegment(go.PathSegment.Bezier,(ae+ne)*a+le,re*E+ce,(ae+ee)*a+le,(re-ne)*E+ce,(ae+ne)*a+le,(re-ee)*E+ce)),he.add(new go.PathSegment(go.PathSegment.Bezier,ae*a+le,(re+ne)*E+ce,(ae+ne)*a+le,(re+ee)*E+ce,(ae+ee)*a+le,(re+ne)*E+ce)),he.add(new go.PathSegment(go.PathSegment.Bezier,(ae+ne-ee*.5)*a+le,re*E+ce,ae*a+le,(re+ne)*E+ce,(ae+ne-ee*.5)*a+le,(re+ee)*E+ce)),he.add(new go.PathSegment(go.PathSegment.Bezier,ae*a+le,(re-ne)*E+ce,(ae+ne-ee*.5)*a+le,(re-ee)*E+ce,ae*a+le,(re-ne)*E+ce).close()),x}),go.Shape.defineFigureGenerator("Email",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var z=new go.PathFigure(0,0,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,0)),z.add(new go.PathSegment(go.PathSegment.Move,0,E)),z.add(new go.PathSegment(go.PathSegment.Line,.45*a,.54*E)),z.add(new go.PathSegment(go.PathSegment.Move,a,E)),z.add(new go.PathSegment(go.PathSegment.Line,.55*a,.54*E)),x}),go.Shape.defineFigureGenerator("Ethernet",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.35*a,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.65*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.65*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,.35*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,.35*a,0).close());var z=new go.PathFigure(.1*a,E,!0,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.4*a,E)),z.add(new go.PathSegment(go.PathSegment.Line,.4*a,.6*E)),z.add(new go.PathSegment(go.PathSegment.Line,.1*a,.6*E)),z.add(new go.PathSegment(go.PathSegment.Line,.1*a,E).close());var ee=new go.PathFigure(.6*a,E,!0,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.9*a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,.9*a,.6*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.6*a,.6*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.6*a,E).close());var ne=new go.PathFigure(0,.5*E,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),ne.add(new go.PathSegment(go.PathSegment.Move,.5*a,.5*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.5*a,.4*E)),ne.add(new go.PathSegment(go.PathSegment.Move,.75*a,.5*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.75*a,.6*E)),ne.add(new go.PathSegment(go.PathSegment.Move,.25*a,.5*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.25*a,.6*E)),x}),go.Shape.defineFigureGenerator("Power",function(oe,a,E){var x=new go.Geometry,b=pe*.4,z=.4,ee=.5,ne=.5,ae=y(),re=y(),le=y(),ce=y();ge(ee,ne-z,ee+b,ne-z,ee+z,ne-b,ee+z,ne,.5,ae,ae,re,le,ce);var Pe=te(re.x,re.y),de=new go.PathFigure(re.x*a,re.y*E,!0);x.add(de),de.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*a,ne*E,le.x*a,le.y*E,ce.x*a,ce.y*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne+z)*E,(ee+z)*a,(ne+b)*E,(ee+b)*a,(ne+z)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,(ee-z)*a,ne*E,(ee-b)*a,(ne+z)*E,(ee-z)*a,(ne+b)*E)),ge(ee-z,ne,ee-z,ne-b,ee-b,ne-z,ee,ne-z,.5,le,ce,re,ae,ae),de.add(new go.PathSegment(go.PathSegment.Bezier,re.x*a,re.y*E,le.x*a,le.y*E,ce.x*a,ce.y*E)),b=pe*.3,z=.3,ge(ee-z,ne,ee-z,ne-b,ee-b,ne-z,ee,ne-z,.5,le,ce,re,ae,ae),de.add(new go.PathSegment(go.PathSegment.Line,re.x*a,re.y*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,(ee-z)*a,ne*E,ce.x*a,ce.y*E,le.x*a,le.y*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne+z)*E,(ee-z)*a,(ne+b)*E,(ee-b)*a,(ne+z)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,(ee+z)*a,ne*E,(ee+b)*a,(ne+z)*E,(ee+z)*a,(ne+b)*E)),ge(ee,ne-z,ee+b,ne-z,ee+z,ne-b,ee+z,ne,.5,ae,ae,re,le,ce),de.add(new go.PathSegment(go.PathSegment.Bezier,re.x*a,re.y*E,ce.x*a,ce.y*E,le.x*a,le.y*E).close());var de=new go.PathFigure(.45*a,0,!0);return x.add(de),de.add(new go.PathSegment(go.PathSegment.Line,.45*a,.5*E)),de.add(new go.PathSegment(go.PathSegment.Line,.55*a,.5*E)),de.add(new go.PathSegment(go.PathSegment.Line,.55*a,0).close()),ie(ae),ie(re),ie(le),ie(ce),ie(Pe),x.spot1=new go.Spot(.25,.45),x.spot2=new go.Spot(.75,.8),x}),go.Shape.defineFigureGenerator("Fallout",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,E/2,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Arc,180,360,a/2,E/2,a/2,E/2));function z(ee,ne,ae){ee.add(new go.PathSegment(go.PathSegment.Move,(.3+ne)*a,(.8+ae)*E)),ee.add(new go.PathSegment(go.PathSegment.Line,(.5+ne)*a,(.5+ae)*E)),ee.add(new go.PathSegment(go.PathSegment.Line,(.1+ne)*a,(.5+ae)*E)),ee.add(new go.PathSegment(go.PathSegment.Line,(.3+ne)*a,(.8+ae)*E).close())}return z(b,0,0),z(b,.4,0),z(b,.2,-.3),x}),go.Shape.defineFigureGenerator("IrritationHazard",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.2*a,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.3*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,.7*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.7*E)),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,.3*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.2*E).close()),x.spot1=new go.Spot(.3,.3),x.spot2=new go.Spot(.7,.7),x}),go.Shape.defineFigureGenerator("ElectricalHazard",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.37*a,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.11*E)),b.add(new go.PathSegment(go.PathSegment.Line,.77*a,.04*E)),b.add(new go.PathSegment(go.PathSegment.Line,.33*a,.49*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.37*E)),b.add(new go.PathSegment(go.PathSegment.Line,.63*a,.86*E)),b.add(new go.PathSegment(go.PathSegment.Line,.77*a,.91*E)),b.add(new go.PathSegment(go.PathSegment.Line,.34*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.34*a,.78*E)),b.add(new go.PathSegment(go.PathSegment.Line,.44*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,.65*a,.56*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.68*E).close()),x}),go.Shape.defineFigureGenerator("FireHazard",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.1*a,E,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,.29*a,0,-.25*a,.63*E,.45*a,.44*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.51*a,.42*E,.48*a,.17*E,.54*a,.35*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.59*a,.18*E,.59*a,.29*E,.58*a,.28*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.75*a,.6*E,.8*a,.34*E,.88*a,.43*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.88*a,.31*E,.87*a,.48*E,.88*a,.43*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,E,1.17*a,.76*E,.82*a,.8*E).close()),x.spot1=new go.Spot(.07,.445),x.spot2=new go.Spot(.884,.958),x}),go.Shape.defineFigureGenerator("BpmnActivityLoop",function(oe,a,E){var x=new go.Geometry,b=.5,z=0,ee=0,ne=b*pe,ae=.4*Math.SQRT2/2+.5,re=.5-.5*Math.SQRT2/2,le=1,ce=.5,Pe=.5,de=0,Ee=new go.PathFigure(ae*a,(1-re)*E,!1);return x.add(Ee),Ee.add(new go.PathSegment(go.PathSegment.Bezier,le*a,ce*E,le*a,.7*E,le*a,ce*E)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,(Pe+z)*a,(de+z)*E,(.5+b+z)*a,(.5-ne+z)*E,(.5+ne+z)*a,(.5-b+z)*E)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,(.5-b+z)*a,(.5+ee)*E,(.5-ne+z)*a,(.5-b+ee)*E,(.5-b+z)*a,(.5-ne+ee)*E)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,(.35+z)*a,.9*E,(.5-b+z)*a,(.5+ne+ee)*E,(.5-ne+z)*a,.9*E)),Ee.add(new go.PathSegment(go.PathSegment.Move,(.25+z)*a,.8*E)),Ee.add(new go.PathSegment(go.PathSegment.Line,(.35+z)*a,.9*E)),Ee.add(new go.PathSegment(go.PathSegment.Line,(.2+z)*a,.95*E)),x}),go.Shape.defineFigureGenerator("BpmnActivityParallel",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),b.add(new go.PathSegment(go.PathSegment.Move,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),x}),go.Shape.defineFigureGenerator("BpmnActivitySequential",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Move,0,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Move,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),x}),go.Shape.defineFigureGenerator("BpmnActivityAdHoc",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);x.add(b);var z=new go.PathFigure(a,E,!1);x.add(z);var ee=new go.PathFigure(0,.5*E,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.5*E,.2*a,.35*E,.3*a,.35*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,.7*a,.65*E,.8*a,.65*E)),x}),go.Shape.defineFigureGenerator("BpmnActivityCompensation",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,.5*E,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,E).close()),x}),go.Shape.defineFigureGenerator("BpmnTaskMessage",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,.2*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.8*E).close());var b=new go.PathFigure(0,.2*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.2*E)),x}),go.Shape.defineFigureGenerator("BpmnTaskScript",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.7*a,E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.3*a,E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,0,.6*a,.5*E,0,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.7*a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,.7*a,E,.4*a,.5*E,a,.5*E).close());var z=new go.PathFigure(.45*a,.73*E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.7*a,.73*E)),z.add(new go.PathSegment(go.PathSegment.Move,.38*a,.5*E)),z.add(new go.PathSegment(go.PathSegment.Line,.63*a,.5*E)),z.add(new go.PathSegment(go.PathSegment.Move,.31*a,.27*E)),z.add(new go.PathSegment(go.PathSegment.Line,.56*a,.27*E)),x}),go.Shape.defineFigureGenerator("BpmnTaskUser",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);x.add(b);var z=new go.PathFigure(.335*a,(1-.555)*E,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.335*a,(1-.405)*E)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*a,(1-.405)*E)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*a,(1-.555)*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,a,.68*E,(1-.12)*a,.46*E,(1-.02)*a,.54*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,E)),z.add(new go.PathSegment(go.PathSegment.Line,0,.68*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,.335*a,(1-.555)*E,.02*a,.54*E,.12*a,.46*E)),z.add(new go.PathSegment(go.PathSegment.Line,.365*a,(1-.595)*E));var ee=.5-.285,ne=.5,ae=ee,re=Math.PI/4,le=4*(1-Math.cos(re))/(3*Math.sin(re)),ce=le*.5,Pe=ee,de=ee,Ee=le*Pe,Fe=le*de;z.add(new go.PathSegment(go.PathSegment.Bezier,(ne-Pe)*a,ae*E,(ne-(Ee+Pe)/2)*a,(ae+(de+Fe)/2)*E,(ne-Pe)*a,(ae+Fe)*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,ne*a,(ae-de)*E,(ne-Pe)*a,(ae-Fe)*E,(ne-Ee)*a,(ae-de)*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,(ne+Pe)*a,ae*E,(ne+Ee)*a,(ae-de)*E,(ne+Pe)*a,(ae-Fe)*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,(1-.365)*a,(1-.595)*E,(ne+Pe)*a,(ae+Fe)*E,(ne+(Ee+Pe)/2)*a,(ae+(de+Fe)/2)*E)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.365)*a,(1-.595)*E)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*a,(1-.555)*E)),z.add(new go.PathSegment(go.PathSegment.Line,(1-.335)*a,(1-.405)*E)),z.add(new go.PathSegment(go.PathSegment.Line,.335*a,(1-.405)*E));var he=new go.PathFigure(.2*a,E,!1);x.add(he),he.add(new go.PathSegment(go.PathSegment.Line,.2*a,.8*E));var rt=new go.PathFigure(.8*a,E,!1);return x.add(rt),rt.add(new go.PathSegment(go.PathSegment.Line,.8*a,.8*E)),x}),go.Shape.defineFigureGenerator("BpmnEventConditional",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.1*a,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,E).close());var z=new go.PathFigure(.2*a,.2*E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*E)),z.add(new go.PathSegment(go.PathSegment.Move,.2*a,.4*E)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.4*E)),z.add(new go.PathSegment(go.PathSegment.Move,.2*a,.6*E)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.6*E)),z.add(new go.PathSegment(go.PathSegment.Move,.2*a,.8*E)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.8*E)),x}),go.Shape.defineFigureGenerator("BpmnEventError",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,E,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.33*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.66*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.66*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.33*a,.5*E).close()),x}),go.Shape.defineFigureGenerator("BpmnEventEscalation",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);x.add(b);var z=new go.PathFigure(a,E,!1);x.add(z);var ee=new go.PathFigure(.1*a,E,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),ee.add(new go.PathSegment(go.PathSegment.Line,.9*a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E).close()),x}),go.Shape.defineFigureGenerator("Caution",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.05*a,E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,.1*a,.8*E,0,E,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,.45*a,.1*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.55*a,.1*E,.5*a,0,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.95*a,.9*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,E,a,E,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.05*a,E));var z=.05;return b.add(new go.PathSegment(go.PathSegment.Move,(.5-z)*a,.875*E)),b.add(new go.PathSegment(go.PathSegment.Arc,180,-360,.5*a,.875*E,z*a,z*E)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,.75*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.325*E,.575*a,.725*E,.625*a,.375*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.75*E,.375*a,.375*E,.425*a,.725*E)),x}),go.Shape.defineFigureGenerator("Recycle",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.45*a,.95*E,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,.95*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.185*a,.85*E,.17*a,.95*E,.15*a,.9*E)),b.add(new go.PathSegment(go.PathSegment.Line,.235*a,.75*E)),b.add(new go.PathSegment(go.PathSegment.Line,.3*a,.625*E)),b.add(new go.PathSegment(go.PathSegment.Line,.35*a,.65*E)),b.add(new go.PathSegment(go.PathSegment.Line,.275*a,.45*E)),b.add(new go.PathSegment(go.PathSegment.Line,.05*a,.45*E)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.05*a,.575*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.1875*a,.95*E,0,.675*E,0,.7*E)),b.add(new go.PathSegment(go.PathSegment.Move,.45*a,.95*E)),b.add(new go.PathSegment(go.PathSegment.Line,.45*a,.775*E)),b.add(new go.PathSegment(go.PathSegment.Line,.22*a,.775*E));var z=new go.PathFigure(.475*a,.2*E,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.4*a,.4*E)),z.add(new go.PathSegment(go.PathSegment.Line,.225*a,.3*E)),z.add(new go.PathSegment(go.PathSegment.Line,.275*a,.175*E)),z.add(new go.PathSegment(go.PathSegment.Line,.325*a,.05*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,.4*a,.05*E,.35*a,0,.375*a,0)),z.add(new go.PathSegment(go.PathSegment.Line,.575*a,.375*E)),z.add(new go.PathSegment(go.PathSegment.Line,.525*a,.4*E)),z.add(new go.PathSegment(go.PathSegment.Line,.75*a,.475*E)),z.add(new go.PathSegment(go.PathSegment.Line,.85*a,.315*E)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.32*E)),z.add(new go.PathSegment(go.PathSegment.Line,.65*a,.05*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,.575*a,0,.65*a,.05*E,.625*a,0)),z.add(new go.PathSegment(go.PathSegment.Line,.38*a,.0105*E));var ee=new go.PathFigure(.675*a,.575*E,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.875*a,.525*E)),ee.add(new go.PathSegment(go.PathSegment.Line,a,.775*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,.85*a,.95*E,a,.8*E,a,.85*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.65*a,.95*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.65*a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,.55*a,.85*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.65*a,.725*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.65*a,.775*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.7*a,.775*E)),ee.add(new go.PathSegment(go.PathSegment.Line,a,.775*E)),ee.add(new go.PathSegment(go.PathSegment.Move,.675*a,.575*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.775*a,.775*E)),x}),go.Shape.defineFigureGenerator("BpmnEventTimer",function(oe,a,E){var x=new go.Geometry,b=.5,z=pe*.5,ee=new go.PathFigure(a,b*E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Bezier,b*a,E,a,(b+z)*E,(b+z)*a,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,b*E,(b-z)*a,E,0,(b+z)*E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,b*a,0,0,(b-z)*E,(b-z)*a,0)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a,b*E,(b+z)*a,0,a,(b-z)*E));var ne=new go.PathFigure(b*a,0,!1);return x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,b*a,.15*E)),ne.add(new go.PathSegment(go.PathSegment.Move,b*a,E)),ne.add(new go.PathSegment(go.PathSegment.Line,b*a,.85*E)),ne.add(new go.PathSegment(go.PathSegment.Move,0,b*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.15*a,b*E)),ne.add(new go.PathSegment(go.PathSegment.Move,a,b*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.85*a,b*E)),ne.add(new go.PathSegment(go.PathSegment.Move,b*a,b*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.58*a,.1*E)),ne.add(new go.PathSegment(go.PathSegment.Move,b*a,b*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.78*a,.54*E)),x}),go.Shape.defineFigureGenerator("Package",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,.15*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,.15*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close());var z=new go.PathFigure(0,.15*E,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,0,0)),z.add(new go.PathSegment(go.PathSegment.Line,.6*a,0)),z.add(new go.PathSegment(go.PathSegment.Line,.65*a,.15*E).close()),x.spot1=new go.Spot(0,.1),x.spot2=new go.Spot(1,1),x}),go.Shape.defineFigureGenerator("Class",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var z=new go.PathFigure(0,.2*E,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,.2*E).close());var ee=new go.PathFigure(0,.5*E,!1);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,.5*E).close()),x}),go.Shape.defineFigureGenerator("Component",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(a,E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.15*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.15*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E).close());var z=new go.PathFigure(0,.2*E,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.45*a,.2*E)),z.add(new go.PathSegment(go.PathSegment.Line,.45*a,.4*E)),z.add(new go.PathSegment(go.PathSegment.Line,0,.4*E)),z.add(new go.PathSegment(go.PathSegment.Line,0,.2*E).close());var ee=new go.PathFigure(0,.6*E,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.45*a,.6*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.45*a,.8*E)),ee.add(new go.PathSegment(go.PathSegment.Line,0,.8*E)),ee.add(new go.PathSegment(go.PathSegment.Line,0,.6*E).close()),x}),go.Shape.defineFigureGenerator("Boat Shipment",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.15*a,.6*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.15*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,.15*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.85*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,.85*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.15*a,.6*E));var z=new go.PathFigure(.15*a,.6*E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.85*a,.6*E)),x}),go.Shape.defineFigureGenerator("Customer/Supplier",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(a,E,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.66*a,.33*E)),b.add(new go.PathSegment(go.PathSegment.Line,.66*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.33*a,.33*E)),b.add(new go.PathSegment(go.PathSegment.Line,.33*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,0,.33*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E).close()),x}),go.Shape.defineFigureGenerator("Workcell",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,E,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.65*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.65*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,.35*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,.35*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),x}),go.Shape.defineFigureGenerator("Supermarket",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.33*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.33*E)),b.add(new go.PathSegment(go.PathSegment.Move,a,.33*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.66*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.66*E)),b.add(new go.PathSegment(go.PathSegment.Move,a,.66*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),x}),go.Shape.defineFigureGenerator("TruckShipment",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var z=new go.PathFigure(a,.8*E,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,.4*E)),z.add(new go.PathSegment(go.PathSegment.Line,.6*a,.4*E)),z.add(new go.PathSegment(go.PathSegment.Line,.6*a,.8*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,.8*E).close());var ee=.1,ne=pe*.1,ae=.2,re=.9,le=new go.PathFigure((ae-ee)*a,re*E,!0);x.add(le),le.add(new go.PathSegment(go.PathSegment.Bezier,ae*a,(re-ee)*E,(ae-ee)*a,(re-ne)*E,(ae-ne)*a,(re-ee)*E)),le.add(new go.PathSegment(go.PathSegment.Bezier,(ae+ee)*a,re*E,(ae+ne)*a,(re-ee)*E,(ae+ee)*a,(re-ne)*E)),le.add(new go.PathSegment(go.PathSegment.Bezier,ae*a,(re+ee)*E,(ae+ee)*a,(re+ne)*E,(ae+ne)*a,(re+ee)*E)),le.add(new go.PathSegment(go.PathSegment.Bezier,(ae-ee)*a,re*E,(ae-ne)*a,(re+ee)*E,(ae-ee)*a,(re+ne)*E).close()),ee=.1,ne=pe*.1,ae=.8,re=.9;var ce=new go.PathFigure((ae-ee)*a,re*E,!0);return x.add(ce),ce.add(new go.PathSegment(go.PathSegment.Bezier,ae*a,(re-ee)*E,(ae-ee)*a,(re-ne)*E,(ae-ne)*a,(re-ee)*E)),ce.add(new go.PathSegment(go.PathSegment.Bezier,(ae+ee)*a,re*E,(ae+ne)*a,(re-ee)*E,(ae+ee)*a,(re-ne)*E)),ce.add(new go.PathSegment(go.PathSegment.Bezier,ae*a,(re+ee)*E,(ae+ee)*a,(re+ne)*E,(ae+ne)*a,(re+ee)*E)),ce.add(new go.PathSegment(go.PathSegment.Bezier,(ae-ee)*a,re*E,(ae-ne)*a,(re+ee)*E,(ae-ee)*a,(re+ne)*E).close()),x}),go.Shape.defineFigureGenerator("KanbanPost",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.2*a,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,0)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,E)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,E)),x}),go.Shape.defineFigureGenerator("Forklift",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,0,0));var z=new go.PathFigure(0,.5*E,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,0,.8*E)),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,.8*E)),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),z.add(new go.PathSegment(go.PathSegment.Line,0,.5*E));var ee=new go.PathFigure(.5*a,.8*E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.5*a,.1*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.55*a,.1*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.55*a,.8*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.5*a,.8*E));var ne=new go.PathFigure(.5*a,.7*E,!1);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a,.7*E));var ae=.1,re=pe*.1,le=.1,ce=.9,Pe=new go.PathFigure((le-ae)*a,ce*E,!0);x.add(Pe),Pe.add(new go.PathSegment(go.PathSegment.Bezier,le*a,(ce-ae)*E,(le-ae)*a,(ce-re)*E,(le-re)*a,(ce-ae)*E)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(le+ae)*a,ce*E,(le+re)*a,(ce-ae)*E,(le+ae)*a,(ce-re)*E)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,le*a,(ce+ae)*E,(le+ae)*a,(ce+re)*E,(le+re)*a,(ce+ae)*E)),Pe.add(new go.PathSegment(go.PathSegment.Bezier,(le-ae)*a,ce*E,(le-re)*a,(ce+ae)*E,(le-ae)*a,(ce+re)*E)),ae=.1,re=pe*.1,le=.4,ce=.9;var de=new go.PathFigure((le-ae)*a,ce*E,!0);return x.add(de),de.add(new go.PathSegment(go.PathSegment.Bezier,le*a,(ce-ae)*E,(le-ae)*a,(ce-re)*E,(le-re)*a,(ce-ae)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,(le+ae)*a,ce*E,(le+re)*a,(ce-ae)*E,(le+ae)*a,(ce-re)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,le*a,(ce+ae)*E,(le+ae)*a,(ce+re)*E,(le+re)*a,(ce+ae)*E)),de.add(new go.PathSegment(go.PathSegment.Bezier,(le-ae)*a,ce*E,(le-re)*a,(ce+ae)*E,(le-ae)*a,(ce+re)*E)),x}),go.Shape.defineFigureGenerator("RailShipment",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.1*a,.4*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.45*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,.45*a,.9*E)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.9*E)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.4*E).close());var z=new go.PathFigure(.45*a,.7*E,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.55*a,.7*E));var ee=new go.PathFigure(.55*a,.4*E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.9*a,.4*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.9*a,.9*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.55*a,.9*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.55*a,.4*E).close());var le=.05,ce=pe*.05,Pe=.175,de=.95,ne=new go.PathFigure((Pe-le)*a,de*E,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Bezier,Pe*a,(de-le)*E,(Pe-le)*a,(de-ce)*E,(Pe-ce)*a,(de-le)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(Pe+le)*a,de*E,(Pe+ce)*a,(de-le)*E,(Pe+le)*a,(de-ce)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,Pe*a,(de+le)*E,(Pe+le)*a,(de+ce)*E,(Pe+ce)*a,(de+le)*E)),ne.add(new go.PathSegment(go.PathSegment.Bezier,(Pe-le)*a,de*E,(Pe-ce)*a,(de+le)*E,(Pe-le)*a,(de+ce)*E));var le=.05,ce=pe*.05,Pe=.375,de=.95,ae=new go.PathFigure((Pe-le)*a,de*E,!0);x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Bezier,Pe*a,(de-le)*E,(Pe-le)*a,(de-ce)*E,(Pe-ce)*a,(de-le)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(Pe+le)*a,de*E,(Pe+ce)*a,(de-le)*E,(Pe+le)*a,(de-ce)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,Pe*a,(de+le)*E,(Pe+le)*a,(de+ce)*E,(Pe+ce)*a,(de+le)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(Pe-le)*a,de*E,(Pe-ce)*a,(de+le)*E,(Pe-le)*a,(de+ce)*E));var le=.05,ce=pe*.05,Pe=.625,de=.95,re=new go.PathFigure((Pe-le)*a,de*E,!0);x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,Pe*a,(de-le)*E,(Pe-le)*a,(de-ce)*E,(Pe-ce)*a,(de-le)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,(Pe+le)*a,de*E,(Pe+ce)*a,(de-le)*E,(Pe+le)*a,(de-ce)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,Pe*a,(de+le)*E,(Pe+le)*a,(de+ce)*E,(Pe+ce)*a,(de+le)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,(Pe-le)*a,de*E,(Pe-ce)*a,(de+le)*E,(Pe-le)*a,(de+ce)*E));var le=.05,ce=pe*.05,Pe=.825,de=.95,Ee=new go.PathFigure((Pe-le)*a,de*E,!0);x.add(Ee),Ee.add(new go.PathSegment(go.PathSegment.Bezier,Pe*a,(de-le)*E,(Pe-le)*a,(de-ce)*E,(Pe-ce)*a,(de-le)*E)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,(Pe+le)*a,de*E,(Pe+ce)*a,(de-le)*E,(Pe+le)*a,(de-ce)*E)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,Pe*a,(de+le)*E,(Pe+le)*a,(de+ce)*E,(Pe+ce)*a,(de+le)*E)),Ee.add(new go.PathSegment(go.PathSegment.Bezier,(Pe-le)*a,de*E,(Pe-ce)*a,(de+le)*E,(Pe-le)*a,(de+ce)*E).close());var Fe=new go.PathFigure(0,E,!1);return x.add(Fe),Fe.add(new go.PathSegment(go.PathSegment.Line,a,E).close()),x}),go.Shape.defineFigureGenerator("Warehouse",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,0).close());var z=new go.PathFigure(0,.2*E,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,.2*E).close());var ee=new go.PathFigure(.15*a,E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.15*a,.5*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.4*a,.5*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.4*a,E)),ee.add(new go.PathSegment(go.PathSegment.Line,.15*a,E).close());var ne=.05,ae=pe*.05,re=.35,le=.775,ce=new go.PathFigure((re-ne)*a,le*E,!0);return x.add(ce),ce.add(new go.PathSegment(go.PathSegment.Bezier,re*a,(le-ne)*E,(re-ne)*a,(le-ae)*E,(re-ae)*a,(le-ne)*E)),ce.add(new go.PathSegment(go.PathSegment.Bezier,(re+ne)*a,le*E,(re+ae)*a,(le-ne)*E,(re+ne)*a,(le-ae)*E)),ce.add(new go.PathSegment(go.PathSegment.Bezier,re*a,(le+ne)*E,(re+ne)*a,(le+ae)*E,(re+ae)*a,(le+ne)*E)),ce.add(new go.PathSegment(go.PathSegment.Bezier,(re-ne)*a,le*E,(re-ae)*a,(le+ne)*E,(re-ne)*a,(le+ae)*E).close()),x}),go.Shape.defineFigureGenerator("ControlCenter",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,E,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Move,.1*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*E).close()),x}),go.Shape.defineFigureGenerator("Bluetooth",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,.75*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.75*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.25*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.75*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.25*E)),x}),go.Shape.defineFigureGenerator("Bookmark",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.4*E)),x}),go.Shape.defineFigureGenerator("Bookmark",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),b.add(new go.PathSegment(go.PathSegment.Line,0,0)),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Move,.2*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,.8*a,.4*E)),x}),go.Shape.defineFigureGenerator("Globe",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.5*a,0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),b.add(new go.PathSegment(go.PathSegment.Move,0,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,a,.5*E,.75*a,0,a,.25*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,a,.75*E,.75*a,E)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*E,.25*a,E,0,.75*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,0,.25*E,.25*a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,E,.15*a,.25*E,.15*a,.75*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,.85*a,.75*E,.85*a,.25*E)),b.add(new go.PathSegment(go.PathSegment.Move,.1675*a,.15*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.8325*a,.15*E,.35*a,.3*E,.65*a,.3*E)),b.add(new go.PathSegment(go.PathSegment.Move,.1675*a,.85*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.8325*a,.85*E,.35*a,.7*E,.65*a,.7*E)),x}),go.Shape.defineFigureGenerator("Wave",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,.25*E,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,.25*E,.1*a,0,.2*a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,.7*a,.25*E,.425*a,.5*E,.575*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,a,.25*E,.8*a,0,.9*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.75*E)),b.add(new go.PathSegment(go.PathSegment.Move,0,.25*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.75*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,.75*E,.1*a,.5*E,.2*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.7*a,.75*E,.425*a,E,.575*a,E)),b.add(new go.PathSegment(go.PathSegment.Bezier,a,.75*E,.8*a,.5*E,.9*a,.5*E)),x}),go.Shape.defineFigureGenerator("Operator",function(oe,a,E){var x=new go.Geometry,b=.3,z=pe*.3,ee=.5,ne=.7,ae=new go.PathFigure((ee-b)*a,ne*E,!0);x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne-b)*E,(ee-b)*a,(ne-z)*E,(ee-z)*a,(ne-b)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*a,ne*E,(ee+z)*a,(ne-b)*E,(ee+b)*a,(ne-z)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne+b)*E,(ee+b)*a,(ne+z)*E,(ee+z)*a,(ne+b)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*a,ne*E,(ee-z)*a,(ne+b)*E,(ee-b)*a,(ne+z)*E));var re=new go.PathFigure(0,.7*E,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,a,.7*E,0,0,a,0)),x}),go.Shape.defineFigureGenerator("TripleFanBlades",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.5*a,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.65*E,.65*a,.3*E,.65*a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,.35*a,.5*E,.35*a,.3*E)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,.65*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,E,.3*a,.6*E,.1*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.65*E,.2*a,E,.35*a,.95*E)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,.65*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,a,E,.7*a,.6*E,.9*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.65*E,.8*a,E,.65*a,.95*E)),x}),go.Shape.defineFigureGenerator("CentrifugalPump",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(a,0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*E,0,.075*E,0,.5*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.4*a,E,0,E,.4*a,E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.4*E,.8*a,E,.85*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,0)),x}),go.Shape.defineFigureGenerator("Battery",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,.1*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.1*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Move,.4*a,.1*E)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,.1*E));var z=new go.PathFigure(0,.6*E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Move,0,.4*E)),z.add(new go.PathSegment(go.PathSegment.Line,a,.4*E)),x}),go.Shape.defineFigureGenerator("Delete",function(oe,a,E){var x=new go.Geometry,b=.5,z=pe*.5,ee=.5,ne=.5,ae=new go.PathFigure((ee-b)*a,ne*E,!0);x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne-b)*E,(ee-b)*a,(ne-z)*E,(ee-z)*a,(ne-b)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*a,ne*E,(ee+z)*a,(ne-b)*E,(ee+b)*a,(ne-z)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne+b)*E,(ee+b)*a,(ne+z)*E,(ee+z)*a,(ne+b)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*a,ne*E,(ee-z)*a,(ne+b)*E,(ee-b)*a,(ne+z)*E));var re=new go.PathFigure(.15*a,.5*E,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,.85*a,.5*E)),x}),go.Shape.defineFigureGenerator("Flag",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,.1*E,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Move,0,.1*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.1*E,.15*a,0,.35*a,0)),b.add(new go.PathSegment(go.PathSegment.Bezier,a,.1*E,.65*a,.2*E,.85*a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.5*E,.85*a,.6*E,.65*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.5*E,.35*a,.4*E,.15*a,.4*E).close()),x}),go.Shape.defineFigureGenerator("Help",function(oe,a,E){var x=new go.Geometry,b=.5,z=pe*.5,ee=.5,ne=.5,ae=new go.PathFigure((ee-b)*a,ne*E,!1);x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne-b)*E,(ee-b)*a,(ne-z)*E,(ee-z)*a,(ne-b)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*a,ne*E,(ee+z)*a,(ne-b)*E,(ee+b)*a,(ne-z)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne+b)*E,(ee+b)*a,(ne+z)*E,(ee+z)*a,(ne+b)*E)),ae.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*a,ne*E,(ee-z)*a,(ne+b)*E,(ee-b)*a,(ne+z)*E).close()),b=.05,z=pe*.05,ee=.5,ne=.8;var re=new go.PathFigure((ee-b)*a,ne*E,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne-b)*E,(ee-b)*a,(ne-z)*E,(ee-z)*a,(ne-b)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,(ee+b)*a,ne*E,(ee+z)*a,(ne-b)*E,(ee+b)*a,(ne-z)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,ee*a,(ne+b)*E,(ee+b)*a,(ne+z)*E,(ee+z)*a,(ne+b)*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,(ee-b)*a,ne*E,(ee-z)*a,(ne+b)*E,(ee-b)*a,(ne+z)*E).close()),re.add(new go.PathSegment(go.PathSegment.Move,.5*a,.7*E)),re.add(new go.PathSegment(go.PathSegment.Line,.5*a,.5*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,.5*a,.2*E,.75*a,.475*E,.75*a,.225*E)),re.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,.35*E,.4*a,.2*E,.3*a,.25*E)),x}),go.Shape.defineFigureGenerator("Location",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(.5*a,E,!0).add(new go.PathSegment(go.PathSegment.Line,.75*a,.5*E)).add(new go.PathSegment(go.PathSegment.Bezier,.5*a,0,.975*a,.025*E,.5*a,0)).add(new go.PathSegment(go.PathSegment.Bezier,.25*a,.5*E,.5*a,0,.025*a,.025*E).close()).add(new go.PathSegment(go.PathSegment.Move,.5*a,.2*E)).add(new go.PathSegment(go.PathSegment.Arc,270,360,.5*a,.3*E,.1*a,.1*E).close()))}),go.Shape.defineFigureGenerator("Lock",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,.5*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.5*E));var z=new go.PathFigure(.2*a,.5*E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Move,.2*a,.5*E)),z.add(new go.PathSegment(go.PathSegment.Line,.2*a,.3*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.3*E,.25*a,0,.75*a,0)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.5*E)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.3*E)),x}),go.Shape.defineFigureGenerator("Unlocked",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,.5*E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,a,.5*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.5*E));var z=new go.PathFigure(.2*a,.5*E,!1);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Move,.2*a,.5*E)),z.add(new go.PathSegment(go.PathSegment.Line,.2*a,.3*E)),z.add(new go.PathSegment(go.PathSegment.Bezier,.8*a,.3*E,.25*a,0,.75*a,0)),z.add(new go.PathSegment(go.PathSegment.Line,.8*a,.35*E)),x}),go.Shape.defineFigureGenerator("Gear",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(.9375*a,.56246875*E,!0).add(new go.PathSegment(go.PathSegment.Line,.9375*a,.4375*E)).add(new go.PathSegment(go.PathSegment.Line,.80621875*a,.4375*E)).add(new go.PathSegment(go.PathSegment.Bezier,.763*a,.3316875*E,.79840625*a,.39915625*E,.7834375*a,.3635*E)).add(new go.PathSegment(go.PathSegment.Line,.8566875*a,.23796875*E)).add(new go.PathSegment(go.PathSegment.Line,.76825*a,.14959375*E)).add(new go.PathSegment(go.PathSegment.Line,.67596875*a,.24184375*E)).add(new go.PathSegment(go.PathSegment.Bezier,.5625*a,.19378125*E,.64228125*a,.2188125*E,.603875*a,.2021875*E)).add(new go.PathSegment(go.PathSegment.Line,.5625*a,.0625*E)).add(new go.PathSegment(go.PathSegment.Line,.4375*a,.0625*E)).add(new go.PathSegment(go.PathSegment.Line,.4375*a,.19378125*E)).add(new go.PathSegment(go.PathSegment.Bezier,.32775*a,.239375*E,.39759375*a,.20190625*E,.36053125*a,.2176875*E)).add(new go.PathSegment(go.PathSegment.Line,.2379375*a,.14959375*E)).add(new go.PathSegment(go.PathSegment.Line,.14953125*a,.2379375*E)).add(new go.PathSegment(go.PathSegment.Line,.23934375*a,.3278125*E)).add(new go.PathSegment(go.PathSegment.Bezier,.19378125*a,.4375*E,.21765625*a,.36059375*E,.201875*a,.397625*E)).add(new go.PathSegment(go.PathSegment.Line,.0625*a,.4375*E)).add(new go.PathSegment(go.PathSegment.Line,.0625*a,.5625*E)).add(new go.PathSegment(go.PathSegment.Line,.1938125*a,.5625*E)).add(new go.PathSegment(go.PathSegment.Bezier,.241875*a,.67596875*E,.20221875*a,.603875*E,.21884375*a,.64228125*E)).add(new go.PathSegment(go.PathSegment.Line,.1495625*a,.76825*E)).add(new go.PathSegment(go.PathSegment.Line,.238*a,.8566875*E)).add(new go.PathSegment(go.PathSegment.Line,.3316875*a,.76296875*E)).add(new go.PathSegment(go.PathSegment.Bezier,.43753125*a,.80621875*E,.36353125*a,.78340625*E,.3991875*a,.79840625*E)).add(new go.PathSegment(go.PathSegment.Line,.43753125*a,.9375*E)).add(new go.PathSegment(go.PathSegment.Line,.5625*a,.9375*E)).add(new go.PathSegment(go.PathSegment.Line,.5625*a,.80621875*E)).add(new go.PathSegment(go.PathSegment.Bezier,.67225*a,.760625*E,.602375*a,.79809375*E,.63946875*a,.78234375*E)).add(new go.PathSegment(go.PathSegment.Line,.76828125*a,.8566875*E)).add(new go.PathSegment(go.PathSegment.Line,.85671875*a,.76825*E)).add(new go.PathSegment(go.PathSegment.Line,.76065625*a,.67221875*E)).add(new go.PathSegment(go.PathSegment.Bezier,.80621875*a,.56246875*E,.78234375*a,.63940625*E,.798125*a,.602375*E)).add(new go.PathSegment(go.PathSegment.Line,.9375*a,.56246875*E).close()).add(new go.PathSegment(go.PathSegment.Move,.5*a,.6*E)).add(new go.PathSegment(go.PathSegment.Arc,90,360,.5*a,.5*E,.1*a,.1*E).close()))}),go.Shape.defineFigureGenerator("Hand",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,.5*E,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Bezier,.1*a,.3*E,0,.375*E,.05*a,.325*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.45*a,.075*E,.3*a,.225*E,.4*a,.175*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.525*a,.075*E,.46*a,.05*E,.525*a,.05*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.3*a,.4*E,.525*a,.275*E,.475*a,.325*E)),b.add(new go.PathSegment(go.PathSegment.Line,.9*a,.4*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,.55*E,a,.4*E,a,.55*E)),b.add(new go.PathSegment(go.PathSegment.Line,.425*a,.55*E)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,.55*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.6*a,.7*E,.675*a,.55*E,.675*a,.7*E)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,.7*E)),b.add(new go.PathSegment(go.PathSegment.Line,.575*a,.7*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.575*a,.85*E,.65*a,.7*E,.65*a,.85*E)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,.85*E)),b.add(new go.PathSegment(go.PathSegment.Line,.525*a,.85*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.535*a,E,.61*a,.85*E,.61*a,E)),b.add(new go.PathSegment(go.PathSegment.Bezier,0,.9*E,.435*a,E,0,E).close()),x}),go.Shape.defineFigureGenerator("Map",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,.2*E,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.25*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),b.add(new go.PathSegment(go.PathSegment.Line,.25*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,E).close()),b.add(new go.PathSegment(go.PathSegment.Move,.25*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.25*a,.8*E)),b.add(new go.PathSegment(go.PathSegment.Move,.5*a,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,E)),b.add(new go.PathSegment(go.PathSegment.Move,.75*a,0)),b.add(new go.PathSegment(go.PathSegment.Line,.75*a,.8*E)),x}),go.Shape.defineFigureGenerator("Eject",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,E,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a,E)),b.add(new go.PathSegment(go.PathSegment.Line,a,E*.7)),b.add(new go.PathSegment(go.PathSegment.Line,0,E*.7).close());var z=new go.PathFigure(0,E*.6,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a,.6*E)),z.add(new go.PathSegment(go.PathSegment.Line,.5*a,0).close()),x}),go.Shape.defineFigureGenerator("Pencil",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,.2*a,.1*E)).add(new go.PathSegment(go.PathSegment.Line,a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.9*a,E)).add(new go.PathSegment(go.PathSegment.Line,.1*a,.2*E).close()))}),go.Shape.defineFigureGenerator("Building",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(a*1,E*1,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,E*1)),b.add(new go.PathSegment(go.PathSegment.Line,0,E*.85)),b.add(new go.PathSegment(go.PathSegment.Line,.046*a,E*.85)),b.add(new go.PathSegment(go.PathSegment.Line,.046*a,E*.45)),b.add(new go.PathSegment(go.PathSegment.Line,0,E*.45)),b.add(new go.PathSegment(go.PathSegment.Line,0,E*.3)),b.add(new go.PathSegment(go.PathSegment.Line,.046*a,E*.3)),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,E*0)),b.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*a,E*.3)),b.add(new go.PathSegment(go.PathSegment.Line,a,E*.3)),b.add(new go.PathSegment(go.PathSegment.Line,a,E*.45)),b.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*a,E*.45)),b.add(new go.PathSegment(go.PathSegment.Line,(1-.046)*a,E*.85)),b.add(new go.PathSegment(go.PathSegment.Line,a,E*.85).close());var z=new go.PathFigure(.126*a,.85*E,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,.126*a,.45*E)),z.add(new go.PathSegment(go.PathSegment.Line,.322*a,.45*E)),z.add(new go.PathSegment(go.PathSegment.Line,.322*a,.85*E).close());var ee=new go.PathFigure(.402*a,.85*E,!1);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,.402*a,.45*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.598*a,.45*E)),ee.add(new go.PathSegment(go.PathSegment.Line,.598*a,.85*E).close());var ne=new go.PathFigure(.678*a,.85*E,!1);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,.678*a,.45*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.874*a,.45*E)),ne.add(new go.PathSegment(go.PathSegment.Line,.874*a,.85*E).close());var ae=new go.PathFigure(.5*a,.1*E,!1);return x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Line,(.046+.15)*a,.3*E)),ae.add(new go.PathSegment(go.PathSegment.Line,(1-(.046+.15))*a,.3*E).close()),x}),go.Shape.defineFigureGenerator("Staircase",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,E*1,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.2,E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.2,E*.8)),b.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.8)),b.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.6)),b.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*.6)),b.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*.4)),b.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*.4)),b.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*.2)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.2)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.15)),b.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*.15)),b.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*.35)),b.add(new go.PathSegment(go.PathSegment.Line,a*.55,E*.35)),b.add(new go.PathSegment(go.PathSegment.Line,a*.55,E*.55)),b.add(new go.PathSegment(go.PathSegment.Line,a*.35,E*.55)),b.add(new go.PathSegment(go.PathSegment.Line,a*.35,E*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.15,E*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.15,E*.95)),b.add(new go.PathSegment(go.PathSegment.Line,0,E*.95).close()),x}),go.Shape.defineFigureGenerator("5Bars",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,E*1,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.184,E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.184,E*(1-.184)).close());var z=new go.PathFigure(a*.204,E,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a*.204,E*(1-.184))),z.add(new go.PathSegment(go.PathSegment.Line,a*.388,E*(1-.184*2))),z.add(new go.PathSegment(go.PathSegment.Line,a*.388,E*1).close());var ee=new go.PathFigure(a*.408,E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a*.408,E*(1-.184*2))),ee.add(new go.PathSegment(go.PathSegment.Line,a*.592,E*(1-.184*3))),ee.add(new go.PathSegment(go.PathSegment.Line,a*.592,E*1).close());var ne=new go.PathFigure(a*.612,E,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a*.612,E*(1-.184*3))),ne.add(new go.PathSegment(go.PathSegment.Line,a*.796,E*(1-.184*4))),ne.add(new go.PathSegment(go.PathSegment.Line,a*.796,E*1).close());var ae=new go.PathFigure(a*.816,E,!0);return x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Line,a*.816,E*(1-.184*4))),ae.add(new go.PathSegment(go.PathSegment.Line,a*1,E*(1-.184*5))),ae.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1).close()),x}),go.Shape.defineFigureGenerator("PC",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,0,E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.3,E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.3,0).close());var z=new go.PathFigure(a*.055,.07*E,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a*.245,E*.07)),z.add(new go.PathSegment(go.PathSegment.Line,a*.245,E*.1)),z.add(new go.PathSegment(go.PathSegment.Line,a*.055,E*.1).close());var ee=new go.PathFigure(a*.055,.13*E,!0);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a*.245,E*.13)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.245,E*.16)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.055,E*.16).close());var ne=new go.PathFigure(a*.055,.18*E,!0);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a*.245,E*.18)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.245,E*.21)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.055,E*.21).close());var ae=new go.PathFigure(a*1,0,!0);return x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Line,a*.4,0)),ae.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.65)),ae.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.65).close()),x}),go.Shape.defineFigureGenerator("Plane",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(.55*a,E,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,.7*E)),b.add(new go.PathSegment(go.PathSegment.Line,.1*a,.475*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.35*a,.525*E,0,.4*E,.225*a,.45*E)),b.add(new go.PathSegment(go.PathSegment.Line,.4*a,.475*E)),b.add(new go.PathSegment(go.PathSegment.Line,.15*a,.35*E)),b.add(new go.PathSegment(go.PathSegment.Line,.2*a,.325*E)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,.325*E)),b.add(new go.PathSegment(go.PathSegment.Line,.85*a,.1*E)),b.add(new go.PathSegment(go.PathSegment.Bezier,.9*a,.2*E,.975*a,0,a,.08*E)),b.add(new go.PathSegment(go.PathSegment.Line,.7*a,.45*E)),b.add(new go.PathSegment(go.PathSegment.Line,.6*a,.95*E)),b.add(new go.PathSegment(go.PathSegment.Line,.55*a,E).close()),x}),go.Shape.defineFigureGenerator("Key",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(a*1,E*.5,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.9,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,.4*E)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,.35*E)),b.add(new go.PathSegment(go.PathSegment.Line,a*.45,.35*E)),b.add(new go.PathSegment(go.PathSegment.Line,a*.3,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,a*.15,.2*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.35*E)),b.add(new go.PathSegment(go.PathSegment.Line,0,.65*E)),b.add(new go.PathSegment(go.PathSegment.Line,a*.15,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,a*.3,.8*E)),b.add(new go.PathSegment(go.PathSegment.Line,a*.45,.65*E)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,.65*E)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,a*.6,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,a*.65,.55*E)),b.add(new go.PathSegment(go.PathSegment.Line,a*.7,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,a*.75,.55*E)),b.add(new go.PathSegment(go.PathSegment.Line,a*.8,.6*E)),b.add(new go.PathSegment(go.PathSegment.Line,a*.85,.575*E)),b.add(new go.PathSegment(go.PathSegment.Line,a*.9,.6*E).close()),b.add(new go.PathSegment(go.PathSegment.Move,.17*a,.425*E)),b.add(new go.PathSegment(go.PathSegment.Arc,270,360,.17*a,.5*E,.075*a,.075*E).close()),x}),go.Shape.defineFigureGenerator("FilmTape",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(0,0,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Arc,270,180,a*0,a*.3,a*.055)),b.add(new go.PathSegment(go.PathSegment.Line,0,E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.08,E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.08,E*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*1),E*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*1),E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*2),E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*2),E*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*3),E*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*3),E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*4),E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*4),E*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*5),E*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*5),E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*6),E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*6),E*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*7),E*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*7),E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*8),E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*8),E*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*9),E*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*9),E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*10),E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*10),E*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*11),E*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*11),E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*12),E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*12),E*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*13),E*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*13),E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*14),E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*14),E*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*15),E*.95)),b.add(new go.PathSegment(go.PathSegment.Line,a*(.08+.056*15),E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1));var z=new go.PathFigure(0,0,!1);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a*1,E*0)),z.add(new go.PathSegment(go.PathSegment.Arc,270,-180,a*1,a*.3,a*.055)),z.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1));var ee=new go.PathFigure(a*.11,E*.1,!1);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*1+.028*0),E*.1)),ee.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*1+.028*0),E*.8)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.11,E*.8).close());var ne=new go.PathFigure(a*(.11+.24133333*1+.028*1),E*.1,!1);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*2+.028*1),E*.1)),ne.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*2+.028*1),E*.8)),ne.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*1+.028*1),E*.8).close());var ae=new go.PathFigure(a*(.11+.24133333*2+.028*2),E*.1,!1);return x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*3+.028*2),E*.1)),ae.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*3+.028*2),E*.8)),ae.add(new go.PathSegment(go.PathSegment.Line,a*(.11+.24133333*2+.028*2),E*.8).close()),x}),go.Shape.defineFigureGenerator("FloppyDisk",function(oe,a,E){var x=new go.Geometry,b=8,z=b*pe,ee=new go.PathFigure(b,0,!1);x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a*.86,0)),ee.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.14)),ee.add(new go.PathSegment(go.PathSegment.Line,a,E-b)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a-b,E,a,E-z,a-z,E)),ee.add(new go.PathSegment(go.PathSegment.Line,b,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,E-b,z,E,0,E-z)),ee.add(new go.PathSegment(go.PathSegment.Line,0,b)),ee.add(new go.PathSegment(go.PathSegment.Bezier,b,0,0,z,z,0).close());var ne=new go.PathFigure(a*.83,0,!1);x.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a*.83,E*.3)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.17,E*.3)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.17,E*0).close());var ae=new go.PathFigure(a*.83,E*1,!1);x.add(ae),ae.add(new go.PathSegment(go.PathSegment.Line,a*.83,E*.5)),ae.add(new go.PathSegment(go.PathSegment.Line,a*.17,E*.5)),ae.add(new go.PathSegment(go.PathSegment.Line,a*.17,E*1).close());var re=new go.PathFigure(a*.78,E*.05,!1);return x.add(re),re.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*.05)),re.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*.25)),re.add(new go.PathSegment(go.PathSegment.Line,a*.78,E*.25).close()),x}),go.Shape.defineFigureGenerator("SpeechBubble",function(oe,a,E){var x=oe?oe.parameter1:NaN;(isNaN(x)||x<0)&&(x=15),x=Math.min(x,a/3),x=Math.min(x,E/3);var b=x*pe,z=E*.8,ee=new go.Geometry,ne=new go.PathFigure(x,0,!0);return ee.add(ne),ne.add(new go.PathSegment(go.PathSegment.Line,a-x,0)),ne.add(new go.PathSegment(go.PathSegment.Bezier,a,x,a-b,0,a,b)),ne.add(new go.PathSegment(go.PathSegment.Line,a,z-x)),ne.add(new go.PathSegment(go.PathSegment.Bezier,a-x,z,a,z-b,a-b,z)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.7,z)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.7,E)),ne.add(new go.PathSegment(go.PathSegment.Line,a*.55,z)),ne.add(new go.PathSegment(go.PathSegment.Line,x,z)),ne.add(new go.PathSegment(go.PathSegment.Bezier,0,z-x,b,z,0,z-b)),ne.add(new go.PathSegment(go.PathSegment.Line,0,x)),ne.add(new go.PathSegment(go.PathSegment.Bezier,x,0,0,b,b,0).close()),b>1?(ee.spot1=new go.Spot(0,0,b,b),ee.spot2=new go.Spot(1,.8,-b,-b)):(ee.spot1=go.Spot.TopLeft,ee.spot2=new go.Spot(1,.8)),ee}),go.Shape.defineFigureGenerator("Repeat",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(a*0,E*.45,!0);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.25,E*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*.45)),b.add(new go.PathSegment(go.PathSegment.Line,a*.3,E*.45)),b.add(new go.PathSegment(go.PathSegment.Line,a*.3,E*.9)),b.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*.9)),b.add(new go.PathSegment(go.PathSegment.Line,a*.65,E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.2,E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.2,E*.45).close());var z=new go.PathFigure(a*1,E*.55,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*1)),z.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*.55)),z.add(new go.PathSegment(go.PathSegment.Line,a*.7,E*.55)),z.add(new go.PathSegment(go.PathSegment.Line,a*.7,E*.1)),z.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.1)),z.add(new go.PathSegment(go.PathSegment.Line,a*.35,E*0)),z.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*0)),z.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*.55).close()),x}),go.Shape.defineFigureGenerator("Windows",function(oe,a,E){return new go.Geometry().add(new go.PathFigure(0,0,!0).add(new go.PathSegment(go.PathSegment.Line,a,0)).add(new go.PathSegment(go.PathSegment.Line,a,E)).add(new go.PathSegment(go.PathSegment.Line,0,E).close()).add(new go.PathSegment(go.PathSegment.Move,.4*a,.4*E)).add(new go.PathSegment(go.PathSegment.Line,.4*a,.8*E)).add(new go.PathSegment(go.PathSegment.Line,.9*a,.8*E)).add(new go.PathSegment(go.PathSegment.Line,.9*a,.4*E).close()).add(new go.PathSegment(go.PathSegment.Move,.2*a,.1*E)).add(new go.PathSegment(go.PathSegment.Line,.2*a,.6*E)).add(new go.PathSegment(go.PathSegment.Line,.7*a,.6*E)).add(new go.PathSegment(go.PathSegment.Line,.7*a,.1*E).close()).add(new go.PathSegment(go.PathSegment.Move,.1*a,.6*E)).add(new go.PathSegment(go.PathSegment.Line,.1*a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.5*a,.9*E)).add(new go.PathSegment(go.PathSegment.Line,.5*a,.6*E).close()))}),go.Shape.defineFigureGenerator("Terminal",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(a*0,E*.1,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.1)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.9)),b.add(new go.PathSegment(go.PathSegment.Line,a*0,E*.9).close());var z=new go.PathFigure(a*.1,E*.2,!0);x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a*.1,E*.25)),z.add(new go.PathSegment(go.PathSegment.Line,a*.22,E*.285)),z.add(new go.PathSegment(go.PathSegment.Line,a*.1,E*.32)),z.add(new go.PathSegment(go.PathSegment.Line,a*.1,E*.37)),z.add(new go.PathSegment(go.PathSegment.Line,a*.275,E*.32)),z.add(new go.PathSegment(go.PathSegment.Line,a*.275,E*.25).close());var ee=new go.PathFigure(a*.28,E*.37,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a*.45,E*.37)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.45,E*.41)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.28,E*.41).close()),x}),go.Shape.defineFigureGenerator("Beaker",function(oe,a,E){var x=new go.Geometry,b=15,z=b*pe,ee=new go.PathFigure(a*.62,E*.475,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a,E-b)),ee.add(new go.PathSegment(go.PathSegment.Bezier,a-b,E,a,E-z,a-z,E)),ee.add(new go.PathSegment(go.PathSegment.Line,b,E)),ee.add(new go.PathSegment(go.PathSegment.Bezier,0,E-b,z,E,0,E-z)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.38,E*.475)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.38,E*.03)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.36,E*0)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.64,E*0)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.62,E*.03).close()),z>1?(x.spot1=new go.Spot(0,0,z,z),x.spot2=new go.Spot(1,1,-z,-z)):(x.spot1=go.Spot.TopLeft,x.spot2=go.Spot.BottomRight),x}),go.Shape.defineFigureGenerator("Download",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(a*0,E*1,!0);x.add(b);var z=.1/.3;b.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,E*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*.755,E*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*.93,E*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.64,E*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.61,E*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.39,E*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.36,E*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.07,E*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.755),E*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),E*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),E*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.8),E*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*0,E*(1-z)).close());var ee=new go.PathFigure(a*.4,E*0,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.44)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.26,E*.44)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*.66)),ee.add(new go.PathSegment(go.PathSegment.Line,a*(1-.26),E*.44)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*.44)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*0).close()),x}),go.Shape.defineFigureGenerator("Bin",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(a*0,E*1,!0);x.add(b);var z=.1/.3;return b.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,E*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*.755,E*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*.93,E*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.64,E*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.61,E*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.39,E*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.36,E*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.07,E*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.755),E*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),E*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),E*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.8),E*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*0,E*(1-z)).close()),x}),go.Shape.defineFigureGenerator("Upload",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(a*0,E*1,!0);x.add(b);var z=.1/.3;b.add(new go.PathSegment(go.PathSegment.Line,a*1,E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,E*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.8,E*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.66,E*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*.755,E*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*.93,E*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.64,E*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.61,E*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.39,E*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.36,E*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*.07,E*(1-z))),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.755),E*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),E*.055)),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.66),E*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*(1-.8),E*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*0,E*(1-z)).close());var ee=new go.PathFigure(a*.5,E*0,!0);return x.add(ee),ee.add(new go.PathSegment(go.PathSegment.Line,a*.26,E*.25)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.25)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.4,E*.63)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*.63)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.6,E*.25)),ee.add(new go.PathSegment(go.PathSegment.Line,a*.74,E*.25).close()),x}),go.Shape.defineFigureGenerator("EmptyDrink",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(a*.15,E*0,!1);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.85,E*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.7,E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.3,E*1).close()),x}),go.Shape.defineFigureGenerator("Drink",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(a*.15,E*0,!1);x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.85,E*0)),b.add(new go.PathSegment(go.PathSegment.Line,a*.7,E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.3,E*1).close());var z=new go.PathFigure(a*.235,E*.28,!0);return x.add(z),z.add(new go.PathSegment(go.PathSegment.Line,a*.765,E*.28)),z.add(new go.PathSegment(go.PathSegment.Line,a*.655,E*.97)),z.add(new go.PathSegment(go.PathSegment.Line,a*.345,E*.97).close()),x}),go.Shape.defineFigureGenerator("4Arrows",function(oe,a,E){var x=new go.Geometry,b=new go.PathFigure(a*.5,E*0,!0);return x.add(b),b.add(new go.PathSegment(go.PathSegment.Line,a*.65,E*.25)),b.add(new go.PathSegment(go.PathSegment.Line,a*.55,E*.25)),b.add(new go.PathSegment(go.PathSegment.Line,a*.55,E*.45)),b.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*.45)),b.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*.35)),b.add(new go.PathSegment(go.PathSegment.Line,a*1,E*.5)),b.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*.65)),b.add(new go.PathSegment(go.PathSegment.Line,a*.75,E*.55)),b.add(new go.PathSegment(go.PathSegment.Line,a*.55,E*.55)),b.add(new go.PathSegment(go.PathSegment.Line,a*.55,E*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.65,E*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.5,E*1)),b.add(new go.PathSegment(go.PathSegment.Line,a*.35,E*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.45,E*.75)),b.add(new go.PathSegment(go.PathSegment.Line,a*.45,E*.55)),b.add(new go.PathSegment(go.PathSegment.Line,a*.25,E*.55)),b.add(new go.PathSegment(go.PathSegment.Line,a*.25,E*.65)),b.add(new go.PathSegment(go.PathSegment.Line,a*0,E*.5)),b.add(new go.PathSegment(go.PathSegment.Line,a*.25,E*.35)),b.add(new go.PathSegment(go.PathSegment.Line,a*.25,E*.45)),b.add(new go.PathSegment(go.PathSegment.Line,a*.45,E*.45)),b.add(new go.PathSegment(go.PathSegment.Line,a*.45,E*.25)),b.add(new go.PathSegment(go.PathSegment.Line,a*.35,E*.25).close()),x}),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")},43001: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 Oe={},tt="5.0",te={},y=null,ie=!1,Ce=!1,ge=null,Se=!1,Be=null,pe=null,be=0;be4?parseFloat(Le):5};Oe.setHTML5Codebase=function(Le,ye){pe=Le,$e(Le,ye)},Oe.setJavaCodebase=Oe.setJavaCodebaseVersion=Oe.isCompiledInstalled=Oe.setPreCompiledScriptPath=Oe.setPreCompiledResourcePath=function(){},Oe.setHTML5CodebaseVersion=function(Le,ye){var Ie=parseFloat(Le);if(Ie!==NaN&&Ie<5){console.log("The GeoGebra HTML5 codebase version "+Ie+" is deprecated. Using version latest instead.");return}Be=Le,Te(Le,ye)},Oe.getHTML5CodebaseVersion=function(){return oe},Oe.getParameters=function(){return te},Oe.setFontsCSSURL=function(Le){ee=Le},Oe.setGiacJSURL=function(Le){},Oe.setJNLPFile=function(Le){ue=Le},Oe.setJNLPBaseDir=function(Le){},Oe.inject=function(){function Le(){return window.frameElement&&window.frameElement.getAttribute("data-singleton")}for(var ye="auto",Ie=te.id,we,Ye=!1,Ae=0;Ae=5)return!0;var Le=Oe.getAppletObject();return Le&&typeof Le.recalculateEnvironments=="function"?(Le.recalculateEnvironments(),!0):!1},Oe.startAnimation=function(){var Le=Oe.getAppletObject();return Le&&typeof Le.startAnimation=="function"?(Le.startAnimation(),!0):!1},Oe.stopAnimation=function(){var Le=Oe.getAppletObject();return Le&&typeof Le.stopAnimation=="function"?(Le.stopAnimation(),!0):!1},Oe.getAppletObject=function(){var Le=te.id!==void 0?te.id:"ggbApplet";return window[Le]},Oe.resize=function(){};var Ee=function(Le,ye,Ie){var we=document.createElement("param");we.setAttribute("name",ye),we.setAttribute("value",Ie),Le.appendChild(we)},Fe=function(Le){return Le&&Le!=="false"},he=function(Le,ye,Ie){ae(oe)<=4.2&&(Ie=!0);var we=!isRenderGGBElementEnabled&&!scriptLoadStarted;(!isRenderGGBElementEnabled&&!scriptLoadStarted||ggbHTML5LoadedCodebaseVersion!==oe||ggbHTML5LoadedCodebaseIsWebSimple&&!E)&&(we=!0,isRenderGGBElementEnabled=!1,scriptLoadStarted=!1);var Ye=document.createElement("div");Ye.classList.add("appletParameters","notranslate");var Ae=ye.width,je=ye.height;if(ye.disableAutoScale=ye.disableAutoScale===void 0?GGBAppletUtils.isFlexibleWorksheetEditor():ye.disableAutoScale,ye.width!==void 0)if(ae(oe)<=4.4)Fe(ye.showToolBar)&&(ye.height-=7),Fe(ye.showAlgebraInput)&&(ye.height-=37),ye.width<605&&Fe(ye.showToolBar)&&(ye.width=605,Ae=605);else{var it=100;(Fe(ye.showToolBar)||Fe(ye.showMenuBar))&&(ye.hasOwnProperty("customToolBar")&&(ye.customToolbar=ye.customToolBar),it=Fe(ye.showMenuBar)?245:155),Ae=5?(ye.appletOnLoad=function(st){var Me=Le.querySelector(".ggb_preview");Me&&Me.parentNode.removeChild(Me),window.GGBT_spinner&&window.GGBT_spinner.removeSpinner(De),window.GGBT_wsf_view&&$(window).trigger("resize"),ht(st)},dt||De.appendChild(Je)):Ye.appendChild(Je),De.appendChild(Ye),dt||Le.appendChild(De),setTimeout(function(){Oe.resize()},1)}else{var At=document.createElement("div");At.className="applet_scaler",At.style.position="relative",At.style.display="block",At.appendChild(Ye),Le.appendChild(At),ye.appletOnLoad=function(st){Oe.resize(),ht(st)}}function wt(st,Me){Me&&typeof Me.appletOnLoad=="function"&&typeof renderGGBElement=="function"?renderGGBElement(st,Me.appletOnLoad):renderGGBElement(st),Xe("GeoGebra HTML5 applet injected and rendered with previously loaded codebase.",Me)}function et(st,Me){typeof renderGGBElement=="undefined"?(html5AppletsToProcess===null&&(html5AppletsToProcess=[]),html5AppletsToProcess.push({article:st,params:Me}),window.renderGGBElementReady=function(){isRenderGGBElementEnabled=!0,html5AppletsToProcess!==null&&html5AppletsToProcess.length&&(html5AppletsToProcess.forEach(function(xt){wt(xt.article,xt.params)}),html5AppletsToProcess=null)},ae(oe)<5&&(st.className+=" geogebraweb")):wt(st,Me)}if(we){scriptLoadStarted=!0;for(var Ve=0;Ve0?(lt.remove(),De.attr("id","fullscreencontent").show(),jQuery(ht).append(De),window.dispatchEvent(new Event("resize"))):he(lt,ye,!1),window.GGBT_wsf_view.launchFullScreen(ht)}else ze=we,he(Le,ye,!1);if(!window.GGBT_wsf_view)for(je=0;jeLe/4*3&&(lt=Le/4*3),ht=lt/5.8,it.setAttribute("src",b),it.setAttribute("width",lt),it.setAttribute("height",ht);var De=(Le-lt)/2,dt=(ye-ht)/2;it.style.left=De+"px",it.style.top=dt+"px",Ye.appendChild(it)}}return Ye.appendChild(je),Ye},qe=function(Le){return Le=Le.toLowerCase(),Le==="html5"||Le==="screenshot"?Le:"html5"},xe=["web","webSimple","web3d","tablet","tablet3d","phone"],Te=function(Le,ye){if(oe=Le,ye){$e(oe,!0);return}var Ie=!ie;if(Ie){var we=ae(oe);!isNaN(we)&&we<4.4&&(Ie=!1)}var Ye,Ae;window.location.protocol.substr(0,4)==="http"?Ye=window.location.protocol:Ye="http:";var je=oe.indexOf("//");je>0?Ae=oe:je===0?Ae=Ye+oe:Ae="https://www.geogebra.org/apps/5.2.814.0/";for(var it in xe)if(oe.slice(xe[it].length*-1)===xe[it]||oe.slice((xe[it].length+1)*-1)===xe[it]+"/"){$e(Ae,!1);return}!GGBAppletUtils.isFlexibleWorksheetEditor()&&Ie&&!y.is3D&&!y.AV&&!y.SV&&!y.CV&&!y.EV2&&!y.CP&&!y.PC&&!y.DA&&!y.FI&&!y.PV&&!Fe(te.showToolBar)&&!Fe(te.showMenuBar)&&!Fe(te.showAlgebraInput)&&!Fe(te.enableRightClick)&&(!te.appName||te.appName=="classic")?Ae+="webSimple/":Ae+="web3d/",$e(Ae,!1)},$e=function(Le,ye){if(Le.requirejs){ve=Le;return}Le.slice(-1)!=="/"&&(Le+="/"),ve=Le,ye===null&&(ye=Le.indexOf("http")===-1),me=ye,a="web.nocache.js",E=!1;var Ie=ve.split("/");Ie.length>1&&(!ye&&Ie[Ie.length-2]==="webSimple"?(a="webSimple.nocache.js",E=!0):xe.indexOf(Ie[Ie.length-2])>=0&&(a=Ie[Ie.length-2]+".nocache.js")),Ie=Le.split("/"),oe=Ie[Ie.length-3],oe.substr(0,4)==="test"?oe=oe.substr(4,1)+"."+oe.substr(5,1):(oe.substr(0,3)==="war"||oe.substr(0,4)==="beta")&&(oe="5.0");var we=parseFloat(oe);we!==NaN&&we<5&&Le.indexOf("geogebra.org")>=0&&(console.log("The GeoGebra HTML5 codebase version "+we+" is deprecated. Using version latest instead."),Te("5.0",ye))},Xe=function(Le,ye){window.console&&window.console.log&&(!ye||typeof ye.showLogging=="undefined"||ye.showLogging&&ye.showLogging!=="false")&&console.log(Le)};te.material_id!==void 0?ce(nt):nt();function nt(){var Le=tt;Be!==null?Le=Be:parseFloat(Le)<5&&(Le="5.0"),Te(Le,!1),pe!==null&&$e(pe,me),Se=!0}return Oe},GGBAppletUtils=function(){"use strict";function Oe(){return window.GGBT_wsf_edit!==void 0}function tt(Se,Be){Be!=1?(Se.style.transformOrigin="0% 0% 0px",Se.style.webkitTransformOrigin="0% 0% 0px",Se.style.transform="scale("+Be+","+Be+")",Se.style.webkitTransform="scale("+Be+","+Be+")",Se.style.maxWidth="initial",Se.querySelector(".ggb_preview")!==null&&(Se.querySelector(".ggb_preview").style.maxWidth="initial"),Se.querySelectorAll(".ggb_preview img")[0]!==void 0&&(Se.querySelectorAll(".ggb_preview img")[0].style.maxWidth="initial"),Se.querySelectorAll(".ggb_preview img")[1]!==void 0&&(Se.querySelectorAll(".ggb_preview img")[1].style.maxWidth="initial")):(Se.style.transform="none",Se.style.webkitTransform="none")}function te(Se,Be,pe,be,fe,ue){var ve=null;if(ue!=null&&ue!="")for(var me=Se.parentNode;me!=null;)if((" "+me.className+" ").indexOf(" "+ue+" ")>-1){ve=me;break}else me=me.parentNode;var ze=0,oe=0,a=0,E=0,x=0,b=0,z=0;if(ve)ze=ve.offsetWidth,oe=Math.max(be?ve.offsetWidth:0,ve.offsetHeight);else{if(window.innerWidth&&document.documentElement.clientWidth?(ze=Math.min(window.innerWidth,document.documentElement.clientWidth),oe=Math.min(window.innerHeight,document.documentElement.clientHeight),a=ze):(ze=window.innerWidth,oe=window.innerHeight,a=window.innerWidth),Se){var ee=Se.getBoundingClientRect();ee.left>0&&ee.left<=ze&&(fe===void 0||!fe)&&(document.dir==="rtl"?(x=ze-ee.width-ee.left,b=a<=480?10:30):(b=ee.left,x=a<=480?10:30),E=b+x)}if(Se&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){var ne=Se.getBoundingClientRect();window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(E=40,z=0):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(E=0,z=40)}}return Se&&((pe===void 0||!pe)&&Be>0&&Be+E1&&(ue=!0)),Be&&typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()&&(ue=!0),!(Se.hasOwnProperty("disableAutoScale")&&Se.disableAutoScale))fe=y(Se,Be,ue,pe,Se.scaleContainerClass);else return be;return ue&&(!Se.hasOwnProperty("scale")||be===1)?fe:Math.min(be,fe)}function Ce(Se){var Be=Math.min(window.innerWidth,document.documentElement.clientWidth),pe=Math.min(window.innerHeight,document.documentElement.clientHeight),be=Se.getBoundingClientRect(),fe=(Be-be.width)/2,ue=(pe-be.height)/2;ue<0&&(ue=0),Se.style.position="relative",window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionRight"?(fe<40?Se.style.left="40px":Se.style.left=fe+"px",Se.style.top=ue+"px"):window.GGBT_wsf_view.getCloseBtnPosition()==="closePositionTop"&&(ue<40?Se.style.top="40px":Se.style.top=ue+"px",Se.style.left=fe+"px")}function ge(Se,Be){var pe=Se.querySelector(".appletParameters");if(pe){if(typeof window.GGBT_wsf_view=="object"&&window.GGBT_wsf_view.isFullscreen()){if(Be.id!==pe.getAttribute("data-param-id"))return;window.GGBT_wsf_view.setCloseBtnPosition(Se)}if(pe.parentElement&&/fullscreen/.test(pe.parentElement.className))return;var be=ie(Be,Se);Oe()&&pe.setAttribute("data-param-scale",be);for(var fe=null,ue=0;ue=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(Oe){alert(nb+k+ob)}}else if(j==pb&&(k=i.getAttribute(kb),k))try{e=eval(k)}catch(Oe){alert(nb+k+qb)}}}__gwt_getMetaProperty=function(Oe){var tt=c[Oe];return tt==null?null:tt},r=d,webModule.__errFn=e}function B(){function Oe(Se){var Be=Se.lastIndexOf(rb);Be==-1&&(Be=Se.length);var pe=Se.indexOf(sb);pe==-1&&(pe=Se.length);var be=Se.lastIndexOf(tb,Math.min(pe,Be));return be>=O?Se.substring(O,be+P):W}function tt(Se){if(!Se.match(/^\w+:\/\//)){var Be=o.createElement(ub);Be.src=Se+vb,Se=Oe(Be.src)}return Se}function te(){var Se=__gwt_getMetaProperty(wb);return Se!=null?Se:W}function y(){for(var Se=o.getElementsByTagName(_),Be=O;BeO?Se[Se.length-P].href:W}function Ce(){var Se=o.location;return Se.href==Se.protocol+zb+Se.host+Se.pathname+Se.search+Se.hash}var ge=te();return ge==W&&(ge=y()),ge==W&&(ge=ie()),ge==W&&Ce()&&(ge=Oe(o.location.href)),ge=tt(ge),ge}function C(Oe){return Oe.match(/^\//)||Oe.match(/^[a-zA-Z]+:\/\//)?Oe:webModule.__moduleBase+Oe}function D(){var Oe=[],tt=O,te=[],y=[];function ie(Se){var Be=y[Se](),pe=te[Se];if(Be in pe)return Be;var be=[];for(var fe in pe)be[pe[fe]]=fe;throw r&&r(Se,be,Be),null}if(__gwt_isKnownPropertyValue=function(Se,Be){return Be in te[Se]},webModule.__getPropMap=function(){var Se={};for(var Be in te)te.hasOwnProperty(Be)&&(Se[Be]=ie(Be));return Se},webModule.__computePropValue=ie,n.__gwt_activeModules[L].bindings=webModule.__getPropMap,p())return C(Bb);var Ce;try{Ce=Cb;var ge=Ce.indexOf(Db);ge!=-1&&(tt=parseInt(Ce.substring(ge+P),$),Ce=Ce.substring(O,ge))}catch(Se){}return webModule.__softPermutationId=tt,C(Ce+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})()},46699:function(Oe,tt,te){"use strict";te.d(tt,{Ax:function(){return ge},Ds:function(){return Se},KI:function(){return pe},SI:function(){return Ce},f1:function(){return ie}});var y=te(346);function ie(be){let fe=!0;if(be.length>0){for(let ue=0;ueE in a?Ce(a,E,{enumerable:!0,configurable:!0,writable:!0,value:x}):a[E]=x,ue=(a,E)=>{for(var x in E||(E={}))pe.call(E,x)&&fe(a,x,E[x]);if(Be)for(var x of Be(E))be.call(E,x)&&fe(a,x,E[x]);return a},ve=(a,E)=>ge(a,Se(E)),me=(a,E)=>{var x={};for(var b in a)pe.call(a,b)&&E.indexOf(b)<0&&(x[b]=a[b]);if(a!=null&&Be)for(var b of Be(a))E.indexOf(b)<0&&be.call(a,b)&&(x[b]=a[b]);return x},ze=(a,E,x)=>new Promise((b,z)=>{var ee=re=>{try{ae(x.next(re))}catch(le){z(le)}},ne=re=>{try{ae(x.throw(re))}catch(le){z(le)}},ae=re=>re.done?b(re.value):Promise.resolve(re.value).then(ee,ne);ae((x=x.apply(a,E)).next())});const oe=a=>{var E=a,{children:x}=E,b=me(E,["children"]);const[z,ee]=(0,ie.useState)(!1);return ie.createElement(y.ZP,ve(ue({},b),{loading:z,onClick:ne=>ze(void 0,null,function*(){try{ee(!0),yield b.onClick(ne),ee(!1)}catch(ae){console.error(ae),ee(!1)}})}),x)}},85788:function(Oe,tt,te){"use strict";var y=te(86204),ie=te.n(y),Ce=Object.defineProperty,ge=(be,fe,ue)=>fe in be?Ce(be,fe,{enumerable:!0,configurable:!0,writable:!0,value:ue}):be[fe]=ue,Se=(be,fe,ue)=>ge(be,typeof fe!="symbol"?fe+"":fe,ue),Be=(be,fe,ue)=>new Promise((ve,me)=>{var ze=E=>{try{a(ue.next(E))}catch(x){me(x)}},oe=E=>{try{a(ue.throw(E))}catch(x){me(x)}},a=E=>E.done?ve(E.value):Promise.resolve(E.value).then(ze,oe);a((ue=ue.apply(be,fe)).next())});class pe extends y.EventEmitter{constructor(fe,ue){super(),Se(this,"url"),Se(this,"body"),Se(this,"fullContent",""),Se(this,"controller",null),Se(this,"buffer",""),this.url=fe,this.body=ue}startStream(){return Be(this,null,function*(){this.controller=new AbortController;const{signal:fe}=this.controller;try{const ue=yield fetch(this.url,{method:"POST",headers:{"Content-Type":"application/json; charset=utf-8"},credentials:"include",body:JSON.stringify(this.body),signal:fe});if(!ue.ok)throw new Error(`\u8BF7\u6C42\u5931\u8D25: ${ue.status}`);const ve=ue.headers.get("content-type");if(!ve)throw new Error("\u54CD\u5E94\u5934\u7F3A\u5C11 content-type");if(ve.includes("application/json")){const oe=yield ue.json();this.emit("error",oe);return}if(!ve.includes("text/event-stream"))throw new Error("\u54CD\u5E94\u6570\u636E\u683C\u5F0F\u9519\u8BEF");const me=ue.body.getReader(),ze=new TextDecoder("utf-8");for(;;){const{done:oe,value:a}=yield me.read();if(oe)break;const E=ze.decode(a,{stream:!0});this.buffer+=E;const x=this.buffer.split(` `);this.buffer=x.pop()||"";for(const b of x)if(b.startsWith("data:")){const z=b.slice(5).trim();if(z==="[DONE]")break;try{const ee=JSON.parse(z);ee.data&&this.handleData(ee.data)}catch(ee){this.buffer=b+` `+this.buffer,console.error("\u89E3\u6790 JSON \u5931\u8D25:",ee)}}}this.emit("done",this.fullContent)}catch(ue){ue.name==="AbortError"?this.emit("cancelled",this.fullContent):this.emit("error",ue.message)}})}handleData(fe){fe.content&&(this.fullContent+=fe.content,this.emit("data",{chunk:fe,full:this.fullContent}))}cancelRequest(){var fe;(fe=this.controller)==null||fe.abort()}}tt.Z=pe},81679:function(Oe,tt,te){"use strict";te.d(tt,{Z:function(){return ze}});var y=te(59301),ie=te(30641),Ce=te(77019),ge=te(5269),Se={smartWrp:"smartWrp___NjRcB"},Be=te(75975),pe=te(9148),be=te(84842),fe=te(59301),ue=(oe,a,E)=>new Promise((x,b)=>{var z=ae=>{try{ne(E.next(ae))}catch(re){b(re)}},ee=ae=>{try{ne(E.throw(ae))}catch(re){b(re)}},ne=ae=>ae.done?x(ae.value):Promise.resolve(ae.value).then(z,ee);ne((E=E.apply(oe,a)).next())});const ve=` \u5FEB\u901F\u6392\u5E8F\u6F14\u793A

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