TitleBar.setTitle missing'\n );\n this.assert(\n function () {\n var c = aPart.attributeConnections[1];\n return c.targetObj.name == \"ActiveButton\" &&\n c.targetMethodName == \"toggleState\" &&\n c.sourceAttrName == \"active\";\n },\n 'connection Whiteboard.channelName --> TitleBar.setTitle missing'\n );\n}","funcProperties":{"__isSmartRef__":true,"id":253},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"252":{"this":{"__isSmartRef__":true,"id":246}},"253":{},"254":{"varMapping":{"__isSmartRef__":true,"id":255},"source":"function test03ToolsPresent(aPart) {\n this.assert(\n function () {\n return aPart.chat.name == \"ChatPane\" &&\n aPart.chat instanceof lively.morphic.Box;\n },\n 'ChatPane is missing'\n );\n this.assert(\n function () {\n return aPart.pencilStyler.name == \"PencilStyler\" &&\n aPart.pencilStyler instanceof lively.morphic.Box;\n },\n 'PencilStyler is missing'\n );\n}","funcProperties":{"__isSmartRef__":true,"id":256},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"255":{"this":{"__isSmartRef__":true,"id":246}},"256":{},"257":{"varMapping":{"__isSmartRef__":true,"id":258},"source":"function test04DeactivatedOnStartup(aPart) {\n this.assert(!aPart.active, 'WhiteBoard should be inactive on startup');\n}","funcProperties":{"__isSmartRef__":true,"id":259},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"258":{"this":{"__isSmartRef__":true,"id":246}},"259":{},"260":{"varMapping":{"__isSmartRef__":true,"id":261},"source":"function test05DefaultChannelName(aPart) {\n this.assert(function () {\n return aPart.channelName == 'default';\n },\n 'The channel name should be default');\n}","funcProperties":{"__isSmartRef__":true,"id":262},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"261":{"this":{"__isSmartRef__":true,"id":246}},"262":{},"263":{"varMapping":{"__isSmartRef__":true,"id":264},"source":"function test06DefaultColorOnStartup(aPart) {\n this.assert(function () {\n return this.color == this.defaultColor() || this.color == null;\n },\n 'Initial color is not the default color');\n}","funcProperties":{"__isSmartRef__":true,"id":265},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"264":{"this":{"__isSmartRef__":true,"id":246}},"265":{},"266":{"varMapping":{"__isSmartRef__":true,"id":267},"source":"function test07DefaultPencilSizeOnStartup(aPart) {\n this.assert(function () {\n return this.pencilSize == this.defaultPencilSize() || this.pencilSize == null;\n },\n 'Initial pencil size is not the default pencil size');\n}","funcProperties":{"__isSmartRef__":true,"id":268},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"267":{"this":{"__isSmartRef__":true,"id":246}},"268":{},"269":{"varMapping":{"__isSmartRef__":true,"id":270},"source":"function test08DefaultPencilStyleOnStartup(aPart) {\n this.assert(function () {\n return this.pencilStyle == this.defaultPencilStyle() || this.pencilStyle == null;\n },\n 'Initial pencil style is not the default pencil style');\n}","funcProperties":{"__isSmartRef__":true,"id":271},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"270":{"this":{"__isSmartRef__":true,"id":246}},"271":{},"272":{"varMapping":{"__isSmartRef__":true,"id":273},"source":"function test09ClearWhiteboard(aPart) {\n aPart.clear();\n this.assert(function () {\n return aPart.submorphs.size() == 0;\n },\n 'Whiteboard should not hold any content after clear call');\n}","funcProperties":{"__isSmartRef__":true,"id":274},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"273":{"this":{"__isSmartRef__":true,"id":246}},"274":{},"275":{"varMapping":{"__isSmartRef__":true,"id":276},"source":"function test10CreateStrokeShape(aPart) {\n this.assert(function () {\n var dot = aPart.createStrokeShape({x: 10, y: 10});\n return (dot.eventsAreDisabled || dot.eventsAreDisabled === undefined) &&\n !dot.droppingEnabled &&\n dot.isStroke &&\n dot.shape instanceof lively.morphic.Shapes.Path &&\n dot.vertices().size() == 1;\n },\n 'createStrokeShape called with a point should return a dot shape');\n this.assert(function () {\n var square = aPart.createStrokeShape([pt(0,0), pt(10,0), pt(10,10), pt(0,10)]);\n return (square.eventsAreDisabled || square.eventsAreDisabled === undefined) &&\n !square.droppingEnabled &&\n square.isStroke &&\n square.shape instanceof lively.morphic.Shapes.Path &&\n square.vertices().size() == 4;\n },\n 'createStrokeShape should return a square shape');\n}","funcProperties":{"__isSmartRef__":true,"id":277},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"276":{"this":{"__isSmartRef__":true,"id":246}},"277":{},"278":{"varMapping":{"__isSmartRef__":true,"id":279},"source":"function test11CreateTitleBarButton(aPart) {\n var testObject,\n testButton;\n \n testObject.state = false;\n testObject.toggle = function () {\n this.testState = !this.testState;\n return this.testState;\n };\n \n // TODO call fails because aPart has no owner\n aPart.createTitleBarButton(\n \"TestButton\", \"for test purposes only\",\n testObject, \"state\", \"toggle\"\n );\n this.assert(true, 'true should be true');\n}","funcProperties":{"__isSmartRef__":true,"id":280},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"279":{"this":{"__isSmartRef__":true,"id":246}},"280":{},"281":{"resizeWidth":true,"resizeHeight":true},"282":{"submorphs":[{"__isSmartRef__":true,"id":283},{"__isSmartRef__":true,"id":535},{"__isSmartRef__":true,"id":568},{"__isSmartRef__":true,"id":593},{"__isSmartRef__":true,"id":618},{"__isSmartRef__":true,"id":624},{"__isSmartRef__":true,"id":630},{"__isSmartRef__":true,"id":636},{"__isSmartRef__":true,"id":642},{"__isSmartRef__":true,"id":676},{"__isSmartRef__":true,"id":686},{"__isSmartRef__":true,"id":692}],"scripts":[],"shape":{"__isSmartRef__":true,"id":716},"id":"00C0C3C8-927D-47D3-8C65-0C84AE5EA377","eventHandler":{"__isSmartRef__":true,"id":717},"droppingEnabled":true,"halosEnabled":true,"colorChooser":{"__isSmartRef__":true,"id":283},"slider":{"__isSmartRef__":true,"id":642},"button":{"__isSmartRef__":true,"id":718},"showsHalos":false,"isBeingDragged":false,"name":"PencilStyler","isLockOwner":false,"layout":{"__isSmartRef__":true,"id":786},"prevScroll":[0,0],"moved":true,"alphaSlider":{"__isSmartRef__":true,"id":535},"moveTouch":false,"baseTouch":{"__isSmartRef__":true,"id":787},"selectable":false,"scrolled":false,"halosTemporaryInvisible":false,"headRevision":145365,"widthSlider":{"__isSmartRef__":true,"id":692},"borderStyleList":{"__isSmartRef__":true,"id":676},"_ClipMode":"visible","owner":{"__isSmartRef__":true,"id":789},"target":null,"#startLetters":"be","whiteboard":{"__isSmartRef__":true,"id":243},"chat":{"__isSmartRef__":true,"id":863},"isCopyMorphRef":true,"morphRefId":1,"selectionDisabled":true,"_Visible":false,"__serializedExpressions__":["_Position","currentColor","distanceToDragEvent","updateBorderFillOfTarget"],"_Rotation":0,"_Scale":0.9920279440699444,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1195},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)","currentColor":"Color.rgb(160,0,152)","distanceToDragEvent":"lively.pt(212.0,-13.0)","updateBorderFillOfTarget":"Color.rgb(255,255,255)"},"283":{"submorphs":[{"__isSmartRef__":true,"id":284}],"scripts":[],"shape":{"__isSmartRef__":true,"id":455},"id":"0059FAFD-A7F7-45C1-AC03-CB94C63F4849","eventHandler":{"__isSmartRef__":true,"id":456},"droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":457},"owner":{"__isSmartRef__":true,"id":282},"chooserWidget":{"__isSmartRef__":true,"id":282},"showsHalos":false,"name":"ColorChooserPane","isLockOwner":false,"selectable":false,"halosTemporaryInvisible":false,"originalScale":1,"originalRotation":0,"lastRotation":0,"slide":0,"activeSlide":{"__isSmartRef__":true,"id":285},"_ClipMode":"hidden","container":{"__isSmartRef__":true,"id":284},"prevScroll":[0,0],"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":458},"__LivelyClassName__":"lively.morphic.CrayonColorChooser","__SourceModuleName__":"Global.lively.morphic.ColorChooserDraft","_Position":"lively.pt(50.0,36.0)","distanceToDragEvent":"lively.pt(150.0,-12.0)"},"284":{"submorphs":[{"__isSmartRef__":true,"id":285}],"scripts":[],"id":"797DF1CC-A658-4BAD-9679-82F97604542B","shape":{"__isSmartRef__":true,"id":448},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"container","eventHandler":{"__isSmartRef__":true,"id":449},"partTests":{"__isSmartRef__":true,"id":450},"owner":{"__isSmartRef__":true,"id":283},"isLockOwner":false,"_ClipMode":"visible","prevScroll":[0,0],"__serializedExpressions__":["_Position"],"_Rotation":0,"_Scale":1.002003004005006,"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"285":{"submorphs":[{"__isSmartRef__":true,"id":286},{"__isSmartRef__":true,"id":294},{"__isSmartRef__":true,"id":302},{"__isSmartRef__":true,"id":310},{"__isSmartRef__":true,"id":318},{"__isSmartRef__":true,"id":326},{"__isSmartRef__":true,"id":334},{"__isSmartRef__":true,"id":342},{"__isSmartRef__":true,"id":350},{"__isSmartRef__":true,"id":358},{"__isSmartRef__":true,"id":366},{"__isSmartRef__":true,"id":374},{"__isSmartRef__":true,"id":382},{"__isSmartRef__":true,"id":390},{"__isSmartRef__":true,"id":398},{"__isSmartRef__":true,"id":406},{"__isSmartRef__":true,"id":414},{"__isSmartRef__":true,"id":422},{"__isSmartRef__":true,"id":430},{"__isSmartRef__":true,"id":438}],"scripts":[],"shape":{"__isSmartRef__":true,"id":446},"eventHandler":{"__isSmartRef__":true,"id":447},"_ClipMode":"visible","derivationIds":[],"id":"99876C2F-57ED-4593-A1BB-372482803DC2","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"owner":{"__isSmartRef__":true,"id":284},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"286":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":287},"eventHandler":{"__isSmartRef__":true,"id":293},"_ClipMode":"visible","derivationIds":[],"id":"38E2830B-8AD5-4AD5-826C-21475212BB25","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)"},"287":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":288},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"288":{"stops":[{"__isSmartRef__":true,"id":289},{"__isSmartRef__":true,"id":290},{"__isSmartRef__":true,"id":291},{"__isSmartRef__":true,"id":292}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"289":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"290":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(127,127,127)"},"291":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(0,0,0)"},"292":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(0,0,0)"},"293":{"morph":{"__isSmartRef__":true,"id":286},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"294":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":295},"eventHandler":{"__isSmartRef__":true,"id":301},"_ClipMode":"visible","derivationIds":[],"id":"8BC681FA-9952-4C9D-A717-43F3A449F9DA","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(60.3,0.0)"},"295":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":296},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(95,94,95)"},"296":{"stops":[{"__isSmartRef__":true,"id":297},{"__isSmartRef__":true,"id":298},{"__isSmartRef__":true,"id":299},{"__isSmartRef__":true,"id":300}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"297":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"298":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(175,175,175)"},"299":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(95,94,95)"},"300":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(95,94,95)"},"301":{"morph":{"__isSmartRef__":true,"id":294},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"302":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":303},"eventHandler":{"__isSmartRef__":true,"id":309},"_ClipMode":"visible","derivationIds":[],"id":"7679C76B-0FD8-4898-8C7E-8B02185D071C","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(120.5,0.0)"},"303":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":304},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(121,121,121)"},"304":{"stops":[{"__isSmartRef__":true,"id":305},{"__isSmartRef__":true,"id":306},{"__isSmartRef__":true,"id":307},{"__isSmartRef__":true,"id":308}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"305":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"306":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(188,188,188)"},"307":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(121,121,121)"},"308":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(121,121,121)"},"309":{"morph":{"__isSmartRef__":true,"id":302},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"310":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":311},"eventHandler":{"__isSmartRef__":true,"id":317},"_ClipMode":"visible","derivationIds":[],"id":"CAD9730D-FF1D-40F3-BA15-7DDDA371FC10","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(180.8,0.0)"},"311":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":312},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(255,255,255)"},"312":{"stops":[{"__isSmartRef__":true,"id":313},{"__isSmartRef__":true,"id":314},{"__isSmartRef__":true,"id":315},{"__isSmartRef__":true,"id":316}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"313":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"314":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"315":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"316":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"317":{"morph":{"__isSmartRef__":true,"id":310},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"318":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":319},"eventHandler":{"__isSmartRef__":true,"id":325},"_ClipMode":"visible","derivationIds":[],"id":"A3972141-8175-48A4-B125-D540B3EC45E1","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,57.3)"},"319":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":320},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(255,0,0)"},"320":{"stops":[{"__isSmartRef__":true,"id":321},{"__isSmartRef__":true,"id":322},{"__isSmartRef__":true,"id":323},{"__isSmartRef__":true,"id":324}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"321":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"322":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(255,127,127)"},"323":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(255,0,0)"},"324":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(255,0,0)"},"325":{"morph":{"__isSmartRef__":true,"id":318},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"326":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":327},"eventHandler":{"__isSmartRef__":true,"id":333},"_ClipMode":"visible","derivationIds":[],"id":"0A4D5E22-8D33-4487-848C-C3C1B6FD7F4D","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(60.3,57.3)"},"327":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":328},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,204,0)"},"328":{"stops":[{"__isSmartRef__":true,"id":329},{"__isSmartRef__":true,"id":330},{"__isSmartRef__":true,"id":331},{"__isSmartRef__":true,"id":332}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"329":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"330":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(127,230,127)"},"331":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(0,204,0)"},"332":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(0,204,0)"},"333":{"morph":{"__isSmartRef__":true,"id":326},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"334":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":335},"eventHandler":{"__isSmartRef__":true,"id":341},"_ClipMode":"visible","derivationIds":[],"id":"721DAA89-24C0-4EFF-8A29-AD6056E7A715","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(120.5,57.3)"},"335":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":336},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(58,0,255)"},"336":{"stops":[{"__isSmartRef__":true,"id":337},{"__isSmartRef__":true,"id":338},{"__isSmartRef__":true,"id":339},{"__isSmartRef__":true,"id":340}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"337":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"338":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(157,127,255)"},"339":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(58,0,255)"},"340":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(58,0,255)"},"341":{"morph":{"__isSmartRef__":true,"id":334},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"342":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":343},"eventHandler":{"__isSmartRef__":true,"id":349},"_ClipMode":"visible","derivationIds":[],"id":"859A1EAE-1E0B-45FC-834D-3AA45D88AE87","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(180.8,57.3)"},"343":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":344},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(250,255,0)"},"344":{"stops":[{"__isSmartRef__":true,"id":345},{"__isSmartRef__":true,"id":346},{"__isSmartRef__":true,"id":347},{"__isSmartRef__":true,"id":348}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"345":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"346":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(253,255,127)"},"347":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(250,255,0)"},"348":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(250,255,0)"},"349":{"morph":{"__isSmartRef__":true,"id":342},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"350":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":351},"eventHandler":{"__isSmartRef__":true,"id":357},"_ClipMode":"visible","derivationIds":[],"id":"852B07E3-ED8E-4C76-979E-A438C72E7AD6","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,114.6)"},"351":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":352},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,255,133)"},"352":{"stops":[{"__isSmartRef__":true,"id":353},{"__isSmartRef__":true,"id":354},{"__isSmartRef__":true,"id":355},{"__isSmartRef__":true,"id":356}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"353":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"354":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(127,255,194)"},"355":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(0,255,133)"},"356":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(0,255,133)"},"357":{"morph":{"__isSmartRef__":true,"id":350},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"358":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":359},"eventHandler":{"__isSmartRef__":true,"id":365},"_ClipMode":"visible","derivationIds":[],"id":"D1BB9642-ABDD-4BC8-9FFB-31DAF2648433","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(60.3,114.6)"},"359":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":360},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(255,0,255)"},"360":{"stops":[{"__isSmartRef__":true,"id":361},{"__isSmartRef__":true,"id":362},{"__isSmartRef__":true,"id":363},{"__isSmartRef__":true,"id":364}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"361":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"362":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(255,127,255)"},"363":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(255,0,255)"},"364":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(255,0,255)"},"365":{"morph":{"__isSmartRef__":true,"id":358},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"366":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":367},"eventHandler":{"__isSmartRef__":true,"id":373},"_ClipMode":"visible","derivationIds":[],"id":"0EFAB5E5-CC37-4658-86AC-0F11A66FBEB7","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(120.5,114.6)"},"367":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":368},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,149,148)"},"368":{"stops":[{"__isSmartRef__":true,"id":369},{"__isSmartRef__":true,"id":370},{"__isSmartRef__":true,"id":371},{"__isSmartRef__":true,"id":372}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"369":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"370":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(127,202,202)"},"371":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(0,149,148)"},"372":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(0,149,148)"},"373":{"morph":{"__isSmartRef__":true,"id":366},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"374":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":375},"eventHandler":{"__isSmartRef__":true,"id":381},"_ClipMode":"visible","derivationIds":[],"id":"A06D7B95-4ABE-4D79-9817-C47C177391F3","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(180.8,114.6)"},"375":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":376},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(28,0,153)"},"376":{"stops":[{"__isSmartRef__":true,"id":377},{"__isSmartRef__":true,"id":378},{"__isSmartRef__":true,"id":379},{"__isSmartRef__":true,"id":380}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"377":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"378":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(142,127,204)"},"379":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(28,0,153)"},"380":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(28,0,153)"},"381":{"morph":{"__isSmartRef__":true,"id":374},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"382":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":383},"eventHandler":{"__isSmartRef__":true,"id":389},"_ClipMode":"visible","derivationIds":[],"id":"BAF6E0D2-4F13-4997-BB93-299D449461E8","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,172.0)"},"383":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":384},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(160,0,152)"},"384":{"stops":[{"__isSmartRef__":true,"id":385},{"__isSmartRef__":true,"id":386},{"__isSmartRef__":true,"id":387},{"__isSmartRef__":true,"id":388}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"385":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"386":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(208,127,204)"},"387":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(160,0,152)"},"388":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(160,0,152)"},"389":{"morph":{"__isSmartRef__":true,"id":382},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"390":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":391},"eventHandler":{"__isSmartRef__":true,"id":397},"_ClipMode":"visible","derivationIds":[],"id":"2CD4D8B8-1A9C-4EC2-9C78-936A385A4E3E","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(60.3,172.0)"},"391":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":392},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(154,79,0)"},"392":{"stops":[{"__isSmartRef__":true,"id":393},{"__isSmartRef__":true,"id":394},{"__isSmartRef__":true,"id":395},{"__isSmartRef__":true,"id":396}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"393":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"394":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(205,167,127)"},"395":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(154,79,0)"},"396":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(154,79,0)"},"397":{"morph":{"__isSmartRef__":true,"id":390},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"398":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":399},"eventHandler":{"__isSmartRef__":true,"id":405},"_ClipMode":"visible","derivationIds":[],"id":"8D475A6E-ACA3-49EE-B24B-C45532EF8BC9","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(120.5,172.0)"},"399":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":400},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(255,112,116)"},"400":{"stops":[{"__isSmartRef__":true,"id":401},{"__isSmartRef__":true,"id":402},{"__isSmartRef__":true,"id":403},{"__isSmartRef__":true,"id":404}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"401":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"402":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(255,184,186)"},"403":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(255,112,116)"},"404":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(255,112,116)"},"405":{"morph":{"__isSmartRef__":true,"id":398},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"406":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":407},"eventHandler":{"__isSmartRef__":true,"id":413},"_ClipMode":"visible","derivationIds":[],"id":"8EF3CD6F-7530-4A52-A20E-0ED8F69EE5D6","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(180.8,172.0)"},"407":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":408},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,151,0)"},"408":{"stops":[{"__isSmartRef__":true,"id":409},{"__isSmartRef__":true,"id":410},{"__isSmartRef__":true,"id":411},{"__isSmartRef__":true,"id":412}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"409":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"410":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(127,203,127)"},"411":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(0,151,0)"},"412":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(0,151,0)"},"413":{"morph":{"__isSmartRef__":true,"id":406},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"414":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":415},"eventHandler":{"__isSmartRef__":true,"id":421},"_ClipMode":"visible","derivationIds":[],"id":"FDE6E614-FE8E-41DD-89A3-4F3FC5F09224","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,229.3)"},"415":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":416},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(255,101,255)"},"416":{"stops":[{"__isSmartRef__":true,"id":417},{"__isSmartRef__":true,"id":418},{"__isSmartRef__":true,"id":419},{"__isSmartRef__":true,"id":420}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"417":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"418":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(255,178,255)"},"419":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(255,101,255)"},"420":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(255,101,255)"},"421":{"morph":{"__isSmartRef__":true,"id":414},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"422":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":423},"eventHandler":{"__isSmartRef__":true,"id":429},"_ClipMode":"visible","derivationIds":[],"id":"3B0FE093-A51B-49BA-827A-A8E1EF48589E","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(60.3,229.3)"},"423":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":424},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,142,255)"},"424":{"stops":[{"__isSmartRef__":true,"id":425},{"__isSmartRef__":true,"id":426},{"__isSmartRef__":true,"id":427},{"__isSmartRef__":true,"id":428}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"425":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"426":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(127,199,255)"},"427":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(0,142,255)"},"428":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(0,142,255)"},"429":{"morph":{"__isSmartRef__":true,"id":422},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"430":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":431},"eventHandler":{"__isSmartRef__":true,"id":437},"_ClipMode":"visible","derivationIds":[],"id":"087A42E1-1F23-4AB5-8FF6-E5A408CA7908","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(120.5,229.3)"},"431":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":432},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(144,149,0)"},"432":{"stops":[{"__isSmartRef__":true,"id":433},{"__isSmartRef__":true,"id":434},{"__isSmartRef__":true,"id":435},{"__isSmartRef__":true,"id":436}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"433":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"434":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(200,202,127)"},"435":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(144,149,0)"},"436":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(144,149,0)"},"437":{"morph":{"__isSmartRef__":true,"id":430},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"438":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":439},"eventHandler":{"__isSmartRef__":true,"id":445},"_ClipMode":"visible","derivationIds":[],"id":"96C52F5E-4629-468A-B1ED-0CC86F07C1B8","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(180.8,229.3)"},"439":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_Fill":{"__isSmartRef__":true,"id":440},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(52.3,49.3)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(229,105,255)"},"440":{"stops":[{"__isSmartRef__":true,"id":441},{"__isSmartRef__":true,"id":442},{"__isSmartRef__":true,"id":443},{"__isSmartRef__":true,"id":444}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"441":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"442":{"offset":0.05,"__serializedExpressions__":["color"],"color":"Color.rgb(242,180,255)"},"443":{"offset":0.1,"__serializedExpressions__":["color"],"color":"Color.rgb(229,105,255)"},"444":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(229,105,255)"},"445":{"morph":{"__isSmartRef__":true,"id":438},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"446":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(241.0,286.6)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(255,255,255)"},"447":{"morph":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"448":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,100.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"449":{"morph":{"__isSmartRef__":true,"id":284},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"450":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":451}},"451":{"test01IsMorph":{"__isSmartRef__":true,"id":452}},"452":{"varMapping":{"__isSmartRef__":true,"id":453},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":454},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"453":{"this":{"__isSmartRef__":true,"id":450}},"454":{},"455":{"_ClipMode":"hidden","_BorderWidth":0,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(241.0,286.6)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(204,0,0)"},"456":{"morph":{"__isSmartRef__":true,"id":283},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"457":{"adjustForNewBounds":false,"moveVertical":false,"moveHorizontal":false,"centeredHorizontal":false},"458":{"reset":{"__isSmartRef__":true,"id":459},"colorSet1":{"__isSmartRef__":true,"id":463},"build":{"__isSmartRef__":true,"id":467},"colorNames":{"__isSmartRef__":true,"id":471},"gradientColor":{"__isSmartRef__":true,"id":479},"removeHiddenSlides":{"__isSmartRef__":true,"id":483},"onMouseUp":{"__isSmartRef__":true,"id":487},"colorForPos":{"__isSmartRef__":true,"id":495},"colorSet2":{"__isSmartRef__":true,"id":503},"colorSet3":{"__isSmartRef__":true,"id":507},"clear":{"__isSmartRef__":true,"id":511},"previousSlide":{"__isSmartRef__":true,"id":515},"nextSlide":{"__isSmartRef__":true,"id":519},"slides":{"__isSmartRef__":true,"id":523},"animateRight":{"__isSmartRef__":true,"id":527},"animateLeft":{"__isSmartRef__":true,"id":531}},"459":{"varMapping":{"__isSmartRef__":true,"id":460},"source":"function reset() {\n this.container = this.get(\"container\");\n this.container.setPosition(pt(0,0));\n this.slide = 0;\n var slide = this.build(this.colorSet1());\n this.container.addMorph(slide);\n this.activeSlide = slide;\n this.removeHiddenSlides(this.container);\n\n}","funcProperties":{"__isSmartRef__":true,"id":461},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"460":{"this":{"__isSmartRef__":true,"id":283}},"461":{"timestamp":{"__isSmartRef__":true,"id":462},"user":"huberthesse","tags":[]},"462":{"isSerializedDate":true,"string":"Wed Mar 07 2012 15:51:11 GMT+0100 (CET)"},"463":{"varMapping":{"__isSmartRef__":true,"id":464},"source":"function colorSet1() {\n return [\"licorice iron steel snow\",\n \"maraschino spring blueberry lemon\",\n \"seafoam magenta teal midnight\",\n \"plum mocha salmon clover\",\n \"bubblegum aqua asparagus lavender\"\n ]\n}","funcProperties":{"__isSmartRef__":true,"id":465},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"464":{"this":{"__isSmartRef__":true,"id":283}},"465":{"timestamp":{"__isSmartRef__":true,"id":466},"user":"huberthesse","tags":[]},"466":{"isSerializedDate":true,"string":"Fri Mar 02 2012 14:41:43 GMT+0100 (CET)"},"467":{"varMapping":{"__isSmartRef__":true,"id":468},"source":"function build(table) {\n var slide = Morph.makeRectangle(0,0,this.getExtent().x,this.getExtent().y)\n slide.setFill(Color.rgba(255,255,255,0));\n slide.setBorderWidth(0);\n\n var colorNames = this.colorNames(table),\n x = 4, y = 5, // like MacOS colors\n extent = slide.innerBounds().extent().scaleByPt(pt(1/x, 1/y)).subPt(pt(8,8));\n //extent = pt(44,44)\n for (var j = 0; j < y; j++) {\n for (var i = 0; i < x; i++) {\n var idx = j*x+i, // running offset j*x^1 + i*y^0\n color = CrayonColors[colorNames[idx]],\n rect = extent.scaleByPt(pt(i, j)).extent(extent),\n morph = new lively.morphic.Box(rect);\n morph.applyStyle({borderColor: color, borderWidth: 1, borderRadius: 5});\n morph.setFill(this.gradientColor(color));\n morph.moveBy(pt(8*i,8*j));\n morph.ignoreEvents(); \n //morph.layout = {scaleHorizontal: true, scaleVertical: true};\n slide.addMorph(morph);\n }\n }\n //slide.layout = {adjustForNewBounds: true};\n slide.adjustForNewBounds();\n return slide;\n}","funcProperties":{"__isSmartRef__":true,"id":469},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"468":{"this":{"__isSmartRef__":true,"id":283}},"469":{"timestamp":{"__isSmartRef__":true,"id":470},"user":"undefined","tags":[]},"470":{"isSerializedDate":true,"string":"Fri Mar 09 2012 12:20:35 GMT+0100 (CET)"},"471":{"varMapping":{"__isSmartRef__":true,"id":472},"source":"function colorNames(table) {\n return table.join(' ').split(' ');\n}","funcProperties":{"__isSmartRef__":true,"id":477},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"472":{"this":{"__isSmartRef__":true,"id":283},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":473}},"473":{"$super":{"__isSmartRef__":true,"id":474}},"474":{"varMapping":{"__isSmartRef__":true,"id":475},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":476},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"475":{"obj":{"__isSmartRef__":true,"id":283},"name":"colorNames"},"476":{},"477":{"timestamp":{"__isSmartRef__":true,"id":478},"user":"huberthesse","tags":[]},"478":{"isSerializedDate":true,"string":"Fri Mar 02 2012 14:41:30 GMT+0100 (CET)"},"479":{"varMapping":{"__isSmartRef__":true,"id":480},"source":"function gradientColor(color) {\n var gradient = new lively.morphic.LinearGradient(\n [\n {offset: 0, color: Color.white},\n {offset: 0.05, color: Color.white.mixedWith(color,0.5)},\n {offset: 0.1, color: color},\n {offset: 1, color: color}\n ],\n 'northSouth'\n );\n return gradient;\n}","funcProperties":{"__isSmartRef__":true,"id":481},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"480":{"this":{"__isSmartRef__":true,"id":283}},"481":{"timestamp":{"__isSmartRef__":true,"id":482},"user":"huberthesse","tags":[]},"482":{"isSerializedDate":true,"string":"Tue Feb 21 2012 18:34:15 GMT+0100 (CET)"},"483":{"varMapping":{"__isSmartRef__":true,"id":484},"source":"function removeHiddenSlides(morph) {\n for(var i = 0; i < morph.submorphs.length; i++ ) {\n if(morph.submorphs[i] !== morph.owner.activeSlide) {\n morph.submorphs[i].remove();\n }\n }\n }","funcProperties":{"__isSmartRef__":true,"id":485},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"484":{"this":{"__isSmartRef__":true,"id":283}},"485":{"timestamp":{"__isSmartRef__":true,"id":486},"user":"athomschke","tags":[]},"486":{"isSerializedDate":true,"string":"Sun May 20 2012 21:28:03 GMT+0200 (CEST)"},"487":{"varMapping":{"__isSmartRef__":true,"id":488},"source":"function onMouseUp(evt) {\n var color = this.colorForPos(this.localize(evt.getPosition()));\n this.chooserWidget.updateSliderColor(color);\n this.chooserWidget.currentColor = color;\n this.chooserWidget.button.setFill(color)\n}","funcProperties":{"__isSmartRef__":true,"id":493},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"488":{"this":{"__isSmartRef__":true,"id":283},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":489}},"489":{"$super":{"__isSmartRef__":true,"id":490}},"490":{"varMapping":{"__isSmartRef__":true,"id":491},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":492},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"491":{"obj":{"__isSmartRef__":true,"id":283},"name":"onMouseUp"},"492":{},"493":{"timestamp":{"__isSmartRef__":true,"id":494},"user":"huberthesse","tags":[]},"494":{"isSerializedDate":true,"string":"Wed Mar 21 2012 16:29:45 GMT+0100 (CET)"},"495":{"varMapping":{"__isSmartRef__":true,"id":496},"source":"function colorForPos(pos) {\n var r = this.shape.getBounds().insetBy(this.getBorderWidth()),\n pos = r.closestPointToPt(pos),\n m = this.activeSlide.submorphs.detect(function(ea) { return ea.bounds().containsPoint(pos) });\n color = m && m.getFill().stops.find(function(ea){return ea.offset == 1}).color;\n return color ? color : Color.black; \n}","funcProperties":{"__isSmartRef__":true,"id":501},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"496":{"this":{"__isSmartRef__":true,"id":283},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":497}},"497":{"$super":{"__isSmartRef__":true,"id":498}},"498":{"varMapping":{"__isSmartRef__":true,"id":499},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":500},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"499":{"obj":{"__isSmartRef__":true,"id":283},"name":"colorForPos"},"500":{},"501":{"timestamp":{"__isSmartRef__":true,"id":502},"user":"huberthesse","tags":[]},"502":{"isSerializedDate":true,"string":"Wed Mar 07 2012 14:55:22 GMT+0100 (CET)"},"503":{"varMapping":{"__isSmartRef__":true,"id":504},"source":"function colorSet2() {\n return [\"licorice lead tungsten nickel\",\n \"silver magnesium aluminum tin\",\n \"mercury orchid grape eggplant\",\n \"aqua blueberry ocean midnight\",\n \"sky turquoise spindrift ice\"\n ]\n}","funcProperties":{"__isSmartRef__":true,"id":505},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"504":{"this":{"__isSmartRef__":true,"id":283}},"505":{"timestamp":{"__isSmartRef__":true,"id":506},"user":"huberthesse","tags":[]},"506":{"isSerializedDate":true,"string":"Wed Mar 21 2012 16:29:45 GMT+0100 (CET)"},"507":{"varMapping":{"__isSmartRef__":true,"id":508},"source":"function colorSet3() {\n return [\"maraschino cayenne maroon strawberry\",\n \"tangerine lemon cantaloupe banana\",\n \"fern asparagus asparagus spring\",\n \"lime seafoam flora moss\", \n \"clover aqua lavender bubblegum\"\n ]\n}","funcProperties":{"__isSmartRef__":true,"id":509},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"508":{"this":{"__isSmartRef__":true,"id":283}},"509":{"timestamp":{"__isSmartRef__":true,"id":510},"user":"huberthesse","tags":[]},"510":{"isSerializedDate":true,"string":"Wed Mar 21 2012 16:29:45 GMT+0100 (CET)"},"511":{"varMapping":{"__isSmartRef__":true,"id":512},"source":"function clear() {\n this.container.submorphs.invoke('remove')\n}","funcProperties":{"__isSmartRef__":true,"id":513},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"512":{"this":{"__isSmartRef__":true,"id":283}},"513":{"timestamp":{"__isSmartRef__":true,"id":514},"user":"huberthesse","tags":[]},"514":{"isSerializedDate":true,"string":"Wed Mar 07 2012 15:20:41 GMT+0100 (CET)"},"515":{"varMapping":{"__isSmartRef__":true,"id":516},"source":"function previousSlide() {\n if (this.slide - 1 < 0) {\n this.slide = this.slide + 3;\n }\n this.slide = (this.slide - 1) % 3;\n //this.clear();\n var previous = this.build(this.slides()[this.slide]);\n previous.setPosition(pt(this.activeSlide.getPosition().x - this.activeSlide.getExtent().x,0));\n this.container.addMorph(previous)\n this.activeSlide = previous;\n\n this.animateLeft(1000);\n}","funcProperties":{"__isSmartRef__":true,"id":517},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"516":{"this":{"__isSmartRef__":true,"id":283}},"517":{"timestamp":{"__isSmartRef__":true,"id":518},"user":"huberthesse","tags":[]},"518":{"isSerializedDate":true,"string":"Wed Mar 07 2012 15:54:40 GMT+0100 (CET)"},"519":{"varMapping":{"__isSmartRef__":true,"id":520},"source":"function nextSlide() {\n this.slide = (this.slide+1)%3\n //this.clear()\n var next = this.build(this.slides()[this.slide]);\n next.setPosition(pt(this.activeSlide.getPosition().x + this.activeSlide.getExtent().x,0));\n this.container.addMorph(next)\n this.activeSlide = next;\n\n this.animateRight(1000);\n\n}","funcProperties":{"__isSmartRef__":true,"id":521},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"520":{"this":{"__isSmartRef__":true,"id":283}},"521":{"timestamp":{"__isSmartRef__":true,"id":522},"user":"athomschke","tags":[]},"522":{"isSerializedDate":true,"string":"Sun May 20 2012 20:43:57 GMT+0200 (CEST)"},"523":{"varMapping":{"__isSmartRef__":true,"id":524},"source":"function slides() {\n return [this.colorSet1(), this.colorSet2(), this.colorSet3()]\n}","funcProperties":{"__isSmartRef__":true,"id":525},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"524":{"this":{"__isSmartRef__":true,"id":283}},"525":{"timestamp":{"__isSmartRef__":true,"id":526},"user":"huberthesse","tags":[]},"526":{"isSerializedDate":true,"string":"Fri Mar 02 2012 16:32:29 GMT+0100 (CET)"},"527":{"varMapping":{"__isSmartRef__":true,"id":528},"source":"function animateRight(timeout) {\n this.container.moveByAnimated(pt(-this.getExtent().x,0), timeout, this.removeHiddenSlides);\n}","funcProperties":{"__isSmartRef__":true,"id":529},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"528":{"this":{"__isSmartRef__":true,"id":283}},"529":{"timestamp":{"__isSmartRef__":true,"id":530},"user":"undefined","tags":[]},"530":{"isSerializedDate":true,"string":"Fri Mar 09 2012 12:28:28 GMT+0100 (CET)"},"531":{"varMapping":{"__isSmartRef__":true,"id":532},"source":"function animateLeft(timeout) {\n this.container.moveByAnimated(pt(this.getExtent().x,0), timeout, this.removeHiddenSlides);\n}","funcProperties":{"__isSmartRef__":true,"id":533},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"532":{"this":{"__isSmartRef__":true,"id":283}},"533":{"timestamp":{"__isSmartRef__":true,"id":534},"user":"undefined","tags":[]},"534":{"isSerializedDate":true,"string":"Fri Mar 09 2012 12:28:25 GMT+0100 (CET)"},"535":{"submorphs":[{"__isSmartRef__":true,"id":536}],"scripts":[],"shape":{"__isSmartRef__":true,"id":548},"id":"5477660F-B00A-4F44-88E2-889D12AF2F69","eventHandler":{"__isSmartRef__":true,"id":549},"droppingEnabled":true,"halosEnabled":true,"attributeConnections":[{"__isSmartRef__":true,"id":550},{"__isSmartRef__":true,"id":552}],"doNotSerialize":["$$value"],"doNotCopyProperties":["$$value"],"sliderExtent":0.1,"valueScale":1,"sliderKnob":{"__isSmartRef__":true,"id":536},"styleClass":["slider_background_horizontal"],"showsHalos":false,"knobRatio":3,"isLockOwner":false,"layout":{"__isSmartRef__":true,"id":554},"isBeingDragged":false,"prevScroll":[0,0],"name":"AlphaSlider","owner":{"__isSmartRef__":true,"id":282},"value":1,"_ClipMode":"visible","__serializedExpressions__":["_Position","distanceToDragEvent","color","iPadColor","midColor"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":555},"__LivelyClassName__":"lively.morphic.Slider","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(22.0,384.1)","distanceToDragEvent":"lively.pt(148.0,-8.0)","color":"Color.rgb(0,0,0)","iPadColor":"Color.rgb(0,0,0)","midColor":"Color.rgb(255,112,116)"},"536":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":537},"id":"7C8995E1-F932-4C19-BB04-9B6A28DF0B40","eventHandler":{"__isSmartRef__":true,"id":538},"droppingEnabled":true,"halosEnabled":true,"draggingEnabled":true,"slider":{"__isSmartRef__":true,"id":535},"owner":{"__isSmartRef__":true,"id":535},"styleClass":["slider_horizontal"],"isBeingDragged":false,"draggableWithoutHalo":true,"showsHalos":false,"isLockOwner":false,"prevScroll":[0,0],"_ClipMode":"visible","__serializedExpressions__":["_Position","hitPoint"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":539},"__LivelyClassName__":"lively.morphic.SliderKnob","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(273.6,0.0)","hitPoint":"lively.pt(1398.0,493.0)"},"537":{"_ClipMode":"visible","_BorderWidth":2.7760000000000002,"_BorderRadius":13,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(30.4,7.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(146,146,146)","_Fill":"Color.rgba(235,235,235,0.6)"},"538":{"morph":{"__isSmartRef__":true,"id":536},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"539":{"onrestore":{"__isSmartRef__":true,"id":540}},"540":{"varMapping":{"__isSmartRef__":true,"id":541},"source":"function onrestore() {\n $super();\n this.setFill(Color.rgba(235,235,235,0.6))\n}","funcProperties":{"__isSmartRef__":true,"id":546},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"541":{"this":{"__isSmartRef__":true,"id":536},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":542}},"542":{"$super":{"__isSmartRef__":true,"id":543}},"543":{"varMapping":{"__isSmartRef__":true,"id":544},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":545},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"544":{"obj":{"__isSmartRef__":true,"id":536},"name":"onrestore"},"545":{},"546":{"timestamp":{"__isSmartRef__":true,"id":547},"user":"athomschke","tags":[]},"547":{"isSerializedDate":true,"string":"Wed Feb 22 2012 10:19:48 GMT+0100 (CET)"},"548":{"_ClipMode":"visible","_BorderWidth":1,"_BorderRadius":6,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(304.0,7.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(0,0,0)"},"549":{"morph":{"__isSmartRef__":true,"id":535},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"550":{"sourceObj":{"__isSmartRef__":true,"id":535},"sourceAttrName":"value","targetObj":{"__isSmartRef__":true,"id":535},"targetMethodName":"adjustSliderParts","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":551},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"551":{"source":{"__isSmartRef__":true,"id":535},"target":{"__isSmartRef__":true,"id":535}},"552":{"sourceObj":{"__isSmartRef__":true,"id":535},"sourceAttrName":"value","targetObj":{"__isSmartRef__":true,"id":282},"targetMethodName":"setBorderFillOfTarget","converterString":"function (val) {return this.getSourceObj().getColor()}","updaterString":null,"varMapping":{"__isSmartRef__":true,"id":553},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"553":{"source":{"__isSmartRef__":true,"id":535},"target":{"__isSmartRef__":true,"id":282}},"554":{"resizeWidth":true,"moveVertical":true},"555":{"getColor":{"__isSmartRef__":true,"id":556},"updateColor":{"__isSmartRef__":true,"id":560},"setKnobFill":{"__isSmartRef__":true,"id":564}},"556":{"varMapping":{"__isSmartRef__":true,"id":557},"source":"function getColor() {\n return this.color.withA(this.value)\n}","funcProperties":{"__isSmartRef__":true,"id":558},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"557":{"this":{"__isSmartRef__":true,"id":535}},"558":{"timestamp":{"__isSmartRef__":true,"id":559},"user":"huberthesse","tags":[]},"559":{"isSerializedDate":true,"string":"Tue Feb 28 2012 17:27:35 GMT+0100 (CET)"},"560":{"varMapping":{"__isSmartRef__":true,"id":561},"source":"function updateColor(color) {\n this.iPadColor = color;\n this.color = color;\n this.setFill(color);\n if (this.updateFill) \n this.updateFill(this.value)\n}","funcProperties":{"__isSmartRef__":true,"id":562},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"561":{"this":{"__isSmartRef__":true,"id":535}},"562":{"timestamp":{"__isSmartRef__":true,"id":563},"user":"athomschke","tags":[]},"563":{"isSerializedDate":true,"string":"Sun May 20 2012 20:52:00 GMT+0200 (CEST)"},"564":{"varMapping":{"__isSmartRef__":true,"id":565},"source":"function setKnobFill() {\n var knobStyle= new lively.morphic.LinearGradient(\n [\n {offset: 0, color: Color.darkGray.mixedWith(Color.white, 0.5)},\n {offset: 0.3, color: Color.lightGray},\n {offset: 1, color: Color.white}\n ]\n )\n this.sliderKnob.setFill(knobStyle);\n}","funcProperties":{"__isSmartRef__":true,"id":566},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"565":{"this":{"__isSmartRef__":true,"id":535}},"566":{"timestamp":{"__isSmartRef__":true,"id":567},"user":"undefined","tags":[]},"567":{"isSerializedDate":true,"string":"Tue Mar 13 2012 11:54:12 GMT+0100 (CET)"},"568":{"submorphs":[{"__isSmartRef__":true,"id":569}],"scripts":[],"id":"709262DA-9E3A-4304-836D-0FE5F94B6A9B","shape":{"__isSmartRef__":true,"id":574},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":575},"lighterFill":{"__isSmartRef__":true,"id":580},"label":{"__isSmartRef__":true,"id":569},"name":"ScriptableButton3","showsHalos":false,"attributeConnections":[{"__isSmartRef__":true,"id":585}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":586},"layout":{"__isSmartRef__":true,"id":587},"owner":{"__isSmartRef__":true,"id":282},"isLockOwner":false,"prevScroll":[0,0],"_ClipMode":"visible","isPressed":false,"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":1.5707963267948966,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":588},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(320.5,63.4)","distanceToDragEvent":"lively.pt(24.1,-11.9)"},"569":{"submorphs":[],"scripts":[],"id":"8FEA935C-628F-40E5-B3E4-1E859712318E","shape":{"__isSmartRef__":true,"id":570},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":271,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":568},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":571}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":573},"_HandStyle":"default","_PointerEvents":"none","_MinTextWidth":271,"_MinTextHeight":null,"isLockOwner":false,"_WordBreak":"break-all","lastSearchString":"","lastSearchIndex":0,"searchHighlights":[],"__serializedExpressions__":["_Position","padding","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)"},"570":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(271.0,18.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"571":{"style":{"__isSmartRef__":true,"id":572},"chunkOwner":{"__isSmartRef__":true,"id":569},"storedString":"^","_id":"_121","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"572":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"573":{"morph":{"__isSmartRef__":true,"id":569},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"574":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":575},"_BorderRadius":5.2,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(271.0,18.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"575":{"stops":[{"__isSmartRef__":true,"id":576},{"__isSmartRef__":true,"id":577},{"__isSmartRef__":true,"id":578},{"__isSmartRef__":true,"id":579}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"576":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"577":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"578":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"579":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"580":{"stops":[{"__isSmartRef__":true,"id":581},{"__isSmartRef__":true,"id":582},{"__isSmartRef__":true,"id":583},{"__isSmartRef__":true,"id":584}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"581":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"582":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"583":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"584":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"585":{"sourceObj":{"__isSmartRef__":true,"id":568},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":568},"targetMethodName":"onFire","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"586":{"morph":{"__isSmartRef__":true,"id":568},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"587":{"centeredHorizontal":false,"centeredVertical":false,"adjustForNewBounds":true,"resizeWidth":false,"resizeHeight":false,"moveVertical":true,"moveHorizontal":true},"588":{"onFire":{"__isSmartRef__":true,"id":589}},"589":{"varMapping":{"__isSmartRef__":true,"id":590},"source":"function onFire() {\n this.owner.nextSlide();\n}","funcProperties":{"__isSmartRef__":true,"id":591},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"590":{"this":{"__isSmartRef__":true,"id":568}},"591":{"timestamp":{"__isSmartRef__":true,"id":592},"user":"conradcalmez","tags":[]},"592":{"isSerializedDate":true,"string":"Thu May 03 2012 10:43:53 GMT+0200 (CEST)"},"593":{"submorphs":[{"__isSmartRef__":true,"id":594}],"scripts":[],"id":"9099A2BE-6BF1-4711-B410-D041B4CB13E1","shape":{"__isSmartRef__":true,"id":599},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":600},"lighterFill":{"__isSmartRef__":true,"id":605},"label":{"__isSmartRef__":true,"id":594},"name":"ScriptableButton2","showsHalos":false,"attributeConnections":[{"__isSmartRef__":true,"id":610}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":611},"layout":{"__isSmartRef__":true,"id":612},"owner":{"__isSmartRef__":true,"id":282},"isLockOwner":false,"_ClipMode":"visible","prevScroll":[0,0],"isPressed":false,"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":-1.5707963267948966,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":613},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(19.5,332.4)","distanceToDragEvent":"lively.pt(36.7,-281.8)"},"594":{"submorphs":[],"scripts":[],"id":"76E73E85-6C70-4762-9A30-C2A064EB18AA","shape":{"__isSmartRef__":true,"id":595},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":269,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":593},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":596}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":598},"_HandStyle":"default","_PointerEvents":"none","_MinTextWidth":269,"_MinTextHeight":null,"isLockOwner":false,"_WordBreak":"break-all","lastSearchString":"","lastSearchIndex":0,"searchHighlights":[],"__serializedExpressions__":["_Position","padding","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)"},"595":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(269.0,16.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"596":{"style":{"__isSmartRef__":true,"id":597},"chunkOwner":{"__isSmartRef__":true,"id":594},"storedString":"^","_id":"_122","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"597":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"598":{"morph":{"__isSmartRef__":true,"id":594},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"599":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":600},"_BorderRadius":5.2,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(269.0,16.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"600":{"stops":[{"__isSmartRef__":true,"id":601},{"__isSmartRef__":true,"id":602},{"__isSmartRef__":true,"id":603},{"__isSmartRef__":true,"id":604}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"601":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"602":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"603":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"604":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"605":{"stops":[{"__isSmartRef__":true,"id":606},{"__isSmartRef__":true,"id":607},{"__isSmartRef__":true,"id":608},{"__isSmartRef__":true,"id":609}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"606":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"607":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"608":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"609":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"610":{"sourceObj":{"__isSmartRef__":true,"id":593},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":593},"targetMethodName":"onFire","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"611":{"morph":{"__isSmartRef__":true,"id":593},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"612":{"centeredHorizontal":false,"centeredVertical":false,"adjustForNewBounds":true,"resizeWidth":false,"moveHorizontal":false,"moveVertical":true},"613":{"onFire":{"__isSmartRef__":true,"id":614}},"614":{"varMapping":{"__isSmartRef__":true,"id":615},"source":"function onFire() {\n this.owner.previousSlide();\n}","funcProperties":{"__isSmartRef__":true,"id":616},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"615":{"this":{"__isSmartRef__":true,"id":593}},"616":{"timestamp":{"__isSmartRef__":true,"id":617},"user":"conradcalmez","tags":[]},"617":{"isSerializedDate":true,"string":"Thu May 03 2012 10:43:42 GMT+0200 (CEST)"},"618":{"submorphs":[],"scripts":[],"id":"051ACD2E-DBFB-4BE4-A00D-5632B6D3651C","shape":{"__isSmartRef__":true,"id":619},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":true,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":null,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"Label","textChunks":[{"__isSmartRef__":true,"id":620}],"charsReplaced":"Color","lastFindLoc":5,"priorSelectionRange":null,"prevScroll":[0,0],"isLabel":true,"_ClipMode":"visible","_WhiteSpaceHandling":"pre-wrap","allowInput":false,"eventsAreIgnored":false,"eventHandler":{"__isSmartRef__":true,"id":622},"moved":true,"owner":{"__isSmartRef__":true,"id":282},"_MinTextWidth":null,"_MinTextHeight":null,"isLockOwner":false,"layout":{"__isSmartRef__":true,"id":623},"lastSearchString":"","lastSearchIndex":0,"searchHighlights":[],"__serializedExpressions__":["_Position","textColor","distanceToDragEvent"],"_Rotation":0,"_Scale":1.002003004005006,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(141.9,8.0)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(43.6,-9.0)"},"619":{"fill":null,"_BorderWidth":0,"_Fill":null,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(53.0,22.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"620":{"style":{"__isSmartRef__":true,"id":621},"chunkOwner":{"__isSmartRef__":true,"id":618},"storedString":"Pencil","_id":"_123","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"621":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"622":{"morph":{"__isSmartRef__":true,"id":618},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"623":{"moveHorizontal":false,"centeredHorizontal":true,"moveVertical":false},"624":{"submorphs":[],"scripts":[],"id":"E196EE2C-7D74-4448-9F2F-FF610942B220","shape":{"__isSmartRef__":true,"id":625},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":18.899550000000033,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":10,"name":"Text","textChunks":[{"__isSmartRef__":true,"id":626}],"charsReplaced":"some text ","lastFindLoc":20,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":628},"_ClipMode":"visible","_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":18.899550000000033,"_MinTextHeight":null,"moved":true,"owner":{"__isSmartRef__":true,"id":282},"isBeingDragged":false,"isLockOwner":false,"layout":{"__isSmartRef__":true,"id":629},"lastSearchString":"","lastSearchIndex":0,"searchHighlights":[],"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"_Rotation":0,"_Scale":1.002003004005006,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(18.0,358.1)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(38.0,-15.0)"},"625":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(26.9,19.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"626":{"style":{"__isSmartRef__":true,"id":627},"morph":{"__isSmartRef__":true,"id":624},"chunkOwner":{"__isSmartRef__":true,"id":624},"storedString":"Fill","_id":"_124","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"627":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"628":{"morph":{"__isSmartRef__":true,"id":624},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"629":{"moveVertical":true},"630":{"submorphs":[],"scripts":[],"id":"889880DA-424A-48BE-B073-D67F836D8BAA","shape":{"__isSmartRef__":true,"id":631},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":37.861569000000024,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":10,"name":"Text1","textChunks":[{"__isSmartRef__":true,"id":632}],"charsReplaced":"FillOpacity","lastFindLoc":11,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":634},"_ClipMode":"visible","_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":37.861569000000024,"_MinTextHeight":null,"moved":true,"isBeingDragged":false,"owner":{"__isSmartRef__":true,"id":282},"isLockOwner":false,"layout":{"__isSmartRef__":true,"id":635},"lastSearchString":"","lastSearchIndex":0,"searchHighlights":[],"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"_Rotation":0,"_Scale":1.002003004005006,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(20.0,395.1)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(36.0,-14.0)"},"631":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(45.9,19.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)","_Fill":"Color.rgb(255,255,255)"},"632":{"style":{"__isSmartRef__":true,"id":633},"morph":{"__isSmartRef__":true,"id":630},"chunkOwner":{"__isSmartRef__":true,"id":630},"storedString":"Alpha","_id":"_125","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"633":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"634":{"morph":{"__isSmartRef__":true,"id":630},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"635":{"moveVertical":true},"636":{"submorphs":[],"scripts":[],"id":"0E07EF22-4C43-47C3-9DB5-C6DC9E92006A","shape":{"__isSmartRef__":true,"id":637},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":37.861569000000024,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":10,"name":"Text2","textChunks":[{"__isSmartRef__":true,"id":638}],"charsReplaced":"Alpha","lastFindLoc":5,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":640},"_ClipMode":"visible","_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":37.861569000000024,"_MinTextHeight":null,"previousSelection":[0,5],"moved":true,"isBeingDragged":false,"isLockOwner":false,"layout":{"__isSmartRef__":true,"id":641},"owner":{"__isSmartRef__":true,"id":282},"lastSearchString":"","lastSearchIndex":0,"searchHighlights":[],"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"_Rotation":0,"_Scale":1.002003004005006,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(21.0,436.1)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(36.0,-14.0)"},"637":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(45.9,19.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)","_Fill":"Color.rgb(255,255,255)"},"638":{"style":{"__isSmartRef__":true,"id":639},"morph":{"__isSmartRef__":true,"id":636},"chunkOwner":{"__isSmartRef__":true,"id":636},"storedString":"Width","_id":"_126","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"639":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"640":{"morph":{"__isSmartRef__":true,"id":636},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"641":{"moveVertical":true},"642":{"submorphs":[{"__isSmartRef__":true,"id":643}],"scripts":[],"id":"6768DA02-A9B2-4A69-A7A8-41FF690EAEC4","shape":{"__isSmartRef__":true,"id":646},"droppingEnabled":true,"halosEnabled":true,"attributeConnections":[{"__isSmartRef__":true,"id":651},{"__isSmartRef__":true,"id":653},{"__isSmartRef__":true,"id":655}],"doNotSerialize":["$$value"],"doNotCopyProperties":["$$value"],"sliderExtent":0.1,"valueScale":1,"sliderKnob":{"__isSmartRef__":true,"id":643},"styleClass":["slider_background_horizontal"],"showsHalos":false,"name":"ColorSlider","eventHandler":{"__isSmartRef__":true,"id":657},"layout":{"__isSmartRef__":true,"id":658},"isBeingDragged":false,"moved":true,"owner":{"__isSmartRef__":true,"id":282},"headRevision":145293,"prevScroll":[0,0],"value":0.5,"_ClipMode":"visible","__serializedExpressions__":["_Position","midColor","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":659},"__LivelyClassName__":"lively.morphic.Slider","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(21.0,346.2)","midColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(110.0,-24.0)"},"643":{"submorphs":[],"scripts":[],"id":"27A11FAE-76A3-42A3-BE32-C9D60C9B7886","shape":{"__isSmartRef__":true,"id":644},"droppingEnabled":true,"halosEnabled":true,"draggingEnabled":true,"slider":{"__isSmartRef__":true,"id":642},"owner":{"__isSmartRef__":true,"id":642},"styleClass":["slider_horizontal"],"eventHandler":{"__isSmartRef__":true,"id":645},"isBeingDragged":false,"draggableWithoutHalo":true,"showsHalos":false,"_ClipMode":"visible","prevScroll":[0,0],"__serializedExpressions__":["_Position","hitPoint"],"__LivelyClassName__":"lively.morphic.SliderKnob","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(136.8,0.0)","hitPoint":"lively.pt(1123.0,403.0)"},"644":{"_BorderWidth":2.7760000000000002,"_BorderRadius":13,"_ClipMode":"visible","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(30.4,7.0)","_BorderColor":"Color.rgb(146,146,146)","_Fill":"Color.rgba(235,235,235,0.6)","_Padding":"lively.rect(0,0,0,0)"},"645":{"morph":{"__isSmartRef__":true,"id":643},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"646":{"_BorderWidth":1,"_Fill":{"__isSmartRef__":true,"id":647},"_BorderRadius":6,"_Opacity":1,"_BorderStyle":"solid","_ClipMode":"visible","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(304.0,7.0)","_BorderColor":"Color.rgb(95,94,95)","_Padding":"lively.rect(0,0,0,0)"},"647":{"stops":[{"__isSmartRef__":true,"id":648},{"__isSmartRef__":true,"id":649},{"__isSmartRef__":true,"id":650}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,1,0)"},"648":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"649":{"offset":0.5,"__serializedExpressions__":["color"],"color":"Color.rgb(0,0,0)"},"650":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(0,0,0)"},"651":{"sourceObj":{"__isSmartRef__":true,"id":642},"sourceAttrName":"value","targetObj":{"__isSmartRef__":true,"id":642},"targetMethodName":"adjustSliderParts","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":652},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"652":{"source":{"__isSmartRef__":true,"id":642},"target":{"__isSmartRef__":true,"id":642}},"653":{"sourceObj":{"__isSmartRef__":true,"id":642},"sourceAttrName":"value","targetObj":{"__isSmartRef__":true,"id":282},"targetMethodName":"setBorderFillOfTarget","converterString":"function (val) {return this.getSourceObj().getColor()}","updaterString":null,"varMapping":{"__isSmartRef__":true,"id":654},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"654":{"source":{"__isSmartRef__":true,"id":642},"target":{"__isSmartRef__":true,"id":282}},"655":{"sourceObj":{"__isSmartRef__":true,"id":642},"sourceAttrName":"value","targetObj":{"__isSmartRef__":true,"id":282},"targetMethodName":"updateAlphaSlider","converterString":"function (val) {\n return this.getSourceObj().getColor()\n }","updaterString":null,"varMapping":{"__isSmartRef__":true,"id":656},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"656":{"source":{"__isSmartRef__":true,"id":642},"target":{"__isSmartRef__":true,"id":282}},"657":{"morph":{"__isSmartRef__":true,"id":642},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"658":{"resizeWidth":true,"moveVertical":true},"659":{"updateColor":{"__isSmartRef__":true,"id":660},"getColor":{"__isSmartRef__":true,"id":664},"updateFill":{"__isSmartRef__":true,"id":668},"setKnobFill":{"__isSmartRef__":true,"id":672}},"660":{"varMapping":{"__isSmartRef__":true,"id":661},"source":"function updateColor(color) {\n this.midColor = color;\n this.setFill(new lively.morphic.LinearGradient(\n [\n {offset: 0, color: color.mixedWith(Color.white, 0)},\n {offset: 0.5, color: color},\n {offset: 1, color: color.mixedWith(Color.black, 0)}\n ],\n 'eastWest'\n )); \n}","funcProperties":{"__isSmartRef__":true,"id":662},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"661":{"this":{"__isSmartRef__":true,"id":642}},"662":{"timestamp":{"__isSmartRef__":true,"id":663},"user":"undefined","tags":[]},"663":{"isSerializedDate":true,"string":"Tue Mar 13 2012 11:49:04 GMT+0100 (CET)"},"664":{"varMapping":{"__isSmartRef__":true,"id":665},"source":"function getColor() {\n var color = this.midColor;\n var alpha = this.get('AlphaSlider').getValue();\n if (this.value < 0.5) { \n return color.mixedWith(Color.white, 1-(0.5-this.value) * 2).withA(alpha)\n }\n else { \n return color.mixedWith(Color.black, 1-(this.value-0.5) * 2).withA(alpha)\n }\n}","funcProperties":{"__isSmartRef__":true,"id":666},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"665":{"this":{"__isSmartRef__":true,"id":642}},"666":{"timestamp":{"__isSmartRef__":true,"id":667},"user":"undefined","tags":[]},"667":{"isSerializedDate":true,"string":"Tue Mar 13 2012 11:48:39 GMT+0100 (CET)"},"668":{"varMapping":{"__isSmartRef__":true,"id":669},"source":"function updateFill(value) {\n\n}","funcProperties":{"__isSmartRef__":true,"id":670},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"669":{"this":{"__isSmartRef__":true,"id":642}},"670":{"timestamp":{"__isSmartRef__":true,"id":671},"user":"undefined","tags":[]},"671":{"isSerializedDate":true,"string":"Tue Mar 13 2012 11:48:47 GMT+0100 (CET)"},"672":{"varMapping":{"__isSmartRef__":true,"id":673},"source":"function setKnobFill() {\n var knobStyle= new lively.morphic.LinearGradient(\n [\n {offset: 0, color: Color.darkGray.mixedWith(Color.white, 0.5)},\n {offset: 0.3, color: Color.lightGray},\n {offset: 1, color: Color.white}\n ]\n )\n this.sliderKnob.setFill(knobStyle);\n}","funcProperties":{"__isSmartRef__":true,"id":674},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"673":{"this":{"__isSmartRef__":true,"id":642}},"674":{"timestamp":{"__isSmartRef__":true,"id":675},"user":"undefined","tags":[]},"675":{"isSerializedDate":true,"string":"Tue Mar 13 2012 11:45:15 GMT+0100 (CET)"},"676":{"submorphs":[],"scripts":[],"id":"DCCF8FD0-3DFB-4E67-957E-BEF0EDCB36E0","shape":{"__isSmartRef__":true,"id":677},"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":678},"itemList":["solid","hidden","dotted","dashed","double","groove","ridge","inset","outset"],"selectOnMove":false,"showsHalos":false,"attributeConnections":[{"__isSmartRef__":true,"id":679}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"name":"BorderStyleList","prevScroll":[0,0],"selectedLineNo":0,"valueScale":1,"changeTriggered":true,"owner":{"__isSmartRef__":true,"id":282},"isLockOwner":false,"selection":"solid","layout":{"__isSmartRef__":true,"id":680},"isBeingDragged":false,"#startLetters":"sel","__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":681},"__LivelyClassName__":"lively.morphic.DropDownList","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(22.6,462.8)","distanceToDragEvent":"lively.pt(106.5,-16.1)"},"677":{"_BorderWidth":0,"_BorderRadius":0,"_BorderStyle":"solid","_Opacity":1,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(304.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"678":{"morph":{"__isSmartRef__":true,"id":676},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"679":{"sourceObj":{"__isSmartRef__":true,"id":676},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":282},"targetMethodName":"setBorderStyleOfTarget","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"680":{"resizeWidth":true,"moveVertical":true},"681":{"setupConnections":{"__isSmartRef__":true,"id":682}},"682":{"varMapping":{"__isSmartRef__":true,"id":683},"source":"function setupConnections() {\n connect(this, 'selection', this.owner, 'setBorderStyleOfTarget')\n}","funcProperties":{"__isSmartRef__":true,"id":684},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"683":{"this":{"__isSmartRef__":true,"id":676}},"684":{"timestamp":{"__isSmartRef__":true,"id":685},"user":"undefined","tags":[]},"685":{"isSerializedDate":true,"string":"Tue Mar 13 2012 16:14:21 GMT+0100 (CET)"},"686":{"submorphs":[],"scripts":[],"id":"FFC74087-876A-484E-B9AE-03263B84A6BC","shape":{"__isSmartRef__":true,"id":687},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":37.861569000000024,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":10,"name":"Text3","textChunks":[{"__isSmartRef__":true,"id":688}],"charsReplaced":"Alpha","lastFindLoc":5,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":690},"_ClipMode":"visible","_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":37.861569000000024,"_MinTextHeight":null,"previousSelection":[0,5],"moved":true,"isBeingDragged":false,"isLockOwner":false,"layout":{"__isSmartRef__":true,"id":691},"owner":{"__isSmartRef__":true,"id":282},"lastSearchString":"","lastSearchIndex":0,"searchHighlights":[],"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"_Rotation":0,"_Scale":1.0100552207170068,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(16.0,483.6)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(33.1,-9.7)"},"687":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(45.9,19.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)","_Fill":"Color.rgb(255,255,255)"},"688":{"style":{"__isSmartRef__":true,"id":689},"chunkOwner":{"__isSmartRef__":true,"id":686},"storedString":"Style","_id":"_127","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"689":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"690":{"morph":{"__isSmartRef__":true,"id":686},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"691":{"moveVertical":true},"692":{"submorphs":[{"__isSmartRef__":true,"id":693}],"scripts":[],"id":"108C4B42-624C-4F9C-BBD9-C488A7976ECA","shape":{"__isSmartRef__":true,"id":700},"droppingEnabled":true,"halosEnabled":true,"attributeConnections":[{"__isSmartRef__":true,"id":705},{"__isSmartRef__":true,"id":707}],"doNotSerialize":["$$value"],"doNotCopyProperties":["$$value"],"sliderExtent":0.1,"valueScale":20,"sliderKnob":{"__isSmartRef__":true,"id":693},"styleClass":["slider_background_horizontal"],"showsHalos":false,"name":"WidthSlider","eventHandler":{"__isSmartRef__":true,"id":709},"layout":{"__isSmartRef__":true,"id":710},"_ClipMode":"visible","owner":{"__isSmartRef__":true,"id":282},"isBeingDragged":false,"value":0,"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1.0080361203307935,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":711},"__LivelyClassName__":"lively.morphic.Slider","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(20.4,423.4)","distanceToDragEvent":"lively.pt(208.0,-15.0)"},"693":{"submorphs":[],"scripts":[],"id":"739D71E1-6C80-4C4B-AA08-155FC0469AE7","shape":{"__isSmartRef__":true,"id":694},"droppingEnabled":true,"halosEnabled":true,"draggingEnabled":true,"slider":{"__isSmartRef__":true,"id":692},"owner":{"__isSmartRef__":true,"id":692},"styleClass":["slider_horizontal"],"eventHandler":{"__isSmartRef__":true,"id":699},"_ClipMode":"visible","isBeingDragged":false,"__serializedExpressions__":["_Position","hitPoint"],"__LivelyClassName__":"lively.morphic.SliderKnob","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,0.0)","hitPoint":"lively.pt(1322.0,531.0)"},"694":{"_BorderWidth":1,"_Fill":{"__isSmartRef__":true,"id":695},"_BorderRadius":6,"__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(30.4,7.0)","_BorderColor":"Color.rgb(102,102,102)","_Padding":"lively.rect(0,0,0,0)"},"695":{"stops":[{"__isSmartRef__":true,"id":696},{"__isSmartRef__":true,"id":697},{"__isSmartRef__":true,"id":698}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"696":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(196,211,221)"},"697":{"offset":0.5,"__serializedExpressions__":["color"],"color":"Color.rgb(137,167,187)"},"698":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(96,130,153)"},"699":{"morph":{"__isSmartRef__":true,"id":693},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"700":{"_BorderWidth":1,"_Fill":{"__isSmartRef__":true,"id":701},"_BorderRadius":6,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(304.0,7.0)","_BorderColor":"Color.rgb(192,192,192)","_Padding":"lively.rect(0,0,0,0)"},"701":{"stops":[{"__isSmartRef__":true,"id":702},{"__isSmartRef__":true,"id":703},{"__isSmartRef__":true,"id":704}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"702":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"703":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"704":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"705":{"sourceObj":{"__isSmartRef__":true,"id":692},"sourceAttrName":"value","targetObj":{"__isSmartRef__":true,"id":282},"targetMethodName":"setBorderWidthOfTarget","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":706},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"706":{"source":{"__isSmartRef__":true,"id":692},"target":{"__isSmartRef__":true,"id":282}},"707":{"sourceObj":{"__isSmartRef__":true,"id":692},"sourceAttrName":"value","targetObj":{"__isSmartRef__":true,"id":692},"targetMethodName":"adjustSliderParts","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":708},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"708":{"source":{"__isSmartRef__":true,"id":692},"target":{"__isSmartRef__":true,"id":692}},"709":{"morph":{"__isSmartRef__":true,"id":692},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"710":{},"711":{"setupConnections":{"__isSmartRef__":true,"id":712}},"712":{"varMapping":{"__isSmartRef__":true,"id":713},"source":"function setupConnections() {\n this.attributeConnections.invoke('disconnect')\n connect(this, 'value', this.owner, 'setBorderWidthOfTarget', {});\n connect(this, \"value\", this, \"adjustSliderParts\", {});\n}","funcProperties":{"__isSmartRef__":true,"id":714},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"713":{"this":{"__isSmartRef__":true,"id":692}},"714":{"timestamp":{"__isSmartRef__":true,"id":715},"user":"athomschke","tags":[]},"715":{"isSerializedDate":true,"string":"Fri May 18 2012 14:12:32 GMT+0200 (CEST)"},"716":{"_ClipMode":"visible","_BorderWidth":1,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(342.0,518.4)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(146,146,146)","_Fill":"Color.rgb(255,255,255)"},"717":{"morph":{"__isSmartRef__":true,"id":282},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"718":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":719},"derivationIds":[null,"3BFE1379-1F04-4D67-9EF7-5B4FBFDBA664","5D6C7189-578D-43F4-9CD7-1147488CC39A","B94896ED-7945-451C-A272-EA37CA082437","79E0E27D-35CD-4A03-B953-6F312765B235","D910A585-E632-4BF3-B5E2-3C8C154AE3CF","663F24FF-769C-4449-B930-428BC331F801","78E6C55C-74A8-40BE-8945-601B8A6A8DC5","8B22D49A-3C38-492E-BC57-A51B77BAC1AF","0CDF2390-AF1D-4F41-8CFD-A48C6F218004","541AD507-0755-4227-8E55-0AD0063413B0","96D6CBE3-A7CC-4B98-9085-1F8AC9094FBB","E7ADEEC3-05EA-4DAA-9123-4115A65E19D7","CEF69D58-911C-468E-8373-CFC838CA8ABB","DE4FC545-B285-4F44-923B-C98E6184A1E0","C9450FA0-D866-4133-8DD9-5BD20D41B1FE","DD1B8752-C7BD-4452-B9C8-94D3F0F07CFF","5728FB50-ECBE-41F8-9A2B-E303875FB2A9","50059C5E-6E8B-4386-B9DD-FC2FEC6A867D","65DBB414-A81E-4413-9D82-9F80F0D373F7","C170EE35-98E8-445C-B2E9-EA3968AC312A","58202EAC-1B7D-4B20-BEF0-DEB4A086E0B9"],"id":"D478DC86-5731-4215-B687-AAB4DA6B26A3","eventHandler":{"__isSmartRef__":true,"id":720},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":721},"chooserWidget":{"__isSmartRef__":true,"id":282},"owner":null,"attributeConnections":[{"__isSmartRef__":true,"id":727}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"layout":{"__isSmartRef__":true,"id":729},"isLockOwner":false,"showsHalos":false,"name":"ColorButton","colorSlider":{"__isSmartRef__":true,"id":730},"selectable":false,"__serializedExpressions__":["_Position","normalFill","lighterFill","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":769},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(120.5,396.0)","normalFill":"Color.rgb(121,121,121)","lighterFill":"Color.rgb(230,230,230)","distanceToDragEvent":"lively.pt(74.5,-9.0)"},"719":{"_ClipMode":"visible","_BorderWidth":1,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,30.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(102,102,102)","_Fill":"Color.rgb(160,0,152)"},"720":{"morph":{"__isSmartRef__":true,"id":718},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"721":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":722},"derivationIds":[null,"409AFB2A-7C17-44E5-973E-DD024B4CD5F8","D5F9CE00-5FA6-4908-9AB4-0A7E3C77A700","BE9078C1-0F94-4812-9E6A-5FEBAF5CD444","70AE98EB-20F3-4475-838A-2B496B86064E","FE986E29-AA1F-40D8-A74A-E77F7552A745","BF036DBC-71B7-4D1C-8207-AB523600C020"],"id":"245B31E3-A914-450B-999C-72F26243A5F7","_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":723}],"eventHandler":{"__isSmartRef__":true,"id":725},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"hidden","fixedWidth":true,"fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"_MaxTextWidth":100,"_MinTextWidth":100,"_MaxTextHeight":null,"_MinTextHeight":null,"evalEnabled":false,"owner":null,"isLabel":true,"_HandStyle":"default","_Align":"center","eventsAreIgnored":true,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"layout":{"__isSmartRef__":true,"id":726},"isLockOwner":false,"showsHalos":false,"__serializedExpressions__":["_Position","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,7.0)","_TextColor":"Color.rgb(26,41,127)"},"722":{"_ClipMode":"hidden","_BorderWidth":0,"_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,16.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"723":{"style":{"__isSmartRef__":true,"id":724},"chunkOwner":{"__isSmartRef__":true,"id":721},"storedString":"Apply","_id":"_128","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"724":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"725":{"morph":{"__isSmartRef__":true,"id":721},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"726":{"centeredVertical":true,"centeredHorizontal":true,"moveVertical":false},"727":{"sourceObj":{"__isSmartRef__":true,"id":718},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":718},"targetMethodName":"updateBorderFillOfTarget","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":728},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"728":{"source":{"__isSmartRef__":true,"id":718},"target":{"__isSmartRef__":true,"id":718}},"729":{"adjustForNewBounds":true,"centeredHorizontal":true,"moveVertical":true},"730":{"submorphs":[{"__isSmartRef__":true,"id":731}],"scripts":[],"shape":{"__isSmartRef__":true,"id":743},"derivationIds":[null,"364359B5-1B95-4042-A1C6-CC5B778FBAB2","E23C63BE-652E-40F7-8097-3DF7BED48B6C","A6A49117-8DAC-4A69-AF96-BA716A6C97EB","C0B5F763-CA00-4443-B9CD-2CA95B36429B","77B2DB00-1E0D-4B3E-B3C9-202137BF3133","942AB4D6-4180-4618-BFAE-FA77436A07EA","39BFE677-6965-447C-8920-74E41CF1199A","F945FF1B-1922-4BC1-8029-435B2E295162","7DCD9012-2605-495C-AD57-1C70B8F8EF89","755F7C9A-3821-4A3E-9BA7-CF67F715C9A9","576830D2-EAA2-4CE3-9267-49C3069C041B","615B5236-3080-4512-BD82-4E248EF48B72","7F3C54D5-8B7C-4B5D-AA97-62485D67B23F","3042EF8C-3796-43E2-92DB-3F6C9D9A479E","59A3F72B-B84A-4E6C-A251-AD4EA34C0BAD","66A534B9-6DCD-4F91-B586-CF1BA826557D","F6145A65-C9F9-4473-9FCA-0CB8760CFC99","80031AFD-1DED-4106-9F99-32C316B8A5DF","4D1F7850-8645-4D46-A6D8-D3B824D9FFF7","CA9EE9CE-6106-4B91-AB54-593C5557A152","DE940626-E2D2-40C4-A8DF-BB608552A705"],"id":"F64E7757-3E90-485B-BD5C-29DD01C7EA38","eventHandler":{"__isSmartRef__":true,"id":748},"droppingEnabled":true,"halosEnabled":true,"attributeConnections":[{"__isSmartRef__":true,"id":749},{"__isSmartRef__":true,"id":751},{"__isSmartRef__":true,"id":753}],"doNotSerialize":["$$value"],"doNotCopyProperties":["$$value"],"sliderExtent":0.1,"valueScale":1,"sliderKnob":{"__isSmartRef__":true,"id":731},"styleClass":["slider_background_horizontal"],"owner":null,"showsHalos":false,"knobRatio":3,"isLockOwner":false,"layout":{"__isSmartRef__":true,"id":755},"isBeingDragged":false,"prevScroll":[0,0],"name":"ColorSlider","colorChooser":{"__isSmartRef__":true,"id":282},"value":0.5,"__serializedExpressions__":["_Position","distanceToDragEvent","midColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":756},"__LivelyClassName__":"lively.morphic.Slider","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(22.0,332.0)","distanceToDragEvent":"lively.pt(168.0,-10.0)","midColor":"Color.rgb(0,151,0)"},"731":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":732},"derivationIds":[null,"9C2384F5-91D1-4379-B620-DEA9D7F7CE18","F00A4628-8174-4DEC-BB3B-6775B129BB7D","B191BDB8-E5F9-4720-8E66-90DDF52C8722","2283BE9C-5ADC-489A-9A0B-D491138EFB8D","6FA7B465-1E0D-4582-8C58-2927A2EEDA4E","CCE7CD6F-56AF-48A3-BC41-8B9690F3B8DB","6B87CAB8-5613-48A2-89FC-1A97E946D601","AD2740EA-5C95-4785-A9E9-3E1574E4261A","A6A80ED9-FC6C-436C-9764-29F30AC73678","FF701D0F-6EA7-498A-8437-C9258F0C538A","90F2E11F-E3D9-4CF7-AB93-2D5B9660186B","0E2A0CA4-B53D-438D-A05C-5A10C6F94DC2","C73C8D0E-EEA3-40D6-9357-B1DA8D0FEE24","BC14E452-06DB-453A-987A-68CD11F501C7","6D3C62D7-7739-4DBB-91F4-20C0A3AFE16B","EDAF8BDF-C972-477A-9FD0-4DADB3466F4B","F269ECC8-D226-4173-AD4C-A263E89F78B4","23FBB672-4FD8-465D-A75B-C7E7F55628AD","0F556F96-3FEE-45F8-A9D7-786A9847D672","FACAD732-28A7-46C9-85CF-E2836B2E9E5B","E5B62663-9402-4137-9CE6-C294AB0F70C9"],"id":"46D79328-A9D0-4939-A9B2-C568EC3B6108","eventHandler":{"__isSmartRef__":true,"id":733},"droppingEnabled":true,"halosEnabled":true,"draggingEnabled":true,"slider":{"__isSmartRef__":true,"id":730},"owner":{"__isSmartRef__":true,"id":730},"styleClass":["slider_horizontal"],"isBeingDragged":false,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"draggableWithoutHalo":true,"showsHalos":false,"isLockOwner":false,"prevScroll":[0,0],"selectable":false,"__serializedExpressions__":["_Position","hitPoint"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":734},"__LivelyClassName__":"lively.morphic.SliderKnob","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(133.7,0.0)","hitPoint":"lively.pt(462.0,404.0)"},"732":{"_ClipMode":"visible","_BorderWidth":2.7760000000000002,"_BorderRadius":13,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(29.7,6.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(146,146,146)","_Fill":"Color.rgba(235,235,235,0.6)"},"733":{"morph":{"__isSmartRef__":true,"id":731},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"734":{"onrestore":{"__isSmartRef__":true,"id":735}},"735":{"varMapping":{"__isSmartRef__":true,"id":736},"source":"function onrestore() {\n $super();\n this.setFill(Color.rgba(235,235,235,0.6))\n}","funcProperties":{"__isSmartRef__":true,"id":741},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"736":{"this":{"__isSmartRef__":true,"id":731},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":737}},"737":{"$super":{"__isSmartRef__":true,"id":738}},"738":{"varMapping":{"__isSmartRef__":true,"id":739},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":740},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"739":{"obj":{"__isSmartRef__":true,"id":731},"name":"onrestore"},"740":{},"741":{"timestamp":{"__isSmartRef__":true,"id":742},"user":"athomschke","tags":[]},"742":{"isSerializedDate":true,"string":"Wed Feb 22 2012 10:19:48 GMT+0100 (CET)"},"743":{"_ClipMode":"visible","_BorderWidth":1,"_Fill":{"__isSmartRef__":true,"id":744},"_BorderRadius":6,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(297.0,6.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(95,94,95)"},"744":{"stops":[{"__isSmartRef__":true,"id":745},{"__isSmartRef__":true,"id":746},{"__isSmartRef__":true,"id":747}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,1,0)"},"745":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(255,255,255)"},"746":{"offset":0.5,"__serializedExpressions__":["color"],"color":"Color.rgb(0,151,0)"},"747":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(0,0,0)"},"748":{"morph":{"__isSmartRef__":true,"id":730},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"749":{"sourceObj":{"__isSmartRef__":true,"id":730},"sourceAttrName":"value","targetObj":{"__isSmartRef__":true,"id":730},"targetMethodName":"adjustSliderParts","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":750},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"750":{"source":{"__isSmartRef__":true,"id":730},"target":{"__isSmartRef__":true,"id":730}},"751":{"sourceObj":{"__isSmartRef__":true,"id":730},"sourceAttrName":"value","targetObj":{"__isSmartRef__":true,"id":282},"targetMethodName":"updateAlphaSlider","converterString":"function (val) {return this.getSourceObj().getColor()}","updaterString":null,"varMapping":{"__isSmartRef__":true,"id":752},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"752":{"source":{"__isSmartRef__":true,"id":730},"target":{"__isSmartRef__":true,"id":282}},"753":{"sourceObj":{"__isSmartRef__":true,"id":730},"sourceAttrName":"value","targetObj":{"__isSmartRef__":true,"id":282},"targetMethodName":"updateBorderFillOfTarget","converterString":"function (val) {return this.getSourceObj().getColor()}","updaterString":null,"varMapping":{"__isSmartRef__":true,"id":754},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"754":{"source":{"__isSmartRef__":true,"id":730},"target":{"__isSmartRef__":true,"id":282}},"755":{"resizeWidth":true,"moveVertical":true},"756":{"getColor":{"__isSmartRef__":true,"id":757},"updateColor":{"__isSmartRef__":true,"id":761},"updateFill":{"__isSmartRef__":true,"id":765}},"757":{"varMapping":{"__isSmartRef__":true,"id":758},"source":"function getColor() {\n var color = this.midColor;\n var alpha = this.get('AlphaSlider').getValue();\n if (this.value < 0.5) { \n return color.mixedWith(Color.white, 1-(0.5-this.value) * 2).withA(alpha)\n }\n else { \n return color.mixedWith(Color.black, 1-(this.value-0.5) * 2).withA(alpha)\n }\n}","funcProperties":{"__isSmartRef__":true,"id":759},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"758":{"this":{"__isSmartRef__":true,"id":730}},"759":{"timestamp":{"__isSmartRef__":true,"id":760},"user":"huberthesse","tags":[]},"760":{"isSerializedDate":true,"string":"Tue Feb 28 2012 17:30:25 GMT+0100 (CET)"},"761":{"varMapping":{"__isSmartRef__":true,"id":762},"source":"function updateColor(color) {\n this.midColor = color;\n this.setFill(new lively.morphic.LinearGradient(\n [\n {offset: 0, color: color.mixedWith(Color.white, 0)},\n {offset: 0.5, color: color},\n {offset: 1, color: color.mixedWith(Color.black, 0)}\n ],\n 'eastWest'\n )); \n}","funcProperties":{"__isSmartRef__":true,"id":763},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"762":{"this":{"__isSmartRef__":true,"id":730}},"763":{"timestamp":{"__isSmartRef__":true,"id":764},"user":"huberthesse","tags":[]},"764":{"isSerializedDate":true,"string":"Tue Feb 28 2012 17:57:12 GMT+0100 (CET)"},"765":{"varMapping":{"__isSmartRef__":true,"id":766},"source":"function updateFill() {\n //overwrite\n}","funcProperties":{"__isSmartRef__":true,"id":767},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"766":{"this":{"__isSmartRef__":true,"id":730}},"767":{"timestamp":{"__isSmartRef__":true,"id":768},"user":"undefined","tags":[]},"768":{"isSerializedDate":true,"string":"Fri Mar 09 2012 12:39:43 GMT+0100 (CET)"},"769":{"onrestore":{"__isSmartRef__":true,"id":770},"updateColor":{"__isSmartRef__":true,"id":778},"updateBorderFillOfTarget":{"__isSmartRef__":true,"id":782}},"770":{"varMapping":{"__isSmartRef__":true,"id":771},"source":"function onrestore() {\n $super();\n this.applyStyle({borderRadius: 0})\n}","funcProperties":{"__isSmartRef__":true,"id":776},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"771":{"this":{"__isSmartRef__":true,"id":718},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":772}},"772":{"$super":{"__isSmartRef__":true,"id":773}},"773":{"varMapping":{"__isSmartRef__":true,"id":774},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":775},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"774":{"obj":{"__isSmartRef__":true,"id":718},"name":"onrestore"},"775":{},"776":{"timestamp":{"__isSmartRef__":true,"id":777},"user":"huberthesse","tags":[]},"777":{"isSerializedDate":true,"string":"Wed Feb 22 2012 14:22:27 GMT+0100 (CET)"},"778":{"varMapping":{"__isSmartRef__":true,"id":779},"source":"function updateColor(color) {\n this.setFill(color);\n this.normalFill = this.getFill();\n this.lighterFill = Color.lightGray\n}","funcProperties":{"__isSmartRef__":true,"id":780},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"779":{"this":{"__isSmartRef__":true,"id":718}},"780":{"timestamp":{"__isSmartRef__":true,"id":781},"user":"huberthesse","tags":[]},"781":{"isSerializedDate":true,"string":"Tue Feb 28 2012 18:04:43 GMT+0100 (CET)"},"782":{"varMapping":{"__isSmartRef__":true,"id":783},"source":"function updateBorderFillOfTarget() {\n this.getFill()\n $world.currentHaloTarget && $world.currentHaloTarget.setBorderColor(this.normalFill) \n}","funcProperties":{"__isSmartRef__":true,"id":784},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"783":{"this":{"__isSmartRef__":true,"id":718}},"784":{"timestamp":{"__isSmartRef__":true,"id":785},"user":"undefined","tags":[]},"785":{"isSerializedDate":true,"string":"Fri Mar 09 2012 12:33:33 GMT+0100 (CET)"},"786":{"adjustForNewBounds":true,"moveVertical":true},"787":{"lastStart":{"__isSmartRef__":true,"id":788},"identifier":3753021798,"pageY":475,"screenX":459,"clientX":645,"clientY":439,"screenY":338,"pageX":645,"__serializedExpressions__":["touchStart","touchStartInClientCoordinates"],"touchStart":"lively.pt(645.0,475.0)","touchStartInClientCoordinates":"lively.pt(645.0,439.0)"},"788":{"isSerializedDate":true,"string":"Wed Feb 29 2012 18:19:15 GMT+0100 (CET)"},"789":{"submorphs":[{"__isSmartRef__":true,"id":790},{"__isSmartRef__":true,"id":282},{"__isSmartRef__":true,"id":863},{"__isSmartRef__":true,"id":1107},{"__isSmartRef__":true,"id":1132},{"__isSmartRef__":true,"id":243},{"__isSmartRef__":true,"id":1157}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1182},"eventHandler":{"__isSmartRef__":true,"id":1183},"_ClipMode":"visible","id":"548FC16A-5738-4CAC-9F3E-07ADC1B98BFF","droppingEnabled":false,"halosEnabled":true,"draggingEnabled":true,"layout":{"__isSmartRef__":true,"id":1184},"LK2":true,"targetMorph":{"__isSmartRef__":true,"id":243},"reframeHandle":{"__isSmartRef__":true,"id":1157},"bottomReframeHandle":{"__isSmartRef__":true,"id":1107},"rightReframeHandle":{"__isSmartRef__":true,"id":1132},"titleBar":{"__isSmartRef__":true,"id":790},"collapsedTransform":{"__isSmartRef__":true,"id":1185},"expandedTransform":{"__isSmartRef__":true,"id":1186},"ignoreEventsOnExpand":false,"_PreviousBorderWidth":0,"name":"SyncMorph","highlighted":false,"isBeingDragged":false,"showsHalos":false,"moved":true,"_Rotation":0,"_Scale":1,"attributeConnections":[{"__isSmartRef__":true,"id":1097},{"__isSmartRef__":true,"id":1099},{"__isSmartRef__":true,"id":1101},{"__isSmartRef__":true,"id":1103}],"doNotSerialize":["$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$_Position","$$_Scale","$$_Rotation","$$owner"],"prevScroll":[0,0],"cameForward":false,"helperMorphs":[{"__isSmartRef__":true,"id":282},{"__isSmartRef__":true,"id":863},{"__isSmartRef__":true,"id":1107},{"__isSmartRef__":true,"id":1132},{"__isSmartRef__":true,"id":1157}],"state":"expanded","#startLetters":"","__serializedExpressions__":["collapsedExtent","expandedExtent","_Position","contentOffset","prevDragPos","expandedPosition","collapsedPosition"],"owner":{"__isSmartRef__":true,"id":0},"partsBinMetaInfo":{"__isSmartRef__":true,"id":1187},"__LivelyClassName__":"lively.morphic.Window","__SourceModuleName__":"Global.lively.morphic.Widgets","withoutLayers":["Global.lively.morphic.GrabbingLayer"],"collapsedExtent":"lively.pt(958.8,22.0)","expandedExtent":"lively.pt(958.8,609.9)","_Position":"lively.pt(6.0,8.0)","contentOffset":"lively.pt(4.0,22.0)","prevDragPos":"lively.pt(599.0,23.0)","expandedPosition":"lively.pt(7.0,7.0)","collapsedPosition":"lively.pt(10.0,10.0)"},"790":{"submorphs":[{"__isSmartRef__":true,"id":791},{"__isSmartRef__":true,"id":797},{"__isSmartRef__":true,"id":810},{"__isSmartRef__":true,"id":822},{"__isSmartRef__":true,"id":835},{"__isSmartRef__":true,"id":855},{"__isSmartRef__":true,"id":996}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1016},"eventHandler":{"__isSmartRef__":true,"id":1017},"_ClipMode":"visible","id":"43513544-A294-4508-8F13-39713F9FCBEB","droppingEnabled":false,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1018},"windowMorph":{"__isSmartRef__":true,"id":789},"label":{"__isSmartRef__":true,"id":791},"closeButton":{"__isSmartRef__":true,"id":797},"menuButton":{"__isSmartRef__":true,"id":810},"collapseButton":{"__isSmartRef__":true,"id":822},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":789},"showsHalos":false,"magnets":[{"__isSmartRef__":true,"id":1019},{"__isSmartRef__":true,"id":1020},{"__isSmartRef__":true,"id":1021},{"__isSmartRef__":true,"id":1022},{"__isSmartRef__":true,"id":1023},{"__isSmartRef__":true,"id":1024},{"__isSmartRef__":true,"id":1025},{"__isSmartRef__":true,"id":1026}],"attributeConnections":[{"__isSmartRef__":true,"id":1027},{"__isSmartRef__":true,"id":1089},{"__isSmartRef__":true,"id":1091},{"__isSmartRef__":true,"id":1093},{"__isSmartRef__":true,"id":1095}],"doNotSerialize":["$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$_Position","$$_Scale","$$_Rotation","$$owner"],"prevScroll":[0,0],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.TitleBar","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,0.0)"},"791":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":792},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":793}],"eventHandler":{"__isSmartRef__":true,"id":795},"_ClipMode":"hidden","id":"806DCFE2-0112-48D1-BD62-23DDA30871B9","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"isLabel":true,"layout":{"__isSmartRef__":true,"id":796},"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":790},"_StyleClassNames":["window-title"],"_TextStylingMode":true,"showsHalos":false,"prevScroll":[0,0],"lastSearchString":"","lastSearchIndex":0,"searchHighlights":[],"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(21.0,3.0)"},"792":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(898.8,18.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"793":{"style":{"__isSmartRef__":true,"id":794},"chunkOwner":{"__isSmartRef__":true,"id":791},"_id":"_50966","storedString":"Channel: default","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"794":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"795":{"morph":{"__isSmartRef__":true,"id":791},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"796":{"resizeWidth":true},"797":{"submorphs":[{"__isSmartRef__":true,"id":798}],"scripts":[],"shape":{"__isSmartRef__":true,"id":803},"eventHandler":{"__isSmartRef__":true,"id":804},"_ClipMode":"visible","id":"FA6ADA55-B6DD-4C13-AF5C-59B6A1E1935F","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":798},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":790},"layout":{"__isSmartRef__":true,"id":805},"_StyleClassNames":["close"],"attributeConnections":[{"__isSmartRef__":true,"id":806},{"__isSmartRef__":true,"id":808}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"isPressed":false,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(938.8,3.0)"},"798":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":799},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":800}],"eventHandler":{"__isSmartRef__":true,"id":802},"_ClipMode":"hidden","id":"0EF8EF16-9602-4EC8-AA73-E98ACDC7E9B0","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":797},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"lastSearchString":"","lastSearchIndex":0,"searchHighlights":[],"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,-1.0)"},"799":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"800":{"style":{"__isSmartRef__":true,"id":801},"chunkOwner":{"__isSmartRef__":true,"id":798},"_id":"_493","storedString":"X","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"801":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"802":{"morph":{"__isSmartRef__":true,"id":798},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"803":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"804":{"morph":{"__isSmartRef__":true,"id":797},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"805":{"moveHorizontal":true},"806":{"sourceObj":{"__isSmartRef__":true,"id":797},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":789},"targetMethodName":"getCloseHelp","varMapping":{"__isSmartRef__":true,"id":807},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"807":{"source":{"__isSmartRef__":true,"id":797},"target":{"__isSmartRef__":true,"id":789}},"808":{"sourceObj":{"__isSmartRef__":true,"id":797},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":789},"targetMethodName":"initiateShutdown","varMapping":{"__isSmartRef__":true,"id":809},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"809":{"source":{"__isSmartRef__":true,"id":797},"target":{"__isSmartRef__":true,"id":789}},"810":{"submorphs":[{"__isSmartRef__":true,"id":811}],"scripts":[],"shape":{"__isSmartRef__":true,"id":816},"eventHandler":{"__isSmartRef__":true,"id":817},"_ClipMode":"visible","id":"0E496554-1E5B-4F6A-AD63-5CCE80C20014","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":811},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":790},"attributeConnections":[{"__isSmartRef__":true,"id":818},{"__isSmartRef__":true,"id":820}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"isPressed":false,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(3.0,3.0)"},"811":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":812},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":813}],"eventHandler":{"__isSmartRef__":true,"id":815},"_ClipMode":"hidden","id":"05608E1C-86AD-4080-816D-A2B79B8F520B","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":810},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"lastSearchString":"","lastSearchIndex":0,"searchHighlights":[],"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"812":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(18.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"813":{"style":{"__isSmartRef__":true,"id":814},"chunkOwner":{"__isSmartRef__":true,"id":811},"_id":"_495","storedString":"M","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"814":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"815":{"morph":{"__isSmartRef__":true,"id":811},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"816":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"817":{"morph":{"__isSmartRef__":true,"id":810},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"818":{"sourceObj":{"__isSmartRef__":true,"id":810},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":789},"targetMethodName":"getMenuHelp","varMapping":{"__isSmartRef__":true,"id":819},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"819":{"source":{"__isSmartRef__":true,"id":810},"target":{"__isSmartRef__":true,"id":789}},"820":{"sourceObj":{"__isSmartRef__":true,"id":810},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":789},"targetMethodName":"showTargetMorphMenu","varMapping":{"__isSmartRef__":true,"id":821},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"821":{"source":{"__isSmartRef__":true,"id":810},"target":{"__isSmartRef__":true,"id":789}},"822":{"submorphs":[{"__isSmartRef__":true,"id":823}],"scripts":[],"shape":{"__isSmartRef__":true,"id":828},"eventHandler":{"__isSmartRef__":true,"id":829},"_ClipMode":"visible","id":"39AF0575-4FC2-46BB-A1E5-03E6E56A2C56","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":823},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":790},"layout":{"__isSmartRef__":true,"id":830},"attributeConnections":[{"__isSmartRef__":true,"id":831},{"__isSmartRef__":true,"id":833}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"isPressed":false,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(919.8,3.0)"},"823":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":824},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":825}],"eventHandler":{"__isSmartRef__":true,"id":827},"_ClipMode":"hidden","id":"A82BDDAF-B107-46F5-9130-2891A2E507DB","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":822},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"lastSearchString":"","lastSearchIndex":0,"searchHighlights":[],"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,1.0)"},"824":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"825":{"style":{"__isSmartRef__":true,"id":826},"chunkOwner":{"__isSmartRef__":true,"id":823},"_id":"_497","storedString":"–","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"826":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"827":{"morph":{"__isSmartRef__":true,"id":823},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"828":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"829":{"morph":{"__isSmartRef__":true,"id":822},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"830":{"moveHorizontal":true},"831":{"sourceObj":{"__isSmartRef__":true,"id":822},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":789},"targetMethodName":"getCollapseHelp","varMapping":{"__isSmartRef__":true,"id":832},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"832":{"source":{"__isSmartRef__":true,"id":822},"target":{"__isSmartRef__":true,"id":789}},"833":{"sourceObj":{"__isSmartRef__":true,"id":822},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":789},"targetMethodName":"toggleCollapse","varMapping":{"__isSmartRef__":true,"id":834},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"834":{"source":{"__isSmartRef__":true,"id":822},"target":{"__isSmartRef__":true,"id":789}},"835":{"submorphs":[{"__isSmartRef__":true,"id":836}],"scripts":[],"shape":{"__isSmartRef__":true,"id":841},"eventHandler":{"__isSmartRef__":true,"id":842},"_ClipMode":"visible","derivationIds":[],"id":"6B8EA2D0-C2CB-4275-A2F6-881167F8F7F9","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":836},"_PreviousBorderWidth":1,"whiteboard":{"__isSmartRef__":true,"id":243},"targetObject":{"__isSmartRef__":true,"id":243},"targetState":"active","toggleFunction":"toggleActivation","_ToolTip":"toggles online state","extraButton":true,"attributeConnections":[{"__isSmartRef__":true,"id":843}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":790},"__serializedExpressions__":["_Position"],"_Rotation":0,"_Scale":1,"isPressed":false,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":845},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(40.0,1.0)"},"836":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":837},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":838}],"eventHandler":{"__isSmartRef__":true,"id":840},"_ClipMode":"hidden","derivationIds":[],"id":"D8CE5EA0-4034-43D5-B8F7-89080747F0E2","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":835},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"837":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"838":{"style":{"__isSmartRef__":true,"id":839},"chunkOwner":{"__isSmartRef__":true,"id":836},"_id":"_50533","storedString":"O","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"839":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"840":{"morph":{"__isSmartRef__":true,"id":836},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"841":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"842":{"morph":{"__isSmartRef__":true,"id":835},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"843":{"sourceObj":{"__isSmartRef__":true,"id":835},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":835},"targetMethodName":"onFire","varMapping":{"__isSmartRef__":true,"id":844},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"844":{"source":{"__isSmartRef__":true,"id":835},"target":{"__isSmartRef__":true,"id":835}},"845":{"ensurePressed":{"__isSmartRef__":true,"id":846},"ensureDepressed":{"__isSmartRef__":true,"id":849},"onFire":{"__isSmartRef__":true,"id":852}},"846":{"varMapping":{"__isSmartRef__":true,"id":847},"source":"function ensurePressed() {\n if (this.isActive) {\n this.isPressed = true;\n this.changeAppearanceFor(true);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":848},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"847":{"this":{"__isSmartRef__":true,"id":835}},"848":{},"849":{"varMapping":{"__isSmartRef__":true,"id":850},"source":"function ensureDepressed() {\n this.isPressed = false;\n this.changeAppearanceFor(false);\n }","funcProperties":{"__isSmartRef__":true,"id":851},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"850":{"this":{"__isSmartRef__":true,"id":835}},"851":{},"852":{"varMapping":{"__isSmartRef__":true,"id":853},"source":"function onFire() {\n this.targetObject[this.toggleFunction].apply(this.targetObject);\n }","funcProperties":{"__isSmartRef__":true,"id":854},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"853":{"this":{"__isSmartRef__":true,"id":835}},"854":{},"855":{"submorphs":[{"__isSmartRef__":true,"id":856}],"scripts":[],"shape":{"__isSmartRef__":true,"id":861},"eventHandler":{"__isSmartRef__":true,"id":862},"_ClipMode":"visible","derivationIds":[],"id":"2A032D40-5EA0-47FD-8784-653BF49412C1","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":856},"_PreviousBorderWidth":1,"whiteboard":{"__isSmartRef__":true,"id":243},"targetObject":{"__isSmartRef__":true,"id":863},"targetState":"_Visible","toggleFunction":"toggle","_ToolTip":"opens the chat pane","extraButton":true,"attributeConnections":[{"__isSmartRef__":true,"id":984}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":790},"__serializedExpressions__":["_Position"],"_Rotation":0,"_Scale":1,"isPressed":false,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":986},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(60.0,1.0)"},"856":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":857},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":858}],"eventHandler":{"__isSmartRef__":true,"id":860},"_ClipMode":"hidden","derivationIds":[],"id":"A80FCE12-1E48-4EF3-A7EA-56ED6C683A0E","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":855},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"857":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"858":{"style":{"__isSmartRef__":true,"id":859},"chunkOwner":{"__isSmartRef__":true,"id":856},"_id":"_50536","storedString":"C","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"859":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"860":{"morph":{"__isSmartRef__":true,"id":856},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"861":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"862":{"morph":{"__isSmartRef__":true,"id":855},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"863":{"submorphs":[{"__isSmartRef__":true,"id":864},{"__isSmartRef__":true,"id":887}],"scripts":[],"id":"38B24D22-B706-4604-83FE-ABB747BBD1D3","shape":{"__isSmartRef__":true,"id":918},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"ChatPane","eventHandler":{"__isSmartRef__":true,"id":919},"partTests":{"__isSmartRef__":true,"id":920},"_ClipMode":"visible","owner":{"__isSmartRef__":true,"id":789},"layout":{"__isSmartRef__":true,"id":925},"prevScroll":[0,0],"whiteboard":{"__isSmartRef__":true,"id":243},"pencilStyler":{"__isSmartRef__":true,"id":282},"isCopyMorphRef":true,"morphRefId":2,"commands":{"__isSmartRef__":true,"id":926},"userName":"","visible":true,"_Visible":false,"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":927},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)","distanceToDragEvent":"lively.pt(209.0,-16.0)"},"864":{"submorphs":[],"scripts":[],"id":"BB61FCA1-6CE1-43FF-AA8B-4A1F26E16598","shape":{"__isSmartRef__":true,"id":865},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":310.6757780000002,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"InputField","textChunks":[{"__isSmartRef__":true,"id":866}],"charsReplaced":"","lastFindLoc":0,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":868},"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","moved":true,"owner":{"__isSmartRef__":true,"id":863},"_MinTextWidth":310.6757780000002,"_MinTextHeight":null,"layout":{"__isSmartRef__":true,"id":869},"savedTextString":"","isBeingDragged":false,"history":["/names","/names","/names","/names","foobar","/names"],"historyPosition":6,"lastSearchString":"","lastSearchIndex":0,"searchHighlights":[],"__serializedExpressions__":["_Position","textColor","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":870},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(2.0,554.0)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(216.0,-13.0)"},"865":{"fill":null,"_BorderWidth":1.1840000000000002,"_BorderRadius":6.660000000000001,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(328.0,24.4)","_BorderColor":"Color.rgb(192,192,192)","_Padding":"lively.rect(0,0,0,0)"},"866":{"style":{"__isSmartRef__":true,"id":867},"chunkOwner":{"__isSmartRef__":true,"id":864},"_id":"_21501","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"867":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"868":{"morph":{"__isSmartRef__":true,"id":864},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"869":{"resizeWidth":true,"moveVertical":true},"870":{"onrestore":{"__isSmartRef__":true,"id":871},"onKeyDown":{"__isSmartRef__":true,"id":879}},"871":{"varMapping":{"__isSmartRef__":true,"id":872},"source":"function onrestore() {\n this.history = [];\n this.historyPosition = 0;\n}","funcProperties":{"__isSmartRef__":true,"id":877},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"872":{"this":{"__isSmartRef__":true,"id":864},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":873}},"873":{"$super":{"__isSmartRef__":true,"id":874}},"874":{"varMapping":{"__isSmartRef__":true,"id":875},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world) \n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":876},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"875":{"obj":{"__isSmartRef__":true,"id":864},"name":"onrestore"},"876":{},"877":{"timestamp":{"__isSmartRef__":true,"id":878},"user":"conradcalmez","tags":[]},"878":{"isSerializedDate":true,"string":"Fri Apr 27 2012 20:59:12 GMT+0200 (CEST)"},"879":{"varMapping":{"__isSmartRef__":true,"id":880},"source":"function onKeyDown(evt) {\n //$super(evt);\n var text = this.getTextString();\n if (evt.keyCode === 13 && text) {\n this.history.push(text);\n this.historyPosition = this.history.length;\n if (text.slice(0,1) === \"/\") {\n this.owner.processCommand(text);\n } else {\n this.owner.sendMessage(text);\n }\n this.setTextString(\"\");\n } else if (evt.keyCode === 38) {\n this.historyPosition--;\n if (this.historyPosition >= 0) {\n this.setTextString(this.history[this.historyPosition]);\n } else {\n this.historyPosition = 0;\n }\n } else if (evt.keyCode === 40) {\n this.historyPosition++;\n if (this.historyPosition < this.history.length) {\n this.setTextString(this.history[this.historyPosition]);\n } else if (this.historyPosition == this.history.length) {\n this.setTextString(\"\");\n } else {\n this.historyPosition = this.history.length;\n }\n };\n //evt.stop();\n}","funcProperties":{"__isSmartRef__":true,"id":885},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"880":{"this":{"__isSmartRef__":true,"id":864},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":881}},"881":{"$super":{"__isSmartRef__":true,"id":882}},"882":{"varMapping":{"__isSmartRef__":true,"id":883},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world) \n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":884},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"883":{"obj":{"__isSmartRef__":true,"id":864},"name":"onKeyDown"},"884":{},"885":{"timestamp":{"__isSmartRef__":true,"id":886},"user":"conradcalmez","tags":[]},"886":{"isSerializedDate":true,"string":"Mon Apr 30 2012 08:32:02 GMT+0200 (CEST)"},"887":{"submorphs":[{"__isSmartRef__":true,"id":888}],"scripts":[],"id":"31A25F9D-D7CE-4115-AE58-A6CAEF09AA53","shape":{"__isSmartRef__":true,"id":902},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"ConsolePane","eventHandler":{"__isSmartRef__":true,"id":903},"partTests":{"__isSmartRef__":true,"id":904},"_ClipMode":"auto","owner":{"__isSmartRef__":true,"id":863},"isBeingDragged":false,"prevScroll":[0,0],"#startLetters":"setRich","__serializedExpressions__":["_Position"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":909},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(1.2,1.0)"},"888":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":889},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":890}],"eventHandler":{"__isSmartRef__":true,"id":892},"_ClipMode":"visible","id":"0C69C8B8-32BF-4085-BAB5-9A0DB933E524","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":true,"_HandStyle":"default","allowInput":true,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"name":"TextPane","eventsAreDisabled":true,"_PointerEvents":"none","owner":{"__isSmartRef__":true,"id":887},"__serializedExpressions__":["_TextColor"],"lastSearchString":"","lastSearchIndex":0,"searchHighlights":[],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":893},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)"},"889":{"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(326.0,548.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"890":{"style":{"__isSmartRef__":true,"id":891},"chunkOwner":{"__isSmartRef__":true,"id":888},"_id":"_50541","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"891":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"892":{"morph":{"__isSmartRef__":true,"id":888},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"893":{"onrestore":{"__isSmartRef__":true,"id":894}},"894":{"varMapping":{"__isSmartRef__":true,"id":895},"source":"function onrestore() {\n var transparent = new Color.rgba(0, 0, 0, 0);\n this.disableEvents();\n this.setFill(transparent);\n this.setBorderColor(transparent);\n this.setExtent(pt(326,548));\n}","funcProperties":{"__isSmartRef__":true,"id":900},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"895":{"this":{"__isSmartRef__":true,"id":888},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":896}},"896":{"$super":{"__isSmartRef__":true,"id":897}},"897":{"varMapping":{"__isSmartRef__":true,"id":898},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":899},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"898":{"obj":{"__isSmartRef__":true,"id":888},"name":"onrestore"},"899":{},"900":{"timestamp":{"__isSmartRef__":true,"id":901},"user":"conradcalmez","tags":[]},"901":{"isSerializedDate":true,"string":"Tue Feb 12 2013 15:35:32 GMT+0100 (CET)"},"902":{"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(330.0,550.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(235,235,235)","_Padding":"lively.rect(0,0,0,0)"},"903":{"morph":{"__isSmartRef__":true,"id":887},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"904":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":905}},"905":{"test01IsMorph":{"__isSmartRef__":true,"id":906}},"906":{"varMapping":{"__isSmartRef__":true,"id":907},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":908},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"907":{"this":{"__isSmartRef__":true,"id":904}},"908":{},"909":{"onrestore":{"__isSmartRef__":true,"id":910}},"910":{"varMapping":{"__isSmartRef__":true,"id":911},"source":"function onrestore() {\n this.setClipMode(\"auto\");\n}","funcProperties":{"__isSmartRef__":true,"id":916},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"911":{"this":{"__isSmartRef__":true,"id":887},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":912}},"912":{"$super":{"__isSmartRef__":true,"id":913}},"913":{"varMapping":{"__isSmartRef__":true,"id":914},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world) \n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":915},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"914":{"obj":{"__isSmartRef__":true,"id":887},"name":"onrestore"},"915":{},"916":{"timestamp":{"__isSmartRef__":true,"id":917},"user":"conradcalmez","tags":[]},"917":{"isSerializedDate":true,"string":"Thu Apr 26 2012 20:07:58 GMT+0200 (CEST)"},"918":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(332.6,582.1)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"919":{"morph":{"__isSmartRef__":true,"id":863},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"920":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":921}},"921":{"test01IsMorph":{"__isSmartRef__":true,"id":922}},"922":{"varMapping":{"__isSmartRef__":true,"id":923},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":924},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"923":{"this":{"__isSmartRef__":true,"id":920}},"924":{},"925":{"adjustForNewBounds":true,"moveHorizontal":true,"resizeWidth":false,"resizeHeight":true},"926":{},"927":{"onrestore":{"__isSmartRef__":true,"id":928},"hide":{"__isSmartRef__":true,"id":936},"initializeCommands":{"__isSmartRef__":true,"id":940},"setupConnections":{"__isSmartRef__":true,"id":944},"reset":{"__isSmartRef__":true,"id":948},"toggle":{"__isSmartRef__":true,"id":952},"show":{"__isSmartRef__":true,"id":956},"showMessage":{"__isSmartRef__":true,"id":964},"sendMessage":{"__isSmartRef__":true,"id":968},"processCommand":{"__isSmartRef__":true,"id":972},"callCommand":{"__isSmartRef__":true,"id":976},"createChatListeners":{"__isSmartRef__":true,"id":980}},"928":{"varMapping":{"__isSmartRef__":true,"id":929},"source":"function onrestore() {\n this.setExtent(pt(332.6,582.1));\n this.visible = false;\n this.hide();\n this.initializeCommands();\n}","funcProperties":{"__isSmartRef__":true,"id":934},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"929":{"this":{"__isSmartRef__":true,"id":863},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":930}},"930":{"$super":{"__isSmartRef__":true,"id":931}},"931":{"varMapping":{"__isSmartRef__":true,"id":932},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world) \n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":933},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"932":{"obj":{"__isSmartRef__":true,"id":863},"name":"onrestore"},"933":{},"934":{"timestamp":{"__isSmartRef__":true,"id":935},"user":"conradcalmez","tags":[]},"935":{"isSerializedDate":true,"string":"Mon May 07 2012 20:14:36 GMT+0200 (CEST)"},"936":{"varMapping":{"__isSmartRef__":true,"id":937},"source":"function hide() {\n this.setPosition(pt(0, 0));\n this.setVisible(false);\n}","funcProperties":{"__isSmartRef__":true,"id":938},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"937":{"this":{"__isSmartRef__":true,"id":863}},"938":{"timestamp":{"__isSmartRef__":true,"id":939},"user":"conradcalmez","tags":[]},"939":{"isSerializedDate":true,"string":"Wed May 02 2012 15:40:19 GMT+0200 (CEST)"},"940":{"varMapping":{"__isSmartRef__":true,"id":941},"source":"function initializeCommands() {\n this.commands = {\n 'nick': function (name) {\n this.whiteboard.setUserName(name);\n this.showMessage(\"changed nick to \" + name);\n },\n 'names': function () {\n this.whiteboard.getConnectedUserNames();\n },\n 'channel': function (channel) {\n this.whiteboard.setChannel(channel);\n },\n 'chan': this.commands['channel'],\n 'clear': function () {\n this.whiteboard.clear();\n },\n 'activate': function () {\n this.whiteboard.activate();\n },\n 'a': this.commands['activate'],\n 'deactivate': function () {\n this.whiteboard.deactivate();\n },\n 'd': this.commands['deactivate'],\n 'color': function (r, g, b, a) {\n this.whiteboard.setColor(Color.rgba(r, g, b, a));\n },\n 'c': this.commands['color'],\n 'pencil': function (size) {\n this.whiteboard.setPencilSize(size);\n },\n 'p': this.commands['pencil'],\n 'pencilstyler': function () {\n this.pencilStyler.toggle();\n },\n 'ps': this.commands['pencilstyler'],\n 'chat': function () {\n this.toggle();\n },\n 'help': function () {\n var helpText = \"HELP :: (available commands)\\n\";\n helpText += \"----------------------------\\n\\n\"\n helpText += \"/help\\n :: prints this help text\\n\"\n helpText += \"/nick \\n :: sets your nick name\\n\"\n helpText += \"/names\\n :: shows the users in your channel\\n\"\n helpText += \"/chan \\n :: sets the channel you are in\\n\"\n helpText += \"/clear\\n :: clears your whiteboard\\n\"\n helpText += \"/activate\\n :: takes your whiteboard online\\n\"\n helpText += \"/deactivate\\n :: takes your whiteboard offline\\n\"\n helpText += \"/color \\n :: sets the color of your pencil\\n\"\n helpText += \"/pencil \\n :: sets the size of your pencil in pixels\\n\"\n helpText += \"/pencilstyler\\n :: toggles the pencil styler\\n\"\n helpText += \"/chat\\n :: toggles the chat pane\\n\"\n this.showMessage(helpText);\n },\n 'h': this.commands['help']\n };\n}","funcProperties":{"__isSmartRef__":true,"id":942},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"941":{"this":{"__isSmartRef__":true,"id":863}},"942":{"timestamp":{"__isSmartRef__":true,"id":943},"user":"conradcalmez","tags":[]},"943":{"isSerializedDate":true,"string":"Thu Nov 08 2012 18:45:27 GMT+0100 (CET)"},"944":{"varMapping":{"__isSmartRef__":true,"id":945},"source":"function setupConnections() {\n this.attributeConnections && this.attributeConnections.invoke('disconnect');\n}","funcProperties":{"__isSmartRef__":true,"id":946},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"945":{"this":{"__isSmartRef__":true,"id":863}},"946":{"timestamp":{"__isSmartRef__":true,"id":947},"user":"conradcalmez","tags":[]},"947":{"isSerializedDate":true,"string":"Thu Dec 20 2012 16:31:48 GMT+0100 (CET)"},"948":{"varMapping":{"__isSmartRef__":true,"id":949},"source":"function reset() {\n this.whiteboard = this.owner.get(\"WhiteBoard\");\n this.pencilStyler = this.owner.get(\"PencilStyler\");\n this.initializeCommands();\n this.hide();\n var empty = new lively.morphic.RichText,\n pane = this.get(\"ConsolePane\").get(\"TextPane\");\n empty.initialize();\n pane.setRichText(empty);\n}","funcProperties":{"__isSmartRef__":true,"id":950},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"949":{"this":{"__isSmartRef__":true,"id":863}},"950":{"timestamp":{"__isSmartRef__":true,"id":951},"user":"conradcalmez","tags":[]},"951":{"isSerializedDate":true,"string":"Sun Feb 10 2013 18:01:36 GMT+0100 (CET)"},"952":{"varMapping":{"__isSmartRef__":true,"id":953},"source":"function toggle() {\n if (this.visible) {\n this.hide();\n this.visible = false;\n } else {\n this.show();\n this.visible = true;\n this.get(\"InputField\").focus();\n }\n if (this.pencilStyler.isVisible()) {\n // rearrange the pencil styler\n this.pencilStyler.show();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":954},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"953":{"this":{"__isSmartRef__":true,"id":863}},"954":{"timestamp":{"__isSmartRef__":true,"id":955},"user":"conradcalmez","tags":[]},"955":{"isSerializedDate":true,"string":"Thu Nov 08 2012 19:04:16 GMT+0100 (CET)"},"956":{"varMapping":{"__isSmartRef__":true,"id":957},"source":"function show() {\n var titlebarOffset = this.owner.titleBar.getExtent().y;\n var windowOffset = this.owner.getExtent().x;\n this.setPosition(pt(windowOffset, titlebarOffset));\n this.setVisible(true);\n}","funcProperties":{"__isSmartRef__":true,"id":962},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"957":{"this":{"__isSmartRef__":true,"id":863},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":958}},"958":{"$super":{"__isSmartRef__":true,"id":959}},"959":{"varMapping":{"__isSmartRef__":true,"id":960},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":961},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"960":{"obj":{"__isSmartRef__":true,"id":863},"name":"show"},"961":{},"962":{"timestamp":{"__isSmartRef__":true,"id":963},"user":"conradcalmez","tags":[]},"963":{"isSerializedDate":true,"string":"Thu Dec 20 2012 15:50:50 GMT+0100 (CET)"},"964":{"varMapping":{"__isSmartRef__":true,"id":965},"source":"function showMessage(txtAry) {\n var txtAry = typeof(arguments[0]) === 'string' ?\n [{message: arguments[0], color: Color.black}] : txtAry,\n pane = this.get(\"ConsolePane\").get(\"TextPane\"),\n currentText = pane.getRichText(),\n newText = new lively.morphic.RichText(),\n newTextChunks,\n content = new lively.morphic.RichText();\n newText.initialize();\n content.initialize();\n \n newTextChunks = txtAry.collect(function (ea) {\n var chunk = new lively.morphic.TextChunk(ea.message);\n chunk.styleText({color: ea.color});\n return chunk;\n });\n newText.setTextChunks(newTextChunks);\n\n content.setTextChunks(\n currentText.getTextChunks()\n .concat(newText.getTextChunks()) \n );\n pane.setRichText(content);\n pane.scrollToBottom();\n}","funcProperties":{"__isSmartRef__":true,"id":966},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"965":{"this":{"__isSmartRef__":true,"id":863}},"966":{"timestamp":{"__isSmartRef__":true,"id":967},"user":"conradcalmez","tags":[]},"967":{"isSerializedDate":true,"string":"Sun Feb 10 2013 20:57:46 GMT+0100 (CET)"},"968":{"varMapping":{"__isSmartRef__":true,"id":969},"source":"function sendMessage(messageText) {\n if (this.whiteboard.active) {\n this.whiteboard.socket.emit('chat', {\n message: messageText,\n me: true,\n broadcast: true,\n });\n } else {\n this.showMessage(\"! You are not online !\"); \n }\n}","funcProperties":{"__isSmartRef__":true,"id":970},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"969":{"this":{"__isSmartRef__":true,"id":863}},"970":{"timestamp":{"__isSmartRef__":true,"id":971},"user":"conradcalmez","tags":["message sending"]},"971":{"isSerializedDate":true,"string":"Sun Feb 10 2013 17:54:58 GMT+0100 (CET)"},"972":{"varMapping":{"__isSmartRef__":true,"id":973},"source":"function processCommand(commandString) {\n this.callCommand(commandString.slice(1).split(\" \"));\n}","funcProperties":{"__isSmartRef__":true,"id":974},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"973":{"this":{"__isSmartRef__":true,"id":863}},"974":{"timestamp":{"__isSmartRef__":true,"id":975},"user":"conradcalmez","tags":[]},"975":{"isSerializedDate":true,"string":"Mon May 07 2012 20:36:33 GMT+0200 (CEST)"},"976":{"varMapping":{"__isSmartRef__":true,"id":977},"source":"function callCommand(command) {\n var func = this.commands[command[0]]\n if (func) {\n func.apply(this, command.slice(1));\n } else {\n this.showMessage(\"!ERROR :: command \\\"\" + command[0] + \"\\\" is not available\");\n }\n}","funcProperties":{"__isSmartRef__":true,"id":978},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"977":{"this":{"__isSmartRef__":true,"id":863}},"978":{"timestamp":{"__isSmartRef__":true,"id":979},"user":"athomschke","tags":[]},"979":{"isSerializedDate":true,"string":"Sun May 20 2012 21:13:40 GMT+0200 (CEST)"},"980":{"varMapping":{"__isSmartRef__":true,"id":981},"source":"function createChatListeners() {\n var socket = this.whiteboard.socket,\n that = this;\n \n socket.on('chat', function (data) {\n var color = Color.hsb(\n data.message.color.h,\n data.message.color.s,\n data.message.color.b\n );\n \n that.showMessage([\n {message: '<', color: Color.black},\n {message: data.message.nick, color: color},\n {message: '> ' + data.message.text, color: Color.black}\n ]);\n });\n \n socket.on('names', function (data) {\n var txtAry = [{message: \"Currently connected users:\\n[\", color: Color.black}],\n newNick,\n comma = {\n message: \", \",\n color: Color.black\n };\n\n data.message.each(function (ea) {\n newNick = {\n message: ea.nick,\n color: Color.hsb(ea.color.h, ea.color.s, ea.color.b)\n };\n txtAry.push(newNick);\n txtAry.push(comma);\n });\n txtAry.pop(); // remove the last comma\n txtAry.push({message: ']', color: Color.black})\n that.showMessage(txtAry);\n });\n \n socket.on('nick', function (data) {\n var color = Color.hsb(\n data.message.color.h,\n data.message.color.s,\n data.message.color.b\n );\n \n that.showMessage([\n {message: data.message[\"old\"], color: color},\n {message: \" changed its name to \", color: Color.black},\n {message: data.message[\"new\"], color: color}\n ]);\n });\n}","funcProperties":{"__isSmartRef__":true,"id":982},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"981":{"this":{"__isSmartRef__":true,"id":863}},"982":{"timestamp":{"__isSmartRef__":true,"id":983},"user":"conradcalmez","tags":[]},"983":{"isSerializedDate":true,"string":"Mon Feb 11 2013 19:39:18 GMT+0100 (CET)"},"984":{"sourceObj":{"__isSmartRef__":true,"id":855},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":855},"targetMethodName":"onFire","varMapping":{"__isSmartRef__":true,"id":985},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"985":{"source":{"__isSmartRef__":true,"id":855},"target":{"__isSmartRef__":true,"id":855}},"986":{"ensurePressed":{"__isSmartRef__":true,"id":987},"ensureDepressed":{"__isSmartRef__":true,"id":990},"onFire":{"__isSmartRef__":true,"id":993}},"987":{"varMapping":{"__isSmartRef__":true,"id":988},"source":"function ensurePressed() {\n if (this.isActive) {\n this.isPressed = true;\n this.changeAppearanceFor(true);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":989},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"988":{"this":{"__isSmartRef__":true,"id":855}},"989":{},"990":{"varMapping":{"__isSmartRef__":true,"id":991},"source":"function ensureDepressed() {\n this.isPressed = false;\n this.changeAppearanceFor(false);\n }","funcProperties":{"__isSmartRef__":true,"id":992},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"991":{"this":{"__isSmartRef__":true,"id":855}},"992":{},"993":{"varMapping":{"__isSmartRef__":true,"id":994},"source":"function onFire() {\n this.targetObject[this.toggleFunction].apply(this.targetObject);\n }","funcProperties":{"__isSmartRef__":true,"id":995},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"994":{"this":{"__isSmartRef__":true,"id":855}},"995":{},"996":{"submorphs":[{"__isSmartRef__":true,"id":997}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1002},"eventHandler":{"__isSmartRef__":true,"id":1003},"_ClipMode":"visible","derivationIds":[],"id":"4024E07C-B2F9-497C-92F9-A2DCD7EC916B","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":997},"_PreviousBorderWidth":1,"whiteboard":{"__isSmartRef__":true,"id":243},"targetObject":{"__isSmartRef__":true,"id":282},"targetState":"_Visible","toggleFunction":"toggle","_ToolTip":"opens the pencil styler","extraButton":true,"attributeConnections":[{"__isSmartRef__":true,"id":1004}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":790},"__serializedExpressions__":["_Position"],"_Rotation":0,"_Scale":1,"isPressed":false,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1006},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(80.0,1.0)"},"997":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":998},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":999}],"eventHandler":{"__isSmartRef__":true,"id":1001},"_ClipMode":"hidden","derivationIds":[],"id":"17C56FCD-1302-4C6B-BA42-27BB378E7AB9","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":996},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"998":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"999":{"style":{"__isSmartRef__":true,"id":1000},"chunkOwner":{"__isSmartRef__":true,"id":997},"_id":"_50539","storedString":"P","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1000":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1001":{"morph":{"__isSmartRef__":true,"id":997},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1002":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"1003":{"morph":{"__isSmartRef__":true,"id":996},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1004":{"sourceObj":{"__isSmartRef__":true,"id":996},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":996},"targetMethodName":"onFire","varMapping":{"__isSmartRef__":true,"id":1005},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1005":{"source":{"__isSmartRef__":true,"id":996},"target":{"__isSmartRef__":true,"id":996}},"1006":{"ensurePressed":{"__isSmartRef__":true,"id":1007},"ensureDepressed":{"__isSmartRef__":true,"id":1010},"onFire":{"__isSmartRef__":true,"id":1013}},"1007":{"varMapping":{"__isSmartRef__":true,"id":1008},"source":"function ensurePressed() {\n if (this.isActive) {\n this.isPressed = true;\n this.changeAppearanceFor(true);\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1009},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1008":{"this":{"__isSmartRef__":true,"id":996}},"1009":{},"1010":{"varMapping":{"__isSmartRef__":true,"id":1011},"source":"function ensureDepressed() {\n this.isPressed = false;\n this.changeAppearanceFor(false);\n }","funcProperties":{"__isSmartRef__":true,"id":1012},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1011":{"this":{"__isSmartRef__":true,"id":996}},"1012":{},"1013":{"varMapping":{"__isSmartRef__":true,"id":1014},"source":"function onFire() {\n this.targetObject[this.toggleFunction].apply(this.targetObject);\n }","funcProperties":{"__isSmartRef__":true,"id":1015},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1014":{"this":{"__isSmartRef__":true,"id":996}},"1015":{},"1016":{"_AppearanceStylingMode":true,"_BorderStylingMode":true,"_BorderWidth":0,"_BorderRadius":"8px 8px 0px 0px","__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(958.8,22.0)","_Padding":"lively.rect(0,0,0,0)"},"1017":{"morph":{"__isSmartRef__":true,"id":790},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1018":{"resizeWidth":true,"adjustForNewBounds":true},"1019":{"morph":{"__isSmartRef__":true,"id":790},"connectedControlPoints":[],"__serializedExpressions__":["position"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)"},"1020":{"morph":{"__isSmartRef__":true,"id":790},"connectedControlPoints":[],"__serializedExpressions__":["position"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)"},"1021":{"morph":{"__isSmartRef__":true,"id":790},"connectedControlPoints":[],"__serializedExpressions__":["position"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)"},"1022":{"morph":{"__isSmartRef__":true,"id":790},"connectedControlPoints":[],"__serializedExpressions__":["position"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)"},"1023":{"morph":{"__isSmartRef__":true,"id":790},"connectedControlPoints":[],"__serializedExpressions__":["position"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)"},"1024":{"morph":{"__isSmartRef__":true,"id":790},"connectedControlPoints":[],"__serializedExpressions__":["position"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)"},"1025":{"morph":{"__isSmartRef__":true,"id":790},"connectedControlPoints":[],"__serializedExpressions__":["position"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)"},"1026":{"morph":{"__isSmartRef__":true,"id":790},"connectedControlPoints":[],"__serializedExpressions__":["position"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)"},"1027":{"sourceObj":{"__isSmartRef__":true,"id":790},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":1028},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":1088},"dependendConnections":[{"__isSmartRef__":true,"id":1089},{"__isSmartRef__":true,"id":1091},{"__isSmartRef__":true,"id":1093},{"__isSmartRef__":true,"id":1095},{"__isSmartRef__":true,"id":1097},{"__isSmartRef__":true,"id":1099},{"__isSmartRef__":true,"id":1101},{"__isSmartRef__":true,"id":1103}],"oldTransform":{"__isSmartRef__":true,"id":1105},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"1028":{"submorphs":[{"__isSmartRef__":true,"id":1029}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1036},"eventHandler":{"__isSmartRef__":true,"id":1039},"_ClipMode":"visible","derivationIds":[],"id":"F4CB8893-5E3B-4367-A9D9-6B7420B045D4","droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":1040},{"__isSmartRef__":true,"id":1041}],"con":{"__isSmartRef__":true,"id":1042},"showsMorphMenu":true,"attributeConnections":[{"__isSmartRef__":true,"id":1044},{"__isSmartRef__":true,"id":1072},{"__isSmartRef__":true,"id":1074},{"__isSmartRef__":true,"id":1076},{"__isSmartRef__":true,"id":1078}],"doNotSerialize":["$$_Position","$$_Scale","$$_Rotation","$$owner"],"doNotCopyProperties":["$$_Position","$$_Scale","$$_Rotation","$$owner"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1080},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"1029":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1030},"eventHandler":{"__isSmartRef__":true,"id":1035},"_ClipMode":"visible","derivationIds":[],"id":"2AEAB14C-B73C-4CF9-9423-80F8E3C5734F","droppingEnabled":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":1028},"_Rotation":-1.750649826587375,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(776.6,88.6)"},"1030":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":1031},{"__isSmartRef__":true,"id":1032},{"__isSmartRef__":true,"id":1033},{"__isSmartRef__":true,"id":1034}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(17.0,13.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"1031":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1032":{"isAbsolute":true,"x":-11,"y":7,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1033":{"isAbsolute":true,"x":5,"y":1,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1034":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1035":{"morph":{"__isSmartRef__":true,"id":1029},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1036":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":1037},{"__isSmartRef__":true,"id":1038}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(478.4,21.0)","_Extent":"lively.pt(1.0,1.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1037":{"isAbsolute":true,"x":780.6,"y":110.55000000000001,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1038":{"isAbsolute":true,"x":776.6,"y":88.55000000000001,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1039":{"morph":{"__isSmartRef__":true,"id":1028},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1040":{"morph":{"__isSmartRef__":true,"id":1028},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"1041":{"morph":{"__isSmartRef__":true,"id":1028},"index":1,"marker":{"__isSmartRef__":true,"id":1029},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"1042":{"sourceObj":{"__isSmartRef__":true,"id":243},"sourceAttrName":"channelName","targetObj":{"__isSmartRef__":true,"id":790},"targetMethodName":"setTitle","varMapping":{"__isSmartRef__":true,"id":1043},"converterString":"function (channelName) {\n return 'Channel: ' + channelName;\n }","visualConnector":{"__isSmartRef__":true,"id":1028},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1043":{"source":{"__isSmartRef__":true,"id":243},"target":{"__isSmartRef__":true,"id":790}},"1044":{"sourceObj":{"__isSmartRef__":true,"id":1028},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":1045},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":1071},"dependendConnections":[{"__isSmartRef__":true,"id":1072},{"__isSmartRef__":true,"id":1074},{"__isSmartRef__":true,"id":1076},{"__isSmartRef__":true,"id":1078}],"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"1045":{"submorphs":[{"__isSmartRef__":true,"id":1046}],"scripts":[],"shape":{"__isSmartRef__":true,"id":1053},"eventHandler":{"__isSmartRef__":true,"id":1056},"_ClipMode":"visible","derivationIds":[],"id":"B1D6C539-E7B6-4546-A26E-53DC1864542C","droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":1057},{"__isSmartRef__":true,"id":1058}],"con":{"__isSmartRef__":true,"id":1059},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1063},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"1046":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1047},"eventHandler":{"__isSmartRef__":true,"id":1052},"_ClipMode":"visible","derivationIds":[],"id":"507C855C-8E60-403F-9715-B5063A82237E","droppingEnabled":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":1045},"_Rotation":-3.095734130837892,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(0.0,0.0)"},"1047":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":1048},{"__isSmartRef__":true,"id":1049},{"__isSmartRef__":true,"id":1050},{"__isSmartRef__":true,"id":1051}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(17.0,13.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"1048":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1049":{"isAbsolute":true,"x":-11,"y":7,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1050":{"isAbsolute":true,"x":5,"y":1,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1051":{"isAbsolute":true,"x":-11,"y":-5,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1052":{"morph":{"__isSmartRef__":true,"id":1046},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1053":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":1054},{"__isSmartRef__":true,"id":1055}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-1.0,-1.0)","_Extent":"lively.pt(480.4,23.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"1054":{"isAbsolute":true,"x":479.4,"y":22,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1055":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"1056":{"morph":{"__isSmartRef__":true,"id":1045},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1057":{"morph":{"__isSmartRef__":true,"id":1045},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"1058":{"morph":{"__isSmartRef__":true,"id":1045},"index":1,"marker":{"__isSmartRef__":true,"id":1046},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"1059":{"sourceObj":{"__isSmartRef__":true,"id":243},"sourceAttrName":"globalTransform","targetObj":{"__isSmartRef__":true,"id":1028},"targetMethodName":"realignConnection","varMapping":{"__isSmartRef__":true,"id":1060},"dependendConnections":[],"visualConnector":{"__isSmartRef__":true,"id":1045},"oldTransform":{"__isSmartRef__":true,"id":1061},"__LivelyClassName__":"lively.morphic.GeometryTransformConnection","__SourceModuleName__":"Global.lively.bindings.GeometryBindings"},"1060":{"source":{"__isSmartRef__":true,"id":243},"target":{"__isSmartRef__":true,"id":1028}},"1061":{"d":1,"a":1,"f":30,"e":10,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":1062},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1062":{"a":1,"b":0,"c":0,"d":1,"e":10,"f":30,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1063":{"morphMenuItems":{"__isSmartRef__":true,"id":1064}},"1064":{"varMapping":{"__isSmartRef__":true,"id":1065},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = $world;\n var items = [\n ['Edit converter', function() {\n var window = lively.bindings.editConnection(con);\n window.align(window.bounds().topCenter(),\n visualConnector.bounds().bottomCenter())\n }],\n ['Hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['Disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['Cancel', function() {}]\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":1070},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1065":{"this":{"__isSmartRef__":true,"id":1045},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1066}},"1066":{"$super":{"__isSmartRef__":true,"id":1067}},"1067":{"varMapping":{"__isSmartRef__":true,"id":1068},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1069},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1068":{"obj":{"__isSmartRef__":true,"id":1045},"name":"morphMenuItems"},"1069":{},"1070":{},"1071":{"source":{"__isSmartRef__":true,"id":1028},"target":{"__isSmartRef__":true,"id":1045}},"1072":{"sourceObj":{"__isSmartRef__":true,"id":1028},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":1044},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":1073},"dependedBy":{"__isSmartRef__":true,"id":1044},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1073":{"source":{"__isSmartRef__":true,"id":1028},"target":{"__isSmartRef__":true,"id":1044}},"1074":{"sourceObj":{"__isSmartRef__":true,"id":1028},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":1044},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":1075},"dependedBy":{"__isSmartRef__":true,"id":1044},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1075":{"source":{"__isSmartRef__":true,"id":1028},"target":{"__isSmartRef__":true,"id":1044}},"1076":{"sourceObj":{"__isSmartRef__":true,"id":1028},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":1044},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":1077},"dependedBy":{"__isSmartRef__":true,"id":1044},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1077":{"source":{"__isSmartRef__":true,"id":1028},"target":{"__isSmartRef__":true,"id":1044}},"1078":{"sourceObj":{"__isSmartRef__":true,"id":1028},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":1044},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":1079},"dependedBy":{"__isSmartRef__":true,"id":1044},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1079":{"source":{"__isSmartRef__":true,"id":1028},"target":{"__isSmartRef__":true,"id":1044}},"1080":{"morphMenuItems":{"__isSmartRef__":true,"id":1081}},"1081":{"varMapping":{"__isSmartRef__":true,"id":1082},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = $world;\n var items = [\n ['Edit converter', function() {\n var window = lively.bindings.editConnection(con);\n window.align(window.bounds().topCenter(),\n visualConnector.bounds().bottomCenter())\n }],\n ['Hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['Disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['Cancel', function() {}]\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":1087},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1082":{"this":{"__isSmartRef__":true,"id":1028},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1083}},"1083":{"$super":{"__isSmartRef__":true,"id":1084}},"1084":{"varMapping":{"__isSmartRef__":true,"id":1085},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1086},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1085":{"obj":{"__isSmartRef__":true,"id":1028},"name":"morphMenuItems"},"1086":{},"1087":{},"1088":{"source":{"__isSmartRef__":true,"id":790},"target":{"__isSmartRef__":true,"id":1028}},"1089":{"sourceObj":{"__isSmartRef__":true,"id":790},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":1027},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":1090},"dependedBy":{"__isSmartRef__":true,"id":1027},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1090":{"source":{"__isSmartRef__":true,"id":790},"target":{"__isSmartRef__":true,"id":1027}},"1091":{"sourceObj":{"__isSmartRef__":true,"id":790},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":1027},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":1092},"dependedBy":{"__isSmartRef__":true,"id":1027},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1092":{"source":{"__isSmartRef__":true,"id":790},"target":{"__isSmartRef__":true,"id":1027}},"1093":{"sourceObj":{"__isSmartRef__":true,"id":790},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":1027},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":1094},"dependedBy":{"__isSmartRef__":true,"id":1027},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1094":{"source":{"__isSmartRef__":true,"id":790},"target":{"__isSmartRef__":true,"id":1027}},"1095":{"sourceObj":{"__isSmartRef__":true,"id":790},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":1027},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":1096},"dependedBy":{"__isSmartRef__":true,"id":1027},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1096":{"source":{"__isSmartRef__":true,"id":790},"target":{"__isSmartRef__":true,"id":1027}},"1097":{"sourceObj":{"__isSmartRef__":true,"id":789},"sourceAttrName":"_Position","targetObj":{"__isSmartRef__":true,"id":1027},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":1098},"dependedBy":{"__isSmartRef__":true,"id":1027},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1098":{"source":{"__isSmartRef__":true,"id":789},"target":{"__isSmartRef__":true,"id":1027}},"1099":{"sourceObj":{"__isSmartRef__":true,"id":789},"sourceAttrName":"_Scale","targetObj":{"__isSmartRef__":true,"id":1027},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":1100},"dependedBy":{"__isSmartRef__":true,"id":1027},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1100":{"source":{"__isSmartRef__":true,"id":789},"target":{"__isSmartRef__":true,"id":1027}},"1101":{"sourceObj":{"__isSmartRef__":true,"id":789},"sourceAttrName":"_Rotation","targetObj":{"__isSmartRef__":true,"id":1027},"targetMethodName":"signalTarget","varMapping":{"__isSmartRef__":true,"id":1102},"dependedBy":{"__isSmartRef__":true,"id":1027},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1102":{"source":{"__isSmartRef__":true,"id":789},"target":{"__isSmartRef__":true,"id":1027}},"1103":{"sourceObj":{"__isSmartRef__":true,"id":789},"sourceAttrName":"owner","targetObj":{"__isSmartRef__":true,"id":1027},"targetMethodName":"updateOwners","varMapping":{"__isSmartRef__":true,"id":1104},"dependedBy":{"__isSmartRef__":true,"id":1027},"converterString":"function (newOwner, oldOwner) {\n return [newOwner, oldOwner]\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1104":{"source":{"__isSmartRef__":true,"id":789},"target":{"__isSmartRef__":true,"id":1027}},"1105":{"d":1,"a":1,"f":8,"e":6,"c":0,"b":0,"matrix_":{"__isSmartRef__":true,"id":1106},"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1106":{"a":1,"b":0,"c":0,"d":1,"e":6,"f":8,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1107":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1108},"eventHandler":{"__isSmartRef__":true,"id":1109},"_ClipMode":"visible","id":"F6D4C48B-8DEC-496F-A4DA-C84DB79ECDB5","droppingEnabled":true,"halosEnabled":true,"_StyleClassNames":["reframe-handle bottom"],"owner":{"__isSmartRef__":true,"id":789},"prevScroll":[0,0],"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1110},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,605.9)"},"1108":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(944.8,4.0)","_Padding":"lively.rect(0,0,0,0)"},"1109":{"morph":{"__isSmartRef__":true,"id":1107},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1110":{"onDragStart":{"__isSmartRef__":true,"id":1111},"onDrag":{"__isSmartRef__":true,"id":1118},"onDragEnd":{"__isSmartRef__":true,"id":1125}},"1111":{"varMapping":{"__isSmartRef__":true,"id":1112},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":1117},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1112":{"this":{"__isSmartRef__":true,"id":1107},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1113}},"1113":{"$super":{"__isSmartRef__":true,"id":1114}},"1114":{"varMapping":{"__isSmartRef__":true,"id":1115},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1116},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1115":{"obj":{"__isSmartRef__":true,"id":1107},"name":"onDragStart"},"1116":{},"1117":{},"1118":{"varMapping":{"__isSmartRef__":true,"id":1119},"source":"function onDrag(evt) {\n var moveDelta = pt(0,evt.mousePoint.subPt(this.dragStartPoint).y);\n var newExtent = this.originalTargetExtent.addPt(moveDelta);\n if (newExtent.y < this.owner.minHeight) newExtent.y = this.owner.minHeight;\n this.owner.setExtent(newExtent);\n\n this.align(this.bounds().bottomLeft(), pt(0,this.owner.getExtent().y));\n }","funcProperties":{"__isSmartRef__":true,"id":1124},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1119":{"this":{"__isSmartRef__":true,"id":1107},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1120}},"1120":{"$super":{"__isSmartRef__":true,"id":1121}},"1121":{"varMapping":{"__isSmartRef__":true,"id":1122},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1123},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1122":{"obj":{"__isSmartRef__":true,"id":1107},"name":"onDrag"},"1123":{},"1124":{},"1125":{"varMapping":{"__isSmartRef__":true,"id":1126},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n this.owner.alignReframeHandle();\n this.owner.alignRightReframeHandle();\n }","funcProperties":{"__isSmartRef__":true,"id":1131},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1126":{"this":{"__isSmartRef__":true,"id":1107},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1127}},"1127":{"$super":{"__isSmartRef__":true,"id":1128}},"1128":{"varMapping":{"__isSmartRef__":true,"id":1129},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1130},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1129":{"obj":{"__isSmartRef__":true,"id":1107},"name":"onDragEnd"},"1130":{},"1131":{},"1132":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1133},"eventHandler":{"__isSmartRef__":true,"id":1134},"_ClipMode":"visible","id":"1610CD12-91AD-4148-AF1A-2673B9843A80","droppingEnabled":true,"halosEnabled":true,"_StyleClassNames":["reframe-handle right"],"owner":{"__isSmartRef__":true,"id":789},"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1135},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(954.8,0.0)"},"1133":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(4.0,595.9)","_Padding":"lively.rect(0,0,0,0)"},"1134":{"morph":{"__isSmartRef__":true,"id":1132},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1135":{"onDragStart":{"__isSmartRef__":true,"id":1136},"onDrag":{"__isSmartRef__":true,"id":1143},"onDragEnd":{"__isSmartRef__":true,"id":1150}},"1136":{"varMapping":{"__isSmartRef__":true,"id":1137},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":1142},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1137":{"this":{"__isSmartRef__":true,"id":1132},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1138}},"1138":{"$super":{"__isSmartRef__":true,"id":1139}},"1139":{"varMapping":{"__isSmartRef__":true,"id":1140},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1141},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1140":{"obj":{"__isSmartRef__":true,"id":1132},"name":"onDragStart"},"1141":{},"1142":{},"1143":{"varMapping":{"__isSmartRef__":true,"id":1144},"source":"function onDrag(evt) {\n var moveDelta = pt(evt.mousePoint.subPt(this.dragStartPoint).x,0);\n var newExtent = this.originalTargetExtent.addPt(moveDelta);\n if (newExtent.x < this.owner.minWidth) newExtent.x = this.owner.minWidth;\n\n this.owner.setExtent(newExtent);\n this.align(this.bounds().topRight(), pt(this.owner.getExtent().x,0));\n }","funcProperties":{"__isSmartRef__":true,"id":1149},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1144":{"this":{"__isSmartRef__":true,"id":1132},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1145}},"1145":{"$super":{"__isSmartRef__":true,"id":1146}},"1146":{"varMapping":{"__isSmartRef__":true,"id":1147},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1148},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1147":{"obj":{"__isSmartRef__":true,"id":1132},"name":"onDrag"},"1148":{},"1149":{},"1150":{"varMapping":{"__isSmartRef__":true,"id":1151},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n this.owner.alignReframeHandle();\n this.owner.alignBottomReframeHandle();\n }","funcProperties":{"__isSmartRef__":true,"id":1156},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1151":{"this":{"__isSmartRef__":true,"id":1132},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1152}},"1152":{"$super":{"__isSmartRef__":true,"id":1153}},"1153":{"varMapping":{"__isSmartRef__":true,"id":1154},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1155},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1154":{"obj":{"__isSmartRef__":true,"id":1132},"name":"onDragEnd"},"1155":{},"1156":{},"1157":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1158},"eventHandler":{"__isSmartRef__":true,"id":1159},"_ClipMode":"visible","id":"03A90CD9-699E-4CF8-91B7-AFCE92E9EC62","droppingEnabled":true,"halosEnabled":true,"_StyleClassNames":["reframe-handle corner"],"owner":{"__isSmartRef__":true,"id":789},"__serializedExpressions__":["_Position"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1160},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(944.8,595.9)"},"1158":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(14.0,14.0)","_Padding":"lively.rect(0,0,0,0)"},"1159":{"morph":{"__isSmartRef__":true,"id":1157},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1160":{"onDragStart":{"__isSmartRef__":true,"id":1161},"onDrag":{"__isSmartRef__":true,"id":1168},"onDragEnd":{"__isSmartRef__":true,"id":1175}},"1161":{"varMapping":{"__isSmartRef__":true,"id":1162},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":1167},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1162":{"this":{"__isSmartRef__":true,"id":1157},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1163}},"1163":{"$super":{"__isSmartRef__":true,"id":1164}},"1164":{"varMapping":{"__isSmartRef__":true,"id":1165},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1166},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1165":{"obj":{"__isSmartRef__":true,"id":1157},"name":"onDragStart"},"1166":{},"1167":{},"1168":{"varMapping":{"__isSmartRef__":true,"id":1169},"source":"function onDrag(evt) {\n var moveDelta = evt.mousePoint.subPt(this.dragStartPoint)\n var newExtent = this.originalTargetExtent.addPt(moveDelta);\n if (newExtent.x < this.owner.minWidth) newExtent.x = this.owner.minWidth;\n if (newExtent.y < this.owner.minHeight) newExtent.y = this.owner.minHeight;\n this.owner.setExtent(newExtent);\n //console.log(\"WindowExtent: \"+this.owner.getExtent().x+\" , \"+this.owner.getExtent().y);\n this.align(this.bounds().bottomRight(), this.owner.getExtent());\n }","funcProperties":{"__isSmartRef__":true,"id":1174},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1169":{"this":{"__isSmartRef__":true,"id":1157},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1170}},"1170":{"$super":{"__isSmartRef__":true,"id":1171}},"1171":{"varMapping":{"__isSmartRef__":true,"id":1172},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1173},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1172":{"obj":{"__isSmartRef__":true,"id":1157},"name":"onDrag"},"1173":{},"1174":{},"1175":{"varMapping":{"__isSmartRef__":true,"id":1176},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n this.owner.alignBottomReframeHandle();\n this.owner.alignRightReframeHandle();\n }","funcProperties":{"__isSmartRef__":true,"id":1181},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1176":{"this":{"__isSmartRef__":true,"id":1157},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1177}},"1177":{"$super":{"__isSmartRef__":true,"id":1178}},"1178":{"varMapping":{"__isSmartRef__":true,"id":1179},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1180},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1179":{"obj":{"__isSmartRef__":true,"id":1157},"name":"onDragEnd"},"1180":{},"1181":{},"1182":{"_BorderWidth":0,"_Fill":null,"_StrokeOpacity":0,"_BorderRadius":0,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Padding","_Extent","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Padding":"lively.rect(0,0,0,0)","_Extent":"lively.pt(958.8,609.9)","_Position":"lively.pt(0.0,0.0)"},"1183":{"morph":{"__isSmartRef__":true,"id":789},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1184":{"adjustForNewBounds":true},"1185":{"a":1,"b":0,"c":0,"d":1,"e":10,"f":10,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1186":{"a":1,"b":0,"c":0,"d":1,"e":7,"f":7,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"1187":{"partName":"SyncMorph","requiredModules":[],"partsSpaceName":"PartsBin/Collaboration/","comment":"A whiteboard designed for syncing with other worlds, based on svg paintings. It is able to sync whole morphs and changes on them, too.","changes":[{"__isSmartRef__":true,"id":1188},{"__isSmartRef__":true,"id":1190},{"__isSmartRef__":true,"id":1192}],"migrationLevel":4,"lastModifiedDate":{"__isSmartRef__":true,"id":1194},"revisionOnLoad":192561,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1188":{"date":{"__isSmartRef__":true,"id":1189},"author":"conradcalmez","message":"cleaned w/ Jens' ObjectCleaner","id":"D2C96BF3-B1BE-4FEB-BCEA-F61614B3F3C9"},"1189":{"isSerializedDate":true,"string":"Tue Feb 12 2013 17:17:23 GMT+0100 (CET)"},"1190":{"date":{"__isSmartRef__":true,"id":1191},"author":"conradcalmez","message":"fixed not drawing on other clients bug","id":"1AE3BC29-8EBF-41F6-A9BB-36E53497652D"},"1191":{"isSerializedDate":true,"string":"Tue Feb 12 2013 17:33:08 GMT+0100 (CET)"},"1192":{"date":{"__isSmartRef__":true,"id":1193},"author":"conradcalmez","message":"implemented reply on ping","id":"1732BE24-9C89-4047-BBDC-9942752E328E"},"1193":{"isSerializedDate":true,"string":"Tue Feb 12 2013 18:07:15 GMT+0100 (CET)"},"1194":{"isSerializedDate":true,"string":"Tue Feb 12 2013 18:05:55 GMT+0100 (CET)"},"1195":{"onrestore":{"__isSmartRef__":true,"id":1196},"setupConnections":{"__isSmartRef__":true,"id":1204},"reset":{"__isSmartRef__":true,"id":1208},"hide":{"__isSmartRef__":true,"id":1212},"setBorderWidthOfTarget":{"__isSmartRef__":true,"id":1216},"setBorderFillOfTarget":{"__isSmartRef__":true,"id":1220},"setBorderStyleOfTarget":{"__isSmartRef__":true,"id":1224},"updateTarget":{"__isSmartRef__":true,"id":1228},"updateSliderColor":{"__isSmartRef__":true,"id":1232},"updateColorSlider":{"__isSmartRef__":true,"id":1236},"updateAlphaSlider":{"__isSmartRef__":true,"id":1240},"nextSlide":{"__isSmartRef__":true,"id":1244},"previousSlide":{"__isSmartRef__":true,"id":1248},"show":{"__isSmartRef__":true,"id":1252},"toggle":{"__isSmartRef__":true,"id":1260}},"1196":{"varMapping":{"__isSmartRef__":true,"id":1197},"source":"function onrestore() {\n $super();\n module('projects.BP2012.InteractionWithIPad.CSSTransitions').load(false);\n this.whiteboard = this.owner.get('WhiteBoard');\n}","funcProperties":{"__isSmartRef__":true,"id":1202},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1197":{"this":{"__isSmartRef__":true,"id":282},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1198}},"1198":{"$super":{"__isSmartRef__":true,"id":1199}},"1199":{"varMapping":{"__isSmartRef__":true,"id":1200},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1201},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1200":{"obj":{"__isSmartRef__":true,"id":282},"name":"onrestore"},"1201":{},"1202":{"timestamp":{"__isSmartRef__":true,"id":1203},"user":"conradcalmez","tags":[]},"1203":{"isSerializedDate":true,"string":"Thu Dec 20 2012 17:42:09 GMT+0100 (CET)"},"1204":{"varMapping":{"__isSmartRef__":true,"id":1205},"source":"function setupConnections() {\n this.attributeConnections && this.attributeConnections.invoke('disconnect');\n}","funcProperties":{"__isSmartRef__":true,"id":1206},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1205":{"this":{"__isSmartRef__":true,"id":282}},"1206":{"timestamp":{"__isSmartRef__":true,"id":1207},"user":"conradcalmez","tags":[]},"1207":{"isSerializedDate":true,"string":"Thu Dec 20 2012 16:31:32 GMT+0100 (CET)"},"1208":{"varMapping":{"__isSmartRef__":true,"id":1209},"source":"function reset() {\n this.hide();\n this.chat = this.owner.get(\"ChatPane\");\n this.widthSlider = this.get('WidthSlider');\n this.alphaSlider = this.get('AlphaSlider');\n this.slider = this.get('ColorSlider');\n this.borderStyleList = this.get('BorderStyleList');\n this.colorChooser.reset();\n this.widthSlider.setValue(0);\n this.alphaSlider.setValue(1);\n this.borderStyleList.selectAt(0);\n this.updateTarget(this.whiteboard);\n this.updateSliderColor(Color.black)\n}","funcProperties":{"__isSmartRef__":true,"id":1210},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1209":{"this":{"__isSmartRef__":true,"id":282}},"1210":{"timestamp":{"__isSmartRef__":true,"id":1211},"user":"conradcalmez","tags":[]},"1211":{"isSerializedDate":true,"string":"Thu Nov 08 2012 18:07:59 GMT+0100 (CET)"},"1212":{"varMapping":{"__isSmartRef__":true,"id":1213},"source":"function hide() {\n this.setPosition(pt(0, 0));\n this.setVisible(false);\n}","funcProperties":{"__isSmartRef__":true,"id":1214},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1213":{"this":{"__isSmartRef__":true,"id":282}},"1214":{"timestamp":{"__isSmartRef__":true,"id":1215},"user":"conradcalmez","tags":[]},"1215":{"isSerializedDate":true,"string":"Thu Nov 08 2012 19:11:53 GMT+0100 (CET)"},"1216":{"varMapping":{"__isSmartRef__":true,"id":1217},"source":"function setBorderWidthOfTarget(value) {\n this.whiteboard.setPencilSize(value*5+1);\n}","funcProperties":{"__isSmartRef__":true,"id":1218},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1217":{"this":{"__isSmartRef__":true,"id":282}},"1218":{"timestamp":{"__isSmartRef__":true,"id":1219},"user":"athomschke","tags":[]},"1219":{"isSerializedDate":true,"string":"Sun May 20 2012 14:14:21 GMT+0200 (CEST)"},"1220":{"varMapping":{"__isSmartRef__":true,"id":1221},"source":"function setBorderFillOfTarget(color) {\n this.whiteboard.setColor(color);\n}","funcProperties":{"__isSmartRef__":true,"id":1222},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1221":{"this":{"__isSmartRef__":true,"id":282}},"1222":{"timestamp":{"__isSmartRef__":true,"id":1223},"user":"conradcalmez","tags":[]},"1223":{"isSerializedDate":true,"string":"Wed May 02 2012 19:17:14 GMT+0200 (CEST)"},"1224":{"varMapping":{"__isSmartRef__":true,"id":1225},"source":"function setBorderStyleOfTarget(value) {\n this.whiteboard.setPencilStyle(value);\n}","funcProperties":{"__isSmartRef__":true,"id":1226},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1225":{"this":{"__isSmartRef__":true,"id":282}},"1226":{"timestamp":{"__isSmartRef__":true,"id":1227},"user":"athomschke","tags":[]},"1227":{"isSerializedDate":true,"string":"Sun May 20 2012 14:13:48 GMT+0200 (CEST)"},"1228":{"varMapping":{"__isSmartRef__":true,"id":1229},"source":"function updateTarget(target) {\n if (target) {\n this.updateSliderColor(target.getColor());\n this.widthSlider.setValue(target.getPencilSize()-1);\n this.borderStyleList.setSelection(target.getPencilStyle());\n } else {\n this.updateSliderColor(Color.white);\n this.widthSlider.setValue(0);\n this.borderStyleList.setSelection(\"solid\");\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1230},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1229":{"this":{"__isSmartRef__":true,"id":282}},"1230":{"timestamp":{"__isSmartRef__":true,"id":1231},"user":"conradcalmez","tags":[]},"1231":{"isSerializedDate":true,"string":"Thu Nov 08 2012 18:31:01 GMT+0100 (CET)"},"1232":{"varMapping":{"__isSmartRef__":true,"id":1233},"source":"function updateSliderColor(color) {\n this.updateColorSlider(color);\n this.updateAlphaSlider(color);\n}","funcProperties":{"__isSmartRef__":true,"id":1234},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1233":{"this":{"__isSmartRef__":true,"id":282}},"1234":{"timestamp":{"__isSmartRef__":true,"id":1235},"user":"conradcalmez","tags":[]},"1235":{"isSerializedDate":true,"string":"Wed May 02 2012 13:51:06 GMT+0200 (CEST)"},"1236":{"varMapping":{"__isSmartRef__":true,"id":1237},"source":"function updateColorSlider(color) {\n this.slider.updateColor(color);\n this.slider.setValue(0.5);\n}","funcProperties":{"__isSmartRef__":true,"id":1238},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1237":{"this":{"__isSmartRef__":true,"id":282}},"1238":{"timestamp":{"__isSmartRef__":true,"id":1239},"user":"athomschke","tags":[]},"1239":{"isSerializedDate":true,"string":"Sun May 20 2012 20:46:21 GMT+0200 (CEST)"},"1240":{"varMapping":{"__isSmartRef__":true,"id":1241},"source":"function updateAlphaSlider(color) {\n this.alphaSlider.updateColor(color);\n}","funcProperties":{"__isSmartRef__":true,"id":1242},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1241":{"this":{"__isSmartRef__":true,"id":282}},"1242":{"timestamp":{"__isSmartRef__":true,"id":1243},"user":"athomschke","tags":[]},"1243":{"isSerializedDate":true,"string":"Fri May 18 2012 14:36:25 GMT+0200 (CEST)"},"1244":{"varMapping":{"__isSmartRef__":true,"id":1245},"source":"function nextSlide() {\n this.colorChooser.nextSlide();\n}","funcProperties":{"__isSmartRef__":true,"id":1246},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1245":{"this":{"__isSmartRef__":true,"id":282}},"1246":{"timestamp":{"__isSmartRef__":true,"id":1247},"user":"conradcalmez","tags":[]},"1247":{"isSerializedDate":true,"string":"Wed May 02 2012 14:15:52 GMT+0200 (CEST)"},"1248":{"varMapping":{"__isSmartRef__":true,"id":1249},"source":"function previousSlide() {\n this.colorChooser.previousSlide();\n}","funcProperties":{"__isSmartRef__":true,"id":1250},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1249":{"this":{"__isSmartRef__":true,"id":282}},"1250":{"timestamp":{"__isSmartRef__":true,"id":1251},"user":"conradcalmez","tags":[]},"1251":{"isSerializedDate":true,"string":"Wed May 02 2012 14:15:57 GMT+0200 (CEST)"},"1252":{"varMapping":{"__isSmartRef__":true,"id":1253},"source":"function show() {\n var titlebarOffset = this.owner.titleBar.getExtent().y;\n var windowOffset = this.owner.getExtent().x;\n if (this.chat.isVisible()) {\n windowOffset += this.chat.getExtent().x;\n }\n this.setPosition(pt(windowOffset, titlebarOffset));\n this.setVisible(true);\n this.updateTarget(this.whiteboard);\n}","funcProperties":{"__isSmartRef__":true,"id":1258},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1253":{"this":{"__isSmartRef__":true,"id":282},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1254}},"1254":{"$super":{"__isSmartRef__":true,"id":1255}},"1255":{"varMapping":{"__isSmartRef__":true,"id":1256},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1257},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1256":{"obj":{"__isSmartRef__":true,"id":282},"name":"show"},"1257":{},"1258":{"timestamp":{"__isSmartRef__":true,"id":1259},"user":"conradcalmez","tags":[]},"1259":{"isSerializedDate":true,"string":"Thu Dec 20 2012 15:51:02 GMT+0100 (CET)"},"1260":{"varMapping":{"__isSmartRef__":true,"id":1261},"source":"function toggle() {\n if (this._Visible) {\n this.hide();\n } else {\n this.show();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1262},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1261":{"this":{"__isSmartRef__":true,"id":282}},"1262":{"timestamp":{"__isSmartRef__":true,"id":1263},"user":"conradcalmez","tags":[]},"1263":{"isSerializedDate":true,"string":"Thu Nov 08 2012 19:14:21 GMT+0100 (CET)"},"1264":{"morph":{"__isSmartRef__":true,"id":243},"connectedControlPoints":[],"__serializedExpressions__":["position"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.0)"},"1265":{"morph":{"__isSmartRef__":true,"id":243},"connectedControlPoints":[],"__serializedExpressions__":["position"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,0.0)"},"1266":{"morph":{"__isSmartRef__":true,"id":243},"connectedControlPoints":[],"__serializedExpressions__":["position"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.0)"},"1267":{"morph":{"__isSmartRef__":true,"id":243},"connectedControlPoints":[],"__serializedExpressions__":["position"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,0.5)"},"1268":{"morph":{"__isSmartRef__":true,"id":243},"connectedControlPoints":[],"__serializedExpressions__":["position"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(1.0,1.0)"},"1269":{"morph":{"__isSmartRef__":true,"id":243},"connectedControlPoints":[],"__serializedExpressions__":["position"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.5,1.0)"},"1270":{"morph":{"__isSmartRef__":true,"id":243},"connectedControlPoints":[],"__serializedExpressions__":["position"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,1.0)"},"1271":{"morph":{"__isSmartRef__":true,"id":243},"connectedControlPoints":[],"__serializedExpressions__":["position"],"__LivelyClassName__":"lively.morphic.RelativeMagnet","__SourceModuleName__":"Global.lively.morphic.Connectors","position":"lively.pt(0.0,0.5)"},"1272":{"sourceObj":{"__isSmartRef__":true,"id":243},"sourceAttrName":"channelName","targetObj":{"__isSmartRef__":true,"id":790},"targetMethodName":"setTitle","varMapping":{"__isSmartRef__":true,"id":1273},"converterString":"function (channelName) {\n return 'Channel: ' + channelName;\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1273":{"source":{"__isSmartRef__":true,"id":243},"target":{"__isSmartRef__":true,"id":790}},"1274":{"onrestore":{"__isSmartRef__":true,"id":1275},"reset":{"__isSmartRef__":true,"id":1283},"deactivate":{"__isSmartRef__":true,"id":1287},"isOnline":{"__isSmartRef__":true,"id":1291},"defaultDeactiveColor":{"__isSmartRef__":true,"id":1295},"ensureButton":{"__isSmartRef__":true,"id":1299},"clear":{"__isSmartRef__":true,"id":1303},"setupButtons":{"__isSmartRef__":true,"id":1307},"createTitleBarButton":{"__isSmartRef__":true,"id":1311},"setupConnections":{"__isSmartRef__":true,"id":1315},"onMouseOut":{"__isSmartRef__":true,"id":1319},"setChannel":{"__isSmartRef__":true,"id":1327},"setUserName":{"__isSmartRef__":true,"id":1331},"getUserName":{"__isSmartRef__":true,"id":1335},"setPencilSize":{"__isSmartRef__":true,"id":1339},"setColor":{"__isSmartRef__":true,"id":1343},"setPencilStyle":{"__isSmartRef__":true,"id":1347},"getColor":{"__isSmartRef__":true,"id":1351},"getPencilSize":{"__isSmartRef__":true,"id":1355},"getPencilStyle":{"__isSmartRef__":true,"id":1359},"$$isOnline":{"__isSmartRef__":true,"id":1363},"disconnectSocket":{"__isSmartRef__":true,"id":1367},"activate":{"__isSmartRef__":true,"id":1371},"initialSync":{"__isSmartRef__":true,"id":1375},"lineTo":{"__isSmartRef__":true,"id":1379},"morphMenuItems":{"__isSmartRef__":true,"id":1383},"onMouseDown":{"__isSmartRef__":true,"id":1391},"onMouseMove":{"__isSmartRef__":true,"id":1399},"onMouseUp":{"__isSmartRef__":true,"id":1407},"onTouchEnd":{"__isSmartRef__":true,"id":1415},"onTouchMove":{"__isSmartRef__":true,"id":1423},"onTouchStart":{"__isSmartRef__":true,"id":1427},"toggleActivation":{"__isSmartRef__":true,"id":1435},"transformPoint":{"__isSmartRef__":true,"id":1439},"getChannel":{"__isSmartRef__":true,"id":1443},"createStrokeShape":{"__isSmartRef__":true,"id":1447},"connectSocket":{"__isSmartRef__":true,"id":1451},"deleteMorphWith":{"__isSmartRef__":true,"id":1455},"createSocketListeners":{"__isSmartRef__":true,"id":1459},"addMorphFrom":{"__isSmartRef__":true,"id":1463},"deserializeMorph":{"__isSmartRef__":true,"id":1467},"defaultColor":{"__isSmartRef__":true,"id":1471},"getConnectedUserNames":{"__isSmartRef__":true,"id":1475},"defaultPencilSize":{"__isSmartRef__":true,"id":1479},"defaultPencilStyle":{"__isSmartRef__":true,"id":1483},"applyChanges":{"__isSmartRef__":true,"id":1487},"fakeCopy":{"__isSmartRef__":true,"id":1491},"observeChanges":{"__isSmartRef__":true,"id":1495},"sendChange":{"__isSmartRef__":true,"id":1499},"createMouseIndicator":{"__isSmartRef__":true,"id":1503},"updateMouseIndicators":{"__isSmartRef__":true,"id":1507},"onTouchOut":{"__isSmartRef__":true,"id":1511},"sendLine":{"__isSmartRef__":true,"id":1515},"sendMorph":{"__isSmartRef__":true,"id":1519},"handleStartEvent":{"__isSmartRef__":true,"id":1523},"handleEndEvent":{"__isSmartRef__":true,"id":1527},"handleMoveEvent":{"__isSmartRef__":true,"id":1531},"handleOutEvent":{"__isSmartRef__":true,"id":1535},"moveMorphInHand":{"__isSmartRef__":true,"id":1539},"serializeMorph":{"__isSmartRef__":true,"id":1543},"applySubmorphOrderChanges":{"__isSmartRef__":true,"id":1547},"loggedIn":{"__isSmartRef__":true,"id":1551},"packLine":{"__isSmartRef__":true,"id":1555},"drawLine":{"__isSmartRef__":true,"id":1559},"defaultActiveColor":{"__isSmartRef__":true,"id":1563},"createTestMorph":{"__isSmartRef__":true,"id":1567},"getCurrentStroke":{"__isSmartRef__":true,"id":1571}},"1275":{"varMapping":{"__isSmartRef__":true,"id":1276},"source":"function onrestore() {\n // this.deactivate();\n module('projects.BP2012.Whiteboard').load(true);\n module('projects.BP2012.DiffMerge').load(true);\n this.reset();\n}","funcProperties":{"__isSmartRef__":true,"id":1281},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1276":{"this":{"__isSmartRef__":true,"id":243},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1277}},"1277":{"$super":{"__isSmartRef__":true,"id":1278}},"1278":{"varMapping":{"__isSmartRef__":true,"id":1279},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1280},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1279":{"obj":{"__isSmartRef__":true,"id":243},"name":"onrestore"},"1280":{},"1281":{"timestamp":{"__isSmartRef__":true,"id":1282},"user":"conradcalmez","tags":["initialization"]},"1282":{"isSerializedDate":true,"string":"Thu Dec 20 2012 17:53:59 GMT+0100 (CET)"},"1283":{"varMapping":{"__isSmartRef__":true,"id":1284},"source":"function reset() {\n this.deactivate();\n this.clear();\n this.setupButtons();\n this.setupConnections();\n \n this.owner.addMorph(this);\n \n this.isWhiteboard = true;\n this.setChannel('default');\n this.setUserName('');\n this.enteredBefore = false;\n this.isDrawing = false;\n this.currentStroke = null;\n this.prevState = null;\n this.doNotSerializeList = [\n 'showsHalos', 'lastTap', 'lastTimeClickedOnIpad', 'lastUpdate',\n 'startDate', 'lastUpdate', 'showsPie', 'selectionMorph', 'pieItems',\n 'moved', 'scrolled', 'selectable', 'showTimeout', 'pieTouch',\n 'enteredItem', 'activatedPieItem', 'moveTouch', 'tapTouch',\n 'textChunks', 'previousOwner', 'previousPosition'\n ];\n\n this.pencilStyler.reset();\n this.chat.reset();\n}","funcProperties":{"__isSmartRef__":true,"id":1285},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1284":{"this":{"__isSmartRef__":true,"id":243}},"1285":{"timestamp":{"__isSmartRef__":true,"id":1286},"user":"conradcalmez","tags":["initialization"]},"1286":{"isSerializedDate":true,"string":"Thu Nov 08 2012 17:18:13 GMT+0100 (CET)"},"1287":{"varMapping":{"__isSmartRef__":true,"id":1288},"source":"function deactivate() {\n if (this.isOnline()) {\n this.socket.emit('mouse', {\n message: {x: 0, y: 0, remove: []},\n me: false,\n broadcast: true\n });\n\n this.disconnectSocket();\n this.stopStepping();\n this.oldSubmorphs = [];\n this.userName = '';\n this.owner.submorphs.each(function (ea) {\n if (ea.isMouseIndicator) {\n ea.remove();\n }\n });\n }\n this.active = false;\n this.setBorderColor(this.defaultDeactiveColor());\n this.ensureButton(\"O\", \"ensureDepressed\");\n}","funcProperties":{"__isSmartRef__":true,"id":1289},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1288":{"this":{"__isSmartRef__":true,"id":243}},"1289":{"timestamp":{"__isSmartRef__":true,"id":1290},"user":"conradcalmez","tags":["user interaction"]},"1290":{"isSerializedDate":true,"string":"Sun Feb 10 2013 17:01:53 GMT+0100 (CET)"},"1291":{"varMapping":{"__isSmartRef__":true,"id":1292},"source":"function isOnline() {\n return (this.active && this.socket !== undefined);\n}","funcProperties":{"__isSmartRef__":true,"id":1293},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1292":{"this":{"__isSmartRef__":true,"id":243}},"1293":{"timestamp":{"__isSmartRef__":true,"id":1294},"user":"conradcalmez","tags":["accessing"]},"1294":{"isSerializedDate":true,"string":"Tue Feb 12 2013 14:55:44 GMT+0100 (CET)"},"1295":{"varMapping":{"__isSmartRef__":true,"id":1296},"source":"function defaultDeactiveColor() {\n return Color.black;\n}","funcProperties":{"__isSmartRef__":true,"id":1297},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1296":{"this":{"__isSmartRef__":true,"id":243}},"1297":{"timestamp":{"__isSmartRef__":true,"id":1298},"user":"conradcalmez","tags":["accessing"]},"1298":{"isSerializedDate":true,"string":"Sun Feb 10 2013 13:18:26 GMT+0100 (CET)"},"1299":{"varMapping":{"__isSmartRef__":true,"id":1300},"source":"function ensureButton(name, ensureFunctionName) {\n this.owner.titleBar.submorphs.each(function (button) {\n if (button instanceof lively.morphic.Button\n && button.extraButton === true\n && button.getLabel() === name) {\n button[ensureFunctionName].call(button);\n }\n });\n}","funcProperties":{"__isSmartRef__":true,"id":1301},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1300":{"this":{"__isSmartRef__":true,"id":243}},"1301":{"timestamp":{"__isSmartRef__":true,"id":1302},"user":"conradcalmez","tags":["user interface"]},"1302":{"isSerializedDate":true,"string":"Mon Feb 11 2013 19:35:19 GMT+0100 (CET)"},"1303":{"varMapping":{"__isSmartRef__":true,"id":1304},"source":"function clear() {\n if (this.isOnline()) {\n this.socket.emit('clear', {\n // TODO this is used very much -> refactor to a object factory\n me: true,\n broadcast: true\n });\n } else {\n this.submorphs.invoke('remove');\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1305},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1304":{"this":{"__isSmartRef__":true,"id":243}},"1305":{"timestamp":{"__isSmartRef__":true,"id":1306},"user":"conradcalmez","tags":["user interaction","message sending"]},"1306":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1307":{"varMapping":{"__isSmartRef__":true,"id":1308},"source":"function setupButtons() {\n this.owner.titleBar.submorphs.select(function (ea) {\n if (ea.extraButton) {\n return ea;\n }\n }).each(function (ea) {\n ea.remove();\n });\n this.createTitleBarButton(\n \"O\",\n \"toggles online state\",\n this,\n \"active\",\n \"toggleActivation\"\n );\n this.createTitleBarButton(\n \"C\",\n \"opens the chat pane\",\n this.chat,\n \"_Visible\",\n \"toggle\"\n );\n this.createTitleBarButton(\n \"P\",\n \"opens the pencil styler\",\n this.pencilStyler,\n \"_Visible\",\n \"toggle\"\n );\n}","funcProperties":{"__isSmartRef__":true,"id":1309},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1308":{"this":{"__isSmartRef__":true,"id":243}},"1309":{"timestamp":{"__isSmartRef__":true,"id":1310},"user":"conradcalmez","tags":[]},"1310":{"isSerializedDate":true,"string":"Mon Feb 11 2013 19:35:19 GMT+0100 (CET)"},"1311":{"varMapping":{"__isSmartRef__":true,"id":1312},"source":"function createTitleBarButton(name, tooltip,\n targetObject, targetState, toggleFunction) {\n var titleBar = this.owner.titleBar,\n size = titleBar.getExtent().y - 2,\n b = new lively.morphic.Button(),\n buttonCount;\n\n if (!this.owner) {\n // when whiteboard is not completely serialized\n // e.g. when loading it from the PartsBin\n return;\n }\n b.whiteboard = this;\n b.targetObject = targetObject;\n b.targetState = targetState;\n b.toggleFunction = toggleFunction;\n b.setToolTip(tooltip);\n b.extraButton = true;\n b.setExtent(pt(size, size));\n if (b.beToolbarButton) {\n b.beToolbarButton(name);\n } else {\n b.setLabel(name);\n }\n b.addScript(function ensurePressed() {\n if (this.isActive) {\n this.isPressed = true;\n this.changeAppearanceFor(true);\n }\n });\n b.addScript(function ensureDepressed() {\n this.isPressed = false;\n this.changeAppearanceFor(false);\n });\n b.addScript(function onFire() {\n this.targetObject[this.toggleFunction].apply(this.targetObject);\n });\n connect(b, \"fire\", b, \"onFire\");\n //redefine behaviour on mouse events\n b.onMouseDown = function (evt) {\n if (this.isValidClick(evt) && this.isActive) {\n this.isPressed = true;\n this.changeAppearanceFor(true);\n }\n return false;\n };\n b.onMouseOut = function (evt) {\n //this.isPressed && this.changeAppearanceFor(false);\n };\n b.onMouseUp = function (evt) {\n if (this.isValidClick(evt) && this.isPressed) {\n var newValue = this.toggle ? !this.value : false;\n this.setValue(newValue);\n var targetState = this.targetObject[this.targetState];\n this.changeAppearanceFor(targetState);\n this.isPressed = targetState;\n }\n return false;\n };\n b.openInWorld();\n titleBar.addMorphFront(b);\n buttonCount = titleBar.submorphs.select(function (ea) {\n return ea.extraButton;\n }).length;\n b.setPosition(pt((buttonCount + 1) * b.getExtent().x, 1));\n b.adjustForNewBounds();\n return b;\n}","funcProperties":{"__isSmartRef__":true,"id":1313},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1312":{"this":{"__isSmartRef__":true,"id":243}},"1313":{"timestamp":{"__isSmartRef__":true,"id":1314},"user":"conradcalmez","tags":["user interface"]},"1314":{"isSerializedDate":true,"string":"Mon Feb 11 2013 19:35:19 GMT+0100 (CET)"},"1315":{"varMapping":{"__isSmartRef__":true,"id":1316},"source":"function setupConnections() {\n this.attributeConnections.invoke('disconnect');\n connect(this, 'channelName', this.owner.titleBar, 'setTitle', {\n converter: function (channelName) {\n return 'Channel: ' + channelName;\n }\n });\n this.chat.setupConnections();\n this.pencilStyler.setupConnections();\n}","funcProperties":{"__isSmartRef__":true,"id":1317},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1316":{"this":{"__isSmartRef__":true,"id":243}},"1317":{"timestamp":{"__isSmartRef__":true,"id":1318},"user":"conradcalmez","tags":[]},"1318":{"isSerializedDate":true,"string":"Sun Nov 04 2012 20:38:36 GMT+0100 (CET)"},"1319":{"varMapping":{"__isSmartRef__":true,"id":1320},"source":"function onMouseOut(evt) {\n this.handleOutEvent(evt);\n}","funcProperties":{"__isSmartRef__":true,"id":1325},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1320":{"this":{"__isSmartRef__":true,"id":243},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1321}},"1321":{"$super":{"__isSmartRef__":true,"id":1322}},"1322":{"varMapping":{"__isSmartRef__":true,"id":1323},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1324},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1323":{"obj":{"__isSmartRef__":true,"id":243},"name":"onMouseOut"},"1324":{},"1325":{"timestamp":{"__isSmartRef__":true,"id":1326},"user":"athomschke","tags":["user interaction","mouse actions"]},"1326":{"isSerializedDate":true,"string":"Sun May 20 2012 18:55:58 GMT+0200 (CEST)"},"1327":{"varMapping":{"__isSmartRef__":true,"id":1328},"source":"function setChannel(channelName) {\n var that = this;\n\n this.channelName = channelName;\n // TODO: maybe we don't want this for proper offline/online switching\n // reasons.\n this.submorphs.each(function (ea) {\n ea.identifier = undefined;\n });\n\n if (this.isOnline()) {\n // this.submorphs.each(function (ea) {\n // ea.remove();\n // });\n this.socket.emit(\n 'channel',\n this.channelName,\n function (join, joinChannel, leave, leaveChannel, initialStrokes,\n initialMorphs, initialChanges) {\n if (join) {\n alertOK('Successfully joined channel ' +\n joinChannel + '.');\n that.initialSync(\n initialStrokes,\n initialMorphs,\n initialChanges\n );\n that.startStepping(1000, 'observeChanges');\n }\n if (leave) {\n alertOK('Successfully left channel ' + leaveChannel + '.');\n }\n }\n );\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1329},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1328":{"this":{"__isSmartRef__":true,"id":243}},"1329":{"timestamp":{"__isSmartRef__":true,"id":1330},"user":"conradcalmez","tags":["message sending"]},"1330":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1331":{"varMapping":{"__isSmartRef__":true,"id":1332},"source":"function setUserName(name) {\n this.userName = name || this.getUserName();\n if (this.isOnline()) {\n this.socket.emit('nick', {message: name, me: false, broadcast: true});\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1333},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1332":{"this":{"__isSmartRef__":true,"id":243}},"1333":{"timestamp":{"__isSmartRef__":true,"id":1334},"user":"conradcalmez","tags":["message sending"]},"1334":{"isSerializedDate":true,"string":"Sun Feb 10 2013 13:13:25 GMT+0100 (CET)"},"1335":{"varMapping":{"__isSmartRef__":true,"id":1336},"source":"function getUserName() {\n return this.userName || lively.morphic.World.current().requestUserName();\n}","funcProperties":{"__isSmartRef__":true,"id":1337},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1336":{"this":{"__isSmartRef__":true,"id":243}},"1337":{"timestamp":{"__isSmartRef__":true,"id":1338},"user":"athomschke","tags":["accessing"]},"1338":{"isSerializedDate":true,"string":"Mon May 21 2012 18:39:36 GMT+0200 (CEST)"},"1339":{"varMapping":{"__isSmartRef__":true,"id":1340},"source":"function setPencilSize(size) {\n this.pencilSize = size;\n}","funcProperties":{"__isSmartRef__":true,"id":1341},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1340":{"this":{"__isSmartRef__":true,"id":243}},"1341":{"timestamp":{"__isSmartRef__":true,"id":1342},"user":"conradcalmez","tags":["accessing"]},"1342":{"isSerializedDate":true,"string":"Mon Apr 30 2012 08:57:47 GMT+0200 (CEST)"},"1343":{"varMapping":{"__isSmartRef__":true,"id":1344},"source":"function setColor(color) {\n this.color = color;\n}","funcProperties":{"__isSmartRef__":true,"id":1345},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1344":{"this":{"__isSmartRef__":true,"id":243}},"1345":{"timestamp":{"__isSmartRef__":true,"id":1346},"user":"conradcalmez","tags":["accessing"]},"1346":{"isSerializedDate":true,"string":"Fri Apr 27 2012 20:45:41 GMT+0200 (CEST)"},"1347":{"varMapping":{"__isSmartRef__":true,"id":1348},"source":"function setPencilStyle(style) {\n this.pencilStyle = style;\n}","funcProperties":{"__isSmartRef__":true,"id":1349},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1348":{"this":{"__isSmartRef__":true,"id":243}},"1349":{"timestamp":{"__isSmartRef__":true,"id":1350},"user":"conradcalmez","tags":["accessing"]},"1350":{"isSerializedDate":true,"string":"Wed May 02 2012 14:59:47 GMT+0200 (CEST)"},"1351":{"varMapping":{"__isSmartRef__":true,"id":1352},"source":"function getColor() {\n return this.color || this.defaultColor();\n}","funcProperties":{"__isSmartRef__":true,"id":1353},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1352":{"this":{"__isSmartRef__":true,"id":243}},"1353":{"timestamp":{"__isSmartRef__":true,"id":1354},"user":"conradcalmez","tags":["accessing"]},"1354":{"isSerializedDate":true,"string":"Fri Apr 27 2012 20:44:47 GMT+0200 (CEST)"},"1355":{"varMapping":{"__isSmartRef__":true,"id":1356},"source":"function getPencilSize() {\n return this.pencilSize || this.defaultPencilSize();\n}","funcProperties":{"__isSmartRef__":true,"id":1357},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1356":{"this":{"__isSmartRef__":true,"id":243}},"1357":{"timestamp":{"__isSmartRef__":true,"id":1358},"user":"conradcalmez","tags":["accessing"]},"1358":{"isSerializedDate":true,"string":"Mon Apr 30 2012 08:58:24 GMT+0200 (CEST)"},"1359":{"varMapping":{"__isSmartRef__":true,"id":1360},"source":"function getPencilStyle() {\n return this.pencilStyle || this.defaultPencilStyle();\n}","funcProperties":{"__isSmartRef__":true,"id":1361},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1360":{"this":{"__isSmartRef__":true,"id":243}},"1361":{"timestamp":{"__isSmartRef__":true,"id":1362},"user":"conradcalmez","tags":["accessing"]},"1362":{"isSerializedDate":true,"string":"Wed May 02 2012 15:03:14 GMT+0200 (CEST)"},"1363":{"varMapping":{"__isSmartRef__":true,"id":1364},"source":"function isOnline() {\n return (this.active && this.socket !== undefined);\n}","funcProperties":{"__isSmartRef__":true,"id":1365},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1364":{"this":{"__isSmartRef__":true,"id":243}},"1365":{"timestamp":{"__isSmartRef__":true,"id":1366},"user":"conradcalmez","tags":[]},"1366":{"isSerializedDate":true,"string":"Sun Nov 04 2012 19:01:24 GMT+0100 (CET)"},"1367":{"varMapping":{"__isSmartRef__":true,"id":1368},"source":"function disconnectSocket() {\n if (this.socket) {\n this.socket.disconnect();\n }\n this.socket = null;\n}","funcProperties":{"__isSmartRef__":true,"id":1369},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1368":{"this":{"__isSmartRef__":true,"id":243}},"1369":{"timestamp":{"__isSmartRef__":true,"id":1370},"user":"conradcalmez","tags":["server connection","synchronization"]},"1370":{"isSerializedDate":true,"string":"Sun Feb 10 2013 17:16:30 GMT+0100 (CET)"},"1371":{"varMapping":{"__isSmartRef__":true,"id":1372},"source":"function activate() {\n if (!this.isOnline()) {\n this.connectSocket();\n // this.setUserName();\n this.active = true;\n this.setBorderColor(this.defaultActiveColor());\n this.ensureButton(\"O\", \"ensurePressed\");\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1373},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1372":{"this":{"__isSmartRef__":true,"id":243}},"1373":{"timestamp":{"__isSmartRef__":true,"id":1374},"user":"conradcalmez","tags":["user interaction"]},"1374":{"isSerializedDate":true,"string":"Sun Feb 10 2013 17:01:38 GMT+0100 (CET)"},"1375":{"varMapping":{"__isSmartRef__":true,"id":1376},"source":"function initialSync(initialStrokes, initialMorphs,\n initialChanges) {\n var that = this,\n m,\n existingIds;\n\n alertOK('Synchronizing with channel.');\n // sync new strokes and morphs\n this.submorphs.each(function (ea) {\n var color,\n line;\n\n if (ea.identifier === undefined) {\n ea.identifier = ea.id;\n if (ea.isStroke) {\n color = {\n r: ea.getBorderColor().r * 255,\n g: ea.getBorderColor().g * 255,\n b: ea.getBorderColor().b * 255,\n a: ea.getBorderColor().a\n };\n line = that.packLine(\n ea.shape.vertices(),\n ea.timestamp,\n ea.identifier,\n color,\n ea.getBorderWidth(),\n ea.getBorderStyle()\n );\n that.sendLine(line);\n } else {\n that.sendMorph(ea, false, true);\n }\n }\n });\n this.oldSubmorphs = this.submorphs.pluck('identifier');\n // pull strokes and morphs that are not already there\n existingIds = this.submorphs.pluck('identifier');\n initialStrokes.each(function (ea) {\n that.drawLine(ea);\n });\n initialMorphs.each(function (ea) {\n if (ea.morph && existingIds.indexOf(ea.identifier) < 0) {\n m = that.deserializeMorph(ea.morph);\n that.addMorph(m);\n m.setPosition(pt(ea.position.x, ea.position.y));\n }\n });\n initialChanges.each(function (ea) {\n that.applyChanges(ea, initialMorphs.pluck('identifier'));\n });\n}","funcProperties":{"__isSmartRef__":true,"id":1377},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1376":{"this":{"__isSmartRef__":true,"id":243}},"1377":{"timestamp":{"__isSmartRef__":true,"id":1378},"user":"conradcalmez","tags":["server connection","user interaction"]},"1378":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1379":{"varMapping":{"__isSmartRef__":true,"id":1380},"source":"function lineTo(point, optTransform, optColor) {\n var stroke,\n color,\n line;\n\n if (optTransform) {\n point = this.transformPoint(point);\n }\n stroke = this.getCurrentStroke(point);\n if (optColor) {\n color = optColor;\n stroke.setBorderColor(color);\n } else {\n color = this.color;\n }\n stroke.setVertices(stroke.vertices().concat([point]));\n if (this.isOnline()) {\n line = this.packLine(\n stroke.identifier,\n point,\n {\n r: color.r * 255,\n g: color.g * 255,\n b: color.b * 255,\n a: color.a\n },\n stroke.getBorderWidth(),\n stroke.getBorderStyle()\n );\n this.sendLine(line);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1381},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1380":{"this":{"__isSmartRef__":true,"id":243}},"1381":{"timestamp":{"__isSmartRef__":true,"id":1382},"user":"conradcalmez","tags":["user interaction","drawing"]},"1382":{"isSerializedDate":true,"string":"Mon Feb 11 2013 19:35:19 GMT+0100 (CET)"},"1383":{"varMapping":{"__isSmartRef__":true,"id":1384},"source":"function morphMenuItems() {\n var world = lively.morphic.World.current(),\n items = $super(),\n itemString = \"activate sync\",\n penString = \" pencil styler\",\n chatString = \" chat\";\n\n items.push([\"get tester morph\", function () {\n this.createTestMorph();\n }.bind(this)]);\n if (this.isOnline()) {\n itemString = \"de\" + itemString;\n }\n items.push([itemString, function () {\n this.toggleActivation();\n }.bind(this)]);\n items.push([\"clear whiteboard\", function () {\n this.clear();\n }.bind(this)]);\n items.push([\n \"change channel\",\n function () {\n world.prompt(\n 'Enter a channel name',\n function (input) {\n this.setChannel(input);\n }.bind(this),\n this.getChannel()\n );\n }.bind(this)\n ]);\n if (this.pencilStyler.isVisible()) {\n penString = \"hide\" + penString;\n } else {\n penString = \"show\" + penString;\n }\n items.push([penString, function () {\n this.pencilStyler.toggle();\n }.bind(this)]);\n if (this.chat.isVisible()) {\n chatString = \"hide\" + chatString;\n } else {\n chatString = \"show\" + chatString;\n }\n items.push([chatString, function () { this.chat.toggle(); }.bind(this)]);\n return items;\n}","funcProperties":{"__isSmartRef__":true,"id":1389},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1384":{"this":{"__isSmartRef__":true,"id":243},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1385}},"1385":{"$super":{"__isSmartRef__":true,"id":1386}},"1386":{"varMapping":{"__isSmartRef__":true,"id":1387},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1388},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1387":{"obj":{"__isSmartRef__":true,"id":243},"name":"morphMenuItems"},"1388":{},"1389":{"timestamp":{"__isSmartRef__":true,"id":1390},"user":"conradcalmez","tags":["user interface"]},"1390":{"isSerializedDate":true,"string":"Mon Feb 11 2013 19:35:19 GMT+0100 (CET)"},"1391":{"varMapping":{"__isSmartRef__":true,"id":1392},"source":"function onMouseDown(evt) {\n var keyPressed = evt.altKet || evt.ctrlKey || evt.metaKey || evt.shiftKey;\n if (!keyPressed && evt.isLeftMouseButtonDown()) {\n this.handleStartEvent(evt);\n }\n $super(evt);\n}","funcProperties":{"__isSmartRef__":true,"id":1397},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1392":{"this":{"__isSmartRef__":true,"id":243},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1393}},"1393":{"$super":{"__isSmartRef__":true,"id":1394}},"1394":{"varMapping":{"__isSmartRef__":true,"id":1395},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1396},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1395":{"obj":{"__isSmartRef__":true,"id":243},"name":"onMouseDown"},"1396":{},"1397":{"timestamp":{"__isSmartRef__":true,"id":1398},"user":"conradcalmez","tags":["user interaction","mouse actions"]},"1398":{"isSerializedDate":true,"string":"Thu Dec 20 2012 18:04:52 GMT+0100 (CET)"},"1399":{"varMapping":{"__isSmartRef__":true,"id":1400},"source":"function onMouseMove(evt) {\n this.moveCounter = this.moveCounter || 0;\n if (this.moveCounter >= 20) {\n this.handleMoveEvent(evt);\n } else {\n this.moveCounter += 1;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1405},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1400":{"this":{"__isSmartRef__":true,"id":243},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1401}},"1401":{"$super":{"__isSmartRef__":true,"id":1402}},"1402":{"varMapping":{"__isSmartRef__":true,"id":1403},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1404},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1403":{"obj":{"__isSmartRef__":true,"id":243},"name":"onMouseMove"},"1404":{},"1405":{"timestamp":{"__isSmartRef__":true,"id":1406},"user":"conradcalmez","tags":["user interaction","mouse actions"]},"1406":{"isSerializedDate":true,"string":"Thu Dec 20 2012 18:04:31 GMT+0100 (CET)"},"1407":{"varMapping":{"__isSmartRef__":true,"id":1408},"source":"function onMouseUp(evt) {\n this.handleEndEvent(evt);\n}","funcProperties":{"__isSmartRef__":true,"id":1413},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1408":{"this":{"__isSmartRef__":true,"id":243},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1409}},"1409":{"$super":{"__isSmartRef__":true,"id":1410}},"1410":{"varMapping":{"__isSmartRef__":true,"id":1411},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1412},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1411":{"obj":{"__isSmartRef__":true,"id":243},"name":"onMouseUp"},"1412":{},"1413":{"timestamp":{"__isSmartRef__":true,"id":1414},"user":"athomschke","tags":["user interaction","mouse actions"]},"1414":{"isSerializedDate":true,"string":"Sun May 20 2012 16:51:50 GMT+0200 (CEST)"},"1415":{"varMapping":{"__isSmartRef__":true,"id":1416},"source":"function onTouchEnd(evt) {\n this.handleEndEvent(evt);\n evt.stop();\n}","funcProperties":{"__isSmartRef__":true,"id":1421},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1416":{"this":{"__isSmartRef__":true,"id":243},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1417}},"1417":{"$super":{"__isSmartRef__":true,"id":1418}},"1418":{"varMapping":{"__isSmartRef__":true,"id":1419},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1420},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1419":{"obj":{"__isSmartRef__":true,"id":243},"name":"onTouchEnd"},"1420":{},"1421":{"timestamp":{"__isSmartRef__":true,"id":1422},"user":"athomschke","tags":["user interaction","touch actions"]},"1422":{"isSerializedDate":true,"string":"Sun May 20 2012 15:00:05 GMT+0200 (CEST)"},"1423":{"varMapping":{"__isSmartRef__":true,"id":1424},"source":"function onTouchMove(evt) {\n this.handleMoveEvent(evt);\n}","funcProperties":{"__isSmartRef__":true,"id":1425},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1424":{"this":{"__isSmartRef__":true,"id":243}},"1425":{"timestamp":{"__isSmartRef__":true,"id":1426},"user":"conradcalmez","tags":["user interaction","touch actions"]},"1426":{"isSerializedDate":true,"string":"Sun Nov 04 2012 11:44:04 GMT+0100 (CET)"},"1427":{"varMapping":{"__isSmartRef__":true,"id":1428},"source":"function onTouchStart(evt) {\n if (evt.touches.length === 1) {\n if (!this.handleStartEvent(evt)) {\n $super(evt);\n }\n } else {\n this.handleEndEvent(evt);\n $super(evt);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1433},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1428":{"this":{"__isSmartRef__":true,"id":243},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1429}},"1429":{"$super":{"__isSmartRef__":true,"id":1430}},"1430":{"varMapping":{"__isSmartRef__":true,"id":1431},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1432},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1431":{"obj":{"__isSmartRef__":true,"id":243},"name":"onTouchStart"},"1432":{},"1433":{"timestamp":{"__isSmartRef__":true,"id":1434},"user":"conradcalmez","tags":["user interaction","touch actions"]},"1434":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1435":{"varMapping":{"__isSmartRef__":true,"id":1436},"source":"function toggleActivation() {\n if (!this.isOnline()) {\n this.loggedIn(function (status) {\n if (!status.isDone()) {\n return;\n }\n this.activate();\n });\n } else {\n this.deactivate();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1437},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1436":{"this":{"__isSmartRef__":true,"id":243}},"1437":{"timestamp":{"__isSmartRef__":true,"id":1438},"user":"conradcalmez","tags":[]},"1438":{"isSerializedDate":true,"string":"Sun Nov 04 2012 11:56:20 GMT+0100 (CET)"},"1439":{"varMapping":{"__isSmartRef__":true,"id":1440},"source":"function transformPoint(pagePoint) {\n var whiteboardPoint = pagePoint\n .addPt(this.getScrollBounds().topLeft())\n .subPt(this.getPositionInWorld());\n return whiteboardPoint;\n}","funcProperties":{"__isSmartRef__":true,"id":1441},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1440":{"this":{"__isSmartRef__":true,"id":243}},"1441":{"timestamp":{"__isSmartRef__":true,"id":1442},"user":"conradcalmez","tags":["drawing"]},"1442":{"isSerializedDate":true,"string":"Sun Nov 04 2012 11:57:15 GMT+0100 (CET)"},"1443":{"varMapping":{"__isSmartRef__":true,"id":1444},"source":"function getChannel() {\n return (this.channelName || 'example');\n}","funcProperties":{"__isSmartRef__":true,"id":1445},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1444":{"this":{"__isSmartRef__":true,"id":243}},"1445":{"timestamp":{"__isSmartRef__":true,"id":1446},"user":"conradcalmez","tags":["accessing"]},"1446":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1447":{"varMapping":{"__isSmartRef__":true,"id":1448},"source":"function createStrokeShape(points, optSpec) {\n var pointArray,\n spec,\n stroke;\n\n if (points.constructor !== Array) {\n pointArray = [pt(points.x, points.y)];\n } else {\n pointArray = points;\n }\n if (optSpec === undefined) {\n spec = {\n timestamp: Date.now(),\n color: this.getColor(),\n width: this.getPencilSize(),\n style: this.getPencilStyle()\n };\n } else {\n spec = optSpec;\n spec.color = Color.rgba(\n optSpec.color.r,\n optSpec.color.g,\n optSpec.color.b,\n optSpec.color.a\n );\n }\n stroke = Morph.makePolygon(\n pointArray,\n 1,\n spec.color,\n Color.white.withA(0.0001)\n );\n stroke.setBorderWidth(spec.width);\n stroke.setBorderStyle(spec.style);\n stroke.disableEvents();\n stroke.disableDropping();\n stroke.isStroke = true;\n if (spec.identifier !== undefined) {\n stroke.identifier = spec.identifier;\n } else {\n stroke.identifier = stroke.id;\n }\n stroke.time = spec.timestamp;\n return stroke;\n}","funcProperties":{"__isSmartRef__":true,"id":1449},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1448":{"this":{"__isSmartRef__":true,"id":243}},"1449":{"timestamp":{"__isSmartRef__":true,"id":1450},"user":"conradcalmez","tags":["user interaction","drawing"]},"1450":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1451":{"varMapping":{"__isSmartRef__":true,"id":1452},"source":"function connectSocket() {\n var resource = 'socket.io',\n socketIOpath = '/socket.io.js',\n socketioURL = 'http://lively-kernel.org:4000/' +\n resource +\n socketIOpath,\n source;\n\n // load Socket.io library if required\n if (window.io === undefined) {\n source = JSLoader.getSync(socketioURL);\n window.eval(source);\n }\n \n // connect to server\n this.socket = io.connect(\n 'lively-kernel.org:4000',\n {\n 'force new connection': true,\n 'reconnection delay': 1000\n }\n );\n \n this.createSocketListeners();\n}","funcProperties":{"__isSmartRef__":true,"id":1453},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1452":{"this":{"__isSmartRef__":true,"id":243}},"1453":{"timestamp":{"__isSmartRef__":true,"id":1454},"user":"conradcalmez","tags":["server connection"]},"1454":{"isSerializedDate":true,"string":"Mon Feb 11 2013 19:35:19 GMT+0100 (CET)"},"1455":{"varMapping":{"__isSmartRef__":true,"id":1456},"source":"function deleteMorphWith(identifier) {\n var toDelete = this.submorphs.find(function (ea) {\n return (ea.identifier === identifier);\n });\n // remove toDelete from oldSubmorphs ary\n if (!toDelete) {\n return;\n }\n this.oldSubmorphs = this.oldSubmorphs.select(function (ea) {\n return toDelete.identifier !== ea;\n });\n toDelete.remove();\n}","funcProperties":{"__isSmartRef__":true,"id":1457},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1456":{"this":{"__isSmartRef__":true,"id":243}},"1457":{"timestamp":{"__isSmartRef__":true,"id":1458},"user":"conradcalmez","tags":["synchronization","message receiving"]},"1458":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1459":{"varMapping":{"__isSmartRef__":true,"id":1460},"source":"function createSocketListeners() {\n var that = this;\n\n // auth / (dis)connect + channel join\n this.socket.on('connect', function () {\n that.setUserName(that.getUserName()); // TODO somehow looks strange\n that.setChannel(that.getChannel()); // TODO somehow looks strange\n });\n\n this.socket.on('error', function (reason) {\n alert('Unable to connect socket.io on namespace ' +\n that.getChannel() + ': ' + reason);\n that.deactivate();\n });\n\n // client (dis)connects\n this.socket.on('clientConnect', function (data) {\n var dataColor = Color.hsb(data.message.color.h,\n data.message.color.s,\n data.message.color.b),\n color = data.message.color ? dataColor : Color.black;\n that.chat.showMessage([\n {message: data.message.nick, color: color},\n {message: ' connected', color: Color.black}\n ]);\n });\n \n this.socket.on('clientDisconnect', function (data) {\n var dataColor = Color.hsb(data.message.color.h,\n data.message.color.s,\n data.message.color.b),\n color = data.message.color ? dataColor : Color.black;\n that.chat.showMessage([\n {message: data.message.nick, color: color},\n {message: ' disconnected', color: Color.black}\n ]);\n that.owner.submorphs.each(function (ea) {\n if (ea.isMouseIndicator && ea.identifier === data.message.id) {\n ea.remove();\n }\n });\n });\n\n // ping pong example\n this.socket.on('ping', function (data) {\n that.socket.emit('pong');\n });\n \n this.socket.on('pong', function (data) {\n alertOK(data.message);\n });\n\n this.chat.createChatListeners();\n\n this.socket.on('draw', function (data) {\n that.drawLine(data.message);\n });\n\n this.socket.on('clear', function () {\n that.submorphs.invoke('remove');\n });\n\n this.socket.on('delete', function (data) {\n that.deleteMorphWith(data.message);\n });\n\n this.socket.on('morph', function (data) {\n that.addMorphFrom(data.message);\n });\n\n this.socket.on('mouse', function (data) {\n that.updateMouseIndicators(data);\n });\n\n this.socket.on('change', function (data) {\n that.applyChanges(data.message);\n });\n}","funcProperties":{"__isSmartRef__":true,"id":1461},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1460":{"this":{"__isSmartRef__":true,"id":243}},"1461":{"timestamp":{"__isSmartRef__":true,"id":1462},"user":"conradcalmez","tags":["server connection","synchronization"]},"1462":{"isSerializedDate":true,"string":"Tue Feb 12 2013 18:06:49 GMT+0100 (CET)"},"1463":{"varMapping":{"__isSmartRef__":true,"id":1464},"source":"function addMorphFrom(message) {\n var that = this,\n indicatorId = message.id,\n morph,\n indicator;\n\n if (message.serialized) {\n morph = that.deserializeMorph(message.serialized);\n that.addMorph(morph);\n } else {\n indicator = this.owner.submorphs.find(function (ea) {\n return ea.identifier === indicatorId;\n });\n if (!indicator) {\n return;\n }\n\n indicator.submorphs.each(function (ea) {\n that.addMorph(ea);\n ea.setPosition(pt(message.position.x, message.position.y));\n });\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1465},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1464":{"this":{"__isSmartRef__":true,"id":243}},"1465":{"timestamp":{"__isSmartRef__":true,"id":1466},"user":"conradcalmez","tags":["synchronization","message receiving"]},"1466":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1467":{"varMapping":{"__isSmartRef__":true,"id":1468},"source":"function deserializeMorph(JSONmorph) {\n var serializer = ObjectGraphLinearizer.forNewLivelyCopy(),\n jso = JSON.parse(JSONmorph.morph),\n morph = serializer.deserializeJso(jso);\n morph.withAllSubmorphsDo(function () {\n if (typeof this.setNewId === 'function') {\n this.setNewId();\n }\n });\n return morph;\n}","funcProperties":{"__isSmartRef__":true,"id":1469},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1468":{"this":{"__isSmartRef__":true,"id":243}},"1469":{"timestamp":{"__isSmartRef__":true,"id":1470},"user":"conradcalmez","tags":["synchronization"]},"1470":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1471":{"varMapping":{"__isSmartRef__":true,"id":1472},"source":"function defaultColor() {\n return Color.black;\n}","funcProperties":{"__isSmartRef__":true,"id":1473},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1472":{"this":{"__isSmartRef__":true,"id":243}},"1473":{"timestamp":{"__isSmartRef__":true,"id":1474},"user":"conradcalmez","tags":["accessing"]},"1474":{"isSerializedDate":true,"string":"Fri Apr 27 2012 20:45:03 GMT+0200 (CEST)"},"1475":{"varMapping":{"__isSmartRef__":true,"id":1476},"source":"function getConnectedUserNames() {\n if (this.isOnline()) {\n this.socket.emit('names');\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1477},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1476":{"this":{"__isSmartRef__":true,"id":243}},"1477":{"timestamp":{"__isSmartRef__":true,"id":1478},"user":"conradcalmez","tags":["user interaction","message sending"]},"1478":{"isSerializedDate":true,"string":"Sun Nov 04 2012 12:33:30 GMT+0100 (CET)"},"1479":{"varMapping":{"__isSmartRef__":true,"id":1480},"source":"function defaultPencilSize() {\n return 1;\n}","funcProperties":{"__isSmartRef__":true,"id":1481},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1480":{"this":{"__isSmartRef__":true,"id":243}},"1481":{"timestamp":{"__isSmartRef__":true,"id":1482},"user":"conradcalmez","tags":["accessing"]},"1482":{"isSerializedDate":true,"string":"Mon Apr 30 2012 08:59:02 GMT+0200 (CEST)"},"1483":{"varMapping":{"__isSmartRef__":true,"id":1484},"source":"function defaultPencilStyle() {\n return \"solid\";\n}","funcProperties":{"__isSmartRef__":true,"id":1485},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1484":{"this":{"__isSmartRef__":true,"id":243}},"1485":{"timestamp":{"__isSmartRef__":true,"id":1486},"user":"conradcalmez","tags":["accessing"]},"1486":{"isSerializedDate":true,"string":"Wed May 02 2012 15:03:39 GMT+0200 (CEST)"},"1487":{"varMapping":{"__isSmartRef__":true,"id":1488},"source":"function applyChanges(diffL, optInitialMorphIds) {\n var that = this,\n toRemove,\n morphChange,\n morph;\n\n if (diffL.removed) {\n toRemove = this.withAllSubmorphsDetect(function (ea) {\n return ea.identifier === diffL.removed;\n });\n if (toRemove) {\n toRemove.remove();\n }\n } else {\n Properties.own(diffL).each(function (ea) {\n if (diffL[ea] === 'null') {\n return false;\n }\n morphChange = lively.persistence.Serializer.deserialize(diffL[ea]);\n morph = that.withAllSubmorphsDetect(function (m) {\n return m.identifier === ea || m.id === ea;\n });\n\n if (!morph) {\n return false;\n }\n\n morph.applyModifications(morphChange.modified, true);\n that.fakeCopy(morph.identifier);\n\n that.applySubmorphOrderChanges(\n morph,\n morphChange.removed,\n morphChange.added,\n optInitialMorphIds\n );\n morph.refreshRenderContext();\n });\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1489},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1488":{"this":{"__isSmartRef__":true,"id":243}},"1489":{"timestamp":{"__isSmartRef__":true,"id":1490},"user":"conradcalmez","tags":["diffing","message receiving"]},"1490":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1491":{"varMapping":{"__isSmartRef__":true,"id":1492},"source":"function fakeCopy(optIdentifiers) {\n this.prevState = this.submorphs.collect(function (ea) {\n var m,\n identifierIndex;\n \n identifierIndex = optIdentifiers ?\n optIdentifiers.indexOf(ea.identifier) :\n -1;\n\n if (ea.isStroke) {\n return false;\n }\n if (!optIdentifiers || identifierIndex >= 0) {\n m = ea.copy(['attributeConnections']);\n m.identifier = ea.identifier;\n m.setName(ea.name);\n return m;\n }\n // TODO what is returned in this case here?\n }).select(function (ea) {\n return ea;\n });\n}","funcProperties":{"__isSmartRef__":true,"id":1493},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1492":{"this":{"__isSmartRef__":true,"id":243}},"1493":{"timestamp":{"__isSmartRef__":true,"id":1494},"user":"conradcalmez","tags":["diffing"]},"1494":{"isSerializedDate":true,"string":"Tue Feb 12 2013 15:55:24 GMT+0100 (CET)"},"1495":{"varMapping":{"__isSmartRef__":true,"id":1496},"source":"function observeChanges() {\n var that = this,\n diffL = {},\n remove = false,\n diffLNotEmpty;\n\n if (this.prevState === undefined) {\n this.fakeCopy();\n }\n\n this.prevState && this.prevState.each(function (sub) {\n var world = lively.morphic.World.current(),\n match = that.submorphs.find(function (ea) {\n return (sub.identifier === ea.identifier);\n }),\n tmpDiffList,\n identifierHoldingMorph,\n morphInHand;\n\n if (match) {\n tmpDiffList = sub.twoWayDiff(\n match,\n that.doNotSerializeList.concat(['identifier'])\n );\n if (tmpDiffList &&\n tmpDiffList.isEmpty &&\n !tmpDiffList.isEmpty()) {\n Properties.own(tmpDiffList).each(function (ea) {\n var prop = tmpDiffList[ea];\n if (prop.isEmpty && !prop.isEmpty()) {\n diffL[prop.matchingId] = prop;\n diffL[prop.matchingId].flattenPropertyTree();\n }\n });\n }\n } else if (!sub.isStroke) {\n identifierHoldingMorph = that.owner.submorphs.find(function (ea) {\n var identifierIndex = ea.submorphs.pluck('identifier').indexOf(\n sub.identifier\n );\n return (ea.isMouseIndicator && identifierIndex >= 0);\n });\n morphInHand = world.firstHand().submorphs.find(function (ea) {\n return ea.identifier === sub.identifier;\n });\n if (!identifierHoldingMorph && !morphInHand) {\n diffL = sub.identifier;\n remove = true;\n }\n }\n });\n diffLNotEmpty = Properties.own(diffL).find(function (ea) {\n return diffL[ea].isEmpty && !diffL[ea].isEmpty();\n });\n if (diffLNotEmpty) {\n that.sendChange(diffL, remove);\n }\n this.fakeCopy.bind(this).delay(0);\n}","funcProperties":{"__isSmartRef__":true,"id":1497},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1496":{"this":{"__isSmartRef__":true,"id":243}},"1497":{"timestamp":{"__isSmartRef__":true,"id":1498},"user":"conradcalmez","tags":["diffing"]},"1498":{"isSerializedDate":true,"string":"Sun Feb 10 2013 21:04:16 GMT+0100 (CET)"},"1499":{"varMapping":{"__isSmartRef__":true,"id":1500},"source":"function sendChange(change, optRemoved) {\n var that = this,\n serializedChange = {};\n\n if (this.isOnline()) {\n if (optRemoved) {\n serializedChange.removed = change;\n } else {\n Properties.own(change).each(function (ea) {\n if (Properties.own(change[ea].removed).length > 0) {\n that.sendMorph(\n {identifier: that.socket.socket.sessionid},\n true\n );\n }\n });\n Properties.own(change).each(function (ea) {\n var serializer = lively.persistence.Serializer;\n serializedChange[ea] = serializer.serialize(change[ea]);\n });\n }\n this.socket.emit('change', {\n message: serializedChange,\n me: false,\n broadcast: true\n });\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1501},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1500":{"this":{"__isSmartRef__":true,"id":243}},"1501":{"timestamp":{"__isSmartRef__":true,"id":1502},"user":"conradcalmez","tags":["message sending"]},"1502":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1503":{"varMapping":{"__isSmartRef__":true,"id":1504},"source":"function createMouseIndicator(id, colorCode, nick) {\n var world = lively.morphic.World.current(),\n indicator = Morph.makeRectangle(\n rect(world.getExtent().subXY(10, 10), world.getExtent())\n );\n\n indicator.identifier = id;\n indicator.isMouseIndicator = true;\n indicator.disableDropping();\n if (colorCode) {\n indicator.setFill(Color.hsb(colorCode.h, colorCode.s, colorCode.b));\n }\n indicator.setToolTip(nick);\n indicator.moveOnBorderFrom = function (ownerMorph, position) {\n var extent = ownerMorph.getExtent(),\n original = true;\n if (position.x > extent.x) { // TODO refactor magic numbers\n position.x = extent.x;\n original = false;\n } else if (position.x < 0) {\n position.x = 0;\n original = false;\n }\n if (position.y > extent.y) {\n position.y = extent.y;\n original = false;\n } else if (position.y < 21) {\n position.y = 21;\n original = false;\n }\n this.setPosition(position);\n if (original) {\n this.submorphs.invoke('setVisible', true);\n } else {\n this.submorphs.invoke('setVisible', false);\n }\n };\n this.owner.addMorph(indicator);\n return indicator;\n}","funcProperties":{"__isSmartRef__":true,"id":1505},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1504":{"this":{"__isSmartRef__":true,"id":243}},"1505":{"timestamp":{"__isSmartRef__":true,"id":1506},"user":"conradcalmez","tags":["message response","user interface"]},"1506":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1507":{"varMapping":{"__isSmartRef__":true,"id":1508},"source":"function updateMouseIndicators(data) {\n var that = this,\n position = pt(data.message.x, data.message.y)\n .subPt(this.getScrollBounds().topLeft())\n .addPt(this.getPosition()),\n indicator = this.owner.submorphs.find(function (ea) {\n return ea.identifier === data.message.id;\n }) || this.createMouseIndicator(\n data.message.id,\n data.message.color,\n data.message.nick\n );\n\n if (data.message.remove) {\n indicator.remove();\n return;\n }\n\n indicator.moveOnBorderFrom(this, position);\n\n if (data.message.morphs) {\n data.message.morphs.each(function (ea) {\n var subMorph;\n if (ea.morph) {\n subMorph = that.deserializeMorph(ea.morph);\n } else {\n subMorph = that.withAllSubmorphsDetect(function (each) {\n return ea.identifier === each.identifier;\n });\n }\n if (!that.prevState) {\n that.prevState = [];\n }\n that.prevState = that.prevState.select(function (each) {\n return each.identifier !== subMorph.identifier;\n });\n indicator.addMorphBack(subMorph);\n // self repairing system could apply a submorph position here\n });\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1509},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1508":{"this":{"__isSmartRef__":true,"id":243}},"1509":{"timestamp":{"__isSmartRef__":true,"id":1510},"user":"conradcalmez","tags":["message receiving"]},"1510":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1511":{"varMapping":{"__isSmartRef__":true,"id":1512},"source":"function onTouchOut(evt) {\n this.handleOutEvent(evt);\n}","funcProperties":{"__isSmartRef__":true,"id":1513},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1512":{"this":{"__isSmartRef__":true,"id":243}},"1513":{"timestamp":{"__isSmartRef__":true,"id":1514},"user":"athomschke","tags":["user interaction"]},"1514":{"isSerializedDate":true,"string":"Sun May 20 2012 14:58:38 GMT+0200 (CEST)"},"1515":{"varMapping":{"__isSmartRef__":true,"id":1516},"source":"function sendLine(line) {\n if (this.isOnline()) {\n this.socket.emit('draw', {\n message: line,\n me: false, // drawn locally ...\n broadcast: true // sent to all others\n });\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1517},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1516":{"this":{"__isSmartRef__":true,"id":243}},"1517":{"timestamp":{"__isSmartRef__":true,"id":1518},"user":"conradcalmez","tags":["message sending"]},"1518":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1519":{"varMapping":{"__isSmartRef__":true,"id":1520},"source":"function sendMorph(aMorph, doNotAddToWhiteboard, optSerialize) {\n if (this.isOnline()) {\n this.socket.emit('morph', {\n message: {\n morphId: aMorph.identifier,\n doNotAddToWhiteboard: doNotAddToWhiteboard,\n serialized: optSerialize && aMorph.serialize()\n },\n me: false,\n broadcast: true\n });\n this.enteredBefore = false;\n }\n if (this.prevState !== undefined) {\n if (this.submorphs.length !== this.prevState.length) {\n this.fakeCopy();\n }\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1521},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1520":{"this":{"__isSmartRef__":true,"id":243}},"1521":{"timestamp":{"__isSmartRef__":true,"id":1522},"user":"conradcalmez","tags":["message sending"]},"1522":{"isSerializedDate":true,"string":"Tue Feb 12 2013 15:27:06 GMT+0100 (CET)"},"1523":{"varMapping":{"__isSmartRef__":true,"id":1524},"source":"function handleStartEvent(evt) {\n var world = lively.morphic.World.current(),\n morphs = world.morphsContainingPoint(evt.getPosition()),\n whiteboardIndex = morphs.indexOf(this);\n if (whiteboardIndex < 0) {\n return false;\n }\n // TODO what is the implication of this?\n // all morphs behind the whiteboard will be ignored in the following check\n // what does array position mean?\n morphs.splice(whiteboardIndex);\n if (!morphs.find(function (ea) { return !ea.isStroke; }) &&\n world.firstHand().submorphs.length <= 0) {\n this.isDrawing = true;\n evt.stop();\n return true;\n }\n return false;\n}","funcProperties":{"__isSmartRef__":true,"id":1525},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1524":{"this":{"__isSmartRef__":true,"id":243}},"1525":{"timestamp":{"__isSmartRef__":true,"id":1526},"user":"conradcalmez","tags":["user interaction"]},"1526":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1527":{"varMapping":{"__isSmartRef__":true,"id":1528},"source":"function handleEndEvent(evt) {\n if (this.isDrawing) {\n this.isDrawing = false;\n this.currentStroke = null;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1529},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1528":{"this":{"__isSmartRef__":true,"id":243}},"1529":{"timestamp":{"__isSmartRef__":true,"id":1530},"user":"conradcalmez","tags":["user interaction"]},"1530":{"isSerializedDate":true,"string":"Thu Dec 20 2012 18:13:25 GMT+0100 (CET)"},"1531":{"varMapping":{"__isSmartRef__":true,"id":1532},"source":"function handleMoveEvent(evt) {\n var point = this.transformPoint(evt.getPosition());\n if (this.isDrawing) {\n this.lineTo(point);\n }\n if (this.isOnline()) {\n this.moveMorphInHand(point);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1533},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1532":{"this":{"__isSmartRef__":true,"id":243}},"1533":{"timestamp":{"__isSmartRef__":true,"id":1534},"user":"conradcalmez","tags":["user interaction"]},"1534":{"isSerializedDate":true,"string":"Thu Dec 20 2012 17:55:45 GMT+0100 (CET)"},"1535":{"varMapping":{"__isSmartRef__":true,"id":1536},"source":"function handleOutEvent(evt) {\n var world = lively.morphic.World.current();\n if (world.morphsContainingPoint(evt.getPosition()).indexOf(this) < 0) {\n this.handleEndEvent(evt);\n if (this.isOnline()) {\n this.enteredBefore = false;\n this.socket.emit('mouse', {\n message: {\n x: evt.getPosition().x,\n y: evt.getPosition().y,\n remove: world.firstHand().submorphs.slice(1).collect(\n function (ea) {\n return ea.identifier;\n }\n )\n },\n me: false, // happens on client\n broadcast: true // get send to other clients\n });\n world.firstHand().withAllSubmorphsDo(function (ea) {\n ea.identifier = undefined;\n });\n }\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1537},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1536":{"this":{"__isSmartRef__":true,"id":243}},"1537":{"timestamp":{"__isSmartRef__":true,"id":1538},"user":"conradcalmez","tags":["user interaction","message sending"]},"1538":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1539":{"varMapping":{"__isSmartRef__":true,"id":1540},"source":"function moveMorphInHand(point) {\n //sync mouse position\n var that = this,\n world = lively.morphic.World.current(),\n data = {x: point.x,\n y: point.y},\n submorphsOfHand = world.firstHand().submorphs.slice(1);\n\n if (submorphsOfHand.length > 0) { // sync new morph in hand\n if (this.enteredBefore) {// morph was in hand before\n data.isNewMorphPosition = true;\n data.offset = {\n x: submorphsOfHand[0].getPosition().x,\n y: submorphsOfHand[0].getPosition().y\n };\n data.ids = submorphsOfHand.pluck('identifier');\n } else { // morph must be given to hand\n this.enteredBefore = true;\n data.morphs = submorphsOfHand.map(function (ea) {\n var info = ea.identifier ?\n {} : {morph: that.serializeMorph(ea)};\n return Object.merge(\n [\n info,\n {identifier: ea.identifier},\n {offset: {\n x: ea.getPosition().x,\n y: ea.getPosition().y\n }}\n ]\n );\n });\n }\n }\n\n this.socket.emit('mouse', {\n message: data,\n me: false,\n broadcast: true\n });\n}","funcProperties":{"__isSmartRef__":true,"id":1541},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1540":{"this":{"__isSmartRef__":true,"id":243}},"1541":{"timestamp":{"__isSmartRef__":true,"id":1542},"user":"conradcalmez","tags":["user interaction","message sending"]},"1542":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1543":{"varMapping":{"__isSmartRef__":true,"id":1544},"source":"function serializeMorph(morph) {\n var serialized;\n\n morph.withAllSubmorphsDo(function (ea) {\n ea.identifier = ea.id;\n });\n if (morph.selectionMorph) {\n disconnect(morph, \"extent\", morph.selectionMorph, \"setExtent\");\n disconnect(morph, \"_Position\", morph.selectionMorph, \"setPosition\");\n disconnect(morph, \"_Rotation\", morph.selectionMorph, \"setRotation\");\n disconnect(morph, \"_Scale\", morph.selectionMorph, \"setScale\");\n }\n serialized = morph.serialize(this.doNotSerializeList);\n if (morph.selectionMorph) {\n connect(morph, \"extent\", morph.selectionMorph, \"setExtent\");\n connect(morph, \"_Position\", morph.selectionMorph, \"setPosition\");\n connect(morph, \"_Rotation\", morph.selectionMorph, \"setRotation\");\n connect(morph, \"_Scale\", morph.selectionMorph, \"setScale\");\n }\n return serialized;\n}","funcProperties":{"__isSmartRef__":true,"id":1545},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1544":{"this":{"__isSmartRef__":true,"id":243}},"1545":{"timestamp":{"__isSmartRef__":true,"id":1546},"user":"conradcalmez","tags":[]},"1546":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1547":{"varMapping":{"__isSmartRef__":true,"id":1548},"source":"function applySubmorphOrderChanges(morph, toAdd, toRemove,\n optInitialMorphIds) {\n var that = this,\n alreadyOnBoard,\n toRemoveIdentifier;\n\n Properties.own(toAdd).each(function (submorphId) {\n var morphId = toAdd[submorphId].identifier;\n if (optInitialMorphIds && optInitialMorphIds.indexOf(morphId) < 0) {\n return;\n }\n alreadyOnBoard = that.withAllSubmorphsDetect(function (ea) {\n return ea.identifier === toAdd[submorphId].identifier;\n });\n if (alreadyOnBoard) {\n morph.addMorph(alreadyOnBoard);\n } else {\n morph.addMorph(toAdd[submorphId]);\n }\n });\n Properties.own(toRemove).each(function (toRemoveId) {\n toRemoveIdentifier = toRemove[toRemoveId].identifier;\n morph.submorphs.find(function (toRemoveMorph) {\n if (toRemoveMorph.identifier === toRemoveIdentifier) {\n toRemoveMorph.remove();\n }\n });\n });\n}","funcProperties":{"__isSmartRef__":true,"id":1549},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1548":{"this":{"__isSmartRef__":true,"id":243}},"1549":{"timestamp":{"__isSmartRef__":true,"id":1550},"user":"conradcalmez","tags":[]},"1550":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1551":{"varMapping":{"__isSmartRef__":true,"id":1552},"source":"function loggedIn(callback) {\n var that = this,\n world = lively.morphic.World.current(),\n wr,\n dummy;\n\n if (!world.requestUserName()) {\n wr = new WebResource(Config.userNameURL);\n dummy = {\n doItWith: function (input) {\n callback.apply(that, input);\n }\n };\n connect(wr, \"status\", dummy, \"doItWith\", {\n converter: function (status) {\n return [status];\n }\n });\n wr.beAsync();\n wr.post();\n return false;\n }\n callback.apply(this, [{isDone: function () { return true; }}]);\n return true;\n}","funcProperties":{"__isSmartRef__":true,"id":1553},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1552":{"this":{"__isSmartRef__":true,"id":243}},"1553":{"timestamp":{"__isSmartRef__":true,"id":1554},"user":"conradcalmez","tags":["accessing","user interface"]},"1554":{"isSerializedDate":true,"string":"Sun Nov 04 2012 18:03:36 GMT+0100 (CET)"},"1555":{"varMapping":{"__isSmartRef__":true,"id":1556},"source":"function packLine(id, vertice, color, width, style) {\n var line = {\n identifier: id,\n vector: vertice,\n color: color,\n width: width,\n style: style\n };\n return line;\n}","funcProperties":{"__isSmartRef__":true,"id":1557},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1556":{"this":{"__isSmartRef__":true,"id":243}},"1557":{"timestamp":{"__isSmartRef__":true,"id":1558},"user":"conradcalmez","tags":["synchronization"]},"1558":{"isSerializedDate":true,"string":"Mon Feb 11 2013 19:13:40 GMT+0100 (CET)"},"1559":{"varMapping":{"__isSmartRef__":true,"id":1560},"source":"function drawLine(line) {\n var stroke = this.submorphs.find(function (ea) {\n return line.identifier === ea.identifier;\n }),\n vector = line.vector;\n if (!stroke) {\n stroke = this.createStrokeShape(vector, line);\n this.addMorph(stroke);\n }\n if (!(vector instanceof Array)) {\n vector = [pt(vector.x, vector.y)];\n }\n debugger;\n stroke.setVertices(\n stroke.vertices().concat(\n vector.map(function (ea) {\n return pt(ea.x, ea.y);\n })\n )\n );\n}","funcProperties":{"__isSmartRef__":true,"id":1561},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1560":{"this":{"__isSmartRef__":true,"id":243}},"1561":{"timestamp":{"__isSmartRef__":true,"id":1562},"user":"conradcalmez","tags":["user interaction","drawing","message receiving"]},"1562":{"isSerializedDate":true,"string":"Tue Feb 12 2013 17:32:23 GMT+0100 (CET)"},"1563":{"varMapping":{"__isSmartRef__":true,"id":1564},"source":"function defaultActiveColor() {\n return Color.green;\n}","funcProperties":{"__isSmartRef__":true,"id":1565},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1564":{"this":{"__isSmartRef__":true,"id":243}},"1565":{"timestamp":{"__isSmartRef__":true,"id":1566},"user":"conradcalmez","tags":["accessing"]},"1566":{"isSerializedDate":true,"string":"Sun Feb 10 2013 13:12:51 GMT+0100 (CET)"},"1567":{"varMapping":{"__isSmartRef__":true,"id":1568},"source":"function createTestMorph() {\n var world = lively.morphic.World.current(),\n tester = world.loadPartItem(\"SyncMorphTester\", \"PartsBin/Collaboration\");\n tester.targetMorph.setSyncMorph(this);\n tester.openInHand();\n}","funcProperties":{"__isSmartRef__":true,"id":1569},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1568":{"this":{"__isSmartRef__":true,"id":243}},"1569":{"timestamp":{"__isSmartRef__":true,"id":1570},"user":"conradcalmez","tags":["user interaction","testing"]},"1570":{"isSerializedDate":true,"string":"Sun Feb 10 2013 13:41:36 GMT+0100 (CET)"},"1571":{"varMapping":{"__isSmartRef__":true,"id":1572},"source":"function getCurrentStroke(point) {\n if (this.currentStroke === null) {\n this.currentStroke = this.createStrokeShape(point);\n this.addMorph(this.currentStroke);\n }\n return this.currentStroke;\n}","funcProperties":{"__isSmartRef__":true,"id":1573},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1572":{"this":{"__isSmartRef__":true,"id":243}},"1573":{"timestamp":{"__isSmartRef__":true,"id":1574},"user":"conradcalmez","tags":["accessing"]},"1574":{"isSerializedDate":true,"string":"Tue Feb 12 2013 15:41:11 GMT+0100 (CET)"},"1575":{"morph":{"__isSmartRef__":true,"id":237},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1576":{"sourceObj":{"__isSmartRef__":true,"id":237},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":1577},"targetMethodName":"indicateUnsavedChanges","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1577":{"submorphs":[],"scripts":[],"id":"1036B68F-36BF-4555-BCD9-7714427B42DF","shape":{"__isSmartRef__":true,"id":1578},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"ChangeIndicator","partsBinMetaInfo":{"__isSmartRef__":true,"id":1579},"eventHandler":{"__isSmartRef__":true,"id":1580},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"owner":{"__isSmartRef__":true,"id":2},"layout":{"__isSmartRef__":true,"id":1581},"isBeingDragged":false,"grabbingEnabled":false,"draggingEnabled":false,"isCopyMorphRef":true,"morphRefId":26,"derivationIds":[220,"EE491D24-F056-4AFE-A669-7B7048C6C3D1","3FA4A8C3-0FC0-43A0-8C00-00A96F9022E2","62DAD3C6-A81D-450F-B32F-601EA7E619D8","EEDB0C58-5990-481A-A7FF-ACB1A2DF08DD","16F708CB-1259-4A75-BAEF-1A5216C6CB19","97CA61D3-E09B-43CD-9880-D8B36FA303F3","0AF6BEEC-8A57-44FF-9D8D-40BA6CC6A0CD","AF2BEE76-C34F-457E-8699-9896327A4C07","5EC39FF0-602F-44A2-BE3A-04FCA127E5D1","44CEBF61-9A92-4E36-9576-425D5054B471","E9ACF86B-B775-4125-83BC-7E4500597D40","FE62294A-F891-45E4-AAE7-6F386B5A8CB5","8771140D-0D57-4CAF-A57B-857F858CCC73","BE774795-5889-4DB8-A366-1C774555761B","89DA16ED-5636-4C0D-B52F-A327A5526DD6","94DAC0EC-79E9-48E5-90D5-2BB59495BD0B","048AE915-30CF-4DE4-819B-F7D41CE99585","0417EEDD-6B12-4AF1-B7BC-875E32521980","5DFAFB2A-C915-429E-A58C-030C229C9AB8","BD996DFA-D248-4D9C-AF33-C5BA2511A09E","9F92F095-A6B5-46E8-ADA1-051904ABE386","214CA9C7-6225-49ED-A484-C2D8D92B35ED","7258922C-C991-4EF3-A09B-318D8B6A1306","1F8069E8-E7D5-4153-AE2C-96F1782F041F","74FBBDBC-44BA-4111-B3DB-58142522023F","91D6D585-64D8-491A-AAAB-AF0A99533DEC","1761630D-17E9-4E04-A73C-9D15C26E19E3","B8E628C4-20D6-4B26-B820-A8D07194CE6F","6511B508-3FE2-4BDC-906A-D4E827163B0D","9016491A-C768-4B45-9321-45C78BCEE4A6"],"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","savedColor","alarmColor","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1582},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(782.0,40.0)","savedColor":"Color.rgb(0,0,0)","alarmColor":"Color.rgb(240,0,0)","distanceToDragEvent":"lively.pt(37.3,-17.5)"},"1578":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(8.6,9.7)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"1579":{"partsSpaceName":"PartsBin/Basic","comment":"A simple box morph. A really blue one. Its amazing what you can build out of simple boxes.... Who needs stars when you got blue rectangles!","migrationLevel":2,"partName":"Rectangle","idOnLoad":"1036B68F-36BF-4555-BCD9-7714427B42DF","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1580":{"morph":{"__isSmartRef__":true,"id":1577},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1581":{"moveHorizontal":true,"adjustForNewBounds":true},"1582":{"indicateUnsavedChanges":{"__isSmartRef__":true,"id":1583},"setColors":{"__isSmartRef__":true,"id":1587}},"1583":{"varMapping":{"__isSmartRef__":true,"id":1584},"source":"function indicateUnsavedChanges() {\n if (this.owner.scriptPane.hasChanged()) {\n this.setColors(this.alarmColor);\n } else {\n this.setColors(this.savedColor);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1585},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1584":{"this":{"__isSmartRef__":true,"id":1577}},"1585":{"user":"lauritz","timestamp":{"__isSmartRef__":true,"id":1586}},"1586":{"isSerializedDate":true,"string":"Tue Sep 27 2011 20:09:19 GMT+0200 (CEST)"},"1587":{"varMapping":{"__isSmartRef__":true,"id":1588},"source":"function setColors(color) {\n this.setFill(color);\n this.setBorderColor(color);\n}","funcProperties":{"__isSmartRef__":true,"id":1589},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1588":{"this":{"__isSmartRef__":true,"id":1577}},"1589":{"user":"lauritz","timestamp":{"__isSmartRef__":true,"id":1590}},"1590":{"isSerializedDate":true,"string":"Tue Sep 27 2011 19:06:09 GMT+0200 (CEST)"},"1591":{"sourceObj":{"__isSmartRef__":true,"id":237},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":237},"targetMethodName":"highlightJavaScriptSyntax","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1592":{"sourceObj":{"__isSmartRef__":true,"id":237},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":237},"targetMethodName":"highlightSyntaxDebounced","varMapping":{"__isSmartRef__":true,"id":1593},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1593":{"source":{"__isSmartRef__":true,"id":237},"target":{"__isSmartRef__":true,"id":237}},"1594":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":1595},"id":553,"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":1596}],"eventHandler":{"__isSmartRef__":true,"id":1598},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"_ClipMode":"visible","fixedWidth":true,"fixedHeight":true,"allowInput":true,"_FontFamily":"Helvetica","_FontSize":11,"_MaxTextWidth":90,"_MinTextWidth":90,"_MaxTextHeight":null,"_MinTextHeight":null,"evalEnabled":false,"_Align":"center","_VerticalAlign":"center","owner":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(245.0,177.9)","_TextColor":"Color.rgb(0,204,0)"},"1595":{"_ClipMode":"visible","_BorderWidth":1,"_StrokeOpacity":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,25.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(204,204,204)","_Fill":"Color.rgb(255,255,255)"},"1596":{"style":{"__isSmartRef__":true,"id":1597},"chunkOwner":{"__isSmartRef__":true,"id":1594},"_id":"_50157","storedString":"saved source","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1597":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1598":{"morph":{"__isSmartRef__":true,"id":1594},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1599":{"doSave":{"__isSmartRef__":true,"id":1600},"boundEval":{"__isSmartRef__":true,"id":1608},"reset":{"__isSmartRef__":true,"id":1616},"display":{"__isSmartRef__":true,"id":1620},"hasChanged":{"__isSmartRef__":true,"id":1624},"displayStatus":{"__isSmartRef__":true,"id":1628},"updateTarget":{"__isSmartRef__":true,"id":1632}},"1600":{"varMapping":{"__isSmartRef__":true,"id":1601},"source":"function doSave() {\n $super();\n var saved = this.boundEval(this.getTextString());\n if (saved) {\n this.lastSaveSource = this.textString;\n this.owner.changeIndicator.indicateUnsavedChanges();\n this.owner.updateLists();\n this.owner.selectChangedContent(this.getTextString());\n this.displayStatus(\"saved source\", Color.green);\n } else {\n this.displayStatus(\"not saved\", Color.red);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1606},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1601":{"this":{"__isSmartRef__":true,"id":237},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1602}},"1602":{"$super":{"__isSmartRef__":true,"id":1603}},"1603":{"varMapping":{"__isSmartRef__":true,"id":1604},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1605},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1604":{"obj":{"__isSmartRef__":true,"id":237},"name":"doSave"},"1605":{},"1606":{"timestamp":{"__isSmartRef__":true,"id":1607},"user":"lauritz"},"1607":{"isSerializedDate":true,"string":"Thu Nov 17 2011 23:15:19 GMT+0100 (CET)"},"1608":{"varMapping":{"__isSmartRef__":true,"id":1609},"source":"function boundEval(str) {\n var result;\n\n this.objectEditorPane.ensureAnnotationLayer();\n withLayers([ScriptAnnotationLayer], function() {\n result = $super(str);\n })\n \n return result\n}","funcProperties":{"__isSmartRef__":true,"id":1614},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1609":{"this":{"__isSmartRef__":true,"id":237},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1610}},"1610":{"$super":{"__isSmartRef__":true,"id":1611}},"1611":{"varMapping":{"__isSmartRef__":true,"id":1612},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1613},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1612":{"obj":{"__isSmartRef__":true,"id":237},"name":"boundEval"},"1613":{},"1614":{"timestamp":{"__isSmartRef__":true,"id":1615},"user":"lauritz","categories":[]},"1615":{"isSerializedDate":true,"string":"Wed Nov 16 2011 05:41:53 GMT+0100 (CET)"},"1616":{"varMapping":{"__isSmartRef__":true,"id":1617},"source":"function reset() {\n this.doitContext = null;\n this.lastSaveSource = \"\";\n this.textString = \"\";\n this.lastSaveSource = this.textString;\n this.enableSyntaxHighlighting();\n}","funcProperties":{"__isSmartRef__":true,"id":1618},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1617":{"this":{"__isSmartRef__":true,"id":237}},"1618":{"timestamp":{"__isSmartRef__":true,"id":1619},"user":"cschuster","tags":[]},"1619":{"isSerializedDate":true,"string":"Wed May 16 2012 20:52:57 GMT+0200 (CEST)"},"1620":{"varMapping":{"__isSmartRef__":true,"id":1621},"source":"function display(jsCode) {\n this.lastSaveSource = jsCode;\n this.setTextString(jsCode);\n this.enableSyntaxHighlighting();\n this.highlightJavaScriptSyntax();\n this.applyStyle({align: 'left'});\n}","funcProperties":{"__isSmartRef__":true,"id":1622},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1621":{"this":{"__isSmartRef__":true,"id":237}},"1622":{"timestamp":{"__isSmartRef__":true,"id":1623},"user":"lauritz","tags":[]},"1623":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:02:26 GMT+0200 (CEST)"},"1624":{"varMapping":{"__isSmartRef__":true,"id":1625},"source":"function hasChanged() {\n var cleanText = function (string) {\n var source = string.trim();\n if (source.substring(0,2) === \"//\") {\n // removes annotation line\n source = source.substring(source.indexOf(\"\\n\"), source.length);\n source = source.trim();\n }\n if (source === 'undefined' || source === 'null') source = '';\n return source;\n }\n var cleanedTextString = cleanText(this.textString);\n var cleanedLastSource = cleanText(this.lastSaveSource);\n return cleanedTextString !== cleanedLastSource;\n}","funcProperties":{"__isSmartRef__":true,"id":1626},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1625":{"this":{"__isSmartRef__":true,"id":237}},"1626":{"timestamp":{"__isSmartRef__":true,"id":1627},"user":"lauritz","categories":[]},"1627":{"isSerializedDate":true,"string":"Mon Oct 03 2011 18:29:45 GMT+0200 (CEST)"},"1628":{"varMapping":{"__isSmartRef__":true,"id":1629},"source":"function displayStatus(msg, color, delay) {\n if (!this.statusMorph) {\n this.statusMorph = new TextMorph(pt(100,25).extentAsRectangle());\n this.statusMorph.applyStyle({borderWidth: 1, strokeOpacity: 0, borderColor: Color.gray});\n this.statusMorph.setFill(this.owner.getFill());\n this.statusMorph.setFontSize(11);\n this.statusMorph.setAlign('center');\n this.statusMorph.setVerticalAlign('center');\n }\n this.statusMorph.setTextString(msg);\n this.statusMorph.centerAt(this.innerBounds().center());\n this.statusMorph.setTextColor(color || Color.black);\n this.addMorph(this.statusMorph);\n (function() { this.statusMorph.remove() }).bind(this).delay(delay || 2); \n}","funcProperties":{"__isSmartRef__":true,"id":1630},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1629":{"this":{"__isSmartRef__":true,"id":237}},"1630":{"timestamp":{"__isSmartRef__":true,"id":1631},"user":"lauritz","categories":[]},"1631":{"isSerializedDate":true,"string":"Wed Nov 23 2011 18:23:05 GMT+0100 (CET)"},"1632":{"varMapping":{"__isSmartRef__":true,"id":1633},"source":"function updateTarget(target) {\n module('lively.ide.SyntaxHighlighting').load(true);\n this.doitContext = this.owner.target;\n}","funcProperties":{"__isSmartRef__":true,"id":1634},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1633":{"this":{"__isSmartRef__":true,"id":237}},"1634":{"timestamp":{"__isSmartRef__":true,"id":1635},"user":"lauritz","tags":[]},"1635":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:07:42 GMT+0200 (CEST)"},"1636":{"submorphs":[{"__isSmartRef__":true,"id":1637}],"scripts":[],"id":847,"shape":{"__isSmartRef__":true,"id":1642},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1643},"lighterFill":{"__isSmartRef__":true,"id":1648},"label":{"__isSmartRef__":true,"id":1637},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"showsHalos":false,"_Rotation":0,"name":"ObjectEditorClassButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":1653},"_Scale":1,"owner":null,"layout":{"__isSmartRef__":true,"id":1654},"eventHandler":{"__isSmartRef__":true,"id":1655},"__serializedExpressions__":["_Position","padding"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(820.0,9.0)","padding":"lively.rect(5,0,0,0)"},"1637":{"submorphs":[],"scripts":[],"id":848,"shape":{"__isSmartRef__":true,"id":1638},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":116,"_MaxTextHeight":18,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"owner":{"__isSmartRef__":true,"id":1636},"eventsAreIgnored":true,"textChunks":[{"__isSmartRef__":true,"id":1639}],"prevScroll":[0,0],"_FontFamily":"Helvetica, Sans-Serif","_ClipMode":"visible","_WhiteSpaceHandling":"pre-wrap","_Align":"center","_Scale":1,"eventHandler":{"__isSmartRef__":true,"id":1641},"_HandStyle":"default","_PointerEvents":"none","__serializedExpressions__":["_Position","textColor","padding","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","textColor":"Color.rgb(0,0,0)","padding":"lively.rect(5,0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"1638":{"borderWidth":0,"fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.0,18.0)","_BorderColor":"Color.rgb(0,0,0)"},"1639":{"style":{"__isSmartRef__":true,"id":1640},"chunkOwner":{"__isSmartRef__":true,"id":1637},"storedString":"","_id":"_1355","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1640":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1641":{"morph":{"__isSmartRef__":true,"id":1637},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1642":{"_Fill":{"__isSmartRef__":true,"id":1643},"_BorderWidth":1,"_BorderRadius":5,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.0,20.0)","_BorderColor":"Color.rgb(214,214,214)"},"1643":{"stops":[{"__isSmartRef__":true,"id":1644},{"__isSmartRef__":true,"id":1645},{"__isSmartRef__":true,"id":1646},{"__isSmartRef__":true,"id":1647}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1644":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1645":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1646":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1647":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"1648":{"stops":[{"__isSmartRef__":true,"id":1649},{"__isSmartRef__":true,"id":1650},{"__isSmartRef__":true,"id":1651},{"__isSmartRef__":true,"id":1652}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1649":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1650":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1651":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1652":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1653":{"partsSpaceName":"PartsBin/Inputs/","migrationLevel":2,"comment":"Simple button. Connect to 'fire' to trigger actions when the button is pressed.","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1654":{"moveHorizontal":true},"1655":{"morph":{"__isSmartRef__":true,"id":1636},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1656":{"submorphs":[],"scripts":[],"id":"4372E543-339B-4345-B848-40299EBD6691","shape":{"__isSmartRef__":true,"id":1657},"droppingEnabled":true,"halosEnabled":true,"itemList":["-- ALL --",["channelName",{"__isSmartRef__":true,"id":1272}]],"selectedLineNo":1,"showsHalos":false,"name":"ObjectEditorConnectionList","partsBinMetaInfo":{"__isSmartRef__":true,"id":1658},"_ClipMode":"auto","owner":{"__isSmartRef__":true,"id":2},"attributeConnections":[{"__isSmartRef__":true,"id":1659}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"prevScroll":[0,0],"layout":{"__isSmartRef__":true,"id":1661},"eventHandler":{"__isSmartRef__":true,"id":1662},"_FontSize":10,"grabbingEnabled":false,"draggingEnabled":false,"isCopyMorphRef":true,"morphRefId":19,"derivationIds":[209,"3900F5DF-0FF7-4C94-8BDB-44AAE12B4A3E","35301083-B60D-4A43-8566-23860EEB4C04","9CC401CC-5A35-4643-935B-FD049C284E16","C9879D40-5E79-4C56-AA79-562ED82BF052","9F6F9261-EB76-4B58-B77D-7D70813A1ED7","8B59E237-F372-4F70-9768-7E9C1A7A021D","FC85F1B9-1978-42D2-850C-BD249981E8B4","D2B607C6-A89B-4B3F-91BB-720451EAB98D","CC361093-FF73-479B-9431-C645CB48F518","307D3B7C-C0E1-484F-8D7E-39FBA9D8EDA5","038AF132-861E-4A77-8756-E6B476413639","65B6CA87-98DE-4473-B4DD-F8763BC3B06A","0AA0E45B-6DCC-4AE0-938C-E53794A511DF","806ACC1C-1353-436B-B1FE-568846777C17","C74AE022-1184-4FDF-A53D-A17627FF61EA","686AF565-EEB0-4AB7-A12E-26727DAD9291","1102A5B3-9973-4471-9EDD-FD7AB802DEA6","BEB06225-53D0-4ACC-9154-DC2DEB5728B7","E32FE34B-7520-4612-B927-C8F9EDFC69BB","D21F598A-4E44-4752-B205-9595DF0E9AE3","FD6670F8-44F6-436A-960F-8BE8890F8B75","C5522110-E6CA-4F96-B33E-BEBF6978088A","BC9AC080-8315-49F1-B6CB-42F3B802F7D9","242A0967-D906-4396-9326-3CC0C9C3EA60","39C09174-63A5-421F-AB88-7A98755661E5","40C2C766-248F-451F-9D85-D1E4DCCB559D","C89F1632-FADA-4B3E-B2D9-1C1020ACB29A","F78E083D-993E-4963-8A7F-CB7182DE3931","CA8FBD0F-D14E-42E6-A6D4-803B9EE12264","06822A39-C077-4531-B3A6-3DAC393B6E04"],"selection":null,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1663},"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(10.0,346.7)","distanceToDragEvent":"lively.pt(125.0,-17.1)"},"1657":{"_BorderWidth":1,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(180.0,74.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"1658":{"partsSpaceName":"PartsBin/NewWorld","migrationLevel":2,"idOnLoad":"4372E543-339B-4345-B848-40299EBD6691","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1659":{"sourceObj":{"__isSmartRef__":true,"id":1656},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":2},"targetMethodName":"displaySourceForConnection","converterString":"function (value) {\n if (!value) return;\n return (value === '-- ALL --') ? null : value[1];\n}","updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1660},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1660":{"source":{"__isSmartRef__":true,"id":1656},"target":{"__isSmartRef__":true,"id":2}},"1661":{"resizeHeight":false,"moveVertical":true},"1662":{"morph":{"__isSmartRef__":true,"id":1656},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1663":{"preselectItem":{"__isSmartRef__":true,"id":1664}},"1664":{"varMapping":{"__isSmartRef__":true,"id":1665},"source":"function preselectItem() {\n if (this.getList().size() === 2) {\n this.selectAt(1);\n } else {\n this.selectAt(0);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1666},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1665":{"this":{"__isSmartRef__":true,"id":1656}},"1666":{"timestamp":{"__isSmartRef__":true,"id":1667},"user":"lauritz"},"1667":{"isSerializedDate":true,"string":"Thu Nov 17 2011 04:12:58 GMT+0100 (CET)"},"1668":{"submorphs":[{"__isSmartRef__":true,"id":1669}],"scripts":[],"id":47,"shape":{"__isSmartRef__":true,"id":1673},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1674},"lighterFill":{"__isSmartRef__":true,"id":1679},"label":{"__isSmartRef__":true,"id":1669},"attributeConnections":[{"__isSmartRef__":true,"id":1684}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"showsHalos":false,"_Rotation":0,"name":"ObjectEditorTargetButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":1685},"_Scale":1,"owner":null,"isCopyMorphRef":true,"morphRefId":1,"__serializedExpressions__":["_Position","padding"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(215.0,35.0)","padding":"lively.rect(5,0,0,0)"},"1669":{"submorphs":[],"scripts":[],"id":48,"shape":{"__isSmartRef__":true,"id":1670},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":116,"_MaxTextHeight":20,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"owner":{"__isSmartRef__":true,"id":1668},"eventsAreIgnored":true,"textChunks":[{"__isSmartRef__":true,"id":1671}],"prevScroll":[0,0],"_FontFamily":"Helvetica, Sans-Serif","_ClipMode":"visible","_WhiteSpaceHandling":"pre-wrap","_Align":"center","_Scale":1,"__serializedExpressions__":["_Position","textColor","padding","_Padding"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","textColor":"Color.rgb(0,0,0)","padding":"lively.rect(5,0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"1670":{"borderWidth":0,"fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.0,20.0)","_BorderColor":"Color.rgb(0,0,0)"},"1671":{"style":{"__isSmartRef__":true,"id":1672},"chunkOwner":{"__isSmartRef__":true,"id":1669},"storedString":"","_id":"_1356","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1672":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1673":{"_Fill":{"__isSmartRef__":true,"id":1674},"_BorderWidth":1,"_BorderRadius":5,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(116.0,20.0)","_BorderColor":"Color.rgb(214,214,214)"},"1674":{"stops":[{"__isSmartRef__":true,"id":1675},{"__isSmartRef__":true,"id":1676},{"__isSmartRef__":true,"id":1677},{"__isSmartRef__":true,"id":1678}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1675":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1676":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1677":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1678":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"1679":{"stops":[{"__isSmartRef__":true,"id":1680},{"__isSmartRef__":true,"id":1681},{"__isSmartRef__":true,"id":1682},{"__isSmartRef__":true,"id":1683}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1680":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1681":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1682":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1683":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1684":{"sourceObj":{"__isSmartRef__":true,"id":1668},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":9},"targetMethodName":"chooseTargetMorphMenu","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1685":{"partsSpaceName":"PartsBin/Inputs/","migrationLevel":2,"comment":"Simple button. Connect to 'fire' to trigger actions when the button is pressed.","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1686":{"submorphs":[],"scripts":[],"id":435,"shape":{"__isSmartRef__":true,"id":1687},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":218,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":12,"name":"ObjectEditorMorphSelector","partsBinMetaInfo":{"__isSmartRef__":true,"id":1688},"textChunks":[{"__isSmartRef__":true,"id":1689}],"charsReplaced":"","lastFindLoc":5,"priorSelectionRange":[15,15],"prevScroll":[0,0],"_ClipMode":"visible","list":[],"attributeConnections":[{"__isSmartRef__":true,"id":1691}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"listMorph":null,"_WhiteSpaceHandling":"pre-wrap","owner":null,"_Align":"left","eventHandler":{"__isSmartRef__":true,"id":1693},"_MinTextWidth":218,"_MinTextHeight":null,"scriptAnnotations":{"__isSmartRef__":true,"id":1694},"selection":{"__isSmartRef__":true,"id":1},"previousSelection":[0,13],"isCopyMorphRef":true,"morphRefId":1,"isBeingDragged":false,"draggingEnabled":false,"layout":{"__isSmartRef__":true,"id":1713},"_Rotation":0,"_Scale":1,"savedTextString":"100","__serializedExpressions__":["_Position","textColor","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1714},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(200.0,10.0)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(153.9,-23.7)"},"1687":{"fill":null,"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":3.7000000000000006,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(220.0,20.0)","_BorderColor":"Color.rgb(192,192,192)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(244,244,244)"},"1688":{"partsSpaceName":"PartsBin/Inputs/","migrationLevel":2,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1689":{"style":{"__isSmartRef__":true,"id":1690},"chunkOwner":{"__isSmartRef__":true,"id":1686},"storedString":"","_id":"_1357","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1690":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1691":{"sourceObj":{"__isSmartRef__":true,"id":1686},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":2},"targetMethodName":"setTarget","converterString":"function (name) { return $world.get(name)}","updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1692},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1692":{"source":{"__isSmartRef__":true,"id":1686},"target":{"__isSmartRef__":true,"id":2}},"1693":{"morph":{"__isSmartRef__":true,"id":1686},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1694":{"createListMorph":{"__isSmartRef__":true,"id":1695},"displayTopLevelMorphs":{"__isSmartRef__":true,"id":1697},"onMouseUp":{"__isSmartRef__":true,"id":1699},"resetConnections":{"__isSmartRef__":true,"id":1701},"setTargetToListSelection":{"__isSmartRef__":true,"id":1703},"setTargetOfPane":{"__isSmartRef__":true,"id":1705},"onBlur":{"__isSmartRef__":true,"id":1707},"reset":{"__isSmartRef__":true,"id":1709},"onMouseDown":{"__isSmartRef__":true,"id":1711}},"1695":{"time":{"__isSmartRef__":true,"id":1696},"user":"lauritz"},"1696":{"isSerializedDate":true,"string":"Fri Oct 28 2011 05:27:29 GMT+0200 (CEST)"},"1697":{"time":{"__isSmartRef__":true,"id":1698},"user":"lauritz"},"1698":{"isSerializedDate":true,"string":"Fri Oct 14 2011 23:48:37 GMT+0200 (CEST)"},"1699":{"time":{"__isSmartRef__":true,"id":1700},"user":"lauritz"},"1700":{"isSerializedDate":true,"string":"Mon Oct 03 2011 18:51:14 GMT+0200 (CEST)"},"1701":{"time":{"__isSmartRef__":true,"id":1702},"user":"lauritz"},"1702":{"isSerializedDate":true,"string":"Wed Sep 28 2011 01:03:17 GMT+0200 (CEST)"},"1703":{"time":{"__isSmartRef__":true,"id":1704},"user":"lauritz"},"1704":{"isSerializedDate":true,"string":"Sat Oct 15 2011 00:00:58 GMT+0200 (CEST)"},"1705":{"time":{"__isSmartRef__":true,"id":1706},"user":"lauritz"},"1706":{"isSerializedDate":true,"string":"Mon Oct 03 2011 18:34:37 GMT+0200 (CEST)"},"1707":{"time":{"__isSmartRef__":true,"id":1708},"user":"lauritz"},"1708":{"isSerializedDate":true,"string":"Fri Oct 07 2011 19:24:18 GMT+0200 (CEST)"},"1709":{"time":{"__isSmartRef__":true,"id":1710},"user":"lauritz"},"1710":{"isSerializedDate":true,"string":"Fri Oct 07 2011 19:26:15 GMT+0200 (CEST)"},"1711":{"time":{"__isSmartRef__":true,"id":1712},"user":"lauritz"},"1712":{"isSerializedDate":true,"string":"Mon Oct 17 2011 19:49:00 GMT+0200 (CEST)"},"1713":{},"1714":{"getList":{"__isSmartRef__":true,"id":1715},"setList":{"__isSmartRef__":true,"id":1718},"reset":{"__isSmartRef__":true,"id":1721},"example":{"__isSmartRef__":true,"id":1724},"removeList":{"__isSmartRef__":true,"id":1727},"onBlur":{"__isSmartRef__":true,"id":1730},"createListMorph":{"__isSmartRef__":true,"id":1737},"resetConnections":{"__isSmartRef__":true,"id":1740},"displayTopLevelMorphs":{"__isSmartRef__":true,"id":1743},"setTargetToListSelection":{"__isSmartRef__":true,"id":1746},"setTargetOfPane":{"__isSmartRef__":true,"id":1749},"onMouseDown":{"__isSmartRef__":true,"id":1752}},"1715":{"varMapping":{"__isSmartRef__":true,"id":1716},"source":"function getList() {\n return this.world().indentedListItemsOfMorphNames();\n}","funcProperties":{"__isSmartRef__":true,"id":1717},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1716":{"this":{"__isSmartRef__":true,"id":1686}},"1717":{},"1718":{"varMapping":{"__isSmartRef__":true,"id":1719},"source":"function setList(list) {\n return this.list = list;\n}","funcProperties":{"__isSmartRef__":true,"id":1720},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1719":{"this":{"__isSmartRef__":true,"id":1686}},"1720":{},"1721":{"varMapping":{"__isSmartRef__":true,"id":1722},"source":"function reset() {\n this.list = [];\n this.textString = 'empty';\n this.removeList();\n this.resetConnections();\n this.applyStyle({fixedWidth: true, fixedHeight: true, borderWidth: 1, overflow: 'visible'})\n}","funcProperties":{"__isSmartRef__":true,"id":1723},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1722":{"this":{"__isSmartRef__":true,"id":1686}},"1723":{},"1724":{"varMapping":{"__isSmartRef__":true,"id":1725},"source":"function example() {\n/*\nthis.example()\nthis.getList()\n*/\n this.setList(Array.range(0,100));\n this.textString = 'empty';\n}","funcProperties":{"__isSmartRef__":true,"id":1726},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1725":{"this":{"__isSmartRef__":true,"id":1686}},"1726":{},"1727":{"varMapping":{"__isSmartRef__":true,"id":1728},"source":"function removeList() {\n this.listMorph && this.listMorph.remove()\n this.listMorph = null;\n}","funcProperties":{"__isSmartRef__":true,"id":1729},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1728":{"this":{"__isSmartRef__":true,"id":1686}},"1729":{},"1730":{"varMapping":{"__isSmartRef__":true,"id":1731},"source":"function onBlur() {\n $super();\n this.removeList();\n}","funcProperties":{"__isSmartRef__":true,"id":1736},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1731":{"this":{"__isSmartRef__":true,"id":1686},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1732}},"1732":{"$super":{"__isSmartRef__":true,"id":1733}},"1733":{"varMapping":{"__isSmartRef__":true,"id":1734},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1735},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1734":{"obj":{"__isSmartRef__":true,"id":1686},"name":"onBlur"},"1735":{},"1736":{},"1737":{"varMapping":{"__isSmartRef__":true,"id":1738},"source":"function createListMorph() {\n var list = new lively.morphic.List(new Rectangle(0,0, this.getExtent().x, 520));\n list.setList(this.getList());\n list.setFontSize(12);\n\n list.disableGrabbing();\n list.disableDragging();\n \n this.addMorph(list);\n list.setPosition(pt(0,0));\n\n connect(list, 'selection', this, 'setTargetToListSelection');\n \n return list;\n}","funcProperties":{"__isSmartRef__":true,"id":1739},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1738":{"this":{"__isSmartRef__":true,"id":1686}},"1739":{},"1740":{"varMapping":{"__isSmartRef__":true,"id":1741},"source":"function resetConnections() {\n disconnectAll(this);\n connect(this, 'savedTextString', this.owner, 'setTarget', {converter: \n\tfunction (name) { return $world.get(name)}});\n}","funcProperties":{"__isSmartRef__":true,"id":1742},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1741":{"this":{"__isSmartRef__":true,"id":1686}},"1742":{},"1743":{"varMapping":{"__isSmartRef__":true,"id":1744},"source":"function displayTopLevelMorphs() {\n if (this.listMorph) { this.removeList(); return true }\n var list = this.createListMorph(); \n this.addMorph(list);\n this.listMorph = list;\n}","funcProperties":{"__isSmartRef__":true,"id":1745},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1744":{"this":{"__isSmartRef__":true,"id":1686}},"1745":{},"1746":{"varMapping":{"__isSmartRef__":true,"id":1747},"source":"function setTargetToListSelection(selection) { \n this.removeList();\n if (!selection) return;\n if (this.owner.scriptPane.hasChanged()) {\n var that = this;\n var callback = function (confirmed) {\n if (confirmed) that.setTargetOfPane(selection);\n }\n this.owner.confirmUnsavedChanges(callback);\n } else {\n this.setTargetOfPane(selection);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1748},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1747":{"this":{"__isSmartRef__":true,"id":1686}},"1748":{},"1749":{"varMapping":{"__isSmartRef__":true,"id":1750},"source":"function setTargetOfPane(selection) {\n this.owner.setTarget(selection);\n this.setTextString(selection.getName());\n this.removeList();\n}","funcProperties":{"__isSmartRef__":true,"id":1751},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1750":{"this":{"__isSmartRef__":true,"id":1686}},"1751":{},"1752":{"varMapping":{"__isSmartRef__":true,"id":1753},"source":"function onMouseDown(evt) {\n if (evt.isCommandKey() || evt.isRightMouseButtonDown()) return $super(evt);\n if (this.listMorph) {\n return false;\n } else {\n this.displayTopLevelMorphs();\n return true;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1758},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1753":{"this":{"__isSmartRef__":true,"id":1686},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1754}},"1754":{"$super":{"__isSmartRef__":true,"id":1755}},"1755":{"varMapping":{"__isSmartRef__":true,"id":1756},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1757},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1756":{"obj":{"__isSmartRef__":true,"id":1686},"name":"onMouseDown"},"1757":{},"1758":{},"1759":{"morph":{"__isSmartRef__":true,"id":9},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1760":{"sortedScriptNamesOfObj":{"__isSmartRef__":true,"id":1761},"setTarget":{"__isSmartRef__":true,"id":1764},"generateSourceForScript":{"__isSmartRef__":true,"id":1767},"generateSourceForConnection":{"__isSmartRef__":true,"id":1770},"generateTargetCode":{"__isSmartRef__":true,"id":1773},"sortedConnectionNamesOfObj":{"__isSmartRef__":true,"id":1776},"displayJavaScriptSource":{"__isSmartRef__":true,"id":1779},"displaySourceForScript":{"__isSmartRef__":true,"id":1782},"displaySourceForConnection":{"__isSmartRef__":true,"id":1785},"newScript":{"__isSmartRef__":true,"id":1788},"newConnection":{"__isSmartRef__":true,"id":1791},"deleteSelectedScript":{"__isSmartRef__":true,"id":1794},"disconnectConnection":{"__isSmartRef__":true,"id":1797},"updateLists":{"__isSmartRef__":true,"id":1800},"displayInitialScript":{"__isSmartRef__":true,"id":1803},"reset":{"__isSmartRef__":true,"id":1806},"selectChangedContent":{"__isSmartRef__":true,"id":1809}},"1761":{"varMapping":{"__isSmartRef__":true,"id":1762},"source":"function sortedScriptNamesOfObj(obj) {\n if (!Functions.own(obj) || Functions.own(obj).size() == 0) return [];\n return Functions.own(obj)\n\t.select(function(name) { return obj[name].hasLivelyClosure })\n\t.sortBy(function(name) { return name.toLowerCase() });\n}","funcProperties":{"__isSmartRef__":true,"id":1763},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1762":{"this":{"__isSmartRef__":true,"id":9}},"1763":{},"1764":{"varMapping":{"__isSmartRef__":true,"id":1765},"source":"function setTarget(morph) {\n this.reset();\n module('lively.ide.SyntaxHighlighting').load(true);\n this.target = morph;\n this.morphSelector.textString = (this.target.getName() || this.target.toString());\n this.scriptPane.doitContext = this.target;\n this.updateLists();\n this.displayInitialScript();\n}","funcProperties":{"__isSmartRef__":true,"id":1766},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1765":{"this":{"__isSmartRef__":true,"id":9}},"1766":{},"1767":{"varMapping":{"__isSmartRef__":true,"id":1768},"source":"function generateSourceForScript(scriptName) {\n var script = this.target[scriptName].getOriginal();\n return Strings.format('this.addScript(%s);' ,script)\n}","funcProperties":{"__isSmartRef__":true,"id":1769},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1768":{"this":{"__isSmartRef__":true,"id":9}},"1769":{},"1770":{"varMapping":{"__isSmartRef__":true,"id":1771},"source":"function generateSourceForConnection(connection) {\n var c = connection, targetObject = this.target;\n\tif (!c.getTargetObj() || !c.getTargetObj().name || \n\t\t!c.getSourceObj() || !c.getSourceObj().name) return String(c);\n\n\tvar optConfig = []\n\tif (c.converterString)\n\t\toptConfig.push(\"converter: \\n\\t\" + c.converterString)\n\tif (c.updaterString)\n\t\toptConfig.push(\"updater: \\n\\t\" + c.updaterString)\n\treturn Strings.format('connect(%s, \"%s\", %s, \"%s\", {%s});', \n\t\t\tthis.generateTargetCode(targetObject, c.getSourceObj()),\n\t\t\tc.getSourceAttrName(),\n\t\t\tthis.generateTargetCode(targetObject, c.getTargetObj()),\n\t\t\tc.getTargetMethodName(),\n\t\t\toptConfig.join(','));\n\n}","funcProperties":{"__isSmartRef__":true,"id":1772},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1771":{"this":{"__isSmartRef__":true,"id":9}},"1772":{},"1773":{"varMapping":{"__isSmartRef__":true,"id":1774},"source":"function generateTargetCode(baseObject, targetObject) {\n\tvar name = targetObject.name;\n\tif (baseObject === targetObject) \n\t\treturn \"this\";\n\telse if (baseObject[name] === targetObject) \n\t\treturn \"this.\" + name;\n\telse if (baseObject.testObject === targetObject) \n\t\treturn \"this.testObject\";\n\telse if (baseObject.get(name) === targetObject) \n\t\treturn 'this.get(\"' + name + '\")';\n\telse if (targetObject instanceof Morph) \n\t\treturn '$morph(\"' + name + '\")';\n\telse \n\t\treturn \"????\";\n}","funcProperties":{"__isSmartRef__":true,"id":1775},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1774":{"this":{"__isSmartRef__":true,"id":9}},"1775":{},"1776":{"varMapping":{"__isSmartRef__":true,"id":1777},"source":"function sortedConnectionNamesOfObj(obj) {\n if (\"attributeConnections\" in obj) {\n return obj.attributeConnections\n .sortBy(function(each) {return name.toLowerCase() })\n .collect(function(each) {return [each.getSourceAttrName(), each]});\n } else {\n return [];\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1778},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1777":{"this":{"__isSmartRef__":true,"id":9}},"1778":{},"1779":{"varMapping":{"__isSmartRef__":true,"id":1780},"source":"function displayJavaScriptSource(jsCode) {\n this.scriptPane.setTextString(jsCode);\n this.scriptPane.highlightJavaScriptSyntax();\n}","funcProperties":{"__isSmartRef__":true,"id":1781},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1780":{"this":{"__isSmartRef__":true,"id":9}},"1781":{},"1782":{"varMapping":{"__isSmartRef__":true,"id":1783},"source":"function displaySourceForScript(scriptName) {\n if (!scriptName) return;\n var code = \"\", that = this;\n if (scriptName === \"-- ALL --\") {\n this.sortedScriptNamesOfObj(this.target).forEach(function(each) {\n code = code.concat(that.generateSourceForScript(each)).concat(\"\\n\\n\");\n });\n } else {\n code = this.generateSourceForScript(scriptName); \n }\n this.displayJavaScriptSource(code);\n}","funcProperties":{"__isSmartRef__":true,"id":1784},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1783":{"this":{"__isSmartRef__":true,"id":9}},"1784":{},"1785":{"varMapping":{"__isSmartRef__":true,"id":1786},"source":"function displaySourceForConnection(connection) {\n if (!connection) return;\n var code = \"\", that = this;\n if ((typeof connection === \"string\") && connection === \"-- ALL --\") {\n this.sortedConnectionNamesOfObj(this.target).forEach(function(each) {\n code = code.concat(that.generateSourceForConnection(each[1])).concat(\"\\n\\n\");\n })\n } else {\n code = this.generateSourceForConnection(connection);\n }\n this.displayJavaScriptSource(code);\n}","funcProperties":{"__isSmartRef__":true,"id":1787},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1786":{"this":{"__isSmartRef__":true,"id":9}},"1787":{},"1788":{"varMapping":{"__isSmartRef__":true,"id":1789},"source":"function newScript() {\n if (this.target) {\n var code = \"this.addScript(function SCRIPTNAME() {\\n\\t\\n});\";\n this.displayJavaScriptSource(code);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1790},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1789":{"this":{"__isSmartRef__":true,"id":9}},"1790":{},"1791":{"varMapping":{"__isSmartRef__":true,"id":1792},"source":"function newConnection() {\n if (this.target) {\n var code = \"connect(SOURCE, SOURCE_PROPERTY, TARGET, TARGET_PROPERTY);\";\n this.displayJavaScriptSource(code);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1793},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1792":{"this":{"__isSmartRef__":true,"id":9}},"1793":{},"1794":{"varMapping":{"__isSmartRef__":true,"id":1795},"source":"function deleteSelectedScript() {\n if (this.scriptList.selection && this.target) {\n if (!this.target.hasOwnProperty(this.scriptList.selection)) return;\n delete this.target[this.scriptList.selection];\n this.updateLists();\n this.displayInitialScript();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1796},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1795":{"this":{"__isSmartRef__":true,"id":9}},"1796":{},"1797":{"varMapping":{"__isSmartRef__":true,"id":1798},"source":"function disconnectConnection() {\n var selection = this.connectionList.selection;\n if (selection && \n (typeof selection !== \"string\") &&\n this.target.attributeConnections.indexOf(selection[1]) > -1) {\n var c = this.connectionList.selection[1];\n disconnect(c.sourceObj, c.sourceAttrName, c.targetObj, c.targetMethodName);\n this.updateLists();\n this.displayInitialScript();\n } \n}","funcProperties":{"__isSmartRef__":true,"id":1799},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1798":{"this":{"__isSmartRef__":true,"id":9}},"1799":{},"1800":{"varMapping":{"__isSmartRef__":true,"id":1801},"source":"function updateLists() {\n this.scriptList.setList(this.sortedScriptNamesOfObj(this.target));\n var scriptListItems = this.scriptList.getList();\n scriptListItems.unshift(\"-- ALL --\");\n this.scriptList.setList(scriptListItems);\n\n this.connectionList.setList(this.sortedConnectionNamesOfObj(this.target));\n var connectionListItems = this.connectionList.getList();\n connectionListItems.unshift(\"-- ALL --\");\n this.connectionList.setList(connectionListItems);\n}","funcProperties":{"__isSmartRef__":true,"id":1802},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1801":{"this":{"__isSmartRef__":true,"id":9}},"1802":{},"1803":{"varMapping":{"__isSmartRef__":true,"id":1804},"source":"function displayInitialScript() {\n if (this.scriptList.getList().size() > 1) {\n this.scriptList.selectAt(0);\n } else if (this.connectionList.getList().size() > 1) {\n this.connectionList.selectAt(0);\n } else {\n this.scriptList.selectAt(0);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1805},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1804":{"this":{"__isSmartRef__":true,"id":9}},"1805":{},"1806":{"varMapping":{"__isSmartRef__":true,"id":1807},"source":"function reset() {\n this.target = null;\n this.scriptPane.doitContext = null;\n this.scriptList.setList();\n this.connectionList.setList();\n this.scriptPane.setTextString(\"\");\n this.morphSelector.reset();\n}","funcProperties":{"__isSmartRef__":true,"id":1808},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1807":{"this":{"__isSmartRef__":true,"id":9}},"1808":{},"1809":{"varMapping":{"__isSmartRef__":true,"id":1810},"source":"function selectChangedContent(source) {\n\n var addScriptRegex = /this\\.addScript\\s*\\(\\s*function\\s*([^\\(]*)/g;\n var addScriptMatches = [];\n var addScriptMatch = addScriptRegex.exec(source);\n while (addScriptMatch) {\n addScriptMatches.push(addScriptMatch[1]);\n addScriptMatch = addScriptRegex.exec(source);\n }\n \n // if scripts were added, select either a specific one or all\n if (addScriptMatches.length > 0) { \n if (addScriptMatches.length === 1) {\n var index = this.scriptList.getList().indexOf(addScriptMatches[0]);\n if (index > -1) { \n return this.scriptList.selectAt(index);\n }\n }\n return this.scriptList.selectAt(0);\n }\n\n var connectionRegex = \n /connect\\(\\s*([^,]*)\\s*,\\s*\"([^,]*)\"\\s*,\\s*([^,]*)\\s*,\\s*\"([^,]*)\"/g;\n var connectionMatches = [];\n var connectionMatch = connectionRegex.exec(source);\n while (connectionMatch) {\n connectionMatches.push(connectionMatch);\n connectionMatch = connectionRegex.exec(source);\n }\n\n // if connections were made, select either a specific one or all\n if (connectionMatches.length > 0) {\n if (connectionMatches.length === 1) {\n var match = connectionMatches[0];\n for (var i=0; i -1) {\n var c = selection[1];\n disconnect(c.sourceObj, c.sourceAttrName, c.targetObj, c.targetMethodName);\n editor.updateLists();\n editor.displayInitialScript();\n } \n }\n\n var message = 'Disconnect \"' + selection[0] +'\" connection?';\n var callback = disconnectConnection;\n\n var dialog = new lively.morphic.ConfirmDialog(message, callback);\n\n return this.world().openDialog(dialog);\n}","funcProperties":{"__isSmartRef__":true,"id":1905},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1904":{"this":{"__isSmartRef__":true,"id":1879}},"1905":{"timestamp":{"__isSmartRef__":true,"id":1906},"user":"lauritz","categories":[]},"1906":{"isSerializedDate":true,"string":"Fri Nov 11 2011 01:46:54 GMT+0100 (CET)"},"1907":{"submorphs":[{"__isSmartRef__":true,"id":1908}],"scripts":[],"id":"D08770FE-356E-428C-8D33-5A5F0E95CAA2","shape":{"__isSmartRef__":true,"id":1914},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1920},"lighterFill":{"__isSmartRef__":true,"id":1925},"label":{"__isSmartRef__":true,"id":1908},"attributeConnections":[{"__isSmartRef__":true,"id":1930}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"showsHalos":false,"name":"ObjectEditorRemoveScriptButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":1932},"owner":{"__isSmartRef__":true,"id":2},"eventHandler":{"__isSmartRef__":true,"id":1933},"isCopyMorphRef":true,"morphRefId":24,"draggingEnabled":false,"objectEditorPane":{"__isSmartRef__":true,"id":2},"derivationIds":[217,"FDC10087-12CF-4570-9211-8309CB6A9AA3","E18FC530-4B1F-4F08-8DA6-3866A3519E56","04A2AAC3-6A9E-40BB-9408-EBB2567EE63B","8C1A42CE-840C-4AAE-BD79-C93A445B9EBF","61FC11FA-B87E-4EFE-BD15-564D3178B68B","ED34F9B5-9E00-41B3-8313-D9C3D6B3B231","A7481F4B-D444-4B4F-BDA2-4F9F03AEC24D","7DDF7175-34FC-4521-A7C3-580A8BE63351","DEA39C05-FAD7-4882-AB3D-0EE12C3408F9","99186A50-1411-4B6F-B1CB-FF0742C20D7D","10F3E467-6BB8-4D07-BD17-8C50593FD6B8","7260818C-6472-4288-8BDD-1E7798A543F3","DEBB5BDB-018D-4BA1-9FB9-73DC84C51D89","D75BCAED-3029-46EB-B944-4A102BB1BC0F","9A977DA2-B325-4DFA-9683-3DC9ECEFAAC0","48A5078F-B4A5-4F4E-884D-84CCDFFBE6F0","33905494-AA01-4311-8398-1F6C3D4F1BAC","5D7201A7-1374-49AD-851F-E3167EFED99E","9B69B6C6-71F2-402E-89D1-E97FC2D3AE13","DA1B3A74-F4A6-427B-8FBD-3D2E9D8CD866","DBFC4A4F-8601-4C32-9460-53902C3B0F37","ED51CA7C-CE32-4CF5-9398-0BA9B791FF5E","4F7A7C1A-3788-478C-AFF5-BA62C7FCB01D","FCEFF15E-E5B8-4C7E-A139-302649441119","3674B8DC-F4E5-4A5C-ACEC-96D743BB6050","33E0336F-FD6A-4AAB-AECB-B7D6C7C80631","761015EE-47CF-40F6-A403-8A959B2DB0A6","361B531D-7A1C-441A-BE8B-0B503543FF6C","E283DDFD-1D8F-4E3D-A0BC-40C30221FFDC","0EC23EA3-7B34-429A-922D-5D139F127D1E"],"_ClipMode":"visible","_Rotation":0,"_Scale":1,"isPressed":false,"__serializedExpressions__":["_Position","padding","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1934},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(160.0,40.0)","padding":"lively.rect(5,0,0,0)","distanceToDragEvent":"lively.pt(33.4,-21.3)"},"1908":{"submorphs":[],"scripts":[],"id":"124E6983-11B8-48C7-AFDD-D3318E6BC8C5","shape":{"__isSmartRef__":true,"id":1909},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":25,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"owner":{"__isSmartRef__":true,"id":1907},"eventsAreIgnored":true,"textChunks":[{"__isSmartRef__":true,"id":1910}],"prevScroll":[0,0],"_FontFamily":"Helvetica, Sans-Serif","_ClipMode":"hidden","_WhiteSpaceHandling":"pre-wrap","_Align":"center","eventHandler":{"__isSmartRef__":true,"id":1912},"_HandStyle":"default","_PointerEvents":"none","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"_MinTextWidth":25,"_MinTextHeight":null,"draggingEnabled":false,"derivationIds":[218,"852A7BD9-52EE-4708-A2D5-1BDECF33C958","7B4F173E-9726-472A-9B30-530D4AA92AD9","CBA217F6-2832-4213-9ABE-47753C1A4180","E6B97D1D-95D5-4644-9359-1D08D42A51F4","4391A57E-70C2-4628-9828-DD668CCE546E","F0C6C298-3B8B-42B2-B5E9-E5B82F607B01","DF0CAF75-4247-4797-B1A0-AD7444391E2A","B4C4F09B-F663-47A1-B85F-461D5452F5F8","FD966AB1-4685-4151-9A38-B1B21B0237EF","CA91FC2C-D7CC-4123-AFD2-108F8F0C2E97","88F1581A-7AEF-4646-B7F9-3890CDDB8494","DC577877-7F00-4238-9246-08C2A10C0CC9","818C9467-71A2-44D6-B01F-1523A0CD5476","C0CF3DDB-AA12-49E0-B12A-6B620552BB47","853E19A1-E97D-463D-A24F-0148671EB696","0203CA4C-E523-4F7D-824B-F09BA3914BDD","18B98A59-6C8E-4386-B3EF-A17259C51C0F","24D84E0A-FA16-47DE-934D-E60729EEB227","7035F1EB-4B8C-4F20-B3AC-966403F55C0A","69831817-0662-4848-8481-44558987D21D","BA13E4C6-DF2A-4059-9174-7725FA3FE514","3E989A29-2A8F-4AFE-B312-A0852B746605","7B675033-945D-4AE1-B85F-DBD35C7B02AA","E0D76A08-70F9-4710-907E-B2D83D60D29A","495F5D43-B450-45B7-B238-FC12AA8F6488","B551041D-4E6E-44F3-8405-1DCE5344BCCD","0A287650-EC32-45AA-8504-0513B196727F","717B0EFA-1422-4224-9A53-5A494F6191A4","C86C167E-8A7D-43BE-AFED-AAEDA70B95EE","97247E8A-2818-4B44-BCDD-348126BD380C"],"_Scale":1,"_WordBreak":"break-all","__serializedExpressions__":["_Position","textColor","padding","_Padding","_TextColor"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":1913},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","textColor":"Color.rgb(0,0,0)","padding":"lively.rect(5,0,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"1909":{"borderWidth":0,"fill":null,"_ClipMode":"hidden","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(25.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"1910":{"style":{"__isSmartRef__":true,"id":1911},"chunkOwner":{"__isSmartRef__":true,"id":1908},"storedString":"-","_id":"_1363","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1911":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1912":{"morph":{"__isSmartRef__":true,"id":1908},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1913":{"requiredModules":[],"idOnLoad":"124E6983-11B8-48C7-AFDD-D3318E6BC8C5","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1914":{"_Fill":{"__isSmartRef__":true,"id":1915},"_BorderWidth":1,"_BorderRadius":5,"_ClipMode":"visible","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(25.0,20.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"1915":{"stops":[{"__isSmartRef__":true,"id":1916},{"__isSmartRef__":true,"id":1917},{"__isSmartRef__":true,"id":1918},{"__isSmartRef__":true,"id":1919}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1916":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1917":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"1918":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"1919":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"1920":{"stops":[{"__isSmartRef__":true,"id":1921},{"__isSmartRef__":true,"id":1922},{"__isSmartRef__":true,"id":1923},{"__isSmartRef__":true,"id":1924}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1921":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1922":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1923":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1924":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"1925":{"stops":[{"__isSmartRef__":true,"id":1926},{"__isSmartRef__":true,"id":1927},{"__isSmartRef__":true,"id":1928},{"__isSmartRef__":true,"id":1929}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1926":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1927":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1928":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1929":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1930":{"sourceObj":{"__isSmartRef__":true,"id":1907},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1907},"targetMethodName":"deleteSelectedScript","converterString":null,"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":1931},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1931":{"source":{"__isSmartRef__":true,"id":1907},"target":{"__isSmartRef__":true,"id":1907}},"1932":{"partsSpaceName":"PartsBin/Inputs/","migrationLevel":2,"comment":"Simple button. Connect to 'fire' to trigger actions when the button is pressed.","idOnLoad":"D08770FE-356E-428C-8D33-5A5F0E95CAA2","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1933":{"morph":{"__isSmartRef__":true,"id":1907},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1934":{"deleteSelectedScript":{"__isSmartRef__":true,"id":1935}},"1935":{"varMapping":{"__isSmartRef__":true,"id":1936},"source":"function deleteSelectedScript() {\n\n var editor = this.objectEditorPane;\n var selection = editor.scriptList.selection;\n\n if (!editor.target || editor.scriptList.getList().size() < 2) \n return; \n\n var deleteScript = function (confirmed) {\n if (!confirmed) return;\n \n if (selection && editor.target) {\n if (!editor.target.hasOwnProperty(selection)) \n return;\n delete editor.target[selection];\n editor.updateLists();\n editor.displayInitialScript();\n }\n }\n\n var message = 'Delete \"' + selection + '\" script?';\n var callback = deleteScript;\n\n var dialog = new lively.morphic.ConfirmDialog(message, callback);\n\n return this.world().openDialog(dialog);\n}","funcProperties":{"__isSmartRef__":true,"id":1937},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1936":{"this":{"__isSmartRef__":true,"id":1907}},"1937":{"timestamp":{"__isSmartRef__":true,"id":1938},"user":"lauritz"},"1938":{"isSerializedDate":true,"string":"Thu Nov 17 2011 18:12:21 GMT+0100 (CET)"},"1939":{"submorphs":[{"__isSmartRef__":true,"id":1940}],"scripts":[],"id":"552F9871-C0B2-41C2-BEF6-D3EF67605B29","shape":{"__isSmartRef__":true,"id":1947},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1948},"lighterFill":{"__isSmartRef__":true,"id":1953},"label":{"__isSmartRef__":true,"id":1940},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"showsHalos":false,"name":"ObjectEditorMorphSelector","partsBinMetaInfo":{"__isSmartRef__":true,"id":1958},"list":[],"eventHandler":{"__isSmartRef__":true,"id":1959},"owner":{"__isSmartRef__":true,"id":2},"textString":"","selection":{"__isSmartRef__":true,"id":1960},"_ClipMode":"visible","prevScroll":[0,0],"derivationIds":[221,"4AC64FBA-95AC-42B2-A078-B6DA97889093","E26ED0E6-C4CE-4C82-94D5-175270E8459E","D292F2FC-C2B6-48AE-B779-8CC5868FFA49","53A862EB-032C-4BF0-9B21-58C7E0C0A9B2","CC4D188B-510F-48DE-A0E1-EC8D2CD63F9F","0CD057F2-3517-4849-A69E-1EF79B05ACE8","66EBBB7D-8FA7-4D43-AE78-A18DA3B970BA","A50C1893-4138-4E29-865B-92F53F76D08A","1EC5D2B9-3539-419A-8DD6-CE82DEABB02C","95DC06D5-F4C7-49E2-8A01-110D1B0AFBD0","672DEFAB-2BE5-4C60-9779-3B44694FBEB1","E3476213-5872-492C-BE29-0C6A5A150ED8","AA2F6ABE-1CCB-403D-94DD-8FB371F3DDCE","54B67D51-AB19-40A0-A2A6-EC51F3171CAC","1CF44342-896F-4ACB-847F-7CB3CD10ED5A","279A9257-1667-4E0C-844B-A4E0D02462F0","DDCBD835-4B3F-4B8F-9623-696DA76C3A2C","D2CB17F3-5DD0-4E97-BF99-40A95ABF976B","FA519665-2394-43D3-8DCF-802A158F3291","90519BB5-7419-46E0-B7E3-4C26304F3414","0B7FC23C-C63C-4F20-8BAF-1BD1B7205762","B54FAD70-E598-4B06-8F41-00843A06D4B0","5A8ECBD6-ADDE-43FA-8D9E-BC483898DF8A","69DD3160-FAD3-4AD8-9B1C-CB9229AD8034","2C8AD368-8815-41D5-8C8D-CD36ECCF4A96","80C5655D-B03D-413B-A84C-D59A60D8EEEC","BA8066E4-5B8E-4048-97C5-332953805999","E27E2CB2-789E-4269-B5E8-2631B5D2840B","0EDAA37B-E8BA-4DE7-820A-17A44E299F5C","81F15272-5E6E-4544-B6FE-96BDD357A17C"],"_Rotation":0,"_Scale":1,"isPressed":false,"__serializedExpressions__":["_Position","padding","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1966},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(200.1,10.0)","padding":"lively.rect(5,0,0,0)","distanceToDragEvent":"lively.pt(122.9,-11.6)"},"1940":{"submorphs":[],"scripts":[],"id":"3B687BEB-B6DA-4974-AB81-F1B9B8BB6E2C","shape":{"__isSmartRef__":true,"id":1941},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":220,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"owner":{"__isSmartRef__":true,"id":1939},"eventsAreIgnored":true,"textChunks":[{"__isSmartRef__":true,"id":1942}],"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":1944}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"eventHandler":{"__isSmartRef__":true,"id":1945},"_HandStyle":"default","_PointerEvents":"none","_ClipMode":"hidden","_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":220,"_MinTextHeight":null,"_Align":"left","_FontFamily":"Arial","_FontSize":10,"derivationIds":[222,"30F054A3-7658-405B-8098-B7D87AA8A9ED","556D6E07-45B7-42EC-A486-DE275EF0B034","06B0B080-467A-46CC-8B0D-9C0A9B9A71F1","5E2D96C9-BB9B-4735-8673-A79847435197","B48AA022-2022-4A2A-9090-4D884FB3DFD3","8B2F743A-98C5-45E1-B03C-5019114EAC47","D09C56C3-A2DC-4BDF-B8A1-6365138ECD01","74158C3D-B79E-43E7-B111-48701B10ACE2","B19E117B-E40F-4B9F-86AC-BFB2AAFD5336","4E3B3D72-E52C-44ED-AE32-78939BA1ECFD","2459D1F0-E49C-4882-AB4C-D78C1A496962","3D8D3B02-0459-45C1-A606-D0DB4B07958C","78AAE288-D261-4BEA-9436-C8C31B890B44","2E10F795-9892-4BF7-9A46-BCB90FD6112E","DE32EFA9-C920-42F6-9F2E-7EDABEC006AF","23FBFC79-1927-48FD-8C1C-09FFD7539784","3409506C-9BAE-43DA-BCAF-94392F9646DF","ED94289E-98FC-4126-9EED-25FDC98D5BFC","63C2F1D8-3A1B-464B-9945-1F661D4CFE26","782AAB82-32E9-4A37-9DC0-3118636C2CCE","D564B3C8-D9B5-4D7D-80DD-16715ED878F6","D9344242-9F26-4A5D-B86D-6FAEA43B439C","E7E3A5EE-8F82-4F04-9E65-771E2E4AC9D1","55BF0D1C-FCDF-4D8B-9E42-8EF0F36074A3","B3BE05E0-5704-45B4-8B1D-E7FDA5CE6235","9A503124-0F1D-4390-B668-E4457CBC1376","26D1AD85-C129-4C24-A16A-B6863FC35F41","7425ED3B-1418-47C8-A2EE-52CDF3C4D860","C4B9C269-4F6E-4EA2-A6EA-38C21A011591","952BC06E-5007-4618-9289-931E66292E9D"],"_Scale":1,"_WordBreak":"break-all","__serializedExpressions__":["_Position","textColor","padding","_Padding","_TextColor"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":1946},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(2.0,1.0)","textColor":"Color.rgb(0,0,0)","padding":"lively.rect(5,0,0,0)","_Padding":"lively.rect(5,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"1941":{"borderWidth":0,"fill":null,"_ClipMode":"hidden","_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(220.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"1942":{"style":{"__isSmartRef__":true,"id":1943},"chunkOwner":{"__isSmartRef__":true,"id":1940},"_id":"_22920","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1943":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1944":{"sourceObj":{"__isSmartRef__":true,"id":1940},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":1939},"targetMethodName":"selection","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"1945":{"morph":{"__isSmartRef__":true,"id":1940},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1946":{"requiredModules":[],"idOnLoad":"3B687BEB-B6DA-4974-AB81-F1B9B8BB6E2C","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1947":{"_Fill":{"__isSmartRef__":true,"id":1948},"_BorderWidth":1,"_BorderRadius":5,"_ClipMode":"visible","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(220.0,20.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"1948":{"stops":[{"__isSmartRef__":true,"id":1949},{"__isSmartRef__":true,"id":1950},{"__isSmartRef__":true,"id":1951},{"__isSmartRef__":true,"id":1952}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1949":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"1950":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1951":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"1952":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"1953":{"stops":[{"__isSmartRef__":true,"id":1954},{"__isSmartRef__":true,"id":1955},{"__isSmartRef__":true,"id":1956},{"__isSmartRef__":true,"id":1957}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"1954":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"1955":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1956":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"1957":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"1958":{"partsSpaceName":"PartsBin/Inputs/","migrationLevel":2,"partName":"ChoiceButton","comment":"Click on it and you get a list of things to choose from.","idOnLoad":"552F9871-C0B2-41C2-BEF6-D3EF67605B29","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1959":{"morph":{"__isSmartRef__":true,"id":1939},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1960":{"submorphs":[],"scripts":[],"id":181,"shape":{"__isSmartRef__":true,"id":1961},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":580,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":28,"name":"Title","partsBinMetaInfo":{"__isSmartRef__":true,"id":1962},"textChunks":[{"__isSmartRef__":true,"id":1963}],"eventHandler":{"__isSmartRef__":true,"id":1965},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"_MinTextWidth":580,"_MinTextHeight":null,"_Rotation":0,"_Scale":1.002003004005006,"previousSelection":[35,35],"priorSelectionRange":[23,23],"charsReplaced":"WIP / Proof of Concept","lastFindLoc":22,"_ClipMode":"visible","_WhiteSpaceHandling":"pre-wrap","isCopyMorphRef":true,"morphRefId":2,"prevScroll":[0,0],"__serializedExpressions__":["_Position","textColor","_TextColor","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(37.0,23.0)","textColor":"Color.rgb(0,0,0)","_TextColor":"Color.rgb(0,79,152)","distanceToDragEvent":"lively.pt(221.0,-12.0)"},"1961":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(580.0,43.0)","_BorderColor":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"1962":{"partsSpaceName":"PartsBin/Worlds/","comment":"For example a world title.","partName":"Title","migrationLevel":2,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"1963":{"style":{"__isSmartRef__":true,"id":1964},"chunkOwner":{"__isSmartRef__":true,"id":1960},"storedString":"","_id":"_1365","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1964":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"1965":{"morph":{"__isSmartRef__":true,"id":1960},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1966":{"reset":{"__isSmartRef__":true,"id":1967},"onMouseDown":{"__isSmartRef__":true,"id":1971},"onBlur":{"__isSmartRef__":true,"id":1979},"createScenePresentation":{"__isSmartRef__":true,"id":1987},"presentTargetChooser":{"__isSmartRef__":true,"id":1991},"removeTargetChooser":{"__isSmartRef__":true,"id":1995},"removeHighlight":{"__isSmartRef__":true,"id":1999},"highlightCurrentTarget":{"__isSmartRef__":true,"id":2003},"updateTargetFromSelection":{"__isSmartRef__":true,"id":2007},"currentMorphicScene":{"__isSmartRef__":true,"id":2011},"highlightTarget":{"__isSmartRef__":true,"id":2015},"setLabel":{"__isSmartRef__":true,"id":2019},"updateTargetFromOwner":{"__isSmartRef__":true,"id":2027}},"1967":{"varMapping":{"__isSmartRef__":true,"id":1968},"source":"function reset() {\n this.removeTargetChooser();\n this.setLabel('empty');\n this.applyStyle({fixedWidth: true, fixedHeight: true, borderWidth: 1, overflow: 'visible'});\n}","funcProperties":{"__isSmartRef__":true,"id":1969},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1968":{"this":{"__isSmartRef__":true,"id":1939}},"1969":{"timestamp":{"__isSmartRef__":true,"id":1970},"user":"lauritz","tags":[]},"1970":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:04:57 GMT+0200 (CEST)"},"1971":{"varMapping":{"__isSmartRef__":true,"id":1972},"source":"function onMouseDown(evt) {\n if (evt.isCommandKey() || evt.isRightMouseButtonDown()) {\n return $super(evt);\n }\n \n if (this.listMorph) {\n // clicked on morph, not the list, not the list's scrollbar\n if (evt.target === this.renderContext().shapeNode)\n this.removeTargetChooser();\n } else {\n this.presentTargetChooser();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1977},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1972":{"this":{"__isSmartRef__":true,"id":1939},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1973}},"1973":{"$super":{"__isSmartRef__":true,"id":1974}},"1974":{"varMapping":{"__isSmartRef__":true,"id":1975},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1976},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1975":{"obj":{"__isSmartRef__":true,"id":1939},"name":"onMouseDown"},"1976":{},"1977":{"timestamp":{"__isSmartRef__":true,"id":1978},"user":"lauritz","tags":[]},"1978":{"isSerializedDate":true,"string":"Fri Aug 03 2012 12:44:10 GMT+0200 (CEST)"},"1979":{"varMapping":{"__isSmartRef__":true,"id":1980},"source":"function onBlur(evt) {\n $super(evt);\n \n // remove the scene presentation when clicked elsewhere\n var target = evt.world.clickedOnMorph;\n if (!this.listMorph || !this.listMorph.isAncestorOf(target)) {\n this.removeTargetChooser();\n } else {\n this.focus();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":1985},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1980":{"this":{"__isSmartRef__":true,"id":1939},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":1981}},"1981":{"$super":{"__isSmartRef__":true,"id":1982}},"1982":{"varMapping":{"__isSmartRef__":true,"id":1983},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":1984},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1983":{"obj":{"__isSmartRef__":true,"id":1939},"name":"onBlur"},"1984":{},"1985":{"timestamp":{"__isSmartRef__":true,"id":1986},"user":"lauritz","tags":[]},"1986":{"isSerializedDate":true,"string":"Fri Aug 03 2012 13:29:05 GMT+0200 (CEST)"},"1987":{"varMapping":{"__isSmartRef__":true,"id":1988},"source":"function createScenePresentation() {\n var that = this,\n items = this.currentMorphicScene(),\n height = this.owner.getExtent().y,\n bounds = new Rectangle(0, this.getExtent().y, this.getExtent().x * 2, height),\n treeMorph = new lively.morphic.Tree(),\n rect = lively.morphic.Morph.makeRectangle(bounds),\n currentTarget = null;\n \n treeMorph.childrenPerPage = 10000;\n treeMorph.setName(\"MorphSelectorTree\");\n treeMorph.getLayouter().defer();\n treeMorph.setItem(items);\n treeMorph.childNodes.each(function (n) {\n n.expand();\n })\n \n currentTarget = this.highlightCurrentTarget(treeMorph);\n \n rect.setFill(Color.white);\n rect.beClip(true);\n rect.disableGrabbing();\n rect.disableDragging();\n rect.setBorderWidth(1);\n rect.setBorderColor(Color.rgb(150,150,150));\n rect.addMorph(treeMorph);\n rect.treeMorph = treeMorph;\n rect.currentTarget = currentTarget;\n\n return rect;\n}","funcProperties":{"__isSmartRef__":true,"id":1989},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1988":{"this":{"__isSmartRef__":true,"id":1939}},"1989":{"timestamp":{"__isSmartRef__":true,"id":1990},"user":"lauritz","tags":[]},"1990":{"isSerializedDate":true,"string":"Fri Aug 03 2012 13:29:56 GMT+0200 (CEST)"},"1991":{"varMapping":{"__isSmartRef__":true,"id":1992},"source":"function presentTargetChooser() {\n var list = this.createScenePresentation(),\n tree = list.treeMorph,\n target = list.currentTarget\n \n list.setVisible(false)\n this.addMorph(list)\n this.listMorph = list\n list.focus()\n\n // need temp here, doesn't work otherwise, strange errors... Javascript WAT\n var layouting = function() {\n list.setVisible(true)\n \n if (target) {\n var globalTransform = new lively.morphic.Similitude()\n for (var morph = target; (morph != list) && \n (morph != undefined); morph = morph.owner) {\n globalTransform.preConcatenate(morph.getTransform());\n } \n \n list.scrollRectIntoView(target.getBounds().\n translatedBy(globalTransform.getTranslation()));\n tree.getLayouter().resume();\n }\n }\n layouting.morphicDelay(1);\n}","funcProperties":{"__isSmartRef__":true,"id":1993},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1992":{"this":{"__isSmartRef__":true,"id":1939}},"1993":{"timestamp":{"__isSmartRef__":true,"id":1994},"user":"lauritz","tags":[]},"1994":{"isSerializedDate":true,"string":"Fri Aug 03 2012 13:13:22 GMT+0200 (CEST)"},"1995":{"varMapping":{"__isSmartRef__":true,"id":1996},"source":"function removeTargetChooser() {\n if (this.listMorph) {\n this.listMorph.remove();\n delete this.listMorph; \n }\n}","funcProperties":{"__isSmartRef__":true,"id":1997},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"1996":{"this":{"__isSmartRef__":true,"id":1939}},"1997":{"timestamp":{"__isSmartRef__":true,"id":1998},"user":"lauritz","tags":[]},"1998":{"isSerializedDate":true,"string":"Fri Aug 03 2012 12:43:38 GMT+0200 (CEST)"},"1999":{"varMapping":{"__isSmartRef__":true,"id":2000},"source":"function removeHighlight(node) {\n node.submorphs[0].setFill(Color.rgb(255,255,255))\n}","funcProperties":{"__isSmartRef__":true,"id":2001},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2000":{"this":{"__isSmartRef__":true,"id":1939}},"2001":{"timestamp":{"__isSmartRef__":true,"id":2002},"user":"lauritz","tags":[]},"2002":{"isSerializedDate":true,"string":"Fri Aug 03 2012 13:32:15 GMT+0200 (CEST)"},"2003":{"varMapping":{"__isSmartRef__":true,"id":2004},"source":"function highlightCurrentTarget(tree) {\n var target = this.owner.target,\n nodes = tree.childNodes,\n highlightNode;\n\n if (!target) {\n return\n } else if (target.isMorph) {\n var expandables = [target],\n nextOwner = target,\n currentNode\n while (nextOwner.owner) {\n expandables.push(nextOwner.owner)\n nextOwner = nextOwner.owner\n }\n expandables.reverse().each(function (m) {\n currentNode = nodes.detect(function (n) {\n return n.item.value === m;\n })\n if (currentNode) {\n nodes = currentNode.childNodes\n if (!nodes && currentNode.item.children) {\n currentNode.expand();\n nodes = currentNode.childNodes;\n }\n } else {\n return;\n }\n })\n if (currentNode && currentNode.item.value === target) {\n highlightNode = currentNode;\n }\n } else {\n var groupNodes = nodes.detect(function (n) {\n return n.item.value === 'groups';\n }).childNodes\n highlightNode = groupNodes.detect(function (n) {\n // group names are unique\n return n.item.value.name === target.name;\n })\n }\n\n if (highlightNode) {\n this.highlightTarget(highlightNode);\n }\n return highlightNode;\n}","funcProperties":{"__isSmartRef__":true,"id":2005},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2004":{"this":{"__isSmartRef__":true,"id":1939}},"2005":{"timestamp":{"__isSmartRef__":true,"id":2006},"user":"lauritz","tags":[]},"2006":{"isSerializedDate":true,"string":"Fri Aug 03 2012 13:31:39 GMT+0200 (CEST)"},"2007":{"varMapping":{"__isSmartRef__":true,"id":2008},"source":"function updateTargetFromSelection(selection) { \n var that = this;\n var update = function(confirmed) {\n if (confirmed) {\n that.owner.setTarget(selection);\n that.setLabel(selection.getName() || selection.toString());\n }\n }\n \n this.removeTargetChooser();\n if (this.owner.hasUnsavedChanges && this.owner.hasUnsavedChanges()) {\n this.owner.confirmUnsavedChanges(update);\n } else {\n update(true);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2009},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2008":{"this":{"__isSmartRef__":true,"id":1939}},"2009":{"timestamp":{"__isSmartRef__":true,"id":2010},"user":"lauritz","tags":[]},"2010":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:04:57 GMT+0200 (CEST)"},"2011":{"varMapping":{"__isSmartRef__":true,"id":2012},"source":"function currentMorphicScene() {\n var onSelect = function onSelect(tree) {\n this.selector.updateTargetFromSelection(this.value);\n }\n var properties = {\n editorPane: this.owner,\n selector: this\n }\n \n return {children: [{ \n name: 'World',\n value: this.world(),\n selector: this,\n onSelect: onSelect,\n children: this.world().submorphs.invoke('treeItemsOfMorphNames',\n {scripts: [onSelect],\n properties: properties,\n showUnnamed: true}).compact()\n }]};\n}","funcProperties":{"__isSmartRef__":true,"id":2013},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2012":{"this":{"__isSmartRef__":true,"id":1939}},"2013":{"timestamp":{"__isSmartRef__":true,"id":2014},"user":"lauritz","tags":[]},"2014":{"isSerializedDate":true,"string":"Fri Aug 03 2012 13:29:43 GMT+0200 (CEST)"},"2015":{"varMapping":{"__isSmartRef__":true,"id":2016},"source":"function highlightTarget(node) {\n node.submorphs[0].setFill(Color.rgb(218,218,218))\n}","funcProperties":{"__isSmartRef__":true,"id":2017},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2016":{"this":{"__isSmartRef__":true,"id":1939}},"2017":{"timestamp":{"__isSmartRef__":true,"id":2018},"user":"lauritz","tags":[]},"2018":{"isSerializedDate":true,"string":"Fri Aug 03 2012 13:32:12 GMT+0200 (CEST)"},"2019":{"varMapping":{"__isSmartRef__":true,"id":2020},"source":"function setLabel(label) {\n this.label.setTextString(label);\n this.label.setAlign('left');\n}","funcProperties":{"__isSmartRef__":true,"id":2025},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2020":{"this":{"__isSmartRef__":true,"id":1939},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2021}},"2021":{"$super":{"__isSmartRef__":true,"id":2022}},"2022":{"varMapping":{"__isSmartRef__":true,"id":2023},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2024},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2023":{"obj":{"__isSmartRef__":true,"id":1939},"name":"setLabel"},"2024":{},"2025":{"timestamp":{"__isSmartRef__":true,"id":2026},"user":"lauritz","tags":[]},"2026":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:04:31 GMT+0200 (CEST)"},"2027":{"varMapping":{"__isSmartRef__":true,"id":2028},"source":"function updateTargetFromOwner() {\n this.setLabel(this.owner.target);\n}","funcProperties":{"__isSmartRef__":true,"id":2029},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2028":{"this":{"__isSmartRef__":true,"id":1939}},"2029":{"timestamp":{"__isSmartRef__":true,"id":2030},"user":"lauritz","tags":[]},"2030":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:24:24 GMT+0200 (CEST)"},"2031":{"submorphs":[],"scripts":[],"id":"4BD0AB8A-6BFD-4786-871E-8872149E86F8","shape":{"__isSmartRef__":true,"id":2032},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":false,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":64.8979476392384,"showsHalos":false,"_FontSize":9,"name":"ObjectEditorScriptsText2","partsBinMetaInfo":{"__isSmartRef__":true,"id":2033},"textChunks":[{"__isSmartRef__":true,"id":2034}],"charsReplaced":"Scripts","lastFindLoc":-7,"priorSelectionRange":[0,7],"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":2036},"_WhiteSpaceHandling":"pre-wrap","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"_MinTextWidth":64.8979476392384,"_ClipMode":"visible","draggingEnabled":false,"eventsAreIgnored":true,"isCopyMorphRef":true,"morphRefId":27,"owner":{"__isSmartRef__":true,"id":2},"derivationIds":[224,"35EF8FE5-067D-45B6-AF21-77040F11D340","80DC09DD-22D4-4089-B5C3-857B32C9BE9B","EF080074-E6B9-47F3-A87F-26313B40C430","F6977801-C1A7-445C-9BF1-8A1019E202FB","8C9157AE-0343-4CFB-8186-1D5E05D2ECBE","DD3C23F8-6463-4EAE-959B-C486E27D9BDA","1E8D3752-D212-41F8-BC63-B094E0C80707","75C07D11-AE5D-4A36-B2D0-F2A6EA414E72","494AB1C0-2C09-49DE-B4AA-1F24DC7495FF","25199967-E3BA-4763-A704-37BD3152A5F7","8E4A5937-D1FA-4AF7-BD8D-B542C636CEF9","DDB23EF0-540C-4046-AD4D-C001E8A5F20C","FF45AAB3-E5C7-42A0-A704-F068DB2E2AF9","52850E3E-BE46-467C-A381-902F5E4859FD","147F9160-7168-44A4-9EA4-A36466EE1F52","8E4FB238-FC20-4DA7-AC9F-6921EBBD5609","3D09A998-5E60-4E94-9C6A-B08E7D98F02A","B8986B95-68A4-4212-8560-C86C8F7B3B3C","81BAFCDC-090F-4A92-8AD6-C3127620CCF4","3663625F-2BB0-494C-A467-04148A441F42","8F0EE2A4-3C90-4F71-A04E-2B285D2543CD","B5F10B61-9C89-4903-BD4C-DF3B9D283432","7005184B-8CE8-4DB8-82D8-D75E16ADE428","B8106E33-B470-45C3-916E-6E92CAFDD854","3013F6C8-9D86-49F3-9EB0-AA42B27F1DC6","A49BA117-B9D4-43F4-82EA-458B9D16FDBA","9FB9DF10-FCEC-44FE-9614-6DFC4B814576","54F9AFFD-B235-48AC-85E0-57921251546E","7A472A4B-7292-49B5-9F03-DE2E3A096714","C8629DF3-424B-47D3-A3FD-68201FFFC455"],"_Rotation":0,"_Scale":1,"_MaxTextHeight":null,"_MinTextHeight":null,"__serializedExpressions__":["_Position","textColor","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,12.9)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(45.8,-27.8)"},"2032":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(64.9,14.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"2033":{"partsSpaceName":"PartsBin/NewWorld","migrationLevel":1,"idOnLoad":"4BD0AB8A-6BFD-4786-871E-8872149E86F8","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2034":{"style":{"__isSmartRef__":true,"id":2035},"chunkOwner":{"__isSmartRef__":true,"id":2031},"storedString":"Tag:","_id":"_1367","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2035":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2036":{"morph":{"__isSmartRef__":true,"id":2031},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2037":{"submorphs":[{"__isSmartRef__":true,"id":2038}],"scripts":[],"id":"CD55260F-0240-42F1-B318-F0163CEA954C","shape":{"__isSmartRef__":true,"id":2045},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":true,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":2051},"lighterFill":{"__isSmartRef__":true,"id":2056},"label":{"__isSmartRef__":true,"id":2038},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"showsHalos":false,"name":"ObjectEditorTagChooser","partsBinMetaInfo":{"__isSmartRef__":true,"id":2061},"listMorph":null,"list":[],"eventHandler":{"__isSmartRef__":true,"id":2062},"textString":"PartsBinBrowser","selection":"","_ClipMode":"visible","prevScroll":[0,0],"owner":{"__isSmartRef__":true,"id":2},"setTargetToListSelection":"all","savedTextString":"all","derivationIds":[225,"7F83847B-D0B1-4A31-8601-43424B97C858","E08FC110-71D7-4FFD-B4A8-08F8147B95BA","5534107D-C5C9-48DD-A1ED-B87E9D9B672C","0B89FA7A-768C-4062-98AE-C455E8DAFF19","799320C6-CFBA-40E7-B03D-64BFE9B78248","9B650AA3-271B-4E72-B230-51C6F64B7462","C95D3672-724C-4C2C-9CDD-EF308062F627","C66EBEEC-B7CE-4DD9-8BDF-905F071F965D","D68B143A-A712-4FD0-8803-62CCB4C7F763","ED802271-AE5C-4BE9-AC4E-7CED44BC864B","1BD989CB-146C-431F-8B15-9199C4CD5D32","42172AA4-1B06-4C5B-9BB7-FAED1206CF34","32DFAF99-E6F8-426B-829D-FD6C2BCB8FAA","9B4BF2BE-49D5-4B9D-8F38-1692443069A9","FCAB3690-731A-45E7-984F-843DFE705AF1","94B10A66-8219-43AD-B902-DA999A66222D","BB0E2EB7-ABCE-44C7-96E7-6679FB2981D1","2FCEE551-302B-46C9-B646-3B9BE9187182","B4267F52-1ACC-42A1-904D-E9F7D485D8AB","14770110-045A-4BE4-BCF2-7C886DF70F7D","5387EA76-6B03-426A-B385-9C4231B66352","23545203-A969-439B-8761-E83A810696D0","C5467F6E-CBD7-4AF4-94BE-D0D62E4F7DDD","2FC5F9D1-B611-4273-BD5B-107350364579","318398B6-6689-4DE7-88FD-636BD968773D","3241459F-2019-4BD2-A0CF-BD2A174DDA76","69022916-A511-4A6C-8220-5B4CCD34FCEF","E772C128-C42D-4B13-A3DB-3EC0DFDC9FC5","4DD223AA-79FC-4FB3-9301-F197D9D6B358","46929EDB-248B-41D6-AC15-410A659C24A5"],"_Rotation":0,"_Scale":1,"isPressed":false,"__serializedExpressions__":["_Position","padding","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2063},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(39.1,10.0)","padding":"lively.rect(5,0,0,0)","distanceToDragEvent":"lively.pt(85.7,-11.6)"},"2038":{"submorphs":[],"scripts":[],"id":"359963CD-4E38-4751-8B43-66003523D94B","shape":{"__isSmartRef__":true,"id":2039},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":130,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"owner":{"__isSmartRef__":true,"id":2037},"eventsAreIgnored":true,"textChunks":[{"__isSmartRef__":true,"id":2040}],"prevScroll":[0,0],"attributeConnections":[{"__isSmartRef__":true,"id":2042}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"eventHandler":{"__isSmartRef__":true,"id":2043},"_HandStyle":"default","_PointerEvents":"none","_ClipMode":"hidden","_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":130,"_MinTextHeight":null,"_Align":"left","_FontFamily":"Arial","_FontSize":10,"derivationIds":[226,"03DBF3F8-8EA2-4426-BA64-C4297DDAB015","B8F87302-BEC3-48CD-9BBA-6C7DBB6287E1","4AA6AE51-338B-4E3E-814B-9F99C693A2D5","08F6CE56-AD91-4C27-9429-C3DEA313696C","D39C963C-FD24-4498-A6D8-71E5102CE58A","132C2A9E-3466-4051-AAEA-6E485A91F408","DB8BC4A1-ED41-446B-AB6C-7E73DD857B5D","567FC668-A57C-41CB-8252-8912826B3144","D0B0775F-C8E7-49EB-BBB2-C7BB7DD464BF","AABED87D-D7C0-494A-8803-26F4601E35FF","696C3A2A-C695-4D17-A044-41A73436AB8D","206A0BFD-6997-4E0E-9193-089D1F66B22A","F2F1F966-6C41-4EBA-AFCE-FAE8C79AA696","64A754E9-7083-4CAE-B5C2-7B436EFFE4BA","64737503-A352-42CC-A249-667DA2B42746","9218F1CA-E23F-4E1A-89C3-DB19DE720861","CF7EAC38-1041-4B83-B087-359885B8528B","84469C7C-C93D-4F16-ACAA-0045A4A37FCA","9D3DD447-66A0-4B4A-B378-FB864D8C1468","163D1C2B-EDE9-4F8F-B466-EF9F4CB14384","50DCF8C9-23AA-4241-AC5B-724CC11950DA","CCACCC51-0109-4F73-B122-AA60E40EC54B","285D1797-A21F-4439-81AD-932B45F54879","7354C28D-A54E-48B6-913E-4949B5F4625E","68EAB78C-AAA8-4EC3-8493-CFD23672B5B3","2AD9DBC6-BDBD-4022-AFE1-B6D94D6860BF","5D634617-10A2-45FE-A453-D3452456AB07","EE3AF0A1-F42E-4AE8-A115-3458AA56DAF3","D8A87F07-FBE8-4C1E-ADE9-3AF6EE15FCD3","72270145-A97E-4B0C-BA7D-1B68CE1A0841"],"_Scale":1,"_WordBreak":"break-all","__serializedExpressions__":["_Position","textColor","padding","_Padding","_TextColor"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":2044},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(2.0,1.0)","textColor":"Color.rgb(0,0,0)","padding":"lively.rect(5,0,0,0)","_Padding":"lively.rect(5,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"2039":{"borderWidth":0,"fill":null,"_ClipMode":"hidden","_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(130.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"2040":{"style":{"__isSmartRef__":true,"id":2041},"chunkOwner":{"__isSmartRef__":true,"id":2038},"_id":"_986","storedString":"all","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2041":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2042":{"sourceObj":{"__isSmartRef__":true,"id":2038},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":2037},"targetMethodName":"selection","converterString":null,"updaterString":null,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2043":{"morph":{"__isSmartRef__":true,"id":2038},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2044":{"requiredModules":[],"idOnLoad":"359963CD-4E38-4751-8B43-66003523D94B","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2045":{"_Fill":{"__isSmartRef__":true,"id":2046},"_BorderWidth":1,"_BorderRadius":5,"_ClipMode":"visible","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(130.0,20.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"2046":{"stops":[{"__isSmartRef__":true,"id":2047},{"__isSmartRef__":true,"id":2048},{"__isSmartRef__":true,"id":2049},{"__isSmartRef__":true,"id":2050}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"2047":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(230,243,253)"},"2048":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(171,215,248)"},"2049":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(171,215,248)"},"2050":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(157,198,229)"},"2051":{"stops":[{"__isSmartRef__":true,"id":2052},{"__isSmartRef__":true,"id":2053},{"__isSmartRef__":true,"id":2054},{"__isSmartRef__":true,"id":2055}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"2052":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"2053":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"2054":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"2055":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"2056":{"stops":[{"__isSmartRef__":true,"id":2057},{"__isSmartRef__":true,"id":2058},{"__isSmartRef__":true,"id":2059},{"__isSmartRef__":true,"id":2060}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"2057":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"2058":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"2059":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"2060":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"2061":{"partsSpaceName":"PartsBin/Inputs/","migrationLevel":2,"partName":"ChoiceButton","comment":"Click on it and you get a list of things to choose from.","idOnLoad":"CD55260F-0240-42F1-B318-F0163CEA954C","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2062":{"morph":{"__isSmartRef__":true,"id":2037},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2063":{"createListMorph":{"__isSmartRef__":true,"id":2064},"getList":{"__isSmartRef__":true,"id":2068},"removeList":{"__isSmartRef__":true,"id":2072},"reset":{"__isSmartRef__":true,"id":2076},"onMouseUp":{"__isSmartRef__":true,"id":2080},"onBlur":{"__isSmartRef__":true,"id":2088},"setTag":{"__isSmartRef__":true,"id":2096}},"2064":{"varMapping":{"__isSmartRef__":true,"id":2065},"source":"function createListMorph() {\n var items = this.getList();\n\n var height = Math.min(this.owner.getExtent().y, items.length * 17);\n var extent = new Rectangle(0, this.getExtent().y, this.getExtent().x, height);\n\n var listMorph = new lively.morphic.List(extent);\n listMorph.setList(items);\n listMorph.setFontSize(10);\n\n listMorph.disableGrabbing();\n listMorph.disableDragging();\n \n connect(listMorph, 'selection', this, 'setTag');\n \n return listMorph;\n}","funcProperties":{"__isSmartRef__":true,"id":2066},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2065":{"this":{"__isSmartRef__":true,"id":2037}},"2066":{"timestamp":{"__isSmartRef__":true,"id":2067},"user":"lauritz","categories":[]},"2067":{"isSerializedDate":true,"string":"Tue Nov 29 2011 04:35:59 GMT+0100 (CET)"},"2068":{"varMapping":{"__isSmartRef__":true,"id":2069},"source":"function getList() {\n if (!this.owner.target) return [''];\n\n var target = this.owner.target;\n\n var tags = Functions.own(target).collect(function (each) {\n return target[each].tags || [];\n }).flatten().uniq();\n\n var sortedTags = tags.sortBy(function(name) { \n return name.toLowerCase() \n });\n \n sortedTags.unshift('all'); \n return sortedTags;\n}","funcProperties":{"__isSmartRef__":true,"id":2070},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2069":{"this":{"__isSmartRef__":true,"id":2037}},"2070":{"timestamp":{"__isSmartRef__":true,"id":2071},"user":"lauritz","tags":[]},"2071":{"isSerializedDate":true,"string":"Fri Dec 16 2011 20:27:25 GMT+0100 (CET)"},"2072":{"varMapping":{"__isSmartRef__":true,"id":2073},"source":"function removeList() {\n this.listMorph && this.listMorph.remove()\n this.listMorph = null;\n}","funcProperties":{"__isSmartRef__":true,"id":2074},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2073":{"this":{"__isSmartRef__":true,"id":2037}},"2074":{"timestamp":{"__isSmartRef__":true,"id":2075},"user":"lauritz","categories":[]},"2075":{"isSerializedDate":true,"string":"Thu Nov 17 2011 19:06:51 GMT+0100 (CET)"},"2076":{"varMapping":{"__isSmartRef__":true,"id":2077},"source":"function reset() {\n this.list = [];\n this.setLabel('all');\n this.label.setAlign('left');\n this.removeList();\n this.applyStyle({fixedWidth: true, fixedHeight: true, borderWidth: 1, overflow: 'visible'})\n}","funcProperties":{"__isSmartRef__":true,"id":2078},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2077":{"this":{"__isSmartRef__":true,"id":2037}},"2078":{"timestamp":{"__isSmartRef__":true,"id":2079},"user":"lauritz","tags":[]},"2079":{"isSerializedDate":true,"string":"Fri Dec 16 2011 20:27:53 GMT+0100 (CET)"},"2080":{"varMapping":{"__isSmartRef__":true,"id":2081},"source":"function onMouseUp(evt) {\n if (evt.isCommandKey() || evt.isRightMouseButtonDown()) return $super(evt);\n if (this.listMorph) {\n this.removeList();\n return true;\n } \n if (this.getList().size() < 2) return;\n var list = this.createListMorph();\n this.addMorph(list);\n this.listMorph = list;\n return true;\n}","funcProperties":{"__isSmartRef__":true,"id":2086},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2081":{"this":{"__isSmartRef__":true,"id":2037},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2082}},"2082":{"$super":{"__isSmartRef__":true,"id":2083}},"2083":{"varMapping":{"__isSmartRef__":true,"id":2084},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2085},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2084":{"obj":{"__isSmartRef__":true,"id":2037},"name":"onMouseUp"},"2085":{},"2086":{"timestamp":{"__isSmartRef__":true,"id":2087},"user":"lauritz","categories":[]},"2087":{"isSerializedDate":true,"string":"Thu Nov 17 2011 18:59:16 GMT+0100 (CET)"},"2088":{"varMapping":{"__isSmartRef__":true,"id":2089},"source":"function onBlur(evt) {\n $super(evt);\n \n // workaround - otherwise other morphs get this event\n var clickedMorph = evt && evt.world && evt.world.clickedOnMorph;\n if (clickedMorph && (clickedMorph !== this && clickedMorph !== this.listMorph)) {\n this.removeList();\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2094},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2089":{"this":{"__isSmartRef__":true,"id":2037},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2090}},"2090":{"$super":{"__isSmartRef__":true,"id":2091}},"2091":{"varMapping":{"__isSmartRef__":true,"id":2092},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2093},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2092":{"obj":{"__isSmartRef__":true,"id":2037},"name":"onBlur"},"2093":{},"2094":{"timestamp":{"__isSmartRef__":true,"id":2095},"user":"lauritz","categories":[]},"2095":{"isSerializedDate":true,"string":"Mon Nov 21 2011 23:10:03 GMT+0100 (CET)"},"2096":{"varMapping":{"__isSmartRef__":true,"id":2097},"source":"function setTag(tag) {\n this.setLabel(tag || '');\n this.label.setAlign('left');\n this.owner.setTag(tag);\n}","funcProperties":{"__isSmartRef__":true,"id":2098},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2097":{"this":{"__isSmartRef__":true,"id":2037}},"2098":{"timestamp":{"__isSmartRef__":true,"id":2099},"user":"lauritz","categories":[]},"2099":{"isSerializedDate":true,"string":"Tue Nov 29 2011 04:36:12 GMT+0100 (CET)"},"2100":{"submorphs":[{"__isSmartRef__":true,"id":2101}],"scripts":[],"id":"0DADDC9B-88A5-47B9-8600-5D9D808F6F5C","shape":{"__isSmartRef__":true,"id":2107},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":2108},"lighterFill":{"__isSmartRef__":true,"id":2113},"label":{"__isSmartRef__":true,"id":2101},"name":"Button","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":2118},"attributeConnections":[{"__isSmartRef__":true,"id":2119}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":2142},"derivationIds":[7251,"BE69DA70-C9C3-4495-A6B5-413BD2FFA0D1","79FE3D3F-77C4-4B39-8243-D672185B416D","A4D2FEDF-2654-4381-AB43-8F89B9CA2E86","87E42FF6-3862-481D-97D6-643676E15F32","4F370A81-5A80-4821-8ECC-D52B56F31E15","1C6D1DC9-2F9B-4DC4-B453-1CA45B17C516","0E8EC0BF-934B-410B-AEC2-0ECA8C8F774D","97086CE7-CD46-4035-A371-02A41D555A66","E342B91D-F54B-4DA8-8AE7-10C59CE22B41","A838C48E-4033-4688-8DCF-20659BD824FF","E9BBC453-FFF6-4EE8-BDB0-605D5D4557AE","B6FB81D1-145B-40F9-ACF1-17276DA45EBA","09C79781-5461-4815-88DE-22FB67558136","85A5FA10-01D9-4051-8D56-29DB02CF8817","6E2F44D0-D69A-4DD7-91AD-0B0E1E871633","66FB4A47-82E6-417D-8248-4038D0CBBF5A","3CDC67E7-CAC7-4636-B7FF-50D008C6EB0D","4475CB12-8CFB-41DB-9399-EC6B68E18BA3","6175C505-1BCA-42E9-9C4C-07A4A309A245","B4FEE8FD-E680-459F-A82E-7606A48170D5","AC0B6630-E189-474B-A5E2-13726C1E0E6A","B5559DA4-1483-446C-8332-23DC886B44A5","955AF1F4-5BF5-4129-BA11-0DC54E21E510","6646015F-BD0A-4FEB-85F0-557FB8EC655A","A5682378-2307-447E-AD50-1DEC1AAC9FCB","1A04209F-A70E-4385-A6E2-D508EABC2DFC","EDA53C4F-765D-4424-9DBF-C62388440C46","C877D292-B4FE-42F3-AD5D-11AC5F084977"],"owner":{"__isSmartRef__":true,"id":2},"layout":{"__isSmartRef__":true,"id":2143},"_ClipMode":"visible","_Rotation":0,"_Scale":0.994014980014994,"isPressed":false,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","distanceToDragEvent":"lively.pt(72.0,-13.0)","_Position":"lively.pt(687.7,9.5)"},"2101":{"submorphs":[],"scripts":[],"id":"2F7DBECA-235B-4849-86BC-407AE7A9C8AE","shape":{"__isSmartRef__":true,"id":2102},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":97,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":2100},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":2103}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":2105},"_HandStyle":"default","_PointerEvents":"none","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[7252,"E0EF3EFE-3ADF-4E46-8705-7BF444E4BCED","307A3596-1175-4EA6-AA27-5BA4C9D95AB7","0EF99131-C569-4C2C-B613-E0D8423C1334","BA4EC8D2-AB29-4F9F-B5A0-715A4746A4C4","56735895-BA99-4D98-9866-AA5DBD86237E","81041CF7-31DB-4F65-BB39-FE438A4F266F","D03829B3-268E-40A0-A440-3E4BAC344F30","714637F0-714A-4833-909B-BA4AF1B4628B","DC956E73-7398-4CAF-B6F2-9A226E344396","C1F72D31-1F49-4C0C-ACF3-C3AD7E698D2F","39386C7E-9099-4159-BFE9-80AD37319211","2764FB6E-70D1-4BC5-B3CB-9979A48B8205","C55C8A7C-412C-453E-A99F-CE78C2AADB94","4BD9A8D4-2EC1-40AC-A1CE-5F1347B0152D","3450EAEB-E3D2-4FAF-98DF-354B3B8715D6","C906736E-48DF-4054-BA5A-A089610456D7","DE5C59FB-90A6-4DD4-AC39-5CC8B3912969","5830FB93-49A1-4A31-A687-69C4579D5FA7","AE9038D5-0EBD-40A0-8043-9689D163D108","13E47AE3-8FA4-4D33-B6D0-DC9AB9E63590","330AAB8C-6D17-4763-AACC-669FC5DD3A91","CA04BB7A-205C-412D-9900-C2DE7C5FAD36","37AADE55-77DE-4E93-9A3E-241BB5002F88","60EB450E-29D4-42B9-8FF7-CA138515052E","7D5C0196-98BF-4CCD-9142-3D29E68EE180","0F70CA1F-07A9-4EFA-872A-3255F9C850DC","7A2FAFFA-9A09-40FB-B04A-80B0B34C696B","85768439-7424-4BFE-8191-BCA51F70FE26"],"_MinTextWidth":97,"_MinTextHeight":null,"_WordBreak":"break-all","__serializedExpressions__":["_Position","padding","_Padding"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":2106},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)"},"2102":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(101.0,21.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(2,2,0,0)"},"2103":{"style":{"__isSmartRef__":true,"id":2104},"chunkOwner":{"__isSmartRef__":true,"id":2101},"storedString":"run","_id":"_1369","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2104":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2105":{"morph":{"__isSmartRef__":true,"id":2101},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2106":{"requiredModules":[],"idOnLoad":"2F7DBECA-235B-4849-86BC-407AE7A9C8AE","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2107":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":2108},"_BorderRadius":5.2,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(101.0,21.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"2108":{"stops":[{"__isSmartRef__":true,"id":2109},{"__isSmartRef__":true,"id":2110},{"__isSmartRef__":true,"id":2111},{"__isSmartRef__":true,"id":2112}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"2109":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"2110":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"2111":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"2112":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"2113":{"stops":[{"__isSmartRef__":true,"id":2114},{"__isSmartRef__":true,"id":2115},{"__isSmartRef__":true,"id":2116},{"__isSmartRef__":true,"id":2117}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"2114":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"2115":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"2116":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"2117":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"2118":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","idOnLoad":"0DADDC9B-88A5-47B9-8600-5D9D808F6F5C","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2119":{"sourceObj":{"__isSmartRef__":true,"id":2100},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2},"targetMethodName":"runScript","visualConnector":{"__isSmartRef__":true,"id":2120},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2120":{"submorphs":[{"__isSmartRef__":true,"id":2121}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2128},"derivationIds":[null],"id":"C89B50A0-17E7-4D22-AE1D-5112520DAEE7","eventHandler":{"__isSmartRef__":true,"id":2131},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":2132},{"__isSmartRef__":true,"id":2133}],"con":{"__isSmartRef__":true,"id":2119},"showsMorphMenu":true,"showsHalos":false,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2134},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"2121":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2122},"derivationIds":[null],"id":"2A71BE9E-6820-46AF-ACED-3C9BDCC918AF","eventHandler":{"__isSmartRef__":true,"id":2127},"droppingEnabled":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":2120},"_Rotation":-3.130064002485303,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(0.0,0.0)"},"2122":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":2123},{"__isSmartRef__":true,"id":2124},{"__isSmartRef__":true,"id":2125},{"__isSmartRef__":true,"id":2126}],"_ClipMode":"visible","_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(16.0,12.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"2123":{"isAbsolute":true,"x":-12,"y":-6,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"2124":{"isAbsolute":true,"x":-12,"y":6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"2125":{"isAbsolute":true,"x":4,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"2126":{"isAbsolute":true,"x":-12,"y":-6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"2127":{"morph":{"__isSmartRef__":true,"id":2121},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2128":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":2129},{"__isSmartRef__":true,"id":2130}],"_ClipMode":"visible","_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-1.0,-1.0)","_Extent":"lively.pt(831.0,11.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2129":{"isAbsolute":true,"x":829.7085000406639,"y":9.565843617262885,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"2130":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"2131":{"morph":{"__isSmartRef__":true,"id":2120},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2132":{"morph":{"__isSmartRef__":true,"id":2120},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"2133":{"morph":{"__isSmartRef__":true,"id":2120},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":2121},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"2134":{"morphMenuItems":{"__isSmartRef__":true,"id":2135}},"2135":{"varMapping":{"__isSmartRef__":true,"id":2136},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString ||\n 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter:\n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true,\n fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(),\n visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":2141},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2136":{"this":{"__isSmartRef__":true,"id":2120},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2137}},"2137":{"$super":{"__isSmartRef__":true,"id":2138}},"2138":{"varMapping":{"__isSmartRef__":true,"id":2139},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2140},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2139":{"obj":{"__isSmartRef__":true,"id":2120},"name":"morphMenuItems"},"2140":{},"2141":{},"2142":{"morph":{"__isSmartRef__":true,"id":2100},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2143":{"centeredHorizontal":false,"moveHorizontal":true},"2144":{"submorphs":[{"__isSmartRef__":true,"id":2145}],"scripts":[],"id":"5CB34705-40FA-435F-8F7C-72CD9E9C426E","shape":{"__isSmartRef__":true,"id":2151},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":2152},"lighterFill":{"__isSmartRef__":true,"id":2157},"label":{"__isSmartRef__":true,"id":2145},"name":"saveButton","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":2162},"attributeConnections":[{"__isSmartRef__":true,"id":2163}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":2186},"derivationIds":[7251,"BE69DA70-C9C3-4495-A6B5-413BD2FFA0D1","79FE3D3F-77C4-4B39-8243-D672185B416D","A4D2FEDF-2654-4381-AB43-8F89B9CA2E86","D686F0CB-027B-4CA9-8B8D-9306389B219D","F51327CB-803E-4234-BFB3-6F5252D1C936","A79280E8-6AE3-4016-AF47-CE78F71924C6","B05829EB-D452-4D81-983B-E2CE425C8260","32B117E5-52D8-4843-B80E-090B9817E099","49AC923E-5272-4E3C-8F02-4F2AED2BC4E9","85AAEA9C-5E12-4DEC-8994-9A5FE655A740","2A7FF9BF-85D3-4962-8EB4-0F7016C672EB","3BB17748-B91B-43F5-84BE-2537402A6382","8BA10BD3-43C5-4A41-B9D9-DCD8C74EA208","8BADA640-EDC1-41B2-BEF3-0F2520EA25DD","CAFB5342-EFD3-483E-AE4A-343D211653EF","C3DC8C6F-A36C-4456-AF34-B0A318C1AAD8","88093937-29BB-43FC-AD82-4A0A4BDC349F","27E1FA12-CE4A-4C1F-891F-EEEF92BD672F","A12311D6-23C1-4711-9271-5B582F89F15B","F615015A-8BAE-4FC4-B9A4-D1D1122AC0A2","77333AB0-F43F-45D7-BAEE-8B9FF7865CAF","6A0E622E-4C99-42C1-8EEE-E659BFC2996E","D0264D42-222E-4900-908B-4EA13729B6AA","CC6A8A07-5A2D-407A-B540-6BA0C73356C5","FA68B30F-8583-41B2-898D-8DAFE1A75F15","D5C01E0F-F7DF-4896-8CEF-099C9F3E6CB8","B521A25F-FA55-4F6B-BAC1-0B2544DF98C1","C567F039-E57C-4C5E-AFAA-D05B2C481A69","3D4A4A11-9E45-4C87-9398-C3EBD8A53468"],"layout":{"__isSmartRef__":true,"id":2187},"owner":{"__isSmartRef__":true,"id":2},"_ClipMode":"visible","_Rotation":0,"_Scale":0.9880657804942089,"isPressed":false,"__serializedExpressions__":["distanceToDragEvent","_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","distanceToDragEvent":"lively.pt(68.8,-14.5)","_Position":"lively.pt(574.4,9.5)"},"2145":{"submorphs":[],"scripts":[],"id":"AFE66FEC-EDE9-4C87-A795-45D50055F953","shape":{"__isSmartRef__":true,"id":2146},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":97,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":2144},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":2147}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":2149},"_HandStyle":"default","_PointerEvents":"none","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[7252,"E0EF3EFE-3ADF-4E46-8705-7BF444E4BCED","307A3596-1175-4EA6-AA27-5BA4C9D95AB7","0EF99131-C569-4C2C-B613-E0D8423C1334","9AECBFB8-25A5-483F-86AD-D7CF9ABC9A25","918C6CC4-3540-4341-BAFD-B195F7807FEE","5AABB138-5EE8-40A5-AB3C-5A9625D0A353","4529D79B-4CC5-467E-91F8-661C3A5F49F8","1E5E570C-FD42-45E3-A7F6-768BB14ACD14","A13FB4E0-72F2-4E7C-A861-EDCBA1393860","B8E4C964-4FFF-4A9F-B0A9-612546B1DC8C","002A2173-D26D-4EED-8906-A489C1E158C0","63362D04-B829-41E6-9E68-5B8DB03D382F","996B60A4-8698-448F-A35F-79C768B4976B","F0727398-A1F0-47F5-92CF-BB9677FA05FA","38707063-D664-49A0-B2FB-F0666EC532D5","0402FB51-915F-4491-8FA1-553F0D8F7F35","5A35285D-C6A5-4830-97D9-0890A3F33F39","53121F0B-7DA5-4622-AC08-DD4805D53374","6C84E15D-112D-4C04-87C1-937691E296A7","4ECBD7E4-8B18-4331-8A37-07F4D8DCDCA0","3D4B43A2-AD74-4131-A939-D680216EDA6B","B22327BB-C876-4084-BEFA-4D06AE2B2849","2D34C2E9-76B8-49DC-9FCC-39B523CD0EF4","F098174A-AABC-4F95-8193-C29CA85D6188","714713CE-F5E8-4817-835F-99EA27075558","532DCEDE-C300-48C9-9DBA-58A1E02E1632","2F1C117F-2507-446D-8B43-9BD30AC726FB","74DABF7B-1E90-4D21-93D1-802BC208E9C7","4829579F-88C9-4E62-BE7F-E085AD1EC231"],"_MinTextWidth":97,"_MinTextHeight":null,"_WordBreak":"break-all","__serializedExpressions__":["_Position","padding","_Padding"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":2150},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)"},"2146":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(101.0,21.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(2,2,0,0)"},"2147":{"style":{"__isSmartRef__":true,"id":2148},"chunkOwner":{"__isSmartRef__":true,"id":2145},"storedString":"save","_id":"_1370","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2148":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2149":{"morph":{"__isSmartRef__":true,"id":2145},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2150":{"requiredModules":[],"idOnLoad":"AFE66FEC-EDE9-4C87-A795-45D50055F953","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2151":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":2152},"_BorderRadius":5.2,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(101.0,21.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"2152":{"stops":[{"__isSmartRef__":true,"id":2153},{"__isSmartRef__":true,"id":2154},{"__isSmartRef__":true,"id":2155},{"__isSmartRef__":true,"id":2156}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"2153":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"2154":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"2155":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"2156":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"2157":{"stops":[{"__isSmartRef__":true,"id":2158},{"__isSmartRef__":true,"id":2159},{"__isSmartRef__":true,"id":2160},{"__isSmartRef__":true,"id":2161}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"2158":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"2159":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"2160":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"2161":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"2162":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","idOnLoad":"5CB34705-40FA-435F-8F7C-72CD9E9C426E","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2163":{"sourceObj":{"__isSmartRef__":true,"id":2144},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":237},"targetMethodName":"doSave","visualConnector":{"__isSmartRef__":true,"id":2164},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2164":{"submorphs":[{"__isSmartRef__":true,"id":2165}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2172},"derivationIds":[null],"id":"F46012D5-C8BE-4E52-BF98-D052FDAAE17A","eventHandler":{"__isSmartRef__":true,"id":2175},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":2176},{"__isSmartRef__":true,"id":2177}],"con":{"__isSmartRef__":true,"id":2163},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2178},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"2165":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2166},"derivationIds":[null],"id":"A2A83C78-09B8-473C-829B-198206D7A9E4","eventHandler":{"__isSmartRef__":true,"id":2171},"droppingEnabled":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":2164},"_Rotation":3.077607197692381,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(201.2,40.2)"},"2166":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":2167},{"__isSmartRef__":true,"id":2168},{"__isSmartRef__":true,"id":2169},{"__isSmartRef__":true,"id":2170}],"_ClipMode":"visible","_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(-12.0,-6.0)","_Extent":"lively.pt(16.0,12.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"2167":{"isAbsolute":true,"x":-12,"y":-6,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"2168":{"isAbsolute":true,"x":-12,"y":6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"2169":{"isAbsolute":true,"x":4,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"2170":{"isAbsolute":true,"x":-12,"y":-6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"2171":{"morph":{"__isSmartRef__":true,"id":2165},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2172":{"dontChangeShape":false,"cachedVertices":null,"_PathElements":[{"__isSmartRef__":true,"id":2173},{"__isSmartRef__":true,"id":2174}],"_ClipMode":"visible","_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(200.0,9.0)","_Extent":"lively.pt(480.0,32.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2173":{"isAbsolute":true,"x":679.4857209639925,"y":9.595948897894004,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"2174":{"isAbsolute":true,"x":201.20421122525056,"y":40.24084224505009,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"2175":{"morph":{"__isSmartRef__":true,"id":2164},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2176":{"morph":{"__isSmartRef__":true,"id":2164},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"2177":{"morph":{"__isSmartRef__":true,"id":2164},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":2165},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"2178":{"morphMenuItems":{"__isSmartRef__":true,"id":2179}},"2179":{"varMapping":{"__isSmartRef__":true,"id":2180},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString ||\n 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter:\n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true,\n fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(),\n visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":2185},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2180":{"this":{"__isSmartRef__":true,"id":2164},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2181}},"2181":{"$super":{"__isSmartRef__":true,"id":2182}},"2182":{"varMapping":{"__isSmartRef__":true,"id":2183},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2184},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2183":{"obj":{"__isSmartRef__":true,"id":2164},"name":"morphMenuItems"},"2184":{},"2185":{},"2186":{"morph":{"__isSmartRef__":true,"id":2144},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2187":{"centeredHorizontal":false,"moveHorizontal":true},"2188":{"submorphs":[{"__isSmartRef__":true,"id":2189}],"scripts":[],"id":"34A27834-9E30-4BB9-BD58-533DA2A40AC9","shape":{"__isSmartRef__":true,"id":2195},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":2196},"lighterFill":{"__isSmartRef__":true,"id":2201},"label":{"__isSmartRef__":true,"id":2189},"name":"openTestsButton","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":2206},"attributeConnections":[{"__isSmartRef__":true,"id":2207}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":2208},"derivationIds":[7251,"84054D2E-8176-440D-B413-279956A34FC2","79434046-F834-490E-B705-0CE871D9E8B3","FF38CA79-C0DF-4F2F-8FC3-407571EF6A54","B1D50332-9F4F-4F7C-AC3F-95DC6C73EAA4","5B8D7C39-987A-4849-BFFD-3F316CE03852","F7C30F5C-7270-44B1-ADFF-7473F2012DB0","5142302E-3E9A-476B-AB24-B2448DA6D3E4","FEA3C508-593D-4BC7-B645-8B5630CF2EDE","34DBC442-E1DE-42D7-8C63-BA9A1890C994","4F9067A3-5A5C-4637-A76F-7E590CEE2BDA","ADF74818-537A-4669-A455-9509BA7BD7E5","AFCD7FA7-5429-4B1A-B8B8-AB03C18ABA08","604C352D-0347-4329-A299-EAA3FF90B543","46C5ED11-DE03-428F-A758-5308B3D323B5","7C978B2A-9109-42E1-95C5-A59CC74BD31B","2D34E370-3EA6-48DD-B3A7-FE7EB1CCD78D","A0B7F880-0D72-475C-A002-2EAA7D20C004","1146967F-5295-4931-9637-CF72A6A6D724","775F3066-BB4B-4673-B529-500522EF5165","F01F4895-6DEF-4C26-9CEC-A569AEDD22E6","DDD1C856-9C9F-4CB1-A795-E083B7214E82","51E21302-B2D2-49D0-82D9-D964A6B3C54F","BC9DA8C7-933D-4140-96D3-1E7ADEEC8D69","26FA6101-FD83-4A6D-BA08-839ADCA2E33A","43BD3A17-F549-4B6B-8D78-0F84AFE3A168"],"owner":{"__isSmartRef__":true,"id":2},"_ClipMode":"visible","_Rotation":0,"_Scale":0.9940149800149939,"isPressed":false,"layout":{"__isSmartRef__":true,"id":2209},"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(468.5,9.0)","distanceToDragEvent":"lively.pt(72.1,-12.5)"},"2189":{"submorphs":[],"scripts":[],"id":"01E7B592-EF13-4CE1-84AB-CF403DA78C2D","shape":{"__isSmartRef__":true,"id":2190},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":97,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":2188},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":2191}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":2193},"_HandStyle":"default","_PointerEvents":"none","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[7252,"0A0A6CB1-BD92-4F39-A425-2EB3D2D4CBA2","CB475566-05CE-43E2-B04D-EE32BC4CB718","6BB077CE-92E6-47BE-BE88-9A48488562D1","9E359973-2FDB-417B-BB06-AB34D52BD310","58F098ED-A190-44F2-B73E-80802B2CF2F6","AEA84B35-B349-4307-92C6-8F229705DFC2","A677CADF-24FF-4177-9A3A-FE9AAE7D60FE","0F875AD9-E54C-4735-9BA9-7B89574233A1","840EBE92-3BC2-42EC-819E-3CD002576490","78C4969D-2C33-4B17-9027-89B411B9F496","C9A3D112-C2BC-43A3-A3CA-A68F41A0E4CF","78CF2F1A-6697-4D03-AB2B-CAF862B4EDD6","8B416918-CA4B-46D1-8A3C-40F8A754E44D","01510710-A85B-4054-B0ED-7F2F02434806","8ABD23FB-E90C-4EEB-BF53-DF3C6ACF2BD4","87607080-4A72-484D-A5BD-5F67D468505F","F0E39FE9-F71C-4587-B25A-C4D2C29FE579","BA2AB73A-3967-4F9E-8828-8A638E521B31","5ECC4D2F-4996-403F-AF14-BD1F4BB720F6","54B08934-6893-4B80-8625-B60ABCE9CBC6","4808CF23-17EA-43D8-AE10-DAB21C642FA8","0813DF8A-CC9E-435B-B5A1-DF68BF226F37","047C4EE2-26A1-4AA7-9CE9-E8FF9A9D863B","728334BD-34B0-44FA-A778-2696AA82FEFA","7354635C-DC38-4BE3-9F56-070CE37B65EF"],"_MinTextWidth":97,"_MinTextHeight":null,"_WordBreak":"break-all","__serializedExpressions__":["_Position","padding","_Padding"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":2194},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)"},"2190":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(101.0,21.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(2,2,0,0)"},"2191":{"style":{"__isSmartRef__":true,"id":2192},"chunkOwner":{"__isSmartRef__":true,"id":2189},"storedString":"Tests","_id":"_1371","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2192":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2193":{"morph":{"__isSmartRef__":true,"id":2189},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2194":{"requiredModules":[],"idOnLoad":"01E7B592-EF13-4CE1-84AB-CF403DA78C2D","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2195":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":2196},"_BorderRadius":5.2,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(101.0,21.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"2196":{"stops":[{"__isSmartRef__":true,"id":2197},{"__isSmartRef__":true,"id":2198},{"__isSmartRef__":true,"id":2199},{"__isSmartRef__":true,"id":2200}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"2197":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"2198":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"2199":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"2200":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"2201":{"stops":[{"__isSmartRef__":true,"id":2202},{"__isSmartRef__":true,"id":2203},{"__isSmartRef__":true,"id":2204},{"__isSmartRef__":true,"id":2205}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"2202":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"2203":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"2204":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"2205":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"2206":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","idOnLoad":"34A27834-9E30-4BB9-BD58-533DA2A40AC9","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2207":{"sourceObj":{"__isSmartRef__":true,"id":2188},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2},"targetMethodName":"openPartTestRunner","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2208":{"morph":{"__isSmartRef__":true,"id":2188},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2209":{"moveHorizontal":true},"2210":{"submorphs":[{"__isSmartRef__":true,"id":2211},{"__isSmartRef__":true,"id":2219}],"scripts":[],"id":"50D70A55-3D12-477A-8071-D753B5FD5274","shape":{"__isSmartRef__":true,"id":2223},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":2229},"lighterFill":{"__isSmartRef__":true,"id":2234},"label":{"__isSmartRef__":true,"id":2211},"name":"MagnifierButton","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":2239},"attributeConnections":[{"__isSmartRef__":true,"id":2242}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":2243},"derivationIds":[2588,"22797D34-67DE-4A06-81F0-4DF0A87ADBBC","81CB4C12-BCF0-4097-8B6D-D9419046367A","0767A57D-9BB2-48C6-9654-753D2B9D00A6","42871246-6725-4E41-A2C1-5A5BCF041097","BCE6E775-B5DF-4D6B-9F06-CDC02C1B1D0F","797EC165-A639-42D9-A059-669F6BEB92A7","FA498EFD-E50E-4CE0-9FA8-9AE2E8AE9580","4B68C371-CB37-45B4-910A-611E5FFC23DD","94E374B9-7ED4-4E39-96F1-6FD4E7AC3428","34D63515-7CC7-43FB-B7BB-87AFCA377D63","7E0B172C-0AF5-4C6E-B184-25A8FAE4FAB8","12239D52-D3D3-4713-BC3E-F0B95C488CB7","72559D92-4616-45A9-A0F2-72BA4147C0FB","E86C7328-AF24-4881-84AF-B7C7CEFEAE14","22D731CF-38F0-41CC-B125-74D2842ED847","B58A1A30-782E-4675-A276-2C01D35BEC70","ACEABA6D-071C-46C2-A325-BE30189AA45F","686443AE-DCDC-4998-8A39-48BC57D64FDC","8D660766-7C93-404C-9D92-B12CBF59A3CE","20DF1A18-6F2B-4D66-9110-75EB343C3C61"],"_ClipMode":"visible","owner":{"__isSmartRef__":true,"id":2},"_Rotation":0,"_Scale":0.9920279440699439,"highlightRectangle":{"__isSmartRef__":true,"id":2244},"isPressed":false,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2318},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(424.5,8.5)","distanceToDragEvent":"lively.pt(37.9,-7.9)"},"2211":{"submorphs":[],"scripts":[],"id":"C8710858-2AF1-4905-9C9E-618D76DAC737","shape":{"__isSmartRef__":true,"id":2212},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Helvetica","registeredForMouseEvents":true,"_MaxTextWidth":24,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":2210},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":2213},{"__isSmartRef__":true,"id":2215}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":2217},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[2589,"024C5ADE-C4CF-4E8E-BEC5-F93AD4839702","A2CC4D56-B9D8-4A48-B6FF-DDDD85ACDC2E","5AC5C4DE-00B0-43DB-B7F1-765674CE818B","750A11C6-766E-4B48-AE32-D71DE811EB4A","66A7B56E-A94E-44AE-8AED-C0C1B07554D4","CA8596D3-2D4F-453B-BE1B-DCEC8F85389B","4D7DC32F-79CB-4AF8-8B21-AB4F1809D4A8","439DE430-7651-470E-97D8-00E7F96B04DA","DAC920E6-217B-4515-AC09-2F9DCBA7375C","BD48C003-0502-451D-B6AA-7369FF3D1030","C3B8F4EA-3F44-47F4-B569-A0D5AB263BA0","BF7F0FA3-3F2A-4EEF-9687-BE2B0635DF13","3D7AEAC1-C9DD-4941-BA46-16F6783F5699","E04A78F9-3D6E-403F-BA8D-2583FCFFCE53","47E1F29B-6896-467D-8654-CA18929AE57A","509D86FF-5400-4374-BE79-90F0A7E3E90C","C7E53EE0-065A-4C59-8D13-311566722BB7","BA078BAC-7263-4B10-AFD3-3C4EA0DD8707","BCFE28D1-A115-453E-9116-EECC8FE1D50F","A354FF2E-BD85-429A-97C2-254D6033F50C"],"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"_MinTextWidth":24,"_MinTextHeight":null,"_FontSize":10,"_WordBreak":"break-all","__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":2218},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"2212":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(24.0,24.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"2213":{"style":{"__isSmartRef__":true,"id":2214},"chunkOwner":{"__isSmartRef__":true,"id":2211},"storedString":"","_id":"_1372","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2214":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2215":{"style":{"__isSmartRef__":true,"id":2216},"chunkOwner":{"__isSmartRef__":true,"id":2211},"storedString":"","_id":"_1373","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2216":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2217":{"morph":{"__isSmartRef__":true,"id":2211},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2218":{"requiredModules":[],"idOnLoad":"C8710858-2AF1-4905-9C9E-618D76DAC737","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2219":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2220},"derivationIds":[null,"29E543E0-AE93-493A-A694-FC1C330D0544","F0366E4C-E97F-4C77-BEE4-340A0668ADD5","347F6028-5092-4F54-9A34-3EFF3FF0B815","BF7387E7-BCD7-4A5B-B9D2-C14ECF59EFCA","85BA370B-966E-41F7-8C2F-F3A926EC2AA2","1652172B-339A-43A1-9589-70E68B35A28E","705524F7-129B-4102-834E-2A1A45985BB5","5707DF70-CD77-4D53-96ED-5A0AEB227FB7","257E62CE-C668-4317-B5B7-8D394BDC3F6C","2DD4BEA5-E85A-4CD0-953E-9EB2E0735654","BB96B696-7BD4-44C4-9D60-B1551B89D6FA","FCAABC48-FBAF-4E12-8BC9-AC4ACB5A167B","EB81C4D7-5BD8-4DAC-BD70-8675E2338AAC","1DBAE3FF-B2F6-4348-8E06-81139C138D6E","49E7D450-EF74-4E94-B33B-B888D952F3BD","F0B267C4-54BA-4E6F-BFDD-4B047F4FF41A","36B8611D-B449-4F6E-8D0F-B5FD6406D45D","779DB518-01BD-4D32-AD65-BFED801E5D06","F47D501C-3750-4F0D-A2E1-E1B9CDA8368C"],"id":"70F36548-4EFF-4D85-A584-00CB5CE7BE17","eventHandler":{"__isSmartRef__":true,"id":2221},"_ClipMode":"visible","droppingEnabled":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":2210},"name":"leftpointing_magnifying_glass.png","isBeingDragged":false,"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"showsHalos":false,"eventsAreDisabled":true,"_HandStyle":"default","_PointerEvents":"none","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":2222},"__LivelyClassName__":"lively.morphic.Image","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(-3.0,0.0)","distanceToDragEvent":"lively.pt(39.9,-9.0)"},"2220":{"_ImageURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAABAAAAAQBPJcTWAAAALnRFWHRUaXRsZQBMRUZULVBPSU5USU5HIE1BR05JRllJTkcgR0xBU1MgKFUrMUY1MEQpw88haQAAABV0RVh0QXV0aG9yAEFuZHJldyBNYXJjdXNl5zc3gwAAAC90RVh0U29mdHdhcmUAaW5mby5maWxlZm9ybWF0LmRhdGEuVW5pY29kZVBuZ1NlcnZsZXRoAX8wAAAAQ3RFWHREZXNjcmlwdGlvbgBodHRwOi8vd3d3LmZpbGVmb3JtYXQuaW5mby9pbmZvL3VuaWNvZGUvMWY1MGQvaW5kZXguaHRtk2hNQgAAADt0RVh0Q29weXJpZ2h0AGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLXNhLzIuMC9siJKDAAAIDklEQVR42u1daWxVRRQeCi0tIqCAQCTIUtEIGlk0ilqEkEbiQhSKGAyCooIIggsiQuMWZNGwVMUFNIhKZBMobZClgK1FwAU3wIpSREDcUFZFEM/JOzf3vPHet9ze1/eYe77k+zNzl5nz3ZlzZntPKYFAcHojDXimmKH6cQbwZuBM4HLgx8A9wBPAU8BjwJ3ADcDFwMnArsCaYjr/0BB4DwlwjAwfL38DzgX2AdYWk3pDJnAM8E/NuN8BpwEHAq8DXgpsCswANgN2APak/BeBu7T7sQX1A9YQE8fuDwYAf2BG/JrEaefxmSjaeOAO9syNwBwxd2Q0o/7fMhr6h8Fx+oBIX346cATwF/aON6Qbc0ZH4G4y0lHgOGAdD8/Be/KAs4AFwKsdrqkHnAA8Tu8rAzYWCWz0Bh5hraKTT11fL+AH1FXlA8/SrsEu61fmW9qLFEqNAv5LRsEw9twEvKMzcAvwJ3LoHG2AW+n9B4HdgixGHhNjiccuKlbUp9aC7yoGnqflraa8A8C2QRTjMvIVaITyKI61BjnkqiILWEjvPAwcxvLqAj+nvAqH7s1oNAfupcpjeNskhnvQOQ/xYfxQCziHRVl3sjxsNfspvYSuNR4Ywn5ClT5CA7lYkUPRU0YVy4CivkVlOE7TKxa6AP+ivKlBEORe9nUO8XD/QhWay6oqmlK3dYoirTYs70FK/wd4ocli1KVIByu7XXmb9BsOPEmj76riSfZxbAM2oPQMmqLB9GUmC/I0M8AtHp9xCd3/rM8fCHISy+vH0ruaOi3Coyqv6ETPKPSpXEOZ4X9XoSl+y89sovTNJgoyklW8rw8+aKFP5apFo3SrbMNcWsnFpgmylkU19R3yY4mc0mk0j88Z62PZ5jHDV7DQugE5dkx/3CQxzlb2qt6aCF1HtJH6BHoGju4v97F8+Sp8zeRGlldCaZtMEmQAq+zICL5hpUvrwfXy19gzZvhcvj6aILNZ3ij2ETQzRZA3WWU7RrgOfQsu05YCnyLxcFS9h91fTlMgfqKdJsg6lteBpQ8wRZASVqmmUa7txvwEJ/qe8SoxGxYymK+wpnMsNGHpxviRbVShkzEatAb5iEHUSrqzQVuiUMkMf5IFGWnM/71giiAHqEL7U7iMf2gtkk/B7/M51E4qMlklvzwNymgxl+VvobQPTRCkMavkDpaelkJlbOkgyDUsv0LZu19Oe/A++BBLvyIB0ZJX9HIQhHdZBymt1BQfso9V1Jorag28PUXKN8tBkHqUV4elLTJFkM9YpVqzllOcAmXDiG6vJsZhlt+Kpc80RZBiF2eJK4fZSS5bd4fWUcTyc1n6Y6YIMpVVii+LTgFOTHLZNjoIMpTlT2fpXUwRpIcKn021gHuwcDN0ss525Cnn3fIt2DXfK3vPljGbHtK1gdcFmkNdkYTK4gz0Tgcxytg1fI6rUBkGvubA54Ta0lTFK9VYFhS/xKV18PEHX3MfYpogfPUND9DwuamFlP5oNZXlZRcxlmsDWutsCl/aNQYZWhfBnTlOceNsLq459E1wyyhwEeNvFb7ZusClrEbhNlbJoyp8Y3UejehxPWS08v/MBrbIlcr92BvfwZit7KMKOC3f3FRBcBC2mRlBnz0dpOzN17gvqrdP7+2p7PkoJz7Hrq2pCfeqMhzXasbI1/KHa/m4Y93reRFcU1mrIh8IXaLCJzpnsLyfKRozHrNZpbFF9NHyx2pGw2tWAZ8H3gW8UjmvvWdSlIQb3raq6Kdzp6vwBbOhWn5/FRCggy9lFcdN1521ax5Q0Y9B41o7nkn8Rv1/gSkS0T/crb0vV4Uv465UAUNjLerCkfAN2jUXKef19apwnYP4AynK4tfNU6m1ZlMtaK/stQZrLXu0Q6g6OIpTjoVfAK/Xnp1GDp1fhy0th1rwHLqmEbXYHkEQJYcGitwouG2onoPx0Ne8q+yDmtGIs8lPUFCgH/Q5R4XPQlt8nfKzKB9/ouNHLT/ddFEw7t+uGQbPko90GY+gOHgcoRc5+YeBj1DY3JPyGrq8qy6JdMhBDAyz8azhZLq2JRuP4HE3a6f8KhNH7k4Dt9UORqoE3qGqfiAUo7L7lX1kjfMd4H0UHGTTFMpLzH8VUAS3iN2znsQ1GugvprCvkvMYdSFouBYxPu98FdoKusblmZXUoiz0J1FuYgPUfCrXAof7S4MgimXIRVH8wwHq5vBLna9Cs8ULyEgVWrCg8zAJ79TtjGDXjSMx5kd4Fk7XB+a3uq5Sob1QfoW86JzxR2zcjjyj3/mKTafUpCAi2nPLVcB+QA379YdoGuWEBxEwars1hujIOpZQQS1jWhzvKXeIDAOBRhT+YgQ2kcYK71NLwgOauAKJ50jwpFW8J2jHKHvLKwYBuENmVxyibAiqKIlCOkVY1g8HZHkQ5SOXeTaBR9RW9vT7agp34xVlo4jiL7KoG0TjriCR4hVlk0r8EYrAtZQiZa+14wx1qzhF2Syi+C+K5VOWko8RUVJIlPc8irIhKCP6ZItSqeJbh8kSU/qHDCbKMuZT4hFlrpgxcaIUUcuJR5TdYsLEiFLIQuLMOESZJOZLnCjLyMhrabqkZRRR1qsArDQmW5SlZOxPVWhJ2E2UNRJlVQ/wi19CRv9WhXbJoCh8zb+IujVBNYqymIyPP55ZxsQoVvK78kkBrp28rXVThSJGcoE7YZ5RoTMlc8SBpw7kj2IEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgSAZ+A+0ucC4BysctgAAAABJRU5ErkJggg==","_NodeClass":["image"],"_NodeId":"29E543E0-AE93-493A-A694-FC1C330D0544","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"isLoaded":true,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Image","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(29.0,29.0)","_Padding":"lively.rect(0,0,0,0)"},"2221":{"morph":{"__isSmartRef__":true,"id":2219},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2222":{"partName":"leftpointing_magnifying_glass.png","requiredModules":[],"idOnLoad":"70F36548-4EFF-4D85-A584-00CB5CE7BE17","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2223":{"_BorderWidth":1.1840000000000002,"_Fill":{"__isSmartRef__":true,"id":2224},"_BorderRadius":5.2,"__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(24.0,24.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"2224":{"stops":[{"__isSmartRef__":true,"id":2225},{"__isSmartRef__":true,"id":2226},{"__isSmartRef__":true,"id":2227},{"__isSmartRef__":true,"id":2228}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"2225":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"2226":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"2227":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"2228":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"2229":{"stops":[{"__isSmartRef__":true,"id":2230},{"__isSmartRef__":true,"id":2231},{"__isSmartRef__":true,"id":2232},{"__isSmartRef__":true,"id":2233}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"2230":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"2231":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"2232":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"2233":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"2234":{"stops":[{"__isSmartRef__":true,"id":2235},{"__isSmartRef__":true,"id":2236},{"__isSmartRef__":true,"id":2237},{"__isSmartRef__":true,"id":2238}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"2235":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"2236":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"2237":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"2238":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"2239":{"partsSpaceName":"PartsBin/Inputs","migrationLevel":4,"partName":"ScriptableButton","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":2240}],"revisionOnLoad":154251,"idOnLoad":"50D70A55-3D12-477A-8071-D753B5FD5274","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2240":{"date":{"__isSmartRef__":true,"id":2241},"author":"robertkrahn","message":"no comment","id":"0366C0A2-0C8E-4AEB-AAC3-120434134545"},"2241":{"isSerializedDate":true,"string":"Sat Apr 21 2012 14:10:10 GMT+0200 (CEST)"},"2242":{"sourceObj":{"__isSmartRef__":true,"id":2210},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2210},"targetMethodName":"onFire","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2243":{"morph":{"__isSmartRef__":true,"id":2210},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2244":{"submorphs":[],"scripts":[],"id":"364FF344-E489-461B-BC8C-ED45E4823ED4","shape":{"__isSmartRef__":true,"id":2245},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"HighlightRectangle","partsBinMetaInfo":{"__isSmartRef__":true,"id":2246},"eventHandler":{"__isSmartRef__":true,"id":2287},"attributeConnections":[{"__isSmartRef__":true,"id":2288},{"__isSmartRef__":true,"id":2289},{"__isSmartRef__":true,"id":2290}],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","6FECB598-D130-4242-BF1B-E18767608129","0B23F218-078F-4912-A262-31B957885F41","C56BA290-B836-4946-B4EF-DBB6FBA2368C","61176BAF-CFE6-4F2C-9F0A-971AAD6595A1","CB4127B2-0AA5-4B50-9978-F1FF39924A82","113050BB-CF0E-4193-91C6-9C25FC857EE8","EFF939E4-317B-4662-943F-77A6E6F65BD0","AA288E7F-3972-4F0D-87DD-61E4BD9C9C97","903E8C60-1158-42D5-85D2-DF134DA6CEC1","28FD6210-A549-4A11-9178-04E77FF556C0","B3312E29-D786-469F-865E-91FD69475A52","D947A1C1-DCBE-4485-A33D-DF549F6978E0","56CE0E60-45BE-43FF-9C6C-296D8AC326B6","CC61E3F8-8C8D-4F24-A591-023D3C88DEC8"],"partTests":{"__isSmartRef__":true,"id":2292},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"prevScroll":[0,0],"#startLetters":"","eventsAreDisabled":false,"_HandStyle":"default","_PointerEvents":"auto","_Rotation":0,"_Scale":1.0060210561262526,"owner":null,"magnifierButton":{"__isSmartRef__":true,"id":2210},"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2297},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(10.0,30.0)","distanceToDragEvent":"lively.pt(44.0,-14.0)"},"2245":{"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":0.2597,"_BorderStyle":"hidden","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(950.8,583.9)","_BorderColor":"Color.rgb(204,0,0)","_Fill":"Color.rgb(58,0,255)","_Padding":"lively.rect(0,0,0,0)"},"2246":{"partsSpaceName":"PartsBin/Tools","comment":"A rectangle which highlights the object under the first hand of the world","migrationLevel":4,"partName":"HighlightRectangle","changes":[{"__isSmartRef__":true,"id":2247},{"__isSmartRef__":true,"id":2249},{"__isSmartRef__":true,"id":2251},{"__isSmartRef__":true,"id":2253},{"__isSmartRef__":true,"id":2255},{"__isSmartRef__":true,"id":2257},{"__isSmartRef__":true,"id":2259},{"__isSmartRef__":true,"id":2261},{"__isSmartRef__":true,"id":2263},{"__isSmartRef__":true,"id":2265},{"__isSmartRef__":true,"id":2267},{"__isSmartRef__":true,"id":2269},{"__isSmartRef__":true,"id":2271},{"__isSmartRef__":true,"id":2273},{"__isSmartRef__":true,"id":2275},{"__isSmartRef__":true,"id":2277},{"__isSmartRef__":true,"id":2279},{"__isSmartRef__":true,"id":2281},{"__isSmartRef__":true,"id":2283},{"__isSmartRef__":true,"id":2285}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2247":{"date":{"__isSmartRef__":true,"id":2248},"author":"timfelgentreff","message":"no comment","id":"3DB7DB40-210A-4BED-91FD-9287005703EC"},"2248":{"isSerializedDate":true,"string":"Thu May 24 2012 17:04:54 GMT+0200 (CEST)"},"2249":{"date":{"__isSmartRef__":true,"id":2250},"author":"tessi","message":"no comment","id":"23D7AA12-66A9-4C3B-B494-131256C291AC"},"2250":{"isSerializedDate":true,"string":"Thu May 24 2012 16:57:13 GMT+0200 (CEST)"},"2251":{"date":{"__isSmartRef__":true,"id":2252},"author":"tessi","message":"no comment","id":"2C30B7CA-388F-4F51-B4CF-A2E50E381148"},"2252":{"isSerializedDate":true,"string":"Thu May 24 2012 16:23:11 GMT+0200 (CEST)"},"2253":{"date":{"__isSmartRef__":true,"id":2254},"author":"tessi","message":"diable events","id":"7C1F71A3-FDAC-470A-B9A9-E1F2C9FEF18E"},"2254":{"isSerializedDate":true,"string":"Thu May 24 2012 14:46:08 GMT+0200 (CEST)"},"2255":{"date":{"__isSmartRef__":true,"id":2256},"author":"tessi","message":"no comment","id":"01996A33-11BC-4C15-96D7-B7D219E2E961"},"2256":{"isSerializedDate":true,"string":"Thu May 24 2012 14:39:50 GMT+0200 (CEST)"},"2257":{"date":{"__isSmartRef__":true,"id":2258},"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23"},"2258":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:36 GMT+0200 (CEST)"},"2259":{"date":{"__isSmartRef__":true,"id":2260},"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC"},"2260":{"isSerializedDate":true,"string":"Thu May 03 2012 15:51:30 GMT+0200 (CEST)"},"2261":{"date":{"__isSmartRef__":true,"id":2262},"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2"},"2262":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:53:45 GMT+0100 (CET)"},"2263":{"date":{"__isSmartRef__":true,"id":2264},"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B"},"2264":{"isSerializedDate":true,"string":"Sat Feb 25 2012 02:59:09 GMT+0100 (CET)"},"2265":{"date":{"__isSmartRef__":true,"id":2266},"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7"},"2266":{"isSerializedDate":true,"string":"Wed Mar 14 2012 10:42:26 GMT+0100 (CET)"},"2267":{"date":{"__isSmartRef__":true,"id":2268},"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350"},"2268":{"isSerializedDate":true,"string":"Mon Apr 09 2012 13:42:07 GMT+0200 (CEST)"},"2269":{"date":{"__isSmartRef__":true,"id":2270},"author":"tessi","message":"no comment","id":"4B982A01-25B3-455A-848D-89C2C3C471D7"},"2270":{"isSerializedDate":true,"string":"Thu May 24 2012 13:58:01 GMT+0200 (CEST)"},"2271":{"date":{"__isSmartRef__":true,"id":2272},"author":"tessi","message":"no comment","id":"2FD6CB7B-3BC7-4666-98B4-AACF1001954D"},"2272":{"isSerializedDate":true,"string":"Thu May 24 2012 14:07:32 GMT+0200 (CEST)"},"2273":{"date":{"__isSmartRef__":true,"id":2274},"author":"tessi","message":"no comment","id":"09CF5ECF-2C87-4B66-A164-39848628596F"},"2274":{"isSerializedDate":true,"string":"Thu May 24 2012 15:34:59 GMT+0200 (CEST)"},"2275":{"date":{"__isSmartRef__":true,"id":2276},"author":"tessi","message":"no comment","id":"252A3EB5-DB00-4CF9-BF38-2927DD1C5229"},"2276":{"isSerializedDate":true,"string":"Thu May 24 2012 16:34:29 GMT+0200 (CEST)"},"2277":{"date":{"__isSmartRef__":true,"id":2278},"author":"tessi","message":"no comment","id":"81534551-62C1-4FC9-96CB-A5AC6642CA1E"},"2278":{"isSerializedDate":true,"string":"Thu May 24 2012 16:45:49 GMT+0200 (CEST)"},"2279":{"date":{"__isSmartRef__":true,"id":2280},"author":"tessi","message":"no comment","id":"5125DE3A-D50E-4621-8490-F3A9D99C2C4C"},"2280":{"isSerializedDate":true,"string":"Thu May 24 2012 16:47:20 GMT+0200 (CEST)"},"2281":{"date":{"__isSmartRef__":true,"id":2282},"author":"tessi","message":"no comment","id":"C81A2FBF-CB0B-4A0B-9D63-F9AEDFCB5DA6"},"2282":{"isSerializedDate":true,"string":"Thu May 24 2012 16:51:06 GMT+0200 (CEST)"},"2283":{"date":{"__isSmartRef__":true,"id":2284},"author":"tessi","message":"no comment","id":"DC8EF5EC-7563-45B6-816D-20E2DC218525"},"2284":{"isSerializedDate":true,"string":"Thu May 24 2012 16:52:10 GMT+0200 (CEST)"},"2285":{"date":{"__isSmartRef__":true,"id":2286},"author":"timfelgentreff","message":"no comment","id":"E7515DFB-DE7D-4E1F-A2C3-85166DCE4942"},"2286":{"isSerializedDate":true,"string":"Thu May 24 2012 16:59:39 GMT+0200 (CEST)"},"2287":{"morph":{"__isSmartRef__":true,"id":2244},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2288":{"sourceObj":{"__isSmartRef__":true,"id":2244},"sourceAttrName":"onMouseMove","targetObj":{"__isSmartRef__":true,"id":2244},"targetMethodName":"updateOnMove","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2289":{"sourceObj":{"__isSmartRef__":true,"id":2244},"sourceAttrName":"onMouseUp","targetObj":{"__isSmartRef__":true,"id":2210},"targetMethodName":"removeHighlighting","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2290":{"sourceObj":{"__isSmartRef__":true,"id":2244},"sourceAttrName":"onMouseUp","targetObj":{"__isSmartRef__":true,"id":2},"targetMethodName":"setTarget","converterString":"function () {\n return this.sourceObj.morphUnderCursor();\n }","updaterString":null,"varMapping":{"__isSmartRef__":true,"id":2291},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2291":{"source":{"__isSmartRef__":true,"id":2244},"target":{"__isSmartRef__":true,"id":2}},"2292":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2293}},"2293":{"test01IsMorph":{"__isSmartRef__":true,"id":2294}},"2294":{"varMapping":{"__isSmartRef__":true,"id":2295},"source":"function test01IsMorph(aPart) {\n this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":2296},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2295":{"this":{"__isSmartRef__":true,"id":2292}},"2296":{},"2297":{"update":{"__isSmartRef__":true,"id":2298},"updateOnMove":{"__isSmartRef__":true,"id":2302},"bringToFront":{"__isSmartRef__":true,"id":2306},"morphUnderCursor":{"__isSmartRef__":true,"id":2314}},"2298":{"varMapping":{"__isSmartRef__":true,"id":2299},"source":"function update(morphUnderCursor) {\n if (morphUnderCursor === this.magnifierButton ||\n this.magnifierButton.submorphs.include(morphUnderCursor)) {\n morphToHighlight = this.magnifierButton.currentTarget();\n } else {\n morphToHighlight = morphUnderCursor;\n }\n\n if (morphToHighlight && morphToHighlight.world()) {\n this.setPosition(morphToHighlight.getPositionInWorld());\n this.setExtent(morphToHighlight.getExtent());\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2300},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2299":{"this":{"__isSmartRef__":true,"id":2244}},"2300":{"timestamp":{"__isSmartRef__":true,"id":2301},"user":"lauritz","tags":[]},"2301":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:29:58 GMT+0200 (CEST)"},"2302":{"varMapping":{"__isSmartRef__":true,"id":2303},"source":"function updateOnMove() {\n this.update(this.morphUnderCursor());\n this.bringToFront();\n}","funcProperties":{"__isSmartRef__":true,"id":2304},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2303":{"this":{"__isSmartRef__":true,"id":2244}},"2304":{"timestamp":{"__isSmartRef__":true,"id":2305},"user":"lauritz","tags":[]},"2305":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:18:33 GMT+0200 (CEST)"},"2306":{"varMapping":{"__isSmartRef__":true,"id":2307},"source":"function bringToFront() {\n this.renderContext().morphNode.style.zIndex= 1000;\n}","funcProperties":{"__isSmartRef__":true,"id":2312},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2307":{"this":{"__isSmartRef__":true,"id":2244},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2308}},"2308":{"$super":{"__isSmartRef__":true,"id":2309}},"2309":{"varMapping":{"__isSmartRef__":true,"id":2310},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2311},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2310":{"obj":{"__isSmartRef__":true,"id":2244},"name":"bringToFront"},"2311":{},"2312":{"timestamp":{"__isSmartRef__":true,"id":2313},"user":"lauritz","tags":[]},"2313":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:12:09 GMT+0200 (CEST)"},"2314":{"varMapping":{"__isSmartRef__":true,"id":2315},"source":"function morphUnderCursor() {\n var that = this,\n world = lively.morphic.World.current(); \n \n return world.morphsContainingPoint(world.firstHand().getPosition()).detect(\n function(ea) {\n return !ea.isPlaceholder &&\n !ea.isHalo &&\n (!ea.owner || !ea.owner.isHalo) &&\n !(ea === that);\n });\n}","funcProperties":{"__isSmartRef__":true,"id":2316},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2315":{"this":{"__isSmartRef__":true,"id":2244}},"2316":{"timestamp":{"__isSmartRef__":true,"id":2317},"user":"lauritz","tags":[]},"2317":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:18:36 GMT+0200 (CEST)"},"2318":{"onFire":{"__isSmartRef__":true,"id":2319},"removeHighlighting":{"__isSmartRef__":true,"id":2323},"onMouseMove":{"__isSmartRef__":true,"id":2327},"onMouseOut":{"__isSmartRef__":true,"id":2335},"reset":{"__isSmartRef__":true,"id":2343},"isTracking":{"__isSmartRef__":true,"id":2347},"isHighlighting":{"__isSmartRef__":true,"id":2351},"currentTarget":{"__isSmartRef__":true,"id":2355}},"2319":{"varMapping":{"__isSmartRef__":true,"id":2320},"source":"function onFire() {\n var hand = lively.morphic.World.current().firstHand(),\n highlight = this.highlightRectangle,\n that = this;\n\n if (this.isTracking()) {\n this.removeHighlighting();\n } else {\n this.world().addMorph(highlight);\n hand.highlightConnection = connect(hand, \"scrollFocusMorph\", highlight, \"update\");\n highlight.bringToFront();\n if (!this.currentTarget() || !this.currentTarget().world()) {\n highlight.setExtent(pt(0,0));\n }\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2321},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2320":{"this":{"__isSmartRef__":true,"id":2210}},"2321":{"timestamp":{"__isSmartRef__":true,"id":2322},"user":"lauritz","tags":[]},"2322":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:40:51 GMT+0200 (CEST)"},"2323":{"varMapping":{"__isSmartRef__":true,"id":2324},"source":"function removeHighlighting() {\n var hand = this.world().firstHand();\n \n if (this.highlightRectangle) {\n this.highlightRectangle.remove();\n }\n \n hand.attributeConnections.removeAt(\n hand.attributeConnections.indexOf(hand.highlightConnection));\n hand.highlightConnection = null;\n}","funcProperties":{"__isSmartRef__":true,"id":2325},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2324":{"this":{"__isSmartRef__":true,"id":2210}},"2325":{"timestamp":{"__isSmartRef__":true,"id":2326},"user":"lauritz","tags":[]},"2326":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:20:30 GMT+0200 (CEST)"},"2327":{"varMapping":{"__isSmartRef__":true,"id":2328},"source":"function onMouseMove(evt) {\n var target = this.currentTarget();\n if (target && target.world() && !this.isHighlighting()) {\n this.highlightRectangle.update(target);\n this.world().addMorph(this.highlightRectangle);\n this.highlightRectangle.bringToFront();\n this.targetHighlight = this.highlightRectangle;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2333},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2328":{"this":{"__isSmartRef__":true,"id":2210},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2329}},"2329":{"$super":{"__isSmartRef__":true,"id":2330}},"2330":{"varMapping":{"__isSmartRef__":true,"id":2331},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2332},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2331":{"obj":{"__isSmartRef__":true,"id":2210},"name":"onMouseMove"},"2332":{},"2333":{"timestamp":{"__isSmartRef__":true,"id":2334},"user":"lauritz","tags":[]},"2334":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:25:52 GMT+0200 (CEST)"},"2335":{"varMapping":{"__isSmartRef__":true,"id":2336},"source":"function onMouseOut() {\n if (this.isHighlighting()) {\n if (!this.isTracking()) {\n this.targetHighlight.remove();\n }\n delete this.targetHighlight;\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2341},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2336":{"this":{"__isSmartRef__":true,"id":2210},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2337}},"2337":{"$super":{"__isSmartRef__":true,"id":2338}},"2338":{"varMapping":{"__isSmartRef__":true,"id":2339},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2340},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2339":{"obj":{"__isSmartRef__":true,"id":2210},"name":"onMouseOut"},"2340":{},"2341":{"timestamp":{"__isSmartRef__":true,"id":2342},"user":"lauritz","tags":[]},"2342":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:21:57 GMT+0200 (CEST)"},"2343":{"varMapping":{"__isSmartRef__":true,"id":2344},"source":"function reset() {\n this.highlightRectangle.attributeConnections = [];\n \n connect(rect, \"onMouseMove\", this.highlightRectangle, \"updateOnMove\")\n connect(rect, \"onMouseUp\", this, \"removeHighlighting\")\n connect(rect, \"onMouseUp\", this.owner, \"setTarget\",\n {converter: function () {\n return this.sourceObj.morphUnderCursor();\n }\n })\n}","funcProperties":{"__isSmartRef__":true,"id":2345},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2344":{"this":{"__isSmartRef__":true,"id":2210}},"2345":{"timestamp":{"__isSmartRef__":true,"id":2346},"user":"lauritz","tags":[]},"2346":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:20:55 GMT+0200 (CEST)"},"2347":{"varMapping":{"__isSmartRef__":true,"id":2348},"source":"function isTracking() {\n return !!this.world().firstHand().highlightConnection;\n}","funcProperties":{"__isSmartRef__":true,"id":2349},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2348":{"this":{"__isSmartRef__":true,"id":2210}},"2349":{"timestamp":{"__isSmartRef__":true,"id":2350},"user":"lauritz","tags":[]},"2350":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:11:25 GMT+0200 (CEST)"},"2351":{"varMapping":{"__isSmartRef__":true,"id":2352},"source":"function isHighlighting() {\n return !!this.targetHighlight;\n}","funcProperties":{"__isSmartRef__":true,"id":2353},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2352":{"this":{"__isSmartRef__":true,"id":2210}},"2353":{"timestamp":{"__isSmartRef__":true,"id":2354},"user":"lauritz","tags":[]},"2354":{"isSerializedDate":true,"string":"Fri Aug 03 2012 14:11:22 GMT+0200 (CEST)"},"2355":{"varMapping":{"__isSmartRef__":true,"id":2356},"source":"function currentTarget() {\n return this.owner.target;\n}","funcProperties":{"__isSmartRef__":true,"id":2357},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2356":{"this":{"__isSmartRef__":true,"id":2210}},"2357":{"timestamp":{"__isSmartRef__":true,"id":2358},"user":"lauritz","tags":[]},"2358":{"isSerializedDate":true,"string":"Wed Jun 06 2012 18:26:02 GMT+0200 (CEST)"},"2359":{"target":{"__isSmartRef__":true,"id":2},"selector":"update","args":[],"stopped":false,"tickTime":500,"suspended":false,"__LivelyClassName__":"lively.morphic.TargetScript","__SourceModuleName__":"Global.lively.morphic.Core"},"2360":{"_BorderWidth":1,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_ClipMode":"visible","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(808.0,431.8)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"2361":{"partsSpaceName":"PartsBin/Basic","comment":"Edit scripts and connections of a specific morph.","migrationLevel":4,"partName":"ObjectEditorPane","changes":[{"__isSmartRef__":true,"id":2362}],"idOnLoad":"64E7176E-4A7A-4067-8476-1CAEFB8ED443","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"2362":{"date":{"__isSmartRef__":true,"id":2363},"author":"lauritz","message":"Adapted the update behavior on ticks. Reduces the impact of HTML's autoscroll to selected list items."},"2363":{"isSerializedDate":true,"string":"Fri Oct 21 2011 00:39:30 GMT+0200 (CEST)"},"2364":{"morph":{"__isSmartRef__":true,"id":2},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2365":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"2366":{},"2367":{"displayInitialScript":{"__isSmartRef__":true,"id":2368},"displayJavaScriptSource":{"__isSmartRef__":true,"id":2372},"displaySourceForConnection":{"__isSmartRef__":true,"id":2376},"displaySourceForScript":{"__isSmartRef__":true,"id":2380},"generateSourceForConnection":{"__isSmartRef__":true,"id":2384},"generateSourceForScript":{"__isSmartRef__":true,"id":2388},"generateTargetCode":{"__isSmartRef__":true,"id":2392},"newConnection":{"__isSmartRef__":true,"id":2396},"newScript":{"__isSmartRef__":true,"id":2400},"reset":{"__isSmartRef__":true,"id":2404},"selectChangedContent":{"__isSmartRef__":true,"id":2408},"setTarget":{"__isSmartRef__":true,"id":2412},"sortedConnectionNamesOfObj":{"__isSmartRef__":true,"id":2416},"sortedScriptNamesOfObj":{"__isSmartRef__":true,"id":2420},"updateLists":{"__isSmartRef__":true,"id":2424},"onShutdown":{"__isSmartRef__":true,"id":2428},"confirmUnsavedChanges":{"__isSmartRef__":true,"id":2432},"update":{"__isSmartRef__":true,"id":2436},"ensureAnnotationLayer":{"__isSmartRef__":true,"id":2440},"copyToPartsBinWithUserRequest":{"__isSmartRef__":true,"id":2444},"printTags":{"__isSmartRef__":true,"id":2452},"setTag":{"__isSmartRef__":true,"id":2456},"runScript":{"__isSmartRef__":true,"id":2460},"openPartTestRunner":{"__isSmartRef__":true,"id":2464},"hasUnsavedChanges":{"__isSmartRef__":true,"id":2468}},"2368":{"varMapping":{"__isSmartRef__":true,"id":2369},"source":"function displayInitialScript() {\n if (this.scriptList.getList().size() > 1) {\n this.scriptList.preselectItem();\n } else if (this.connectionList.getList().size() > 1) {\n this.connectionList.preselectItem();\n } else {\n this.scriptList.selectAt(0);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2370},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2369":{"this":{"__isSmartRef__":true,"id":2}},"2370":{"timestamp":{"__isSmartRef__":true,"id":2371},"user":"lauritz","tags":[]},"2371":{"isSerializedDate":true,"string":"Thu Nov 17 2011 04:13:43 GMT+0100 (CET)"},"2372":{"varMapping":{"__isSmartRef__":true,"id":2373},"source":"function displayJavaScriptSource(jsCode) {\n if (this.scriptPane.hasChanged()) {\n var that = this;\n var callback = function(confirmed) {\n if (confirmed) that.scriptPane.display(jsCode)\n };\n this.confirmUnsavedChanges(callback);\n } else {\n this.scriptPane.display(jsCode);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2374},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2373":{"this":{"__isSmartRef__":true,"id":2}},"2374":{"timestamp":{"__isSmartRef__":true,"id":2375},"user":"lauritz","tags":[]},"2375":{"isSerializedDate":true,"string":"Thu Nov 17 2011 04:59:26 GMT+0100 (CET)"},"2376":{"varMapping":{"__isSmartRef__":true,"id":2377},"source":"function displaySourceForConnection(connection) {\n var code = \"\", that = this;\n if (connection === undefined) return;\n if (connection === null) {\n this.sortedConnectionNamesOfObj(this.target).forEach(function(each) {\n code = code.concat(that.generateSourceForConnection(each[1])).concat(\"\\n\\n\");\n });\n code = code.substring(0, code.length - \"\\n\\n\".length - 1);\n } else {\n code = this.generateSourceForConnection(connection);\n }\n this.displayJavaScriptSource(code);\n}","funcProperties":{"__isSmartRef__":true,"id":2378},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2377":{"this":{"__isSmartRef__":true,"id":2}},"2378":{"timestamp":{"__isSmartRef__":true,"id":2379},"user":"conradcalmez","tags":[]},"2379":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:59:30 GMT+0100 (CET)"},"2380":{"varMapping":{"__isSmartRef__":true,"id":2381},"source":"function displaySourceForScript(scriptName) {\n var code = \"\",\n that = this;\n if (scriptName === null) {\n this.sortedScriptNamesOfObj(this.target).forEach(function(each) {\n code = code.concat(that.generateSourceForScript(each)).concat(\"\\n\\n\\n\");\n });\n code = code.substring(0, code.length - \"\\n\\n\\n\".length - 1);\n } else {\n code = this.generateSourceForScript(scriptName);\n }\n if (code) this.displayJavaScriptSource(code);\n}","funcProperties":{"__isSmartRef__":true,"id":2382},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2381":{"this":{"__isSmartRef__":true,"id":2}},"2382":{"timestamp":{"__isSmartRef__":true,"id":2383},"user":"cschuster","tags":[]},"2383":{"isSerializedDate":true,"string":"Thu Aug 30 2012 08:14:26 GMT+0200 (CEST)"},"2384":{"varMapping":{"__isSmartRef__":true,"id":2385},"source":"function generateSourceForConnection(connection) {\n var c = connection, targetObject = this.target;\n\tif (!c.getTargetObj() || !c.getTargetObj().name || \n\t\t!c.getSourceObj() || !c.getSourceObj().name) return String(c);\n\n\tvar optConfig = []\n\tif (c.converterString)\n\t\toptConfig.push(\"converter: \\n\\t\" + c.converterString)\n\tif (c.updaterString)\n\t\toptConfig.push(\"updater: \\n\\t\" + c.updaterString)\n\treturn Strings.format('connect(%s, \"%s\", %s, \"%s\", {%s});', \n\t\t\tthis.generateTargetCode(targetObject, c.getSourceObj()),\n\t\t\tc.getSourceAttrName(),\n\t\t\tthis.generateTargetCode(targetObject, c.getTargetObj()),\n\t\t\tc.getTargetMethodName(),\n\t\t\toptConfig.join(','));\n\n}","funcProperties":{"__isSmartRef__":true,"id":2386},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2385":{"this":{"__isSmartRef__":true,"id":2}},"2386":{"timestamp":{"__isSmartRef__":true,"id":2387},"user":"lauritz","tags":[]},"2387":{"isSerializedDate":true,"string":"Thu Nov 17 2011 04:59:26 GMT+0100 (CET)"},"2388":{"varMapping":{"__isSmartRef__":true,"id":2389},"source":"function generateSourceForScript(scriptName) {\n var script = this.target[scriptName],\n annotation = '',\n scriptSource = '',\n tagScript = '';\n\n if (!script) return;\n\n if (script.timestamp && script.user) \n annotation = Strings.format('// changed at %s by %s \\n', script.timestamp, script.user);\n scriptSource = Strings.format('this.addScript(%s)', script.getOriginal());\n tagScript = Strings.format('.tag(%s);', this.printTags(script));\n\n return annotation + scriptSource + tagScript;\n}","funcProperties":{"__isSmartRef__":true,"id":2390},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2389":{"this":{"__isSmartRef__":true,"id":2}},"2390":{"timestamp":{"__isSmartRef__":true,"id":2391},"user":"cschuster","tags":[]},"2391":{"isSerializedDate":true,"string":"Thu Aug 30 2012 08:14:45 GMT+0200 (CEST)"},"2392":{"varMapping":{"__isSmartRef__":true,"id":2393},"source":"function generateTargetCode(baseObject, targetObject) {\n\tvar name = targetObject.name;\n\tif (baseObject === targetObject) \n\t\treturn \"this\";\n\telse if (baseObject[name] === targetObject) \n\t\treturn \"this.\" + name;\n\telse if (baseObject.testObject === targetObject) \n\t\treturn \"this.testObject\";\n\telse if (baseObject.get(name) === targetObject) \n\t\treturn 'this.get(\"' + name + '\")';\n\telse if (targetObject instanceof Morph) \n\t\treturn '$morph(\"' + name + '\")';\n\telse \n\t\treturn \"????\";\n}","funcProperties":{"__isSmartRef__":true,"id":2394},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2393":{"this":{"__isSmartRef__":true,"id":2}},"2394":{"timestamp":{"__isSmartRef__":true,"id":2395},"user":"lauritz","tags":[]},"2395":{"isSerializedDate":true,"string":"Thu Nov 17 2011 04:59:26 GMT+0100 (CET)"},"2396":{"varMapping":{"__isSmartRef__":true,"id":2397},"source":"function newConnection() {\n if (this.target) {\n var code = \"connect(SOURCE, SOURCE_PROPERTY, TARGET, TARGET_PROPERTY);\";\n this.displayJavaScriptSource(code);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2398},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2397":{"this":{"__isSmartRef__":true,"id":2}},"2398":{"timestamp":{"__isSmartRef__":true,"id":2399},"user":"lauritz","tags":[]},"2399":{"isSerializedDate":true,"string":"Thu Nov 17 2011 04:59:26 GMT+0100 (CET)"},"2400":{"varMapping":{"__isSmartRef__":true,"id":2401},"source":"function newScript() {\n if (this.target) {\n var code = \"this.addScript(function SCRIPTNAME() {\\n \\n}).tag([]);\";\n this.displayJavaScriptSource(code);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":2402},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2401":{"this":{"__isSmartRef__":true,"id":2}},"2402":{"timestamp":{"__isSmartRef__":true,"id":2403},"user":"lauritz","tags":[]},"2403":{"isSerializedDate":true,"string":"Tue Nov 29 2011 04:24:25 GMT+0100 (CET)"},"2404":{"varMapping":{"__isSmartRef__":true,"id":2405},"source":"function reset() {\n this.scriptPane = this.get('ObjectEditorScriptPane')\n this.scriptList = this.get('ObjectEditorScriptList')\n this.connectionList = this.get('ObjectEditorConnectionList')\n this.morphSelector = this.get('ObjectEditorMorphSelector')\n \n this.target = null;\n this.currentTag = null;\n \n this.scriptPane.reset();\n this.scriptList.setList();\n this.scriptList.selection = null;\n this.connectionList.setList();\n this.connectionList.selection = null;\n this.morphSelector.reset();\n this.tagChooser.reset();\n \n this.stopStepping();\n}","funcProperties":{"__isSmartRef__":true,"id":2406},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2405":{"this":{"__isSmartRef__":true,"id":2}},"2406":{"timestamp":{"__isSmartRef__":true,"id":2407},"user":"lauritz","tags":[]},"2407":{"isSerializedDate":true,"string":"Fri Aug 03 2012 11:45:36 GMT+0200 (CEST)"},"2408":{"varMapping":{"__isSmartRef__":true,"id":2409},"source":"function selectChangedContent(source) {\n\n var addScriptRegex = /this\\.addScript\\s*\\(\\s*function\\s*([^\\(]*)/g;\n var addScriptMatches = [];\n var addScriptMatch = addScriptRegex.exec(source);\n while (addScriptMatch) {\n addScriptMatches.push(addScriptMatch[1]);\n addScriptMatch = addScriptRegex.exec(source);\n }\n \n // if scripts were added, select either a specific one or all\n if (addScriptMatches.length > 0) { \n if (addScriptMatches.length === 1) {\n return this.scriptList.selectAddedScript(addScriptMatches[0]);\n }\n return this.scriptList.selectAt(0);\n }\n\n var connectionRegex = \n /connect\\(\\s*([^,]*)\\s*,\\s*\"([^,]*)\"\\s*,\\s*([^,]*)\\s*,\\s*\"([^,]*)\"/g;\n var connectionMatches = [];\n var connectionMatch = connectionRegex.exec(source);\n while (connectionMatch) {\n connectionMatches.push(connectionMatch);\n connectionMatch = connectionRegex.exec(source);\n }\n\n // if connections were made, select either a specific one or all\n if (connectionMatches.length > 0) {\n if (connectionMatches.length === 1) {\n var match = connectionMatches[0];\n for (var i=0; i= logLevel) {\n console.log(logText);\n }\n },\n data: {},\n storage: function (storageName, defaultData) {\n if (!this.data[storageName]) {\n this.data[storageName] = {\n data: {},\n get: function (name) {\n if (!this.data[name]) {\n if (defaultData) {\n this.data[name] = {};\n } else {\n this.data[name] = [];\n }\n }\n return this.data[name];\n },\n set: function (name, data) {\n this.data[name] = data;\n },\n };\n }\n return this.data[storageName];\n },\n send: function (socket, channel, messageType, data) {\n if (data.broadcast) {\n socket.broadcast.to(channel).emit(messageType, data);\n }\n if (data.me) {\n socket.emit(messageType, data);\n }\n },\n logConnectedClientsFor: function (channelName) {\n var clients = this.storage(\"clients\"),\n channels = this.storage(\"channels\"),\n channel = channels.get(channelName);\n this.log(\n channelName + ': currently ' + channel.length\n + ' client' + (channel.length > 1 ? 's' : '')\n + ' connected:\\n' + channel.map(\n function (clientId) {\n return clients.get(clientId).nick;\n }).join(\", \")\n );\n },\n messages: {\n 'channel': function (socket, channel, callback) {\n // leave the old channel\n var clients = this.storage(\"clients\", true),\n channels = this.storage(\"channels\"),\n drawings = this.storage(\"drawings\"),\n morphs = this.storage(\"morphs\"),\n changes = this.storage(\"changes\"),\n oldChannel = clients.get(socket.id).channel,\n nick = clients.get(socket.id).nick,\n join = false,\n leave = false;\n\n if (oldChannel && oldChannel !== channel) {\n var idx = channels.get(oldChannel).indexOf(socket.id);\n if (idx !== -1) {\n channels.get(oldChannel).splice(idx, 1);\n }\n socket.leave(oldChannel);\n this.log(oldChannel + ': client ' + socket.id + ' disconnected', 2);\n this.log(oldChannel + ': currently connected clients:\\n' + channels.get(oldChannel));\n var data = {};\n data.broadcast = true;\n data.message = {};\n data.message.nick = nick;\n data.message.id = socket.id;\n data.message.color = clients.get(socket.id).color;\n this.send(socket, oldChannel, 'clientDisconnect', data);\n leave = true;\n }\n // join the new channel\n clients.get(socket.id).channel = channel;\n var color = (function () {\n var otherClientsInChannel = channels.get(channel),\n otherClientId,\n otherClient,\n color = {\n isNearTo: function (HSBcolor, optThreshold) {\n // returns true or false depending whether on of its\n // components differs at minimum by the threshold or\n // not\n var threshold = optThreshold || 25;\n if (Math.abs(this.h - HSBcolor.h) > threshold\n || Math.abs(this.s - HSBcolor.s) > threshold\n || Math.abs(this.b - HSBcolor.b) > threshold) {\n return false;\n }\n return true;\n }\n },\n i,\n recalculateColor;\n do {\n recalculateColor = false;\n color.h = Math.round(Math.random() * 360);\n color.s = (Math.random() * 0.5) + 0.5;\n color.b = (Math.random() * 0.5) + 0.5;\n for (i = 0; i < channels.get(channel).length; i++) {\n otherClientId = otherClientsInChannel[i];\n otherClient = clients.get(otherClientId);\n recalculateColor = color.isNearTo(otherClient.color);\n }\n } while (recalculateColor);\n return color;\n })();\n clients.get(socket.id).color = color;\n channels.get(channel).push(socket.id);\n socket.join(channel);\n this.log(channel + ': client ' + socket.id + ' connected', 2);\n this.logConnectedClientsFor(channel);\n this.send(socket, channel, 'clientConnect', {\n message: {\n nick: nick,\n color: color\n },\n broadcast: true\n });\n join = true;\n // call callback to complete\n callback(join, channel, leave, oldChannel,\n drawings.get(channel), morphs.get(channel),\n changes.get(channel));\n },\n 'disconnect': function (socket) {\n var clients = this.storage(\"clients\", true),\n channels = this.storage(\"channels\"),\n channel = clients.get(socket.id).channel,\n nick = clients.get(socket.id).nick,\n idx = channels.get(channel).indexOf(socket.id);\n if (idx !== -1) {\n channels.get(channel).splice(idx, 1);\n }\n delete clients[socket.id];\n socket.leave(channel);\n var data = {};\n data.broadcast = true;\n data.message = {};\n data.message.nick = nick;\n data.message.id = socket.id;\n data.message.color = clients.get(socket.id).color;\n this.send(socket, channel, 'clientDisconnect', data);\n this.log(channel + ': client ' + socket.id + ' disconnected', 2);\n this.logConnectedClientsFor(channel);\n },\n 'nick': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n newNick = data.message,\n oldNick = clients.get(socket.id).nick;\n if (newNick !== oldNick) {\n this.log('got new name ' + data.message + ' for socket ' + socket.id, 2);\n clients.get(socket.id).nick = newNick;\n data.message = {\n id: socket.id,\n old: oldNick,\n new: newNick,\n color: clients.get(socket.id).color\n };\n this.send(socket, clients.get(socket.id).channel, 'nick', data);\n } else {\n this.log('got same name ' + data.message + ' for socket ' + socket.id, 2);\n }\n },\n 'ping': function (socket, data) {\n var clients = this.storage(\"clients\", true);\n this.send(socket, clients.get(socket.id).channel, 'pong', data);\n },\n 'chat': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n chatLog = this.storage(\"chatLog\"),\n channel = clients.get(socket.id).channel,\n nick = clients.get(socket.id).nick,\n color = clients.get(socket.id).color,\n chatMessage = {};\n chatMessage.message = {\n time: new Date().getTime(),\n nick: nick,\n text: data.message\n };\n chatLog.get(channel).push(chatMessage);\n chatMessage.message.color = color;\n chatMessage.broadcast = data.broadcast;\n chatMessage.me = data.me;\n this.send(socket, channel, 'chat', chatMessage);\n },\n 'names': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n channels = this.storage(\"channels\"),\n channel = clients.get(socket.id).channel;\n this.log('names', 3);\n this.send(socket, channel, 'names', {\n message: channels.get(channel).map(function (id) {\n var client = clients.get(id);\n return {nick: client.nick, color: client.color};\n }),\n me: true,\n broadcast: false\n });\n },\n 'draw': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n drawings = this.storage(\"drawings\"),\n channel = clients.get(socket.id).channel;\n this.log('draw: ' + data.message.identifier + 'socket: ' + socket.id, 2);\n drawings.get(channel).push(data.message);\n this.send(socket, channel, 'draw', data);\n },\n 'morph': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n channel = clients.get(socket.id).channel;\n data.message.id = socket.id;\n this.send(socket, channel, 'morph', data);\n },\n 'clear': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n drawings = this.storage(\"drawings\"),\n morphs = this.storage(\"morphs\"),\n changes = this.storage(\"changes\"),\n channel = clients.get(socket.id).channel;\n this.log('clear', 2);\n this.send(socket, clients.get(socket.id).channel, 'clear', data);\n drawings.set(channel, drawings.get(channel).filter(function (ea) {\n return false;\n }));\n morphs.set(channel, morphs.get(channel).filter(function (ea) {\n return false;\n }));\n changes.set(channel, changes.get(channel).filter(function (ea) {\n return false;\n }));\n },\n 'delete': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n drawings = this.storage(\"drawings\"),\n channel = clients.get(socket.id).channel;\n this.log('delete: ' + data.message + 'socket: ' + socket.id, 2);\n drawings.set(channel, drawings.get(channel).filter(function (ea) {\n return ea.identifier !== data.message;\n }));\n this.send(socket, channel, 'delete', data);\n },\n 'change': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n changes = this.storage(\"changes\"),\n channel = clients.get(socket.id).channel;\n changes.get(channel).push(data.message);\n this.send(socket, clients.get(socket.id).channel, 'change', data);\n },\n 'mouse': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n morphs = this.storage(\"morphs\"),\n channel = clients.get(socket.id).channel,\n i;\n data.message.id = socket.id;\n data.message.nick = clients.get(socket.id).nick;\n data.message.color = clients.get(socket.id).color;\n if (data.message.morphs) {\n for (i = 0; i < data.message.morphs.length; i++) {\n if (data.message.morphs[i].morph) {\n data.message.morphs[i].position = {\n x: data.message.x + data.message.morphs[i].offset.x,\n y: data.message.y + data.message.morphs[i].offset.y\n };\n morphs.get(channel).push(data.message.morphs[i]);\n }\n }\n }\n else if (data.message.isNewMorphPosition) {\n morphs.get(channel).forEach(function (ea) {\n if (ea.morph\n && data.message.ids.indexOf(ea.identifier) >= 0\n ) {\n ea.position = {\n x: data.message.x + data.message.offset.x,\n y: data.message.y + data.message.offset.y\n };\n }\n });\n }\n else if (data.message.remove) {\n var channelMorphs = morphs.get(channel),\n morph,\n id;\n for (i = 0; i < channelMorphs.length; i++) {\n morph = channelMorphs[i],\n id = morph.identifier;\n if (data.message.remove.indexOf(id) >= 0) {\n console.log(morph);\n channelMorphs.splice(i, 1);\n }\n }\n }\n this.send(socket, clients.get(socket.id).channel, 'mouse', data);\n }\n }\n};\n\n(function bootstrap(server) {\n var io = require('socket.io').listen(server.port);\n\n io.configure(function () {\n io.set('transports', ['websocket', 'xhr-polling']);\n io.set('log level', 0);\n io.set('authorization', function (handshakeData, callback) {\n // TODO implement some sort of auth (maybe send cookie...)\n callback(null, true);\n });\n io.set('heartbeat timeout', 30);\n io.set('heartbeat interval', 15);\n io.set('close timeout', 0);\n });\n\n io.sockets.on('connection', function (socket) {\n var message;\n function wrapper(message) {\n var messageFunc = server.messages[message];\n return function (/* arguments */) {\n var args = [socket].concat(Array.prototype.slice.call(arguments));\n return messageFunc.apply(server, args);\n };\n }\n for (message in server.messages) {\n if (server.messages.hasOwnProperty(message)) {\n socket.on(\n message,\n wrapper(message)\n );\n }\n }\n });\n})(SyncMorphServer);\n\n","sourceString":"var SyncMorphServer = {\n // new port for websockets, even from outside\n // old auto-configured port: 8110,\n port: 4000,\n logLevel: 1,\n log: function (logText, optLevel) {\n var logLevel = optLevel || 1;\n if (this.logLevel >= logLevel) {\n console.log(logText);\n }\n },\n data: {},\n storage: function (storageName, defaultData) {\n if (!this.data[storageName]) {\n this.data[storageName] = {\n data: {},\n get: function (name) {\n if (!this.data[name]) {\n if (defaultData) {\n this.data[name] = {};\n } else {\n this.data[name] = [];\n }\n }\n return this.data[name];\n },\n set: function (name, data) {\n this.data[name] = data;\n },\n };\n }\n return this.data[storageName];\n },\n send: function (socket, channel, messageType, data) {\n if (data.broadcast) {\n socket.broadcast.to(channel).emit(messageType, data);\n }\n if (data.me) {\n socket.emit(messageType, data);\n }\n },\n logConnectedClientsFor: function (channelName) {\n var clients = this.storage(\"clients\"),\n channels = this.storage(\"channels\"),\n channel = channels.get(channelName);\n this.log(\n channelName + ': currently ' + channel.length\n + ' client' + (channel.length > 1 ? 's' : '')\n + ' connected:\\n' + channel.map(\n function (clientId) {\n return clients.get(clientId).nick;\n }).join(\", \")\n );\n },\n messages: {\n 'channel': function (socket, channel, callback) {\n // leave the old channel\n var clients = this.storage(\"clients\", true),\n channels = this.storage(\"channels\"),\n drawings = this.storage(\"drawings\"),\n morphs = this.storage(\"morphs\"),\n changes = this.storage(\"changes\"),\n oldChannel = clients.get(socket.id).channel,\n nick = clients.get(socket.id).nick,\n join = false,\n leave = false;\n\n if (oldChannel && oldChannel !== channel) {\n var idx = channels.get(oldChannel).indexOf(socket.id);\n if (idx !== -1) {\n channels.get(oldChannel).splice(idx, 1);\n }\n socket.leave(oldChannel);\n this.log(oldChannel + ': client ' + socket.id + ' disconnected', 2);\n this.log(oldChannel + ': currently connected clients:\\n' + channels.get(oldChannel));\n var data = {};\n data.broadcast = true;\n data.message = {};\n data.message.nick = nick;\n data.message.id = socket.id;\n data.message.color = clients.get(socket.id).color;\n this.send(socket, oldChannel, 'clientDisconnect', data);\n leave = true;\n }\n // join the new channel\n clients.get(socket.id).channel = channel;\n var color = (function () {\n var otherClientsInChannel = channels.get(channel),\n otherClientId,\n otherClient,\n color = {\n isNearTo: function (HSBcolor, optThreshold) {\n // returns true or false depending whether on of its\n // components differs at minimum by the threshold or\n // not\n var threshold = optThreshold || 25;\n if (Math.abs(this.h - HSBcolor.h) > threshold\n || Math.abs(this.s - HSBcolor.s) > threshold\n || Math.abs(this.b - HSBcolor.b) > threshold) {\n return false;\n }\n return true;\n }\n },\n i,\n recalculateColor;\n do {\n recalculateColor = false;\n color.h = Math.round(Math.random() * 360);\n color.s = (Math.random() * 0.5) + 0.5;\n color.b = (Math.random() * 0.5) + 0.5;\n for (i = 0; i < channels.get(channel).length; i++) {\n otherClientId = otherClientsInChannel[i];\n otherClient = clients.get(otherClientId);\n recalculateColor = color.isNearTo(otherClient.color);\n }\n } while (recalculateColor);\n return color;\n })();\n clients.get(socket.id).color = color;\n channels.get(channel).push(socket.id);\n socket.join(channel);\n this.log(channel + ': client ' + socket.id + ' connected', 2);\n this.logConnectedClientsFor(channel);\n this.send(socket, channel, 'clientConnect', {\n message: {\n nick: nick,\n color: color\n },\n broadcast: true\n });\n join = true;\n // call callback to complete\n callback(join, channel, leave, oldChannel,\n drawings.get(channel), morphs.get(channel),\n changes.get(channel));\n },\n 'disconnect': function (socket) {\n var clients = this.storage(\"clients\", true),\n channels = this.storage(\"channels\"),\n channel = clients.get(socket.id).channel,\n nick = clients.get(socket.id).nick,\n idx = channels.get(channel).indexOf(socket.id);\n if (idx !== -1) {\n channels.get(channel).splice(idx, 1);\n }\n delete clients[socket.id];\n socket.leave(channel);\n var data = {};\n data.broadcast = true;\n data.message = {};\n data.message.nick = nick;\n data.message.id = socket.id;\n data.message.color = clients.get(socket.id).color;\n this.send(socket, channel, 'clientDisconnect', data);\n this.log(channel + ': client ' + socket.id + ' disconnected', 2);\n this.logConnectedClientsFor(channel);\n },\n 'nick': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n newNick = data.message,\n oldNick = clients.get(socket.id).nick;\n if (newNick !== oldNick) {\n this.log('got new name ' + data.message + ' for socket ' + socket.id, 2);\n clients.get(socket.id).nick = newNick;\n data.message = {\n id: socket.id,\n old: oldNick,\n new: newNick,\n color: clients.get(socket.id).color\n };\n this.send(socket, clients.get(socket.id).channel, 'nick', data);\n } else {\n this.log('got same name ' + data.message + ' for socket ' + socket.id, 2);\n }\n },\n 'ping': function (socket, data) {\n var clients = this.storage(\"clients\", true);\n this.send(socket, clients.get(socket.id).channel, 'pong', data);\n },\n 'chat': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n chatLog = this.storage(\"chatLog\"),\n channel = clients.get(socket.id).channel,\n nick = clients.get(socket.id).nick,\n color = clients.get(socket.id).color,\n chatMessage = {};\n chatMessage.message = {\n time: new Date().getTime(),\n nick: nick,\n text: data.message\n };\n chatLog.get(channel).push(chatMessage);\n chatMessage.message.color = color;\n chatMessage.broadcast = data.broadcast;\n chatMessage.me = data.me;\n this.send(socket, channel, 'chat', chatMessage);\n },\n 'names': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n channels = this.storage(\"channels\"),\n channel = clients.get(socket.id).channel;\n this.log('names', 3);\n this.send(socket, channel, 'names', {\n message: channels.get(channel).map(function (id) {\n var client = clients.get(id);\n return {nick: client.nick, color: client.color};\n }),\n me: true,\n broadcast: false\n });\n },\n 'draw': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n drawings = this.storage(\"drawings\"),\n channel = clients.get(socket.id).channel;\n this.log('draw: ' + data.message.identifier + 'socket: ' + socket.id, 2);\n drawings.get(channel).push(data.message);\n this.send(socket, channel, 'draw', data);\n },\n 'morph': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n channel = clients.get(socket.id).channel;\n data.message.id = socket.id;\n this.send(socket, channel, 'morph', data);\n },\n 'clear': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n drawings = this.storage(\"drawings\"),\n morphs = this.storage(\"morphs\"),\n changes = this.storage(\"changes\"),\n channel = clients.get(socket.id).channel;\n this.log('clear', 2);\n this.send(socket, clients.get(socket.id).channel, 'clear', data);\n drawings.set(channel, drawings.get(channel).filter(function (ea) {\n return false;\n }));\n morphs.set(channel, morphs.get(channel).filter(function (ea) {\n return false;\n }));\n changes.set(channel, changes.get(channel).filter(function (ea) {\n return false;\n }));\n },\n 'delete': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n drawings = this.storage(\"drawings\"),\n channel = clients.get(socket.id).channel;\n this.log('delete: ' + data.message + 'socket: ' + socket.id, 2);\n drawings.set(channel, drawings.get(channel).filter(function (ea) {\n return ea.identifier !== data.message;\n }));\n this.send(socket, channel, 'delete', data);\n },\n 'change': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n changes = this.storage(\"changes\"),\n channel = clients.get(socket.id).channel;\n changes.get(channel).push(data.message);\n this.send(socket, clients.get(socket.id).channel, 'change', data);\n },\n 'mouse': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n morphs = this.storage(\"morphs\"),\n channel = clients.get(socket.id).channel,\n i;\n data.message.id = socket.id;\n data.message.nick = clients.get(socket.id).nick;\n data.message.color = clients.get(socket.id).color;\n if (data.message.morphs) {\n for (i = 0; i < data.message.morphs.length; i++) {\n if (data.message.morphs[i].morph) {\n data.message.morphs[i].position = {\n x: data.message.x + data.message.morphs[i].offset.x,\n y: data.message.y + data.message.morphs[i].offset.y\n };\n morphs.get(channel).push(data.message.morphs[i]);\n }\n }\n }\n else if (data.message.isNewMorphPosition) {\n morphs.get(channel).forEach(function (ea) {\n if (ea.morph\n && data.message.ids.indexOf(ea.identifier) >= 0\n ) {\n ea.position = {\n x: data.message.x + data.message.offset.x,\n y: data.message.y + data.message.offset.y\n };\n }\n });\n }\n else if (data.message.remove) {\n var channelMorphs = morphs.get(channel),\n morph,\n id;\n for (i = 0; i < channelMorphs.length; i++) {\n morph = channelMorphs[i],\n id = morph.identifier;\n if (data.message.remove.indexOf(id) >= 0) {\n console.log(morph);\n channelMorphs.splice(i, 1);\n }\n }\n }\n this.send(socket, clients.get(socket.id).channel, 'mouse', data);\n }\n }\n};\n\n(function bootstrap(server) {\n var io = require('socket.io').listen(server.port);\n\n io.configure(function () {\n io.set('transports', ['websocket', 'xhr-polling']);\n io.set('log level', 0);\n io.set('authorization', function (handshakeData, callback) {\n // TODO implement some sort of auth (maybe send cookie...)\n callback(null, true);\n });\n io.set('heartbeat timeout', 30);\n io.set('heartbeat interval', 15);\n io.set('close timeout', 0);\n });\n\n io.sockets.on('connection', function (socket) {\n var message;\n function wrapper(message) {\n var messageFunc = server.messages[message];\n return function (/* arguments */) {\n var args = [socket].concat(Array.prototype.slice.call(arguments));\n return messageFunc.apply(server, args);\n };\n }\n for (message in server.messages) {\n if (server.messages.hasOwnProperty(message)) {\n socket.on(\n message,\n wrapper(message)\n );\n }\n }\n });\n})(SyncMorphServer);\n\n","doNotSerialize":["$$targetURL"],"doNotCopyProperties":["$$targetURL"],"_rootNode":{"__isSmartRef__":true,"id":2847},"Pane1Selection":{"__isSmartRef__":true,"id":2900},"pane1Selection":{"__isSmartRef__":true,"id":2900},"Pane2Selection":null,"pane2Selection":null,"Pane3Selection":null,"pane3Selection":null,"Pane4Selection":null,"pane4Selection":null,"Pane4Content":["-----"],"Pane3Content":["-----"],"Pane2Content":[{"__isSmartRef__":true,"id":3007},{"__isSmartRef__":true,"id":3009}],"Pane1Content":[{"__isSmartRef__":true,"id":2844},{"__isSmartRef__":true,"id":2921},{"__isSmartRef__":true,"id":2922},{"__isSmartRef__":true,"id":2923},{"__isSmartRef__":true,"id":2924},{"__isSmartRef__":true,"id":2925},{"__isSmartRef__":true,"id":2926},{"__isSmartRef__":true,"id":2927},{"__isSmartRef__":true,"id":2928},{"__isSmartRef__":true,"id":2929},{"__isSmartRef__":true,"id":2930},{"__isSmartRef__":true,"id":2931},{"__isSmartRef__":true,"id":2932},{"__isSmartRef__":true,"id":2933},{"__isSmartRef__":true,"id":2934},{"__isSmartRef__":true,"id":2935},{"__isSmartRef__":true,"id":2936},{"__isSmartRef__":true,"id":2937},{"__isSmartRef__":true,"id":2938},{"__isSmartRef__":true,"id":2939},{"__isSmartRef__":true,"id":2940},{"__isSmartRef__":true,"id":2941},{"__isSmartRef__":true,"id":2942},{"__isSmartRef__":true,"id":2943},{"__isSmartRef__":true,"id":2944},{"__isSmartRef__":true,"id":2945},{"__isSmartRef__":true,"id":2946},{"__isSmartRef__":true,"id":2947},{"__isSmartRef__":true,"id":2948},{"__isSmartRef__":true,"id":2949},{"__isSmartRef__":true,"id":2950},{"__isSmartRef__":true,"id":2951},{"__isSmartRef__":true,"id":2952},{"__isSmartRef__":true,"id":2953},{"__isSmartRef__":true,"id":2954},{"__isSmartRef__":true,"id":2955},{"__isSmartRef__":true,"id":2956},{"__isSmartRef__":true,"id":2957},{"__isSmartRef__":true,"id":2958},{"__isSmartRef__":true,"id":2959},{"__isSmartRef__":true,"id":2960},{"__isSmartRef__":true,"id":2961},{"__isSmartRef__":true,"id":2962},{"__isSmartRef__":true,"id":2963},{"__isSmartRef__":true,"id":2964},{"__isSmartRef__":true,"id":2965},{"__isSmartRef__":true,"id":2966},{"__isSmartRef__":true,"id":2967},{"__isSmartRef__":true,"id":2968},{"__isSmartRef__":true,"id":2969},{"__isSmartRef__":true,"id":2970},{"__isSmartRef__":true,"id":2971},{"__isSmartRef__":true,"id":2972},{"__isSmartRef__":true,"id":2973},{"__isSmartRef__":true,"id":2974},{"__isSmartRef__":true,"id":2975},{"__isSmartRef__":true,"id":2976}],"view":{"__isSmartRef__":true,"id":2726},"Pane1Menu":[["Add to world requirements"],["remove"],["reparse"],["-------"],["open in text editor"],["show versions"],["diff versions"],["get module part"]],"Pane2Menu":[["-------"],["open in text editor"],["show versions"],["diff versions"],["get module part"]],"Pane3Menu":[["-------"],["open in text editor"],["show versions"],["diff versions"],["get module part"]],"currentModuleName":"server/nodejs/SyncMorphServer.js","_statusMorph":{"__isSmartRef__":true,"id":3109},"__LivelyClassName__":"lively.ide.SystemBrowser","__SourceModuleName__":"Global.lively.ide.SystemCodeBrowser"},"2736":{"browser":{"__isSmartRef__":true,"id":2735},"button":{"__isSmartRef__":true,"id":2737},"__LivelyClassName__":"lively.ide.AddNewFileCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"2737":{"submorphs":[{"__isSmartRef__":true,"id":2738}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2743},"eventHandler":{"__isSmartRef__":true,"id":2744},"_ClipMode":"visible","derivationIds":[],"id":"DBAB7523-F59D-4D0C-B284-AD7BD76F61CF","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":2738},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":2736},"attributeConnections":[{"__isSmartRef__":true,"id":2745},{"__isSmartRef__":true,"id":2747}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":2727},"layout":{"__isSmartRef__":true,"id":2749},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,220.0)"},"2738":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2739},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2740}],"eventHandler":{"__isSmartRef__":true,"id":2742},"_ClipMode":"hidden","derivationIds":[],"id":"61698C94-C704-400B-A5A0-31ABFA850DB1","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":2737},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"2739":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(117.1,22.0)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2740":{"style":{"__isSmartRef__":true,"id":2741},"chunkOwner":{"__isSmartRef__":true,"id":2738},"_id":"_50698","storedString":"Add module","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2741":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2742":{"morph":{"__isSmartRef__":true,"id":2738},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2743":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(117.1,22.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"2744":{"morph":{"__isSmartRef__":true,"id":2737},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2745":{"sourceObj":{"__isSmartRef__":true,"id":2737},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2736},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":2746},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2746":{"source":{"__isSmartRef__":true,"id":2737},"target":{"__isSmartRef__":true,"id":2736}},"2747":{"sourceObj":{"__isSmartRef__":true,"id":2737},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2737},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":2748},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2748":{"source":{"__isSmartRef__":true,"id":2737},"target":{"__isSmartRef__":true,"id":2737}},"2749":{"scaleVertical":true,"scaleHorizontal":true},"2750":{"browser":{"__isSmartRef__":true,"id":2735},"button":{"__isSmartRef__":true,"id":2751},"__LivelyClassName__":"lively.ide.AllModulesLoadCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"2751":{"submorphs":[{"__isSmartRef__":true,"id":2752}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2757},"eventHandler":{"__isSmartRef__":true,"id":2758},"_ClipMode":"visible","derivationIds":[],"id":"21E26543-6F7D-4E69-AFFB-CE60D0876DCE","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":2752},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":2750},"attributeConnections":[{"__isSmartRef__":true,"id":2759},{"__isSmartRef__":true,"id":2761}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":2727},"layout":{"__isSmartRef__":true,"id":2763},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(117.1,220.0)"},"2752":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2753},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2754}],"eventHandler":{"__isSmartRef__":true,"id":2756},"_ClipMode":"hidden","derivationIds":[],"id":"133140F4-1996-4EA6-B80F-116A7812F205","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":2751},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"2753":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(117.1,22.0)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2754":{"style":{"__isSmartRef__":true,"id":2755},"chunkOwner":{"__isSmartRef__":true,"id":2752},"_id":"_50701","storedString":"Load all","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2755":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2756":{"morph":{"__isSmartRef__":true,"id":2752},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2757":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(117.1,22.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"2758":{"morph":{"__isSmartRef__":true,"id":2751},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2759":{"sourceObj":{"__isSmartRef__":true,"id":2751},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2750},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":2760},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2760":{"source":{"__isSmartRef__":true,"id":2751},"target":{"__isSmartRef__":true,"id":2750}},"2761":{"sourceObj":{"__isSmartRef__":true,"id":2751},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2751},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":2762},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2762":{"source":{"__isSmartRef__":true,"id":2751},"target":{"__isSmartRef__":true,"id":2751}},"2763":{"scaleVertical":true,"scaleHorizontal":true},"2764":{"browser":{"__isSmartRef__":true,"id":2735},"button":{"__isSmartRef__":true,"id":2765},"__LivelyClassName__":"lively.ide.ShowLineNumbersCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"2765":{"submorphs":[{"__isSmartRef__":true,"id":2766}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2771},"eventHandler":{"__isSmartRef__":true,"id":2772},"_ClipMode":"visible","derivationIds":[],"id":"53629FA6-2574-4B75-A9DA-369EC5D66A08","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":2766},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":2764},"attributeConnections":[{"__isSmartRef__":true,"id":2773},{"__isSmartRef__":true,"id":2775}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":2727},"layout":{"__isSmartRef__":true,"id":2777},"isPressed":false,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(234.3,220.0)"},"2766":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2767},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2768}],"eventHandler":{"__isSmartRef__":true,"id":2770},"_ClipMode":"hidden","derivationIds":[],"id":"2F3B9BE8-7028-4E87-B259-6EE1083127A9","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":2765},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"2767":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(117.1,22.0)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2768":{"style":{"__isSmartRef__":true,"id":2769},"chunkOwner":{"__isSmartRef__":true,"id":2766},"_id":"_50704","storedString":"LineNo","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2769":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2770":{"morph":{"__isSmartRef__":true,"id":2766},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2771":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(117.1,22.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"2772":{"morph":{"__isSmartRef__":true,"id":2765},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2773":{"sourceObj":{"__isSmartRef__":true,"id":2765},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2764},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":2774},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2774":{"source":{"__isSmartRef__":true,"id":2765},"target":{"__isSmartRef__":true,"id":2764}},"2775":{"sourceObj":{"__isSmartRef__":true,"id":2765},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2765},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":2776},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2776":{"source":{"__isSmartRef__":true,"id":2765},"target":{"__isSmartRef__":true,"id":2765}},"2777":{"scaleVertical":true,"scaleHorizontal":true},"2778":{"browser":{"__isSmartRef__":true,"id":2735},"button":{"__isSmartRef__":true,"id":2779},"__LivelyClassName__":"lively.ide.ParserDebugCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"2779":{"submorphs":[{"__isSmartRef__":true,"id":2780}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2785},"eventHandler":{"__isSmartRef__":true,"id":2786},"_ClipMode":"visible","derivationIds":[],"id":"5C8FB5BE-E83B-49F1-B8B4-28975997B4B6","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":2780},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":2778},"attributeConnections":[{"__isSmartRef__":true,"id":2787},{"__isSmartRef__":true,"id":2789}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":2727},"layout":{"__isSmartRef__":true,"id":2791},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(351.4,220.0)"},"2780":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2781},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2782}],"eventHandler":{"__isSmartRef__":true,"id":2784},"_ClipMode":"hidden","derivationIds":[],"id":"8E213EB8-0BEC-403D-BEF3-D87D01651ED6","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":2779},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"2781":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(117.1,22.0)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2782":{"style":{"__isSmartRef__":true,"id":2783},"chunkOwner":{"__isSmartRef__":true,"id":2780},"_id":"_50707","storedString":"Dbg errors is off","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2783":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2784":{"morph":{"__isSmartRef__":true,"id":2780},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2785":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(117.1,22.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"2786":{"morph":{"__isSmartRef__":true,"id":2779},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2787":{"sourceObj":{"__isSmartRef__":true,"id":2779},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2778},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":2788},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2788":{"source":{"__isSmartRef__":true,"id":2779},"target":{"__isSmartRef__":true,"id":2778}},"2789":{"sourceObj":{"__isSmartRef__":true,"id":2779},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2779},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":2790},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2790":{"source":{"__isSmartRef__":true,"id":2779},"target":{"__isSmartRef__":true,"id":2779}},"2791":{"scaleVertical":true,"scaleHorizontal":true},"2792":{"browser":{"__isSmartRef__":true,"id":2735},"button":{"__isSmartRef__":true,"id":2793},"__LivelyClassName__":"lively.ide.EvaluateCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"2793":{"submorphs":[{"__isSmartRef__":true,"id":2794}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2799},"eventHandler":{"__isSmartRef__":true,"id":2800},"_ClipMode":"visible","derivationIds":[],"id":"F9D3E881-F1BB-4F5D-B1B2-BAE8D012091C","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":2794},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":2792},"attributeConnections":[{"__isSmartRef__":true,"id":2801},{"__isSmartRef__":true,"id":2803}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":2727},"layout":{"__isSmartRef__":true,"id":2805},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(468.6,220.0)"},"2794":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2795},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2796}],"eventHandler":{"__isSmartRef__":true,"id":2798},"_ClipMode":"hidden","derivationIds":[],"id":"0E691CB5-AC11-48ED-97CD-BAC807E11C3F","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":2793},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"2795":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(117.1,22.0)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2796":{"style":{"__isSmartRef__":true,"id":2797},"chunkOwner":{"__isSmartRef__":true,"id":2794},"_id":"_50710","storedString":"Eval on","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2797":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2798":{"morph":{"__isSmartRef__":true,"id":2794},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2799":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(117.1,22.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"2800":{"morph":{"__isSmartRef__":true,"id":2793},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2801":{"sourceObj":{"__isSmartRef__":true,"id":2793},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2792},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":2802},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2802":{"source":{"__isSmartRef__":true,"id":2793},"target":{"__isSmartRef__":true,"id":2792}},"2803":{"sourceObj":{"__isSmartRef__":true,"id":2793},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2793},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":2804},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2804":{"source":{"__isSmartRef__":true,"id":2793},"target":{"__isSmartRef__":true,"id":2793}},"2805":{"scaleVertical":true,"scaleHorizontal":true},"2806":{"browser":{"__isSmartRef__":true,"id":2735},"button":{"__isSmartRef__":true,"id":2807},"__LivelyClassName__":"lively.ide.SortCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"2807":{"submorphs":[{"__isSmartRef__":true,"id":2808}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2813},"eventHandler":{"__isSmartRef__":true,"id":2814},"_ClipMode":"visible","derivationIds":[],"id":"A9780A92-CC58-49EE-B75B-CF22DEE693A6","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":2808},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":2806},"attributeConnections":[{"__isSmartRef__":true,"id":2815},{"__isSmartRef__":true,"id":2817}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":2727},"layout":{"__isSmartRef__":true,"id":2819},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(585.7,220.0)"},"2808":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2809},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2810}],"eventHandler":{"__isSmartRef__":true,"id":2812},"_ClipMode":"hidden","derivationIds":[],"id":"74694B76-AB00-410B-B197-B7A1016FC31B","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":2807},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"2809":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(117.1,22.0)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2810":{"style":{"__isSmartRef__":true,"id":2811},"chunkOwner":{"__isSmartRef__":true,"id":2808},"_id":"_50713","storedString":"Sort","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2811":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2812":{"morph":{"__isSmartRef__":true,"id":2808},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2813":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(117.1,22.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"2814":{"morph":{"__isSmartRef__":true,"id":2807},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2815":{"sourceObj":{"__isSmartRef__":true,"id":2807},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2806},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":2816},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2816":{"source":{"__isSmartRef__":true,"id":2807},"target":{"__isSmartRef__":true,"id":2806}},"2817":{"sourceObj":{"__isSmartRef__":true,"id":2807},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2807},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":2818},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2818":{"source":{"__isSmartRef__":true,"id":2807},"target":{"__isSmartRef__":true,"id":2807}},"2819":{"scaleVertical":true,"scaleHorizontal":true},"2820":{"browser":{"__isSmartRef__":true,"id":2735},"button":{"__isSmartRef__":true,"id":2821},"__LivelyClassName__":"lively.ide.ViewSourceCommand","__SourceModuleName__":"Global.lively.ide.BrowserCommands"},"2821":{"submorphs":[{"__isSmartRef__":true,"id":2822}],"scripts":[],"shape":{"__isSmartRef__":true,"id":2827},"eventHandler":{"__isSmartRef__":true,"id":2828},"_ClipMode":"visible","derivationIds":[],"id":"BFA269AB-C8A7-402B-A038-FDB41BDB1B3C","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":2822},"_PreviousBorderWidth":1,"command":{"__isSmartRef__":true,"id":2820},"attributeConnections":[{"__isSmartRef__":true,"id":2829},{"__isSmartRef__":true,"id":2831}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"owner":{"__isSmartRef__":true,"id":2727},"layout":{"__isSmartRef__":true,"id":2833},"isPressed":false,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(702.9,220.0)"},"2822":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2823},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":2824}],"eventHandler":{"__isSmartRef__":true,"id":2826},"_ClipMode":"hidden","derivationIds":[],"id":"FD68973D-6B20-4ED6-BFC8-AB76C32DE61E","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":9,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":2821},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"2823":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(117.1,22.0)","_Padding":"lively.rect(0,4,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"2824":{"style":{"__isSmartRef__":true,"id":2825},"chunkOwner":{"__isSmartRef__":true,"id":2822},"_id":"_50716","storedString":"View as...","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2825":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"2826":{"morph":{"__isSmartRef__":true,"id":2822},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2827":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(117.1,22.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"2828":{"morph":{"__isSmartRef__":true,"id":2821},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2829":{"sourceObj":{"__isSmartRef__":true,"id":2821},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2820},"targetMethodName":"trigger","varMapping":{"__isSmartRef__":true,"id":2830},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2830":{"source":{"__isSmartRef__":true,"id":2821},"target":{"__isSmartRef__":true,"id":2820}},"2831":{"sourceObj":{"__isSmartRef__":true,"id":2821},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2821},"targetMethodName":"setLabel","varMapping":{"__isSmartRef__":true,"id":2832},"converterString":"function () { return this.getSourceObj().command.asString() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2832":{"source":{"__isSmartRef__":true,"id":2821},"target":{"__isSmartRef__":true,"id":2821}},"2833":{"scaleVertical":true,"scaleHorizontal":true},"2834":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"2835":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"2836":{"attributes":["isClassNode","isGrammarNode","isChangeNode","isFunctionNode","isObjectNode"],"__LivelyClassName__":"lively.ide.NodeTypeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"2837":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"2838":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"2839":{"__LivelyClassName__":"lively.ide.NodeFilter","__SourceModuleName__":"Global.lively.ide.BrowserFramework"},"2840":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/server/nodejs/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"2841":{"sourceObj":{"__isSmartRef__":true,"id":2735},"sourceAttrName":"setPane1Content","targetObj":{"__isSmartRef__":true,"id":2842},"targetMethodName":"updateList","varMapping":{"__isSmartRef__":true,"id":3003},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2842":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":2843},"itemList":[{"__isSmartRef__":true,"id":2844},{"__isSmartRef__":true,"id":2921},{"__isSmartRef__":true,"id":2922},{"__isSmartRef__":true,"id":2923},{"__isSmartRef__":true,"id":2924},{"__isSmartRef__":true,"id":2925},{"__isSmartRef__":true,"id":2926},{"__isSmartRef__":true,"id":2927},{"__isSmartRef__":true,"id":2928},{"__isSmartRef__":true,"id":2929},{"__isSmartRef__":true,"id":2930},{"__isSmartRef__":true,"id":2931},{"__isSmartRef__":true,"id":2932},{"__isSmartRef__":true,"id":2933},{"__isSmartRef__":true,"id":2934},{"__isSmartRef__":true,"id":2935},{"__isSmartRef__":true,"id":2936},{"__isSmartRef__":true,"id":2937},{"__isSmartRef__":true,"id":2938},{"__isSmartRef__":true,"id":2939},{"__isSmartRef__":true,"id":2940},{"__isSmartRef__":true,"id":2941},{"__isSmartRef__":true,"id":2942},{"__isSmartRef__":true,"id":2943},{"__isSmartRef__":true,"id":2944},{"__isSmartRef__":true,"id":2945},{"__isSmartRef__":true,"id":2946},{"__isSmartRef__":true,"id":2947},{"__isSmartRef__":true,"id":2948},{"__isSmartRef__":true,"id":2949},{"__isSmartRef__":true,"id":2950},{"__isSmartRef__":true,"id":2951},{"__isSmartRef__":true,"id":2952},{"__isSmartRef__":true,"id":2953},{"__isSmartRef__":true,"id":2954},{"__isSmartRef__":true,"id":2955},{"__isSmartRef__":true,"id":2956},{"__isSmartRef__":true,"id":2957},{"__isSmartRef__":true,"id":2958},{"__isSmartRef__":true,"id":2959},{"__isSmartRef__":true,"id":2960},{"__isSmartRef__":true,"id":2961},{"__isSmartRef__":true,"id":2962},{"__isSmartRef__":true,"id":2963},{"__isSmartRef__":true,"id":2964},{"__isSmartRef__":true,"id":2965},{"__isSmartRef__":true,"id":2966},{"__isSmartRef__":true,"id":2967},{"__isSmartRef__":true,"id":2968},{"__isSmartRef__":true,"id":2969},{"__isSmartRef__":true,"id":2970},{"__isSmartRef__":true,"id":2971},{"__isSmartRef__":true,"id":2972},{"__isSmartRef__":true,"id":2973},{"__isSmartRef__":true,"id":2974},{"__isSmartRef__":true,"id":2975},{"__isSmartRef__":true,"id":2976}],"eventHandler":{"__isSmartRef__":true,"id":2977},"derivationIds":[],"id":"86A91225-D8B0-4BD2-B4F2-C020BDE3404B","_FontFamily":"Helvetica","_FontSize":10,"grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","__serializedExpressions__":["_Position"],"selection":{"__isSmartRef__":true,"id":2978},"selectedLineNo":51,"owner":{"__isSmartRef__":true,"id":2727},"layout":{"__isSmartRef__":true,"id":2979},"attributeConnections":[{"__isSmartRef__":true,"id":2980},{"__isSmartRef__":true,"id":2982},{"__isSmartRef__":true,"id":2984},{"__isSmartRef__":true,"id":2986}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2988},"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,16.5)"},"2843":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(205.0,203.5)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)"},"2844":{"isListItem":true,"string":"tests/","value":{"__isSmartRef__":true,"id":2845}},"2845":{"target":{"__isSmartRef__":true,"id":2846},"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"localName":"tests/","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2846":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/server/nodejs/tests/","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"2847":{"target":{"__isSmartRef__":true,"id":2848},"browser":{"__isSmartRef__":true,"id":2735},"parent":null,"allFiles":["server/nodejs/EduChatServer.js","server/nodejs/MasterServerStartup.js","server/nodejs/GitDAVServer.js","server/nodejs/OAuthServer.js","server/nodejs/SyncMorphServer.js","server/nodejs/Base.js","server/nodejs/SqueakEVServer.js","server/nodejs/CommandLineServer.js","server/nodejs/SocketChatServer.js","server/nodejs/StreamingTestServer.js","server/nodejs/DatabaseQueryServer.js","server/nodejs/ExampleServer.js","server/nodejs/miniprototype.js","server/nodejs/SocketIOExampleServer.js","server/nodejs/SandboxServer.js","server/nodejs/MyNewServer.js","server/nodejs/CodeSearchServer.js","server/nodejs/InstallShServer.js","server/nodejs/simpleChat.js","server/nodejs/TutorialServer.js","server/nodejs/livelyServer.js","server/nodejs/SearchServer.js","server/nodejs/OMetaServer.js","server/nodejs/AileenTest.js","server/nodejs/ReleaseMaker.js","server/nodejs/HelloWorldServer.js","server/nodejs/NewServer3.js","server/nodejs/LaTeXServer.js","server/nodejs/TestServer.js","server/nodejs/ChatServer.js","server/nodejs/FabiansPlayground.js","server/nodejs/NodeJSProcesses.js","server/nodejs/RemoteJSInterface.js","server/nodejs/DemoTestServer.js","server/nodejs/SqliteQueryServer.js","server/nodejs/NewServer.js","server/nodejs/BenchmarkServer.js","server/nodejs/MasterServer.js","server/nodejs/MartinsPlayground.js","server/nodejs/HelloWorldServer2.js","server/nodejs/EventTrackerServer.js","server/nodejs/PingServer.js","server/nodejs/CoreDiffInterfaceServer.js","server/nodejs/DistributedDoitServer.js","server/nodejs/PDFCreator.js","server/nodejs/HelloServer.js","server/nodejs/PhantomJSServer.js","server/nodejs/PongServer.js","server/nodejs/LKLoader.js","server/nodejs/WebInterface.js","server/nodejs/AJMNodeJSServer.js","server/nodejs/GridComputingServer.js","server/nodejs/CopenhagenDemoServer.js","server/nodejs/SyncServer.js"],"subNamespacePaths":[{"__isSmartRef__":true,"id":2846}],"parentNamespacePath":{"__isSmartRef__":true,"id":2849},"_childNodes":[{"__isSmartRef__":true,"id":2845},{"__isSmartRef__":true,"id":2850},{"__isSmartRef__":true,"id":2851},{"__isSmartRef__":true,"id":2852},{"__isSmartRef__":true,"id":2853},{"__isSmartRef__":true,"id":2854},{"__isSmartRef__":true,"id":2855},{"__isSmartRef__":true,"id":2856},{"__isSmartRef__":true,"id":2857},{"__isSmartRef__":true,"id":2858},{"__isSmartRef__":true,"id":2859},{"__isSmartRef__":true,"id":2860},{"__isSmartRef__":true,"id":2861},{"__isSmartRef__":true,"id":2862},{"__isSmartRef__":true,"id":2863},{"__isSmartRef__":true,"id":2864},{"__isSmartRef__":true,"id":2865},{"__isSmartRef__":true,"id":2866},{"__isSmartRef__":true,"id":2867},{"__isSmartRef__":true,"id":2868},{"__isSmartRef__":true,"id":2869},{"__isSmartRef__":true,"id":2870},{"__isSmartRef__":true,"id":2871},{"__isSmartRef__":true,"id":2872},{"__isSmartRef__":true,"id":2873},{"__isSmartRef__":true,"id":2874},{"__isSmartRef__":true,"id":2875},{"__isSmartRef__":true,"id":2876},{"__isSmartRef__":true,"id":2877},{"__isSmartRef__":true,"id":2878},{"__isSmartRef__":true,"id":2879},{"__isSmartRef__":true,"id":2880},{"__isSmartRef__":true,"id":2881},{"__isSmartRef__":true,"id":2882},{"__isSmartRef__":true,"id":2883},{"__isSmartRef__":true,"id":2884},{"__isSmartRef__":true,"id":2885},{"__isSmartRef__":true,"id":2886},{"__isSmartRef__":true,"id":2887},{"__isSmartRef__":true,"id":2888},{"__isSmartRef__":true,"id":2889},{"__isSmartRef__":true,"id":2890},{"__isSmartRef__":true,"id":2891},{"__isSmartRef__":true,"id":2892},{"__isSmartRef__":true,"id":2893},{"__isSmartRef__":true,"id":2894},{"__isSmartRef__":true,"id":2895},{"__isSmartRef__":true,"id":2896},{"__isSmartRef__":true,"id":2897},{"__isSmartRef__":true,"id":2898},{"__isSmartRef__":true,"id":2899},{"__isSmartRef__":true,"id":2900},{"__isSmartRef__":true,"id":2915},{"__isSmartRef__":true,"id":2916},{"__isSmartRef__":true,"id":2917},{"__isSmartRef__":true,"id":2918},{"__isSmartRef__":true,"id":2919}],"__LivelyClassName__":"lively.ide.SourceControlNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2848":{"__LivelyClassName__":"AnotherSourceDatabase","__SourceModuleName__":"Global.lively.ide.SourceDatabase"},"2849":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/server/nodejs/../","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"2850":{"target":{"__isSmartRef__":true,"id":2849},"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"localName":"../","__LivelyClassName__":"lively.ide.NamespaceNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2851":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/AileenTest.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2852":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/AJMNodeJSServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2853":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/Base.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2854":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/BenchmarkServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2855":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/ChatServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2856":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/CodeSearchServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2857":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/CommandLineServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2858":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/CopenhagenDemoServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2859":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/CoreDiffInterfaceServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2860":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/DatabaseQueryServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2861":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/DemoTestServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2862":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/DistributedDoitServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2863":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/EduChatServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2864":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/EventTrackerServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2865":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/ExampleServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2866":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/FabiansPlayground.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2867":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/GitDAVServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2868":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/GridComputingServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2869":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/HelloServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2870":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/HelloWorldServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2871":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/HelloWorldServer2.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2872":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/InstallShServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2873":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/LaTeXServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2874":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/livelyServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2875":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/LKLoader.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2876":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/MartinsPlayground.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2877":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/MasterServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2878":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/MasterServerStartup.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2879":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/miniprototype.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2880":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/MyNewServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2881":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/NewServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2882":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/NewServer3.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2883":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/NodeJSProcesses.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2884":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/OAuthServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2885":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/OMetaServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2886":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/PDFCreator.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2887":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/PhantomJSServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2888":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/PingServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2889":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/PongServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2890":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/ReleaseMaker.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2891":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/RemoteJSInterface.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2892":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/SandboxServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2893":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/SearchServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2894":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/simpleChat.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2895":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/SocketChatServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2896":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/SocketIOExampleServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2897":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/SqliteQueryServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2898":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/SqueakEVServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2899":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/StreamingTestServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2900":{"target":{"__isSmartRef__":true,"id":2901},"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/SyncMorphServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2901":{"name":"server/nodejs/SyncMorphServer.js","type":"completeFileDef","startIndex":0,"stopIndex":14492,"fileName":"server/nodejs/SyncMorphServer.js","_subElements":[{"__isSmartRef__":true,"id":2902},{"__isSmartRef__":true,"id":2912},{"__isSmartRef__":true,"id":2913},{"__isSmartRef__":true,"id":2914}],"sourceControl":{"__isSmartRef__":true,"id":2848},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2902":{"name":"SyncMorphServer","type":"objectDef","startIndex":0,"stopIndex":13323,"fileName":"server/nodejs/SyncMorphServer.js","_subElements":[{"__isSmartRef__":true,"id":2903},{"__isSmartRef__":true,"id":2905},{"__isSmartRef__":true,"id":2906},{"__isSmartRef__":true,"id":2907},{"__isSmartRef__":true,"id":2908},{"__isSmartRef__":true,"id":2909},{"__isSmartRef__":true,"id":2910},{"__isSmartRef__":true,"id":2911}],"sourceControl":{"__isSmartRef__":true,"id":2848},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2903":{"name":"port","type":"propertyDef","startIndex":24,"stopIndex":127,"fileName":"server/nodejs/SyncMorphServer.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":2848},"_isStatic":true,"category":{"__isSmartRef__":true,"id":2904},"_owner":{"__isSmartRef__":true,"id":2902},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2904":{"name":"default category","type":"categoryDef","startIndex":22,"stopIndex":13321,"fileName":null,"_subElements":[{"__isSmartRef__":true,"id":2903},{"__isSmartRef__":true,"id":2905},{"__isSmartRef__":true,"id":2906},{"__isSmartRef__":true,"id":2907},{"__isSmartRef__":true,"id":2908},{"__isSmartRef__":true,"id":2909},{"__isSmartRef__":true,"id":2910},{"__isSmartRef__":true,"id":2911}],"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2905":{"name":"logLevel","type":"propertyDef","startIndex":129,"stopIndex":144,"fileName":"server/nodejs/SyncMorphServer.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":2848},"_isStatic":true,"category":{"__isSmartRef__":true,"id":2904},"_owner":{"__isSmartRef__":true,"id":2902},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2906":{"name":"log","type":"propertyDef","startIndex":146,"stopIndex":314,"fileName":"server/nodejs/SyncMorphServer.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":2848},"_isStatic":true,"category":{"__isSmartRef__":true,"id":2904},"_owner":{"__isSmartRef__":true,"id":2902},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2907":{"name":"data","type":"propertyDef","startIndex":316,"stopIndex":328,"fileName":"server/nodejs/SyncMorphServer.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":2848},"_isStatic":true,"category":{"__isSmartRef__":true,"id":2904},"_owner":{"__isSmartRef__":true,"id":2902},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2908":{"name":"storage","type":"propertyDef","startIndex":330,"stopIndex":1032,"fileName":"server/nodejs/SyncMorphServer.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":2848},"_isStatic":true,"category":{"__isSmartRef__":true,"id":2904},"_owner":{"__isSmartRef__":true,"id":2902},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2909":{"name":"send","type":"propertyDef","startIndex":1034,"stopIndex":1280,"fileName":"server/nodejs/SyncMorphServer.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":2848},"_isStatic":true,"category":{"__isSmartRef__":true,"id":2904},"_owner":{"__isSmartRef__":true,"id":2902},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2910":{"name":"logConnectedClientsFor","type":"propertyDef","startIndex":1282,"stopIndex":1798,"fileName":"server/nodejs/SyncMorphServer.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":2848},"_isStatic":true,"category":{"__isSmartRef__":true,"id":2904},"_owner":{"__isSmartRef__":true,"id":2902},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2911":{"name":"messages","type":"propertyDef","startIndex":1800,"stopIndex":13320,"fileName":"server/nodejs/SyncMorphServer.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":2848},"_isStatic":true,"category":{"__isSmartRef__":true,"id":2904},"_owner":{"__isSmartRef__":true,"id":2902},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2912":{"name":null,"type":"comment","startIndex":13324,"stopIndex":13324,"fileName":"server/nodejs/SyncMorphServer.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":2848},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2913":{"name":"bootstrap","type":"functionDef","startIndex":13325,"stopIndex":14491,"fileName":"server/nodejs/SyncMorphServer.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":2848},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2914":{"name":null,"type":"comment","startIndex":14492,"stopIndex":14492,"fileName":"server/nodejs/SyncMorphServer.js","_subElements":[],"sourceControl":{"__isSmartRef__":true,"id":2848},"__LivelyClassName__":"lively.ide.FileFragment","__SourceModuleName__":"Global.lively.ide.FileParsing"},"2915":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/SyncServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2916":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/TestServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2917":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/TutorialServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2918":{"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/WebInterface.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2919":{"target":{"__isSmartRef__":true,"id":2920},"browser":{"__isSmartRef__":true,"id":2735},"__LivelyClassName__":"lively.ide.ChangeSetNode","__SourceModuleName__":"Global.lively.ide.LocalBrowser"},"2920":{"name":"Local code","__LivelyClassName__":"ChangeSet","__SourceModuleName__":"Global.lively.ChangeSet"},"2921":{"isListItem":true,"string":"../","value":{"__isSmartRef__":true,"id":2850}},"2922":{"isListItem":true,"string":"AileenTest.js (not parsed)","value":{"__isSmartRef__":true,"id":2851}},"2923":{"isListItem":true,"string":"AJMNodeJSServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2852}},"2924":{"isListItem":true,"string":"Base.js (not parsed)","value":{"__isSmartRef__":true,"id":2853}},"2925":{"isListItem":true,"string":"BenchmarkServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2854}},"2926":{"isListItem":true,"string":"ChatServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2855}},"2927":{"isListItem":true,"string":"CodeSearchServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2856}},"2928":{"isListItem":true,"string":"CommandLineServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2857}},"2929":{"isListItem":true,"string":"CopenhagenDemoServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2858}},"2930":{"isListItem":true,"string":"CoreDiffInterfaceServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2859}},"2931":{"isListItem":true,"string":"DatabaseQueryServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2860}},"2932":{"isListItem":true,"string":"DemoTestServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2861}},"2933":{"isListItem":true,"string":"DistributedDoitServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2862}},"2934":{"isListItem":true,"string":"EduChatServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2863}},"2935":{"isListItem":true,"string":"EventTrackerServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2864}},"2936":{"isListItem":true,"string":"ExampleServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2865}},"2937":{"isListItem":true,"string":"FabiansPlayground.js (not parsed)","value":{"__isSmartRef__":true,"id":2866}},"2938":{"isListItem":true,"string":"GitDAVServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2867}},"2939":{"isListItem":true,"string":"GridComputingServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2868}},"2940":{"isListItem":true,"string":"HelloServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2869}},"2941":{"isListItem":true,"string":"HelloWorldServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2870}},"2942":{"isListItem":true,"string":"HelloWorldServer2.js (not parsed)","value":{"__isSmartRef__":true,"id":2871}},"2943":{"isListItem":true,"string":"InstallShServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2872}},"2944":{"isListItem":true,"string":"LaTeXServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2873}},"2945":{"isListItem":true,"string":"livelyServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2874}},"2946":{"isListItem":true,"string":"LKLoader.js (not parsed)","value":{"__isSmartRef__":true,"id":2875}},"2947":{"isListItem":true,"string":"MartinsPlayground.js (not parsed)","value":{"__isSmartRef__":true,"id":2876}},"2948":{"isListItem":true,"string":"MasterServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2877}},"2949":{"isListItem":true,"string":"MasterServerStartup.js (not parsed)","value":{"__isSmartRef__":true,"id":2878}},"2950":{"isListItem":true,"string":"miniprototype.js (not parsed)","value":{"__isSmartRef__":true,"id":2879}},"2951":{"isListItem":true,"string":"MyNewServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2880}},"2952":{"isListItem":true,"string":"NewServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2881}},"2953":{"isListItem":true,"string":"NewServer3.js (not parsed)","value":{"__isSmartRef__":true,"id":2882}},"2954":{"isListItem":true,"string":"NodeJSProcesses.js (not parsed)","value":{"__isSmartRef__":true,"id":2883}},"2955":{"isListItem":true,"string":"OAuthServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2884}},"2956":{"isListItem":true,"string":"OMetaServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2885}},"2957":{"isListItem":true,"string":"PDFCreator.js (not parsed)","value":{"__isSmartRef__":true,"id":2886}},"2958":{"isListItem":true,"string":"PhantomJSServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2887}},"2959":{"isListItem":true,"string":"PingServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2888}},"2960":{"isListItem":true,"string":"PongServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2889}},"2961":{"isListItem":true,"string":"ReleaseMaker.js (not parsed)","value":{"__isSmartRef__":true,"id":2890}},"2962":{"isListItem":true,"string":"RemoteJSInterface.js (not parsed)","value":{"__isSmartRef__":true,"id":2891}},"2963":{"isListItem":true,"string":"SandboxServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2892}},"2964":{"isListItem":true,"string":"SearchServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2893}},"2965":{"isListItem":true,"string":"simpleChat.js (not parsed)","value":{"__isSmartRef__":true,"id":2894}},"2966":{"isListItem":true,"string":"SocketChatServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2895}},"2967":{"isListItem":true,"string":"SocketIOExampleServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2896}},"2968":{"isListItem":true,"string":"SqliteQueryServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2897}},"2969":{"isListItem":true,"string":"SqueakEVServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2898}},"2970":{"isListItem":true,"string":"StreamingTestServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2899}},"2971":{"isListItem":true,"string":"SyncMorphServer.js","value":{"__isSmartRef__":true,"id":2900}},"2972":{"isListItem":true,"string":"SyncServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2915}},"2973":{"isListItem":true,"string":"TestServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2916}},"2974":{"isListItem":true,"string":"TutorialServer.js (not parsed)","value":{"__isSmartRef__":true,"id":2917}},"2975":{"isListItem":true,"string":"WebInterface.js (not parsed)","value":{"__isSmartRef__":true,"id":2918}},"2976":{"isListItem":true,"string":"Local code","value":{"__isSmartRef__":true,"id":2919}},"2977":{"morph":{"__isSmartRef__":true,"id":2842},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"2978":{"target":{"__isSmartRef__":true,"id":2901},"browser":{"__isSmartRef__":true,"id":2735},"parent":{"__isSmartRef__":true,"id":2847},"moduleName":"server/nodejs/SyncMorphServer.js","showAll":false,"__LivelyClassName__":"lively.ide.CompleteFileFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"2979":{"scaleVertical":true,"scaleHorizontal":true},"2980":{"sourceObj":{"__isSmartRef__":true,"id":2842},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":2735},"targetMethodName":"setPane1Selection","varMapping":{"__isSmartRef__":true,"id":2981},"updaterString":"function ($upd, v) { $upd(v, this.sourceObj) }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2981":{"source":{"__isSmartRef__":true,"id":2842},"target":{"__isSmartRef__":true,"id":2735}},"2982":{"sourceObj":{"__isSmartRef__":true,"id":2842},"sourceAttrName":"getSelection","targetObj":{"__isSmartRef__":true,"id":2735},"targetMethodName":"getPane1Selection","varMapping":{"__isSmartRef__":true,"id":2983},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2983":{"source":{"__isSmartRef__":true,"id":2842},"target":{"__isSmartRef__":true,"id":2735}},"2984":{"sourceObj":{"__isSmartRef__":true,"id":2842},"sourceAttrName":"getList","targetObj":{"__isSmartRef__":true,"id":2735},"targetMethodName":"getPane1Content","varMapping":{"__isSmartRef__":true,"id":2985},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2985":{"source":{"__isSmartRef__":true,"id":2842},"target":{"__isSmartRef__":true,"id":2735}},"2986":{"sourceObj":{"__isSmartRef__":true,"id":2842},"sourceAttrName":"getMenu","targetObj":{"__isSmartRef__":true,"id":2735},"targetMethodName":"getPane1Menu","varMapping":{"__isSmartRef__":true,"id":2987},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"2987":{"source":{"__isSmartRef__":true,"id":2842},"target":{"__isSmartRef__":true,"id":2735}},"2988":{"onDownPressed":{"__isSmartRef__":true,"id":2989},"onUpPressed":{"__isSmartRef__":true,"id":2996}},"2989":{"varMapping":{"__isSmartRef__":true,"id":2990},"source":"function onDownPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":2995},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2990":{"this":{"__isSmartRef__":true,"id":2842},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2991}},"2991":{"$super":{"__isSmartRef__":true,"id":2992}},"2992":{"varMapping":{"__isSmartRef__":true,"id":2993},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":2994},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2993":{"obj":{"__isSmartRef__":true,"id":2842},"name":"onDownPressed"},"2994":{},"2995":{},"2996":{"varMapping":{"__isSmartRef__":true,"id":2997},"source":"function onUpPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":3002},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"2997":{"this":{"__isSmartRef__":true,"id":2842},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":2998}},"2998":{"$super":{"__isSmartRef__":true,"id":2999}},"2999":{"varMapping":{"__isSmartRef__":true,"id":3000},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3001},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3000":{"obj":{"__isSmartRef__":true,"id":2842},"name":"onUpPressed"},"3001":{},"3002":{},"3003":{"source":{"__isSmartRef__":true,"id":2735},"target":{"__isSmartRef__":true,"id":2842}},"3004":{"sourceObj":{"__isSmartRef__":true,"id":2735},"sourceAttrName":"setPane2Content","targetObj":{"__isSmartRef__":true,"id":3005},"targetMethodName":"updateList","varMapping":{"__isSmartRef__":true,"id":3036},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3005":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3006},"itemList":[{"__isSmartRef__":true,"id":3007},{"__isSmartRef__":true,"id":3009}],"eventHandler":{"__isSmartRef__":true,"id":3011},"derivationIds":[],"id":"FE05A746-CFDB-46FD-BD16-4829293E1403","_FontFamily":"Helvetica","_FontSize":10,"grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","__serializedExpressions__":["_Position"],"selection":null,"selectedLineNo":-1,"owner":{"__isSmartRef__":true,"id":2727},"layout":{"__isSmartRef__":true,"id":3012},"attributeConnections":[{"__isSmartRef__":true,"id":3013},{"__isSmartRef__":true,"id":3015},{"__isSmartRef__":true,"id":3017},{"__isSmartRef__":true,"id":3019}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3021},"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(205.0,16.5)"},"3006":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(205.0,203.5)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)"},"3007":{"isListItem":true,"string":"SyncMorphServer (object)","value":{"__isSmartRef__":true,"id":3008}},"3008":{"target":{"__isSmartRef__":true,"id":2902},"browser":{"__isSmartRef__":true,"id":2735},"__LivelyClassName__":"lively.ide.ObjectFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"3009":{"isListItem":true,"string":"bootstrap (function)","value":{"__isSmartRef__":true,"id":3010}},"3010":{"target":{"__isSmartRef__":true,"id":2913},"browser":{"__isSmartRef__":true,"id":2735},"__LivelyClassName__":"lively.ide.FunctionFragmentNode","__SourceModuleName__":"Global.lively.ide.SystemBrowserNodes"},"3011":{"morph":{"__isSmartRef__":true,"id":3005},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3012":{"scaleVertical":true,"scaleHorizontal":true},"3013":{"sourceObj":{"__isSmartRef__":true,"id":3005},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":2735},"targetMethodName":"setPane2Selection","varMapping":{"__isSmartRef__":true,"id":3014},"updaterString":"function ($upd, v) { $upd(v, this.sourceObj) }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3014":{"source":{"__isSmartRef__":true,"id":3005},"target":{"__isSmartRef__":true,"id":2735}},"3015":{"sourceObj":{"__isSmartRef__":true,"id":3005},"sourceAttrName":"getSelection","targetObj":{"__isSmartRef__":true,"id":2735},"targetMethodName":"getPane2Selection","varMapping":{"__isSmartRef__":true,"id":3016},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3016":{"source":{"__isSmartRef__":true,"id":3005},"target":{"__isSmartRef__":true,"id":2735}},"3017":{"sourceObj":{"__isSmartRef__":true,"id":3005},"sourceAttrName":"getList","targetObj":{"__isSmartRef__":true,"id":2735},"targetMethodName":"getPane2Content","varMapping":{"__isSmartRef__":true,"id":3018},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3018":{"source":{"__isSmartRef__":true,"id":3005},"target":{"__isSmartRef__":true,"id":2735}},"3019":{"sourceObj":{"__isSmartRef__":true,"id":3005},"sourceAttrName":"getMenu","targetObj":{"__isSmartRef__":true,"id":2735},"targetMethodName":"getPane2Menu","varMapping":{"__isSmartRef__":true,"id":3020},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3020":{"source":{"__isSmartRef__":true,"id":3005},"target":{"__isSmartRef__":true,"id":2735}},"3021":{"onDownPressed":{"__isSmartRef__":true,"id":3022},"onUpPressed":{"__isSmartRef__":true,"id":3029}},"3022":{"varMapping":{"__isSmartRef__":true,"id":3023},"source":"function onDownPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":3028},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3023":{"this":{"__isSmartRef__":true,"id":3005},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3024}},"3024":{"$super":{"__isSmartRef__":true,"id":3025}},"3025":{"varMapping":{"__isSmartRef__":true,"id":3026},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3027},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3026":{"obj":{"__isSmartRef__":true,"id":3005},"name":"onDownPressed"},"3027":{},"3028":{},"3029":{"varMapping":{"__isSmartRef__":true,"id":3030},"source":"function onUpPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":3035},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3030":{"this":{"__isSmartRef__":true,"id":3005},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3031}},"3031":{"$super":{"__isSmartRef__":true,"id":3032}},"3032":{"varMapping":{"__isSmartRef__":true,"id":3033},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3034},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3033":{"obj":{"__isSmartRef__":true,"id":3005},"name":"onUpPressed"},"3034":{},"3035":{},"3036":{"source":{"__isSmartRef__":true,"id":2735},"target":{"__isSmartRef__":true,"id":3005}},"3037":{"sourceObj":{"__isSmartRef__":true,"id":2735},"sourceAttrName":"setPane3Content","targetObj":{"__isSmartRef__":true,"id":3038},"targetMethodName":"updateList","varMapping":{"__isSmartRef__":true,"id":3065},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3038":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3039},"itemList":["-----"],"eventHandler":{"__isSmartRef__":true,"id":3040},"derivationIds":[],"id":"21A6D9D4-81FB-467F-A4D6-8CE3E49745B6","_FontFamily":"Helvetica","_FontSize":10,"grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","__serializedExpressions__":["_Position"],"selection":null,"selectedLineNo":-1,"owner":{"__isSmartRef__":true,"id":2727},"layout":{"__isSmartRef__":true,"id":3041},"attributeConnections":[{"__isSmartRef__":true,"id":3042},{"__isSmartRef__":true,"id":3044},{"__isSmartRef__":true,"id":3046},{"__isSmartRef__":true,"id":3048}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3050},"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(410.0,16.5)"},"3039":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(205.0,203.5)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)"},"3040":{"morph":{"__isSmartRef__":true,"id":3038},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3041":{"scaleVertical":true,"scaleHorizontal":true},"3042":{"sourceObj":{"__isSmartRef__":true,"id":3038},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":2735},"targetMethodName":"setPane3Selection","varMapping":{"__isSmartRef__":true,"id":3043},"updaterString":"function ($upd, v) { $upd(v, this.sourceObj) }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3043":{"source":{"__isSmartRef__":true,"id":3038},"target":{"__isSmartRef__":true,"id":2735}},"3044":{"sourceObj":{"__isSmartRef__":true,"id":3038},"sourceAttrName":"getSelection","targetObj":{"__isSmartRef__":true,"id":2735},"targetMethodName":"getPane3Selection","varMapping":{"__isSmartRef__":true,"id":3045},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3045":{"source":{"__isSmartRef__":true,"id":3038},"target":{"__isSmartRef__":true,"id":2735}},"3046":{"sourceObj":{"__isSmartRef__":true,"id":3038},"sourceAttrName":"getList","targetObj":{"__isSmartRef__":true,"id":2735},"targetMethodName":"getPane3Content","varMapping":{"__isSmartRef__":true,"id":3047},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3047":{"source":{"__isSmartRef__":true,"id":3038},"target":{"__isSmartRef__":true,"id":2735}},"3048":{"sourceObj":{"__isSmartRef__":true,"id":3038},"sourceAttrName":"getMenu","targetObj":{"__isSmartRef__":true,"id":2735},"targetMethodName":"getPane3Menu","varMapping":{"__isSmartRef__":true,"id":3049},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3049":{"source":{"__isSmartRef__":true,"id":3038},"target":{"__isSmartRef__":true,"id":2735}},"3050":{"onDownPressed":{"__isSmartRef__":true,"id":3051},"onUpPressed":{"__isSmartRef__":true,"id":3058}},"3051":{"varMapping":{"__isSmartRef__":true,"id":3052},"source":"function onDownPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":3057},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3052":{"this":{"__isSmartRef__":true,"id":3038},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3053}},"3053":{"$super":{"__isSmartRef__":true,"id":3054}},"3054":{"varMapping":{"__isSmartRef__":true,"id":3055},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3056},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3055":{"obj":{"__isSmartRef__":true,"id":3038},"name":"onDownPressed"},"3056":{},"3057":{},"3058":{"varMapping":{"__isSmartRef__":true,"id":3059},"source":"function onUpPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":3064},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3059":{"this":{"__isSmartRef__":true,"id":3038},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3060}},"3060":{"$super":{"__isSmartRef__":true,"id":3061}},"3061":{"varMapping":{"__isSmartRef__":true,"id":3062},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3063},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3062":{"obj":{"__isSmartRef__":true,"id":3038},"name":"onUpPressed"},"3063":{},"3064":{},"3065":{"source":{"__isSmartRef__":true,"id":2735},"target":{"__isSmartRef__":true,"id":3038}},"3066":{"sourceObj":{"__isSmartRef__":true,"id":2735},"sourceAttrName":"setPane4Content","targetObj":{"__isSmartRef__":true,"id":3067},"targetMethodName":"updateList","varMapping":{"__isSmartRef__":true,"id":3094},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3067":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3068},"itemList":["-----"],"eventHandler":{"__isSmartRef__":true,"id":3069},"derivationIds":[],"id":"24A310FC-3B10-4CDD-A6FE-B25E26AFEE10","_FontFamily":"Helvetica","_FontSize":10,"grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","__serializedExpressions__":["_Position"],"owner":{"__isSmartRef__":true,"id":2727},"layout":{"__isSmartRef__":true,"id":3070},"attributeConnections":[{"__isSmartRef__":true,"id":3071},{"__isSmartRef__":true,"id":3073},{"__isSmartRef__":true,"id":3075},{"__isSmartRef__":true,"id":3077}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"changeTriggered":true,"prevScroll":[0,0],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3079},"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(615.0,16.5)"},"3068":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(205.0,203.5)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)"},"3069":{"morph":{"__isSmartRef__":true,"id":3067},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3070":{"scaleVertical":true,"scaleHorizontal":true},"3071":{"sourceObj":{"__isSmartRef__":true,"id":3067},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":2735},"targetMethodName":"setPane4Selection","varMapping":{"__isSmartRef__":true,"id":3072},"updaterString":"function ($upd, v) { $upd(v, this.sourceObj) }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3072":{"source":{"__isSmartRef__":true,"id":3067},"target":{"__isSmartRef__":true,"id":2735}},"3073":{"sourceObj":{"__isSmartRef__":true,"id":3067},"sourceAttrName":"getSelection","targetObj":{"__isSmartRef__":true,"id":2735},"targetMethodName":"getPane4Selection","varMapping":{"__isSmartRef__":true,"id":3074},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3074":{"source":{"__isSmartRef__":true,"id":3067},"target":{"__isSmartRef__":true,"id":2735}},"3075":{"sourceObj":{"__isSmartRef__":true,"id":3067},"sourceAttrName":"getList","targetObj":{"__isSmartRef__":true,"id":2735},"targetMethodName":"getPane4Content","varMapping":{"__isSmartRef__":true,"id":3076},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3076":{"source":{"__isSmartRef__":true,"id":3067},"target":{"__isSmartRef__":true,"id":2735}},"3077":{"sourceObj":{"__isSmartRef__":true,"id":3067},"sourceAttrName":"getMenu","targetObj":{"__isSmartRef__":true,"id":2735},"targetMethodName":"getPane4Menu","varMapping":{"__isSmartRef__":true,"id":3078},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3078":{"source":{"__isSmartRef__":true,"id":3067},"target":{"__isSmartRef__":true,"id":2735}},"3079":{"onDownPressed":{"__isSmartRef__":true,"id":3080},"onUpPressed":{"__isSmartRef__":true,"id":3087}},"3080":{"varMapping":{"__isSmartRef__":true,"id":3081},"source":"function onDownPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":3086},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3081":{"this":{"__isSmartRef__":true,"id":3067},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3082}},"3082":{"$super":{"__isSmartRef__":true,"id":3083}},"3083":{"varMapping":{"__isSmartRef__":true,"id":3084},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3085},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3084":{"obj":{"__isSmartRef__":true,"id":3067},"name":"onDownPressed"},"3085":{},"3086":{},"3087":{"varMapping":{"__isSmartRef__":true,"id":3088},"source":"function onUpPressed(evt) {\n $super(evt);\n this.focus.bind(this).delay(0);\n return true;\n }","funcProperties":{"__isSmartRef__":true,"id":3093},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3088":{"this":{"__isSmartRef__":true,"id":3067},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3089}},"3089":{"$super":{"__isSmartRef__":true,"id":3090}},"3090":{"varMapping":{"__isSmartRef__":true,"id":3091},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3092},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3091":{"obj":{"__isSmartRef__":true,"id":3067},"name":"onUpPressed"},"3092":{},"3093":{},"3094":{"source":{"__isSmartRef__":true,"id":2735},"target":{"__isSmartRef__":true,"id":3067}},"3095":{"sourceObj":{"__isSmartRef__":true,"id":2735},"sourceAttrName":"setSourceString","targetObj":{"__isSmartRef__":true,"id":3096},"targetMethodName":"setTextString","varMapping":{"__isSmartRef__":true,"id":3106},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3096":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3097},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3098}],"eventHandler":{"__isSmartRef__":true,"id":3100},"_ClipMode":"auto","derivationIds":[],"id":"0871E91E-E53E-4401-8C8A-EE16631BD906","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":true,"_HandStyle":null,"allowInput":true,"_FontFamily":"Courier","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":2727},"accessibleInInactiveWindow":true,"layout":{"__isSmartRef__":true,"id":3101},"noEval":true,"syntaxHighlightingWhileTyping":true,"attributeConnections":[{"__isSmartRef__":true,"id":3102},{"__isSmartRef__":true,"id":3104}],"doNotSerialize":["$$textString","$$savedTextString"],"doNotCopyProperties":["$$textString","$$savedTextString"],"textString":"var SyncMorphServer = {\n // new port for websockets, even from outside\n // old auto-configured port: 8110,\n port: 4000,\n logLevel: 1,\n log: function (logText, optLevel) {\n var logLevel = optLevel || 1;\n if (this.logLevel >= logLevel) {\n console.log(logText);\n }\n },\n data: {},\n storage: function (storageName, defaultData) {\n if (!this.data[storageName]) {\n this.data[storageName] = {\n data: {},\n get: function (name) {\n if (!this.data[name]) {\n if (defaultData) {\n this.data[name] = {};\n } else {\n this.data[name] = [];\n }\n }\n return this.data[name];\n },\n set: function (name, data) {\n this.data[name] = data;\n },\n };\n }\n return this.data[storageName];\n },\n send: function (socket, channel, messageType, data) {\n if (data.broadcast) {\n socket.broadcast.to(channel).emit(messageType, data);\n }\n if (data.me) {\n socket.emit(messageType, data);\n }\n },\n logConnectedClientsFor: function (channelName) {\n var clients = this.storage(\"clients\"),\n channels = this.storage(\"channels\"),\n channel = channels.get(channelName);\n this.log(\n channelName + ': currently ' + channel.length\n + ' client' + (channel.length > 1 ? 's' : '')\n + ' connected:\\n' + channel.map(\n function (clientId) {\n return clients.get(clientId).nick;\n }).join(\", \")\n );\n },\n messages: {\n 'channel': function (socket, channel, callback) {\n // leave the old channel\n var clients = this.storage(\"clients\", true),\n channels = this.storage(\"channels\"),\n drawings = this.storage(\"drawings\"),\n morphs = this.storage(\"morphs\"),\n changes = this.storage(\"changes\"),\n oldChannel = clients.get(socket.id).channel,\n nick = clients.get(socket.id).nick,\n join = false,\n leave = false;\n\n if (oldChannel && oldChannel !== channel) {\n var idx = channels.get(oldChannel).indexOf(socket.id);\n if (idx !== -1) {\n channels.get(oldChannel).splice(idx, 1);\n }\n socket.leave(oldChannel);\n this.log(oldChannel + ': client ' + socket.id + ' disconnected', 2);\n this.log(oldChannel + ': currently connected clients:\\n' + channels.get(oldChannel));\n var data = {};\n data.broadcast = true;\n data.message = {};\n data.message.nick = nick;\n data.message.id = socket.id;\n data.message.color = clients.get(socket.id).color;\n this.send(socket, oldChannel, 'clientDisconnect', data);\n leave = true;\n }\n // join the new channel\n clients.get(socket.id).channel = channel;\n var color = (function () {\n var otherClientsInChannel = channels.get(channel),\n otherClientId,\n otherClient,\n color = {\n isNearTo: function (HSBcolor, optThreshold) {\n // returns true or false depending whether on of its\n // components differs at minimum by the threshold or\n // not\n var threshold = optThreshold || 25;\n if (Math.abs(this.h - HSBcolor.h) > threshold\n || Math.abs(this.s - HSBcolor.s) > threshold\n || Math.abs(this.b - HSBcolor.b) > threshold) {\n return false;\n }\n return true;\n }\n },\n i,\n recalculateColor;\n do {\n recalculateColor = false;\n color.h = Math.round(Math.random() * 360);\n color.s = (Math.random() * 0.5) + 0.5;\n color.b = (Math.random() * 0.5) + 0.5;\n for (i = 0; i < channels.get(channel).length; i++) {\n otherClientId = otherClientsInChannel[i];\n otherClient = clients.get(otherClientId);\n recalculateColor = color.isNearTo(otherClient.color);\n }\n } while (recalculateColor);\n return color;\n })();\n clients.get(socket.id).color = color;\n channels.get(channel).push(socket.id);\n socket.join(channel);\n this.log(channel + ': client ' + socket.id + ' connected', 2);\n this.logConnectedClientsFor(channel);\n this.send(socket, channel, 'clientConnect', {\n message: {\n nick: nick,\n color: color\n },\n broadcast: true\n });\n join = true;\n // call callback to complete\n callback(join, channel, leave, oldChannel,\n drawings.get(channel), morphs.get(channel),\n changes.get(channel));\n },\n 'disconnect': function (socket) {\n var clients = this.storage(\"clients\", true),\n channels = this.storage(\"channels\"),\n channel = clients.get(socket.id).channel,\n nick = clients.get(socket.id).nick,\n idx = channels.get(channel).indexOf(socket.id);\n if (idx !== -1) {\n channels.get(channel).splice(idx, 1);\n }\n delete clients[socket.id];\n socket.leave(channel);\n var data = {};\n data.broadcast = true;\n data.message = {};\n data.message.nick = nick;\n data.message.id = socket.id;\n data.message.color = clients.get(socket.id).color;\n this.send(socket, channel, 'clientDisconnect', data);\n this.log(channel + ': client ' + socket.id + ' disconnected', 2);\n this.logConnectedClientsFor(channel);\n },\n 'nick': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n newNick = data.message,\n oldNick = clients.get(socket.id).nick;\n if (newNick !== oldNick) {\n this.log('got new name ' + data.message + ' for socket ' + socket.id, 2);\n clients.get(socket.id).nick = newNick;\n data.message = {\n id: socket.id,\n old: oldNick,\n new: newNick,\n color: clients.get(socket.id).color\n };\n this.send(socket, clients.get(socket.id).channel, 'nick', data);\n } else {\n this.log('got same name ' + data.message + ' for socket ' + socket.id, 2);\n }\n },\n 'ping': function (socket, data) {\n var clients = this.storage(\"clients\", true);\n this.send(socket, clients.get(socket.id).channel, 'pong', data);\n },\n 'chat': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n chatLog = this.storage(\"chatLog\"),\n channel = clients.get(socket.id).channel,\n nick = clients.get(socket.id).nick,\n color = clients.get(socket.id).color,\n chatMessage = {};\n chatMessage.message = {\n time: new Date().getTime(),\n nick: nick,\n text: data.message\n };\n chatLog.get(channel).push(chatMessage);\n chatMessage.message.color = color;\n chatMessage.broadcast = data.broadcast;\n chatMessage.me = data.me;\n this.send(socket, channel, 'chat', chatMessage);\n },\n 'names': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n channels = this.storage(\"channels\"),\n channel = clients.get(socket.id).channel;\n this.log('names', 3);\n this.send(socket, channel, 'names', {\n message: channels.get(channel).map(function (id) {\n var client = clients.get(id);\n return {nick: client.nick, color: client.color};\n }),\n me: true,\n broadcast: false\n });\n },\n 'draw': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n drawings = this.storage(\"drawings\"),\n channel = clients.get(socket.id).channel;\n this.log('draw: ' + data.message.identifier + 'socket: ' + socket.id, 2);\n drawings.get(channel).push(data.message);\n this.send(socket, channel, 'draw', data);\n },\n 'morph': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n channel = clients.get(socket.id).channel;\n data.message.id = socket.id;\n this.send(socket, channel, 'morph', data);\n },\n 'clear': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n drawings = this.storage(\"drawings\"),\n morphs = this.storage(\"morphs\"),\n changes = this.storage(\"changes\"),\n channel = clients.get(socket.id).channel;\n this.log('clear', 2);\n this.send(socket, clients.get(socket.id).channel, 'clear', data);\n drawings.set(channel, drawings.get(channel).filter(function (ea) {\n return false;\n }));\n morphs.set(channel, morphs.get(channel).filter(function (ea) {\n return false;\n }));\n changes.set(channel, changes.get(channel).filter(function (ea) {\n return false;\n }));\n },\n 'delete': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n drawings = this.storage(\"drawings\"),\n channel = clients.get(socket.id).channel;\n this.log('delete: ' + data.message + 'socket: ' + socket.id, 2);\n drawings.set(channel, drawings.get(channel).filter(function (ea) {\n return ea.identifier !== data.message;\n }));\n this.send(socket, channel, 'delete', data);\n },\n 'change': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n changes = this.storage(\"changes\"),\n channel = clients.get(socket.id).channel;\n changes.get(channel).push(data.message);\n this.send(socket, clients.get(socket.id).channel, 'change', data);\n },\n 'mouse': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n morphs = this.storage(\"morphs\"),\n channel = clients.get(socket.id).channel,\n i;\n data.message.id = socket.id;\n data.message.nick = clients.get(socket.id).nick;\n data.message.color = clients.get(socket.id).color;\n if (data.message.morphs) {\n for (i = 0; i < data.message.morphs.length; i++) {\n if (data.message.morphs[i].morph) {\n data.message.morphs[i].position = {\n x: data.message.x + data.message.morphs[i].offset.x,\n y: data.message.y + data.message.morphs[i].offset.y\n };\n morphs.get(channel).push(data.message.morphs[i]);\n }\n }\n }\n else if (data.message.isNewMorphPosition) {\n morphs.get(channel).forEach(function (ea) {\n if (ea.morph\n && data.message.ids.indexOf(ea.identifier) >= 0\n ) {\n ea.position = {\n x: data.message.x + data.message.offset.x,\n y: data.message.y + data.message.offset.y\n };\n }\n });\n }\n else if (data.message.remove) {\n var channelMorphs = morphs.get(channel),\n morph,\n id;\n for (i = 0; i < channelMorphs.length; i++) {\n morph = channelMorphs[i],\n id = morph.identifier;\n if (data.message.remove.indexOf(id) >= 0) {\n console.log(morph);\n channelMorphs.splice(i, 1);\n }\n }\n }\n this.send(socket, clients.get(socket.id).channel, 'mouse', data);\n }\n }\n};\n\n(function bootstrap(server) {\n var io = require('socket.io').listen(server.port);\n\n io.configure(function () {\n io.set('transports', ['websocket', 'xhr-polling']);\n io.set('log level', 0);\n io.set('authorization', function (handshakeData, callback) {\n // TODO implement some sort of auth (maybe send cookie...)\n callback(null, true);\n });\n io.set('heartbeat timeout', 30);\n io.set('heartbeat interval', 15);\n io.set('close timeout', 0);\n });\n\n io.sockets.on('connection', function (socket) {\n var message;\n function wrapper(message) {\n var messageFunc = server.messages[message];\n return function (/* arguments */) {\n var args = [socket].concat(Array.prototype.slice.call(arguments));\n return messageFunc.apply(server, args);\n };\n }\n for (message in server.messages) {\n if (server.messages.hasOwnProperty(message)) {\n socket.on(\n message,\n wrapper(message)\n );\n }\n }\n });\n})(SyncMorphServer);\n\n","savedTextString":"var SyncMorphServer = {\n // new port for websockets, even from outside\n // old auto-configured port: 8110,\n port: 4000,\n logLevel: 1,\n log: function (logText, optLevel) {\n var logLevel = optLevel || 1;\n if (this.logLevel >= logLevel) {\n console.log(logText);\n }\n },\n data: {},\n storage: function (storageName, defaultData) {\n if (!this.data[storageName]) {\n this.data[storageName] = {\n data: {},\n get: function (name) {\n if (!this.data[name]) {\n if (defaultData) {\n this.data[name] = {};\n } else {\n this.data[name] = [];\n }\n }\n return this.data[name];\n },\n set: function (name, data) {\n this.data[name] = data;\n },\n };\n }\n return this.data[storageName];\n },\n send: function (socket, channel, messageType, data) {\n if (data.broadcast) {\n socket.broadcast.to(channel).emit(messageType, data);\n }\n if (data.me) {\n socket.emit(messageType, data);\n }\n },\n logConnectedClientsFor: function (channelName) {\n var clients = this.storage(\"clients\"),\n channels = this.storage(\"channels\"),\n channel = channels.get(channelName);\n this.log(\n channelName + ': currently ' + channel.length\n + ' client' + (channel.length > 1 ? 's' : '')\n + ' connected:\\n' + channel.map(\n function (clientId) {\n return clients.get(clientId).nick;\n }).join(\", \")\n );\n },\n messages: {\n 'channel': function (socket, channel, callback) {\n // leave the old channel\n var clients = this.storage(\"clients\", true),\n channels = this.storage(\"channels\"),\n drawings = this.storage(\"drawings\"),\n morphs = this.storage(\"morphs\"),\n changes = this.storage(\"changes\"),\n oldChannel = clients.get(socket.id).channel,\n nick = clients.get(socket.id).nick,\n join = false,\n leave = false;\n\n if (oldChannel && oldChannel !== channel) {\n var idx = channels.get(oldChannel).indexOf(socket.id);\n if (idx !== -1) {\n channels.get(oldChannel).splice(idx, 1);\n }\n socket.leave(oldChannel);\n this.log(oldChannel + ': client ' + socket.id + ' disconnected', 2);\n this.log(oldChannel + ': currently connected clients:\\n' + channels.get(oldChannel));\n var data = {};\n data.broadcast = true;\n data.message = {};\n data.message.nick = nick;\n data.message.id = socket.id;\n data.message.color = clients.get(socket.id).color;\n this.send(socket, oldChannel, 'clientDisconnect', data);\n leave = true;\n }\n // join the new channel\n clients.get(socket.id).channel = channel;\n var color = (function () {\n var otherClientsInChannel = channels.get(channel),\n otherClientId,\n otherClient,\n color = {\n isNearTo: function (HSBcolor, optThreshold) {\n // returns true or false depending whether on of its\n // components differs at minimum by the threshold or\n // not\n var threshold = optThreshold || 25;\n if (Math.abs(this.h - HSBcolor.h) > threshold\n || Math.abs(this.s - HSBcolor.s) > threshold\n || Math.abs(this.b - HSBcolor.b) > threshold) {\n return false;\n }\n return true;\n }\n },\n i,\n recalculateColor;\n do {\n recalculateColor = false;\n color.h = Math.round(Math.random() * 360);\n color.s = (Math.random() * 0.5) + 0.5;\n color.b = (Math.random() * 0.5) + 0.5;\n for (i = 0; i < channels.get(channel).length; i++) {\n otherClientId = otherClientsInChannel[i];\n otherClient = clients.get(otherClientId);\n recalculateColor = color.isNearTo(otherClient.color);\n }\n } while (recalculateColor);\n return color;\n })();\n clients.get(socket.id).color = color;\n channels.get(channel).push(socket.id);\n socket.join(channel);\n this.log(channel + ': client ' + socket.id + ' connected', 2);\n this.logConnectedClientsFor(channel);\n this.send(socket, channel, 'clientConnect', {\n message: {\n nick: nick,\n color: color\n },\n broadcast: true\n });\n join = true;\n // call callback to complete\n callback(join, channel, leave, oldChannel,\n drawings.get(channel), morphs.get(channel),\n changes.get(channel));\n },\n 'disconnect': function (socket) {\n var clients = this.storage(\"clients\", true),\n channels = this.storage(\"channels\"),\n channel = clients.get(socket.id).channel,\n nick = clients.get(socket.id).nick,\n idx = channels.get(channel).indexOf(socket.id);\n if (idx !== -1) {\n channels.get(channel).splice(idx, 1);\n }\n delete clients[socket.id];\n socket.leave(channel);\n var data = {};\n data.broadcast = true;\n data.message = {};\n data.message.nick = nick;\n data.message.id = socket.id;\n data.message.color = clients.get(socket.id).color;\n this.send(socket, channel, 'clientDisconnect', data);\n this.log(channel + ': client ' + socket.id + ' disconnected', 2);\n this.logConnectedClientsFor(channel);\n },\n 'nick': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n newNick = data.message,\n oldNick = clients.get(socket.id).nick;\n if (newNick !== oldNick) {\n this.log('got new name ' + data.message + ' for socket ' + socket.id, 2);\n clients.get(socket.id).nick = newNick;\n data.message = {\n id: socket.id,\n old: oldNick,\n new: newNick,\n color: clients.get(socket.id).color\n };\n this.send(socket, clients.get(socket.id).channel, 'nick', data);\n } else {\n this.log('got same name ' + data.message + ' for socket ' + socket.id, 2);\n }\n },\n 'ping': function (socket, data) {\n var clients = this.storage(\"clients\", true);\n this.send(socket, clients.get(socket.id).channel, 'pong', data);\n },\n 'chat': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n chatLog = this.storage(\"chatLog\"),\n channel = clients.get(socket.id).channel,\n nick = clients.get(socket.id).nick,\n color = clients.get(socket.id).color,\n chatMessage = {};\n chatMessage.message = {\n time: new Date().getTime(),\n nick: nick,\n text: data.message\n };\n chatLog.get(channel).push(chatMessage);\n chatMessage.message.color = color;\n chatMessage.broadcast = data.broadcast;\n chatMessage.me = data.me;\n this.send(socket, channel, 'chat', chatMessage);\n },\n 'names': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n channels = this.storage(\"channels\"),\n channel = clients.get(socket.id).channel;\n this.log('names', 3);\n this.send(socket, channel, 'names', {\n message: channels.get(channel).map(function (id) {\n var client = clients.get(id);\n return {nick: client.nick, color: client.color};\n }),\n me: true,\n broadcast: false\n });\n },\n 'draw': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n drawings = this.storage(\"drawings\"),\n channel = clients.get(socket.id).channel;\n this.log('draw: ' + data.message.identifier + 'socket: ' + socket.id, 2);\n drawings.get(channel).push(data.message);\n this.send(socket, channel, 'draw', data);\n },\n 'morph': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n channel = clients.get(socket.id).channel;\n data.message.id = socket.id;\n this.send(socket, channel, 'morph', data);\n },\n 'clear': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n drawings = this.storage(\"drawings\"),\n morphs = this.storage(\"morphs\"),\n changes = this.storage(\"changes\"),\n channel = clients.get(socket.id).channel;\n this.log('clear', 2);\n this.send(socket, clients.get(socket.id).channel, 'clear', data);\n drawings.set(channel, drawings.get(channel).filter(function (ea) {\n return false;\n }));\n morphs.set(channel, morphs.get(channel).filter(function (ea) {\n return false;\n }));\n changes.set(channel, changes.get(channel).filter(function (ea) {\n return false;\n }));\n },\n 'delete': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n drawings = this.storage(\"drawings\"),\n channel = clients.get(socket.id).channel;\n this.log('delete: ' + data.message + 'socket: ' + socket.id, 2);\n drawings.set(channel, drawings.get(channel).filter(function (ea) {\n return ea.identifier !== data.message;\n }));\n this.send(socket, channel, 'delete', data);\n },\n 'change': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n changes = this.storage(\"changes\"),\n channel = clients.get(socket.id).channel;\n changes.get(channel).push(data.message);\n this.send(socket, clients.get(socket.id).channel, 'change', data);\n },\n 'mouse': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n morphs = this.storage(\"morphs\"),\n channel = clients.get(socket.id).channel,\n i;\n data.message.id = socket.id;\n data.message.nick = clients.get(socket.id).nick;\n data.message.color = clients.get(socket.id).color;\n if (data.message.morphs) {\n for (i = 0; i < data.message.morphs.length; i++) {\n if (data.message.morphs[i].morph) {\n data.message.morphs[i].position = {\n x: data.message.x + data.message.morphs[i].offset.x,\n y: data.message.y + data.message.morphs[i].offset.y\n };\n morphs.get(channel).push(data.message.morphs[i]);\n }\n }\n }\n else if (data.message.isNewMorphPosition) {\n morphs.get(channel).forEach(function (ea) {\n if (ea.morph\n && data.message.ids.indexOf(ea.identifier) >= 0\n ) {\n ea.position = {\n x: data.message.x + data.message.offset.x,\n y: data.message.y + data.message.offset.y\n };\n }\n });\n }\n else if (data.message.remove) {\n var channelMorphs = morphs.get(channel),\n morph,\n id;\n for (i = 0; i < channelMorphs.length; i++) {\n morph = channelMorphs[i],\n id = morph.identifier;\n if (data.message.remove.indexOf(id) >= 0) {\n console.log(morph);\n channelMorphs.splice(i, 1);\n }\n }\n }\n this.send(socket, clients.get(socket.id).channel, 'mouse', data);\n }\n }\n};\n\n(function bootstrap(server) {\n var io = require('socket.io').listen(server.port);\n\n io.configure(function () {\n io.set('transports', ['websocket', 'xhr-polling']);\n io.set('log level', 0);\n io.set('authorization', function (handshakeData, callback) {\n // TODO implement some sort of auth (maybe send cookie...)\n callback(null, true);\n });\n io.set('heartbeat timeout', 30);\n io.set('heartbeat interval', 15);\n io.set('close timeout', 0);\n });\n\n io.sockets.on('connection', function (socket) {\n var message;\n function wrapper(message) {\n var messageFunc = server.messages[message];\n return function (/* arguments */) {\n var args = [socket].concat(Array.prototype.slice.call(arguments));\n return messageFunc.apply(server, args);\n };\n }\n for (message in server.messages) {\n if (server.messages.hasOwnProperty(message)) {\n socket.on(\n message,\n wrapper(message)\n );\n }\n }\n });\n})(SyncMorphServer);\n\n","specialHighlighting":"none","styleClass":["Browser_codePaneText"],"focusHaloBorderWidth":0.5,"charsReplaced":"var SyncMorphServer = {\n // new port for websockets, even from outside\n // old auto-configured port: 8110,\n port: 4000,\n logLevel: 1,\n log: function (logText, optLevel) {\n var logLevel = optLevel || 1;\n if (this.logLevel >= logLevel) {\n console.log(logText);\n }\n },\n data: {},\n storage: function (storageName, defaultData) {\n if (!this.data[storageName]) {\n this.data[storageName] = {\n data: {},\n get: function (name) {\n if (!this.data[name]) {\n if (defaultData) {\n this.data[name] = {};\n } else {\n this.data[name] = [];\n }\n }\n return this.data[name];\n },\n set: function (name, data) {\n this.data[name] = data;\n },\n };\n }\n return this.data[storageName];\n },\n send: function (socket, channel, messageType, data) {\n if (data.broadcast) {\n socket.broadcast.to(channel).emit(messageType, data);\n }\n if (data.me) {\n socket.emit(messageType, data);\n }\n },\n logConnectedClientsFor: function (channelName) {\n var clients = this.storage(\"clients\"),\n channels = this.storage(\"channels\"),\n channel = channels.get(channelName);\n this.log(\n channelName + ': currently ' + channel.length\n + ' client' + (channel.length > 1 ? 's' : '')\n + ' connected:\\n' + channel.map(\n function (clientId) {\n return clients.get(clientId).nick;\n }).join(\", \")\n );\n },\n messages: {\n 'channel': function (socket, channel, callback) {\n // leave the old channel\n var clients = this.storage(\"clients\", true),\n channels = this.storage(\"channels\"),\n drawings = this.storage(\"drawings\"),\n morphs = this.storage(\"morphs\"),\n changes = this.storage(\"changes\"),\n oldChannel = clients.get(socket.id).channel,\n nick = clients.get(socket.id).nick,\n join = false,\n leave = false;\n\n if (oldChannel && oldChannel !== channel) {\n var idx = channels.get(oldChannel).indexOf(socket.id);\n if (idx !== -1) {\n channels.get(oldChannel).splice(idx, 1);\n }\n socket.leave(oldChannel);\n this.log(oldChannel + ': client ' + socket.id + ' disconnected', 2);\n this.log(oldChannel + ': currently connected clients:\\n' + channels.get(oldChannel));\n var data = {};\n data.broadcast = true;\n data.message = {};\n data.message.nick = nick;\n data.message.id = socket.id;\n data.message.color = clients.get(socket.id).color;\n this.send(socket, oldChannel, 'clientDisconnect', data);\n leave = true;\n }\n // join the new channel\n clients.get(socket.id).channel = channel;\n var color = (function () {\n var otherClientsInChannel = channels.get(channel),\n otherClientId,\n otherClient,\n color = {\n isNearTo: function (HSBcolor, optThreshold) {\n // returns true or false depending whether on of its\n // components differs at minimum by the threshold or\n // not\n var threshold = optThreshold || 25;\n if (Math.abs(this.h - HSBcolor.h) > threshold\n || Math.abs(this.s - HSBcolor.s) > threshold\n || Math.abs(this.b - HSBcolor.b) > threshold) {\n return false;\n }\n return true;\n }\n },\n i,\n recalculateColor;\n do {\n recalculateColor = false;\n color.h = Math.round(Math.random() * 360);\n color.s = (Math.random() * 0.5) + 0.5;\n color.b = (Math.random() * 0.5) + 0.5;\n for (i = 0; i < channels.get(channel).length; i++) {\n otherClientId = otherClientsInChannel[i];\n otherClient = clients.get(otherClientId);\n recalculateColor = color.isNearTo(otherClient.color);\n }\n } while (recalculateColor);\n return color;\n })();\n clients.get(socket.id).color = color;\n channels.get(channel).push(socket.id);\n socket.join(channel);\n this.log(channel + ': client ' + socket.id + ' connected', 2);\n this.logConnectedClientsFor(channel);\n this.send(socket, channel, 'clientConnect', {\n message: {\n nick: nick,\n color: color\n },\n broadcast: true\n });\n join = true;\n // call callback to complete\n callback(join, channel, leave, oldChannel,\n drawings.get(channel), morphs.get(channel),\n changes.get(channel));\n },\n 'disconnect': function (socket) {\n var clients = this.storage(\"clients\", true),\n channels = this.storage(\"channels\"),\n channel = clients.get(socket.id).channel,\n nick = clients.get(socket.id).nick,\n idx = channels.get(channel).indexOf(socket.id);\n if (idx !== -1) {\n channels.get(channel).splice(idx, 1);\n }\n delete clients[socket.id];\n socket.leave(channel);\n var data = {};\n data.broadcast = true;\n data.message = {};\n data.message.nick = nick;\n data.message.id = socket.id;\n data.message.color = clients.get(socket.id).color;\n this.send(socket, channel, 'clientDisconnect', data);\n this.log(channel + ': client ' + socket.id + ' disconnected', 2);\n this.logConnectedClientsFor(channel);\n },\n 'nick': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n newNick = data.message,\n oldNick = clients.get(socket.id).nick;\n if (newNick !== oldNick) {\n this.log('got new name ' + data.message + ' for socket ' + socket.id, 2);\n clients.get(socket.id).nick = newNick;\n data.message = {\n id: socket.id,\n old: oldNick,\n new: newNick,\n color: clients.get(socket.id).color\n };\n this.send(socket, clients.get(socket.id).channel, 'nick', data);\n } else {\n this.log('got same name ' + data.message + ' for socket ' + socket.id, 2);\n }\n },\n 'ping': function (socket, data) {\n var clients = this.storage(\"clients\", true);\n this.send(socket, clients.get(socket.id).channel, 'pong', data);\n },\n 'chat': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n chatLog = this.storage(\"chatLog\"),\n channel = clients.get(socket.id).channel,\n nick = clients.get(socket.id).nick,\n color = clients.get(socket.id).color,\n chatMessage = {};\n chatMessage.message = {\n time: new Date().getTime(),\n nick: nick,\n text: data.message\n };\n chatLog.get(channel).push(chatMessage);\n chatMessage.message.color = color;\n chatMessage.broadcast = data.broadcast;\n chatMessage.me = data.me;\n this.send(socket, channel, 'chat', chatMessage);\n },\n 'names': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n channels = this.storage(\"channels\"),\n channel = clients.get(socket.id).channel;\n this.log('names', 3);\n this.send(socket, channel, 'names', {\n message: channels.get(channel).map(function (id) {\n var client = clients.get(id);\n return {nick: client.nick, color: client.color};\n }),\n me: true,\n broadcast: false\n });\n },\n 'draw': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n drawings = this.storage(\"drawings\"),\n channel = clients.get(socket.id).channel;\n this.log('draw: ' + data.message.identifier + 'socket: ' + socket.id, 2);\n drawings.get(channel).push(data.message);\n this.send(socket, channel, 'draw', data);\n },\n 'morph': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n channel = clients.get(socket.id).channel;\n data.message.id = socket.id;\n this.send(socket, channel, 'morph', data);\n },\n 'clear': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n drawings = this.storage(\"drawings\"),\n morphs = this.storage(\"morphs\"),\n changes = this.storage(\"changes\"),\n channel = clients.get(socket.id).channel;\n this.log('clear', 2);\n this.send(socket, clients.get(socket.id).channel, 'clear', data);\n drawings.set(channel, drawings.get(channel).filter(function (ea) {\n return false;\n }));\n morphs.set(channel, morphs.get(channel).filter(function (ea) {\n return false;\n }));\n changes.set(channel, changes.get(channel).filter(function (ea) {\n return false;\n }));\n },\n 'delete': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n drawings = this.storage(\"drawings\"),\n channel = clients.get(socket.id).channel;\n this.log('delete: ' + data.message + 'socket: ' + socket.id, 2);\n drawings.set(channel, drawings.get(channel).filter(function (ea) {\n return ea.identifier !== data.message;\n }));\n this.send(socket, channel, 'delete', data);\n },\n 'change': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n changes = this.storage(\"changes\"),\n channel = clients.get(socket.id).channel;\n changes.get(channel).push(data.message);\n this.send(socket, clients.get(socket.id).channel, 'change', data);\n },\n 'mouse': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n morphs = this.storage(\"morphs\"),\n channel = clients.get(socket.id).channel,\n i;\n data.message.id = socket.id;\n data.message.nick = clients.get(socket.id).nick;\n data.message.color = clients.get(socket.id).color;\n if (data.message.morphs) {\n for (i = 0; i < data.message.morphs.length; i++) {\n if (data.message.morphs[i].morph) {\n data.message.morphs[i].position = {\n x: data.message.x + data.message.morphs[i].offset.x,\n y: data.message.y + data.message.morphs[i].offset.y\n };\n morphs.get(channel).push(data.message.morphs[i]);\n }\n }\n }\n else if (data.message.isNewMorphPosition) {\n morphs.get(channel).forEach(function (ea) {\n if (ea.morph\n && data.message.ids.indexOf(ea.identifier) >= 0\n ) {\n ea.position = {\n x: data.message.x + data.message.offset.x,\n y: data.message.y + data.message.offset.y\n };\n }\n });\n }\n else if (data.message.remove) {\n var channelMorphs = morphs.get(channel),\n morph,\n id;\n for (i = 0; i < channelMorphs.length; i++) {\n morph = channelMorphs[i],\n id = morph.identifier;\n if (data.message.remove.indexOf(id) >= 0) {\n console.log(morph);\n channelMorphs.splice(i, 1);\n }\n }\n }\n this.send(socket, clients.get(socket.id).channel, 'mouse', data);\n }\n }\n};\n\n(function bootstrap(server) {\n var io = require('socket.io').listen(server.port);\n\n io.configure(function () {\n io.set('transports', ['websocket', 'xhr-polling']);\n io.set('log level', 0);\n io.set('authorization', function (handshakeData, callback) {\n // TODO implement some sort of auth (maybe send cookie...)\n callback(null, true);\n });\n io.set('heartbeat interval', 10);\n io.set('heartbeat timeout', 10);\n });\n\n io.sockets.on('connection', function (socket) {\n var message;\n function wrapper(message) {\n var messageFunc = server.messages[message];\n return function (/* arguments */) {\n var args = [socket].concat(Array.prototype.slice.call(arguments));\n return messageFunc.apply(server, args);\n };\n }\n for (message in server.messages) {\n if (server.messages.hasOwnProperty(message)) {\n socket.on(\n message,\n wrapper(message)\n );\n }\n }\n });\n})(SyncMorphServer);\n","lastFindLoc":14492,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,247.5)"},"3097":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"_BorderWidth":1,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(820.0,302.5)","_Padding":"lively.rect(5,5,0,0)","_BorderColor":"Color.rgb(102,102,102)","_Fill":"Color.rgb(255,255,255)"},"3098":{"style":{"__isSmartRef__":true,"id":3099},"chunkOwner":{"__isSmartRef__":true,"id":3096},"_id":"_50859","storedString":"var SyncMorphServer = {\n // new port for websockets, even from outside\n // old auto-configured port: 8110,\n port: 4000,\n logLevel: 1,\n log: function (logText, optLevel) {\n var logLevel = optLevel || 1;\n if (this.logLevel >= logLevel) {\n console.log(logText);\n }\n },\n data: {},\n storage: function (storageName, defaultData) {\n if (!this.data[storageName]) {\n this.data[storageName] = {\n data: {},\n get: function (name) {\n if (!this.data[name]) {\n if (defaultData) {\n this.data[name] = {};\n } else {\n this.data[name] = [];\n }\n }\n return this.data[name];\n },\n set: function (name, data) {\n this.data[name] = data;\n },\n };\n }\n return this.data[storageName];\n },\n send: function (socket, channel, messageType, data) {\n if (data.broadcast) {\n socket.broadcast.to(channel).emit(messageType, data);\n }\n if (data.me) {\n socket.emit(messageType, data);\n }\n },\n logConnectedClientsFor: function (channelName) {\n var clients = this.storage(\"clients\"),\n channels = this.storage(\"channels\"),\n channel = channels.get(channelName);\n this.log(\n channelName + ': currently ' + channel.length\n + ' client' + (channel.length > 1 ? 's' : '')\n + ' connected:\\n' + channel.map(\n function (clientId) {\n return clients.get(clientId).nick;\n }).join(\", \")\n );\n },\n messages: {\n 'channel': function (socket, channel, callback) {\n // leave the old channel\n var clients = this.storage(\"clients\", true),\n channels = this.storage(\"channels\"),\n drawings = this.storage(\"drawings\"),\n morphs = this.storage(\"morphs\"),\n changes = this.storage(\"changes\"),\n oldChannel = clients.get(socket.id).channel,\n nick = clients.get(socket.id).nick,\n join = false,\n leave = false;\n\n if (oldChannel && oldChannel !== channel) {\n var idx = channels.get(oldChannel).indexOf(socket.id);\n if (idx !== -1) {\n channels.get(oldChannel).splice(idx, 1);\n }\n socket.leave(oldChannel);\n this.log(oldChannel + ': client ' + socket.id + ' disconnected', 2);\n this.log(oldChannel + ': currently connected clients:\\n' + channels.get(oldChannel));\n var data = {};\n data.broadcast = true;\n data.message = {};\n data.message.nick = nick;\n data.message.id = socket.id;\n data.message.color = clients.get(socket.id).color;\n this.send(socket, oldChannel, 'clientDisconnect', data);\n leave = true;\n }\n // join the new channel\n clients.get(socket.id).channel = channel;\n var color = (function () {\n var otherClientsInChannel = channels.get(channel),\n otherClientId,\n otherClient,\n color = {\n isNearTo: function (HSBcolor, optThreshold) {\n // returns true or false depending whether on of its\n // components differs at minimum by the threshold or\n // not\n var threshold = optThreshold || 25;\n if (Math.abs(this.h - HSBcolor.h) > threshold\n || Math.abs(this.s - HSBcolor.s) > threshold\n || Math.abs(this.b - HSBcolor.b) > threshold) {\n return false;\n }\n return true;\n }\n },\n i,\n recalculateColor;\n do {\n recalculateColor = false;\n color.h = Math.round(Math.random() * 360);\n color.s = (Math.random() * 0.5) + 0.5;\n color.b = (Math.random() * 0.5) + 0.5;\n for (i = 0; i < channels.get(channel).length; i++) {\n otherClientId = otherClientsInChannel[i];\n otherClient = clients.get(otherClientId);\n recalculateColor = color.isNearTo(otherClient.color);\n }\n } while (recalculateColor);\n return color;\n })();\n clients.get(socket.id).color = color;\n channels.get(channel).push(socket.id);\n socket.join(channel);\n this.log(channel + ': client ' + socket.id + ' connected', 2);\n this.logConnectedClientsFor(channel);\n this.send(socket, channel, 'clientConnect', {\n message: {\n nick: nick,\n color: color\n },\n broadcast: true\n });\n join = true;\n // call callback to complete\n callback(join, channel, leave, oldChannel,\n drawings.get(channel), morphs.get(channel),\n changes.get(channel));\n },\n 'disconnect': function (socket) {\n var clients = this.storage(\"clients\", true),\n channels = this.storage(\"channels\"),\n channel = clients.get(socket.id).channel,\n nick = clients.get(socket.id).nick,\n idx = channels.get(channel).indexOf(socket.id);\n if (idx !== -1) {\n channels.get(channel).splice(idx, 1);\n }\n delete clients[socket.id];\n socket.leave(channel);\n var data = {};\n data.broadcast = true;\n data.message = {};\n data.message.nick = nick;\n data.message.id = socket.id;\n data.message.color = clients.get(socket.id).color;\n this.send(socket, channel, 'clientDisconnect', data);\n this.log(channel + ': client ' + socket.id + ' disconnected', 2);\n this.logConnectedClientsFor(channel);\n },\n 'nick': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n newNick = data.message,\n oldNick = clients.get(socket.id).nick;\n if (newNick !== oldNick) {\n this.log('got new name ' + data.message + ' for socket ' + socket.id, 2);\n clients.get(socket.id).nick = newNick;\n data.message = {\n id: socket.id,\n old: oldNick,\n new: newNick,\n color: clients.get(socket.id).color\n };\n this.send(socket, clients.get(socket.id).channel, 'nick', data);\n } else {\n this.log('got same name ' + data.message + ' for socket ' + socket.id, 2);\n }\n },\n 'ping': function (socket, data) {\n var clients = this.storage(\"clients\", true);\n this.send(socket, clients.get(socket.id).channel, 'pong', data);\n },\n 'chat': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n chatLog = this.storage(\"chatLog\"),\n channel = clients.get(socket.id).channel,\n nick = clients.get(socket.id).nick,\n color = clients.get(socket.id).color,\n chatMessage = {};\n chatMessage.message = {\n time: new Date().getTime(),\n nick: nick,\n text: data.message\n };\n chatLog.get(channel).push(chatMessage);\n chatMessage.message.color = color;\n chatMessage.broadcast = data.broadcast;\n chatMessage.me = data.me;\n this.send(socket, channel, 'chat', chatMessage);\n },\n 'names': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n channels = this.storage(\"channels\"),\n channel = clients.get(socket.id).channel;\n this.log('names', 3);\n this.send(socket, channel, 'names', {\n message: channels.get(channel).map(function (id) {\n var client = clients.get(id);\n return {nick: client.nick, color: client.color};\n }),\n me: true,\n broadcast: false\n });\n },\n 'draw': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n drawings = this.storage(\"drawings\"),\n channel = clients.get(socket.id).channel;\n this.log('draw: ' + data.message.identifier + 'socket: ' + socket.id, 2);\n drawings.get(channel).push(data.message);\n this.send(socket, channel, 'draw', data);\n },\n 'morph': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n channel = clients.get(socket.id).channel;\n data.message.id = socket.id;\n this.send(socket, channel, 'morph', data);\n },\n 'clear': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n drawings = this.storage(\"drawings\"),\n morphs = this.storage(\"morphs\"),\n changes = this.storage(\"changes\"),\n channel = clients.get(socket.id).channel;\n this.log('clear', 2);\n this.send(socket, clients.get(socket.id).channel, 'clear', data);\n drawings.set(channel, drawings.get(channel).filter(function (ea) {\n return false;\n }));\n morphs.set(channel, morphs.get(channel).filter(function (ea) {\n return false;\n }));\n changes.set(channel, changes.get(channel).filter(function (ea) {\n return false;\n }));\n },\n 'delete': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n drawings = this.storage(\"drawings\"),\n channel = clients.get(socket.id).channel;\n this.log('delete: ' + data.message + 'socket: ' + socket.id, 2);\n drawings.set(channel, drawings.get(channel).filter(function (ea) {\n return ea.identifier !== data.message;\n }));\n this.send(socket, channel, 'delete', data);\n },\n 'change': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n changes = this.storage(\"changes\"),\n channel = clients.get(socket.id).channel;\n changes.get(channel).push(data.message);\n this.send(socket, clients.get(socket.id).channel, 'change', data);\n },\n 'mouse': function (socket, data) {\n var clients = this.storage(\"clients\", true),\n morphs = this.storage(\"morphs\"),\n channel = clients.get(socket.id).channel,\n i;\n data.message.id = socket.id;\n data.message.nick = clients.get(socket.id).nick;\n data.message.color = clients.get(socket.id).color;\n if (data.message.morphs) {\n for (i = 0; i < data.message.morphs.length; i++) {\n if (data.message.morphs[i].morph) {\n data.message.morphs[i].position = {\n x: data.message.x + data.message.morphs[i].offset.x,\n y: data.message.y + data.message.morphs[i].offset.y\n };\n morphs.get(channel).push(data.message.morphs[i]);\n }\n }\n }\n else if (data.message.isNewMorphPosition) {\n morphs.get(channel).forEach(function (ea) {\n if (ea.morph\n && data.message.ids.indexOf(ea.identifier) >= 0\n ) {\n ea.position = {\n x: data.message.x + data.message.offset.x,\n y: data.message.y + data.message.offset.y\n };\n }\n });\n }\n else if (data.message.remove) {\n var channelMorphs = morphs.get(channel),\n morph,\n id;\n for (i = 0; i < channelMorphs.length; i++) {\n morph = channelMorphs[i],\n id = morph.identifier;\n if (data.message.remove.indexOf(id) >= 0) {\n console.log(morph);\n channelMorphs.splice(i, 1);\n }\n }\n }\n this.send(socket, clients.get(socket.id).channel, 'mouse', data);\n }\n }\n};\n\n(function bootstrap(server) {\n var io = require('socket.io').listen(server.port);\n\n io.configure(function () {\n io.set('transports', ['websocket', 'xhr-polling']);\n io.set('log level', 0);\n io.set('authorization', function (handshakeData, callback) {\n // TODO implement some sort of auth (maybe send cookie...)\n callback(null, true);\n });\n io.set('heartbeat timeout', 30);\n io.set('heartbeat interval', 15);\n io.set('close timeout', 0);\n });\n\n io.sockets.on('connection', function (socket) {\n var message;\n function wrapper(message) {\n var messageFunc = server.messages[message];\n return function (/* arguments */) {\n var args = [socket].concat(Array.prototype.slice.call(arguments));\n return messageFunc.apply(server, args);\n };\n }\n for (message in server.messages) {\n if (server.messages.hasOwnProperty(message)) {\n socket.on(\n message,\n wrapper(message)\n );\n }\n }\n });\n})(SyncMorphServer);\n\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3099":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3100":{"morph":{"__isSmartRef__":true,"id":3096},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3101":{"scaleVertical":true,"scaleHorizontal":true},"3102":{"sourceObj":{"__isSmartRef__":true,"id":3096},"sourceAttrName":"textString","targetObj":{"__isSmartRef__":true,"id":3096},"targetMethodName":"highlightSyntaxDebounced","varMapping":{"__isSmartRef__":true,"id":3103},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3103":{"source":{"__isSmartRef__":true,"id":3096},"target":{"__isSmartRef__":true,"id":3096}},"3104":{"sourceObj":{"__isSmartRef__":true,"id":3096},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":2735},"targetMethodName":"setSourceString","varMapping":{"__isSmartRef__":true,"id":3105},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3105":{"source":{"__isSmartRef__":true,"id":3096},"target":{"__isSmartRef__":true,"id":2735}},"3106":{"source":{"__isSmartRef__":true,"id":2735},"target":{"__isSmartRef__":true,"id":3096}},"3107":{"sourceObj":{"__isSmartRef__":true,"id":2735},"sourceAttrName":"targetURL","targetObj":{"__isSmartRef__":true,"id":2728},"targetMethodName":"setTextString","varMapping":{"__isSmartRef__":true,"id":3108},"updaterString":"function ($upd, value) { value && $upd(String(value)) }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3108":{"source":{"__isSmartRef__":true,"id":2735},"target":{"__isSmartRef__":true,"id":2728}},"3109":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3110},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3111}],"eventHandler":{"__isSmartRef__":true,"id":3113},"_ClipMode":"visible","derivationIds":[],"id":"9E54ADB5-E5E7-414B-9634-A0CE8B32517D","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":true,"_HandStyle":null,"allowInput":true,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"owner":null,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)","_Position":"lively.pt(260.0,136.3)"},"3110":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor","_Fill"],"_BorderWidth":0,"_StrokeOpacity":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(300.0,30.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)"},"3111":{"style":{"__isSmartRef__":true,"id":3112},"chunkOwner":{"__isSmartRef__":true,"id":3109},"_id":"_50856","storedString":"Saving server/nodejs/SyncMorphServer.js...\nSuccessfully saved\nEval disabled for server/nodejs/SyncMorphServer.js","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3112":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3113":{"morph":{"__isSmartRef__":true,"id":3109},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3114":{"source":{"__isSmartRef__":true,"id":2728},"target":{"__isSmartRef__":true,"id":2735}},"3115":{"submorphs":[{"__isSmartRef__":true,"id":3116}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3121},"eventHandler":{"__isSmartRef__":true,"id":3122},"_ClipMode":"visible","derivationIds":[],"id":"6ABB15ED-4AB8-4B74-8176-2F0736CEB4FC","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":3116},"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":2727},"attributeConnections":[{"__isSmartRef__":true,"id":3123}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"layout":{"__isSmartRef__":true,"id":3125},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(656.0,0.0)"},"3116":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3117},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3118}],"eventHandler":{"__isSmartRef__":true,"id":3120},"_ClipMode":"hidden","derivationIds":[],"id":"99FC0D87-20EF-4A46-A727-1CEDD16A8BE6","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":3115},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"3117":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(98.4,16.5)","_Padding":"lively.rect(2,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3118":{"style":{"__isSmartRef__":true,"id":3119},"chunkOwner":{"__isSmartRef__":true,"id":3116},"_id":"_50694","storedString":"Codebase","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3119":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3120":{"morph":{"__isSmartRef__":true,"id":3116},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3121":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(98.4,16.5)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"3122":{"morph":{"__isSmartRef__":true,"id":3115},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3123":{"sourceObj":{"__isSmartRef__":true,"id":3115},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2735},"targetMethodName":"setTargetURL","varMapping":{"__isSmartRef__":true,"id":3124},"converterString":"function () { return URL.codeBase.withFilename('lively/')}","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3124":{"source":{"__isSmartRef__":true,"id":3115},"target":{"__isSmartRef__":true,"id":2735}},"3125":{"scaleVertical":true,"scaleHorizontal":true},"3126":{"submorphs":[{"__isSmartRef__":true,"id":3127}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3132},"eventHandler":{"__isSmartRef__":true,"id":3133},"_ClipMode":"visible","derivationIds":[],"id":"27A2EF15-24C3-463F-8FC0-67AC7276BA44","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":3127},"_PreviousBorderWidth":1,"owner":{"__isSmartRef__":true,"id":2727},"attributeConnections":[{"__isSmartRef__":true,"id":3134}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"layout":{"__isSmartRef__":true,"id":3136},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(754.4,0.0)"},"3127":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3128},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3129}],"eventHandler":{"__isSmartRef__":true,"id":3131},"_ClipMode":"hidden","derivationIds":[],"id":"4AF66CFB-7F04-4E24-964C-D4D4B85CC554","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"__serializedExpressions__":["_TextColor"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":3126},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"3128":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(65.6,16.5)","_Padding":"lively.rect(2,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3129":{"style":{"__isSmartRef__":true,"id":3130},"chunkOwner":{"__isSmartRef__":true,"id":3127},"_id":"_50695","storedString":"Local","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3130":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3131":{"morph":{"__isSmartRef__":true,"id":3127},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3132":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(65.6,16.5)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"3133":{"morph":{"__isSmartRef__":true,"id":3126},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3134":{"sourceObj":{"__isSmartRef__":true,"id":3126},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2735},"targetMethodName":"setTargetURL","varMapping":{"__isSmartRef__":true,"id":3135},"converterString":"function () {\n return $world.getUserName() ? $world.getUserDir() : URL.source.getDirectory() }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3135":{"source":{"__isSmartRef__":true,"id":3126},"target":{"__isSmartRef__":true,"id":2735}},"3136":{"scaleVertical":true,"scaleHorizontal":true},"3137":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3138},"eventHandler":{"__isSmartRef__":true,"id":3143},"_ClipMode":"visible","derivationIds":[],"id":"596640FF-6657-4B3D-B117-D3CC52A69009","droppingEnabled":true,"halosEnabled":true,"draggingEnabled":true,"__serializedExpressions__":["_Position"],"fixed":[{"__isSmartRef__":true,"id":2737},{"__isSmartRef__":true,"id":2751},{"__isSmartRef__":true,"id":2765},{"__isSmartRef__":true,"id":2779},{"__isSmartRef__":true,"id":2793},{"__isSmartRef__":true,"id":2807},{"__isSmartRef__":true,"id":2821}],"scalingBelow":[{"__isSmartRef__":true,"id":3096}],"scalingAbove":[{"__isSmartRef__":true,"id":2842},{"__isSmartRef__":true,"id":3005},{"__isSmartRef__":true,"id":3038},{"__isSmartRef__":true,"id":3067}],"minHeight":20,"pointerConnection":null,"owner":{"__isSmartRef__":true,"id":2727},"styleClass":["Browser_resizer"],"layout":{"__isSmartRef__":true,"id":3144},"__LivelyClassName__":"lively.morphic.HorizontalDivider","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,242.0)"},"3138":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"_Fill":{"__isSmartRef__":true,"id":3139},"_BorderRadius":3,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(820.0,5.5)","_Padding":"lively.rect(0,0,0,0)"},"3139":{"stops":[{"__isSmartRef__":true,"id":3140},{"__isSmartRef__":true,"id":3141},{"__isSmartRef__":true,"id":3142}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"3140":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(235,235,235)"},"3141":{"offset":0.5,"__serializedExpressions__":["color"],"color":"Color.rgb(215,215,215)"},"3142":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(184,184,184)"},"3143":{"morph":{"__isSmartRef__":true,"id":3137},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3144":{"scaleVertical":true,"scaleHorizontal":true},"3145":{"__serializedExpressions__":["_Position","_Extent","_Padding","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(820.0,550.0)","_Padding":"lively.rect(0,0,0,0)","_Fill":"Color.rgb(230,230,230)"},"3146":{"morph":{"__isSmartRef__":true,"id":2727},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3147":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"3148":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3149},"eventHandler":{"__isSmartRef__":true,"id":3150},"_ClipMode":"visible","derivationIds":[],"id":"870B87FA-111B-4D3B-9DB7-5B7ADD26DB5B","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"_StyleClassNames":["reframe-handle bottom"],"owner":{"__isSmartRef__":true,"id":2726},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3151},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,572.0)"},"3149":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(814.0,4.0)","_Padding":"lively.rect(0,0,0,0)"},"3150":{"morph":{"__isSmartRef__":true,"id":3148},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3151":{"onDragStart":{"__isSmartRef__":true,"id":3152},"onDrag":{"__isSmartRef__":true,"id":3159},"onDragEnd":{"__isSmartRef__":true,"id":3166}},"3152":{"varMapping":{"__isSmartRef__":true,"id":3153},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":3158},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3153":{"this":{"__isSmartRef__":true,"id":3148},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3154}},"3154":{"$super":{"__isSmartRef__":true,"id":3155}},"3155":{"varMapping":{"__isSmartRef__":true,"id":3156},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3157},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3156":{"obj":{"__isSmartRef__":true,"id":3148},"name":"onDragStart"},"3157":{},"3158":{},"3159":{"varMapping":{"__isSmartRef__":true,"id":3160},"source":"function onDrag(evt) {\n var moveDelta = pt(0,evt.mousePoint.subPt(this.dragStartPoint).y);\n var newExtent = this.originalTargetExtent.addPt(moveDelta);\n if (newExtent.y < this.owner.minHeight) newExtent.y = this.owner.minHeight;\n this.owner.setExtent(newExtent);\n\n this.align(this.bounds().bottomLeft(), pt(0,this.owner.getExtent().y));\n }","funcProperties":{"__isSmartRef__":true,"id":3165},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3160":{"this":{"__isSmartRef__":true,"id":3148},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3161}},"3161":{"$super":{"__isSmartRef__":true,"id":3162}},"3162":{"varMapping":{"__isSmartRef__":true,"id":3163},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3164},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3163":{"obj":{"__isSmartRef__":true,"id":3148},"name":"onDrag"},"3164":{},"3165":{},"3166":{"varMapping":{"__isSmartRef__":true,"id":3167},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n this.owner.alignReframeHandle();\n this.owner.alignRightReframeHandle();\n }","funcProperties":{"__isSmartRef__":true,"id":3172},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3167":{"this":{"__isSmartRef__":true,"id":3148},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3168}},"3168":{"$super":{"__isSmartRef__":true,"id":3169}},"3169":{"varMapping":{"__isSmartRef__":true,"id":3170},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3171},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3170":{"obj":{"__isSmartRef__":true,"id":3148},"name":"onDragEnd"},"3171":{},"3172":{},"3173":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3174},"eventHandler":{"__isSmartRef__":true,"id":3175},"_ClipMode":"visible","derivationIds":[],"id":"C8B83F2C-83B8-46FC-B549-7573A8041484","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"_StyleClassNames":["reframe-handle right"],"owner":{"__isSmartRef__":true,"id":2726},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3176},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(824.0,0.0)"},"3174":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(4.0,562.0)","_Padding":"lively.rect(0,0,0,0)"},"3175":{"morph":{"__isSmartRef__":true,"id":3173},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3176":{"onDragStart":{"__isSmartRef__":true,"id":3177},"onDrag":{"__isSmartRef__":true,"id":3184},"onDragEnd":{"__isSmartRef__":true,"id":3191}},"3177":{"varMapping":{"__isSmartRef__":true,"id":3178},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":3183},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3178":{"this":{"__isSmartRef__":true,"id":3173},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3179}},"3179":{"$super":{"__isSmartRef__":true,"id":3180}},"3180":{"varMapping":{"__isSmartRef__":true,"id":3181},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3182},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3181":{"obj":{"__isSmartRef__":true,"id":3173},"name":"onDragStart"},"3182":{},"3183":{},"3184":{"varMapping":{"__isSmartRef__":true,"id":3185},"source":"function onDrag(evt) {\n var moveDelta = pt(evt.mousePoint.subPt(this.dragStartPoint).x,0);\n var newExtent = this.originalTargetExtent.addPt(moveDelta);\n if (newExtent.x < this.owner.minWidth) newExtent.x = this.owner.minWidth;\n\n this.owner.setExtent(newExtent);\n this.align(this.bounds().topRight(), pt(this.owner.getExtent().x,0));\n }","funcProperties":{"__isSmartRef__":true,"id":3190},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3185":{"this":{"__isSmartRef__":true,"id":3173},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3186}},"3186":{"$super":{"__isSmartRef__":true,"id":3187}},"3187":{"varMapping":{"__isSmartRef__":true,"id":3188},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3189},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3188":{"obj":{"__isSmartRef__":true,"id":3173},"name":"onDrag"},"3189":{},"3190":{},"3191":{"varMapping":{"__isSmartRef__":true,"id":3192},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n this.owner.alignReframeHandle();\n this.owner.alignBottomReframeHandle();\n }","funcProperties":{"__isSmartRef__":true,"id":3197},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3192":{"this":{"__isSmartRef__":true,"id":3173},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3193}},"3193":{"$super":{"__isSmartRef__":true,"id":3194}},"3194":{"varMapping":{"__isSmartRef__":true,"id":3195},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3196},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3195":{"obj":{"__isSmartRef__":true,"id":3173},"name":"onDragEnd"},"3196":{},"3197":{},"3198":{"submorphs":[{"__isSmartRef__":true,"id":3199},{"__isSmartRef__":true,"id":3205},{"__isSmartRef__":true,"id":3218},{"__isSmartRef__":true,"id":3230}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3243},"eventHandler":{"__isSmartRef__":true,"id":3244},"_ClipMode":"visible","derivationIds":[],"id":"D7079D70-34B2-485F-8CC9-3802DA8A49A1","droppingEnabled":false,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":3245},"__serializedExpressions__":["_Position"],"windowMorph":{"__isSmartRef__":true,"id":2726},"label":{"__isSmartRef__":true,"id":3199},"closeButton":{"__isSmartRef__":true,"id":3205},"menuButton":{"__isSmartRef__":true,"id":3218},"collapseButton":{"__isSmartRef__":true,"id":3230},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":2726},"prevScroll":[0,0],"__LivelyClassName__":"lively.morphic.TitleBar","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,0.0)"},"3199":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3200},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3201}],"eventHandler":{"__isSmartRef__":true,"id":3203},"_ClipMode":"hidden","derivationIds":[],"id":"4C01AB01-786C-4FF1-91E7-AF815A2A2DFC","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"isLabel":true,"layout":{"__isSmartRef__":true,"id":3204},"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":3198},"_StyleClassNames":["window-title"],"_TextStylingMode":true,"prevScroll":[0,0],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(21.0,3.0)"},"3200":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(768.0,18.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3201":{"style":{"__isSmartRef__":true,"id":3202},"chunkOwner":{"__isSmartRef__":true,"id":3199},"_id":"_50858","storedString":"SyncMorphServer.js","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3202":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3203":{"morph":{"__isSmartRef__":true,"id":3199},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3204":{"resizeWidth":true},"3205":{"submorphs":[{"__isSmartRef__":true,"id":3206}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3211},"eventHandler":{"__isSmartRef__":true,"id":3212},"_ClipMode":"visible","derivationIds":[],"id":"1DB871E2-2FF3-4803-8D34-2CAA200862F9","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":3206},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":3198},"layout":{"__isSmartRef__":true,"id":3213},"_StyleClassNames":["close"],"attributeConnections":[{"__isSmartRef__":true,"id":3214},{"__isSmartRef__":true,"id":3216}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(808.0,3.0)"},"3206":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3207},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":3208}],"eventHandler":{"__isSmartRef__":true,"id":3210},"_ClipMode":"hidden","derivationIds":[],"id":"C18B1C41-4B77-4FBD-AC18-7C07F603E941","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":3205},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,-1.0)"},"3207":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3208":{"style":{"__isSmartRef__":true,"id":3209},"chunkOwner":{"__isSmartRef__":true,"id":3206},"_id":"_50722","storedString":"X","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3209":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3210":{"morph":{"__isSmartRef__":true,"id":3206},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3211":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"3212":{"morph":{"__isSmartRef__":true,"id":3205},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3213":{"moveHorizontal":true},"3214":{"sourceObj":{"__isSmartRef__":true,"id":3205},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":2726},"targetMethodName":"getCloseHelp","varMapping":{"__isSmartRef__":true,"id":3215},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3215":{"source":{"__isSmartRef__":true,"id":3205},"target":{"__isSmartRef__":true,"id":2726}},"3216":{"sourceObj":{"__isSmartRef__":true,"id":3205},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2726},"targetMethodName":"initiateShutdown","varMapping":{"__isSmartRef__":true,"id":3217},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3217":{"source":{"__isSmartRef__":true,"id":3205},"target":{"__isSmartRef__":true,"id":2726}},"3218":{"submorphs":[{"__isSmartRef__":true,"id":3219}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3224},"eventHandler":{"__isSmartRef__":true,"id":3225},"_ClipMode":"visible","derivationIds":[],"id":"7E9EA71A-67FB-4868-84A4-3893907073C2","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":3219},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":3198},"attributeConnections":[{"__isSmartRef__":true,"id":3226},{"__isSmartRef__":true,"id":3228}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(3.0,3.0)"},"3219":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3220},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":3221}],"eventHandler":{"__isSmartRef__":true,"id":3223},"_ClipMode":"hidden","derivationIds":[],"id":"8E5CE336-44E3-4662-A82A-A471B57BDF6E","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":3218},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"3220":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(18.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3221":{"style":{"__isSmartRef__":true,"id":3222},"chunkOwner":{"__isSmartRef__":true,"id":3219},"_id":"_50724","storedString":"M","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3222":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3223":{"morph":{"__isSmartRef__":true,"id":3219},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3224":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"3225":{"morph":{"__isSmartRef__":true,"id":3218},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3226":{"sourceObj":{"__isSmartRef__":true,"id":3218},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":2726},"targetMethodName":"getMenuHelp","varMapping":{"__isSmartRef__":true,"id":3227},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3227":{"source":{"__isSmartRef__":true,"id":3218},"target":{"__isSmartRef__":true,"id":2726}},"3228":{"sourceObj":{"__isSmartRef__":true,"id":3218},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2726},"targetMethodName":"showTargetMorphMenu","varMapping":{"__isSmartRef__":true,"id":3229},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3229":{"source":{"__isSmartRef__":true,"id":3218},"target":{"__isSmartRef__":true,"id":2726}},"3230":{"submorphs":[{"__isSmartRef__":true,"id":3231}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3236},"eventHandler":{"__isSmartRef__":true,"id":3237},"_ClipMode":"visible","derivationIds":[],"id":"A9D4CFC8-29A4-4094-9A4C-C4C1FC56D152","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"__serializedExpressions__":["_Position"],"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":3231},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":3198},"layout":{"__isSmartRef__":true,"id":3238},"attributeConnections":[{"__isSmartRef__":true,"id":3239},{"__isSmartRef__":true,"id":3241}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"prevScroll":[0,0],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(789.0,3.0)"},"3231":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3232},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":3233}],"eventHandler":{"__isSmartRef__":true,"id":3235},"_ClipMode":"hidden","derivationIds":[],"id":"5371F90B-D1C7-4B92-98AE-25C0D3F2A386","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_WordBreak":null,"fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"__serializedExpressions__":["_TextColor","_Position"],"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":3230},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"prevScroll":[0,0],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,1.0)"},"3232":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":0,"_Fill":null,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3233":{"style":{"__isSmartRef__":true,"id":3234},"chunkOwner":{"__isSmartRef__":true,"id":3231},"_id":"_50726","storedString":"–","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3234":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3235":{"morph":{"__isSmartRef__":true,"id":3231},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3236":{"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"3237":{"morph":{"__isSmartRef__":true,"id":3230},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3238":{"moveHorizontal":true},"3239":{"sourceObj":{"__isSmartRef__":true,"id":3230},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":2726},"targetMethodName":"getCollapseHelp","varMapping":{"__isSmartRef__":true,"id":3240},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3240":{"source":{"__isSmartRef__":true,"id":3230},"target":{"__isSmartRef__":true,"id":2726}},"3241":{"sourceObj":{"__isSmartRef__":true,"id":3230},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":2726},"targetMethodName":"toggleCollapse","varMapping":{"__isSmartRef__":true,"id":3242},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3242":{"source":{"__isSmartRef__":true,"id":3230},"target":{"__isSmartRef__":true,"id":2726}},"3243":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"_AppearanceStylingMode":true,"_BorderStylingMode":true,"_BorderWidth":0,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(828.0,22.0)","_Padding":"lively.rect(0,0,0,0)"},"3244":{"morph":{"__isSmartRef__":true,"id":3198},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3245":{"resizeWidth":true,"adjustForNewBounds":true},"3246":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3247},"eventHandler":{"__isSmartRef__":true,"id":3248},"_ClipMode":"visible","derivationIds":[],"id":"7DEC9385-3D92-4FDC-A5D3-41F0A9DD016D","droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position"],"_StyleClassNames":["reframe-handle corner"],"owner":{"__isSmartRef__":true,"id":2726},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3249},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(814.0,562.0)"},"3247":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(14.0,14.0)","_Padding":"lively.rect(0,0,0,0)"},"3248":{"morph":{"__isSmartRef__":true,"id":3246},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3249":{"onDragStart":{"__isSmartRef__":true,"id":3250},"onDrag":{"__isSmartRef__":true,"id":3257},"onDragEnd":{"__isSmartRef__":true,"id":3264}},"3250":{"varMapping":{"__isSmartRef__":true,"id":3251},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":3256},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3251":{"this":{"__isSmartRef__":true,"id":3246},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3252}},"3252":{"$super":{"__isSmartRef__":true,"id":3253}},"3253":{"varMapping":{"__isSmartRef__":true,"id":3254},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3255},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3254":{"obj":{"__isSmartRef__":true,"id":3246},"name":"onDragStart"},"3255":{},"3256":{},"3257":{"varMapping":{"__isSmartRef__":true,"id":3258},"source":"function onDrag(evt) {\n var moveDelta = evt.mousePoint.subPt(this.dragStartPoint)\n var newExtent = this.originalTargetExtent.addPt(moveDelta);\n if (newExtent.x < this.owner.minWidth) newExtent.x = this.owner.minWidth;\n if (newExtent.y < this.owner.minHeight) newExtent.y = this.owner.minHeight;\n this.owner.setExtent(newExtent);\n //console.log(\"WindowExtent: \"+this.owner.getExtent().x+\" , \"+this.owner.getExtent().y);\n this.align(this.bounds().bottomRight(), this.owner.getExtent());\n }","funcProperties":{"__isSmartRef__":true,"id":3263},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3258":{"this":{"__isSmartRef__":true,"id":3246},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3259}},"3259":{"$super":{"__isSmartRef__":true,"id":3260}},"3260":{"varMapping":{"__isSmartRef__":true,"id":3261},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3262},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3261":{"obj":{"__isSmartRef__":true,"id":3246},"name":"onDrag"},"3262":{},"3263":{},"3264":{"varMapping":{"__isSmartRef__":true,"id":3265},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n this.owner.alignBottomReframeHandle();\n this.owner.alignRightReframeHandle();\n }","funcProperties":{"__isSmartRef__":true,"id":3270},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3265":{"this":{"__isSmartRef__":true,"id":3246},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3266}},"3266":{"$super":{"__isSmartRef__":true,"id":3267}},"3267":{"varMapping":{"__isSmartRef__":true,"id":3268},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3269},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3268":{"obj":{"__isSmartRef__":true,"id":3246},"name":"onDragEnd"},"3269":{},"3270":{},"3271":{"__serializedExpressions__":["_Padding","_Extent"],"_BorderWidth":0,"_Fill":null,"_StrokeOpacity":0,"_BorderRadius":0,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Padding":"lively.rect(0,0,0,0)","_Extent":"lively.pt(828.0,576.0)"},"3272":{"morph":{"__isSmartRef__":true,"id":2726},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3273":{"adjustForNewBounds":true},"3274":{"submorphs":[{"__isSmartRef__":true,"id":3275},{"__isSmartRef__":true,"id":3775},{"__isSmartRef__":true,"id":3801},{"__isSmartRef__":true,"id":3827},{"__isSmartRef__":true,"id":3883}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3909},"eventHandler":{"__isSmartRef__":true,"id":3910},"_ClipMode":"visible","derivationIds":["F2B9C88A-5908-430D-BCCF-88E5AEE9752D"],"id":"AFDCF485-DD26-4DB2-B6AF-36137E9171FF","droppingEnabled":false,"halosEnabled":true,"draggingEnabled":true,"layout":{"__isSmartRef__":true,"id":3911},"LK2":true,"targetMorph":{"__isSmartRef__":true,"id":3275},"reframeHandle":{"__isSmartRef__":true,"id":3883},"bottomReframeHandle":{"__isSmartRef__":true,"id":3775},"rightReframeHandle":{"__isSmartRef__":true,"id":3801},"titleBar":{"__isSmartRef__":true,"id":3827},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"_PreviousBorderWidth":0,"partsBinMetaInfo":{"__isSmartRef__":true,"id":3912},"name":"NodeJSControl","highlighted":false,"__serializedExpressions__":["_Position","contentOffset"],"moved":true,"owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"_Scale":1,"prevScroll":[0,0],"__LivelyClassName__":"lively.morphic.Window","__SourceModuleName__":"Global.lively.morphic.Widgets","withoutLayers":["Global.lively.morphic.GrabbingLayer"],"_Position":"lively.pt(1131.0,465.0)","contentOffset":"lively.pt(4.0,22.0)"},"3275":{"submorphs":[{"__isSmartRef__":true,"id":3276},{"__isSmartRef__":true,"id":3368},{"__isSmartRef__":true,"id":3373},{"__isSmartRef__":true,"id":3421},{"__isSmartRef__":true,"id":3474},{"__isSmartRef__":true,"id":3527},{"__isSmartRef__":true,"id":3534},{"__isSmartRef__":true,"id":3583},{"__isSmartRef__":true,"id":3636},{"__isSmartRef__":true,"id":3684}],"scripts":[],"id":"BFCDFAA0-EEDD-4523-80A0-73CB2947D0C6","shape":{"__isSmartRef__":true,"id":3690},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":3691},"eventHandler":{"__isSmartRef__":true,"id":3694},"attributeConnections":[{"__isSmartRef__":true,"id":3695}],"doNotSerialize":["$$currentServer"],"doNotCopyProperties":["$$currentServer"],"layout":{"__isSmartRef__":true,"id":3696},"scriptAnnotations":{"__isSmartRef__":true,"id":3697},"name":"NodeJSControl","owner":{"__isSmartRef__":true,"id":3274},"currentServer":{"__isSmartRef__":true,"id":3331},"derivationIds":[2945,"A020E61A-B0C9-46AF-9F62-D5CCABB23375","B8D88BC8-AA56-452B-962B-055BC600E209","18D995B9-189E-45FE-B7CA-0CB4BCF54CA6"],"isBeingDragged":false,"_ClipMode":"visible","__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"prevScroll":[0,0],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3732},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(4.0,22.0)","distanceToDragEvent":"lively.pt(393.0,-9.0)"},"3276":{"submorphs":[],"scripts":[],"id":"3A3254CB-BF77-4293-8CA1-A07DB60EA2AB","shape":{"__isSmartRef__":true,"id":3277},"droppingEnabled":true,"halosEnabled":true,"itemList":[{"__isSmartRef__":true,"id":3278},{"__isSmartRef__":true,"id":3280},{"__isSmartRef__":true,"id":3282},{"__isSmartRef__":true,"id":3284},{"__isSmartRef__":true,"id":3286},{"__isSmartRef__":true,"id":3288},{"__isSmartRef__":true,"id":3290},{"__isSmartRef__":true,"id":3292},{"__isSmartRef__":true,"id":3294},{"__isSmartRef__":true,"id":3296},{"__isSmartRef__":true,"id":3298},{"__isSmartRef__":true,"id":3300},{"__isSmartRef__":true,"id":3302},{"__isSmartRef__":true,"id":3304},{"__isSmartRef__":true,"id":3306},{"__isSmartRef__":true,"id":3308},{"__isSmartRef__":true,"id":3310},{"__isSmartRef__":true,"id":3312},{"__isSmartRef__":true,"id":3314},{"__isSmartRef__":true,"id":3316},{"__isSmartRef__":true,"id":3318},{"__isSmartRef__":true,"id":3320},{"__isSmartRef__":true,"id":3322},{"__isSmartRef__":true,"id":3324},{"__isSmartRef__":true,"id":3326},{"__isSmartRef__":true,"id":3328},{"__isSmartRef__":true,"id":3330},{"__isSmartRef__":true,"id":3332},{"__isSmartRef__":true,"id":3334},{"__isSmartRef__":true,"id":3336}],"selectedLineNo":26,"showsHalos":false,"name":"serverList","partsBinMetaInfo":{"__isSmartRef__":true,"id":3338},"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":3339},"attributeConnections":[{"__isSmartRef__":true,"id":3340}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"owner":{"__isSmartRef__":true,"id":3275},"prevScroll":[0,112],"selection":{"__isSmartRef__":true,"id":3331},"derivationIds":[2946,"50489244-A043-40B6-8982-313F58ACD86E","ED0CCF9C-DC92-4C07-A9CC-E1F88F431581","230E3311-5751-4EEF-9630-050296A17960"],"changeTriggered":true,"layout":{"__isSmartRef__":true,"id":3367},"isBeingDragged":false,"__serializedExpressions__":["_Position"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.List","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(5.0,5.0)"},"3277":{"_BorderWidth":0,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(160.0,238.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"3278":{"string":"MasterServer","value":{"__isSmartRef__":true,"id":3279},"isListItem":true},"3279":{"serverName":"MasterServer","isRunning":true},"3280":{"string":"AJMNodeJSServer","value":{"__isSmartRef__":true,"id":3281},"isListItem":true},"3281":{"serverName":"AJMNodeJSServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3282":{"string":"BenchmarkServer","value":{"__isSmartRef__":true,"id":3283},"isListItem":true},"3283":{"serverName":"BenchmarkServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3284":{"string":"ChatServer","value":{"__isSmartRef__":true,"id":3285},"isListItem":true},"3285":{"serverName":"ChatServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3286":{"string":"CodeSearchServer","value":{"__isSmartRef__":true,"id":3287},"isListItem":true},"3287":{"serverName":"CodeSearchServer","pid":4276,"isRunning":true,"restart":true},"3288":{"string":"CommandLineServer","value":{"__isSmartRef__":true,"id":3289},"isListItem":true},"3289":{"serverName":"CommandLineServer","pid":4274,"isRunning":true,"restart":true},"3290":{"string":"CoreDiffInterfaceServer","value":{"__isSmartRef__":true,"id":3291},"isListItem":true},"3291":{"serverName":"CoreDiffInterfaceServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3292":{"string":"DatabaseQueryServer","value":{"__isSmartRef__":true,"id":3293},"isListItem":true},"3293":{"serverName":"DatabaseQueryServer","pid":4278,"isRunning":true,"restart":true},"3294":{"string":"DistributedDoitServer","value":{"__isSmartRef__":true,"id":3295},"isListItem":true},"3295":{"serverName":"DistributedDoitServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3296":{"string":"EduChatServer","value":{"__isSmartRef__":true,"id":3297},"isListItem":true},"3297":{"serverName":"EduChatServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3298":{"string":"EventTrackerServer","value":{"__isSmartRef__":true,"id":3299},"isListItem":true},"3299":{"serverName":"EventTrackerServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3300":{"string":"FabiansPlayground","value":{"__isSmartRef__":true,"id":3301},"isListItem":true},"3301":{"serverName":"FabiansPlayground","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3302":{"string":"GitDAVServer","value":{"__isSmartRef__":true,"id":3303},"isListItem":true},"3303":{"serverName":"GitDAVServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3304":{"string":"GridComputingServer","value":{"__isSmartRef__":true,"id":3305},"isListItem":true},"3305":{"serverName":"GridComputingServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3306":{"string":"HelloServer","value":{"__isSmartRef__":true,"id":3307},"isListItem":true},"3307":{"serverName":"HelloServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3308":{"string":"InstallShServer","value":{"__isSmartRef__":true,"id":3309},"isListItem":true},"3309":{"serverName":"InstallShServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3310":{"string":"LaTeXServer","value":{"__isSmartRef__":true,"id":3311},"isListItem":true},"3311":{"serverName":"LaTeXServer","pid":4272,"isRunning":true,"restart":true},"3312":{"string":"MartinsPlayground","value":{"__isSmartRef__":true,"id":3313},"isListItem":true},"3313":{"serverName":"MartinsPlayground","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3314":{"string":"OAuthServer","value":{"__isSmartRef__":true,"id":3315},"isListItem":true},"3315":{"serverName":"OAuthServer","pid":4273,"isRunning":true,"restart":true},"3316":{"string":"PhantomJSServer","value":{"__isSmartRef__":true,"id":3317},"isListItem":true},"3317":{"serverName":"PhantomJSServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3318":{"string":"PingServer","value":{"__isSmartRef__":true,"id":3319},"isListItem":true},"3319":{"serverName":"PingServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3320":{"string":"PongServer","value":{"__isSmartRef__":true,"id":3321},"isListItem":true},"3321":{"serverName":"PongServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3322":{"string":"SandboxServer","value":{"__isSmartRef__":true,"id":3323},"isListItem":true},"3323":{"serverName":"SandboxServer","pid":4270,"isRunning":true,"restart":true},"3324":{"string":"SocketChatServer","value":{"__isSmartRef__":true,"id":3325},"isListItem":true},"3325":{"serverName":"SocketChatServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3326":{"string":"SocketIOExampleServer","value":{"__isSmartRef__":true,"id":3327},"isListItem":true},"3327":{"serverName":"SocketIOExampleServer","pid":9383,"isRunning":true,"restart":true},"3328":{"string":"SqliteQueryServer","value":{"__isSmartRef__":true,"id":3329},"isListItem":true},"3329":{"serverName":"SqliteQueryServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":true},"3330":{"string":"SyncMorphServer","value":{"__isSmartRef__":true,"id":3331},"isListItem":true},"3331":{"serverName":"SyncMorphServer","pid":9429,"isRunning":true,"restart":true},"3332":{"string":"SyncServer","value":{"__isSmartRef__":true,"id":3333},"isListItem":true},"3333":{"serverName":"SyncServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":false},"3334":{"string":"TestServer","value":{"__isSmartRef__":true,"id":3335},"isListItem":true},"3335":{"serverName":"TestServer","path":"/home/nodejs/svn/nodejs/","shouldRestart":false},"3336":{"string":"server","value":{"__isSmartRef__":true,"id":3337},"isListItem":true},"3337":{"serverName":"server","path":"/home/nodejs/svn/webwerkstatt/projects/Collaboration/src/server/","shouldRestart":false},"3338":{"partsSpaceName":"PartsBin/Basic","migrationLevel":2,"partName":"List","comment":"a list morph","idOnLoad":"3A3254CB-BF77-4293-8CA1-A07DB60EA2AB","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3339":{"morph":{"__isSmartRef__":true,"id":3276},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3340":{"sourceObj":{"__isSmartRef__":true,"id":3276},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":3275},"targetMethodName":"currentServer","visualConnector":{"__isSmartRef__":true,"id":3341},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3341":{"submorphs":[{"__isSmartRef__":true,"id":3342}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3353},"id":5306,"eventHandler":{"__isSmartRef__":true,"id":3356},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":3357},{"__isSmartRef__":true,"id":3358}],"con":{"__isSmartRef__":true,"id":3340},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3359},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3342":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3343},"id":5307,"eventHandler":{"__isSmartRef__":true,"id":3348},"droppingEnabled":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":3341},"_Rotation":-2.8706458032513726,"controlPoints":[{"__isSmartRef__":true,"id":3349},{"__isSmartRef__":true,"id":3350},{"__isSmartRef__":true,"id":3351},{"__isSmartRef__":true,"id":3352}],"__serializedExpressions__":["_Origin","_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Origin":"lively.pt(12.0,6.0)","_Position":"lively.pt(-12.0,-6.0)"},"3343":{"dontChangeShape":false,"cachedVertices":[],"_PathElements":[{"__isSmartRef__":true,"id":3344},{"__isSmartRef__":true,"id":3345},{"__isSmartRef__":true,"id":3346},{"__isSmartRef__":true,"id":3347}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(16.0,12.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"3344":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3345":{"isAbsolute":true,"x":0,"y":12,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3346":{"isAbsolute":true,"x":16,"y":6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3347":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3348":{"morph":{"__isSmartRef__":true,"id":3342},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3349":{"morph":{"__isSmartRef__":true,"id":3342},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3350":{"morph":{"__isSmartRef__":true,"id":3342},"index":1,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3351":{"morph":{"__isSmartRef__":true,"id":3342},"index":2,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3352":{"morph":{"__isSmartRef__":true,"id":3342},"index":3,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3353":{"dontChangeShape":false,"cachedVertices":[],"_PathElements":[{"__isSmartRef__":true,"id":3354},{"__isSmartRef__":true,"id":3355}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(18.0,5.0)","_BorderColor":"Color.rgb(0,0,0)"},"3354":{"isAbsolute":true,"x":18,"y":5,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3355":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3356":{"morph":{"__isSmartRef__":true,"id":3341},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3357":{"morph":{"__isSmartRef__":true,"id":3341},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3358":{"morph":{"__isSmartRef__":true,"id":3341},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":3342},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3359":{"morphMenuItems":{"__isSmartRef__":true,"id":3360}},"3360":{"varMapping":{"__isSmartRef__":true,"id":3361},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":3366},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3361":{"this":{"__isSmartRef__":true,"id":3341},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3362}},"3362":{"$super":{"__isSmartRef__":true,"id":3363}},"3363":{"varMapping":{"__isSmartRef__":true,"id":3364},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3365},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3364":{"obj":{"__isSmartRef__":true,"id":3341},"name":"morphMenuItems"},"3365":{},"3366":{},"3367":{"adjustForNewBounds":true,"resizeHeight":true},"3368":{"submorphs":[],"scripts":[],"id":"3F6FED11-582A-45C7-9846-1BD4C1DFF609","shape":{"__isSmartRef__":true,"id":3369},"droppingEnabled":true,"halosEnabled":true,"showsHalos":false,"name":"serverStateIndicator","partsBinMetaInfo":{"__isSmartRef__":true,"id":3370},"eventHandler":{"__isSmartRef__":true,"id":3371},"layout":{"__isSmartRef__":true,"id":3372},"owner":{"__isSmartRef__":true,"id":3275},"derivationIds":[2947,"D097888D-3FA3-4B9B-813B-AA7795D42947","E48DD4E1-1AE3-4373-A17B-BC5E7BADE26D","EC85E1FC-C89E-45EF-B4D9-AD6BFBED0B21"],"_ClipMode":"visible","__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Morph","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(176.9,13.0)","distanceToDragEvent":"lively.pt(43.0,-17.0)"},"3369":{"_BorderWidth":0,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_ClipMode":"visible","__serializedExpressions__":["position","_Extent","_Fill","_Position","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Ellipse","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Fill":"Color.rgb(0,204,0)","_Position":"lively.pt(-7.0,-8.0)","_BorderColor":"Color.rgb(66,66,66)","_Padding":"lively.rect(0,0,0,0)"},"3370":{"partsSpaceName":"PartsBin/Basic","migrationLevel":2,"comment":"an Ellipse","partName":"Ellipse","idOnLoad":"3F6FED11-582A-45C7-9846-1BD4C1DFF609","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3371":{"morph":{"__isSmartRef__":true,"id":3368},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3372":{},"3373":{"submorphs":[{"__isSmartRef__":true,"id":3374}],"scripts":[],"id":"A6598582-57B5-4D81-9C3B-60278F0A3ED4","shape":{"__isSmartRef__":true,"id":3380},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":3381},"lighterFill":{"__isSmartRef__":true,"id":3386},"label":{"__isSmartRef__":true,"id":3374},"attributeConnections":[{"__isSmartRef__":true,"id":3391}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"showsHalos":false,"name":"refreshServerListButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":3418},"eventHandler":{"__isSmartRef__":true,"id":3419},"owner":{"__isSmartRef__":true,"id":3275},"derivationIds":[2948,"E1BB5CA5-95D7-4014-8230-07610997FA20","C4244DFB-E7B0-444D-9D2D-B1ADC512620B","D995AE69-FACA-460D-8334-2F64AA87D0C0"],"layout":{"__isSmartRef__":true,"id":3420},"_ClipMode":"visible","isPressed":false,"__serializedExpressions__":["padding","_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","padding":"lively.rect(5,0,0,0)","_Position":"lively.pt(140.0,250.0)","distanceToDragEvent":"lively.pt(51.1,-13.5)"},"3374":{"submorphs":[],"scripts":[],"id":"81397929-D3D4-47B2-A7A1-E269C4679684","shape":{"__isSmartRef__":true,"id":3375},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":20,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"owner":{"__isSmartRef__":true,"id":3373},"eventsAreIgnored":true,"textChunks":[{"__isSmartRef__":true,"id":3376}],"prevScroll":[0,0],"_Align":"center","_FontFamily":"Arial","_ClipMode":"hidden","_WhiteSpaceHandling":"pre-wrap","_VerticalAlign":"middle","_Display":"table-cell","eventHandler":{"__isSmartRef__":true,"id":3378},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[2949,"4D98A1B5-B8BB-4146-83F5-70FB5E204B3F","BE416A45-91A1-495A-AE55-ECF27A5F6C33","71E305F1-6824-4DB6-A408-3D2A558894C2"],"_MinTextWidth":20,"_MinTextHeight":null,"_FontSize":10,"_WordBreak":"break-all","partsBinMetaInfo":{"__isSmartRef__":true,"id":3379},"__serializedExpressions__":["_Position","textColor","padding","_Padding","_TextColor"],"_Scale":1,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","textColor":"Color.rgb(0,0,0)","padding":"lively.rect(5,0,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"3375":{"borderWidth":0,"fill":null,"_ClipMode":"hidden","_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"3376":{"style":{"__isSmartRef__":true,"id":3377},"chunkOwner":{"__isSmartRef__":true,"id":3374},"_id":"_557","storedString":"⟳","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3377":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3378":{"morph":{"__isSmartRef__":true,"id":3374},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3379":{"requiredModules":[],"idOnLoad":"81397929-D3D4-47B2-A7A1-E269C4679684","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3380":{"_Fill":{"__isSmartRef__":true,"id":3381},"_BorderWidth":1,"_BorderRadius":5,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"3381":{"stops":[{"__isSmartRef__":true,"id":3382},{"__isSmartRef__":true,"id":3383},{"__isSmartRef__":true,"id":3384},{"__isSmartRef__":true,"id":3385}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"3382":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"3383":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"3384":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"3385":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"3386":{"stops":[{"__isSmartRef__":true,"id":3387},{"__isSmartRef__":true,"id":3388},{"__isSmartRef__":true,"id":3389},{"__isSmartRef__":true,"id":3390}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"3387":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"3388":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"3389":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"3390":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"3391":{"sourceObj":{"__isSmartRef__":true,"id":3373},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3275},"targetMethodName":"refreshServerList","visualConnector":{"__isSmartRef__":true,"id":3392},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3392":{"submorphs":[{"__isSmartRef__":true,"id":3393}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3404},"id":3551,"eventHandler":{"__isSmartRef__":true,"id":3407},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":3408},{"__isSmartRef__":true,"id":3409}],"con":{"__isSmartRef__":true,"id":3391},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3410},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3393":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3394},"id":3552,"eventHandler":{"__isSmartRef__":true,"id":3399},"droppingEnabled":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":3392},"_Rotation":-3.0635190362248506,"controlPoints":[{"__isSmartRef__":true,"id":3400},{"__isSmartRef__":true,"id":3401},{"__isSmartRef__":true,"id":3402},{"__isSmartRef__":true,"id":3403}],"__serializedExpressions__":["_Origin","_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Origin":"lively.pt(12.0,6.0)","_Position":"lively.pt(-12.0,-6.0)"},"3394":{"dontChangeShape":false,"cachedVertices":[],"_PathElements":[{"__isSmartRef__":true,"id":3395},{"__isSmartRef__":true,"id":3396},{"__isSmartRef__":true,"id":3397},{"__isSmartRef__":true,"id":3398}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(16.0,12.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"3395":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3396":{"isAbsolute":true,"x":0,"y":12,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3397":{"isAbsolute":true,"x":16,"y":6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3398":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3399":{"morph":{"__isSmartRef__":true,"id":3393},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3400":{"morph":{"__isSmartRef__":true,"id":3393},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3401":{"morph":{"__isSmartRef__":true,"id":3393},"index":1,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3402":{"morph":{"__isSmartRef__":true,"id":3393},"index":2,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3403":{"morph":{"__isSmartRef__":true,"id":3393},"index":3,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3404":{"dontChangeShape":false,"cachedVertices":[],"_PathElements":[{"__isSmartRef__":true,"id":3405},{"__isSmartRef__":true,"id":3406}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(146.9,11.5)","_BorderColor":"Color.rgb(0,0,0)"},"3405":{"isAbsolute":true,"x":146.9078618157696,"y":11.492989485982434,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3406":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3407":{"morph":{"__isSmartRef__":true,"id":3392},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3408":{"morph":{"__isSmartRef__":true,"id":3392},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3409":{"morph":{"__isSmartRef__":true,"id":3392},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":3393},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3410":{"morphMenuItems":{"__isSmartRef__":true,"id":3411}},"3411":{"varMapping":{"__isSmartRef__":true,"id":3412},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":3417},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3412":{"this":{"__isSmartRef__":true,"id":3392},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3413}},"3413":{"$super":{"__isSmartRef__":true,"id":3414}},"3414":{"varMapping":{"__isSmartRef__":true,"id":3415},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3416},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3415":{"obj":{"__isSmartRef__":true,"id":3392},"name":"morphMenuItems"},"3416":{},"3417":{},"3418":{"partsSpaceName":"PartsBin/NewWorld","migrationLevel":1,"idOnLoad":"A6598582-57B5-4D81-9C3B-60278F0A3ED4","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3419":{"morph":{"__isSmartRef__":true,"id":3373},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3420":{"adjustForNewBounds":true,"moveVertical":true},"3421":{"submorphs":[{"__isSmartRef__":true,"id":3422}],"scripts":[],"id":"77C43779-F486-47F7-990C-84ACB55E4142","shape":{"__isSmartRef__":true,"id":3428},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":3434},"lighterFill":{"__isSmartRef__":true,"id":3439},"label":{"__isSmartRef__":true,"id":3422},"attributeConnections":[{"__isSmartRef__":true,"id":3444}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"showsHalos":false,"name":"createServerButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":3471},"eventHandler":{"__isSmartRef__":true,"id":3472},"owner":{"__isSmartRef__":true,"id":3275},"derivationIds":[2950,"1BFBB83F-B163-4851-8ABD-9CD04F7802F7","73A2D105-F637-4B40-A953-8E82A41DD992","BA34FB90-172A-494E-BF05-69DFB4A697FB"],"layout":{"__isSmartRef__":true,"id":3473},"_ClipMode":"visible","isPressed":false,"__serializedExpressions__":["padding","distanceToDragEvent","_Position"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","padding":"lively.rect(5,0,0,0)","distanceToDragEvent":"lively.pt(43.1,-14.5)","_Position":"lively.pt(88.0,250.0)"},"3422":{"submorphs":[],"scripts":[],"id":"979BE560-C24E-492B-8383-3B83639199CF","shape":{"__isSmartRef__":true,"id":3423},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":20,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"owner":{"__isSmartRef__":true,"id":3421},"eventsAreIgnored":true,"textChunks":[{"__isSmartRef__":true,"id":3424}],"prevScroll":[0,0],"_Align":"center","_FontFamily":"Arial","_ClipMode":"hidden","_WhiteSpaceHandling":"pre-wrap","_VerticalAlign":"middle","_Display":"table-cell","eventHandler":{"__isSmartRef__":true,"id":3426},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[2951,"03BFF8CC-D79D-48E7-B201-5C892F35F5F8","15B3E8EB-6C86-4F2C-B542-DA6402820018","D065CFA3-D76F-4FC9-BE70-9B489198F74F"],"_MinTextWidth":20,"_MinTextHeight":null,"_FontSize":10,"_WordBreak":"break-all","partsBinMetaInfo":{"__isSmartRef__":true,"id":3427},"__serializedExpressions__":["_Position","textColor","padding","_Padding","_TextColor"],"_Scale":1,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","textColor":"Color.rgb(0,0,0)","padding":"lively.rect(5,0,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"3423":{"borderWidth":0,"fill":null,"_ClipMode":"hidden","_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"3424":{"style":{"__isSmartRef__":true,"id":3425},"chunkOwner":{"__isSmartRef__":true,"id":3422},"_id":"_559","storedString":"+","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3425":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3426":{"morph":{"__isSmartRef__":true,"id":3422},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3427":{"requiredModules":[],"idOnLoad":"979BE560-C24E-492B-8383-3B83639199CF","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3428":{"_Fill":{"__isSmartRef__":true,"id":3429},"_BorderWidth":1,"_BorderRadius":5,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"3429":{"stops":[{"__isSmartRef__":true,"id":3430},{"__isSmartRef__":true,"id":3431},{"__isSmartRef__":true,"id":3432},{"__isSmartRef__":true,"id":3433}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"3430":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"3431":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"3432":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"3433":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"3434":{"stops":[{"__isSmartRef__":true,"id":3435},{"__isSmartRef__":true,"id":3436},{"__isSmartRef__":true,"id":3437},{"__isSmartRef__":true,"id":3438}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"3435":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"3436":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"3437":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"3438":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"3439":{"stops":[{"__isSmartRef__":true,"id":3440},{"__isSmartRef__":true,"id":3441},{"__isSmartRef__":true,"id":3442},{"__isSmartRef__":true,"id":3443}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"3440":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"3441":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"3442":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"3443":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"3444":{"sourceObj":{"__isSmartRef__":true,"id":3421},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3275},"targetMethodName":"createNewServer","visualConnector":{"__isSmartRef__":true,"id":3445},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3445":{"submorphs":[{"__isSmartRef__":true,"id":3446}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3457},"id":9698,"eventHandler":{"__isSmartRef__":true,"id":3460},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":3461},{"__isSmartRef__":true,"id":3462}],"con":{"__isSmartRef__":true,"id":3444},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3463},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3446":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3447},"id":9699,"eventHandler":{"__isSmartRef__":true,"id":3452},"droppingEnabled":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":3445},"_Rotation":-2.0204918715703832,"controlPoints":[{"__isSmartRef__":true,"id":3453},{"__isSmartRef__":true,"id":3454},{"__isSmartRef__":true,"id":3455},{"__isSmartRef__":true,"id":3456}],"__serializedExpressions__":["_Origin","_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Origin":"lively.pt(12.0,6.0)","_Position":"lively.pt(-12.0,-6.0)"},"3447":{"dontChangeShape":false,"cachedVertices":[],"_PathElements":[{"__isSmartRef__":true,"id":3448},{"__isSmartRef__":true,"id":3449},{"__isSmartRef__":true,"id":3450},{"__isSmartRef__":true,"id":3451}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(16.0,12.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"3448":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3449":{"isAbsolute":true,"x":0,"y":12,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3450":{"isAbsolute":true,"x":16,"y":6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3451":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3452":{"morph":{"__isSmartRef__":true,"id":3446},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3453":{"morph":{"__isSmartRef__":true,"id":3446},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3454":{"morph":{"__isSmartRef__":true,"id":3446},"index":1,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3455":{"morph":{"__isSmartRef__":true,"id":3446},"index":2,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3456":{"morph":{"__isSmartRef__":true,"id":3446},"index":3,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3457":{"dontChangeShape":false,"cachedVertices":[],"_PathElements":[{"__isSmartRef__":true,"id":3458},{"__isSmartRef__":true,"id":3459}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(120.9,250.5)","_BorderColor":"Color.rgb(0,0,0)"},"3458":{"isAbsolute":true,"x":120.90786181576959,"y":250.49298948598243,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3459":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3460":{"morph":{"__isSmartRef__":true,"id":3445},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3461":{"morph":{"__isSmartRef__":true,"id":3445},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3462":{"morph":{"__isSmartRef__":true,"id":3445},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":3446},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3463":{"morphMenuItems":{"__isSmartRef__":true,"id":3464}},"3464":{"varMapping":{"__isSmartRef__":true,"id":3465},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":3470},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3465":{"this":{"__isSmartRef__":true,"id":3445},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3466}},"3466":{"$super":{"__isSmartRef__":true,"id":3467}},"3467":{"varMapping":{"__isSmartRef__":true,"id":3468},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3469},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3468":{"obj":{"__isSmartRef__":true,"id":3445},"name":"morphMenuItems"},"3469":{},"3470":{},"3471":{"partsSpaceName":"PartsBin/NewWorld","migrationLevel":1,"idOnLoad":"77C43779-F486-47F7-990C-84ACB55E4142","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3472":{"morph":{"__isSmartRef__":true,"id":3421},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3473":{"adjustForNewBounds":true,"moveVertical":true},"3474":{"submorphs":[{"__isSmartRef__":true,"id":3475}],"scripts":[],"id":"AF9082BE-8AA2-4B56-8F76-2E38DF94B6B0","shape":{"__isSmartRef__":true,"id":3481},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":3487},"lighterFill":{"__isSmartRef__":true,"id":3492},"label":{"__isSmartRef__":true,"id":3475},"attributeConnections":[{"__isSmartRef__":true,"id":3497}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"showsHalos":false,"name":"removeServerButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":3524},"eventHandler":{"__isSmartRef__":true,"id":3525},"owner":{"__isSmartRef__":true,"id":3275},"derivationIds":[2952,"1B78AB96-A237-4DEF-AE4E-8DF07B3128B3","F7F8F628-82A4-4F40-AB8F-BDAF2F2AE8B9","D4CA77EE-FCB7-4DD9-B10E-08D8A8CF8138"],"layout":{"__isSmartRef__":true,"id":3526},"_ClipMode":"visible","isPressed":false,"__serializedExpressions__":["padding","distanceToDragEvent","_Position"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","padding":"lively.rect(5,0,0,0)","distanceToDragEvent":"lively.pt(46.1,-10.5)","_Position":"lively.pt(114.0,250.0)"},"3475":{"submorphs":[],"scripts":[],"id":"C277C0D1-5673-433A-A85E-4ED59E578297","shape":{"__isSmartRef__":true,"id":3476},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":20,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"owner":{"__isSmartRef__":true,"id":3474},"eventsAreIgnored":true,"textChunks":[{"__isSmartRef__":true,"id":3477}],"prevScroll":[0,0],"_Align":"center","_FontFamily":"Arial","_ClipMode":"hidden","_WhiteSpaceHandling":"pre-wrap","_VerticalAlign":"middle","_Display":"table-cell","eventHandler":{"__isSmartRef__":true,"id":3479},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[2953,"EBE14E46-51F4-4360-A642-76F7F8C5E2E9","2ADD0B16-BCB6-460A-A37A-7EE3C9565656","BE04D8B1-E4EB-4C87-994B-581AD96F2221"],"_MinTextWidth":20,"_MinTextHeight":null,"_FontSize":10,"_WordBreak":"break-all","partsBinMetaInfo":{"__isSmartRef__":true,"id":3480},"__serializedExpressions__":["_Position","textColor","padding","_Padding","_TextColor"],"_Scale":1,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","textColor":"Color.rgb(0,0,0)","padding":"lively.rect(5,0,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"3476":{"borderWidth":0,"fill":null,"_ClipMode":"hidden","_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"3477":{"style":{"__isSmartRef__":true,"id":3478},"chunkOwner":{"__isSmartRef__":true,"id":3475},"_id":"_561","storedString":"-","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3478":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3479":{"morph":{"__isSmartRef__":true,"id":3475},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3480":{"requiredModules":[],"idOnLoad":"C277C0D1-5673-433A-A85E-4ED59E578297","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3481":{"_Fill":{"__isSmartRef__":true,"id":3482},"_BorderWidth":1,"_BorderRadius":5,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(20.0,20.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"3482":{"stops":[{"__isSmartRef__":true,"id":3483},{"__isSmartRef__":true,"id":3484},{"__isSmartRef__":true,"id":3485},{"__isSmartRef__":true,"id":3486}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"3483":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"3484":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"3485":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"3486":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"3487":{"stops":[{"__isSmartRef__":true,"id":3488},{"__isSmartRef__":true,"id":3489},{"__isSmartRef__":true,"id":3490},{"__isSmartRef__":true,"id":3491}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"3488":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"3489":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"3490":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"3491":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"3492":{"stops":[{"__isSmartRef__":true,"id":3493},{"__isSmartRef__":true,"id":3494},{"__isSmartRef__":true,"id":3495},{"__isSmartRef__":true,"id":3496}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"3493":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"3494":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"3495":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"3496":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"3497":{"sourceObj":{"__isSmartRef__":true,"id":3474},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3275},"targetMethodName":"removeServer","visualConnector":{"__isSmartRef__":true,"id":3498},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3498":{"submorphs":[{"__isSmartRef__":true,"id":3499}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3510},"id":10296,"eventHandler":{"__isSmartRef__":true,"id":3513},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":3514},{"__isSmartRef__":true,"id":3515}],"con":{"__isSmartRef__":true,"id":3497},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3516},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3499":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3500},"id":10297,"eventHandler":{"__isSmartRef__":true,"id":3505},"droppingEnabled":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":3498},"_Rotation":-2.0237245970150264,"controlPoints":[{"__isSmartRef__":true,"id":3506},{"__isSmartRef__":true,"id":3507},{"__isSmartRef__":true,"id":3508},{"__isSmartRef__":true,"id":3509}],"__serializedExpressions__":["_Origin","_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Origin":"lively.pt(12.0,6.0)","_Position":"lively.pt(-12.0,-6.0)"},"3500":{"dontChangeShape":false,"cachedVertices":[],"_PathElements":[{"__isSmartRef__":true,"id":3501},{"__isSmartRef__":true,"id":3502},{"__isSmartRef__":true,"id":3503},{"__isSmartRef__":true,"id":3504}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(16.0,12.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"3501":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3502":{"isAbsolute":true,"x":0,"y":12,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3503":{"isAbsolute":true,"x":16,"y":6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3504":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3505":{"morph":{"__isSmartRef__":true,"id":3499},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3506":{"morph":{"__isSmartRef__":true,"id":3499},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3507":{"morph":{"__isSmartRef__":true,"id":3499},"index":1,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3508":{"morph":{"__isSmartRef__":true,"id":3499},"index":2,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3509":{"morph":{"__isSmartRef__":true,"id":3499},"index":3,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3510":{"dontChangeShape":false,"cachedVertices":[],"_PathElements":[{"__isSmartRef__":true,"id":3511},{"__isSmartRef__":true,"id":3512}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(121.9,250.5)","_BorderColor":"Color.rgb(0,0,0)"},"3511":{"isAbsolute":true,"x":121.90786181576959,"y":250.49298948598243,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3512":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3513":{"morph":{"__isSmartRef__":true,"id":3498},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3514":{"morph":{"__isSmartRef__":true,"id":3498},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3515":{"morph":{"__isSmartRef__":true,"id":3498},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":3499},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3516":{"morphMenuItems":{"__isSmartRef__":true,"id":3517}},"3517":{"varMapping":{"__isSmartRef__":true,"id":3518},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":3523},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3518":{"this":{"__isSmartRef__":true,"id":3498},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3519}},"3519":{"$super":{"__isSmartRef__":true,"id":3520}},"3520":{"varMapping":{"__isSmartRef__":true,"id":3521},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3522},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3521":{"obj":{"__isSmartRef__":true,"id":3498},"name":"morphMenuItems"},"3522":{},"3523":{},"3524":{"partsSpaceName":"PartsBin/NewWorld","migrationLevel":1,"idOnLoad":"AF9082BE-8AA2-4B56-8F76-2E38DF94B6B0","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3525":{"morph":{"__isSmartRef__":true,"id":3474},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3526":{"moveVertical":true,"adjustForNewBounds":true},"3527":{"submorphs":[],"scripts":[],"id":"C70AC3BB-FD0E-4210-B8E4-32508AC4E958","shape":{"__isSmartRef__":true,"id":3528},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":true,"_FontFamily":"Monaco,Courier","_MaxTextWidth":406.9875304742795,"_MaxTextHeight":null,"textChunks":[{"__isSmartRef__":true,"id":3529}],"layout":{"__isSmartRef__":true,"id":3531},"showsHalos":false,"prevScroll":[0,242],"name":"logText","charsReplaced":"code","lastFindLoc":-1,"partsBinMetaInfo":{"__isSmartRef__":true,"id":3532},"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":3533},"syntaxHighlightingWhileTyping":false,"lastSyntaxHighlightTime":1310575732527,"savedTextString":"// code\n","_FontSize":10,"owner":{"__isSmartRef__":true,"id":3275},"derivationIds":[2954,"677F56CD-A513-4B47-8269-BA1850098C56","7FA4CDEA-2D3D-45A6-9169-EA47C5ED0A6B","06F9BC44-BEC7-45D1-8A46-F31B1BE4AC31"],"_MinTextWidth":406.9875304742795,"_MinTextHeight":null,"_WordBreak":"break-all","__serializedExpressions__":["_Padding","_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(2,1,0,0)","_Position":"lively.pt(168.0,24.0)","distanceToDragEvent":"lively.pt(300.9,-20.0)"},"3528":{"_BorderWidth":1.4800000000000002,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"inset","_ClipMode":"auto","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(424.9,220.0)","_BorderColor":"Color.rgb(235,235,235)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"3529":{"style":{"__isSmartRef__":true,"id":3530},"chunkOwner":{"__isSmartRef__":true,"id":3527},"_id":"_50971","storedString":"stdout:\n \u001b[36minfo -\u001b[39m socket.io started\ndefault: currently 1 client connected:\nconradcalmez\n\n\nstderr:\n","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3530":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3531":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"3532":{"requiredModules":[],"partsSpaceName":"PartsBin/Widgets/","migrationLevel":2,"partName":"CodePane","idOnLoad":"C70AC3BB-FD0E-4210-B8E4-32508AC4E958","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3533":{"morph":{"__isSmartRef__":true,"id":3527},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3534":{"submorphs":[{"__isSmartRef__":true,"id":3535}],"scripts":[],"id":"B8571DE3-6D7E-42E7-9D1F-53C47A104A3E","shape":{"__isSmartRef__":true,"id":3541},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":3547},"lighterFill":{"__isSmartRef__":true,"id":3552},"label":{"__isSmartRef__":true,"id":3535},"attributeConnections":[{"__isSmartRef__":true,"id":3557}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"showsHalos":false,"name":"browseButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":3580},"eventHandler":{"__isSmartRef__":true,"id":3581},"owner":{"__isSmartRef__":true,"id":3275},"derivationIds":[2955,"2F37CC3B-A26D-4F01-B440-C303D7B8A440","C8F5D9E9-E516-4972-B7F4-D3AF2B365116","2E91A4BC-6CC2-423F-AB54-2DE194FFC367"],"layout":{"__isSmartRef__":true,"id":3582},"_ClipMode":"visible","isPressed":false,"__serializedExpressions__":["padding","distanceToDragEvent","_Position"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","padding":"lively.rect(5,0,0,0)","distanceToDragEvent":"lively.pt(67.0,-16.0)","_Position":"lively.pt(334.9,252.0)"},"3535":{"submorphs":[],"scripts":[],"id":"93A5DF05-3DBC-4549-A5BF-1897176D7098","shape":{"__isSmartRef__":true,"id":3536},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":77,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"owner":{"__isSmartRef__":true,"id":3534},"eventsAreIgnored":true,"textChunks":[{"__isSmartRef__":true,"id":3537}],"prevScroll":[0,0],"_FontFamily":"Helvetica, Sans-Serif","eventHandler":{"__isSmartRef__":true,"id":3539},"_HandStyle":"default","_PointerEvents":"none","_ClipMode":"hidden","_WhiteSpaceHandling":"pre-wrap","_Align":"center","_FontSize":10,"derivationIds":[2956,"A5C2870B-A8B3-4D91-98EB-AD239BBF4357","E30EABA1-3D95-4099-BDCA-A0C986DBB5B4","58F57BC6-DE27-4D79-9A7E-C33A75702B09"],"_MinTextWidth":77,"_MinTextHeight":null,"_WordBreak":"break-all","partsBinMetaInfo":{"__isSmartRef__":true,"id":3540},"__serializedExpressions__":["_Position","textColor","padding","_Padding","_TextColor"],"_Scale":1,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","textColor":"Color.rgb(0,0,0)","padding":"lively.rect(5,0,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"3536":{"borderWidth":0,"fill":null,"_ClipMode":"visible","_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(77.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"3537":{"style":{"__isSmartRef__":true,"id":3538},"chunkOwner":{"__isSmartRef__":true,"id":3535},"_id":"_563","storedString":"browse","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3538":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3539":{"morph":{"__isSmartRef__":true,"id":3535},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3540":{"requiredModules":[],"idOnLoad":"93A5DF05-3DBC-4549-A5BF-1897176D7098","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3541":{"_Fill":{"__isSmartRef__":true,"id":3542},"_BorderWidth":1,"_BorderRadius":5,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(77.0,20.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"3542":{"stops":[{"__isSmartRef__":true,"id":3543},{"__isSmartRef__":true,"id":3544},{"__isSmartRef__":true,"id":3545},{"__isSmartRef__":true,"id":3546}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"3543":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"3544":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"3545":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"3546":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"3547":{"stops":[{"__isSmartRef__":true,"id":3548},{"__isSmartRef__":true,"id":3549},{"__isSmartRef__":true,"id":3550},{"__isSmartRef__":true,"id":3551}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"3548":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"3549":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"3550":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"3551":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"3552":{"stops":[{"__isSmartRef__":true,"id":3553},{"__isSmartRef__":true,"id":3554},{"__isSmartRef__":true,"id":3555},{"__isSmartRef__":true,"id":3556}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"3553":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"3554":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"3555":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"3556":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"3557":{"sourceObj":{"__isSmartRef__":true,"id":3534},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3275},"targetMethodName":"browseSelectedServer","visualConnector":{"__isSmartRef__":true,"id":3558},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3558":{"submorphs":[{"__isSmartRef__":true,"id":3559}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3566},"id":4400,"eventHandler":{"__isSmartRef__":true,"id":3569},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":3570},{"__isSmartRef__":true,"id":3571}],"con":{"__isSmartRef__":true,"id":3557},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3572},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3559":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3560},"id":4401,"eventHandler":{"__isSmartRef__":true,"id":3565},"droppingEnabled":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":3558},"_Rotation":-2.453360466464193,"__serializedExpressions__":["_Origin","_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Origin":"lively.pt(12.0,6.0)","_Position":"lively.pt(-12.0,-6.0)"},"3560":{"dontChangeShape":false,"cachedVertices":[],"_PathElements":[{"__isSmartRef__":true,"id":3561},{"__isSmartRef__":true,"id":3562},{"__isSmartRef__":true,"id":3563},{"__isSmartRef__":true,"id":3564}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(16.0,12.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"3561":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3562":{"isAbsolute":true,"x":0,"y":12,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3563":{"isAbsolute":true,"x":16,"y":6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3564":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3565":{"morph":{"__isSmartRef__":true,"id":3559},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3566":{"dontChangeShape":false,"cachedVertices":[],"_PathElements":[{"__isSmartRef__":true,"id":3567},{"__isSmartRef__":true,"id":3568}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(304.0,250.0)","_BorderColor":"Color.rgb(0,0,0)"},"3567":{"isAbsolute":true,"x":304,"y":250,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3568":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3569":{"morph":{"__isSmartRef__":true,"id":3558},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3570":{"morph":{"__isSmartRef__":true,"id":3558},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3571":{"morph":{"__isSmartRef__":true,"id":3558},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":3559},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3572":{"morphMenuItems":{"__isSmartRef__":true,"id":3573}},"3573":{"varMapping":{"__isSmartRef__":true,"id":3574},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":3579},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3574":{"this":{"__isSmartRef__":true,"id":3558},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3575}},"3575":{"$super":{"__isSmartRef__":true,"id":3576}},"3576":{"varMapping":{"__isSmartRef__":true,"id":3577},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3578},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3577":{"obj":{"__isSmartRef__":true,"id":3558},"name":"morphMenuItems"},"3578":{},"3579":{},"3580":{"partsSpaceName":"PartsBin/Inputs/","migrationLevel":2,"comment":"Simple button. Connect to 'fire' to trigger actions when the button is pressed.","partName":"Button","idOnLoad":"B8571DE3-6D7E-42E7-9D1F-53C47A104A3E","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3581":{"morph":{"__isSmartRef__":true,"id":3534},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3582":{"adjustForNewBounds":true,"moveVertical":true,"moveHorizontal":true},"3583":{"submorphs":[{"__isSmartRef__":true,"id":3584}],"scripts":[],"id":"2947F393-4B51-409C-9EC6-8AB9B836B7CC","shape":{"__isSmartRef__":true,"id":3590},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":3596},"lighterFill":{"__isSmartRef__":true,"id":3601},"label":{"__isSmartRef__":true,"id":3584},"attributeConnections":[{"__isSmartRef__":true,"id":3606}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"showsHalos":false,"name":"restartButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":3633},"eventHandler":{"__isSmartRef__":true,"id":3634},"owner":{"__isSmartRef__":true,"id":3275},"derivationIds":[2957,"9637758C-F7D8-4FC0-9A91-2B9B62533684","BCB95D69-60F1-483D-9435-7BF41DA45DA6","F6990B29-55FE-40A3-B5E2-49DA82373B3C"],"layout":{"__isSmartRef__":true,"id":3635},"_ClipMode":"visible","isPressed":false,"__serializedExpressions__":["padding","_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","padding":"lively.rect(5,0,0,0)","_Position":"lively.pt(417.9,252.0)","distanceToDragEvent":"lively.pt(79.0,-10.0)"},"3584":{"submorphs":[],"scripts":[],"id":"5785288C-D598-4156-A1A6-1BA51F99C46E","shape":{"__isSmartRef__":true,"id":3585},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":77,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"owner":{"__isSmartRef__":true,"id":3583},"eventsAreIgnored":true,"textChunks":[{"__isSmartRef__":true,"id":3586}],"prevScroll":[0,0],"_FontFamily":"Helvetica, Sans-Serif","eventHandler":{"__isSmartRef__":true,"id":3588},"_HandStyle":"default","_PointerEvents":"none","_ClipMode":"hidden","_WhiteSpaceHandling":"pre-wrap","_Align":"center","_FontSize":10,"derivationIds":[2958,"87A7C3E1-E2EE-4663-92CE-D5F465B2276D","FA0E6BFB-D089-4183-811D-CE7BEB27C671","0648FEE7-6A84-4207-8974-A6BA26A00821"],"_MinTextWidth":77,"_MinTextHeight":null,"_WordBreak":"break-all","partsBinMetaInfo":{"__isSmartRef__":true,"id":3589},"__serializedExpressions__":["_Position","textColor","padding","_Padding","_TextColor"],"_Scale":1,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","textColor":"Color.rgb(0,0,0)","padding":"lively.rect(5,0,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"3585":{"borderWidth":0,"fill":null,"_ClipMode":"visible","_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(77.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"3586":{"style":{"__isSmartRef__":true,"id":3587},"chunkOwner":{"__isSmartRef__":true,"id":3584},"_id":"_565","storedString":"(re)start","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3587":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3588":{"morph":{"__isSmartRef__":true,"id":3584},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3589":{"requiredModules":[],"idOnLoad":"5785288C-D598-4156-A1A6-1BA51F99C46E","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3590":{"_Fill":{"__isSmartRef__":true,"id":3591},"_BorderWidth":1,"_BorderRadius":5,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(77.0,20.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"3591":{"stops":[{"__isSmartRef__":true,"id":3592},{"__isSmartRef__":true,"id":3593},{"__isSmartRef__":true,"id":3594},{"__isSmartRef__":true,"id":3595}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"3592":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"3593":{"offset":0.3,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"3594":{"offset":0.7,"__serializedExpressions__":["color"],"color":"Color.rgb(221,221,221)"},"3595":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(204,204,204)"},"3596":{"stops":[{"__isSmartRef__":true,"id":3597},{"__isSmartRef__":true,"id":3598},{"__isSmartRef__":true,"id":3599},{"__isSmartRef__":true,"id":3600}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"3597":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"3598":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"3599":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"3600":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"3601":{"stops":[{"__isSmartRef__":true,"id":3602},{"__isSmartRef__":true,"id":3603},{"__isSmartRef__":true,"id":3604},{"__isSmartRef__":true,"id":3605}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"3602":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"3603":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"3604":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"3605":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"3606":{"sourceObj":{"__isSmartRef__":true,"id":3583},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3275},"targetMethodName":"restartCurrentServer","visualConnector":{"__isSmartRef__":true,"id":3607},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3607":{"submorphs":[{"__isSmartRef__":true,"id":3608}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3619},"id":5997,"eventHandler":{"__isSmartRef__":true,"id":3622},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":3623},{"__isSmartRef__":true,"id":3624}],"con":{"__isSmartRef__":true,"id":3606},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3625},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3608":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3609},"id":5998,"eventHandler":{"__isSmartRef__":true,"id":3614},"droppingEnabled":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":3607},"_Rotation":-2.444571276337194,"controlPoints":[{"__isSmartRef__":true,"id":3615},{"__isSmartRef__":true,"id":3616},{"__isSmartRef__":true,"id":3617},{"__isSmartRef__":true,"id":3618}],"__serializedExpressions__":["_Origin","_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Origin":"lively.pt(12.0,6.0)","_Position":"lively.pt(-12.0,-6.0)"},"3609":{"dontChangeShape":false,"cachedVertices":[],"_PathElements":[{"__isSmartRef__":true,"id":3610},{"__isSmartRef__":true,"id":3611},{"__isSmartRef__":true,"id":3612},{"__isSmartRef__":true,"id":3613}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(16.0,12.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"3610":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3611":{"isAbsolute":true,"x":0,"y":12,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3612":{"isAbsolute":true,"x":16,"y":6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3613":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3614":{"morph":{"__isSmartRef__":true,"id":3608},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3615":{"morph":{"__isSmartRef__":true,"id":3608},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3616":{"morph":{"__isSmartRef__":true,"id":3608},"index":1,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3617":{"morph":{"__isSmartRef__":true,"id":3608},"index":2,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3618":{"morph":{"__isSmartRef__":true,"id":3608},"index":3,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3619":{"dontChangeShape":false,"cachedVertices":[],"_PathElements":[{"__isSmartRef__":true,"id":3620},{"__isSmartRef__":true,"id":3621}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(172.0,144.0)","_BorderColor":"Color.rgb(0,0,0)"},"3620":{"isAbsolute":true,"x":172,"y":144,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3621":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3622":{"morph":{"__isSmartRef__":true,"id":3607},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3623":{"morph":{"__isSmartRef__":true,"id":3607},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3624":{"morph":{"__isSmartRef__":true,"id":3607},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":3608},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3625":{"morphMenuItems":{"__isSmartRef__":true,"id":3626}},"3626":{"varMapping":{"__isSmartRef__":true,"id":3627},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":3632},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3627":{"this":{"__isSmartRef__":true,"id":3607},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3628}},"3628":{"$super":{"__isSmartRef__":true,"id":3629}},"3629":{"varMapping":{"__isSmartRef__":true,"id":3630},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3631},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3630":{"obj":{"__isSmartRef__":true,"id":3607},"name":"morphMenuItems"},"3631":{},"3632":{},"3633":{"partsSpaceName":"PartsBin/Inputs/","migrationLevel":2,"comment":"Simple button. Connect to 'fire' to trigger actions when the button is pressed.","partName":"Button","idOnLoad":"2947F393-4B51-409C-9EC6-8AB9B836B7CC","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3634":{"morph":{"__isSmartRef__":true,"id":3583},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3635":{"adjustForNewBounds":true,"moveVertical":true,"moveHorizontal":true},"3636":{"submorphs":[{"__isSmartRef__":true,"id":3637}],"scripts":[],"id":"E18A9AC9-EB08-40E6-82B7-712012944F59","shape":{"__isSmartRef__":true,"id":3643},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":true,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":3644},"lighterFill":{"__isSmartRef__":true,"id":3649},"label":{"__isSmartRef__":true,"id":3637},"attributeConnections":[{"__isSmartRef__":true,"id":3654}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"showsHalos":false,"name":"stopButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":3681},"eventHandler":{"__isSmartRef__":true,"id":3682},"owner":{"__isSmartRef__":true,"id":3275},"derivationIds":[2959,"D4C3F858-71B6-438D-8B68-EF60CE014253","DCB027AA-C7CF-4C33-A574-A4C36C20EA45","46A38FFE-BCDF-42C2-8264-7CB992AA881C"],"layout":{"__isSmartRef__":true,"id":3683},"_ClipMode":"visible","__serializedExpressions__":["padding","distanceToDragEvent","_Position"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","padding":"lively.rect(5,0,0,0)","distanceToDragEvent":"lively.pt(77.0,-13.0)","_Position":"lively.pt(500.9,252.0)"},"3637":{"submorphs":[],"scripts":[],"id":"29677127-7240-4DEA-B249-049342AD2B64","shape":{"__isSmartRef__":true,"id":3638},"grabbingEnabled":false,"droppingEnabled":false,"showsMorphMenu":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":77,"_MaxTextHeight":null,"fixedHeight":true,"allowsInput":false,"registeredForMouseEvents":true,"owner":{"__isSmartRef__":true,"id":3636},"eventsAreIgnored":true,"textChunks":[{"__isSmartRef__":true,"id":3639}],"prevScroll":[0,0],"_FontFamily":"Helvetica, Sans-Serif","eventHandler":{"__isSmartRef__":true,"id":3641},"_HandStyle":"default","_PointerEvents":"none","_ClipMode":"hidden","_WhiteSpaceHandling":"pre-wrap","_Align":"center","_FontSize":10,"derivationIds":[2960,"C6423782-FD54-4378-8B47-1BCACA42FB12","9D691D7C-2F6B-4CD3-9298-9454624C59F8","C73DFF54-4AD0-449E-BD9E-190EC22E083D"],"_MinTextWidth":77,"_MinTextHeight":null,"_WordBreak":"break-all","partsBinMetaInfo":{"__isSmartRef__":true,"id":3642},"__serializedExpressions__":["_Position","textColor","padding","_Padding","_TextColor"],"_Scale":1,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","textColor":"Color.rgb(0,0,0)","padding":"lively.rect(5,0,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"3638":{"borderWidth":0,"fill":null,"_ClipMode":"visible","_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(77.0,20.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"3639":{"style":{"__isSmartRef__":true,"id":3640},"chunkOwner":{"__isSmartRef__":true,"id":3637},"_id":"_567","storedString":"stop","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3640":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3641":{"morph":{"__isSmartRef__":true,"id":3637},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3642":{"requiredModules":[],"idOnLoad":"29677127-7240-4DEA-B249-049342AD2B64","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3643":{"_Fill":{"__isSmartRef__":true,"id":3644},"_BorderWidth":1,"_BorderRadius":5,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(77.0,20.0)","_BorderColor":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"3644":{"stops":[{"__isSmartRef__":true,"id":3645},{"__isSmartRef__":true,"id":3646},{"__isSmartRef__":true,"id":3647},{"__isSmartRef__":true,"id":3648}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"3645":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"3646":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"3647":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"3648":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"3649":{"stops":[{"__isSmartRef__":true,"id":3650},{"__isSmartRef__":true,"id":3651},{"__isSmartRef__":true,"id":3652},{"__isSmartRef__":true,"id":3653}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"3650":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"3651":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"3652":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"3653":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"3654":{"sourceObj":{"__isSmartRef__":true,"id":3636},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3275},"targetMethodName":"stopCurrentServer","visualConnector":{"__isSmartRef__":true,"id":3655},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3655":{"submorphs":[{"__isSmartRef__":true,"id":3656}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3667},"id":8319,"eventHandler":{"__isSmartRef__":true,"id":3670},"droppingEnabled":true,"halosEnabled":true,"owner":null,"controlPoints":[{"__isSmartRef__":true,"id":3671},{"__isSmartRef__":true,"id":3672}],"con":{"__isSmartRef__":true,"id":3654},"showsMorphMenu":true,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3673},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3656":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3657},"id":8320,"eventHandler":{"__isSmartRef__":true,"id":3662},"droppingEnabled":true,"halosEnabled":true,"owner":{"__isSmartRef__":true,"id":3655},"_Rotation":-2.3816293170298204,"controlPoints":[{"__isSmartRef__":true,"id":3663},{"__isSmartRef__":true,"id":3664},{"__isSmartRef__":true,"id":3665},{"__isSmartRef__":true,"id":3666}],"__serializedExpressions__":["_Origin","_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Origin":"lively.pt(12.0,6.0)","_Position":"lively.pt(-12.0,-6.0)"},"3657":{"dontChangeShape":false,"cachedVertices":[],"_PathElements":[{"__isSmartRef__":true,"id":3658},{"__isSmartRef__":true,"id":3659},{"__isSmartRef__":true,"id":3660},{"__isSmartRef__":true,"id":3661}],"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(16.0,12.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(0,0,0)"},"3658":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3659":{"isAbsolute":true,"x":0,"y":12,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3660":{"isAbsolute":true,"x":16,"y":6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3661":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3662":{"morph":{"__isSmartRef__":true,"id":3656},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3663":{"morph":{"__isSmartRef__":true,"id":3656},"index":0,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3664":{"morph":{"__isSmartRef__":true,"id":3656},"index":1,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3665":{"morph":{"__isSmartRef__":true,"id":3656},"index":2,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3666":{"morph":{"__isSmartRef__":true,"id":3656},"index":3,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3667":{"dontChangeShape":false,"cachedVertices":[],"_PathElements":[{"__isSmartRef__":true,"id":3668},{"__isSmartRef__":true,"id":3669}],"_BorderWidth":1,"__serializedExpressions__":["_Position","_Extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(262.0,249.0)","_BorderColor":"Color.rgb(0,0,0)"},"3668":{"isAbsolute":true,"x":262,"y":249.00000000000006,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3669":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"3670":{"morph":{"__isSmartRef__":true,"id":3655},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3671":{"morph":{"__isSmartRef__":true,"id":3655},"index":0,"connectedMagnet":null,"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3672":{"morph":{"__isSmartRef__":true,"id":3655},"index":1,"connectedMagnet":null,"marker":{"__isSmartRef__":true,"id":3656},"markerDirection":"prev","__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"3673":{"morphMenuItems":{"__isSmartRef__":true,"id":3674}},"3674":{"varMapping":{"__isSmartRef__":true,"id":3675},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","funcProperties":{"__isSmartRef__":true,"id":3680},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3675":{"this":{"__isSmartRef__":true,"id":3655},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3676}},"3676":{"$super":{"__isSmartRef__":true,"id":3677}},"3677":{"varMapping":{"__isSmartRef__":true,"id":3678},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3679},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3678":{"obj":{"__isSmartRef__":true,"id":3655},"name":"morphMenuItems"},"3679":{},"3680":{},"3681":{"partsSpaceName":"PartsBin/Inputs/","migrationLevel":2,"comment":"Simple button. Connect to 'fire' to trigger actions when the button is pressed.","partName":"Button","idOnLoad":"E18A9AC9-EB08-40E6-82B7-712012944F59","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3682":{"morph":{"__isSmartRef__":true,"id":3636},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3683":{"adjustForNewBounds":true,"moveVertical":true,"moveHorizontal":true},"3684":{"submorphs":[],"scripts":[],"id":"FDC77C70-3E7E-4713-8376-347AB1BAF87D","shape":{"__isSmartRef__":true,"id":3685},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":364.65828402366867,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":11,"name":"urlText","partsBinMetaInfo":{"__isSmartRef__":true,"id":3686},"textChunks":[{"__isSmartRef__":true,"id":3687}],"charsReplaced":"some text","lastFindLoc":-9,"prevScroll":[0,0],"owner":{"__isSmartRef__":true,"id":3275},"eventHandler":{"__isSmartRef__":true,"id":3689},"_ClipMode":"visible","derivationIds":[2961,"644179E8-29E3-4C22-BCAF-998B618D1999","9E1B14E5-F844-4334-80FA-245AD7BB7FEE","BF557EE0-80F2-419E-A468-90901AEB04FC"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":364.65828402366867,"_MinTextHeight":null,"__serializedExpressions__":["_Position","textColor"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(196.3,3.8)","textColor":"Color.rgb(0,0,0)"},"3685":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(364.7,17.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"3686":{"partsSpaceName":"PartsBin/NewWorld","migrationLevel":1,"idOnLoad":"FDC77C70-3E7E-4713-8376-347AB1BAF87D","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3687":{"style":{"__isSmartRef__":true,"id":3688},"chunkOwner":{"__isSmartRef__":true,"id":3684},"_id":"_50969","storedString":"http://lively-kernel.org/nodejs/SyncMorphServer/","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3688":{"uri":"http://lively-kernel.org/nodejs/SyncMorphServer/","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3689":{"morph":{"__isSmartRef__":true,"id":3684},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3690":{"_BorderWidth":1,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_ClipMode":"visible","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(596.9,278.0)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"3691":{"partsSpaceName":"PartsBin/Server","comment":"Starts, stops, creates, and deletes Lively node.js servers.","migrationLevel":4,"partName":"NodeJSControl","requiredModules":["server.nodejs.WebInterface"],"idOnLoad":"BFCDFAA0-EEDD-4523-80A0-73CB2947D0C6","changes":[{"__isSmartRef__":true,"id":3692}],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3692":{"date":{"__isSmartRef__":true,"id":3693},"author":"conradcalmez","message":"updated to now lively windows","id":"E3B862ED-DB05-4E25-AEE9-38CDF0D80A32"},"3693":{"isSerializedDate":true,"string":"Thu Dec 20 2012 19:25:02 GMT+0100 (CET)"},"3694":{"morph":{"__isSmartRef__":true,"id":3275},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3695":{"sourceObj":{"__isSmartRef__":true,"id":3275},"sourceAttrName":"currentServer","targetObj":{"__isSmartRef__":true,"id":3275},"targetMethodName":"showServerInfo","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3696":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"3697":{"refreshServerList":{"__isSmartRef__":true,"id":3698},"getMasterServerInterface":{"__isSmartRef__":true,"id":3700},"getRunningServers":{"__isSmartRef__":true,"id":3702},"showServerInfo":{"__isSmartRef__":true,"id":3704},"setupConnections":{"__isSmartRef__":true,"id":3706},"restartCurrentServer":{"__isSmartRef__":true,"id":3708},"serverIsRunning":{"__isSmartRef__":true,"id":3710},"setColorOfServerStateIndicator":{"__isSmartRef__":true,"id":3712},"serverIsNotRunning":{"__isSmartRef__":true,"id":3714},"serverstateIsUnknown":{"__isSmartRef__":true,"id":3716},"serverStateIsUnknown":{"__isSmartRef__":true,"id":3718},"stopCurrentServer":{"__isSmartRef__":true,"id":3720},"createNewServer":{"__isSmartRef__":true,"id":3722},"removeServer":{"__isSmartRef__":true,"id":3724},"browseSelectedServer":{"__isSmartRef__":true,"id":3726},"reset":{"__isSmartRef__":true,"id":3728},"onLoadFromPartsBin":{"__isSmartRef__":true,"id":3730}},"3698":{"time":{"__isSmartRef__":true,"id":3699},"user":"robertkrahn"},"3699":{"isSerializedDate":true,"string":"Thu Jul 14 2011 15:19:10 GMT+0200 (CEST)"},"3700":{"time":{"__isSmartRef__":true,"id":3701},"user":"robertkrahn"},"3701":{"isSerializedDate":true,"string":"Wed Jul 13 2011 19:05:22 GMT+0200 (CEST)"},"3702":{"time":{"__isSmartRef__":true,"id":3703},"user":"robertkrahn"},"3703":{"isSerializedDate":true,"string":"Wed Jul 13 2011 20:36:29 GMT+0200 (CEST)"},"3704":{"time":{"__isSmartRef__":true,"id":3705},"user":"robertkrahn"},"3705":{"isSerializedDate":true,"string":"Thu Jul 14 2011 02:47:56 GMT+0200 (CEST)"},"3706":{"time":{"__isSmartRef__":true,"id":3707},"user":"robertkrahn"},"3707":{"isSerializedDate":true,"string":"Wed Jul 13 2011 18:57:57 GMT+0200 (CEST)"},"3708":{"time":{"__isSmartRef__":true,"id":3709},"user":"robertkrahn"},"3709":{"isSerializedDate":true,"string":"Wed Jul 13 2011 21:36:07 GMT+0200 (CEST)"},"3710":{"time":{"__isSmartRef__":true,"id":3711},"user":"robertkrahn"},"3711":{"isSerializedDate":true,"string":"Wed Jul 13 2011 21:14:41 GMT+0200 (CEST)"},"3712":{"time":{"__isSmartRef__":true,"id":3713},"user":"robertkrahn"},"3713":{"isSerializedDate":true,"string":"Wed Jul 13 2011 21:14:57 GMT+0200 (CEST)"},"3714":{"time":{"__isSmartRef__":true,"id":3715},"user":"robertkrahn"},"3715":{"isSerializedDate":true,"string":"Wed Jul 13 2011 21:15:06 GMT+0200 (CEST)"},"3716":{"time":{"__isSmartRef__":true,"id":3717},"user":"robertkrahn"},"3717":{"isSerializedDate":true,"string":"Wed Jul 13 2011 21:15:27 GMT+0200 (CEST)"},"3718":{"time":{"__isSmartRef__":true,"id":3719},"user":"robertkrahn"},"3719":{"isSerializedDate":true,"string":"Wed Jul 13 2011 21:15:36 GMT+0200 (CEST)"},"3720":{"time":{"__isSmartRef__":true,"id":3721},"user":"robertkrahn"},"3721":{"isSerializedDate":true,"string":"Wed Jul 13 2011 21:35:48 GMT+0200 (CEST)"},"3722":{"time":{"__isSmartRef__":true,"id":3723},"user":"robertkrahn"},"3723":{"isSerializedDate":true,"string":"Wed Jul 13 2011 22:56:23 GMT+0200 (CEST)"},"3724":{"time":{"__isSmartRef__":true,"id":3725},"user":"robertkrahn"},"3725":{"isSerializedDate":true,"string":"Thu Jul 14 2011 15:17:53 GMT+0200 (CEST)"},"3726":{"time":{"__isSmartRef__":true,"id":3727},"user":"robertkrahn"},"3727":{"isSerializedDate":true,"string":"Thu Jul 14 2011 15:05:04 GMT+0200 (CEST)"},"3728":{"time":{"__isSmartRef__":true,"id":3729},"user":"robertkrahn"},"3729":{"isSerializedDate":true,"string":"Thu Jul 14 2011 02:45:32 GMT+0200 (CEST)"},"3730":{"time":{"__isSmartRef__":true,"id":3731},"user":"robertkrahn"},"3731":{"isSerializedDate":true,"string":"Thu Jul 14 2011 02:51:33 GMT+0200 (CEST)"},"3732":{"refreshServerList":{"__isSmartRef__":true,"id":3733},"getMasterServerInterface":{"__isSmartRef__":true,"id":3736},"showServerInfo":{"__isSmartRef__":true,"id":3739},"setupConnections":{"__isSmartRef__":true,"id":3742},"restartCurrentServer":{"__isSmartRef__":true,"id":3745},"serverIsRunning":{"__isSmartRef__":true,"id":3748},"setColorOfServerStateIndicator":{"__isSmartRef__":true,"id":3751},"serverIsNotRunning":{"__isSmartRef__":true,"id":3754},"serverStateIsUnknown":{"__isSmartRef__":true,"id":3757},"stopCurrentServer":{"__isSmartRef__":true,"id":3760},"createNewServer":{"__isSmartRef__":true,"id":3763},"removeServer":{"__isSmartRef__":true,"id":3766},"browseSelectedServer":{"__isSmartRef__":true,"id":3769},"reset":{"__isSmartRef__":true,"id":3772}},"3733":{"varMapping":{"__isSmartRef__":true,"id":3734},"source":"function refreshServerList() {\n var serverList = this.get('serverList'),\n master = this.getMasterServerInterface(),\n prevSel = serverList.selection;\n this.reset();\n connect(\n master, 'serverInfos',\n {$: function(list) {\n var items = list.collect(function(ea) {\n return {string: ea.serverName, value: ea, isListItem: true}\n });\n serverList.setList(items);\n if (prevSel && prevSel.serverName) \n serverList.\nsetSelectionMatching(prevSel.serverName);\n }}, '$')\n master.getServerInfos();\n}","funcProperties":{"__isSmartRef__":true,"id":3735},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3734":{"this":{"__isSmartRef__":true,"id":3275}},"3735":{},"3736":{"varMapping":{"__isSmartRef__":true,"id":3737},"source":"function getMasterServerInterface() {\n var master = new NodeJSMasterServer()\n master.beAsync();\n return master;\n}","funcProperties":{"__isSmartRef__":true,"id":3738},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3737":{"this":{"__isSmartRef__":true,"id":3275}},"3738":{},"3739":{"varMapping":{"__isSmartRef__":true,"id":3740},"source":"function showServerInfo() {\n if (!this.currentServer) return;\n if (this.currentServer.isRunning) this.serverIsRunning();\n else this.serverIsNotRunning();\n // var info = JSON.prettyPrint(this.currentServer);\n // this.get('serverInfoText').textString = info;\n\n var master = this.getMasterServerInterface();\n master.isAsync = false;\n\n var url = 'http://lively-kernel.org/nodejs/' + this.currentServer.serverName + '/';\n this.get('urlText').textString = url;\n this.get('urlText').emphasizeAll({uri: url});\n\n this.get('logText').textString = '';\n this.get('logText').textString = master.getLog(this.currentServer.serverName)\n}","funcProperties":{"__isSmartRef__":true,"id":3741},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3740":{"this":{"__isSmartRef__":true,"id":3275}},"3741":{},"3742":{"varMapping":{"__isSmartRef__":true,"id":3743},"source":"function setupConnections() {\n connect(this, 'currentServer', this, 'showServerInfo')\n}","funcProperties":{"__isSmartRef__":true,"id":3744},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3743":{"this":{"__isSmartRef__":true,"id":3275}},"3744":{},"3745":{"varMapping":{"__isSmartRef__":true,"id":3746},"source":"function restartCurrentServer() {\n if (!this.currentServer) return;\n \n var master= this.getMasterServerInterface(),\n serverName = this.currentServer.serverName;\n\n connect(master, 'lastServerResult', this, 'refreshServerList');\n\n master.updateAndRestart(serverName);\n}","funcProperties":{"__isSmartRef__":true,"id":3747},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3746":{"this":{"__isSmartRef__":true,"id":3275}},"3747":{},"3748":{"varMapping":{"__isSmartRef__":true,"id":3749},"source":"function serverIsRunning() {\n this.setColorOfServerStateIndicator(Color.green)\n}","funcProperties":{"__isSmartRef__":true,"id":3750},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3749":{"this":{"__isSmartRef__":true,"id":3275}},"3750":{},"3751":{"varMapping":{"__isSmartRef__":true,"id":3752},"source":"function setColorOfServerStateIndicator(color) {\n this.get('serverStateIndicator').setFill(color)\n}","funcProperties":{"__isSmartRef__":true,"id":3753},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3752":{"this":{"__isSmartRef__":true,"id":3275}},"3753":{},"3754":{"varMapping":{"__isSmartRef__":true,"id":3755},"source":"function serverIsNotRunning() {\n this.setColorOfServerStateIndicator(Color.red)\n}","funcProperties":{"__isSmartRef__":true,"id":3756},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3755":{"this":{"__isSmartRef__":true,"id":3275}},"3756":{},"3757":{"varMapping":{"__isSmartRef__":true,"id":3758},"source":"function serverStateIsUnknown() {\n this.setColorOfServerStateIndicator(Color.gray)\n}","funcProperties":{"__isSmartRef__":true,"id":3759},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3758":{"this":{"__isSmartRef__":true,"id":3275}},"3759":{},"3760":{"varMapping":{"__isSmartRef__":true,"id":3761},"source":"function stopCurrentServer() {\n if (!this.currentServer) return;\n \n var master= this.getMasterServerInterface(),\n serverName = this.currentServer.serverName;\n\n alert('Stopping ' + serverName + '...');\n connect(master, 'lastServerResult', this, 'refreshServerList');\n\n master.stopServer(serverName);\n}","funcProperties":{"__isSmartRef__":true,"id":3762},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3761":{"this":{"__isSmartRef__":true,"id":3275}},"3762":{},"3763":{"varMapping":{"__isSmartRef__":true,"id":3764},"source":"function createNewServer() {\n this.world().prompt(\n 'Please enter a server name',\n function(input) {\n if (!input) { alert('aborting'); return };\n ServerCreator.create(input)\n this.refreshServerList();\n }.bind(this),\n 'NewServer')\n}","funcProperties":{"__isSmartRef__":true,"id":3765},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3764":{"this":{"__isSmartRef__":true,"id":3275}},"3765":{},"3766":{"varMapping":{"__isSmartRef__":true,"id":3767},"source":"function removeServer() {\n var serverName = this.currentServer.serverName;\n this.world().confirm(\n 'Really remove ' + serverName + '?' ,\n function(input) {\n if (!input) { alertOK('nothing removed'); return };\n ServerCreator.remove(serverName);\n this.refreshServerList();\n }.bind(this))\n}","funcProperties":{"__isSmartRef__":true,"id":3768},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3767":{"this":{"__isSmartRef__":true,"id":3275}},"3768":{},"3769":{"varMapping":{"__isSmartRef__":true,"id":3770},"source":"function browseSelectedServer() {\n if (!this.currentServer) return;\n var name = this.currentServer.serverName;\n require('lively.ide').toRun(function() {\n lively.ide.SystemBrowser.browse('server.nodejs.' + name);\n })\n}","funcProperties":{"__isSmartRef__":true,"id":3771},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3770":{"this":{"__isSmartRef__":true,"id":3275}},"3771":{},"3772":{"varMapping":{"__isSmartRef__":true,"id":3773},"source":"function reset() {\n this.currentServer = null;\n this.get('serverList').setList([]);\n this.serverStateIsUnknown();\n this.get('logText').textString = '';\n this.get('urlText').textString = '';\n}","funcProperties":{"__isSmartRef__":true,"id":3774},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3773":{"this":{"__isSmartRef__":true,"id":3275}},"3774":{},"3775":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3776},"eventHandler":{"__isSmartRef__":true,"id":3777},"_ClipMode":"visible","derivationIds":["A14F9AFF-3899-4410-A4FA-DC45585C2A78"],"id":"FD637FCA-5D34-4D80-BBA8-7D7173C08FDD","droppingEnabled":true,"halosEnabled":true,"_StyleClassNames":["reframe-handle bottom"],"owner":{"__isSmartRef__":true,"id":3274},"__serializedExpressions__":["_Position"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":3778},"prevScroll":[0,0],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3779},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,300.0)"},"3776":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(590.9,4.0)","_Padding":"lively.rect(0,0,0,0)"},"3777":{"morph":{"__isSmartRef__":true,"id":3775},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3778":{"requiredModules":[],"idOnLoad":"FD637FCA-5D34-4D80-BBA8-7D7173C08FDD","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3779":{"onDragStart":{"__isSmartRef__":true,"id":3780},"onDrag":{"__isSmartRef__":true,"id":3787},"onDragEnd":{"__isSmartRef__":true,"id":3794}},"3780":{"varMapping":{"__isSmartRef__":true,"id":3781},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":3786},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3781":{"this":{"__isSmartRef__":true,"id":3775},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3782}},"3782":{"$super":{"__isSmartRef__":true,"id":3783}},"3783":{"varMapping":{"__isSmartRef__":true,"id":3784},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3785},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3784":{"obj":{"__isSmartRef__":true,"id":3775},"name":"onDragStart"},"3785":{},"3786":{},"3787":{"varMapping":{"__isSmartRef__":true,"id":3788},"source":"function onDrag(evt) {\n var moveDelta = pt(0,evt.mousePoint.subPt(this.dragStartPoint).y);\n var newExtent = this.originalTargetExtent.addPt(moveDelta);\n if (newExtent.y < this.owner.minHeight) newExtent.y = this.owner.minHeight;\n this.owner.setExtent(newExtent);\n\n this.align(this.bounds().bottomLeft(), pt(0,this.owner.getExtent().y));\n }","funcProperties":{"__isSmartRef__":true,"id":3793},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3788":{"this":{"__isSmartRef__":true,"id":3775},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3789}},"3789":{"$super":{"__isSmartRef__":true,"id":3790}},"3790":{"varMapping":{"__isSmartRef__":true,"id":3791},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3792},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3791":{"obj":{"__isSmartRef__":true,"id":3775},"name":"onDrag"},"3792":{},"3793":{},"3794":{"varMapping":{"__isSmartRef__":true,"id":3795},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n this.owner.alignReframeHandle();\n this.owner.alignRightReframeHandle();\n }","funcProperties":{"__isSmartRef__":true,"id":3800},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3795":{"this":{"__isSmartRef__":true,"id":3775},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3796}},"3796":{"$super":{"__isSmartRef__":true,"id":3797}},"3797":{"varMapping":{"__isSmartRef__":true,"id":3798},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3799},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3798":{"obj":{"__isSmartRef__":true,"id":3775},"name":"onDragEnd"},"3799":{},"3800":{},"3801":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3802},"eventHandler":{"__isSmartRef__":true,"id":3803},"_ClipMode":"visible","derivationIds":["B897086E-43B2-469E-B7FC-F78CD8368BA8"],"id":"C9366ACE-95C9-4B76-857C-67A1C2E53211","droppingEnabled":true,"halosEnabled":true,"_StyleClassNames":["reframe-handle right"],"owner":{"__isSmartRef__":true,"id":3274},"__serializedExpressions__":["_Position"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":3804},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3805},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(600.9,0.0)"},"3802":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(4.0,290.0)","_Padding":"lively.rect(0,0,0,0)"},"3803":{"morph":{"__isSmartRef__":true,"id":3801},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3804":{"requiredModules":[],"idOnLoad":"C9366ACE-95C9-4B76-857C-67A1C2E53211","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3805":{"onDragStart":{"__isSmartRef__":true,"id":3806},"onDrag":{"__isSmartRef__":true,"id":3813},"onDragEnd":{"__isSmartRef__":true,"id":3820}},"3806":{"varMapping":{"__isSmartRef__":true,"id":3807},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":3812},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3807":{"this":{"__isSmartRef__":true,"id":3801},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3808}},"3808":{"$super":{"__isSmartRef__":true,"id":3809}},"3809":{"varMapping":{"__isSmartRef__":true,"id":3810},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3811},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3810":{"obj":{"__isSmartRef__":true,"id":3801},"name":"onDragStart"},"3811":{},"3812":{},"3813":{"varMapping":{"__isSmartRef__":true,"id":3814},"source":"function onDrag(evt) {\n var moveDelta = pt(evt.mousePoint.subPt(this.dragStartPoint).x,0);\n var newExtent = this.originalTargetExtent.addPt(moveDelta);\n if (newExtent.x < this.owner.minWidth) newExtent.x = this.owner.minWidth;\n\n this.owner.setExtent(newExtent);\n this.align(this.bounds().topRight(), pt(this.owner.getExtent().x,0));\n }","funcProperties":{"__isSmartRef__":true,"id":3819},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3814":{"this":{"__isSmartRef__":true,"id":3801},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3815}},"3815":{"$super":{"__isSmartRef__":true,"id":3816}},"3816":{"varMapping":{"__isSmartRef__":true,"id":3817},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3818},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3817":{"obj":{"__isSmartRef__":true,"id":3801},"name":"onDrag"},"3818":{},"3819":{},"3820":{"varMapping":{"__isSmartRef__":true,"id":3821},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n this.owner.alignReframeHandle();\n this.owner.alignBottomReframeHandle();\n }","funcProperties":{"__isSmartRef__":true,"id":3826},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3821":{"this":{"__isSmartRef__":true,"id":3801},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3822}},"3822":{"$super":{"__isSmartRef__":true,"id":3823}},"3823":{"varMapping":{"__isSmartRef__":true,"id":3824},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3825},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3824":{"obj":{"__isSmartRef__":true,"id":3801},"name":"onDragEnd"},"3825":{},"3826":{},"3827":{"submorphs":[{"__isSmartRef__":true,"id":3828},{"__isSmartRef__":true,"id":3835},{"__isSmartRef__":true,"id":3850},{"__isSmartRef__":true,"id":3864}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3879},"eventHandler":{"__isSmartRef__":true,"id":3880},"_ClipMode":"visible","derivationIds":["BEACFF72-3916-43B4-B1B8-1E15A29CB66C"],"id":"02B55B30-9E52-40E6-B286-AA62679EF97B","droppingEnabled":false,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":3881},"windowMorph":{"__isSmartRef__":true,"id":3274},"label":{"__isSmartRef__":true,"id":3828},"closeButton":{"__isSmartRef__":true,"id":3835},"menuButton":{"__isSmartRef__":true,"id":3850},"collapseButton":{"__isSmartRef__":true,"id":3864},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":3274},"__serializedExpressions__":["_Position"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":3882},"prevScroll":[0,0],"__LivelyClassName__":"lively.morphic.TitleBar","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,0.0)"},"3828":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3829},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3830}],"eventHandler":{"__isSmartRef__":true,"id":3832},"_ClipMode":"hidden","derivationIds":["16728EE5-E9BE-4C80-B0B6-340B7E038DE7"],"id":"C79FF82F-30EE-41B7-A3BD-A7EC923E9680","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"isLabel":true,"layout":{"__isSmartRef__":true,"id":3833},"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":3827},"_StyleClassNames":["window-title"],"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":3834},"prevScroll":[0,0],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(20.0,3.0)"},"3829":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(545.9,18.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3830":{"style":{"__isSmartRef__":true,"id":3831},"chunkOwner":{"__isSmartRef__":true,"id":3828},"_id":"_423437","storedString":"NodeJSControl","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3831":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3832":{"morph":{"__isSmartRef__":true,"id":3828},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3833":{"resizeWidth":true},"3834":{"requiredModules":[],"idOnLoad":"C79FF82F-30EE-41B7-A3BD-A7EC923E9680","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3835":{"submorphs":[{"__isSmartRef__":true,"id":3836}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3842},"eventHandler":{"__isSmartRef__":true,"id":3843},"_ClipMode":"visible","derivationIds":["E70BDE12-AB68-4A78-AB0D-233EE3E4706A"],"id":"9EB2A261-4436-4F80-A71C-67E27FD0E7C2","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":3836},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":3827},"layout":{"__isSmartRef__":true,"id":3844},"_StyleClassNames":["close"],"attributeConnections":[{"__isSmartRef__":true,"id":3845},{"__isSmartRef__":true,"id":3847}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__serializedExpressions__":["_Position"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":3849},"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(584.9,3.0)"},"3836":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3837},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3838}],"eventHandler":{"__isSmartRef__":true,"id":3840},"_ClipMode":"hidden","derivationIds":["8A5E6401-9982-409B-A1C9-19DB5AB836E7"],"id":"3040304B-84CF-4CC3-90A9-A25565E77FA1","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":3835},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":3841},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,-1.0)"},"3837":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3838":{"style":{"__isSmartRef__":true,"id":3839},"chunkOwner":{"__isSmartRef__":true,"id":3836},"_id":"_423432","storedString":"X","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3839":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3840":{"morph":{"__isSmartRef__":true,"id":3836},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3841":{"requiredModules":[],"idOnLoad":"3040304B-84CF-4CC3-90A9-A25565E77FA1","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3842":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"3843":{"morph":{"__isSmartRef__":true,"id":3835},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3844":{"moveHorizontal":true},"3845":{"sourceObj":{"__isSmartRef__":true,"id":3835},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":3274},"targetMethodName":"getCloseHelp","varMapping":{"__isSmartRef__":true,"id":3846},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3846":{"source":{"__isSmartRef__":true,"id":3835},"target":{"__isSmartRef__":true,"id":3274}},"3847":{"sourceObj":{"__isSmartRef__":true,"id":3835},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3274},"targetMethodName":"initiateShutdown","varMapping":{"__isSmartRef__":true,"id":3848},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3848":{"source":{"__isSmartRef__":true,"id":3835},"target":{"__isSmartRef__":true,"id":3274}},"3849":{"requiredModules":[],"idOnLoad":"9EB2A261-4436-4F80-A71C-67E27FD0E7C2","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3850":{"submorphs":[{"__isSmartRef__":true,"id":3851}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3857},"eventHandler":{"__isSmartRef__":true,"id":3858},"_ClipMode":"visible","derivationIds":["1FE22FEA-B6B0-4A3B-BCF0-3B8B70585763"],"id":"27B71510-3F6C-489A-8B9B-58DCCFCB1508","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":3851},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":3827},"attributeConnections":[{"__isSmartRef__":true,"id":3859},{"__isSmartRef__":true,"id":3861}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"isPressed":false,"__serializedExpressions__":["_Position"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":3863},"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(3.0,3.0)"},"3851":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3852},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3853}],"eventHandler":{"__isSmartRef__":true,"id":3855},"_ClipMode":"hidden","derivationIds":["164DCA0C-A172-4680-960B-C56918D952F0"],"id":"88DA964A-714F-4970-A6A8-A0AEBDBBAD3A","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":3850},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":3856},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"3852":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(18.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3853":{"style":{"__isSmartRef__":true,"id":3854},"chunkOwner":{"__isSmartRef__":true,"id":3851},"_id":"_423434","storedString":"M","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3854":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3855":{"morph":{"__isSmartRef__":true,"id":3851},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3856":{"requiredModules":[],"idOnLoad":"88DA964A-714F-4970-A6A8-A0AEBDBBAD3A","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3857":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"3858":{"morph":{"__isSmartRef__":true,"id":3850},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3859":{"sourceObj":{"__isSmartRef__":true,"id":3850},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":3274},"targetMethodName":"getMenuHelp","varMapping":{"__isSmartRef__":true,"id":3860},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3860":{"source":{"__isSmartRef__":true,"id":3850},"target":{"__isSmartRef__":true,"id":3274}},"3861":{"sourceObj":{"__isSmartRef__":true,"id":3850},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3274},"targetMethodName":"showTargetMorphMenu","varMapping":{"__isSmartRef__":true,"id":3862},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3862":{"source":{"__isSmartRef__":true,"id":3850},"target":{"__isSmartRef__":true,"id":3274}},"3863":{"requiredModules":[],"idOnLoad":"27B71510-3F6C-489A-8B9B-58DCCFCB1508","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3864":{"submorphs":[{"__isSmartRef__":true,"id":3865}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3871},"eventHandler":{"__isSmartRef__":true,"id":3872},"_ClipMode":"visible","derivationIds":["3E5E651A-41A2-4596-A785-2FC97EE13C4A"],"id":"DF7EA2FD-29B9-4AEF-A2F8-FD4C84E1F271","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":3865},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":3827},"layout":{"__isSmartRef__":true,"id":3873},"attributeConnections":[{"__isSmartRef__":true,"id":3874},{"__isSmartRef__":true,"id":3876}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__serializedExpressions__":["_Position"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":3878},"isPressed":false,"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(565.9,3.0)"},"3865":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3866},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":3867}],"eventHandler":{"__isSmartRef__":true,"id":3869},"_ClipMode":"hidden","derivationIds":["05FD113D-B20E-48F6-B07F-59722D29754F"],"id":"0CB5DADC-E43F-4BD7-B5D7-EE204AC07205","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":3864},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":3870},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,1.0)"},"3866":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"3867":{"style":{"__isSmartRef__":true,"id":3868},"chunkOwner":{"__isSmartRef__":true,"id":3865},"_id":"_423436","storedString":"–","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3868":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3869":{"morph":{"__isSmartRef__":true,"id":3865},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3870":{"requiredModules":[],"idOnLoad":"0CB5DADC-E43F-4BD7-B5D7-EE204AC07205","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3871":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"3872":{"morph":{"__isSmartRef__":true,"id":3864},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3873":{"moveHorizontal":true},"3874":{"sourceObj":{"__isSmartRef__":true,"id":3864},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":3274},"targetMethodName":"getCollapseHelp","varMapping":{"__isSmartRef__":true,"id":3875},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3875":{"source":{"__isSmartRef__":true,"id":3864},"target":{"__isSmartRef__":true,"id":3274}},"3876":{"sourceObj":{"__isSmartRef__":true,"id":3864},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":3274},"targetMethodName":"toggleCollapse","varMapping":{"__isSmartRef__":true,"id":3877},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3877":{"source":{"__isSmartRef__":true,"id":3864},"target":{"__isSmartRef__":true,"id":3274}},"3878":{"requiredModules":[],"idOnLoad":"DF7EA2FD-29B9-4AEF-A2F8-FD4C84E1F271","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3879":{"_AppearanceStylingMode":true,"_BorderStylingMode":true,"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(604.9,22.0)","_Padding":"lively.rect(0,0,0,0)"},"3880":{"morph":{"__isSmartRef__":true,"id":3827},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3881":{"resizeWidth":true,"adjustForNewBounds":true},"3882":{"requiredModules":[],"idOnLoad":"02B55B30-9E52-40E6-B286-AA62679EF97B","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3883":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3884},"eventHandler":{"__isSmartRef__":true,"id":3885},"_ClipMode":"visible","derivationIds":["C7B3DC81-5167-4D44-B612-AE5FE273D839"],"id":"321BFBDA-5A5A-423B-8FF2-B6ABF19DA7AC","droppingEnabled":true,"halosEnabled":true,"_StyleClassNames":["reframe-handle corner"],"owner":{"__isSmartRef__":true,"id":3274},"__serializedExpressions__":["_Position"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":3886},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3887},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(590.9,290.0)"},"3884":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(14.0,14.0)","_Padding":"lively.rect(0,0,0,0)"},"3885":{"morph":{"__isSmartRef__":true,"id":3883},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3886":{"requiredModules":[],"idOnLoad":"321BFBDA-5A5A-423B-8FF2-B6ABF19DA7AC","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3887":{"onDragStart":{"__isSmartRef__":true,"id":3888},"onDrag":{"__isSmartRef__":true,"id":3895},"onDragEnd":{"__isSmartRef__":true,"id":3902}},"3888":{"varMapping":{"__isSmartRef__":true,"id":3889},"source":"function onDragStart(evt) {\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetExtent = this.owner.getExtent();\n }","funcProperties":{"__isSmartRef__":true,"id":3894},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3889":{"this":{"__isSmartRef__":true,"id":3883},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3890}},"3890":{"$super":{"__isSmartRef__":true,"id":3891}},"3891":{"varMapping":{"__isSmartRef__":true,"id":3892},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3893},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3892":{"obj":{"__isSmartRef__":true,"id":3883},"name":"onDragStart"},"3893":{},"3894":{},"3895":{"varMapping":{"__isSmartRef__":true,"id":3896},"source":"function onDrag(evt) {\n var moveDelta = evt.mousePoint.subPt(this.dragStartPoint)\n var newExtent = this.originalTargetExtent.addPt(moveDelta);\n if (newExtent.x < this.owner.minWidth) newExtent.x = this.owner.minWidth;\n if (newExtent.y < this.owner.minHeight) newExtent.y = this.owner.minHeight;\n this.owner.setExtent(newExtent);\n //console.log(\"WindowExtent: \"+this.owner.getExtent().x+\" , \"+this.owner.getExtent().y);\n this.align(this.bounds().bottomRight(), this.owner.getExtent());\n }","funcProperties":{"__isSmartRef__":true,"id":3901},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3896":{"this":{"__isSmartRef__":true,"id":3883},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3897}},"3897":{"$super":{"__isSmartRef__":true,"id":3898}},"3898":{"varMapping":{"__isSmartRef__":true,"id":3899},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3900},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3899":{"obj":{"__isSmartRef__":true,"id":3883},"name":"onDrag"},"3900":{},"3901":{},"3902":{"varMapping":{"__isSmartRef__":true,"id":3903},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetExtent = null;\n this.owner.alignBottomReframeHandle();\n this.owner.alignRightReframeHandle();\n }","funcProperties":{"__isSmartRef__":true,"id":3908},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3903":{"this":{"__isSmartRef__":true,"id":3883},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":3904}},"3904":{"$super":{"__isSmartRef__":true,"id":3905}},"3905":{"varMapping":{"__isSmartRef__":true,"id":3906},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world)\n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","funcProperties":{"__isSmartRef__":true,"id":3907},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"3906":{"obj":{"__isSmartRef__":true,"id":3883},"name":"onDragEnd"},"3907":{},"3908":{},"3909":{"_BorderWidth":0,"_Fill":null,"_StrokeOpacity":0,"_BorderRadius":0,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Padding","_Extent"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Padding":"lively.rect(0,0,0,0)","_Extent":"lively.pt(604.9,304.0)"},"3910":{"morph":{"__isSmartRef__":true,"id":3274},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3911":{"adjustForNewBounds":true},"3912":{"partsSpaceName":"PartsBin/Server/","comment":"Starts, stops, creates, and deletes Lively node.js servers.","migrationLevel":4,"partName":"NodeJSControl","requiredModules":["server.nodejs.WebInterface"],"idOnLoad":"AFDCF485-DD26-4DB2-B6AF-36137E9171FF","changes":[{"__isSmartRef__":true,"id":3913}],"lastModifiedDate":{"__isSmartRef__":true,"id":3915},"revisionOnLoad":187461,"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3913":{"date":{"__isSmartRef__":true,"id":3914},"author":"conradcalmez","message":"updated to now lively windows","id":"E3B862ED-DB05-4E25-AEE9-38CDF0D80A32"},"3914":{"isSerializedDate":true,"string":"Thu Dec 20 2012 19:25:02 GMT+0100 (CET)"},"3915":{"isSerializedDate":true,"string":"Thu Dec 20 2012 19:24:15 GMT+0100 (CET)"},"3916":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3917},"id":2,"eventHandler":{"__isSmartRef__":true,"id":3918},"droppingEnabled":false,"halosEnabled":false,"_world":{"__isSmartRef__":true,"id":0},"eventsAreIgnored":true,"_HandStyle":"default","_PointerEvents":"none","lastScrollTime":1360690783448,"_ClipMode":"visible","carriesGrabbedMorphs":false,"doNotSerialize":["$$scrollFocusMorph"],"doNotCopyProperties":["$$scrollFocusMorph"],"highlightConnection":null,"__serializedExpressions__":["_Position"],"_Scale":1,"_Rotation":0,"owner":{"__isSmartRef__":true,"id":0},"__LivelyClassName__":"lively.morphic.HandMorph","__SourceModuleName__":"Global.lively.morphic.Events","withLayers":["Global.NoMagnetsLayer"],"_Position":"lively.pt(1007.0,198.0)"},"3917":{"_ClipMode":"visible","__serializedExpressions__":["_Position","_Extent","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(2.0,2.0)","_Fill":"Color.rgb(204,0,0)","_Padding":"lively.rect(0,0,0,0)"},"3918":{"morph":{"__isSmartRef__":true,"id":3916},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3919":{"_ClipMode":"visible","__serializedExpressions__":["_Position","_Extent","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(2800.0,2800.0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"3920":{"morph":{"__isSmartRef__":true,"id":0},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3921":{"sourceObj":{"__isSmartRef__":true,"id":0},"sourceAttrName":"savedWorldAsURL","targetObj":{"__isSmartRef__":true,"id":0},"targetMethodName":"visitNewPageAfterSaveAs","varMapping":{"__isSmartRef__":true,"id":3922},"updaterString":"function ($upd, v) {\n if (v && v.toString() !== URL.source.toString()) { $upd(v); }\n }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"3922":{"source":{"__isSmartRef__":true,"id":0},"target":{"__isSmartRef__":true,"id":0}},"3923":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/users/conradcalmez/WIP.xhtml","__LivelyClassName__":"URL","__SourceModuleName__":"Global.lively.Network"},"3924":{"submorphs":[{"__isSmartRef__":true,"id":3925}],"scripts":[],"id":"FF4DDC3A-3302-4BD4-9D06-051B2AB09992","shape":{"__isSmartRef__":true,"id":3936},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"__serializedExpressions__":["_Position","distanceToDragEvent"],"showsHalos":false,"name":"LoadingMorph","partsBinMetaInfo":{"__isSmartRef__":true,"id":3937},"eventHandler":{"__isSmartRef__":true,"id":4035},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"derivationIds":[127,"59692BC3-6C7B-4E23-B820-8699260EA722","486BB935-1313-4103-B2A8-642B19437478","18AFFD44-46CD-489E-B1D6-DED43E2B6B06","2608C892-2204-4981-9A87-8E749F8944AB","5535861F-4EA2-44AB-8A40-0538124E0AAC","16C292B3-86E8-4622-B516-27C48263B8CC","87731A20-D455-44D0-97E5-98A7CFD4E417","A17081E7-E597-47ED-BD32-6E4D206BD7D7","CFB4A44C-BFEA-4584-BCBA-AE2A56739200","76B3DD9B-8D01-42BA-A574-AB99D5F899BB","1EBC5512-8F54-4B24-998C-69A285EC8533","DD1165C7-6C1A-4361-A4AE-FCF6F31152FD","4D6D36E8-48F3-408A-B03C-202E4DC182BD","5F3B3E0F-BBC6-4DDA-BAA0-7EFC05FF2011","E0A6B33B-767A-4532-9021-892414520200","F5F5E2B1-5FF0-4E09-B323-AE88A3920B8D","0C7E832A-A741-430F-B295-8BC181D066FE","472AED3B-CB76-49BD-BF49-354A2D568F86","A7C52F65-D140-4791-880F-F7584C7BB570","3516412B-8B36-4E52-9416-6B7FB358BDC2","1840CACC-078C-4795-AD3F-E9D6F8D557A0","1FEDCA25-0131-46FA-840F-DC5F1B05C6CA","C620CED3-0AE9-4097-9AA7-2706A042F9C9","679A861B-40E0-4DB2-B22F-95B454C6978D","FEF39B3C-E634-4825-BAB8-2D44FE647B03"],"isBeingDragged":false,"layout":{"__isSmartRef__":true,"id":4036},"prevScroll":[0,0],"moved":true,"_Rotation":0,"_Scale":1,"headRevision":146469,"_ClipMode":"visible","__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4037},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)","distanceToDragEvent":"lively.pt(171.0,-13.0)"},"3925":{"submorphs":[{"__isSmartRef__":true,"id":3926}],"scripts":[],"shape":{"__isSmartRef__":true,"id":3932},"id":"79DDE693-F9B4-4494-883F-FC797AD52AB3","eventHandler":{"__isSmartRef__":true,"id":3933},"droppingEnabled":true,"halosEnabled":true,"__serializedExpressions__":["_Position","distanceToDragEvent"],"name":"ProgressIndicator","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":3934},"derivationIds":[520,"071F18BE-FF28-40F5-ACAD-1916E0D25C38","DF185A10-743D-45FC-B9C2-76E12D908BCF","BF125D2C-596A-4C1E-A5F8-DAE4801E9497","3CEE8CFF-B8F1-4B4B-A405-CB583080252A","D0652878-8F9C-4591-8A82-296898AACDB6","31441DDF-2220-43BE-A99F-69E1FEC68030","14A90039-0D3E-46DC-8445-D42B8E02EB42","681EF5DE-A344-4114-B2F3-B96CE3872524","C0381116-5116-4F33-B082-A411D0E4534E","24E9581E-B008-46EE-9CBC-D5190E100D98","C69D1041-2C5E-48FE-B04C-04E66450658A","4830945B-4FFF-4564-9424-34D7995DAE60","8602C233-B3E7-4682-9B0E-D7549761D934","B4E0E11F-2BED-462E-B708-89D63971856E","EE0144C2-D016-4390-8A67-4E7DEF171C83","F44DF6E4-5F27-440E-AB5F-3721C0A10CA6","73FC6648-DAAF-4673-8CF4-7DA219513F22","B78EB1B5-780C-45F7-B0A7-B988B52B1FF1","DFDB8CD1-72F7-40F4-849B-1F9B866277AB","66111105-B1FC-41F7-BF70-D45118C9E09F","02420416-1E35-4831-AABB-91CD0460CA1A","7C6B2EB2-4510-4A8E-BAFF-5CF0040DD7F5","0503F5A1-1732-4610-9A5A-920D658CA766","07C5AE03-36AD-4849-BACD-27D7D9A2CCF2","9FFF9D73-931C-404C-AA4B-5AC2E7C53504"],"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"owner":{"__isSmartRef__":true,"id":3924},"isBeingDragged":false,"layout":{"__isSmartRef__":true,"id":3935},"prevScroll":[0,0],"_Rotation":0,"_Scale":1,"_ClipMode":"visible","__LivelyClassName__":"lively.morphic.Image","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(113.5,81.0)","distanceToDragEvent":"lively.pt(39.0,-11.0)"},"3926":{"submorphs":[],"scripts":[],"id":"B0384159-CFE8-45FF-8508-A5DB3900BE5D","shape":{"__isSmartRef__":true,"id":3927},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"_MaxTextWidth":257,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"loadedMorphName","partsBinMetaInfo":{"__isSmartRef__":true,"id":3928},"textChunks":[{"__isSmartRef__":true,"id":3929}],"charsReplaced":"MorphName","lastFindLoc":18,"priorSelectionRange":[9,0],"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":3931},"attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"_ClipMode":"visible","derivationIds":[355,"023045B3-2D6B-4425-89FB-F4806D527BE0","DC0C2365-868C-41AE-8369-51C31E91493E","C6D9D314-86A1-4015-970B-F6787F535E1A","6AA4552E-2E85-447E-9033-99D5AA1A94BC","D94BE49C-8A3E-4F1F-BF28-FEDD9B40D213","AA8F0470-654C-4AA2-8135-4607F5429AC5","E0BAABCC-FFB2-4EDF-BAE5-C63CC99B6A97","1A86AE17-73AE-442E-AB36-DD90C6DFC8BC","EF750075-E964-4CD3-B6A4-161511E1D058","CED69CBF-FFA5-45E7-B333-FBACE4F278AC","E56978C1-7424-4C10-8168-11FD3237B540","D5AB2532-A4DC-42D6-AF17-99CBBCEAA848","245866CB-598A-4172-A3A0-A06D4D26C6AD","43B0F12E-5793-43AA-80E1-496774E0EBA6","1B776A8C-0413-475F-8EBD-120BBD91D2BB","F84F2C9A-8003-4E81-833A-83F48C92F3B8","3124B389-9FA4-4348-BC5D-0DFF9C59CD1B","1A1BCBAC-D7CC-4BAE-B8C2-7C693F7327A1","1CB201BA-5E0B-4771-821A-139FA2AEFBC2","195520FA-4816-47A4-B0F5-BA890AFD9DF9","0D15F28A-24C9-46B7-89C5-6D2354728AC1","316FE9D3-62EC-4FD6-9B0F-FFA622B79575","739F3743-9BE1-48C8-813D-C0BFB0DCACA6","01877B3B-7DA7-4222-B011-7B5F4E501862","B8FE7DEE-9568-4BE6-BA12-EA674BA79E08"],"_WhiteSpaceHandling":"pre-wrap","owner":{"__isSmartRef__":true,"id":3925},"_MinTextWidth":257,"_MinTextHeight":null,"previousSelection":[6,6],"_Align":"center","isBeingDragged":false,"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(-109.0,38.0)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(179.0,-11.0)"},"3927":{"fill":null,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"_BorderWidth":0,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(257.0,23.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)"},"3928":{"partsSpaceName":"PartsBin/Basic","migrationLevel":4,"comment":"a simple text morph","partName":"Text","idOnLoad":"B0384159-CFE8-45FF-8508-A5DB3900BE5D","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3929":{"style":{"__isSmartRef__":true,"id":3930},"chunkOwner":{"__isSmartRef__":true,"id":3926},"storedString":"loading part","_id":"_5","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3930":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"3931":{"morph":{"__isSmartRef__":true,"id":3926},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3932":{"__serializedExpressions__":["_Position","_Extent","_Padding"],"_ImageURL":"data:image/gif;base64,R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAkKAAAALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==","attributeConnections":[],"doNotSerialize":[],"doNotCopyProperties":[],"isLoaded":true,"_ClipMode":"visible","_BorderWidth":0,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Image","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(31.0,31.0)","_Padding":"lively.rect(0,0,0,0)"},"3933":{"morph":{"__isSmartRef__":true,"id":3925},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"3934":{"partName":"ProgressIndicator","requiredModules":[],"migrationLevel":2,"partsSpaceName":"PartsBin/Widgets/","idOnLoad":"79DDE693-F9B4-4494-883F-FC797AD52AB3","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3935":{"centeredHorizontal":true,"centeredVertical":true},"3936":{"__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":8.515,"_Opacity":0.8146,"_BorderStyle":"solid","__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(266.0,223.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(214,214,214)","_Padding":"lively.rect(0,0,0,0)"},"3937":{"partsSpaceName":"PartsBin/iPadWidgets","comment":"This is a placeholder to indicate that a morph is being loaded. It will be replaced by the morph as soon as the requested morph finished loading.","migrationLevel":4,"partName":"LoadingMorph","changes":[{"__isSmartRef__":true,"id":3938},{"__isSmartRef__":true,"id":3940},{"__isSmartRef__":true,"id":3942},{"__isSmartRef__":true,"id":3944},{"__isSmartRef__":true,"id":3946},{"__isSmartRef__":true,"id":3948},{"__isSmartRef__":true,"id":3950},{"__isSmartRef__":true,"id":3952},{"__isSmartRef__":true,"id":3954},{"__isSmartRef__":true,"id":3956},{"__isSmartRef__":true,"id":3958},{"__isSmartRef__":true,"id":3960},{"__isSmartRef__":true,"id":3962},{"__isSmartRef__":true,"id":3964},{"__isSmartRef__":true,"id":3966},{"__isSmartRef__":true,"id":3968},{"__isSmartRef__":true,"id":3970},{"__isSmartRef__":true,"id":3972},{"__isSmartRef__":true,"id":3974},{"__isSmartRef__":true,"id":3976},{"__isSmartRef__":true,"id":3978},{"__isSmartRef__":true,"id":3980},{"__isSmartRef__":true,"id":3982},{"__isSmartRef__":true,"id":3984},{"__isSmartRef__":true,"id":3986},{"__isSmartRef__":true,"id":3988},{"__isSmartRef__":true,"id":3990},{"__isSmartRef__":true,"id":3992},{"__isSmartRef__":true,"id":3994},{"__isSmartRef__":true,"id":3996},{"__isSmartRef__":true,"id":3998},{"__isSmartRef__":true,"id":4000},{"__isSmartRef__":true,"id":4002},{"__isSmartRef__":true,"id":4004},{"__isSmartRef__":true,"id":4006},{"__isSmartRef__":true,"id":4008},{"__isSmartRef__":true,"id":4010},{"__isSmartRef__":true,"id":4012},{"__isSmartRef__":true,"id":4014},{"__isSmartRef__":true,"id":4016},{"__isSmartRef__":true,"id":4018},{"__isSmartRef__":true,"id":4020},{"__isSmartRef__":true,"id":4022},{"__isSmartRef__":true,"id":4024},{"__isSmartRef__":true,"id":4026},{"__isSmartRef__":true,"id":4028},{"__isSmartRef__":true,"id":4030},{"__isSmartRef__":true,"id":4032}],"revisionOnLoad":151069,"lastModifiedDate":{"__isSmartRef__":true,"id":4034},"idOnLoad":"FF4DDC3A-3302-4BD4-9D06-051B2AB09992","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"3938":{"date":{"__isSmartRef__":true,"id":3939},"author":"sstamm","message":"","id":"1C1391AE-5722-4707-BE52-F0094FC56829"},"3939":{"isSerializedDate":true,"string":"Wed Feb 22 2012 14:02:04 GMT+0100 (CET)"},"3940":{"date":{"__isSmartRef__":true,"id":3941},"author":"sstamm","message":"","id":"663F147A-9084-4AC3-81A7-1E7BA6547F08"},"3941":{"isSerializedDate":true,"string":"Wed Feb 22 2012 12:43:10 GMT+0100 (CET)"},"3942":{"date":{"__isSmartRef__":true,"id":3943},"author":"sstamm","message":"","id":"F72B746E-B170-4EFB-9074-5E8770640B8A"},"3943":{"isSerializedDate":true,"string":"Wed Feb 22 2012 12:36:14 GMT+0100 (CET)"},"3944":{"date":{"__isSmartRef__":true,"id":3945},"author":"sstamm","message":"","id":"568D2EFD-C535-43AE-8944-6D8B967129F5"},"3945":{"isSerializedDate":true,"string":"Wed Feb 22 2012 12:23:04 GMT+0100 (CET)"},"3946":{"date":{"__isSmartRef__":true,"id":3947},"author":"sstamm","message":"","id":"AB2484A6-0707-4E13-845E-F0A5F48BBA3D"},"3947":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:59:45 GMT+0100 (CET)"},"3948":{"date":{"__isSmartRef__":true,"id":3949},"author":"sstamm","message":"","id":"97D20633-F76C-46A5-A32A-FFE9BC83CAB3"},"3949":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:59:10 GMT+0100 (CET)"},"3950":{"date":{"__isSmartRef__":true,"id":3951},"author":"sstamm","message":"","id":"8A697DF5-9A45-4A84-B709-9719BF55083E"},"3951":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:56:54 GMT+0100 (CET)"},"3952":{"date":{"__isSmartRef__":true,"id":3953},"author":"sstamm","message":"","id":"F2157D66-1571-4B9A-B325-6FA96488260F"},"3953":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:51:05 GMT+0100 (CET)"},"3954":{"date":{"__isSmartRef__":true,"id":3955},"author":"sstamm","message":"","id":"E5E808CA-06AB-47DC-A9C9-CA7967591545"},"3955":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:47:19 GMT+0100 (CET)"},"3956":{"date":{"__isSmartRef__":true,"id":3957},"author":"sstamm","message":"","id":"009DC4E0-23CA-485A-A796-801AA0F75049"},"3957":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:46:25 GMT+0100 (CET)"},"3958":{"date":{"__isSmartRef__":true,"id":3959},"author":"sstamm","message":"","id":"C0CE1397-6E2E-4E8C-AEFF-9017E24BB7E4"},"3959":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:45:05 GMT+0100 (CET)"},"3960":{"date":{"__isSmartRef__":true,"id":3961},"author":"sstamm","message":"","id":"FFE16986-548D-4AC2-A627-CF6416282BC4"},"3961":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:37:15 GMT+0100 (CET)"},"3962":{"date":{"__isSmartRef__":true,"id":3963},"author":"sstamm","message":"","id":"57213D63-7147-4057-ADC9-30994443B066"},"3963":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:35:29 GMT+0100 (CET)"},"3964":{"date":{"__isSmartRef__":true,"id":3965},"author":"sstamm","message":"","id":"75A31364-B380-4312-BB5B-F8F2DA1CE824"},"3965":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:31:52 GMT+0100 (CET)"},"3966":{"date":{"__isSmartRef__":true,"id":3967},"author":"sstamm","message":"","id":"5AA50B7E-7D33-44C4-807B-BF1ABA31D530"},"3967":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:14:10 GMT+0100 (CET)"},"3968":{"date":{"__isSmartRef__":true,"id":3969},"author":"sstamm","message":"","id":"BCDCC505-534C-45E5-9BB2-5238959A5AD0"},"3969":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:02:56 GMT+0100 (CET)"},"3970":{"date":{"__isSmartRef__":true,"id":3971},"author":"sstamm","message":"","id":"890D14F4-E89D-4E05-BFB9-875D6AB6C765"},"3971":{"isSerializedDate":true,"string":"Wed Feb 22 2012 11:01:50 GMT+0100 (CET)"},"3972":{"date":{"__isSmartRef__":true,"id":3973},"author":"sstamm","message":"","id":"B6FE0805-0D24-4267-8238-8B332352617E"},"3973":{"isSerializedDate":true,"string":"Wed Feb 22 2012 10:55:44 GMT+0100 (CET)"},"3974":{"date":{"__isSmartRef__":true,"id":3975},"author":"sstamm","message":"callbacks are working","id":"9348260A-3B55-4659-BC85-440BFBD98EA4"},"3975":{"isSerializedDate":true,"string":"Fri Feb 10 2012 09:45:55 GMT+0100 (CET)"},"3976":{"date":{"__isSmartRef__":true,"id":3977},"author":"sstamm","message":"made it more opaque","id":"1B84264C-2822-407F-A58F-19217BCD2762"},"3977":{"isSerializedDate":true,"string":"Wed Feb 08 2012 11:41:50 GMT+0100 (CET)"},"3978":{"date":{"__isSmartRef__":true,"id":3979},"author":"sstamm","message":"","id":"0FB41D7D-2A52-4782-814B-A66C24FCE569"},"3979":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:13:49 GMT+0100 (CET)"},"3980":{"date":{"__isSmartRef__":true,"id":3981},"author":"sstamm","message":"","id":"A0C2D7C1-04AF-493A-A7D7-70750F7D3E2F"},"3981":{"isSerializedDate":true,"string":"Thu Feb 02 2012 17:22:07 GMT+0100 (CET)"},"3982":{"date":{"__isSmartRef__":true,"id":3983},"author":"sstamm","message":"trollolol","id":"F6CFAD78-AC72-4DE2-9F38-79776C2E9462"},"3983":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:55:14 GMT+0100 (CET)"},"3984":{"date":{"__isSmartRef__":true,"id":3985},"author":"sstamm","message":"should be centered now","id":"EE366B4D-C272-477F-8C28-4EAE5A7EC7CB"},"3985":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:54:35 GMT+0100 (CET)"},"3986":{"date":{"__isSmartRef__":true,"id":3987},"author":"sstamm","message":"initial commit","id":"8920D925-DD16-4667-B8C7-FB74D78C2424"},"3987":{"isSerializedDate":true,"string":"Thu Feb 02 2012 13:26:01 GMT+0100 (CET)"},"3988":{"date":{"__isSmartRef__":true,"id":3989},"author":"sstamm","message":"changed text morph name","id":"80E88A3C-5AF3-48F2-A600-710877630997"},"3989":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:04:01 GMT+0100 (CET)"},"3990":{"date":{"__isSmartRef__":true,"id":3991},"author":"sstamm","message":"added loading script","id":"EE9B8F4D-1F03-4232-82E6-794046974F8F"},"3991":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:28:30 GMT+0100 (CET)"},"3992":{"date":{"__isSmartRef__":true,"id":3993},"author":"sstamm","message":"added disconnection","id":"11F19267-924E-4087-99ED-998245576BD2"},"3993":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:32:58 GMT+0100 (CET)"},"3994":{"date":{"__isSmartRef__":true,"id":3995},"author":"sstamm","message":"removed connections before deletion","id":"35A88218-6864-4D52-83A2-BFF7B9A6907C"},"3995":{"isSerializedDate":true,"string":"Thu Feb 02 2012 14:41:00 GMT+0100 (CET)"},"3996":{"date":{"__isSmartRef__":true,"id":3997},"author":"sstamm","message":"now able to load parts by name and category as well as per partItem","id":"F36A5782-461D-4813-95F8-0207990A261C"},"3997":{"isSerializedDate":true,"string":"Thu Feb 02 2012 15:24:30 GMT+0100 (CET)"},"3998":{"date":{"__isSmartRef__":true,"id":3999},"author":"sstamm","message":"now with round corners","id":"F42C39CB-CC37-467D-BF10-D362241F047E"},"3999":{"isSerializedDate":true,"string":"Thu Feb 02 2012 15:26:23 GMT+0100 (CET)"},"4000":{"date":{"__isSmartRef__":true,"id":4001},"author":"sstamm","message":"loadingMorph is sync now","id":"12ACFFC9-BA53-4A2A-ABD4-894A5ECE1145"},"4001":{"isSerializedDate":true,"string":"Thu Feb 02 2012 15:48:04 GMT+0100 (CET)"},"4002":{"date":{"__isSmartRef__":true,"id":4003},"author":"sstamm","message":"display the loadingMorph in new thread","id":"2BA51E30-F02B-4AF0-B3BE-52DD4ED522CC"},"4003":{"isSerializedDate":true,"string":"Thu Feb 02 2012 15:53:49 GMT+0100 (CET)"},"4004":{"date":{"__isSmartRef__":true,"id":4005},"author":"sstamm","message":"","id":"DF0AE4EA-1B08-4556-8BBE-E6488F23B8A3"},"4005":{"isSerializedDate":true,"string":"Thu Feb 02 2012 16:49:48 GMT+0100 (CET)"},"4006":{"date":{"__isSmartRef__":true,"id":4007},"author":"sstamm","message":"","id":"220821B3-C589-41C9-A324-8E7E6D9D6CEB"},"4007":{"isSerializedDate":true,"string":"Thu Feb 02 2012 16:58:43 GMT+0100 (CET)"},"4008":{"date":{"__isSmartRef__":true,"id":4009},"author":"sstamm","message":"","id":"DEBFACE2-7EC5-4A86-AD46-5A0A88A73707"},"4009":{"isSerializedDate":true,"string":"Thu Feb 02 2012 17:04:28 GMT+0100 (CET)"},"4010":{"date":{"__isSmartRef__":true,"id":4011},"author":"sstamm","message":"load request in new thread if loading should be async","id":"18282D28-D6D4-48C9-A508-6E3244449BD8"},"4011":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:10:27 GMT+0100 (CET)"},"4012":{"date":{"__isSmartRef__":true,"id":4013},"author":"sstamm","message":"added benchmarking output","id":"249CFF90-DDF5-4A83-9759-0289E96D7D58"},"4013":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:31:50 GMT+0100 (CET)"},"4014":{"date":{"__isSmartRef__":true,"id":4015},"author":"sstamm","message":"","id":"882082E1-29B6-418D-9B8B-672729D60619"},"4015":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:38:26 GMT+0100 (CET)"},"4016":{"date":{"__isSmartRef__":true,"id":4017},"author":"sstamm","message":"","id":"5179AEF9-E19F-4B0C-BBD8-556C5687988A"},"4017":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:44:11 GMT+0100 (CET)"},"4018":{"date":{"__isSmartRef__":true,"id":4019},"author":"sstamm","message":"","id":"1159C5B4-724E-4124-9D7B-5CD5DC4A8EE3"},"4019":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:48:14 GMT+0100 (CET)"},"4020":{"date":{"__isSmartRef__":true,"id":4021},"author":"sstamm","message":"","id":"2A718D1F-1036-41D6-999A-336F2B14E65D"},"4021":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:49:47 GMT+0100 (CET)"},"4022":{"date":{"__isSmartRef__":true,"id":4023},"author":"sstamm","message":"","id":"EB6BDD0C-7EEC-4124-B77F-2F106A601538"},"4023":{"isSerializedDate":true,"string":"Tue Feb 07 2012 11:59:48 GMT+0100 (CET)"},"4024":{"date":{"__isSmartRef__":true,"id":4025},"author":"sstamm","message":"","id":"63EC8D07-AB6A-450A-BB84-9B4D37E03647"},"4025":{"isSerializedDate":true,"string":"Tue Feb 07 2012 12:02:33 GMT+0100 (CET)"},"4026":{"date":{"__isSmartRef__":true,"id":4027},"author":"sstamm","message":"","id":"19CE12E4-5AA5-48DC-B1D1-B0EB0EDF1CB9"},"4027":{"isSerializedDate":true,"string":"Tue Feb 07 2012 12:03:42 GMT+0100 (CET)"},"4028":{"date":{"__isSmartRef__":true,"id":4029},"author":"sstamm","message":"first attempt to introduce callback functions to part loading","id":"22BD0B95-8948-411A-A56E-AD7CBE445F1D"},"4029":{"isSerializedDate":true,"string":"Thu Feb 09 2012 20:20:11 GMT+0100 (CET)"},"4030":{"date":{"__isSmartRef__":true,"id":4031},"author":"sstamm","message":"","id":"A216DFD2-9D1F-4E62-A22F-6B5472823E1B"},"4031":{"isSerializedDate":true,"string":"Fri Mar 16 2012 15:37:34 GMT+0100 (CET)"},"4032":{"date":{"__isSmartRef__":true,"id":4033},"author":"sstamm","message":"","id":"464E723A-08DC-433C-AA5C-CEC850DBAF0B"},"4033":{"isSerializedDate":true,"string":"Fri Mar 16 2012 15:42:29 GMT+0100 (CET)"},"4034":{"isSerializedDate":true,"string":"Fri Sep 07 2012 04:04:46 GMT+0200 (CEST)"},"4035":{"morph":{"__isSmartRef__":true,"id":3924},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4036":{"adjustForNewBounds":true},"4037":{"loadPart":{"__isSmartRef__":true,"id":4038},"loadFinished":{"__isSmartRef__":true,"id":4042},"loadPartByName":{"__isSmartRef__":true,"id":4046}},"4038":{"varMapping":{"__isSmartRef__":true,"id":4039},"source":"function loadPart(partItem, isAsync) {\n this.partItem = partItem;\n \n this.openInWorld();\n if(partItem.part) {\n this.setExtent(partItem.part.getExtent());\n }\n this.align(this.bounds().center(), $world.visibleBounds().center());\n \n \n if(typeof isAsync === \"function\") {\n this.callback = isAsync;\n }\n\n connect(partItem, 'part', this, \"loadFinished\");\n\n partItem.loadPart(isAsync);\n\n return partItem.part;\n\n}","funcProperties":{"__isSmartRef__":true,"id":4040},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4039":{"this":{"__isSmartRef__":true,"id":3924}},"4040":{"timestamp":{"__isSmartRef__":true,"id":4041},"user":"sstamm","tags":[]},"4041":{"isSerializedDate":true,"string":"Fri Mar 16 2012 15:42:18 GMT+0100 (CET)"},"4042":{"varMapping":{"__isSmartRef__":true,"id":4043},"source":"function loadFinished(part) {\n if(this.owner === $world.firstHand()) {\n $world.firstHand().removeAllMorphs();\n } else {\n this.owner.addMorph(part);\n part.align(part.bounds().center(), this.bounds().center());\n this.remove();\n }\n disconnect(this.partItem, 'part', this, \"loadFinished\");\n if(this.callback) {\n this.callback(part);\n }\n}","funcProperties":{"__isSmartRef__":true,"id":4044},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4043":{"this":{"__isSmartRef__":true,"id":3924}},"4044":{"timestamp":{"__isSmartRef__":true,"id":4045},"user":"sstamm","tags":[]},"4045":{"isSerializedDate":true,"string":"Wed Feb 22 2012 14:01:53 GMT+0100 (CET)"},"4046":{"varMapping":{"__isSmartRef__":true,"id":4047},"source":"function loadPartByName(partName, optPartsSpaceName, isAsync) {\n var partItem = lively.PartsBin.getPartItem(partName, optPartsSpaceName);\n return this.loadPart(partItem, isAsync);\n}","funcProperties":{"__isSmartRef__":true,"id":4048},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4047":{"this":{"__isSmartRef__":true,"id":3924}},"4048":{"timestamp":{"__isSmartRef__":true,"id":4049},"user":"sstamm","tags":[]},"4049":{"isSerializedDate":true,"string":"Thu Feb 02 2012 17:03:18 GMT+0100 (CET)"},"4050":{"isSerializedDate":true,"string":"Tue Feb 12 2013 15:29:42 GMT+0100 (CET)"},"4051":{"LK2":true,"_ClipMode":"visible","_Rotation":0,"_Scale":1,"__layered_draggingEnabled__":true,"attributeConnections":[{"__isSmartRef__":true,"id":4052}],"collapsedExtent":null,"collapsedTransform":null,"derivationIds":[2879,"91414FD8-3775-435F-96A6-39E0CB891CD7","9CB574CD-94E3-465A-B85C-91F97E070BC3","C9D390C2-399F-44AF-A316-A4A117E5F7B6","0A0B9181-A04D-441B-944F-585ED335E81B","DEDFDD48-51F2-4C04-9681-6B64D465BE14","FD496905-E054-4BF1-B162-EB0F08C1C829","7A7DC0E8-6CA2-49DC-A660-7E873F834AB2","401B15D2-9AFF-4843-85A2-16186AFFDFD4","D4692AD1-A7CA-4F57-A55F-B485279A8B90","DDF6DDB6-572F-4DC7-911A-4F7E5F310189","41BEABE5-C184-4F59-93F1-139F711489DC","43B559FD-8DA9-41DE-91F3-B4DDD6788A58","C6E534FD-BA26-4A2F-987E-2254EB4D1D7B","7F7C3464-9B3C-4C47-B577-D69567B5AD63","BD18ABC3-C773-4121-B919-8E27D8B9E0A4","D2B37A20-7D83-417D-A81B-3AC4A7C151F5","CF2F775B-6B52-4154-AC3E-4E8A8874677A","81F0924C-9756-40AF-B456-05A51ABE06E3","D4EEB7FD-A570-4B03-97A1-622BB37D2A13"],"doNotCopyProperties":[],"doNotSerialize":[],"droppingEnabled":true,"eventHandler":{"__isSmartRef__":true,"id":4315},"expandedExtent":null,"expandedTransform":null,"halosEnabled":true,"headRevision":147095,"highlighted":true,"id":"2D0B0FB5-B406-484E-87CF-8DFC58B273FA","ignoreEventsOnExpand":false,"isBeingDragged":false,"isCopyMorphRef":true,"layout":{"__isSmartRef__":true,"id":4316},"morphRefId":12,"moved":true,"name":"PublishPartDialog","partsBinMetaInfo":{"__isSmartRef__":true,"id":4317},"prevScroll":[0,0],"scripts":[],"shape":{"__isSmartRef__":true,"id":4347},"showsHalos":false,"submorphs":[{"__isSmartRef__":true,"id":4053},{"__isSmartRef__":true,"id":4348},{"__isSmartRef__":true,"id":4391}],"targetMorph":{"__isSmartRef__":true,"id":4053},"titleBar":{"__isSmartRef__":true,"id":4391},"__serializedExpressions__":["_Position","contentOffset","minExtent","prevDragPos"],"owner":null,"_StyleClassNames":["highlighted"],"state":"shutdown","__LivelyClassName__":"lively.morphic.Window","__SourceModuleName__":"Global.lively.morphic.Widgets","withoutLayers":["Global.lively.morphic.GrabbingLayer"],"_Position":"lively.pt(436.0,158.0)","contentOffset":"lively.pt(0.0,21.0)","minExtent":"lively.pt(479.0,437.0)","prevDragPos":"lively.pt(548.1,476.2)"},"4052":{"sourceAttrName":"remove","sourceObj":{"__isSmartRef__":true,"id":4051},"targetMethodName":"onRemove","targetObj":{"__isSmartRef__":true,"id":4053},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4053":{"_ClipMode":"visible","_Rotation":0,"_Scale":1,"attributeConnections":[],"derivationIds":[2888,"7CD647EF-2BB4-4CD9-9D3B-4EE7BC59ECC2","B983FB4F-9323-4304-9603-5615E93C6C42","E738FAD5-9C83-4390-B193-06C21B6E51B0","5ED6DC7B-74C2-4149-BF56-1622F302C51E","B125F66F-9D66-44AC-A04B-E3A1CB7C1474","8DD88D93-D7DB-4957-A724-C19836CD8C03","1405B5AF-8461-4497-952D-024E06F6F395","7CD3B3FE-D49D-436B-A738-6F960136F93C","C28EE17A-8653-4C4E-AEAA-89B45CB54684","97E867C3-A9EC-42CF-916F-788C94BE0955","8DBA20C0-E93B-4679-BD70-63D956C8D56B","03F1C6E5-5D38-4B2A-B96A-7545B2EA78A4","101E56F8-6494-4A33-A341-C532CBE53645","7B5BEA4B-7600-495A-8017-6D2CED2DFC29","C97C0E53-522D-414C-9555-2228E8BA8F71","AC087EF2-E8D1-4F6D-B5DB-1FE43974C4CB","E29EF530-07BB-4E46-ADF7-AF918B0F886F","86E678F3-F71F-48F5-A085-B6D3E399690D","D193F116-988F-4C54-9A3D-E37B5552B952"],"doNotCopyProperties":[],"doNotSerialize":[],"droppingEnabled":true,"eventHandler":{"__isSmartRef__":true,"id":4054},"grabbingEnabled":false,"halosEnabled":true,"id":"A2A8E899-A4ED-4C56-9F06-CFE4A5855404","isBeingDragged":false,"isLockOwner":false,"layout":{"__isSmartRef__":true,"id":4055},"name":"PublishPartPanePane","owner":{"__isSmartRef__":true,"id":4051},"ownerApp":{"__isSmartRef__":true,"id":4056},"partsBinMetaInfo":{"__isSmartRef__":true,"id":4108},"prevScroll":[0,0],"scripts":[],"shape":{"__isSmartRef__":true,"id":4109},"showsHalos":false,"submorphs":[{"__isSmartRef__":true,"id":4080},{"__isSmartRef__":true,"id":4110},{"__isSmartRef__":true,"id":4117},{"__isSmartRef__":true,"id":4124},{"__isSmartRef__":true,"id":4130},{"__isSmartRef__":true,"id":4137},{"__isSmartRef__":true,"id":4143},{"__isSmartRef__":true,"id":4187},{"__isSmartRef__":true,"id":4231},{"__isSmartRef__":true,"id":4238},{"__isSmartRef__":true,"id":4244},{"__isSmartRef__":true,"id":4267}],"target":{"__isSmartRef__":true,"id":789},"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4274},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","withLayers":["Global.lively.morphic.GrabbingLayer"],"_Position":"lively.pt(0.0,21.0)","distanceToDragEvent":"lively.pt(365.0,-16.0)"},"4054":{"morph":{"__isSmartRef__":true,"id":4053},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4055":{"adjustForNewBounds":true,"resizeHeight":true,"resizeWidth":true},"4056":{"attributeConnections":[{"__isSmartRef__":true,"id":4057}],"cancelButton":{"__isSmartRef__":true,"id":4058},"defaultInput":"CommitMessageTest1","doNotCopyProperties":["$$result"],"doNotSerialize":["$$result"],"inputText":{"__isSmartRef__":true,"id":4080},"label":{"__isSmartRef__":true,"id":4087},"message":"Please enter a name for the part","okButton":{"__isSmartRef__":true,"id":4092},"panel":{"__isSmartRef__":true,"id":4053},"result":"CommitMessageTest1","view":{"__isSmartRef__":true,"id":4053},"__LivelyClassName__":"lively.morphic.PromptDialog","__SourceModuleName__":"Global.lively.morphic.Widgets"},"4057":{"sourceAttrName":"result","sourceObj":{"__isSmartRef__":true,"id":4056},"targetMethodName":"triggerCallback","targetObj":{"__isSmartRef__":true,"id":4056},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4058":{"attributeConnections":[{"__isSmartRef__":true,"id":4059},{"__isSmartRef__":true,"id":4060}],"doNotCopyProperties":["$$fire"],"doNotSerialize":["$$fire"],"droppingEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4062},"grabbingEnabled":false,"halosEnabled":true,"id":6793,"isActive":true,"isCopyMorphRef":true,"isLockOwner":false,"label":{"__isSmartRef__":true,"id":4063},"layout":{"__isSmartRef__":true,"id":4068},"lighterFill":{"__isSmartRef__":true,"id":4069},"morphRefId":1,"normalFill":{"__isSmartRef__":true,"id":4074},"owner":null,"scripts":[],"shape":{"__isSmartRef__":true,"id":4079},"showsHalos":false,"submorphs":[],"toggle":false,"value":false,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(478.0,187.0)"},"4059":{"sourceAttrName":"fire","sourceObj":{"__isSmartRef__":true,"id":4058},"targetMethodName":"removeTopLevel","targetObj":{"__isSmartRef__":true,"id":4056},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4060":{"converterString":"function () { return null }","sourceAttrName":"fire","sourceObj":{"__isSmartRef__":true,"id":4058},"targetMethodName":"result","targetObj":{"__isSmartRef__":true,"id":4056},"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":4061},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4061":{"source":{"__isSmartRef__":true,"id":4058},"target":{"__isSmartRef__":true,"id":4056}},"4062":{"morph":{"__isSmartRef__":true,"id":4058},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4063":{"_Align":"center","_ClipMode":"hidden","_FontFamily":"Helvetica","_FontSize":10,"_HandStyle":"default","_MaxTextHeight":null,"_MaxTextWidth":60,"_MinTextHeight":null,"_MinTextWidth":60,"_WhiteSpaceHandling":"pre-wrap","allowInput":false,"attributeConnections":[],"doNotCopyProperties":[],"doNotSerialize":[],"droppingEnabled":false,"evalEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4064},"eventsAreIgnored":true,"fixedHeight":true,"fixedWidth":true,"grabbingEnabled":false,"halosEnabled":true,"id":6794,"isLabel":true,"isLockOwner":false,"owner":null,"scripts":[],"shape":{"__isSmartRef__":true,"id":4065},"showsHalos":false,"submorphs":[],"textChunks":[{"__isSmartRef__":true,"id":4066}],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)"},"4064":{"morph":{"__isSmartRef__":true,"id":4063},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4065":{"_BorderWidth":0,"_ClipMode":"hidden","_Fill":null,"__serializedExpressions__":["_BorderColor","_Extent","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(0,0,0)","_Extent":"lively.pt(60.0,30.0)","_Padding":"lively.rect(0,6,0,0)","_Position":"lively.pt(0.0,0.0)"},"4066":{"_id":"_411","chunkOwner":{"__isSmartRef__":true,"id":4063},"storedString":"","style":{"__isSmartRef__":true,"id":4067},"__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4067":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4068":{"moveHorizontal":true,"moveVertical":true},"4069":{"stops":[{"__isSmartRef__":true,"id":4070},{"__isSmartRef__":true,"id":4071},{"__isSmartRef__":true,"id":4072},{"__isSmartRef__":true,"id":4073}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"4070":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"4071":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"4072":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"4073":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"4074":{"stops":[{"__isSmartRef__":true,"id":4075},{"__isSmartRef__":true,"id":4076},{"__isSmartRef__":true,"id":4077},{"__isSmartRef__":true,"id":4078}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"4075":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"4076":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"4077":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"4078":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"4079":{"_BorderRadius":5,"_BorderWidth":1,"_ClipMode":"visible","_Fill":{"__isSmartRef__":true,"id":4074},"__serializedExpressions__":["_BorderColor","_Extent","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(189,190,192)","_Extent":"lively.pt(60.0,30.0)","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)"},"4080":{"_ClipMode":"hidden","_FontFamily":"Helvetica","_FontSize":10,"_MaxTextHeight":null,"_MaxTextWidth":164,"_MinTextHeight":null,"_MinTextWidth":164,"_Scale":1,"_WhiteSpaceHandling":"pre-wrap","allowInput":true,"attributeConnections":[],"charsReplaced":"7","derivationIds":[2889,"9A8B5C1C-95BB-40F5-B9EF-B89DD5451B64","C49BF160-BBBE-422E-BDDC-B9A98A72ABFF","42B7E940-3BB5-4B79-B5D8-E4C8E780FF3B","50B247C7-D8F3-4CF5-BD3F-2A2867827CF1","674DADA8-0E51-4FAB-8522-A9D91F270267","105181E3-2D4E-49C3-9C63-13D1F9E311AB","54D6890B-898B-44EC-8BDF-688522764BD8","A8821E63-E9F3-4FE1-94FC-897C0E64A537","1A1BA90B-CA62-4F00-8A36-CC210F473907","E8C3B7B8-5E66-4470-A4B0-C4103AA45358","95511FB8-0146-4A7A-900F-72D7EE65877A","7DA33C42-0FC5-4616-B97B-FA67332B7859","D05E45C6-2CC5-44AB-B3FD-904395A33093","83AF3D18-D412-4D65-B8FD-51A225F1371F","238498B0-5A4F-416E-9ED6-096FE9C41557","C238293B-A0D4-4ECA-A22A-94543F96B617","61BC31A7-BF4C-4E59-9189-11A772CF2B36","E628163F-DBED-46B3-ABAB-57FEDE6B30D3","CEE42069-8017-4801-9E2D-4086FD1107F5"],"doNotCopyProperties":[],"doNotSerialize":[],"droppingEnabled":false,"evalEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4081},"fixedHeight":true,"fixedWidth":true,"grabbingEnabled":false,"halosEnabled":true,"id":"10BBC9DE-D8D4-4AE1-B122-F4DE40A973F6","isBeingDragged":false,"isCopyMorphRef":true,"isInputLine":true,"isLockOwner":false,"lastFindLoc":2,"layout":{"__isSmartRef__":true,"id":4082},"morphRefId":1,"name":"NameText","owner":{"__isSmartRef__":true,"id":4053},"previousSelection":[1,1],"savedTextString":"CommitMessageTest1","scripts":[],"shape":{"__isSmartRef__":true,"id":4083},"showsHalos":false,"submorphs":[],"textChunks":[{"__isSmartRef__":true,"id":4084}],"_WordBreak":"break-all","prevScroll":[0,0],"__serializedExpressions__":["_Position","distanceToDragEvent"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":4086},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,50.0)","distanceToDragEvent":"lively.pt(119.0,-15.0)"},"4081":{"morph":{"__isSmartRef__":true,"id":4080},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4082":{"adjustForNewBounds":true,"resizeWidth":true},"4083":{"_BorderRadius":3.75,"_BorderStyle":"solid","_BorderWidth":1,"_ClipMode":"hidden","_Opacity":1,"_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_BorderColor","_Extent","_Fill","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(227,227,227)","_Extent":"lively.pt(174.0,20.0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(4,2,0,0)","_Position":"lively.pt(0.0,0.0)"},"4084":{"style":{"__isSmartRef__":true,"id":4085},"chunkOwner":{"__isSmartRef__":true,"id":4080},"_id":"_51212","storedString":"SyncMorph","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4085":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4086":{"partName":"NameText","requiredModules":[],"idOnLoad":"10BBC9DE-D8D4-4AE1-B122-F4DE40A973F6","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4087":{"_ClipMode":"hidden","_FontFamily":"Helvetica","_FontSize":10,"_HandStyle":"default","_MaxTextHeight":null,"_MaxTextWidth":null,"_MinTextHeight":null,"_MinTextWidth":null,"_WhiteSpaceHandling":"pre-wrap","allowInput":false,"attributeConnections":[],"doNotCopyProperties":[],"doNotSerialize":[],"droppingEnabled":false,"evalEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4088},"eventsAreIgnored":true,"fixedHeight":true,"fixedWidth":false,"grabbingEnabled":false,"halosEnabled":true,"id":3220,"isCopyMorphRef":true,"isLabel":true,"morphRefId":1,"owner":null,"scripts":[],"shape":{"__isSmartRef__":true,"id":4089},"showsHalos":false,"submorphs":[],"textChunks":[{"__isSmartRef__":true,"id":4090}],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(4.0,4.0)"},"4088":{"morph":{"__isSmartRef__":true,"id":4087},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4089":{"_BorderWidth":0,"_ClipMode":"hidden","__serializedExpressions__":["_BorderColor","_Extent","_Fill","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(0,0,0)","_Extent":"lively.pt(226.0,21.0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(4,2,0,0)","_Position":"lively.pt(0.0,0.0)"},"4090":{"_id":"_410","chunkOwner":{"__isSmartRef__":true,"id":4087},"storedString":"","style":{"__isSmartRef__":true,"id":4091},"__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4091":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4092":{"attributeConnections":[{"__isSmartRef__":true,"id":4093},{"__isSmartRef__":true,"id":4094}],"doNotCopyProperties":["$$fire"],"doNotSerialize":["$$fire"],"droppingEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4095},"grabbingEnabled":false,"halosEnabled":true,"id":6795,"isActive":true,"isCopyMorphRef":true,"isLockOwner":false,"label":{"__isSmartRef__":true,"id":4096},"layout":{"__isSmartRef__":true,"id":4101},"lighterFill":{"__isSmartRef__":true,"id":4102},"morphRefId":2,"normalFill":{"__isSmartRef__":true,"id":4074},"owner":null,"scripts":[],"shape":{"__isSmartRef__":true,"id":4107},"showsHalos":false,"submorphs":[],"toggle":false,"value":false,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(414.0,187.0)"},"4093":{"sourceAttrName":"fire","sourceObj":{"__isSmartRef__":true,"id":4092},"targetMethodName":"removeTopLevel","targetObj":{"__isSmartRef__":true,"id":4056},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4094":{"sourceAttrName":"fire","sourceObj":{"__isSmartRef__":true,"id":4092},"targetMethodName":"doSave","targetObj":{"__isSmartRef__":true,"id":4080},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4095":{"morph":{"__isSmartRef__":true,"id":4092},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4096":{"_Align":"center","_ClipMode":"hidden","_FontFamily":"Helvetica","_FontSize":10,"_HandStyle":"default","_MaxTextHeight":null,"_MaxTextWidth":60,"_MinTextHeight":null,"_MinTextWidth":60,"_WhiteSpaceHandling":"pre-wrap","allowInput":false,"attributeConnections":[],"doNotCopyProperties":[],"doNotSerialize":[],"droppingEnabled":false,"evalEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4097},"eventsAreIgnored":true,"fixedHeight":true,"fixedWidth":true,"grabbingEnabled":false,"halosEnabled":true,"id":6796,"isLabel":true,"isLockOwner":false,"owner":null,"scripts":[],"shape":{"__isSmartRef__":true,"id":4098},"showsHalos":false,"submorphs":[],"textChunks":[{"__isSmartRef__":true,"id":4099}],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)"},"4097":{"morph":{"__isSmartRef__":true,"id":4096},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4098":{"_BorderWidth":0,"_ClipMode":"hidden","_Fill":null,"__serializedExpressions__":["_BorderColor","_Extent","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(0,0,0)","_Extent":"lively.pt(60.0,30.0)","_Padding":"lively.rect(0,6,0,0)","_Position":"lively.pt(0.0,0.0)"},"4099":{"_id":"_412","chunkOwner":{"__isSmartRef__":true,"id":4096},"storedString":"","style":{"__isSmartRef__":true,"id":4100},"__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4100":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4101":{"moveHorizontal":true,"moveVertical":true},"4102":{"stops":[{"__isSmartRef__":true,"id":4103},{"__isSmartRef__":true,"id":4104},{"__isSmartRef__":true,"id":4105},{"__isSmartRef__":true,"id":4106}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"4103":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"4104":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"4105":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"4106":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"4107":{"_BorderRadius":5,"_BorderWidth":1,"_ClipMode":"visible","_Fill":{"__isSmartRef__":true,"id":4074},"__serializedExpressions__":["_BorderColor","_Extent","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(189,190,192)","_Extent":"lively.pt(60.0,30.0)","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)"},"4108":{"partName":"PublishPartPanePane","requiredModules":[],"idOnLoad":"A2A8E899-A4ED-4C56-9F06-CFE4A5855404","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4109":{"_BorderRadius":0,"_BorderStyle":"solid","_BorderWidth":0,"_ClipMode":"visible","_Opacity":1,"_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_BorderColor","_Extent","_Fill","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(95,94,95)","_Extent":"lively.pt(479.0,415.0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)"},"4110":{"_ClipMode":"auto","_FontFamily":"Helvetica","_FontSize":10,"_InputAllowed":true,"_MaxTextHeight":null,"_MaxTextWidth":444,"_MinTextHeight":null,"_MinTextWidth":444,"_Rotation":0,"_Scale":1,"_WhiteSpaceHandling":"pre-wrap","allowInput":true,"attributeConnections":[],"charsReplaced":"","derivationIds":[2890,"40048B1D-9547-4EA6-AB66-31168A1C9FAE","8A0DE790-FA6C-41C9-BA2B-84397DA3F39E","DCFEEBC9-D891-408E-A103-19356A96070F","EAEE386C-B48C-44E1-B80C-6830217A2FC6","6CABE716-A9A0-4BED-ACA6-4C0C9C6C8E5E","C2DC6D12-6F98-4236-AA47-1BD438BE5E56","BFEBFDBE-0C30-407F-9B3C-B45A27971468","923C751C-6180-4C96-A3FC-42A8AF1B4298","0D556A07-77CA-478F-95B3-E3051804BF9C","D952B070-654E-40FA-9076-7E8156C9C87C","2EB5AAE4-7C54-466F-8C70-E3BD1E218C90","D6863F0B-0CE5-401F-9646-2A748564AB54","B422EE4A-2E17-4752-812B-1DFCDFBFE4D4","52701E3E-E7F1-4A2F-B8FE-2115D0544509","392D7685-0EDA-4891-9220-82C9DC2C3CCD","518D6489-8478-48BE-BBCF-E5746FAA1C00","3494F783-BEDF-43AD-9789-2826599F2699","711A7903-DBF4-46D9-98D5-A5F0C40EF24B","E30313E6-F49A-4D45-8DAD-7E48F25F2C03"],"doNotCopyProperties":[],"doNotSerialize":[],"droppingEnabled":false,"evalEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4111},"fixedHeight":true,"fixedWidth":true,"grabbingEnabled":false,"halosEnabled":true,"id":"82B8C918-A079-4F3F-9321-BC37EF0214C2","isBeingDragged":false,"isInputLine":false,"isLockOwner":false,"lastFindLoc":13,"layout":{"__isSmartRef__":true,"id":4112},"name":"CommitMessageText","owner":{"__isSmartRef__":true,"id":4053},"previousSelection":[3,10],"savedTextString":"no commentddad","scripts":[],"shape":{"__isSmartRef__":true,"id":4113},"showsHalos":false,"submorphs":[],"textChunks":[{"__isSmartRef__":true,"id":4114}],"_WordBreak":"break-all","__serializedExpressions__":["_Position","distanceToDragEvent"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":4116},"priorSelectionRange":[0,10],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,260.0)","distanceToDragEvent":"lively.pt(351.0,-17.0)"},"4111":{"morph":{"__isSmartRef__":true,"id":4110},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4112":{"resizeHeight":true,"resizeWidth":true},"4113":{"_BorderRadius":6,"_BorderStyle":"solid","_BorderWidth":1,"_ClipMode":"hidden","_Opacity":1,"_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_BorderColor","_Extent","_Fill","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(203,203,203)","_Extent":"lively.pt(454.0,102.0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(4,2,0,0)","_Position":"lively.pt(0.0,0.0)"},"4114":{"style":{"__isSmartRef__":true,"id":4115},"chunkOwner":{"__isSmartRef__":true,"id":4110},"_id":"_15422","storedString":"no comment","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4115":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4116":{"partName":"CommitMessageText","requiredModules":[],"idOnLoad":"82B8C918-A079-4F3F-9321-BC37EF0214C2","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4117":{"_ClipMode":"visible","_FontFamily":"Arial, sans-serif","_FontSize":12,"_MaxTextHeight":null,"_MaxTextWidth":114,"_MinTextHeight":null,"_MinTextWidth":114,"_Rotation":0,"_Scale":1,"_WhiteSpaceHandling":"pre-wrap","allowsInput":true,"attributeConnections":[],"charsReplaced":"some text ","derivationIds":[2891,"E101CA30-35F9-42F0-A46C-28671530C787","CE7E7640-C507-43BF-88EF-C4ACE8CCF564","F04823B9-5B0B-4CCA-B8F7-00BD8608ED16","DD4402A8-C90A-4187-92DA-813F59FF86E6","90452494-6B16-4189-8CC1-4EB76FCCCBC9","A1BA43C9-3B13-4744-893E-8B39CEDA44D3","A4DDC2E9-14D8-4DA1-A960-4BB1DF3A45CD","97027388-2CC6-4B87-880F-D9048C0EAB5A","97A71E75-471E-4C94-879E-0ECD50A4DA7D","B952E46A-0593-4861-A364-746D14830709","CFEB54E4-C6B5-4DEC-9C82-93FEC6192DF8","8F33B7B6-1D97-4422-9D4C-562576803FAE","EE6FBA69-D693-41BD-A1D6-7852A30ADE28","D0A85886-302D-46FB-8139-F28D0A45D0E2","A5589A0F-6873-4F7B-ACEE-A7C2706973BC","E6F13CA6-2BA7-457B-BB6B-E4B8F8F969B0","CE6690BE-CE0E-4EAB-96C2-EB091EB4F761","52715C75-9980-4AD0-ACE6-F2C1AF0A0CBA","CCF8C95E-C494-497C-B9DC-5F07B044D32A"],"doNotCopyProperties":[],"doNotSerialize":[],"droppingEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4118},"fixedHeight":false,"fixedWidth":true,"grabbingEnabled":false,"halosEnabled":true,"id":"06B7831B-C0C4-4CD7-BF4E-CBD4BB14BF78","isBeingDragged":false,"isLockOwner":false,"lastFindLoc":10,"layout":{"__isSmartRef__":true,"id":4119},"name":"Text5","owner":{"__isSmartRef__":true,"id":4053},"partsBinMetaInfo":{"__isSmartRef__":true,"id":4120},"prevScroll":[0,0],"priorSelectionRange":[0,4],"registeredForMouseEvents":true,"scripts":[],"shape":{"__isSmartRef__":true,"id":4121},"showsHalos":false,"submorphs":[],"textChunks":[{"__isSmartRef__":true,"id":4122}],"__serializedExpressions__":["_Padding","_Position","distanceToDragEvent","textColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(5,5,0,0)","_Position":"lively.pt(10.0,30.0)","distanceToDragEvent":"lively.pt(78.0,-3.0)","textColor":"Color.rgb(0,0,0)"},"4118":{"morph":{"__isSmartRef__":true,"id":4117},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4119":{"moveHorizontal":false},"4120":{"comment":"a simple text morph","migrationLevel":4,"partName":"Text","partsSpaceName":"PartsBin/Basic","idOnLoad":"06B7831B-C0C4-4CD7-BF4E-CBD4BB14BF78","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4121":{"_BorderRadius":0,"_BorderStyle":"solid","_BorderWidth":0,"_ClipMode":"visible","_Opacity":1,"fill":null,"__serializedExpressions__":["_BorderColor","_Extent","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(0,0,0)","_Extent":"lively.pt(114.0,18.0)","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)"},"4122":{"_id":"_400","chunkOwner":{"__isSmartRef__":true,"id":4117},"morph":{"__isSmartRef__":true,"id":4117},"storedString":"name","style":{"__isSmartRef__":true,"id":4123},"__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4123":{"fontSize":9,"italics":"italic","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4124":{"_ClipMode":"visible","_FontFamily":"Arial, sans-serif","_FontSize":12,"_MaxTextHeight":null,"_MaxTextWidth":250,"_MinTextHeight":null,"_MinTextWidth":250,"_Rotation":0,"_Scale":1,"_WhiteSpaceHandling":"pre-wrap","allowsInput":true,"attributeConnections":[],"charsReplaced":"changes","derivationIds":[2892,"E5DC0070-3EA2-4212-9AA7-E3C865547E5E","809E256F-82F6-4A22-B614-DE8C08FA5970","272C0F9A-E7EF-4ECE-851D-08ACB35EA24D","8AA544F8-6F47-454D-AE18-A264ACDEFA7E","8374F17A-0E7E-4436-931A-1BA6E7CEAB7D","2FA9E6A8-96E0-4B11-B3BE-D625991003B4","EF4AC0A8-BC6A-4E7E-A4A1-838717896172","7E58BFFB-E384-4B68-A4C8-A32E7A93B8FC","BFCA8D00-622E-4E2D-998E-56C8E2DB8351","0DD88B54-97A9-4F81-BEC4-474DB9D20DF5","6400C374-D5C5-4AF3-BDD4-466198D5C4BA","6AB467AF-2289-4696-B2B0-AF36BFC54FDA","1E30FC69-CA06-403F-AE8B-4A12304F1FEB","EB7FBB3F-8989-4980-9DA2-4D10CB466437","0D191BF2-AA67-4F93-94C2-A719DA9CC670","D704D697-36E3-4929-BFBE-9E9C75E6E0A7","93C5BB28-AC5D-4F61-8C62-6220E6B1402B","EDF4D442-6723-4755-A755-665EBD75AD61","C3BED4B5-F5A5-4CDE-9CC4-0750F897CAC0"],"doNotCopyProperties":[],"doNotSerialize":[],"droppingEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4125},"fixedHeight":false,"fixedWidth":true,"grabbingEnabled":false,"halosEnabled":true,"id":"EC012D90-4930-4531-97B0-371B7741BD37","isLockOwner":false,"lastFindLoc":7,"name":"Text6","owner":{"__isSmartRef__":true,"id":4053},"partsBinMetaInfo":{"__isSmartRef__":true,"id":4126},"prevScroll":[0,0],"priorSelectionRange":[0,14],"registeredForMouseEvents":true,"scripts":[],"shape":{"__isSmartRef__":true,"id":4127},"showsHalos":false,"submorphs":[],"textChunks":[{"__isSmartRef__":true,"id":4128}],"__serializedExpressions__":["_Padding","_Position","distanceToDragEvent","textColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(5,5,0,0)","_Position":"lively.pt(10.0,240.0)","distanceToDragEvent":"lively.pt(174.0,-21.0)","textColor":"Color.rgb(0,0,0)"},"4125":{"morph":{"__isSmartRef__":true,"id":4124},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4126":{"comment":"a simple text morph","migrationLevel":4,"partName":"Text","partsSpaceName":"PartsBin/Basic","idOnLoad":"EC012D90-4930-4531-97B0-371B7741BD37","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4127":{"_BorderWidth":0,"_ClipMode":"visible","fill":null,"__serializedExpressions__":["_BorderColor","_Extent","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(0,0,0)","_Extent":"lively.pt(250.0,18.0)","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)"},"4128":{"_id":"_401","chunkOwner":{"__isSmartRef__":true,"id":4124},"morph":{"__isSmartRef__":true,"id":4124},"storedString":"commit message","style":{"__isSmartRef__":true,"id":4129},"__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4129":{"italics":"italic","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4130":{"_ClipMode":"visible","_FontFamily":"Arial, sans-serif","_FontSize":12,"_MaxTextHeight":null,"_MaxTextWidth":114,"_MinTextHeight":null,"_MinTextWidth":114,"_Rotation":0,"_Scale":1,"_WhiteSpaceHandling":"pre-wrap","allowsInput":true,"attributeConnections":[],"charsReplaced":"name","derivationIds":[2894,"75F41AE1-CA7A-48D0-AE2C-7AAF6101B89C","CB87A9FB-0776-4109-BDE0-0E8C61F1626C","954BD4D6-BBF2-4D3C-94CA-21A38F66F449","5C78A757-B050-43F1-B4CF-26CE9CC58B03","A90A2B0B-A1A7-4F19-8FFB-1D98E8CF7BE6","181AA91A-3D90-4322-ACB9-3D707A3994E0","8A6171C0-493C-475F-B974-54B0FE5DD81C","246AA662-2B7A-4ABE-AB30-734548540344","708636F1-5D64-47AD-B72E-1E255924638B","3C7D4704-AD28-4978-B6A1-2646B7BAA9B3","D7754A0E-4F0E-4363-907A-4743D1254104","CBD21E5F-99E6-4DDA-BF27-42D3424DB513","BBA77A6C-FD26-4279-8919-1A8114C6F035","BB158E68-208B-4E62-81D2-9B057CA86DBF","037F2BD3-0CFD-4A28-AF42-35D6DEC633C0","1C97CF32-7D7E-4095-A5C9-117C3F56FF9C","183DF41C-5203-43D3-80B0-4C0955EAF207","B8B7B9C8-EEF3-4B24-B8BE-45C27275CFC2","0A820D61-06E7-430C-90BB-B8EA3A638C73"],"doNotCopyProperties":[],"doNotSerialize":[],"droppingEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4131},"fixedHeight":false,"fixedWidth":true,"grabbingEnabled":false,"halosEnabled":true,"id":"35CD9FA0-A00E-4BBF-9570-3E5BBC64E688","isBeingDragged":false,"isLockOwner":false,"lastFindLoc":4,"layout":{"__isSmartRef__":true,"id":4132},"name":"Text7","owner":{"__isSmartRef__":true,"id":4053},"partsBinMetaInfo":{"__isSmartRef__":true,"id":4133},"prevScroll":[0,0],"priorSelectionRange":[0,8],"registeredForMouseEvents":true,"scripts":[],"shape":{"__isSmartRef__":true,"id":4134},"showsHalos":false,"submorphs":[],"textChunks":[{"__isSmartRef__":true,"id":4135}],"__serializedExpressions__":["_Padding","_Position","distanceToDragEvent","textColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(5,5,0,0)","_Position":"lively.pt(205.0,30.0)","distanceToDragEvent":"lively.pt(87.0,-11.0)","textColor":"Color.rgb(0,0,0)"},"4131":{"morph":{"__isSmartRef__":true,"id":4130},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4132":{"moveHorizontal":true,"moveVertical":false},"4133":{"comment":"a simple text morph","migrationLevel":4,"partName":"Text","partsSpaceName":"PartsBin/Basic","idOnLoad":"35CD9FA0-A00E-4BBF-9570-3E5BBC64E688","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4134":{"_BorderRadius":0,"_BorderStyle":"solid","_BorderWidth":0,"_ClipMode":"visible","_Opacity":1,"fill":null,"__serializedExpressions__":["_BorderColor","_Extent","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(0,0,0)","_Extent":"lively.pt(114.0,18.0)","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)"},"4135":{"_id":"_403","chunkOwner":{"__isSmartRef__":true,"id":4130},"storedString":"category","style":{"__isSmartRef__":true,"id":4136},"__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4136":{"fontSize":9,"italics":"italic","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4137":{"_ClipMode":"visible","_FontFamily":"Arial, sans-serif","_FontSize":12,"_MaxTextHeight":null,"_MaxTextWidth":325,"_MinTextHeight":null,"_MinTextWidth":325,"_Rotation":0,"_Scale":1,"_WhiteSpaceHandling":"pre-wrap","allowsInput":true,"attributeConnections":[],"charsReplaced":"Publish Object in PartsBin","derivationIds":[2895,"3AFBC971-95B4-48C4-888D-22FCBB742090","D0394F71-EBB2-452A-A71F-D172D5B1CAD6","79EDAC74-BD6B-42B1-BBBA-71B07578D1E0","C19A8344-D637-44B7-BB1F-FD0153E5A62B","9C41963E-088E-48CA-9CAA-572564F7CA69","F9411AD0-B890-4EA9-9222-209167943D0D","BF073247-EC88-4664-A2E2-A5E520CFD169","3C9640D6-8AED-4E2A-87F1-8F94D4E9F1B7","01AB4BED-5CFA-4FDE-9D09-535678684FC5","929E4D49-C1D6-4DB2-B2E9-562DE9C7861C","CF0E2CD7-7316-4423-80BC-485A9F57DDBD","62300CE2-71BF-4F7E-AC36-4D3DCEA754B5","4180FEEB-3566-4FAA-BF0A-0F21B049922B","A397C34C-C857-4CF3-8D36-F9C6A51978D7","BBDFAB6B-53A5-4C6F-BF60-3B29C30AECCF","2DC063B8-7CBA-4B63-BC19-2921C4BF8FA9","34E4B761-A6F4-41B7-8FA3-FEE46A657CC5","8309887D-98BA-46E3-A4F1-91927E4EE0EB","47B2E628-FC6D-4043-9F90-C0C5EA1D2AE6"],"doNotCopyProperties":[],"doNotSerialize":[],"droppingEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4138},"fixedHeight":false,"fixedWidth":true,"grabbingEnabled":false,"halosEnabled":true,"id":"E7C1D060-DF71-42BD-AF77-9AA43B845484","isBeingDragged":false,"isLockOwner":false,"lastFindLoc":26,"name":"Text8","owner":{"__isSmartRef__":true,"id":4053},"partsBinMetaInfo":{"__isSmartRef__":true,"id":4139},"prevScroll":[0,0],"priorSelectionRange":[0,36],"registeredForMouseEvents":true,"scripts":[],"shape":{"__isSmartRef__":true,"id":4140},"showsHalos":false,"submorphs":[],"textChunks":[{"__isSmartRef__":true,"id":4141}],"__serializedExpressions__":["_Padding","_Position","distanceToDragEvent","textColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(5,5,0,0)","_Position":"lively.pt(10.0,10.0)","distanceToDragEvent":"lively.pt(221.0,-12.0)","textColor":"Color.rgb(0,0,0)"},"4138":{"morph":{"__isSmartRef__":true,"id":4137},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4139":{"comment":"a simple text morph","migrationLevel":4,"partName":"Text","partsSpaceName":"PartsBin/Basic","idOnLoad":"E7C1D060-DF71-42BD-AF77-9AA43B845484","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4140":{"_BorderWidth":0,"_ClipMode":"visible","fill":null,"__serializedExpressions__":["_BorderColor","_Extent","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(0,0,0)","_Extent":"lively.pt(325.0,18.0)","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)"},"4141":{"_id":"_404","chunkOwner":{"__isSmartRef__":true,"id":4137},"storedString":"Upload part to the shared repository","style":{"__isSmartRef__":true,"id":4142},"__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4142":{"italics":"normal","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4143":{"_ClipMode":"visible","_Rotation":0,"_Scale":1,"attributeConnections":[{"__isSmartRef__":true,"id":4144}],"derivationIds":[2896,"40384C75-EF01-4AAD-AA1C-A7C19EDB6A0F","21376B8E-78CF-456D-87AA-4D62D86B16D2","E9336A59-C7BF-4C91-88B0-0D0477AA75AE","A5E21E04-05F3-4A15-AAFA-55946EEC5F80","28512033-1B92-4388-B125-1C3DCE6D560F","A7B2B1EE-CD9D-4B35-828A-8F1DE0A24BFC","2E2676E6-1ACE-478E-A54F-49E5754BF3B4","E0DE5483-F457-472E-825E-B6AF8056A1C9","EFBD20B8-E9F6-4777-AA08-A2DA3C8E3E70","D7EF09B6-7888-4F5B-BCEF-E68021A415D6","7FBF982F-F25A-45D8-922E-09822EAC94CE","CBC56727-1E95-4C35-9241-E2876D5B0481","EE9C4AEC-448E-4355-AE9B-D9C3C648F6B4","AAD76550-B8F6-48FF-B41F-B67FB753D845","741803B0-4054-48F3-823E-04D50A704085","B34FDFCF-CD21-4035-81D6-A400D980AFEC","CC016F80-3ABD-4732-AF70-FD8C47E21330","0B5B157F-E684-4844-B4B6-C77653C5165B","F928D8FF-0713-4988-B039-4AF62151E504"],"doNotCopyProperties":["$$fire"],"doNotSerialize":["$$fire"],"droppingEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4167},"grabbingEnabled":false,"halosEnabled":true,"id":"60CE3E16-643C-4B8E-8271-B810D6DFD9C6","isActive":true,"isPressed":false,"label":{"__isSmartRef__":true,"id":4168},"layout":{"__isSmartRef__":true,"id":4174},"lighterFill":{"__isSmartRef__":true,"id":4175},"name":"Button","normalFill":{"__isSmartRef__":true,"id":4180},"owner":{"__isSmartRef__":true,"id":4053},"partsBinMetaInfo":{"__isSmartRef__":true,"id":4185},"registeredForMouseEvents":true,"scripts":[],"shape":{"__isSmartRef__":true,"id":4186},"showsHalos":false,"submorphs":[{"__isSmartRef__":true,"id":4168}],"toggle":false,"value":false,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(355.0,378.0)","distanceToDragEvent":"lively.pt(77.0,-5.0)"},"4144":{"sourceAttrName":"fire","sourceObj":{"__isSmartRef__":true,"id":4143},"targetMethodName":"onCancel","targetObj":{"__isSmartRef__":true,"id":4053},"visualConnector":{"__isSmartRef__":true,"id":4145},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4145":{"con":{"__isSmartRef__":true,"id":4144},"controlPoints":[{"__isSmartRef__":true,"id":4146},{"__isSmartRef__":true,"id":4147}],"droppingEnabled":true,"eventHandler":{"__isSmartRef__":true,"id":4155},"halosEnabled":true,"id":352,"owner":null,"scripts":[],"shape":{"__isSmartRef__":true,"id":4156},"showsMorphMenu":true,"submorphs":[{"__isSmartRef__":true,"id":4148}],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4159},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"4146":{"connectedMagnet":null,"index":0,"morph":{"__isSmartRef__":true,"id":4145},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"4147":{"connectedMagnet":null,"index":1,"marker":{"__isSmartRef__":true,"id":4148},"markerDirection":"prev","morph":{"__isSmartRef__":true,"id":4145},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"4148":{"_Rotation":-2.716760490670451,"droppingEnabled":true,"eventHandler":{"__isSmartRef__":true,"id":4149},"halosEnabled":true,"id":353,"owner":{"__isSmartRef__":true,"id":4145},"scripts":[],"shape":{"__isSmartRef__":true,"id":4150},"submorphs":[],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(0.5,0.5)"},"4149":{"morph":{"__isSmartRef__":true,"id":4148},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4150":{"_BorderWidth":0,"_ClipMode":"visible","_PathElements":[{"__isSmartRef__":true,"id":4151},{"__isSmartRef__":true,"id":4152},{"__isSmartRef__":true,"id":4153},{"__isSmartRef__":true,"id":4154}],"cachedVertices":null,"dontChangeShape":false,"__serializedExpressions__":["_BorderColor","_Extent","_Fill","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_BorderColor":"Color.rgb(0,0,0)","_Extent":"lively.pt(16.0,12.0)","_Fill":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)"},"4151":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4152":{"isAbsolute":true,"x":0,"y":12,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4153":{"isAbsolute":true,"x":16,"y":6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4154":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4155":{"morph":{"__isSmartRef__":true,"id":4145},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4156":{"_BorderWidth":1,"_ClipMode":"visible","_PathElements":[{"__isSmartRef__":true,"id":4157},{"__isSmartRef__":true,"id":4158}],"cachedVertices":null,"dontChangeShape":false,"__serializedExpressions__":["_BorderColor","_Extent","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_BorderColor":"Color.rgb(0,0,0)","_Extent":"lively.pt(421.0,191.0)","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-0.5,-0.5)"},"4157":{"isAbsolute":true,"x":420,"y":190,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4158":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4159":{"morphMenuItems":{"__isSmartRef__":true,"id":4160}},"4160":{"funcProperties":{"__isSmartRef__":true,"id":4161},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","varMapping":{"__isSmartRef__":true,"id":4162},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4161":{},"4162":{"this":{"__isSmartRef__":true,"id":4145},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4163}},"4163":{"$super":{"__isSmartRef__":true,"id":4164}},"4164":{"funcProperties":{"__isSmartRef__":true,"id":4165},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","varMapping":{"__isSmartRef__":true,"id":4166},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4165":{},"4166":{"name":"morphMenuItems","obj":{"__isSmartRef__":true,"id":4145}},"4167":{"morph":{"__isSmartRef__":true,"id":4143},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4168":{"_Align":"center","_ClipMode":"hidden","_FontFamily":"Helvetica","_FontSize":10,"_HandStyle":"default","_MaxTextHeight":null,"_MaxTextWidth":101,"_MinTextHeight":null,"_MinTextWidth":101,"_PointerEvents":"none","_Scale":1,"_WhiteSpaceHandling":"pre-wrap","allowInput":false,"attributeConnections":[],"derivationIds":[2897,"92EB5E70-61BB-4A71-942C-A34A20789B2F","A9C9F9CF-1BAC-4074-A093-4EB0C3C90866","2FE50303-6361-4A70-9BD5-0D8D1C8B5176","D774C172-7EE9-40AE-9949-340BA8EDBD37","9B5186A1-2B8E-406C-B165-05F327435DC2","9D4948C2-2429-4333-8F3D-89BB96D33894","748160AD-0FF7-4E89-9BB5-486870332207","944E6E30-642C-448D-BBFE-03835C34628C","254F8208-565C-4C75-A5F5-00426CEB4B73","501AF004-4601-4260-8B81-C8F07DB46A9D","A8CA8FB2-5C27-4E5A-8EC1-6697FE1FF0DD","8517C0CE-CE66-435A-B522-21B2A78DFEE9","3CA33CEB-8ACD-4C69-A01F-254F6D1DA196","B1DA64A1-C447-44F0-8186-BB6E6E7DF3CB","E5464D79-8548-4E65-8C48-D9046F121681","20971AE2-EBF3-4F13-BB11-A40F5FA641C1","3A6E47F6-35C2-425D-B69A-5EDE629EF1A0","B40FB49A-3034-464F-A3D8-43D4E8AAF34E","75562411-CB29-4DE6-8778-A0D7F24F5D9F"],"doNotCopyProperties":[],"doNotSerialize":[],"droppingEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4169},"eventsAreIgnored":true,"fixedHeight":true,"fixedWidth":true,"grabbingEnabled":false,"halosEnabled":true,"id":"6CA0F299-086D-48D9-B102-14E0F8966CFB","isLabel":true,"owner":{"__isSmartRef__":true,"id":4143},"registeredForMouseEvents":true,"scripts":[],"shape":{"__isSmartRef__":true,"id":4170},"submorphs":[],"textChunks":[{"__isSmartRef__":true,"id":4171}],"textStyle":null,"_WordBreak":"break-all","__serializedExpressions__":["_Padding","_Position","_TextColor","padding"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":4173},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)","_TextColor":"Color.rgb(0,0,0)","padding":"lively.rect(5,5,0,0)"},"4169":{"morph":{"__isSmartRef__":true,"id":4168},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4170":{"_BorderWidth":0,"_ClipMode":"hidden","_Fill":null,"__serializedExpressions__":["_BorderColor","_Extent","_Padding","position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(0,0,0)","_Extent":"lively.pt(101.0,21.0)","_Padding":"lively.rect(0,3,0,0)","position":"lively.pt(0.0,0.0)"},"4171":{"_id":"_1138","chunkOwner":{"__isSmartRef__":true,"id":4168},"storedString":"cancel","style":{"__isSmartRef__":true,"id":4172},"__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4172":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4173":{"requiredModules":[],"idOnLoad":"6CA0F299-086D-48D9-B102-14E0F8966CFB","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4174":{"moveHorizontal":true,"moveVertical":true},"4175":{"stops":[{"__isSmartRef__":true,"id":4176},{"__isSmartRef__":true,"id":4177},{"__isSmartRef__":true,"id":4178},{"__isSmartRef__":true,"id":4179}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"4176":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"4177":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"4178":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"4179":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"4180":{"stops":[{"__isSmartRef__":true,"id":4181},{"__isSmartRef__":true,"id":4182},{"__isSmartRef__":true,"id":4183},{"__isSmartRef__":true,"id":4184}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"4181":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"4182":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"4183":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"4184":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"4185":{"comment":"Has a script that is called on button press","migrationLevel":4,"partName":"Button","partsSpaceName":"PartsBin/Inputs","idOnLoad":"60CE3E16-643C-4B8E-8271-B810D6DFD9C6","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4186":{"_BorderRadius":5.2,"_BorderStyle":"solid","_BorderWidth":1.1840000000000002,"_ClipMode":"visible","_Fill":{"__isSmartRef__":true,"id":4180},"_Opacity":1,"__serializedExpressions__":["_BorderColor","_Extent","_Padding","position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(214,214,214)","_Extent":"lively.pt(101.0,21.0)","_Padding":"lively.rect(0,0,0,0)","position":"lively.pt(0.0,0.0)"},"4187":{"_ClipMode":"visible","_Rotation":0,"_Scale":1,"attributeConnections":[{"__isSmartRef__":true,"id":4188}],"derivationIds":[2898,"9D27A522-4E3D-482F-97CF-3CA3247A3999","4EBF07AD-25C0-4034-BC06-31F137F70FA1","DC6D6B8E-37AE-4815-A81A-AC7071124A26","42DF6D49-8482-40A3-B901-512013BB5C75","0D3EB4E1-46E7-4B1E-8273-6432575F84B5","733427E4-0BB2-4FB7-917C-4A3D98C50589","001872CD-CE26-4A7A-AB1F-3EFF5AC6D6A3","2FFB821F-9334-4125-8541-31C21E305B78","A3635A2F-B9AE-4CAA-A07F-76E90A2AF718","ACE7DD81-434E-40D4-A12D-CB728F4CFA61","15D1D871-417C-444D-B7E7-4556C755A914","AEC9FEB8-505A-4D19-9C25-747D78D04F17","38C38B49-0343-41FA-BC14-2FAF64266DB0","55C4703F-8F22-4BB7-A09A-4186B8A404F2","6F234AFA-11CA-48C1-841A-536E5A48FE21","68C85EC7-341D-4DEB-B92C-816AC5454663","E0718149-6E92-4F3B-8E50-D2728012054D","A14738A0-2B84-4465-BDAC-B98F839BD81C","D1D5B6BD-8D74-4E99-91AD-18C2825CA4C9"],"doNotCopyProperties":["$$fire"],"doNotSerialize":["$$fire"],"droppingEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4211},"grabbingEnabled":false,"halosEnabled":true,"id":"F310BC65-3A35-45DB-B90D-02D91569FF94","isActive":true,"isPressed":false,"label":{"__isSmartRef__":true,"id":4212},"layout":{"__isSmartRef__":true,"id":4218},"lighterFill":{"__isSmartRef__":true,"id":4219},"name":"Button1","normalFill":{"__isSmartRef__":true,"id":4224},"owner":{"__isSmartRef__":true,"id":4053},"partsBinMetaInfo":{"__isSmartRef__":true,"id":4229},"registeredForMouseEvents":true,"scripts":[],"shape":{"__isSmartRef__":true,"id":4230},"showsHalos":false,"submorphs":[{"__isSmartRef__":true,"id":4212}],"toggle":false,"value":false,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(245.0,378.0)","distanceToDragEvent":"lively.pt(62.0,-12.0)"},"4188":{"sourceAttrName":"fire","sourceObj":{"__isSmartRef__":true,"id":4187},"targetMethodName":"onPublish","targetObj":{"__isSmartRef__":true,"id":4053},"visualConnector":{"__isSmartRef__":true,"id":4189},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4189":{"con":{"__isSmartRef__":true,"id":4188},"controlPoints":[{"__isSmartRef__":true,"id":4190},{"__isSmartRef__":true,"id":4191}],"droppingEnabled":true,"eventHandler":{"__isSmartRef__":true,"id":4199},"halosEnabled":true,"id":139,"owner":null,"scripts":[],"shape":{"__isSmartRef__":true,"id":4200},"showsMorphMenu":true,"submorphs":[{"__isSmartRef__":true,"id":4192}],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4203},"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"4190":{"connectedMagnet":null,"index":0,"morph":{"__isSmartRef__":true,"id":4189},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"4191":{"connectedMagnet":null,"index":1,"marker":{"__isSmartRef__":true,"id":4192},"markerDirection":"prev","morph":{"__isSmartRef__":true,"id":4189},"__LivelyClassName__":"lively.morphic.ControlPoint","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs"},"4192":{"_Rotation":-2.5917394709132084,"droppingEnabled":true,"eventHandler":{"__isSmartRef__":true,"id":4193},"halosEnabled":true,"id":140,"owner":{"__isSmartRef__":true,"id":4189},"scripts":[],"shape":{"__isSmartRef__":true,"id":4194},"submorphs":[],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Path","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(0.5,0.5)"},"4193":{"morph":{"__isSmartRef__":true,"id":4192},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4194":{"_BorderWidth":0,"_ClipMode":"visible","_PathElements":[{"__isSmartRef__":true,"id":4195},{"__isSmartRef__":true,"id":4196},{"__isSmartRef__":true,"id":4197},{"__isSmartRef__":true,"id":4198}],"cachedVertices":null,"dontChangeShape":false,"__serializedExpressions__":["_BorderColor","_Extent","_Fill","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_BorderColor":"Color.rgb(0,0,0)","_Extent":"lively.pt(16.0,12.0)","_Fill":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)"},"4195":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4196":{"isAbsolute":true,"x":0,"y":12,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4197":{"isAbsolute":true,"x":16,"y":6,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4198":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4199":{"morph":{"__isSmartRef__":true,"id":4189},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4200":{"_BorderWidth":1,"_ClipMode":"visible","_PathElements":[{"__isSmartRef__":true,"id":4201},{"__isSmartRef__":true,"id":4202}],"cachedVertices":null,"dontChangeShape":false,"__serializedExpressions__":["_BorderColor","_Extent","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Path","__SourceModuleName__":"Global.lively.morphic.PathShapes","_BorderColor":"Color.rgb(0,0,0)","_Extent":"lively.pt(311.0,191.0)","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(-0.5,-0.5)"},"4201":{"isAbsolute":true,"x":310,"y":190,"__LivelyClassName__":"lively.morphic.Shapes.MoveTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4202":{"isAbsolute":true,"x":0,"y":0,"__LivelyClassName__":"lively.morphic.Shapes.LineTo","__SourceModuleName__":"Global.lively.morphic.PathShapes"},"4203":{"morphMenuItems":{"__isSmartRef__":true,"id":4204}},"4204":{"funcProperties":{"__isSmartRef__":true,"id":4205},"source":"function morphMenuItems() {\n var visualConnector = this, con = this.con, world = this.world();\n var items = [\n ['edit converter', function() {\n var source = con.converterString || 'function converter(value) {\\n return value\\n}',\n editor = new lively.morphic.Text(new Rectangle(0,0, 400, 200), source);\n editor.doitContext = con;\n connect(editor, 'savedTextString', con, 'converterString', {updater:\n function($upd, source) { this.targetObj.converter = null; $upd(source) }});\n connect(editor, 'savedTextString', world, 'alertOK', {converter: \n function() { return 'setting new converter' }})\n editor.applyStyle({syntaxHighlighting: true, fontFamily: 'Courier', resizeWidth: true, resizeHeight: true});\n var title = con.targetObj.name && con.sourceObj.name ?\n 'Editor for ' + con.targetObj.name + ' -> ' + con.sourceObj.name :\n 'Editor for converter function';\n var window = world.addFramedMorph(editor, title)\n window.align(window.bounds().topCenter(), visualConnector.bounds().bottomCenter())\n }],\n ['hide', function() {\n visualConnector.disconnectFromMagnets();\n visualConnector.remove();\n }],\n ['disconnect', function() {\n alertOK('Disconnected ' + visualConnector.con);\n visualConnector.con.visualDisconnect();\n }],\n ['cancel', function() {}],\n ];\n return items;\n }","varMapping":{"__isSmartRef__":true,"id":4206},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4205":{},"4206":{"this":{"__isSmartRef__":true,"id":4189},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4207}},"4207":{"$super":{"__isSmartRef__":true,"id":4208}},"4208":{"funcProperties":{"__isSmartRef__":true,"id":4209},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch(e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","varMapping":{"__isSmartRef__":true,"id":4210},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4209":{},"4210":{"name":"morphMenuItems","obj":{"__isSmartRef__":true,"id":4189}},"4211":{"morph":{"__isSmartRef__":true,"id":4187},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4212":{"_Align":"center","_ClipMode":"hidden","_FontFamily":"Helvetica","_FontSize":10,"_HandStyle":"default","_MaxTextHeight":null,"_MaxTextWidth":101,"_MinTextHeight":null,"_MinTextWidth":101,"_PointerEvents":"none","_Scale":1,"_WhiteSpaceHandling":"pre-wrap","allowInput":false,"attributeConnections":[],"derivationIds":[2899,"4F00D1F5-B85C-479E-BDDE-322DF2F432A3","5E7BC7AC-9EF9-4CF5-9196-A542A26534CA","46616896-CA46-4B43-B694-9FB001B32989","F73D407C-A72D-414B-AB8D-1E28025BCA1C","C5B395F9-BF24-4FA7-87D3-03E9AE9C4E45","ECEC7694-EF15-4DE7-A847-9DB2D4B99B3C","AE0EC189-A810-44FB-948F-F8667AF67929","CC950242-2CF1-48D3-B3C3-EF03073D145F","181712FB-04E9-40DA-ABEF-E711AC15A136","08CA5C5C-AAE0-4E6D-BFA4-04C9735965CC","F06603E2-E026-4DB9-B64F-71C0F6BE4CAA","5F5EDDF1-7355-4EE9-8286-9B0FC87B4A34","79E77E86-9ABD-4417-A260-E0CAABA3925E","11030354-936E-4E5D-BEB5-643D96C0CE06","34136BAA-3143-44E9-AA72-B7030E66E400","E5860588-E4A1-4D07-A6F3-12B2F107649A","8BB1A3A3-3886-44CB-A963-949225DF336A","9EB47672-A2C1-46F3-B8C7-FB5AFC6B8463","FE7A5658-2B84-42DB-B44A-0609785DD024"],"doNotCopyProperties":[],"doNotSerialize":[],"droppingEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4213},"eventsAreIgnored":true,"fixedHeight":true,"fixedWidth":true,"grabbingEnabled":false,"halosEnabled":true,"id":"3FA65B01-475A-40F5-BEFF-C8D0FC1E55A7","isLabel":true,"owner":{"__isSmartRef__":true,"id":4187},"registeredForMouseEvents":true,"scripts":[],"shape":{"__isSmartRef__":true,"id":4214},"submorphs":[],"textChunks":[{"__isSmartRef__":true,"id":4215}],"textStyle":null,"_WordBreak":"break-all","__serializedExpressions__":["_Padding","_Position","_TextColor","padding"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":4217},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)","_TextColor":"Color.rgb(0,0,0)","padding":"lively.rect(5,5,0,0)"},"4213":{"morph":{"__isSmartRef__":true,"id":4212},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4214":{"_BorderWidth":0,"_ClipMode":"hidden","_Fill":null,"__serializedExpressions__":["_BorderColor","_Extent","_Padding","position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(0,0,0)","_Extent":"lively.pt(101.0,21.0)","_Padding":"lively.rect(0,3,0,0)","position":"lively.pt(0.0,0.0)"},"4215":{"_id":"_1043","chunkOwner":{"__isSmartRef__":true,"id":4212},"storedString":"publish","style":{"__isSmartRef__":true,"id":4216},"__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4216":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4217":{"requiredModules":[],"idOnLoad":"3FA65B01-475A-40F5-BEFF-C8D0FC1E55A7","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4218":{"moveHorizontal":true,"moveVertical":true},"4219":{"stops":[{"__isSmartRef__":true,"id":4220},{"__isSmartRef__":true,"id":4221},{"__isSmartRef__":true,"id":4222},{"__isSmartRef__":true,"id":4223}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"4220":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"4221":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"4222":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"4223":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"4224":{"stops":[{"__isSmartRef__":true,"id":4225},{"__isSmartRef__":true,"id":4226},{"__isSmartRef__":true,"id":4227},{"__isSmartRef__":true,"id":4228}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"4225":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"4226":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"4227":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"4228":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"4229":{"comment":"Has a script that is called on button press","migrationLevel":4,"partName":"Button","partsSpaceName":"PartsBin/Inputs","idOnLoad":"F310BC65-3A35-45DB-B90D-02D91569FF94","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4230":{"_BorderRadius":5.2,"_BorderStyle":"solid","_BorderWidth":1.1840000000000002,"_ClipMode":"visible","_Fill":{"__isSmartRef__":true,"id":4224},"_Opacity":1,"__serializedExpressions__":["_BorderColor","_Extent","_Padding","position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(214,214,214)","_Extent":"lively.pt(101.0,21.0)","_Padding":"lively.rect(0,0,0,0)","position":"lively.pt(0.0,0.0)"},"4231":{"_ClipMode":"auto","_FontFamily":"Helvetica","_FontSize":10,"_InputAllowed":true,"_MaxTextHeight":null,"_MaxTextWidth":445,"_MinTextHeight":null,"_MinTextWidth":445,"_Rotation":0,"_Scale":1,"_WhiteSpaceHandling":"pre-wrap","allowInput":true,"attributeConnections":[],"charsReplaced":"","derivationIds":[2900,"7E82C349-9FC9-48B5-B84C-30E99FC40DF2","A07EAFD3-B03B-4E4C-BC72-FB29F65F543A","888FB55C-0365-4B40-A9B4-33FD19FA1E91","37AE3F7E-8AF9-413E-BDB9-796C3CE0C0A6","C19CF401-2869-429B-8C7E-3679F2C07B10","16D31632-3C1B-4388-9753-E178F4D74EC3","CE8B7F8B-0B5D-4A03-AFA0-CB5E4A9EE815","A0B7AE1E-340F-4786-A906-37B5D92B955E","6FB3DD7F-E27E-4C14-B6A7-87EE557243E3","8C9DC597-8FB3-409F-9F92-43E22D1EE113","96E19549-1C58-47D1-AABB-06F24696272A","20261F28-5D7A-4D9C-9F1F-79FC901C5E5F","9596C6D2-BEBD-47B3-B8A0-CD4AEBEF927D","420AC273-AA29-49EC-A1C7-C0E272006666","5D4C09DA-AAFB-4330-8646-23901C1FDB84","39A3F40D-B127-430E-B317-28966F140BB1","3753F8DF-2D2D-4113-BAB1-02998973DC21","480231CA-4CAF-464A-B1D3-A518AF7C287C","0B6CC11C-44F5-40A9-9FF6-A92E6003C5B3"],"doNotCopyProperties":[],"doNotSerialize":[],"droppingEnabled":false,"evalEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4232},"fixedHeight":true,"fixedWidth":true,"grabbingEnabled":false,"halosEnabled":true,"id":"C3B1A5E6-489B-4B2B-B2A7-D2AA68BDC53F","isBeingDragged":false,"isInputLine":false,"isLockOwner":false,"lastFindLoc":12,"layout":{"__isSmartRef__":true,"id":4233},"name":"CommentText","owner":{"__isSmartRef__":true,"id":4053},"savedTextString":"no comment","scripts":[],"shape":{"__isSmartRef__":true,"id":4234},"showsHalos":false,"submorphs":[],"textChunks":[{"__isSmartRef__":true,"id":4235}],"_WordBreak":"break-all","__serializedExpressions__":["_Position","distanceToDragEvent"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":4237},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(10.0,110.0)","distanceToDragEvent":"lively.pt(346.0,-16.0)"},"4232":{"morph":{"__isSmartRef__":true,"id":4231},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4233":{"resizeWidth":true},"4234":{"_BorderRadius":4.5,"_BorderStyle":"solid","_BorderWidth":1,"_ClipMode":"hidden","_Opacity":1,"_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_BorderColor","_Extent","_Fill","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(208,208,208)","_Extent":"lively.pt(455.0,120.0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(4,2,0,0)","_Position":"lively.pt(0.0,0.0)"},"4235":{"style":{"__isSmartRef__":true,"id":4236},"chunkOwner":{"__isSmartRef__":true,"id":4231},"_id":"_51214","storedString":"A whiteboard designed for syncing with other worlds, based on svg paintings. It is able to sync whole morphs and changes on them, too.","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4236":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4237":{"partName":"CommentText","requiredModules":[],"idOnLoad":"C3B1A5E6-489B-4B2B-B2A7-D2AA68BDC53F","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4238":{"_ClipMode":"visible","_FontFamily":"Arial, sans-serif","_FontSize":12,"_MaxTextHeight":null,"_MaxTextWidth":250,"_MinTextHeight":null,"_MinTextWidth":250,"_Rotation":0,"_Scale":1,"_WhiteSpaceHandling":"pre-wrap","allowsInput":true,"attributeConnections":[],"charsReplaced":"commit message","derivationIds":[2901,"8E267E15-1052-4F9C-B863-B733384EF1DA","851C46B4-347F-4AE4-9C04-C321E7CC8EA5","D33CE057-77D6-4CCC-90F9-867C622B3572","F9BFA4FE-D786-4384-B9F8-89EEA1D41685","95D3D9C3-CA8D-42A5-833B-30E01D630A4A","9FC24DFC-050E-423E-A017-2D5704509876","1EF71F38-5BCB-4C26-AB60-E2105330181C","7D191F0F-E475-47CF-BABE-55A543C7158D","F6ACFDD6-981C-4170-82C4-1AA9C3090741","092A05B9-0347-411B-8E2A-89272FF7A531","ABE15D91-8819-412F-9FAA-FC6A2F8AD14A","1F266812-1C31-4C6F-9676-B9E59DEA4864","F99A2F51-81DC-4D7F-93A2-84EFBFBC119F","7C9D55B3-6BFC-4DE2-B574-F4A3A11ECF00","08ABC4D8-386F-404A-AB0C-E90DC2E84DC0","4295456F-B084-4B9A-82A4-6C7639896A2F","8316BD0A-FC27-4157-8E2E-EA6DB50AFE6A","63931B60-496E-4220-A617-2BF416EFEA49","DBD3031A-C014-4936-8B4D-0F96354C78C3"],"doNotCopyProperties":[],"doNotSerialize":[],"droppingEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4239},"fixedHeight":false,"fixedWidth":true,"grabbingEnabled":false,"halosEnabled":true,"id":"EB7A0E59-9357-495E-B716-A8ADC28E2680","isLockOwner":false,"lastFindLoc":14,"name":"Text9","owner":{"__isSmartRef__":true,"id":4053},"partsBinMetaInfo":{"__isSmartRef__":true,"id":4240},"prevScroll":[0,0],"previousSelection":[0,6],"registeredForMouseEvents":true,"scripts":[],"shape":{"__isSmartRef__":true,"id":4241},"showsHalos":false,"submorphs":[],"textChunks":[{"__isSmartRef__":true,"id":4242}],"__serializedExpressions__":["_Padding","_Position","distanceToDragEvent","textColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(5,5,0,0)","_Position":"lively.pt(10.0,90.0)","distanceToDragEvent":"lively.pt(163.0,-17.0)","textColor":"Color.rgb(0,0,0)"},"4239":{"morph":{"__isSmartRef__":true,"id":4238},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4240":{"comment":"a simple text morph","migrationLevel":4,"partName":"Text","partsSpaceName":"PartsBin/Basic","idOnLoad":"EB7A0E59-9357-495E-B716-A8ADC28E2680","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4241":{"_BorderWidth":0,"_ClipMode":"visible","fill":null,"__serializedExpressions__":["_BorderColor","_Extent","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(0,0,0)","_Extent":"lively.pt(250.0,18.0)","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)"},"4242":{"_id":"_408","chunkOwner":{"__isSmartRef__":true,"id":4238},"morph":{"__isSmartRef__":true,"id":4238},"storedString":"comment","style":{"__isSmartRef__":true,"id":4243},"__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4243":{"italics":"italic","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4244":{"_ClipMode":"visible","_Rotation":0,"_Scale":1,"attributeConnections":[{"__isSmartRef__":true,"id":4245}],"derivationIds":[2898,"9D27A522-4E3D-482F-97CF-3CA3247A3999","4EBF07AD-25C0-4034-BC06-31F137F70FA1","DC6D6B8E-37AE-4815-A81A-AC7071124A26","42DF6D49-8482-40A3-B901-512013BB5C75","132901B3-F9F2-482D-99E6-40EAECDCEF13","7BC760E1-232D-4654-8D89-3E2AF9B63E8A","10CF8C2D-EC10-4718-9BB8-A4D765C25CA2","E1457927-6D7F-4C43-A0D3-4606E937C36C","B2BCD5A8-36BB-4202-B2F1-480CA22D151C","16C66256-7472-4B33-A3FC-D41E1123E484","9D6EC181-02A4-4AA3-9511-97B61299072E","514B5C5C-2E93-4CD5-913F-C4210C8D3803","A4836A2F-5B4D-4F0C-BA65-6DF7DB4D4262","DD94CDA9-6F9F-4B4F-9D75-C57314BFD093","AB91D3DA-E1FA-400A-813B-C9670264E72F","9E97E660-33C2-4D79-9407-0794A939EBC2","E168BA8A-C869-40F5-B4BD-EF07D7092705","2C134907-2EFA-4549-AC62-E0FC170A250D","702FBC9D-4865-4039-83F3-EB17F30DCEC8","217E34A0-F0D6-4990-B377-FA23D2A96E30"],"doNotCopyProperties":["$$fire"],"doNotSerialize":["$$fire"],"droppingEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4247},"grabbingEnabled":false,"halosEnabled":true,"id":"EECDB560-3800-424A-9FBD-84B75E020F6D","isActive":true,"isPressed":false,"label":{"__isSmartRef__":true,"id":4248},"layout":{"__isSmartRef__":true,"id":4254},"lighterFill":{"__isSmartRef__":true,"id":4255},"name":"DiffButton","normalFill":{"__isSmartRef__":true,"id":4260},"owner":{"__isSmartRef__":true,"id":4053},"partsBinMetaInfo":{"__isSmartRef__":true,"id":4265},"registeredForMouseEvents":true,"scripts":[],"shape":{"__isSmartRef__":true,"id":4266},"showsHalos":false,"submorphs":[{"__isSmartRef__":true,"id":4248}],"toggle":false,"value":false,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(10.0,378.0)","distanceToDragEvent":"lively.pt(69.5,-18.0)"},"4245":{"converterString":null,"sourceAttrName":"fire","sourceObj":{"__isSmartRef__":true,"id":4244},"targetMethodName":"checkForUpdates","targetObj":{"__isSmartRef__":true,"id":4053},"updaterString":null,"varMapping":{"__isSmartRef__":true,"id":4246},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4246":{"source":{"__isSmartRef__":true,"id":4244},"target":{"__isSmartRef__":true,"id":4053}},"4247":{"morph":{"__isSmartRef__":true,"id":4244},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4248":{"_Align":"center","_ClipMode":"hidden","_FontFamily":"Helvetica","_FontSize":10,"_HandStyle":"default","_MaxTextHeight":null,"_MaxTextWidth":150,"_MinTextHeight":null,"_MinTextWidth":150,"_PointerEvents":"none","_Scale":1,"_WhiteSpaceHandling":"pre-wrap","allowInput":false,"attributeConnections":[],"derivationIds":[2899,"4F00D1F5-B85C-479E-BDDE-322DF2F432A3","5E7BC7AC-9EF9-4CF5-9196-A542A26534CA","46616896-CA46-4B43-B694-9FB001B32989","F73D407C-A72D-414B-AB8D-1E28025BCA1C","E34F55EC-06D3-4965-A0D2-625CA896E3B7","2C75B823-DD52-427F-A501-B824B4C4AFFF","B4D1CBE5-9DEA-4728-8803-CCD541086497","6E0FBCF8-EAA4-4635-A092-F3A690EE9EF7","89A9C61E-62E5-4DC5-9ABB-48A97517BF54","7481FBBB-A4A7-4F5E-A153-60033229DE49","FEBD2158-DF74-4EDF-BD2A-2C5A19DDF177","129B298F-732B-46E2-AB44-60B8E8AC2378","92CFB2AD-D63D-4DD7-A729-6D0962A7C5FC","BC6FB6FB-EF63-4C39-9668-0462E42556C2","8BE2159A-9EB3-44EC-8BAD-0CF297F58645","D81DC308-8273-4F17-A7C0-849953D6454B","C536710D-050F-4AF1-BAD1-6EE763015B10","FDD58AA8-D717-4855-BB3A-B81014786962","1ACCD898-314B-4EB0-A177-CE6DD69E30D0","BE433DB8-657C-4FCB-BB4D-0088D3115495"],"doNotCopyProperties":[],"doNotSerialize":[],"droppingEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4249},"eventsAreIgnored":true,"fixedHeight":true,"fixedWidth":true,"grabbingEnabled":false,"halosEnabled":true,"id":"0E21F883-A41E-49D8-B21A-40B6739B56D4","isLabel":true,"owner":{"__isSmartRef__":true,"id":4244},"registeredForMouseEvents":true,"scripts":[],"shape":{"__isSmartRef__":true,"id":4250},"submorphs":[],"textChunks":[{"__isSmartRef__":true,"id":4251}],"textStyle":null,"_WordBreak":"break-all","__serializedExpressions__":["_Padding","_Position","_TextColor","padding"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":4253},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)","_TextColor":"Color.rgb(0,0,0)","padding":"lively.rect(5,5,0,0)"},"4249":{"morph":{"__isSmartRef__":true,"id":4248},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4250":{"_BorderWidth":0,"_ClipMode":"hidden","_Fill":null,"__serializedExpressions__":["_BorderColor","_Extent","_Padding","position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(0,0,0)","_Extent":"lively.pt(150.0,21.0)","_Padding":"lively.rect(0,3,0,0)","position":"lively.pt(0.0,0.0)"},"4251":{"_id":"_942","chunkOwner":{"__isSmartRef__":true,"id":4248},"storedString":"check for updates","style":{"__isSmartRef__":true,"id":4252},"__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4252":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4253":{"requiredModules":[],"idOnLoad":"0E21F883-A41E-49D8-B21A-40B6739B56D4","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4254":{"moveVertical":true},"4255":{"stops":[{"__isSmartRef__":true,"id":4256},{"__isSmartRef__":true,"id":4257},{"__isSmartRef__":true,"id":4258},{"__isSmartRef__":true,"id":4259}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"4256":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(250,250,250)"},"4257":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"4258":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(232,232,232)"},"4259":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(248,248,248)"},"4260":{"stops":[{"__isSmartRef__":true,"id":4261},{"__isSmartRef__":true,"id":4262},{"__isSmartRef__":true,"id":4263},{"__isSmartRef__":true,"id":4264}],"__serializedExpressions__":["vector"],"__LivelyClassName__":"lively.morphic.LinearGradient","__SourceModuleName__":"Global.lively.morphic.Shapes","vector":"lively.rect(0,0,0,1)"},"4261":{"offset":0,"__serializedExpressions__":["color"],"color":"Color.rgb(245,245,245)"},"4262":{"offset":0.4,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"4263":{"offset":0.6,"__serializedExpressions__":["color"],"color":"Color.rgb(209,209,209)"},"4264":{"offset":1,"__serializedExpressions__":["color"],"color":"Color.rgb(240,240,240)"},"4265":{"comment":"Has a script that is called on button press","migrationLevel":4,"partName":"Button","partsSpaceName":"PartsBin/Inputs","idOnLoad":"EECDB560-3800-424A-9FBD-84B75E020F6D","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4266":{"_BorderRadius":5.2,"_BorderStyle":"solid","_BorderWidth":1.1840000000000002,"_ClipMode":"visible","_Fill":{"__isSmartRef__":true,"id":4260},"_Opacity":1,"__serializedExpressions__":["_BorderColor","_Extent","_Padding","position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(214,214,214)","_Extent":"lively.pt(150.0,21.0)","_Padding":"lively.rect(0,0,0,0)","position":"lively.pt(0.0,0.0)"},"4267":{"_ClipMode":"hidden","_FontFamily":"Helvetica","_FontSize":10,"_MaxTextHeight":null,"_MaxTextWidth":250,"_MinTextHeight":null,"_MinTextWidth":250,"_WhiteSpaceHandling":"pre-wrap","allowInput":true,"charsReplaced":"CommitMessageTest1","derivationIds":[2893,"FBE4B17F-DC2B-4783-899B-CF1B051F14D9","A2C45BC5-C44B-4AEA-A29E-ADE3DAF08638","640BD984-1AB2-45B8-BCEC-AB32A6199D68","BE2E06DB-4DFC-4628-9FED-8F3E87D18E07","6D28F6C5-8D27-4A2D-A13E-55172343909B","9537F96B-5D0E-47CF-9435-5850919DA5A2","B8516280-8A31-4C9E-A9EF-3C058FB084E5","0A41986D-4F2B-4D8B-8A35-AEB659C5D25A","7A7E3053-DA4F-465C-B558-5138BE382156","7024A970-16E6-4DE1-9BD6-6DC50779F4AA","181F12CB-A2A2-4A98-A3B0-9CAC859DFC66","B6176017-4E7E-463E-82DF-DFC54EB00EC9","2956D5AA-C488-4F2E-AEDF-6D795EEECAB3","DB745EE2-3FE0-42B6-8D29-E2B6215E2B17","BD1B8949-BF8B-4B64-A2A5-95E8919FD98B","2350C658-7205-479B-B1DD-AD260D3425E2","E68A6841-BC15-4078-836D-4949AFA0A264","58CD9B79-D2BF-4300-9531-A42E08842E2A","E6B43BB9-DD76-4917-88E5-E4B146FE5E62"],"droppingEnabled":false,"evalEnabled":false,"eventHandler":{"__isSmartRef__":true,"id":4268},"fixedHeight":true,"fixedWidth":true,"grabbingEnabled":false,"halosEnabled":true,"id":"507D88BB-F96E-4523-B9DA-F30C8C253C59","isInputLine":true,"isLockOwner":false,"lastFindLoc":18,"layout":{"__isSmartRef__":true,"id":4269},"name":"CategoryText","owner":{"__isSmartRef__":true,"id":4053},"previousSelection":[0,14],"savedTextString":"PartsBin/Basic","scripts":[],"shape":{"__isSmartRef__":true,"id":4270},"showsHalos":false,"submorphs":[],"textChunks":[{"__isSmartRef__":true,"id":4271}],"_WordBreak":"break-all","isBeingDragged":false,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":4273},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(200.0,50.0)","distanceToDragEvent":"lively.pt(170.4,-10.1)"},"4268":{"morph":{"__isSmartRef__":true,"id":4267},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4269":{"moveHorizontal":true,"resizeWidth":false},"4270":{"_BorderRadius":4.5,"_BorderStyle":"solid","_BorderWidth":1,"_ClipMode":"hidden","_Opacity":1,"_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_BorderColor","_Extent","_Fill","_Padding","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(220,220,220)","_Extent":"lively.pt(260.0,20.0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(4,2,0,0)","_Position":"lively.pt(0.0,0.0)"},"4271":{"style":{"__isSmartRef__":true,"id":4272},"chunkOwner":{"__isSmartRef__":true,"id":4267},"_id":"_51213","storedString":"PartsBin/Collaboration/","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4272":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4273":{"partName":"CategoryText","requiredModules":[],"idOnLoad":"507D88BB-F96E-4523-B9DA-F30C8C253C59","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4274":{"askForDiffViewer":{"__isSmartRef__":true,"id":4275},"checkForUpdates":{"__isSmartRef__":true,"id":4279},"copyToPartsBin":{"__isSmartRef__":true,"id":4283},"onCancel":{"__isSmartRef__":true,"id":4291},"onPublish":{"__isSmartRef__":true,"id":4295},"onRemove":{"__isSmartRef__":true,"id":4299},"reset":{"__isSmartRef__":true,"id":4303},"setTarget":{"__isSmartRef__":true,"id":4307},"showDiff":{"__isSmartRef__":true,"id":4311}},"4275":{"funcProperties":{"__isSmartRef__":true,"id":4276},"source":"function askForDiffViewer() {\n $world.confirm('A newer version of '+this.get('NameText').textString+' is available. Show diff?', function (bool) {bool && this.showDiff()}.bind(this))\n}","varMapping":{"__isSmartRef__":true,"id":4278},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4276":{"tags":[],"timestamp":{"__isSmartRef__":true,"id":4277},"user":"undefined"},"4277":{"isSerializedDate":true,"string":"Fri Mar 23 2012 15:08:43 GMT+0100 (CET)"},"4278":{"this":{"__isSmartRef__":true,"id":4053}},"4279":{"funcProperties":{"__isSmartRef__":true,"id":4280},"source":"function checkForUpdates() {\n var space = lively.PartsBin.partsSpaceNamed(this.get('CategoryText').textString),\n name = this.get('NameText').textString,\n fileUrl = space.getURL().withFilename(encodeURI(name))+'.json';\n\n var webR = new WebResource(fileUrl);\n \n if (webR.exists()) {\n var rev = webR.getHeadRevision().headRevision;\n if (this.target.getPartsBinMetaInfo().revisionOnLoad == rev) \n alertOK(\"No changes since last update.\")\n else {\n this.askForDiffViewer();\n }\n }\n else \n alertOK(\"Part does not exist in PartsBin.\") \n \n}","varMapping":{"__isSmartRef__":true,"id":4282},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4280":{"tags":[],"timestamp":{"__isSmartRef__":true,"id":4281},"user":"undefined"},"4281":{"isSerializedDate":true,"string":"Fri Mar 23 2012 15:12:03 GMT+0100 (CET)"},"4282":{"this":{"__isSmartRef__":true,"id":4053}},"4283":{"funcProperties":{"__isSmartRef__":true,"id":4284},"source":"function copyToPartsBin(morph) {\n var name = this.get('NameText').textString\n\n var info = morph.getPartsBinMetaInfo();\n morph.setName(name);\n\n info.partsSpaceName = this.get('CategoryText').textString\n info.comment = this.get('CommentText').textString\n\n if (! info.changes) info.changes = [];\n var change = { \n date: new Date(), \n author: this.world().getUserName(), \n message: this.get('CommitMessageText').textString,\n id: Strings.newUUID()\n }\n info.changes.push(change) \n\n morph.copyToPartsBin();\n}","varMapping":{"__isSmartRef__":true,"id":4286},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4284":{"tags":[],"timestamp":{"__isSmartRef__":true,"id":4285},"user":"jenslincke"},"4285":{"isSerializedDate":true,"string":"Fri Oct 28 2011 15:13:21 GMT+0200 (CEST)"},"4286":{"this":{"__isSmartRef__":true,"id":4053},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4287}},"4287":{"$super":{"__isSmartRef__":true,"id":4288}},"4288":{"funcProperties":{"__isSmartRef__":true,"id":4289},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n if ($world) \n $world.logError(e, 'Error in $super call')\n else\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","varMapping":{"__isSmartRef__":true,"id":4290},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4289":{},"4290":{"name":"copyToPartsBin","obj":{"__isSmartRef__":true,"id":4053}},"4291":{"funcProperties":{"__isSmartRef__":true,"id":4292},"source":"function onCancel() {\n alertOK(\"cancel upload \") \n this.owner.remove()\n}","varMapping":{"__isSmartRef__":true,"id":4294},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4292":{"tags":[],"timestamp":{"__isSmartRef__":true,"id":4293},"user":"jenslincke"},"4293":{"isSerializedDate":true,"string":"Wed Oct 19 2011 14:52:17 GMT+0200 (CEST)"},"4294":{"this":{"__isSmartRef__":true,"id":4053}},"4295":{"funcProperties":{"__isSmartRef__":true,"id":4296},"source":"function onPublish() {\n if (!this.target) alert(\"No target to upload\");\n this.copyToPartsBin(this.target);\n}","varMapping":{"__isSmartRef__":true,"id":4298},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4296":{"tags":[],"timestamp":{"__isSmartRef__":true,"id":4297},"user":"undefined"},"4297":{"isSerializedDate":true,"string":"Thu Mar 29 2012 15:46:31 GMT+0200 (CEST)"},"4298":{"this":{"__isSmartRef__":true,"id":4053}},"4299":{"funcProperties":{"__isSmartRef__":true,"id":4300},"source":"function onRemove() {\n $world.publishPartDialog && $world.publishPartDialog.remove()\n}","varMapping":{"__isSmartRef__":true,"id":4302},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4300":{"tags":[],"timestamp":{"__isSmartRef__":true,"id":4301},"user":"undefined"},"4301":{"isSerializedDate":true,"string":"Thu Mar 29 2012 15:54:34 GMT+0200 (CEST)"},"4302":{"this":{"__isSmartRef__":true,"id":4053}},"4303":{"funcProperties":{"__isSmartRef__":true,"id":4304},"source":"function reset() {\n this.setTarget(null)\n \n}","varMapping":{"__isSmartRef__":true,"id":4306},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4304":{"tags":[],"timestamp":{"__isSmartRef__":true,"id":4305},"user":"jenslincke"},"4305":{"isSerializedDate":true,"string":"Wed Oct 19 2011 14:45:36 GMT+0200 (CEST)"},"4306":{"this":{"__isSmartRef__":true,"id":4053}},"4307":{"funcProperties":{"__isSmartRef__":true,"id":4308},"source":"function setTarget(morph) {\n this.target = morph \n if (!morph) {\n this.get('NameText').textString = 'Anonymous';\n this.get('CategoryText').textString = 'Default';\n this.get('CommentText').textString = 'no comment'; \n this.get('CommitMessageText').textString = 'no comment' \n return\n }\n var info = this.target.getPartsBinMetaInfo();\n this.get('NameText').textString = info.partName || morph.getName();\n if (info.partsSpaceName) this.get('CategoryText').textString = info.partsSpaceName;\n if (info.comment) this.get('CommentText').textString = info.comment; \n\n}","varMapping":{"__isSmartRef__":true,"id":4310},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4308":{"tags":[],"timestamp":{"__isSmartRef__":true,"id":4309},"user":"jenslincke"},"4309":{"isSerializedDate":true,"string":"Fri Apr 20 2012 11:59:07 GMT+0200 (CEST)"},"4310":{"this":{"__isSmartRef__":true,"id":4053}},"4311":{"funcProperties":{"__isSmartRef__":true,"id":4312},"source":"function showDiff() {\n if (this.target) {\n if (typeof(this.target.showThreeWayDiff) === 'function') {\n this.target.showThreeWayDiff();\n }\n else {\n alert('Three Way Diff is not implemented yet')\n }\n }\n}","varMapping":{"__isSmartRef__":true,"id":4314},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4312":{"tags":[],"timestamp":{"__isSmartRef__":true,"id":4313},"user":"undefined"},"4313":{"isSerializedDate":true,"string":"Thu Mar 22 2012 10:32:37 GMT+0100 (CET)"},"4314":{"this":{"__isSmartRef__":true,"id":4053}},"4315":{"morph":{"__isSmartRef__":true,"id":4051},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4316":{"adjustForNewBounds":true},"4317":{"changes":[{"__isSmartRef__":true,"id":4318},{"__isSmartRef__":true,"id":4320},{"__isSmartRef__":true,"id":4322},{"__isSmartRef__":true,"id":4324},{"__isSmartRef__":true,"id":4326},{"__isSmartRef__":true,"id":4328},{"__isSmartRef__":true,"id":4330},{"__isSmartRef__":true,"id":4332},{"__isSmartRef__":true,"id":4334},{"__isSmartRef__":true,"id":4336},{"__isSmartRef__":true,"id":4338},{"__isSmartRef__":true,"id":4340},{"__isSmartRef__":true,"id":4342},{"__isSmartRef__":true,"id":4344}],"comment":"A dialog for publishing parts in the PartsBin. Automatically invoked when invoking the \"Publish\" menu option.","migrationLevel":4,"partName":"PublishPartDialog","partsSpaceName":"PartsBin/Dialogs","requiredModules":[],"lastModifiedDate":{"__isSmartRef__":true,"id":4346},"idOnLoad":"2D0B0FB5-B406-484E-87CF-8DFC58B273FA","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4318":{"author":"undefined","date":{"__isSmartRef__":true,"id":4319},"id":"61086210-FA8D-49B7-9E8F-E1E202A9ECD7","message":"resetted view"},"4319":{"isSerializedDate":true,"string":"Wed Mar 21 2012 14:50:23 GMT+0100 (CET)"},"4320":{"author":"undefined","date":{"__isSmartRef__":true,"id":4321},"id":"93AC78DB-FFE8-40AC-B8FC-34B0936B39A7","message":"added show diff button"},"4321":{"isSerializedDate":true,"string":"Wed Mar 21 2012 14:49:44 GMT+0100 (CET)"},"4322":{"author":"undefined","date":{"__isSmartRef__":true,"id":4323},"id":"A5F4EACF-EF62-483F-B8B3-65966A895FA4","message":""},"4323":{"isSerializedDate":true,"string":"Tue Mar 20 2012 13:00:03 GMT+0100 (CET)"},"4324":{"author":"jenslincke","date":{"__isSmartRef__":true,"id":4325},"message":"first commit of Publish dialog using the publish dialog itself!"},"4325":{"isSerializedDate":true,"string":"Wed Oct 19 2011 14:54:16 GMT+0200 (CEST)"},"4326":{"author":"jenslincke","date":{"__isSmartRef__":true,"id":4327},"message":""},"4327":{"isSerializedDate":true,"string":"Wed Oct 19 2011 14:52:26 GMT+0200 (CEST)"},"4328":{"author":"jenslincke","date":{"__isSmartRef__":true,"id":4329},"message":"store an uuid when publishing an object"},"4329":{"isSerializedDate":true,"string":"Fri Oct 28 2011 15:15:02 GMT+0200 (CEST)"},"4330":{"author":"jenslincke","date":{"__isSmartRef__":true,"id":4331},"message":""},"4331":{"isSerializedDate":true,"string":"Fri Oct 28 2011 16:06:16 GMT+0200 (CEST)"},"4332":{"author":"jenslincke","date":{"__isSmartRef__":true,"id":4333},"id":"1A260BD5-E668-4BD4-B7A2-94E087AB4CE1","message":"- fixed issue 283 (Reproduction: Open part, select publish from menu, focus part name input field in dialog, press enter.-> window pane disappears; window decoration stays; part is not published)"},"4333":{"isSerializedDate":true,"string":"Thu Jan 26 2012 12:10:41 GMT+0100 (CET)"},"4334":{"author":"undefined","date":{"__isSmartRef__":true,"id":4335},"id":"00A6DFFB-70D2-44A4-B5F9-0778E1CA5724","message":"init for change - don't remove on click"},"4335":{"isSerializedDate":true,"string":"Tue Mar 20 2012 12:04:27 GMT+0100 (CET)"},"4336":{"author":"undefined","date":{"__isSmartRef__":true,"id":4337},"id":"2BD37BED-1605-4FD2-8D2C-25552A379B49","message":"added possibility to show diff and adapted to new publishing workflow (check for overwrites)"},"4337":{"isSerializedDate":true,"string":"Thu Mar 22 2012 10:30:02 GMT+0100 (CET)"},"4338":{"author":"robertkrahn","date":{"__isSmartRef__":true,"id":4339},"id":"0FC68ADF-8995-4DFA-8713-AACEE168096E","message":"Fixed the issue that there were no line breaks allowed in the comment / commit text fields"},"4339":{"isSerializedDate":true,"string":"Tue Aug 07 2012 01:22:26 GMT+0200 (CEST)"},"4340":{"date":{"__isSmartRef__":true,"id":4341},"author":"jenslincke","message":"changed colors (Marko Chief Color Advisor)","id":"7C1CA387-560D-471B-A0D9-4669D6CDA738"},"4341":{"isSerializedDate":true,"string":"Thu Nov 22 2012 14:45:14 GMT+0100 (CET)"},"4342":{"date":{"__isSmartRef__":true,"id":4343},"author":"jenslincke","message":"reset title bar","id":"91E7578B-97E5-4572-A83F-EA928CE8B43C"},"4343":{"isSerializedDate":true,"string":"Thu Nov 29 2012 09:58:57 GMT+0100 (CET)"},"4344":{"date":{"__isSmartRef__":true,"id":4345},"author":"jenslincke","message":"no comment","id":"E3BAAF1D-646D-4D98-9081-826BD0EFA4A5"},"4345":{"isSerializedDate":true,"string":"Thu Nov 29 2012 10:57:31 GMT+0100 (CET)"},"4346":{"isSerializedDate":true,"string":"Thu Nov 29 2012 10:54:37 GMT+0100 (CET)"},"4347":{"_BorderRadius":0,"_BorderWidth":0,"_ClipMode":"visible","_Fill":null,"_StrokeOpacity":0,"__serializedExpressions__":["_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Extent":"lively.pt(479.0,437.0)","_Padding":"lively.rect(0,0,0,0)"},"4348":{"_ClipMode":"visible","_Rotation":0,"_Scale":1,"attributeConnections":[{"__isSmartRef__":true,"id":4349}],"cornerName":"bottomRight","derivationIds":[7147,"16E962DF-21E9-4FE6-8B9B-953F0E908113","ADD0B5C0-0DC6-4D8E-9C2A-0EC7E3C71F21","F0667EB1-BF07-4E63-BA56-99189F82C865","DFDE68D2-3731-46DE-ADC8-56E32998CE07","D914121B-05B0-490E-A9F7-FE9AB53455A3","685BF0CF-E831-4670-98CD-A84F0E9D3C1A","7F4A1B67-C3C5-4398-9FC6-EEECF75FF81D","ABACD15A-2A09-48B6-91CF-E5BD3A9974FB","06D7E052-8590-4522-B7F3-1A59D4B017E7","64688F71-E370-4CC3-815D-3FE4545735AC","82AF7869-92D1-43A8-83CE-315C60557E32","CDD21940-F284-424B-B564-D6371A616F86","CDA1FA5A-B36D-40D1-9004-9FBAD3A12AAE"],"doNotCopyProperties":["$$cornerName"],"doNotSerialize":["$$cornerName"],"dragStartPoint":null,"draggingEnabled":true,"droppingEnabled":true,"eventHandler":{"__isSmartRef__":true,"id":4350},"halosEnabled":true,"id":"8F2A7BD1-2DA4-449A-A665-383143E6EBA5","isResizeCorner":true,"moved":true,"name":"ResizeCorner","originalTargetBounds":null,"originalTargetExtent":null,"originalTargetInnerBounds":null,"owner":{"__isSmartRef__":true,"id":4051},"partsBinMetaInfo":{"__isSmartRef__":true,"id":4351},"registeredForMouseEvents":true,"relativeOrigin":null,"scripts":[],"shape":{"__isSmartRef__":true,"id":4352},"showsHalos":false,"submorphs":[],"__serializedExpressions__":["_Position","distanceToDragEvent","originalExtent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4353},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(469.0,427.0)","distanceToDragEvent":"lively.pt(42.0,-10.0)","originalExtent":"lively.pt(239.0,138.0)"},"4349":{"sourceAttrName":"cornerName","sourceObj":{"__isSmartRef__":true,"id":4348},"targetMethodName":"alignToOwner","targetObj":{"__isSmartRef__":true,"id":4348},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4350":{"morph":{"__isSmartRef__":true,"id":4348},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4351":{"comment":"Resize an object without using halos.","migrationLevel":2,"partName":"ResizeCorner","partsSpaceName":"PartsBin/Widgets/","revisionOnLoad":140152,"idOnLoad":"8F2A7BD1-2DA4-449A-A665-383143E6EBA5","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4352":{"_BorderWidth":0,"_ClipMode":"visible","__serializedExpressions__":["_BorderColor","_Extent","_Fill","_Padding","position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_BorderColor":"Color.rgb(145,145,145)","_Extent":"lively.pt(10.0,10.0)","_Fill":"Color.rgb(66,66,66)","_Padding":"lively.rect(0,0,0,0)","position":"lively.pt(0.0,0.0)"},"4353":{"alignToOwner":{"__isSmartRef__":true,"id":4354},"morphMenuItems":{"__isSmartRef__":true,"id":4357},"onDrag":{"__isSmartRef__":true,"id":4364},"onDragEnd":{"__isSmartRef__":true,"id":4372},"onDragStart":{"__isSmartRef__":true,"id":4380},"reset":{"__isSmartRef__":true,"id":4388}},"4354":{"funcProperties":{"__isSmartRef__":true,"id":4355},"source":"function alignToOwner() {\n this.align(this.bounds()[this.cornerName](), this.owner.shape.bounds()[this.cornerName]() )\n}","varMapping":{"__isSmartRef__":true,"id":4356},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4355":{},"4356":{"this":{"__isSmartRef__":true,"id":4348}},"4357":{"funcProperties":{"__isSmartRef__":true,"id":4358},"source":"function morphMenuItems() {\n return $super().concat([\n [\"corner\", [\n [\"top left\", function() { this.cornerName = 'topLeft'}.bind(this)],\n [\"top right\", function() { this.cornerName = 'topRight'}.bind(this)],\n [\"bottom right\", function() { this.cornerName = 'bottomRight'}.bind(this)],\n [\"bottom left\", function() { this.cornerName = 'bottomLeft'}.bind(this)],\n ]]\n ])\t\n}","varMapping":{"__isSmartRef__":true,"id":4359},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4358":{},"4359":{"this":{"__isSmartRef__":true,"id":4348},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4360}},"4360":{"$super":{"__isSmartRef__":true,"id":4361}},"4361":{"funcProperties":{"__isSmartRef__":true,"id":4362},"source":"function () {\n\t\t\t\ttry {\n\t\t\t\t\treturn obj.constructor.prototype[name].apply(obj, arguments)\n\t\t\t\t} catch(e) {\n\t\t\t\t\talert('Error in $super call: ' + e + '\\n' + e.stack);\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t}","varMapping":{"__isSmartRef__":true,"id":4363},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4362":{},"4363":{"name":"morphMenuItems","obj":{"__isSmartRef__":true,"id":4348}},"4364":{"funcProperties":{"__isSmartRef__":true,"id":4365},"source":"function onDrag(evt) {\n // alert(\"onDrag\")\n // this.owner.setPosition(pt(0,0))\n // this.owner.setOrigin(pt(0,0))\n var moveDelta = evt.mousePoint.subPt(this.dragStartPoint)\n \n // moveDelta = moveDelta.maxPt(pt(0,0))\n var ownerExtent = this.owner.getExtent();\n\n // TODO does not work\n if (evt.isShiftDown()) {\n var maxDelta = Math.max(moveDelta.x, moveDelta.y);\n if (maxDelta == 0) return;\n var factor = ownerExtent.x / ownerExtent.y\n moveDelta = pt(maxDelta * factor, maxDelta )\n }\n var accessor = \"with\" + this.cornerName.charAt(0).toUpperCase() + this.cornerName.substring(1);\n\n var newCorner = this.originalTargetBounds[this.cornerName]().addPt(moveDelta);\n var newBounds = this.originalTargetBounds[accessor ](newCorner);\n\n this.owner.setBounds(newBounds);\n \n // var newExtent = this.originalTargetExtent.addPt(moveDelta)\n // alertOK(\"new extent\" + newExtent)\n // this.owner.setExtent(newExtent);\n this.owner.submorphs.select(function(ea) {\n return ea.isResizeCorner\n }).invoke('alignToOwner');\n if (this.owner.halos) {\n this.owner.halos.invoke('alignAtTarget')\n }\n // alertOK(\"relative \" + this.relativeOrigin)\n var newOrigin = pt(0,0).extent(this.owner.getExtent()).relativeToAbsPoint(this.relativeOrigin)\n\n // TODO IMPLEMENT updating the origin does not work yet\n // this.owner.setOrigin(newOrigin);\n // alertOK(\"new origin \" + newOrigin)\n\n}","varMapping":{"__isSmartRef__":true,"id":4367},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4365":{"tags":[],"timestamp":{"__isSmartRef__":true,"id":4366},"user":"sstamm"},"4366":{"isSerializedDate":true,"string":"Thu Feb 23 2012 12:08:52 GMT+0100 (CET)"},"4367":{"this":{"__isSmartRef__":true,"id":4348},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4368}},"4368":{"$super":{"__isSmartRef__":true,"id":4369}},"4369":{"funcProperties":{"__isSmartRef__":true,"id":4370},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","varMapping":{"__isSmartRef__":true,"id":4371},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4370":{},"4371":{"name":"onDrag","obj":{"__isSmartRef__":true,"id":4348}},"4372":{"funcProperties":{"__isSmartRef__":true,"id":4373},"source":"function onDragEnd(evt) {\n this.dragStartPoint = null;\n this.originalTargetBounds = null;\n this.relativeOrigin = null;\n}","varMapping":{"__isSmartRef__":true,"id":4375},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4373":{"tags":[],"timestamp":{"__isSmartRef__":true,"id":4374},"user":"sstamm"},"4374":{"isSerializedDate":true,"string":"Thu Feb 23 2012 12:09:00 GMT+0100 (CET)"},"4375":{"this":{"__isSmartRef__":true,"id":4348},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4376}},"4376":{"$super":{"__isSmartRef__":true,"id":4377}},"4377":{"funcProperties":{"__isSmartRef__":true,"id":4378},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","varMapping":{"__isSmartRef__":true,"id":4379},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4378":{},"4379":{"name":"onDragEnd","obj":{"__isSmartRef__":true,"id":4348}},"4380":{"funcProperties":{"__isSmartRef__":true,"id":4381},"source":"function onDragStart(evt) {\n var absToRelativePoint = function (r, absPt) {\n\t\treturn new Point(\n\t\t\t(absPt.x - r.x) / r.width,\n\t\t\t(absPt.y - r.y) / r.height)\n\t}\n // absToRelativePoint(new Rectangle(10,10,100,100), pt(20,20))\n // absToRelativePoint(new Rectangle(10,10,100,100), pt(0,0))\n // absToRelativePoint(new Rectangle(-100,-100,200,200), pt(0,0))\n\n\n this.dragStartPoint = evt.mousePoint;\n this.originalTargetBounds= this.owner.bounds();\n this.relativeOrigin = absToRelativePoint(pt(0,0).extent(this.owner.getExtent()), this.owner.getOrigin())\n}","varMapping":{"__isSmartRef__":true,"id":4383},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4381":{"tags":[],"timestamp":{"__isSmartRef__":true,"id":4382},"user":"sstamm"},"4382":{"isSerializedDate":true,"string":"Thu Feb 23 2012 12:08:40 GMT+0100 (CET)"},"4383":{"this":{"__isSmartRef__":true,"id":4348},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":4384}},"4384":{"$super":{"__isSmartRef__":true,"id":4385}},"4385":{"funcProperties":{"__isSmartRef__":true,"id":4386},"source":"function () {\n try {\n return obj.constructor.prototype[name].apply(obj, arguments)\n } catch (e) {\n alert('Error in $super call: ' + e + '\\n' + e.stack);\n return null;\n }\n }","varMapping":{"__isSmartRef__":true,"id":4387},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4386":{},"4387":{"name":"onDragStart","obj":{"__isSmartRef__":true,"id":4348}},"4388":{"funcProperties":{"__isSmartRef__":true,"id":4389},"source":"function reset() {\n this.isResizeCorner = true\n this.cornerName = 'bottomRight'\n this.setExtent(pt(10,10));\n this.setPosition(pt(0,0))\n}","varMapping":{"__isSmartRef__":true,"id":4390},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"4389":{},"4390":{"this":{"__isSmartRef__":true,"id":4348}},"4391":{"submorphs":[{"__isSmartRef__":true,"id":4392},{"__isSmartRef__":true,"id":4399},{"__isSmartRef__":true,"id":4414},{"__isSmartRef__":true,"id":4428}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4443},"eventHandler":{"__isSmartRef__":true,"id":4444},"_ClipMode":"visible","derivationIds":["7F2F2823-877B-454C-84EB-725AB48DDB39","9DAC655E-F6CE-47F2-A10E-96FC2E163CA1"],"id":"150AC05F-14B1-4A6D-8AEB-C6B750469F37","droppingEnabled":false,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":4445},"windowMorph":{"__isSmartRef__":true,"id":4051},"label":{"__isSmartRef__":true,"id":4392},"closeButton":{"__isSmartRef__":true,"id":4399},"menuButton":{"__isSmartRef__":true,"id":4414},"collapseButton":{"__isSmartRef__":true,"id":4428},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":4051},"__serializedExpressions__":["_Position"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":4446},"__LivelyClassName__":"lively.morphic.TitleBar","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,0.0)"},"4392":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4393},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4394}],"eventHandler":{"__isSmartRef__":true,"id":4396},"_ClipMode":"hidden","derivationIds":["A690BA51-C5D5-44FD-90C3-AB1D767BAAB7","5099C734-AAFC-438A-9956-AEA02652C8E5"],"id":"4C8F26B7-78F6-40D0-899C-A4D2B925CE9A","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"isLabel":true,"layout":{"__isSmartRef__":true,"id":4397},"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":4391},"_StyleClassNames":["window-title"],"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":4398},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(20.0,3.0)"},"4393":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(420.0,18.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4394":{"style":{"__isSmartRef__":true,"id":4395},"chunkOwner":{"__isSmartRef__":true,"id":4392},"_id":"_2170","storedString":"Publish in PartsBin","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4395":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4396":{"morph":{"__isSmartRef__":true,"id":4392},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4397":{"resizeWidth":true},"4398":{"requiredModules":[],"idOnLoad":"4C8F26B7-78F6-40D0-899C-A4D2B925CE9A","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4399":{"submorphs":[{"__isSmartRef__":true,"id":4400}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4406},"eventHandler":{"__isSmartRef__":true,"id":4407},"_ClipMode":"visible","derivationIds":["5CE8ED0B-9B20-49FE-84A3-C4BBFB608DA2","61C44023-E4BF-41AC-8B50-1D1090F00DE5"],"id":"9EB3291B-32F5-4BCE-A334-D72CECA8A1CD","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":4400},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":4391},"layout":{"__isSmartRef__":true,"id":4408},"_StyleClassNames":["close"],"attributeConnections":[{"__isSmartRef__":true,"id":4409},{"__isSmartRef__":true,"id":4411}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__serializedExpressions__":["_Position"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":4413},"isPressed":false,"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(459.0,3.0)"},"4400":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4401},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4402}],"eventHandler":{"__isSmartRef__":true,"id":4404},"_ClipMode":"hidden","derivationIds":["2912D7D0-02F2-414D-BD53-ED6C7F8DBE0B","356257A5-ED2C-40F0-854D-3B2F792F303D"],"id":"E06F5228-E2AE-407C-B664-5023F840937E","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":4399},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":4405},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,-1.0)"},"4401":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4402":{"style":{"__isSmartRef__":true,"id":4403},"chunkOwner":{"__isSmartRef__":true,"id":4400},"_id":"_2172","storedString":"X","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4403":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4404":{"morph":{"__isSmartRef__":true,"id":4400},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4405":{"requiredModules":[],"idOnLoad":"E06F5228-E2AE-407C-B664-5023F840937E","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4406":{"_BorderWidth":0,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"4407":{"morph":{"__isSmartRef__":true,"id":4399},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4408":{"moveHorizontal":true},"4409":{"sourceObj":{"__isSmartRef__":true,"id":4399},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":4051},"targetMethodName":"getCloseHelp","varMapping":{"__isSmartRef__":true,"id":4410},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4410":{"source":{"__isSmartRef__":true,"id":4399},"target":{"__isSmartRef__":true,"id":4051}},"4411":{"sourceObj":{"__isSmartRef__":true,"id":4399},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":4051},"targetMethodName":"initiateShutdown","varMapping":{"__isSmartRef__":true,"id":4412},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4412":{"source":{"__isSmartRef__":true,"id":4399},"target":{"__isSmartRef__":true,"id":4051}},"4413":{"requiredModules":[],"idOnLoad":"9EB3291B-32F5-4BCE-A334-D72CECA8A1CD","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4414":{"submorphs":[{"__isSmartRef__":true,"id":4415}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4421},"eventHandler":{"__isSmartRef__":true,"id":4422},"_ClipMode":"visible","derivationIds":["A7FA40A4-F29E-4570-92BF-F78E1C00D3EB","3AC17936-B2BF-44C6-B326-9071C9C5D23F"],"id":"657EE667-CFEE-461F-BE4E-A3F3B43383A1","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":4415},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":4391},"attributeConnections":[{"__isSmartRef__":true,"id":4423},{"__isSmartRef__":true,"id":4425}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"isPressed":false,"__serializedExpressions__":["_Position"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":4427},"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(3.0,3.0)"},"4415":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4416},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4417}],"eventHandler":{"__isSmartRef__":true,"id":4419},"_ClipMode":"hidden","derivationIds":["BDC5DD9B-DE40-4FDD-AA67-8A7BDA277AB5","BCEE5262-22DE-4D41-9074-294E4121D56C"],"id":"CE7177BE-82DE-4581-B269-16CF906B082D","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":4414},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":4420},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"4416":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(18.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4417":{"style":{"__isSmartRef__":true,"id":4418},"chunkOwner":{"__isSmartRef__":true,"id":4415},"_id":"_2174","storedString":"M","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4418":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4419":{"morph":{"__isSmartRef__":true,"id":4415},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4420":{"requiredModules":[],"idOnLoad":"CE7177BE-82DE-4581-B269-16CF906B082D","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4421":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"4422":{"morph":{"__isSmartRef__":true,"id":4414},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4423":{"sourceObj":{"__isSmartRef__":true,"id":4414},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":4051},"targetMethodName":"getMenuHelp","varMapping":{"__isSmartRef__":true,"id":4424},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4424":{"source":{"__isSmartRef__":true,"id":4414},"target":{"__isSmartRef__":true,"id":4051}},"4425":{"sourceObj":{"__isSmartRef__":true,"id":4414},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":4051},"targetMethodName":"showTargetMorphMenu","varMapping":{"__isSmartRef__":true,"id":4426},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4426":{"source":{"__isSmartRef__":true,"id":4414},"target":{"__isSmartRef__":true,"id":4051}},"4427":{"requiredModules":[],"idOnLoad":"657EE667-CFEE-461F-BE4E-A3F3B43383A1","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4428":{"submorphs":[{"__isSmartRef__":true,"id":4429}],"scripts":[],"shape":{"__isSmartRef__":true,"id":4435},"eventHandler":{"__isSmartRef__":true,"id":4436},"_ClipMode":"visible","derivationIds":["73941EFE-62E0-4AFD-B15E-C9447809FD60","2FB05F48-6D05-4DC9-89A6-6D2E7B48F11C"],"id":"4E9F4F90-E94B-48F0-B974-6514C243986B","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":4429},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":4391},"layout":{"__isSmartRef__":true,"id":4437},"attributeConnections":[{"__isSmartRef__":true,"id":4438},{"__isSmartRef__":true,"id":4440}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__serializedExpressions__":["_Position"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":4442},"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(440.0,3.0)"},"4429":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":4430},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":4431}],"eventHandler":{"__isSmartRef__":true,"id":4433},"_ClipMode":"hidden","derivationIds":["66A9385E-35FA-4BB8-89BB-4566D7CFBA1F","E2CA0F2A-CFD4-4939-9A62-4BA456BC9CE0"],"id":"6EEDA912-2560-41BB-8FA3-E3B5E4333197","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":8,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":4428},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"__serializedExpressions__":["_TextColor","_Position"],"partsBinMetaInfo":{"__isSmartRef__":true,"id":4434},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,1.0)"},"4430":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(4,2,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4431":{"style":{"__isSmartRef__":true,"id":4432},"chunkOwner":{"__isSmartRef__":true,"id":4429},"_id":"_2176","storedString":"–","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4432":{"textShadow":"0px 1px 0 rgba(255,255,255,1)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"4433":{"morph":{"__isSmartRef__":true,"id":4429},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4434":{"requiredModules":[],"idOnLoad":"6EEDA912-2560-41BB-8FA3-E3B5E4333197","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4435":{"_BorderWidth":1,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"4436":{"morph":{"__isSmartRef__":true,"id":4428},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4437":{"moveHorizontal":true},"4438":{"sourceObj":{"__isSmartRef__":true,"id":4428},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":4051},"targetMethodName":"getCollapseHelp","varMapping":{"__isSmartRef__":true,"id":4439},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4439":{"source":{"__isSmartRef__":true,"id":4428},"target":{"__isSmartRef__":true,"id":4051}},"4440":{"sourceObj":{"__isSmartRef__":true,"id":4428},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":4051},"targetMethodName":"toggleCollapse","varMapping":{"__isSmartRef__":true,"id":4441},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"4441":{"source":{"__isSmartRef__":true,"id":4428},"target":{"__isSmartRef__":true,"id":4051}},"4442":{"requiredModules":[],"idOnLoad":"4E9F4F90-E94B-48F0-B974-6514C243986B","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"4443":{"_AppearanceStylingMode":true,"_BorderStylingMode":true,"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(479.0,22.0)","_Padding":"lively.rect(0,0,0,0)"},"4444":{"morph":{"__isSmartRef__":true,"id":4391},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"4445":{"resizeWidth":true,"adjustForNewBounds":true},"4446":{"requiredModules":[],"idOnLoad":"150AC05F-14B1-4A6D-8AEB-C6B750469F37","__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin"},"isSimplifiedRegistry":true}}]]>