-1;\n\t},\n\n\n\n\tselectAt: function(idx) {\n\t\tthis.renderContext().morphDispatch('selectAt', this, idx);\n\t\tvar item = this.itemList[idx];\n\t\tthis.selection = item && item.value ? item.value : item;\n\t\tthis.selectedLineNo = idx;\n\t},\n},\n'private list functions', {\n\tresizeList: function(idx) {\n\t\tthis.renderContext().morphDispatch('resizeList', this);\n\t},\n});\n\nlively.morphic.Button.subclass(\"lively.morphic.WindowControl\",\n'documentation', {\n documentation: \"Event handling for Window morphs\",\n},\n'settings and state', {\n style: {borderWidth: 0, strokeOpacity: 0},\n focus: pt(0.4, 0.2),\n\tconnections: ['HelpText', 'fire'],\n},\n'initializing', {\n\tinitialize: function($super, rect, inset, labelString, labelOffset) {\n\t\t// $super(new lively.morphic.Shapes.Ellipse(rect.insetBy(inset)))\n\t\t$super(rect, labelString)\n\t\tthis.label.applyStyle({fontSize: 8})\n\t\t// $super(new lively.morphic.Shapes.Ellipse(rect.insetBy(inset)));\n \t\t//if (labelString) {\n\t\t//\tthis.label = new lively.morphic.Text(new Rectangle(0,0,20,20), labelString).beLabel();\n\t\t//\tthis.label.setPadding(Rectangle.inset(5,5,5,5))\n\t\t//\tthis.label.linkToStyles('titleBar_button_label');\n\t\t//\tthis.addMorph(this.label);\n\t\t//\tlabelOffset = labelOffset || pt(-5,-5);\n\t\t//\tthis.label.setPosition(labelOffset);\n\t\t//\tthis.label.setVisible(false);\n\t\t//};\n\t\treturn this;\n\t},\n});\n\n\nlively.morphic.Box.subclass(\"lively.morphic.TitleBar\", \n'documentation', {\n\tdocumentation: \"Title bar for lively.morphic.Window\",\n},\n'properties', {\n\tcontrolSpacing: 3,\n\tbarHeight: 22,\n\tshortBarHeight: 15,\n\tstyle: {\n\t\tfill: new lively.morphic.LinearGradient([\n\t\t\t{offset: 0.0, color: Color.gray.mixedWith(Color.black, 0.9)},\n\t\t\t{offset: 0.6, color: Color.gray.mixedWith(Color.white, 0.5)},\n\t\t\t{offset: 1.0, color: Color.gray.mixedWith(Color.black, 0.9)}],\n\t\t\t\"SouthNorth\"),\n\t\tstrokeOpacity: 1,\n\t\tborderRadius: 8,\n\t\tborderWidth: 2,\n\t\tborderColor: Color.darkGray,\n\t\tadjustForNewBounds: true,\n\t\tresizeWidth: true,\n\t},\n\tlabelStyle: {borderRadius: 0, padding: Rectangle.inset(0,0), fill: null},\n},\n'intitialize', {\n\tinitialize: function($super, headline, windowWidth, windowMorph, optSuppressControls) {\n\t\tif (optSuppressControls) { // for dialog boxes\n\t\t\tthis.suppressControls = true;\n\t\t\tthis.barHeight = this.shortBarHeight;\n\t\t}\n\t\tvar bounds = new Rectangle(0, 0, windowWidth, this.barHeight);\n\t\n\t\t$super(bounds);\n\t\n\t\tthis.ignoreEvents();\n\t\tthis.windowMorph = windowMorph;\n\t\t\n\t\t// Note: Layout of submorphs happens in adjustForNewBounds (q.v.)\n\t\tvar label;\n\t\tif (headline instanceof lively.morphic.Text) {\n\t\t\tlabel = headline;\n\t\t} else if (headline != null) { // String\n\t\t\t// wild guess headlineString.length * 2 * font.getCharWidth(' ') + 2;\n\t\t\tvar width = headline.length * 8; \n\t\t\tlabel = new lively.morphic.Text(new Rectangle(0, 0, width, this.barHeight), headline).beLabel();\n\t\t}\n\t\tlabel.applyStyle(this.labelStyle);\n\t\tthis.label = this.addMorph(label);\n\t\tif (!this.suppressControls) {\n\t\t\tvar cell = new Rectangle(0, 0, this.barHeight-5, this.barHeight-5);\n\n\t\t\tthis.closeButton = this.addMorph(\n\t\t\t\tnew lively.morphic.WindowControl(cell, this.controlSpacing, \"X\", pt(-4,-6)));\n\t\t\tthis.closeButton.applyStyle({moveHorizontal: true});\n\t\t\t//this.closeButton.linkToStyles('titleBar_closeButton');\n\t\t\tthis.menuButton = this.addMorph(\n\t\t\t\tnew lively.morphic.WindowControl(cell, this.controlSpacing, \"M\", pt(-5,-6)));\n\t\t\t//this.menuButton.linkToStyles('titleBar_menuButton');\n\t\t\tthis.collapseButton = this.addMorph(\n\t\t\t\tnew lively.morphic.WindowControl(cell, this.controlSpacing, \"–\", pt(-3,-6)));\n\t\t\tthis.collapseButton.applyStyle({moveHorizontal: true});\n\t\t\t//this.collapseButton.linkToStyles('titleBar_collapseButton');\n\n\t\t\tthis.connectButtons(windowMorph);\n\t\t} \n\t\tthis.adjustForNewBounds(); // This will align the buttons and label properly\n\n\t\treturn this;\n\t},\n\t\n\tconnectButtons: function(w) {\n\t\tif (this.suppressControls) return;\n\t\tconnect(this.closeButton, 'getHelpText', w, 'getCloseHelp')\n\t\tconnect(this.closeButton, 'fire', w, 'initiateShutdown')\n\t\tconnect(this.menuButton, 'getHelpText', w, 'getMenuHelp')\n\t\tconnect(this.menuButton, 'fire', w, 'showTargetMorphMenu')\n\t\tconnect(this.collapseButton, 'getHelpText', w, 'getCollapseHelp')\n\t\tconnect(this.collapseButton, 'fire', w, 'toggleCollapse')\n\n\t\t// this.closeButton.plugTo(w, {getHelpText: '->getCloseHelp', fire: '->initiateShutdown'});\n\t\t// this.menuButton.plugTo(w, {getHelpText: '->getMenuHelp', fire: '->showTargetMorphMenu'});\n\t\t// this.collapseButton.plugTo(w, {getHelpText: '->getCollapseHelp', fire: '->toggleCollapse'});\n\t},\n\n},\n'layouting', {\n\tadjustForNewBounds: function($super) {\n\t\t$super();\n\t\tvar innerBounds = this.innerBounds();\n\t\tvar sp = this.controlSpacing;\n\t\t// $super();\n\t\tvar loc = this.innerBounds().topLeft().addXY(sp, sp);\n\t\tvar l0 = loc;\n\t\tvar dx = pt(this.barHeight - sp, 0);\n\t\tif (this.menuButton) { \n\t\t\tthis.menuButton.setPosition(loc); \n\t\t\tloc = loc.addPt(dx); \n\t\t}\n\t\tif (this.label) {\n\t\t\t// this.label.setPosition(pt(22,3))\n\t\t\tthis.label.align(this.label.bounds().topCenter(), this.innerBounds().topCenter());\n\t\t\tif (this.label.bounds().topLeft().x < loc.x) {\n\t\t\t\tthis.label.align(this.label.bounds().topLeft(), loc.addXY(0,-3));\n\t\t\t}\n\t\t}\n\t\tif (this.closeButton) { \n\t\t\tloc = this.innerBounds().topRight().addXY(-sp - this.closeButton.shape.getBounds().width, sp);\n\t\t\tthis.closeButton.setPosition(loc); \n\t\t\tloc = loc.subPt(dx); \n\t\t}\n\t\tif (this.collapseButton) { \n\t\t\tthis.collapseButton.setPosition(loc); \n\t\t\t//loc = loc.subPt(dx); \n\t\t};\n\t\t\n/*\t\tvar style = this.styleNamed(\"titleBar\");\n\t\tvar w = style.borderWidth || 1;\n\t\tvar r = style.borderRadius || 3;\n\t\tthis.contentMorph.setBounds(new Rectangle(w/2, w/2, innerBounds.width, this.barHeight + r));*/\n\t},\n},\n'window', {\n\tsetTitle: function(string) {\n\t\tstring = String(string).truncate(90);\n\t\tthis.label.setTextString(string);\n\t\t// FIXME too slow!!!\n\t\t// this.adjustForNewBounds(); // This will align the buttons and label properly\n\t},\n\n\tgetTitle: function(string) { return this.label.textString },\n});\n\n\nlively.morphic.Morph.subclass('lively.morphic.Window',\n'documentation', {\n documentation: \"Full-fledged windows with title bar, menus, etc.\",\n},\n'settings and state', {\n state: 'expanded',\n style: {borderWidth: 0, fill: null, borderRadius: 0, strokeOpacity: 0, adjustForNewBounds: true, enableDragging: true},\n\tisWindow: true,\n},\n'initializing', {\n initialize: function($super, targetMorph, titleString, optSuppressControls) {\n\t\t$super(new lively.morphic.Shapes.Rectangle());\n\n\t\tvar bounds = targetMorph.bounds();\n\t\tvar titleBar = this.makeTitleBar(titleString, bounds.width, optSuppressControls)\n\t\t\ttitleHeight = titleBar.bounds().height;\n\t\tthis.setBounds(bounds.withHeight(bounds.height + titleHeight));\n\t\tthis.targetMorph = this.addMorph(targetMorph);\n\t\tthis.titleBar = this.addMorph(titleBar);\n\t\t//this.contentOffset = pt(0, titleHeight - titleBar.getBorderWidth()/2); // FIXME: hack\n\t\tthis.contentOffset = pt(0, titleHeight);\n\t\ttargetMorph.setPosition(this.contentOffset);\n\t\t// this.closeAllToDnD();\n\n\t\tthis.collapsedTransform = null;\n\t\tthis.collapsedExtent = null;\n\t\tthis.expandedTransform = null;\n\t\tthis.expandedExtent = null;\n\t\tthis.ignoreEventsOnExpand = false;\n\n\t\treturn this;\n\t},\n\n},\n'window behavior', { \n makeTitleBar: function(titleString, width, optSuppressControls) {\n // Overridden in TabbedPanelMorph\n return new lively.morphic.TitleBar(titleString, width, this, optSuppressControls);\n },\n\n\tsetTitle: function(string) { this.titleBar.setTitle(string) },\n},\n'collapsing', {\n\ttoggleCollapse: function() {\n\t\treturn this.isCollapsed() ? this.expand() : this.collapse();\n\t},\n \n collapse: function() { \n if (this.isCollapsed()) return;\n this.expandedTransform = this.getTransform();\n\t\tthis.expandedExtent = this.getExtent();\n\t\tthis.expandedPosition = this.getPosition();\n\t\tthis.ignoreEventsOnExpand = this.targetMorph.areEventsIgnored();\n\t\tthis.targetMorph.ignoreEvents(); // unconditionally\n\t\tthis.targetMorph.setVisible(false);\n\t\tvar finCollapse = function () {\n \tthis.state = 'collapsed'; // Set it now so setExtent works right\n\t\t\tif (this.collapsedTransform) this.setTransform(this.collapsedTransform);\n \tif (this.collapsedExtent) this.setExtent(this.collapsedExtent);\n\t\t\tthis.shape.setBounds(this.titleBar.bounds());\n\t\t\t//this.layoutChanged();\n \t// this.titleBar.highlight(false);\n\t\t}.bind(this);\n\t\tif (this.collapsedPosition && this.collapsedPosition.dist(this.position()) > 100)\n\t\t\tthis.animatedInterpolateTo(this.collapsedPosition, 5, 50, finCollapse);\n\t\telse finCollapse();\n },\n \n expand: function() {\n if (!this.isCollapsed()) return;\n this.collapsedTransform = this.getTransform();\n this.collapsedExtent = this.innerBounds().extent();\n\t\tthis.collapsedPosition = this.position();\n var finExpand = function () {\n\t\t\tthis.state = 'expanded'; // Set it now so setExtent works right\n\t\t\t// MR: added a fix for collapsed, save windows, made it optional\n\t\t\tif (this.expandedTransform)\n\t\t\t\tthis.setTransform(this.expandedTransform); \n\t\t\tif (this.expandedExtent) {\n\t\t\t\tthis.setExtent(this.expandedExtent);\n\t\t\t\tthis.shape.setBounds(this.expandedExtent.extentAsRectangle());\n\t\t\t}\n\t\t\tthis.targetMorph.setVisible(true);\n\t\t\t// enable events if they weren't disabled in expanded form\n\t\t\tif (!this.ignoreEventsOnExpand)\n\t\t\t\tthis.targetMorph.enableEvents();\n\t\t\tthis.world().addMorphFront(this); // Bring this window forward if it wasn't already\n\t\t\t//this.layoutChanged();\n\t\t}.bind(this);\n\t\tif (this.expandedPosition && this.expandedPosition.dist(this.position()) > 100)\n\t\t\tthis.animatedInterpolateTo(this.expandedPosition, 5, 50, finExpand);\n\t\telse finExpand();\n },\n\n isCollapsed: function() { return this.state === 'collapsed' },\n},\n'window', {\n \n initiateShutdown: function() {\n if (this.isShutdown()) return;\n this.targetMorph.remove(); \n this.remove();\n this.state = 'shutdown'; // no one will ever know...\n return true;\n },\n \n showTargetMorphMenu: function() { \n this.targetMorph.openMorphMenuAt(this.getGlobalTransform().transformPoint(pt(0,0)));\n },\n\n isShutdown: function() { return this.state === 'shutdown'; },\n},\n'menu', {\n\tmorphMenu: function($super, evt) {\n\t\tvar menu = $super(evt), window = this, world = this.world();\n\t\tif (menu)\n\t\t\tmenu.addItem([\n\t\t\t\t\"change title\", function() {\n\t\t\t\t\tif (!world) return;\n\t\t\t\t\tworld.prompt('new name', function(input) { window.setTitle(input) });\t\n\t\t\t\t}\n\t\t\t]);\n\t\treturn menu;\n\t},\n},\n'mouse event handling', {\n\thighlight: function(trueForLight) {\n\t\tthis.highlighted = true;\n\t\tvar fill = this.titleBar.getStyle().fill || this.titleBar.getFill(),\n\t\t\tnewFill = trueForLight ? fill.lighter() : fill;\n\t\tthis.titleBar.setFill(newFill);\n\t},\n\tonMouseDown: function($super, evt) {\n\t\tthis.world().submorphs.forEach(function(ea) { ea.isWindow && ea.highlight(false) })\n\t\tthis.highlight(true);\n\t\t//this.owner.addMorph(this); // come forward\n\t\treturn $super(evt);\n\t},\n\tonDragStart: function(evt) {\n\t\tthis.prevDragPos = evt.mousePoint;\n\t\treturn true;\n\t},\n\tonDrag: function(evt) {\n\t\tvar movedBy = evt.mousePoint.subPt(this.prevDragPos);\n\t\tthis.prevDragPos = evt.mousePoint;\n\t\tthis.moveBy(movedBy);\n\t\treturn true;\n\t},\n},\n'debugging', {\n toString: function($super) {\n return $super() + ' ' + (this.titleBar ? this.titleBar.getTitle() : '');\n },\n});\n\nObject.subclass('lively.morphic.App',\n'properties', {\n\tinitialViewExtent: pt(350, 200),\n},\n'initializing', {\n\tbuildView: function(extent) {\n\t\tthrow new Error('buildView not implemented!')\n\t},\n},\n'accessing', {\n\tgetInitialViewExtent: function(world, hint) {\n\t\treturn hint || this.initialViewExtent;\n\t},\n},\n'opening', {\n\topenIn: function(world, pos) {\n\t\tvar view = this.buildView(this.getInitialViewExtent(world));\n\t\tview.ownerApp = this; // for debugging\n\t\tthis.view = view;\n\t\treturn world.addMorph(view);\n\t},\n},\n'removing', {\n\tremoveTopLevel: function() {\n\t\tif (this.view) this.view.remove();\n\t},\n});\n\nlively.morphic.App.subclass('lively.morphic.AbstractDialog',\n'documentation', {\n\tconnections: ['result'],\n},\n'properties', {\n\tinitialViewExtent: pt(300, 90),\n\tinset: 4,\n},\n'initializing', {\n\tinitialize: function(message, callback) {\n\t\tthis.result = null;\n\t\tthis.message = message || '?';\n\t\tif (callback) this.setCallback(callback);\n\t},\n\tbuildPanel: function(bounds) {\n\t\tthis.panel = new lively.morphic.Box(bounds);\n\t\tthis.panel.applyStyle({\n\t\t\tfill: Color.rgb(210,210,210),\n\t\t\tborderColor: Color.gray.darker(), \n\t\t\tborderWidth: 1,\n\t\t})\n\t},\n\tbuildLabel: function() {\n\t\tvar bounds = new Rectangle(this.inset, this.inset, this.panel.getExtent().x - 2*this.inset, 20);\n\t\tthis.label = this.panel.addMorph(new lively.morphic.Text(bounds, this.message));\n\t\tthis.label.beLabel();\n\t},\n\tbuildCancelButton: function() {\n\t\tvar bounds = new Rectangle(0,0, 60, 30),\n\t\t\tbtn = new lively.morphic.Button(bounds, 'Cancel');\n\t\tbtn.align(btn.bounds().bottomRight().addXY(this.inset, this.inset), this.panel.bounds().bottomRight())\n\t\tthis.cancelButton = this.panel.addMorph(btn);\n\t\tlively.bindings.connect(btn, 'fire', this, 'removeTopLevel')\n\t},\n\tbuildOKButton: function() {\n\t\tvar bounds = new Rectangle(0,0, 60, 30),\n\t\t\tbtn = new lively.morphic.Button(bounds, 'OK');\n\t\tbtn.align(btn.bounds().bottomRight().addXY(this.inset, 0), this.cancelButton.bounds().bottomLeft())\n\t\tthis.okButton = this.panel.addMorph(btn);\n\t\tlively.bindings.connect(btn, 'fire', this, 'removeTopLevel')\n\t},\n\tbuildView: function(extent) {\n\t\tthis.buildPanel(extent.extentAsRectangle());\n\t\tthis.buildLabel();\n\t\tthis.buildCancelButton();\n\t\tthis.buildOKButton();\n\t\treturn this.panel;\n\t},\n},\n'callbacks', {\n\tsetCallback: function(func) {\n\t\tthis.callback = func;\n\t\tconnect(this, 'result', this, 'triggerCallback')\n\t},\n\ttriggerCallback: function(resultBool) {\n\t\tthis.removeTopLevel();\n\t\tif (this.callback) this.callback(resultBool);\n\t},\n});\n\nlively.morphic.AbstractDialog.subclass('lively.morphic.ConfirmDialog',\n'properties', {\n\tinitialViewExtent: pt(240, 70),\n},\n'initializing', {\n\tbuildView: function($super, extent) {\n\t\tvar panel = $super(extent);\n\n\t\tlively.bindings.connect(this.cancelButton, 'fire', this, 'result', {\n\t\t\tconverter: function() { return false }});\n\t\tlively.bindings.connect(this.okButton, 'fire', this, 'result', {\n\t\t\tconverter: function() { return true }});\n\n\t\treturn panel;\n\t},\n});\nlively.morphic.AbstractDialog.subclass('lively.morphic.PromptDialog',\n'initializing', {\n\tinitialize: function($super, label, callback, defaultInput) {\n\t\t$super(label, callback, defaultInput);\n\t\tthis.defaultInput = defaultInput;\n\t},\n\tbuildTextInput: function(bounds) {\n\t\tvar input = new lively.morphic.Text(this.label.bounds(), this.defaultInput || '');\n\t\tinput.align(input.getPosition(), this.label.bounds().bottomLeft());\n\t\tthis.inputText = this.panel.addMorph(input);\n\t},\n\n\tbuildView: function($super, extent) {\n\t\tvar panel = $super(extent);\n\t\tthis.buildTextInput();\n\n\t\tlively.bindings.connect(this.cancelButton, 'fire', this, 'result', {\n\t\t\tconverter: function() { return null }});\n\t\tlively.bindings.connect(this.okButton, 'fire', this, 'result', {\n\t\t\tconverter: function() { return this.targetObj.inputText.textString }})\n\n\t\treturn panel;\n\t},\n\n});\n\n\nlively.morphic.App.subclass('lively.morphic.WindowedApp',\n'opening', {\n\topenIn: function(world, pos) {\n\t\tvar view = this.buildView(this.getInitialViewExtent(world)),\n\t\t\twindow = world.addFramedMorph(view, this.defaultTitle);\n\t\tview.ownerApp = this; // for debugging\n\t\tthis.view = window;\n\t\treturn window;\n\t},\n});\nlively.morphic.WindowedApp.subclass('lively.morphic.TextEditor',\n'settings', {\n\tdefaultTitle: 'TextEditor',\n\tinitialViewExtent: pt(500, 400),\n},\n'initializing', {\n\tbuildView: function(extent) {\n\t\tvar panel = lively.morphic.Morph.makeRectangle(0,0, extent.x, extent.y);\n\t\tpanel.applyStyle({fill: Color.gray.lighter(2), resizeWidth: true, resizeHeight: true, adjustForNewBounds: true});\n\n\t\tvar bounds;\n\t\tbounds = new Rectangle(0,0, extent.x, 30);\n\t\tvar urlText = new lively.morphic.Text(bounds, URL.source.toString());\n\t\turlText.beInputLine({resizeWidth: true});\n\t\turlText.setPadding(Rectangle.inset(5,5,5,5));\n\t\tpanel.urlText = panel.addMorph(urlText);\n\t\tconnect(urlText, 'savedTextString', this, 'setCurrentURL');\n\t\tconnect(this, 'currentURL', this, 'loadFile');\n\n\t\tbounds = new Rectangle(0, bounds.height, extent.x/3, 30);\n\t\tvar saveBtn = new lively.morphic.Button(bounds, 'save');\n\t\tsaveBtn.applyStyle({resizeWidth: true})\n\t\tpanel.addMorph(saveBtn);\n\t\tconnect(saveBtn, 'fire', this, 'saveFile');\n\n\t\tbounds = rect(bounds.topRight(), bounds.bottomRight().addXY(extent.x/3, 0));\n\t\tvar loadBtn = new lively.morphic.Button(bounds, 'load')\n\t\tloadBtn.applyStyle({resizeWidth: false, moveHorizontal: true})\n\t\tpanel.addMorph(loadBtn);\n\t\tconnect(loadBtn, 'fire', this, 'loadFile');\n\n\t\tbounds = rect(bounds.topRight(), bounds.bottomRight().addXY(extent.x/3, 0));\n\t\tvar removeBtn = new lively.morphic.Button(bounds, 'remove')\n\t\tremoveBtn.applyStyle({resizeWidth: false, moveHorizontal: true})\n\t\tpanel.addMorph(removeBtn)\n\t\tconnect(removeBtn, 'fire', this, 'removeFile');\n\n\t\tbounds = rect(pt(0, bounds.maxY()), panel.bounds().bottomRight());\n\t\tvar contentMorph = new lively.morphic.Text(bounds, 'emtpy');\n\t\tcontentMorph.applyStyle({\n\t\t\toverflow: 'scroll', \n\t\t\tfixedHeight: true,\n\t\t\tfontFamily: 'Monaco', \n\t\t\tfontSize: 10,\n\t\t\tresizeWidth: true, \n\t\t\tresizeHeight: true,\n\t\t\tpadding: Rectangle.inset(5,5,5,5)});\n\t\tpanel.contentMorph = panel.addMorph(contentMorph);\n\t\tconnect(contentMorph, 'savedTextString', this, 'saveFile');\n\n\t\tthis.panel = panel;\n\t\treturn panel;\n\t},\n},\n'network', {\n\tsetCurrentURL: function(urlString) {\n\t\tthis.currentURL = new URL(urlString);\n\t\talert(this.currentURL);\n\t},\n\tcreateWebResource: function() { return new WebResource(this.getURL()) },\n\tgetURL: function() { return new URL(this.currentURL || this.panel.urlText.textString) },\n},\n'file functions', {\n\tgetEditorContent: function() { return this.panel.contentMorph.textString },\n\tsaveFile: function() {\n\t\tvar webR = this.createWebResource();\n\t\twebR\n\t\t\t.statusMessage('Successfully saved ' + webR.getURL(), 'Error saving ' + webR.getURL(), true)\n\t\t\t.put(this.getEditorContent());\n\t},\t\n\tloadFile: function() {\n\t\tvar res = this.createWebResource().forceUncached();\n\t\tres.get();\n\t\tif (res.isExisting) {\n\t\t\tthis.panel.contentMorph.setTextString(res.content);\n\t\t\treturn\n\t\t} else if (res.getURL().isLeaf()) {\n\t\t\tthis.askToCreateFile(res);\n\t\t} else {\n\t\t\talert('Cannot open/create document at ' + res.getURL());\n\t\t}\n\t},\n\taskToCreateFile: function(webResource) {\n\t\tvar question = 'No file ' + webResource.getURL() + ' exists...! Create it?';\n\t\tthis.panel.world().confirm(question, function(input) {\n\t\t\tif (!input) return;\n\t\t\twebResource.statusMessage(\n\t\t\t\t'Successfully created ' + webResource.getURL().filename(),\n\t\t\t\t'Cannot create ' + webResource.getURL().filename(), true)\n\t\t\twebResource.put('empty file');\n\t\t\tthis.loadFile();\n\t\t}.bind(this));\n\t},\n\tremoveFile: function() {\n\t\tvar webR = this.createWebResource();\n\t\tif (!webR.exists()) return;\n\t\twebR.statusMessage('Successfully deleted','Error deleting', true).del();\n\t},\n});\n\n\nlively.morphic.World.addMethods(\n'positioning', {\n\tpositionForNewMorph: function (newMorph, relatedMorph) {\n\t\t// this should be much smarter than the following:\n\t\tif (relatedMorph)\n\t\t\treturn relatedMorph.bounds().topLeft().addPt(pt(5, 0));\n\t\tvar pos = this.firstHand().getPosition();\n\t\tif (!newMorph) return pos;\n\t\tvar viewRect = this.getBounds(), // this.windowBounds(),\n\t\t\tnewMorphBounds = pos.extent(newMorph.getExtent());\n\t\treturn viewRect.containsRect(newMorphBounds) ?\n\t\t\tpos : viewRect.center().subPt(newMorphBounds.extent().scaleBy(0.5));\n\t},\n},\n'windows', {\n\taddFramedMorph: function(morph, title, optLoc, optSuppressControls) {\n\t\tvar w = this.addMorph(new lively.morphic.Window(morph, title || 'Window', optSuppressControls));\n\t\tw.setPosition(optLoc || this.positionForNewMorph(morph));\n\t\treturn w;\n\t},\n\n\taddTextWindow: function(spec) {\n\t\t// FIXME: typecheck the spec \n\t\tif (Object.isString(spec.valueOf())) spec = {content: spec}; // convenience\n\t\tvar extent = spec.extent || pt(500, 200),\n\t\t\ttextMorph = new lively.morphic.Text(extent.extentAsRectangle(), spec.content || \"\"),\n\t\t\tpane = this.internalAddWindow(textMorph, spec.title, spec.position);\n\t\ttextMorph.applyStyle({overflow: 'auto', fixedWidth: true, fixedHeight: true, resizeWidth: true, resizeHeight: true});\n\t\treturn pane;\n\t},\n\n\tinternalAddWindow: function(morph, title, pos) {\n\t\tmorph.applyStyle({borderWidth: 2, borderColor: Color.black});\n\t\tpos = pos || this.firstHand().getPosition().subPt(pt(5, 5));\n\t\tvar win = this.addFramedMorph(morph, String(title || \"\"), pos);\n\t\treturn morph;\n\t},\n},\n'dialogs', {\n\topenDialog: function(dialog) {\n\t\tvar window = dialog.openIn(this, pt(0,0));\n\t\twindow.setPosition(this.positionForNewMorph(window));\n\t\treturn dialog;\n\t},\n\tconfirm: function (message, callback) {\n\t\treturn this.openDialog(new lively.morphic.ConfirmDialog(message, callback));\n\t},\n\tprompt: function (message, callback, defaultInput) {\n\t\treturn this.openDialog(new lively.morphic.PromptDialog(message, callback, defaultInput))\n\t},\n});\n\n\n}) // end of module","shape":{"__isSmartRef__":true,"id":413},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"scroll","_FontFamily":"Monaco","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":416},"_Position":{"__isSmartRef__":true,"id":425},"_MaxTextWidth":991,"_MaxTextHeight":815,"textColor":{"__isSmartRef__":true,"id":91},"padding":{"__isSmartRef__":true,"id":426},"layout":{"__isSmartRef__":true,"id":427},"_FontSize":10,"_Padding":{"__isSmartRef__":true,"id":426},"owner":{"__isSmartRef__":true,"id":273},"attributeConnections":[{"__isSmartRef__":true,"id":428}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"savedTextString":"module('lively.ide.BrowserFramework').requires('lively.bindings', Config.isNewMorphic ? 'lively.morphic.Widgets' : 'lively.Widgets').toRun(function() {\n\nWidget.subclass('lively.ide.BasicBrowser',\n'settings', {\n\tdocumentation: 'Abstract widget with three list panes and one text pane. Uses nodes to display and manipulate content.',\n\temptyText: '-----',\n\tconnections: ['targetURL', 'sourceString', 'pane1Selection', 'pane2Selection', 'pane3Selection', 'pane4Selection'],\n},\n'initializing', {\n\n\tinitialViewExtent: pt(820, 550),\n\n\tpanelSpec: [\n\t\t\t['locationPane', newTextPane, new Rectangle(0, 0, 0.8, 0.04)],\n\t\t\t['codeBaseDirBtn', function(bnds) { \n\t\t\t\t\treturn new ButtonMorph(bnds) }, new Rectangle(0.8, 0, 0.12, 0.04)],\n\t\t\t['localDirBtn', function(bnds) { \n\t\t\t\t\treturn new ButtonMorph(bnds) }, new Rectangle(0.92, 0, 0.08, 0.04)],\n\t\t\t['Pane1', newDragnDropListPane, new Rectangle(0, 0.05, 0.25, 0.35)],\n\t\t\t['Pane2', newDragnDropListPane, new Rectangle(0.25, 0.05, 0.25, 0.35)],\n\t\t\t['Pane3', newDragnDropListPane, new Rectangle(0.5, 0.05, 0.25, 0.35)],\n\t\t\t['Pane4', newDragnDropListPane, new Rectangle(0.75, 0.05, 0.25, 0.35)],\n\t\t\t['midResizer', function(bnds) { \n\t\t\t\t\treturn new HorizontalDivider(bnds) }, new Rectangle(0, 0.44, 1, 0.01)],\n\t\t\t['sourcePane', newTextPane, new Rectangle(0, 0.45, 1, 0.49)],\n\t\t\t['bottomResizer', function(bnds) { \n\t\t\t\t\treturn new HorizontalDivider(bnds) }, new Rectangle(0, 0.94, 1, 0.01)],\n\t\t\t['commentPane', newTextPane, new Rectangle(0, 0.95, 1, 0.05)]\n\t\t],\n\n\tallPaneNames: ['Pane1', 'Pane2', 'Pane3', 'Pane4'],\n\n\tfilterPlaces: ['Root', 'Pane1', 'Pane2', 'Pane3', 'Pane4'],\n\n\tformals: [\"Pane1Content\", \"Pane1Selection\", \"Pane1Menu\", \"Pane1Filters\",\n\t\t\t\"Pane2Content\", \"Pane2Selection\", \"Pane2Menu\", \"Pane2Filters\",\n\t\t\t\"Pane3Content\", \"Pane3Selection\", \"Pane3Menu\", \"Pane3Filters\",\n\t\t\t\"Pane4Content\", \"Pane4Selection\", \"Pane4Menu\", \"Pane4Filters\",\n\t\t\t\"SourceString\", \"StatusMessage\", \"RootFilters\"],\n\n\tinitialize: function($super) {\n\t\t$super();\n\t\tthis.buttonCommands = [];\n\t\t// init filters\n\t\tthis.filterPlaces.forEach(function(ea) { /*identity filter*/\t\n\t\t\tthis['set' + ea + 'Filters']([new lively.ide.NodeFilter()]);\n\t\t}, this);\n\t},\n\tsetupListPanes: function() {\n\t\tvar browser = this;\n\t\tfunction setupListPane(paneName) {\n var list = browser.panel[paneName].innerMorph();\n\t\t\tconnect(list, 'selection', browser, 'set' + paneName + 'Selection', {\n\t\t\t\tupdater: function($upd, v) { $upd(v, this.sourceObj) }});\n\t\t\tlist.plugTo(browser, {\n\t\t\t\tgetList: '->get' + paneName + 'Content',\n\t\t\t\tupdateList: '<-set' + paneName + 'Content',\n\t\t\t})\n // list.owner.connectModel(model.newRelay(\n\t\t\t\t// {List: (\"-\" + paneName + \"Content\"),\n // Selection: ( paneName + 'Selection'),\n // Menu: (\"-\" + paneName + \"Menu\")}), true);\n list.withAllSubmorphsDo(function() {\n\t\t\t\tif (this.constructor == SliderMorph) return;\n this.onMouseDown = this.onMouseDown.wrap(function(proceed, evt) {\n\t\t\t\t\tbrowser.ensureSourceNotAccidentlyDeleted(proceed.curry(evt));\n });\n })\n }\n\t\tthis.allPaneNames.forEach(function(ea) { setupListPane(ea) });\n\t},\n\tsetupSourceInput: function() {\n\t\tthis.sourceInput().maxSafeSize = 2e6;\n\n\t\tthis.panel.sourcePane.innerMorph().noEval = true;\n\n\t\tthis.panel.sourcePane.innerMorph().plugTo(this, {\n\t\t\tsetTextString: '<-setSourceString',\n\t\t\tsavedTextString: '->setSourceString',\n\t\t});\n\t\tthis.setSourceString('-----');\n\n\t\tthis.panel.sourcePane.linkToStyles([\"Browser_codePane\"])\n\t\tthis.panel.sourcePane.innerMorph().linkToStyles([\"Browser_codePaneText\"])\n\t\tthis.panel.sourcePane.clipMorph.setFill(null);\n\t},\n\n\tbuildView: function (extent) {\n\n\t\textent = extent || this.initialViewExtent;\n\n\t\tvar panel = new lively.ide.BrowserPanel(extent);\n\t\tPanelMorph.makePanedPanel(extent, this.panelSpec, panel);\n\t\tthis.panel = panel;\n\n\t\tthis.setupListPanes();\n\t\tthis.setupSourceInput();\n\t\tthis.setupLocationInput();\n\n\t\t//panel.statusPane.connectModel(model.newRelay({Text: \"-StatusMessage\"}));\n\t\tthis.buildCommandButtons(panel);\n\t\tthis.setupResizers(panel);\n\n\t\tpanel.commentPane.linkToStyles([\"Browser_commentPane\"])\n\t\tpanel.commentPane.innerMorph().linkToStyles([\"Browser_commentPaneText\"])\n\t\tpanel.commentPane.clipMorph.setFill(null);\n\n\t\tpanel.ownerWidget = this;\n\n\t\tthis.start();\n\n\t\treturn panel;\n\t},\n\t\n\tsetupLocationInput: function() {\n\t\tvar locInput = this.locationInput();\n\t\tif (!locInput) return;\n\t\tlocInput.beInputLine();\n\t\tlocInput.noEval = true;\n\t\tlocInput.linkToStyles([\"Browser_locationInput\"])\n\t},\n\t\n\tsetupResizers: function() {\n\t\tvar panel = this.panel;\n\t\t\n\t\t// for compatibility to old pages -- FIXME remove\n\t\tif (!panel.bottomResizer || !panel.midResizer) return \n\t\t\n\t\t// resizer in the middle resiszes top panes, buttons and source pane\n\t\tthis.allPaneNames.collect(function(name) {\n\t\t\tpanel.midResizer.addScalingAbove(panel[name]);\n\t\t});\n\t\tpanel.midResizer.addScalingBelow(panel.sourcePane)\n\n\t\t// buttons\n\t\tpanel.submorphs.forEach(function(m) {\n\t\t\tif (m.constructor == ButtonMorph && m != panel.codeBaseDirBtn && m != panel.localDirBtn)\n\t\t\t\tpanel.midResizer.addFixed(m);\n\t\t})\n\n\t\t// bottom resizer divides code and comment pane\n\t\tpanel.bottomResizer.addScalingAbove(panel.sourcePane)\n\t\tpanel.bottomResizer.addScalingBelow(panel.commentPane)\n\n\t\tpanel.bottomResizer.linkToStyles([\"Browser_resizer\"]);\n\t\tpanel.midResizer.linkToStyles([\"Browser_resizer\"]);\n\t},\n\t\n\tbuildCommandButtons: function(morph) {\n\t\tvar cmds = this.commands()\n\t\t\t.collect(function(ea) { return new ea(this) }, this)\n\t\t\t.select(function(ea) { return ea.wantsButton() });\n\t\tif (cmds.length === 0) return;\n\n\t\tvar height = Math.round(morph.getExtent().y * 0.04);\n\t\tvar width = morph.getExtent().x / cmds.length\n\t\tvar y = morph.getExtent().y * 0.44 - height;\n\n\t\tvar btns = cmds.forEach(function(cmd, i) {\n\t\t\t// Refactor me!!!\n\t\t\tvar btn = new ButtonMorph(new Rectangle(i*width, y, width, height));\n\t\t\tbtn.command = cmd; // used in connection\n\t\t\tbtn.setLabel(cmd.asString());\n\t\t\tlively.bindings.connect(btn, 'fire', cmd, 'trigger');\n\t\t\tlively.bindings.connect(btn, 'fire', btn, 'setLabel', {\n\t\t\t\tconverter: function() { return this.getSourceObj().command.asString() }\n\t\t\t});\n\t\t\t// *wuergs* mixed old model and connect FIXME!!!\n\t\t\tvar btnModel = {\n\t\t\t\tsetIsActive: function(val) { btn.onIsActiveUpdate(val) },\n\t\t\t\tgetIsActive: function(val) { return cmd.isActive() }\n\t\t\t};\n\t\t\tbtn.connectModel({model: btnModel, setIsActive: 'setIsActive', getIsActive: 'getIsActive'});\n\t\t\tcmd.button = btn; // used in onPaneXUpdate, to be removed!!!\n\n\t\t\tmorph.addMorph(btn);\n\t\t\tbtnModel.setIsActive(cmd.isActive());\n\t\t})\n\t\tthis.buttonCommands = cmds;\n\t},\n\n start: function() {\n this.setPane1Content(this.childsFilteredAndAsListItems(this.rootNode(), this.getRootFilters()));\n\t\tthis.mySourceControl().registerBrowser(this);\n },\n\t\n\tstop: function() {\n\t\tthis.mySourceControl().unregisterBrowser(this);\n },\n\n},\n'generated formal getters and setters', {\n\tgenerateGetterAndSetterSource: function() {\n\t\tthis.formals.inject('', function(str, spec) {\n\t\t\tstr += Strings.format('get%s: function() { return this.%s },\\n', spec, spec);\n\t\t\tstr += Strings.format('set%s: function(value, source) {\\n\\tthis.%s = value;\\n\\tif (this.on%sUpdate) this.on%sUpdate(value, source);\\n\\treturn value\\n},\\n', spec, spec, spec, spec);\n\t\t\treturn str;\n\t\t})\n\t},\n\tgetPane1Content: function() { return this.Pane1Content },\n\tsetPane1Content: function(value, source) {\n\t\tthis.Pane1Content = value;\n\t\tif (this.onPane1ContentUpdate) this.onPane1ContentUpdate(value, source);\n\t\treturn value\n\t},\n\tgetPane1Selection: function() { return this.Pane1Selection },\n\tsetPane1Selection: function(value, source) {\n\t\tthis.Pane1Selection = value;\n\t\tif (this.onPane1SelectionUpdate) this.onPane1SelectionUpdate(value, source);\n\t\treturn value\n\t},\n\tgetPane1Menu: function() { return this.Pane1Menu },\n\tsetPane1Menu: function(value, source) {\n\t\tthis.Pane1Menu = value;\n\t\tif (this.onPane1MenuUpdate) this.onPane1MenuUpdate(value, source);\n\t\treturn value\n\t},\n\tgetPane1Filters: function() { return this.Pane1Filters },\n\tsetPane1Filters: function(value, source) {\n\t\tthis.Pane1Filters = value;\n\t\tif (this.onPane1FiltersUpdate) this.onPane1FiltersUpdate(value, source);\n\t\treturn value\n\t},\n\tgetPane2Content: function() { return this.Pane2Content },\n\tsetPane2Content: function(value, source) {\n\t\tthis.Pane2Content = value;\n\t\tif (this.onPane2ContentUpdate) this.onPane2ContentUpdate(value, source);\n\t\treturn value\n\t},\n\tgetPane2Selection: function() { return this.Pane2Selection },\n\tsetPane2Selection: function(value, source) {\n\t\tthis.Pane2Selection = value;\n\t\tif (this.onPane2SelectionUpdate) this.onPane2SelectionUpdate(value, source);\n\t\treturn value\n\t},\n\tgetPane2Menu: function() { return this.Pane2Menu },\n\tsetPane2Menu: function(value, source) {\n\t\tthis.Pane2Menu = value;\n\t\tif (this.onPane2MenuUpdate) this.onPane2MenuUpdate(value, source);\n\t\treturn value\n\t},\n\tgetPane2Filters: function() { return this.Pane2Filters },\n\tsetPane2Filters: function(value, source) {\n\t\tthis.Pane2Filters = value;\n\t\tif (this.onPane2FiltersUpdate) this.onPane2FiltersUpdate(value, source);\n\t\treturn value\n\t},\n\tgetPane3Content: function() { return this.Pane3Content },\n\tsetPane3Content: function(value, source) {\n\t\tthis.Pane3Content = value;\n\t\tif (this.onPane3ContentUpdate) this.onPane3ContentUpdate(value, source);\n\t\treturn value\n\t},\n\tgetPane3Selection: function() { return this.Pane3Selection },\n\tsetPane3Selection: function(value, source) {\n\t\tthis.Pane3Selection = value;\n\t\tif (this.onPane3SelectionUpdate) this.onPane3SelectionUpdate(value, source);\n\t\treturn value\n\t},\n\tgetPane3Menu: function() { return this.Pane3Menu },\n\tsetPane3Menu: function(value, source) {\n\t\tthis.Pane3Menu = value;\n\t\tif (this.onPane3MenuUpdate) this.onPane3MenuUpdate(value, source);\n\t\treturn value\n\t},\n\tgetPane3Filters: function() { return this.Pane3Filters },\n\tsetPane3Filters: function(value, source) {\n\t\tthis.Pane3Filters = value;\n\t\tif (this.onPane3FiltersUpdate) this.onPane3FiltersUpdate(value, source);\n\t\treturn value\n\t},\n\tgetPane4Content: function() { return this.Pane4Content },\n\tsetPane4Content: function(value, source) {\n\t\tthis.Pane4Content = value;\n\t\tif (this.onPane4ContentUpdate) this.onPane4ContentUpdate(value, source);\n\t\treturn value\n\t},\n\tgetPane4Selection: function() { return this.Pane4Selection },\n\tsetPane4Selection: function(value, source) {\n\t\tthis.Pane4Selection = value;\n\t\tif (this.onPane4SelectionUpdate) this.onPane4SelectionUpdate(value, source);\n\t\treturn value\n\t},\n\tgetPane4Menu: function() { return this.Pane4Menu },\n\tsetPane4Menu: function(value, source) {\n\t\tthis.Pane4Menu = value;\n\t\tif (this.onPane4MenuUpdate) this.onPane4MenuUpdate(value, source);\n\t\treturn value\n\t},\n\tgetPane4Filters: function() { return this.Pane4Filters },\n\tsetPane4Filters: function(value, source) {\n\t\tthis.Pane4Filters = value;\n\t\tif (this.onPane4FiltersUpdate) this.onPane4FiltersUpdate(value, source);\n\t\treturn value\n\t},\n\tgetSourceString: function() { return this.SourceString },\n\tsetSourceString: function(value, source) {\n\t\tthis.SourceString = value;\n\t\tif (this.onSourceStringUpdate) this.onSourceStringUpdate(value, source);\n\t\treturn value\n\t},\n\tgetStatusMessage: function() { return this.StatusMessage },\n\tsetStatusMessage: function(value, source) {\n\t\tthis.StatusMessage = value;\n\t\tif (this.onStatusMessageUpdate) this.onStatusMessageUpdate(value, source);\n\t\treturn value\n\t},\n\tgetRootFilters: function() { return this.RootFilters },\n\tsetRootFilters: function(value, source) {\n\t\tthis.RootFilters = value;\n\t\tif (this.onRootFiltersUpdate) this.onRootFiltersUpdate(value, source);\n\t\treturn value\n\t},\n},\n'testing', {\n hasUnsavedChanges: function() {\n return this.panel.sourcePane.innerMorph().hasUnsavedChanges();\n },\n},\n'accessing', {\n\n\tcommands: function() { return [] },\n\n\tlocationInput: function() { return this.panel.locationPane && this.panel.locationPane.innerMorph() },\n\t\n\tsourceInput: function() { return this.panel.sourcePane.innerMorph() },\n\n\tmySourceControl: function() {\n\t\tvar ctrl = lively.ide.startSourceControl();\n\t\tif (!ctrl) throw new Error('Browser has no SourceControl!');\n\t\treturn ctrl;\n\t},\n},\n'browser nodes', {\n\n rootNode: function() {\n throw dbgOn(new Error('To be implemented from subclass'));\n },\n \n\tselectedNode: function() {\n\t\treturn this.getPane4Selection() || this.getPane3Selection() || this.getPane2Selection() || this.getPane1Selection();\n\t},\n\n\tallNodes: function() {\n\t\treturn this.allPaneNames.collect(function(ea) { return this.nodesInPane(ea) }, this).flatten();\n\t},\n\n\tsiblingsFor: function(node) {\n\t\tvar siblings = this.allPaneNames\n\t\t.collect(function(ea) { return this.nodesInPane(ea) }, this)\n\t\t.detect(function(ea) { return ea.include(node) });\n\t\tif (!siblings) return [];\n\t\treturn siblings.without(node);\n\t},\n\n\tnodesInPane: function(paneName) { // panes have listItems, no nodes\n\t\tvar listItems = this['get' + paneName + 'Content']();\n\t\tif (!listItems) return [];\n\t\tif (!listItems.collect) {\n\t\t\tconsole.log('Weird bug: listItems: ' + listItems + ' has no collect in pane ' + paneName);\n\t\t\treturn [];\n\t\t}\n\t\treturn listItems.collect(function(ea) { return ea.value }) \n\t},\n\t\n\tpaneNameOfNode: function(node) {\n \treturn this.allPaneNames.detect(function(pane) {\n\t\t\t// FIXME quality\n\t\t\treturn this.nodesInPane(pane).any(function(otherNode) { return otherNode.target == node.target })\n\t\t}, this);\n\t},\n\n\tselectionInPane: function(pane) {\n\t\treturn this['get'+pane+'Selection'](); \n\t},\n\n\tchildsFilteredAndAsListItems: function(node, filters) {\n \treturn \tthis.filterChildNodesOf(node, filters || []).collect(function(ea) { return ea.asListItem() });\n },\n\n filterChildNodesOf: function(node, filters) {\n \treturn filters.inject(node.childNodes(), function(nodes, filter) {\n \t\treturn filter.apply(nodes)\n \t});\n },\n\n \tinPaneSelectNodeNamed: function(paneName, nodeName) {\n\t\treturn this.inPaneSelectNodeMatching(paneName, function(node) {\n\t\t\treturn node && node.asString && node.asString().replace(/ ?\\(.*\\)/,\"\").endsWith(nodeName) });\n\t},\n\n\tinPaneSelectNodeMatching: function(paneName, test) {\n\t\tvar listItems = this['get' + paneName + 'Content']();\n\t\tif (!listItems) return null;\n\t\tvar nodes = listItems.pluck('value');\n\t\tvar wanted = nodes.detect(test);\n\t\tif (!wanted) return null;\n\t\tvar list = this.panel[paneName].innerMorph();\n\t\t// list.onSelectionUpdate(wanted);\n\t\tlist.setSelection(wanted);\n\t\treturn wanted;\n\t},\n\n\tselectNode: function(node) {\n\t\treturn this.selectNodeMatching(function(otherNode) { return node == otherNode });\n\t\t// var paneName = this.paneNameOfNode(node);\n\t\t// if (!paneName) return;\n\t\t// this.inPaneSelectNodeNamed(paneName, node.asString());\n\t},\n\n\tselectNodeMatching: function(testFunc) {\n\t\tfor (var i = 0; i < this.allPaneNames.length; i++) {\n\t\t\tvar paneName = this.allPaneNames[i];\n\t\t\tvar node = this.inPaneSelectNodeMatching(paneName, testFunc);\n\t\t\tif (node) return node;\n\t\t}\n\t\treturn null;\n\t},\n\tselectNodeNamed: function(name) {\n\t\treturn this.selectNodeMatching(function(node) {\n\t\t\treturn node && node.asString && node.asString().include(name);\n\t\t});\n\t},\n\tselectNothing: function() {\n\t\tif (this.panel) this.setPane1Selection(null, true);\n\t},\n\n\n onPane1SelectionUpdate: function(node) {\n\n\t\tthis.pane1Selection = node; // for bindings\n\n\t\tthis.panel['Pane2'] && this.panel['Pane2'].innerMorph().clearFilter(); // FIXME, lis filter, not a browser filter!\n\t\t\n this.setPane2Selection(null, true);\n this.setPane2Content([this.emptyText]);\n if (!node) return\n\n\t\tthis.setPane2Content(this.childsFilteredAndAsListItems(node, this.getPane1Filters()));\n \tthis.setSourceString(node.sourceString());\n\t\tthis.updateTitle();\n\n this.setPane1Menu(node.menuSpec().concat(this.commandMenuSpec('Pane1')));\n\t\tthis.setPane2Menu(this.commandMenuSpec('Pane2'));\n\t\tthis.setPane3Menu(this.commandMenuSpec('Pane3'));\n\n\t\tthis.buttonCommands.forEach(function(cmd) { cmd.button.setIsActive(cmd.isActive()) })\n\n\t\tnode.onSelect();\n },\n \n onPane2SelectionUpdate: function(node) {\n\n\t\tthis.pane2Selection = node; // for bindings\n\n\t\tthis.panel['Pane3'] && this.panel['Pane3'].innerMorph().clearFilter(); // FIXME, lis filter, not a browser filter!\n\t\n this.setPane3Selection(null);\n this.setPane3Content([this.emptyText]); \n if (!node) return\n\n this.setPane3Content(this.childsFilteredAndAsListItems(node, this.getPane2Filters()));\n this.setSourceString(node.sourceString());\n\t\tthis.updateTitle();\n\n\t\tthis.setPane2Menu(node.menuSpec().concat(this.commandMenuSpec('Pane2')));\n\t\tthis.setPane3Menu(this.commandMenuSpec('Pane3'));\n\n\t\tthis.buttonCommands.forEach(function(cmd) { cmd.button.setIsActive(cmd.isActive()) })\n\n\t\tnode.onSelect();\n },\n \n\tonPane3SelectionUpdate: function(node) {\n\t\tthis.pane3Selection = node; // for bindings\n\n\t\tthis.panel['Pane4'] && this.panel['Pane4'].innerMorph().clearFilter(); // FIXME, lis filter, not a browser filter!\n\t\n this.setPane4Selection(null);\n this.setPane4Content([this.emptyText]); \n if (!node) return;\n\n this.setPane4Content(this.childsFilteredAndAsListItems(node, this.getPane3Filters()));\n this.setSourceString(node.sourceString());\n\t\tthis.updateTitle();\n\n\t\tthis.setPane3Menu(node.menuSpec().concat(this.commandMenuSpec('Pane3')));\n\t\tthis.setPane4Menu(this.commandMenuSpec('Pane4'));\n\n\t\tthis.buttonCommands.forEach(function(cmd) { cmd.button.setIsActive(cmd.isActive()) })\n\n\t\tnode.onSelect();\n },\n\n\tonPane4SelectionUpdate: function(node) {\n\t\tthis.pane4Selection = node; // for bindings\n\n\t\tif (!node) return;\n\n\t\tthis.setSourceString(node.sourceString());\n\t\tthis.updateTitle();\n\n\t\tthis.setPane4Menu(node.menuSpec().concat(this.commandMenuSpec('Pane4')));\n\t\tthis.buttonCommands.forEach(function(cmd) { cmd.button.setIsActive(cmd.isActive()) })\n\n\t\tnode.onSelect();\n },\n\n\tonSourceStringUpdate: function(methodString, source) {\n\t\tthis.sourceString = methodString;\n\t\tif (!methodString || methodString == this.emptyText || !this.selectedNode()) return;\n\t\tif (this.selectedNode().sourceString() == methodString &&\n\t\t\tsource !== this.panel.sourcePane.innerMorph())\n\t\t\t\treturn;\n\t\tthis.selectedNode().newSource(methodString);\n\t\tthis.nodeChanged(this.selectedNode());\n\t},\n\n\tonPane1ContentUpdate: function() {\n\t},\n\n\tonPane2ContentUpdate: function() {\n\t},\n\n\tonPane3ContentUpdate: function(items, source) {\n\t\tif (source !== this.panel.Pane3.innerMorph())\n\t\t return;\n\t\t// handle drag and drop of items\n\t\tconsole.log('Got ' + items);\n\t},\n\n\tonPane4ContentUpdate: function(items, source) {\n\t},\n\n\tonPane1MenuUpdate: Functions.Null,\n\tonPane2MenuUpdate: Functions.Null,\n\tonPane3MenuUpdate: Functions.Null,\n\tonPane4MenuUpdate: Functions.Null,\n\tonPane1FiltersUpdate: Functions.Null,\n\tonPane2FiltersUpdate: Functions.Null,\n\tonPane3FiltersUpdate: Functions.Null,\n\tonPane4FiltersUpdate: Functions.Null,\n\tonStatusMessageUpdate: Functions.Null,\n\tonRootFiltersUpdate: Functions.Null,\n\n\tallChanged: function(keepUnsavedChanges, changedNode) {\n\t\t// optimization: if no node looks like the changed node in my browser do nothing\n\t\tif (changedNode && this.allNodes().every(function(ea) {return !changedNode.hasSimilarTarget(ea)}))\n\t\t\treturn;\n\n\t\t// FIXME remove duplication\n\t\tvar oldN1 = this.getPane1Selection();\n\t\tvar oldN2 = this.getPane2Selection();\n\t\tvar oldN3 = this.getPane3Selection();\n\t\tvar oldN4 = this.getPane4Selection();\n\n\t\tvar sourcePos = this.panel.sourcePane.getVerticalScrollPosition();\n\n\t\tvar src = keepUnsavedChanges &&\n\t\t\t\t\tthis.hasUnsavedChanges() &&\n\t\t\t\t\tthis.panel.sourcePane.innerMorph().textString;\n\n\t\tif (this.hasUnsavedChanges())\n\t\t\tthis.setSourceString(this.emptyText);\n\n\t\tvar revertStateOfPane = function(paneName, oldNode) {\n\t\t\tif (!oldNode) return;\n\t\t\tvar nodes = this.nodesInPane(paneName);\n\t\t\tvar newNode = nodes.detect(function(ea) {\n\t\t\t return ea && ea.target &&\n\t\t\t\t\t(ea.target == oldNode.target || (ea.target.eq && ea.target.eq(oldNode.target)))\n\t\t\t});\n\t\t\tif (!newNode)\n\t\t\t\tnewNode = nodes.detect(function(ea) {return ea && ea.asString() === oldNode.asString()});\n\t this['set' + paneName + 'Selection'](newNode, true);\n\t\t}.bind(this);\n\t\n\t\tthis.start(); // select rootNode and generate new subnodes\n\n\t\trevertStateOfPane('Pane1', oldN1);\n\t\trevertStateOfPane('Pane2', oldN2);\n\t\trevertStateOfPane('Pane3', oldN3);\n\t\trevertStateOfPane('Pane4', oldN4);\n\n\t\tif (!src) {\n\t\t\tthis.panel.sourcePane.setVerticalScrollPosition(sourcePos);\n\t\t\treturn;\n\t\t}\n\n\t\t//this.setSourceString(src);\n\t\tvar text = this.panel.sourcePane.innerMorph();\n\t\ttext.setTextString(src.toString())\n\t\tthis.panel.sourcePane.setVerticalScrollPosition(sourcePos);\n\t\t// text.changed()\n\t\ttext.showChangeClue(); // FIXME\n\t},\n\n nodeChanged: function(node) {\n // currently update everything, this isn't really necessary\n \t\tthis.allChanged();\n },\n \n\ttextChanged: function(node) {\n\t\t// be careful -- this can lead to overwritten source code\n\t\tvar pane = this.paneNameOfNode(node);\n\t\tif (!pane) return;\n\t\tthis.inPaneSelectNodeMatching(pane, Functions.False); // unselect\n\t\tthis.inPaneSelectNodeMatching(pane, function(other) { return other.target == node.target });\n\t\t// this.setSourceString(node.sourceString());\n\t},\n \n\tsignalNewSource: function(changedNode) {\n\t\tthis.mySourceControl().updateBrowsers(this, changedNode);\n\t},\n\n\tupdateTitle: function() {\n\t\tvar window = this.panel.owner;\n\t\tif (!window) return;\n\t\tvar n1 = this.getPane1Selection();\n\t var n2 = this.getPane2Selection();\n\t var n3 = this.getPane3Selection();\n\t\tvar n4 = this.getPane4Selection();\n\t\tvar title = '';\n\t\tif (n1) title += n1.asString();\n\t\tif (n2) title += ':' + n2.asString();\n\t\tif (n3) title += ':' + n3.asString();\n\t\tif (n4) title += ':' + n4.asString();\n\t\twindow.setTitle(title);\n\t},\n\n},\n'browser related', {\n\n installFilter: function(filter, paneName) {\n\t\tvar getter = 'get' + paneName + 'Filters';\n\t\tvar setter = 'set' + paneName + 'Filters';\n \tthis[setter](this[getter]().concat([filter]).uniq());\n },\n\n uninstallFilters: function(testFunc, paneName) {\n \t// testFunc returns true if the filter should be removed\n\t\tvar getter = 'get' + paneName + 'Filters';\n\t\tvar setter = 'set' + paneName + 'Filters';\n \tthis[setter](this[getter]().reject(testFunc));\n },\n\n\tcommandMenuSpec: function(pane) {\n\t\tvar result = this.commands()\n\t\t\t.collect(function(ea) { return new ea(this) }, this)\n\t\t\t.select(function(ea) { return ea.wantsMenu() && ea.isActive(pane) })\n\t\t\t.inject([], function(all, ea) { return all.concat(ea.trigger()) });\n\t\tif (result.length > 0)\n\t\t\tresult.unshift(['-------']);\n\t\treturn result;\n\t},\n\n\tsetStatusMessage: function(msg, color, delay) {\n\t\tvar s = this.panel.sourcePane;\t\n\t\tif (!this._statusMorph) {\n\t\t\tthis._statusMorph = new TextMorph(pt(300,30).extentAsRectangle());\n\t\t\tthis._statusMorph.applyStyle({borderWidth: 0, strokeOpacity: 0})\n\t\t}\n\t\tvar statusMorph = this._statusMorph;\n\t\tstatusMorph.setTextString(msg);\n\t\ts.addMorph(statusMorph);\n\t\tstatusMorph.setTextColor(color || Color.black);\n\t\tstatusMorph.centerAt(s.innerBounds().center());\n\t\t(function() { statusMorph.remove() }).delay(delay || 2);\n\t},\n\n\tconfirm: function(question, callback) {\n\t\tWorldMorph.current().confirm(question, callback.bind(this));\n\t},\n\n\tensureSourceNotAccidentlyDeleted: function(callback) {\n\t\t// checks if the source code has unsaved changes if it hasn't or if the\n\t\t// user wants to discard them then run the callback\n\t\t// otherwise do nothing\n\t\tif (!this.hasUnsavedChanges()) {\n\t\t\tcallback.apply(this);\n\t\t\treturn;\n\t\t}\n\t\tthis.confirm('There are unsaved changes. Discard them?',\n\t\t\tfunction(answer) { answer && callback.apply(this) });\n\t},\n\n},\n'source pane', {\n\tselectStringInSourcePane: function(string) {\n\t\tvar textMorph =\tthis.panel.sourcePane.innerMorph(),\n\t\t\tindex = textMorph.textString.indexOf(string);\n\t\ttextMorph.setSelectionRange(index, index + string.length)\n\t\ttextMorph.requestKeyboardFocus(WorldMorph.current().firstHand())\n\t},\n});\n\nPanelMorph.subclass('lively.ide.BrowserPanel', {\n\n\tdocumentation: 'Hack for deserializing my browser widget',\n\n\topenForDragAndDrop: false,\n\t\n\tonDeserialize: function($super) {\n\t\tvar widget = new this.ownerWidget.constructor();\n\t\tif (widget instanceof lively.ide.WikiCodeBrowser) return; // FIXME deserialize wiki browser\n\t\tvar selection = this.getSelectionSpec();\n\t\tif (this.targetURL) widget.targetURL = this.targetURL;\n\t\tthis.owner.targetMorph = this.owner.addMorph(widget.buildView(this.getExtent()));\n\t\tthis.owner.targetMorph.setPosition(this.getPosition());\n\t\tthis.remove();\n\t\tthis.resetSelection(selection, widget);\n },\n\n\tgetPane: function(pane) { return this[pane] && this[pane].innerMorph() },\n\t\n\tgetSelectionTextOfPane: function(pane) {\n\t\tvar pane = this.getPane(pane);\n\t\tif (!pane) return null;\n\t\tvar index = pane.selectedLineNo;\n\t\tif (index === undefined) return null;\n\t\tvar textItem = pane.submorphs[index];\n\t\treturn textItem && textItem.textString;\n\t},\n\n\tgetSelectionSpec: function() {\n\t\tvar basicPaneName = 'Pane', spec = {}, i = 1;\n\t\twhile (1) {\n\t\t\tvar paneName = basicPaneName + i;\n\t\t\tvar sel = this.getSelectionTextOfPane(paneName);\n\t\t\tif (!sel) return spec;\n\t\t\tspec[paneName] = sel;\n\t\t\ti++;\n\t\t}\t\t\t\n\t},\n\t\n\tresetSelection: function(selectionSpec, widget) {\n\t\tfor (var paneName in selectionSpec)\n\t\t\twidget.inPaneSelectNodeNamed(paneName, selectionSpec[paneName]);\n\t},\n\n\tshutdown: function($super) {\n\t\t$super();\n\t\tvar browser = this.ownerWidget;\n\t\tif (!browser.stop) {\n\t\t\tconsole.log('cannot unregister browser: ' + browser);\n\t\t\treturn;\n\t\t}\n\t\tconsole.log('unregister browser: ' + browser);\n\t\tbrowser.stop();\n\t},\n\n});\n\nObject.subclass('lively.ide.BrowserNode',\n'documentation', {\n\tdocumentation: 'Abstract node, defining the node interface',\n},\n'initializing', {\n\tinitialize: function(target, browser, parent) {\n\t\tthis.target = target;\n\t\tthis.browser = browser;\n\t\tthis.parent = parent;\n\t},\n},\n'accessing', {\n\tsiblingNodes: function() { return this.browser.siblingsFor(this) },\n\tparent: function() { return this.parent },\n\tchildNodes: function() { return [] },\n\tsourceString: function() { return this.browser.emptyText },\n},\n'conversion', {\n\tasString: function() { return 'no name for node of type ' + this.constructor.type },\n\tasListItem: function() {\n\t\t//FIXME make class listitem\n\t\tvar node = this;\n\t\treturn {\n\t\t\tisListItem: true,\n\t\t\tstring: this.asString(),\n\t\t\tvalue: this,\n\t\t\tonDrop: function(item) { node.onDrop( item && item.value) },\t//convert to node\n\t\t\tonDrag: function() { node.onDrag() },\n\t\t};\n\t},\n},\n'testing', {\n\thasSimilarTarget: function(other) {\n\t\tif (!other)\n\t\t\treturn false;\n\t\tvar myString = this.asString();\n\t\tvar otherString = other.asString();\n\t\treturn myString.length >= otherString.length ?\n\t\tmyString.include(otherString) :\n\t\totherString.include(myString);\n\t},\n},\n'source code management', {\n\tnewSource: function(newSource) {\n\t\tvar errorOccurred = false,\n\t\t\tfailureOccurred = false,\n\t\t\tmsg = 'Saving ' + this.target.getName() + '...\\n',\n\t\t\tsrcCtrl = this.target.getSourceControl ? this.target.getSourceControl() : lively.ide.SourceControl;\n\n\t\t// save source\n\t\ttry {\n\t\t\tif (this.saveSource(newSource, srcCtrl)) {\n\t\t\t\tmsg += 'Successfully saved';\n\t\t\t} else {\n\t\t\t\tmsg += 'Couldn\\'t save';\n\t\t\t\tfailureOccurred = true;\n\t\t\t} \n\t\t} catch(e) {\n\t\t\tdbgOn(true)\n\t\t\tmsg += 'Error while saving: ' + e;\n\t\t\terrorOccurred = true;\n\t\t}\n\n\t\tmsg += '\\n';\n\t\t\n\t\t// eval source\n\t\ttry {\n\t\t\tif (this.evalSource(newSource)) {\n\t\t\t\tmsg += 'Successfully evaluated ' + this.target.getName();\n\t\t\t} else {\n\t\t\t\tmsg += 'Eval disabled for ' + this.target.getName();\n\t\t\t\tfailureOccurred = true;\n\t\t\t}\n\t\t} catch(e) {\n\t\t\tmsg += 'Error evaluating ' + e;\n\t\t\t// TODO don't reference UI directly? \n\t\t\tthis.browser.panel.sourcePane.innerMorph().showError(e)\n\t\t\terrorOccurred = true;\n\t\t}\n\t\tvar color = errorOccurred ? Color.red : (failureOccurred ? Color.black : Color.green);\n\t\tvar delay = errorOccurred ? 5 : null;\n\t\tthis.statusMessage(msg, color, delay);\n\t\tthis.browser.signalNewSource(this);\n\t},\n evalSource: function(newSource) { return false }, \n saveSource: function(newSource, sourceControl) { return false },\n},\n'menu', {\n menuSpec: function() { return [] },\n},\n'logging and feedback', {\n statusMessage: function(string, optColor, optDelay) {\n\t\tconsole.log('Browser statusMessage: ' + string);\n this.browser && this.browser.setStatusMessage(string, optColor, optDelay);\n },\n},\n'updating', { \n signalChange: function() { this.browser.nodeChanged(this) },\n\tsignalTextChange: function() { this.browser.textChanged(this) },\n\tonSelect: function() { },\n},\n'dragging and dropping', {\n\tonDrag: function() { console.log(this.asString() + 'was dragged') },\n\tonDrop: function(nodeDroppedOntoOrNull) { console.log(this.asString() + 'was dropped') },\n\thandleDrop: function(nodeDroppedOntoMe) {\n\t\t// for double dispatch\n\t\treturn false;\n\t},\n},\n'file framgent support -- FIXME', {\n\tmergeFileFragment: function(fileFragment) {\n\t\t// for a node that represents multiple FileFragments\n\t\treturn false\n\t},\n});\n\nObject.subclass('lively.ide.BrowserCommand', {\n\n\tinitialize: function(browser) { this.browser = browser },\n\n\twantsButton: Functions.False,\n\n\twantsMenu: Functions.False,\n\n\tisActive: Functions.False,\n\n\tasString: function() { return 'unnamed command' },\n\n\ttrigger: function() {},\n\n\tworld: function() { return WorldMorph.current() },\n\n});\n\nObject.subclass('lively.ide.NodeFilter', {\n\tapply: function(nodes) { return nodes }\n});\n\nlively.ide.NodeFilter.subclass('lively.ide.SortFilter', {\n\tapply: function(nodes) {\n\t\treturn nodes.sort(function(a,b) {\n\t\t\tif (a.asString().toLowerCase() < b.asString().toLowerCase()) return -1;\n\t\t\tif (a.asString().toLowerCase() > b.asString().toLowerCase()) return 1;\n\t\t\treturn 0;\n\t\t});\n\t}\n});\n\nlively.ide.NodeFilter.subclass('lively.ide.NodeTypeFilter', {\n\n\tdocumentation: 'allows only nodes of the specified class',\n\tisNodeTypeFilter: true,\n\n\tinitialize: function(attrsThatShouldBeTrue) {\n\t\tthis.attributes = attrsThatShouldBeTrue;\n\t},\t\n\n\tapply: function(nodes) {\n\t\tvar attrs = this.attributes;\n\t\tif (!attrs) {\n\t\t\tconsole.log('nodeTypeFilter has no attributes!!!');\n\t\t\treturn nodes;\n\t\t}\n\t\treturn nodes.select(function(node) {\n\t\t\treturn attrs.any(function(attr) { return node[attr] });\n\t\t});\n\t}\n});\n\nObject.extend(lively.ide.NodeTypeFilter, {\n\tdefaultInstance: function() {\n\t\treturn new lively.ide.NodeTypeFilter([\n\t\t\t'isClassNode',\n\t\t\t'isGrammarNode',\n\t\t\t'isChangeNode',\n\t\t\t'isFunctionNode',\n\t\t\t'isObjectNode']);\n\t},\n});\n\n}) // end of module","__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"413":{"position":{"__isSmartRef__":true,"id":414},"extent":{"__isSmartRef__":true,"id":415},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":91},"fill":{"__isSmartRef__":true,"id":92},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"414":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"415":{"x":991,"y":815,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"416":{"morph":{"__isSmartRef__":true,"id":412},"dispatchTable":{"__isSmartRef__":true,"id":417},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"417":{"mouseup":{"__isSmartRef__":true,"id":418},"mousedown":{"__isSmartRef__":true,"id":419},"selectstart":{"__isSmartRef__":true,"id":420},"mousewheel":{"__isSmartRef__":true,"id":421},"keydown":{"__isSmartRef__":true,"id":422},"keyup":{"__isSmartRef__":true,"id":423},"keypress":{"__isSmartRef__":true,"id":424}},"418":{"type":"mouseup","target":{"__isSmartRef__":true,"id":412},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"419":{"type":"mousedown","target":{"__isSmartRef__":true,"id":412},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"420":{"type":"selectstart","target":{"__isSmartRef__":true,"id":412},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"421":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":412},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"422":{"type":"keydown","target":{"__isSmartRef__":true,"id":412},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"423":{"type":"keyup","target":{"__isSmartRef__":true,"id":412},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"424":{"type":"keypress","target":{"__isSmartRef__":true,"id":412},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"425":{"x":0,"y":60,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"426":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"427":{"resizeWidth":true,"resizeHeight":true},"428":{"sourceObj":{"__isSmartRef__":true,"id":412},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":291},"targetMethodName":"saveFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"429":{"position":{"__isSmartRef__":true,"id":430},"extent":{"__isSmartRef__":true,"id":431},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":91},"fill":{"__isSmartRef__":true,"id":432},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"430":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"431":{"x":994,"y":878,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"432":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"433":{"morph":{"__isSmartRef__":true,"id":273},"dispatchTable":{"__isSmartRef__":true,"id":434},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"434":{"mouseup":{"__isSmartRef__":true,"id":435},"mousedown":{"__isSmartRef__":true,"id":436},"mousewheel":{"__isSmartRef__":true,"id":437}},"435":{"type":"mouseup","target":{"__isSmartRef__":true,"id":273},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"436":{"type":"mousedown","target":{"__isSmartRef__":true,"id":273},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"437":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":273},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"438":{"x":0,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"439":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"440":{"x":994,"y":878,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"441":{"submorphs":[{"__isSmartRef__":true,"id":442},{"__isSmartRef__":true,"id":457},{"__isSmartRef__":true,"id":494},{"__isSmartRef__":true,"id":530}],"scripts":[],"id":420,"shape":{"__isSmartRef__":true,"id":567},"droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":570},"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":571},"_Position":{"__isSmartRef__":true,"id":576},"eventsAreIgnored":true,"windowMorph":{"__isSmartRef__":true,"id":272},"label":{"__isSmartRef__":true,"id":442},"closeButton":{"__isSmartRef__":true,"id":457},"menuButton":{"__isSmartRef__":true,"id":494},"collapseButton":{"__isSmartRef__":true,"id":530},"priorExtent":{"__isSmartRef__":true,"id":577},"owner":{"__isSmartRef__":true,"id":272},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TitleBar"},"442":{"submorphs":[],"scripts":[],"id":421,"cachedTextString":"TextEditor","shape":{"__isSmartRef__":true,"id":443},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":446},"_Position":{"__isSmartRef__":true,"id":455},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":91},"isLabel":true,"eventsAreIgnored":true,"padding":{"__isSmartRef__":true,"id":456},"_Padding":{"__isSmartRef__":true,"id":456},"owner":{"__isSmartRef__":true,"id":441},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"443":{"position":{"__isSmartRef__":true,"id":444},"extent":{"__isSmartRef__":true,"id":445},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":91},"fill":null,"borderRadius":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"444":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"445":{"x":80,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"446":{"morph":{"__isSmartRef__":true,"id":442},"dispatchTable":{"__isSmartRef__":true,"id":447},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"447":{"mouseup":{"__isSmartRef__":true,"id":448},"mousedown":{"__isSmartRef__":true,"id":449},"selectstart":{"__isSmartRef__":true,"id":450},"mousewheel":{"__isSmartRef__":true,"id":451},"keydown":{"__isSmartRef__":true,"id":452},"keyup":{"__isSmartRef__":true,"id":453},"keypress":{"__isSmartRef__":true,"id":454}},"448":{"type":"mouseup","target":{"__isSmartRef__":true,"id":442},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"449":{"type":"mousedown","target":{"__isSmartRef__":true,"id":442},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"450":{"type":"selectstart","target":{"__isSmartRef__":true,"id":442},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"451":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":442},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"452":{"type":"keydown","target":{"__isSmartRef__":true,"id":442},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"453":{"type":"keyup","target":{"__isSmartRef__":true,"id":442},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"454":{"type":"keypress","target":{"__isSmartRef__":true,"id":442},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"455":{"x":457,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"456":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"457":{"submorphs":[{"__isSmartRef__":true,"id":458}],"scripts":[],"id":422,"shape":{"__isSmartRef__":true,"id":473},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":476},"_Position":{"__isSmartRef__":true,"id":481},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":314},"lighterFill":{"__isSmartRef__":true,"id":482},"label":{"__isSmartRef__":true,"id":458},"owner":{"__isSmartRef__":true,"id":441},"layout":{"__isSmartRef__":true,"id":491},"attributeConnections":[{"__isSmartRef__":true,"id":492},{"__isSmartRef__":true,"id":493}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"458":{"submorphs":[],"scripts":[],"id":423,"cachedTextString":"X","shape":{"__isSmartRef__":true,"id":459},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":462},"_Position":{"__isSmartRef__":true,"id":471},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":91},"padding":{"__isSmartRef__":true,"id":472},"_Padding":{"__isSmartRef__":true,"id":472},"owner":{"__isSmartRef__":true,"id":457},"isLabel":true,"eventsAreIgnored":true,"_FontSize":8,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"459":{"position":{"__isSmartRef__":true,"id":460},"extent":{"__isSmartRef__":true,"id":461},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":91},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"460":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"461":{"x":17,"y":17,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"462":{"morph":{"__isSmartRef__":true,"id":458},"dispatchTable":{"__isSmartRef__":true,"id":463},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"463":{"mouseup":{"__isSmartRef__":true,"id":464},"mousedown":{"__isSmartRef__":true,"id":465},"selectstart":{"__isSmartRef__":true,"id":466},"mousewheel":{"__isSmartRef__":true,"id":467},"keydown":{"__isSmartRef__":true,"id":468},"keyup":{"__isSmartRef__":true,"id":469},"keypress":{"__isSmartRef__":true,"id":470}},"464":{"type":"mouseup","target":{"__isSmartRef__":true,"id":458},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"465":{"type":"mousedown","target":{"__isSmartRef__":true,"id":458},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"466":{"type":"selectstart","target":{"__isSmartRef__":true,"id":458},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"467":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":458},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"468":{"type":"keydown","target":{"__isSmartRef__":true,"id":458},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"469":{"type":"keyup","target":{"__isSmartRef__":true,"id":458},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"470":{"type":"keypress","target":{"__isSmartRef__":true,"id":458},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"471":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"472":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"473":{"position":{"__isSmartRef__":true,"id":474},"extent":{"__isSmartRef__":true,"id":475},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":313},"fill":{"__isSmartRef__":true,"id":314},"strokeOpacity":0,"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"474":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"475":{"x":17,"y":17,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"476":{"morph":{"__isSmartRef__":true,"id":457},"dispatchTable":{"__isSmartRef__":true,"id":477},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"477":{"mouseup":{"__isSmartRef__":true,"id":478},"mousedown":{"__isSmartRef__":true,"id":479},"mousewheel":{"__isSmartRef__":true,"id":480}},"478":{"type":"mouseup","target":{"__isSmartRef__":true,"id":457},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"479":{"type":"mousedown","target":{"__isSmartRef__":true,"id":457},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"480":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":457},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"481":{"x":974,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"482":{"stops":[{"__isSmartRef__":true,"id":483},{"__isSmartRef__":true,"id":485},{"__isSmartRef__":true,"id":487},{"__isSmartRef__":true,"id":489}],"vector":{"__isSmartRef__":true,"id":149},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"483":{"offset":0,"color":{"__isSmartRef__":true,"id":484}},"484":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"485":{"offset":0.4,"color":{"__isSmartRef__":true,"id":486}},"486":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"487":{"offset":0.6,"color":{"__isSmartRef__":true,"id":488}},"488":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"489":{"offset":1,"color":{"__isSmartRef__":true,"id":490}},"490":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"491":{"moveHorizontal":true},"492":{"sourceObj":{"__isSmartRef__":true,"id":457},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":272},"targetMethodName":"getCloseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"493":{"sourceObj":{"__isSmartRef__":true,"id":457},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":272},"targetMethodName":"initiateShutdown","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"494":{"submorphs":[{"__isSmartRef__":true,"id":495}],"scripts":[],"id":424,"shape":{"__isSmartRef__":true,"id":510},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":513},"_Position":{"__isSmartRef__":true,"id":518},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":314},"lighterFill":{"__isSmartRef__":true,"id":519},"label":{"__isSmartRef__":true,"id":495},"owner":{"__isSmartRef__":true,"id":441},"attributeConnections":[{"__isSmartRef__":true,"id":528},{"__isSmartRef__":true,"id":529}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"495":{"submorphs":[],"scripts":[],"id":425,"cachedTextString":"M","shape":{"__isSmartRef__":true,"id":496},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":499},"_Position":{"__isSmartRef__":true,"id":508},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":91},"padding":{"__isSmartRef__":true,"id":509},"_Padding":{"__isSmartRef__":true,"id":509},"owner":{"__isSmartRef__":true,"id":494},"isLabel":true,"eventsAreIgnored":true,"_FontSize":8,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"496":{"position":{"__isSmartRef__":true,"id":497},"extent":{"__isSmartRef__":true,"id":498},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":91},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"497":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"498":{"x":17,"y":17,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"499":{"morph":{"__isSmartRef__":true,"id":495},"dispatchTable":{"__isSmartRef__":true,"id":500},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"500":{"mouseup":{"__isSmartRef__":true,"id":501},"mousedown":{"__isSmartRef__":true,"id":502},"selectstart":{"__isSmartRef__":true,"id":503},"mousewheel":{"__isSmartRef__":true,"id":504},"keydown":{"__isSmartRef__":true,"id":505},"keyup":{"__isSmartRef__":true,"id":506},"keypress":{"__isSmartRef__":true,"id":507}},"501":{"type":"mouseup","target":{"__isSmartRef__":true,"id":495},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"502":{"type":"mousedown","target":{"__isSmartRef__":true,"id":495},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"503":{"type":"selectstart","target":{"__isSmartRef__":true,"id":495},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"504":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":495},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"505":{"type":"keydown","target":{"__isSmartRef__":true,"id":495},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"506":{"type":"keyup","target":{"__isSmartRef__":true,"id":495},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"507":{"type":"keypress","target":{"__isSmartRef__":true,"id":495},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"508":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"509":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"510":{"position":{"__isSmartRef__":true,"id":511},"extent":{"__isSmartRef__":true,"id":512},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":313},"fill":{"__isSmartRef__":true,"id":314},"strokeOpacity":0,"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"511":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"512":{"x":17,"y":17,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"513":{"morph":{"__isSmartRef__":true,"id":494},"dispatchTable":{"__isSmartRef__":true,"id":514},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"514":{"mouseup":{"__isSmartRef__":true,"id":515},"mousedown":{"__isSmartRef__":true,"id":516},"mousewheel":{"__isSmartRef__":true,"id":517}},"515":{"type":"mouseup","target":{"__isSmartRef__":true,"id":494},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"516":{"type":"mousedown","target":{"__isSmartRef__":true,"id":494},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"517":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":494},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"518":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"519":{"stops":[{"__isSmartRef__":true,"id":520},{"__isSmartRef__":true,"id":522},{"__isSmartRef__":true,"id":524},{"__isSmartRef__":true,"id":526}],"vector":{"__isSmartRef__":true,"id":149},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"520":{"offset":0,"color":{"__isSmartRef__":true,"id":521}},"521":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"522":{"offset":0.4,"color":{"__isSmartRef__":true,"id":523}},"523":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"524":{"offset":0.6,"color":{"__isSmartRef__":true,"id":525}},"525":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"526":{"offset":1,"color":{"__isSmartRef__":true,"id":527}},"527":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"528":{"sourceObj":{"__isSmartRef__":true,"id":494},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":272},"targetMethodName":"getMenuHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"529":{"sourceObj":{"__isSmartRef__":true,"id":494},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":272},"targetMethodName":"showTargetMorphMenu","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"530":{"submorphs":[{"__isSmartRef__":true,"id":531}],"scripts":[],"id":426,"shape":{"__isSmartRef__":true,"id":546},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":549},"_Position":{"__isSmartRef__":true,"id":554},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":314},"lighterFill":{"__isSmartRef__":true,"id":555},"label":{"__isSmartRef__":true,"id":531},"owner":{"__isSmartRef__":true,"id":441},"layout":{"__isSmartRef__":true,"id":564},"attributeConnections":[{"__isSmartRef__":true,"id":565},{"__isSmartRef__":true,"id":566}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"531":{"submorphs":[],"scripts":[],"id":427,"cachedTextString":"–","shape":{"__isSmartRef__":true,"id":532},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":535},"_Position":{"__isSmartRef__":true,"id":544},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":91},"padding":{"__isSmartRef__":true,"id":545},"_Padding":{"__isSmartRef__":true,"id":545},"owner":{"__isSmartRef__":true,"id":530},"isLabel":true,"eventsAreIgnored":true,"_FontSize":8,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"532":{"position":{"__isSmartRef__":true,"id":533},"extent":{"__isSmartRef__":true,"id":534},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":91},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"533":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"534":{"x":17,"y":17,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"535":{"morph":{"__isSmartRef__":true,"id":531},"dispatchTable":{"__isSmartRef__":true,"id":536},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"536":{"mouseup":{"__isSmartRef__":true,"id":537},"mousedown":{"__isSmartRef__":true,"id":538},"selectstart":{"__isSmartRef__":true,"id":539},"mousewheel":{"__isSmartRef__":true,"id":540},"keydown":{"__isSmartRef__":true,"id":541},"keyup":{"__isSmartRef__":true,"id":542},"keypress":{"__isSmartRef__":true,"id":543}},"537":{"type":"mouseup","target":{"__isSmartRef__":true,"id":531},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"538":{"type":"mousedown","target":{"__isSmartRef__":true,"id":531},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"539":{"type":"selectstart","target":{"__isSmartRef__":true,"id":531},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"540":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":531},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"541":{"type":"keydown","target":{"__isSmartRef__":true,"id":531},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"542":{"type":"keyup","target":{"__isSmartRef__":true,"id":531},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"543":{"type":"keypress","target":{"__isSmartRef__":true,"id":531},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"544":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"545":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"546":{"position":{"__isSmartRef__":true,"id":547},"extent":{"__isSmartRef__":true,"id":548},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":313},"fill":{"__isSmartRef__":true,"id":314},"strokeOpacity":0,"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"547":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"548":{"x":17,"y":17,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"549":{"morph":{"__isSmartRef__":true,"id":530},"dispatchTable":{"__isSmartRef__":true,"id":550},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"550":{"mouseup":{"__isSmartRef__":true,"id":551},"mousedown":{"__isSmartRef__":true,"id":552},"mousewheel":{"__isSmartRef__":true,"id":553}},"551":{"type":"mouseup","target":{"__isSmartRef__":true,"id":530},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"552":{"type":"mousedown","target":{"__isSmartRef__":true,"id":530},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"553":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":530},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"554":{"x":955,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"555":{"stops":[{"__isSmartRef__":true,"id":556},{"__isSmartRef__":true,"id":558},{"__isSmartRef__":true,"id":560},{"__isSmartRef__":true,"id":562}],"vector":{"__isSmartRef__":true,"id":149},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"556":{"offset":0,"color":{"__isSmartRef__":true,"id":557}},"557":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"558":{"offset":0.4,"color":{"__isSmartRef__":true,"id":559}},"559":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"560":{"offset":0.6,"color":{"__isSmartRef__":true,"id":561}},"561":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"562":{"offset":1,"color":{"__isSmartRef__":true,"id":563}},"563":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"564":{"moveHorizontal":true},"565":{"sourceObj":{"__isSmartRef__":true,"id":530},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":272},"targetMethodName":"getCollapseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"566":{"sourceObj":{"__isSmartRef__":true,"id":530},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":272},"targetMethodName":"toggleCollapse","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"567":{"position":{"__isSmartRef__":true,"id":568},"extent":{"__isSmartRef__":true,"id":569},"borderWidth":2,"borderColor":{"__isSmartRef__":true,"id":244},"fill":{"__isSmartRef__":true,"id":245},"strokeOpacity":1,"borderRadius":8,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"568":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"569":{"x":994,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"570":{"resizeWidth":true,"adjustForNewBounds":true},"571":{"morph":{"__isSmartRef__":true,"id":441},"dispatchTable":{"__isSmartRef__":true,"id":572},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"572":{"mouseup":{"__isSmartRef__":true,"id":573},"mousedown":{"__isSmartRef__":true,"id":574},"mousewheel":{"__isSmartRef__":true,"id":575}},"573":{"type":"mouseup","target":{"__isSmartRef__":true,"id":441},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"574":{"type":"mousedown","target":{"__isSmartRef__":true,"id":441},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"575":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":441},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"576":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"577":{"x":994,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"578":{"borderWidth":0,"fill":null,"strokeOpacity":0,"borderRadius":0,"extent":{"__isSmartRef__":true,"id":579},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"579":{"x":994,"y":900,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"580":{"adjustForNewBounds":true},"581":{"morph":{"__isSmartRef__":true,"id":272},"dispatchTable":{"__isSmartRef__":true,"id":582},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"582":{"mouseup":{"__isSmartRef__":true,"id":583},"mousedown":{"__isSmartRef__":true,"id":584},"mousewheel":{"__isSmartRef__":true,"id":585}},"583":{"type":"mouseup","target":{"__isSmartRef__":true,"id":272},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"584":{"type":"mousedown","target":{"__isSmartRef__":true,"id":272},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"585":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":272},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"586":{"x":5,"y":82,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"587":{"x":994,"y":900,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"588":{"x":907,"y":85,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"589":{"submorphs":[{"__isSmartRef__":true,"id":590},{"__isSmartRef__":true,"id":748}],"scripts":[],"id":502,"shape":{"__isSmartRef__":true,"id":892},"droppingEnabled":true,"halosEnabled":true,"draggingEnabled":true,"layout":{"__isSmartRef__":true,"id":894},"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":895},"_Position":{"__isSmartRef__":true,"id":900},"priorExtent":{"__isSmartRef__":true,"id":901},"targetMorph":{"__isSmartRef__":true,"id":590},"titleBar":{"__isSmartRef__":true,"id":748},"contentOffset":{"__isSmartRef__":true,"id":745},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"owner":{"__isSmartRef__":true,"id":0},"highlighted":true,"showsHalos":false,"halos":[],"__SourceModuleName__":"Global.lively.morphic.Widgets","prevDragPos":{"__isSmartRef__":true,"id":902},"__LivelyClassName__":"lively.morphic.Window"},"590":{"submorphs":[{"__isSmartRef__":true,"id":591},{"__isSmartRef__":true,"id":611},{"__isSmartRef__":true,"id":647},{"__isSmartRef__":true,"id":683},{"__isSmartRef__":true,"id":719}],"scripts":[],"id":493,"shape":{"__isSmartRef__":true,"id":736},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":740},"_Position":{"__isSmartRef__":true,"id":745},"layout":{"__isSmartRef__":true,"id":746},"urlText":{"__isSmartRef__":true,"id":591},"contentMorph":{"__isSmartRef__":true,"id":719},"owner":{"__isSmartRef__":true,"id":589},"ownerApp":{"__isSmartRef__":true,"id":608},"priorExtent":{"__isSmartRef__":true,"id":747},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Box"},"591":{"submorphs":[],"scripts":[],"id":494,"cachedTextString":"http://lively-kernel.org/repository/webwerkstatt/lively/morphic/CompatLayer.js","shape":{"__isSmartRef__":true,"id":592},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"hidden","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":595},"_Position":{"__isSmartRef__":true,"id":604},"_MaxTextWidth":null,"_MaxTextHeight":30,"textColor":{"__isSmartRef__":true,"id":91},"isInputLine":true,"layout":{"__isSmartRef__":true,"id":605},"_Padding":{"__isSmartRef__":true,"id":606},"owner":{"__isSmartRef__":true,"id":590},"attributeConnections":[{"__isSmartRef__":true,"id":607}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"savedTextString":"http://lively-kernel.org/repository/webwerkstatt/lively/morphic/CompatLayer.js","__SourceModuleName__":"Global.lively.morphic.Core","showsHalos":false,"halos":[],"__LivelyClassName__":"lively.morphic.Text"},"592":{"position":{"__isSmartRef__":true,"id":593},"extent":{"__isSmartRef__":true,"id":594},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":91},"fill":{"__isSmartRef__":true,"id":92},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"593":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"594":{"x":805,"y":30,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"595":{"morph":{"__isSmartRef__":true,"id":591},"dispatchTable":{"__isSmartRef__":true,"id":596},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"596":{"mouseup":{"__isSmartRef__":true,"id":597},"mousedown":{"__isSmartRef__":true,"id":598},"selectstart":{"__isSmartRef__":true,"id":599},"mousewheel":{"__isSmartRef__":true,"id":600},"keydown":{"__isSmartRef__":true,"id":601},"keyup":{"__isSmartRef__":true,"id":602},"keypress":{"__isSmartRef__":true,"id":603}},"597":{"type":"mouseup","target":{"__isSmartRef__":true,"id":591},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"598":{"type":"mousedown","target":{"__isSmartRef__":true,"id":591},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"599":{"type":"selectstart","target":{"__isSmartRef__":true,"id":591},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"600":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":591},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"601":{"type":"keydown","target":{"__isSmartRef__":true,"id":591},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"602":{"type":"keyup","target":{"__isSmartRef__":true,"id":591},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"603":{"type":"keypress","target":{"__isSmartRef__":true,"id":591},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"604":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"605":{"resizeWidth":true},"606":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"607":{"sourceObj":{"__isSmartRef__":true,"id":591},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":608},"targetMethodName":"setCurrentURL","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"608":{"attributeConnections":[{"__isSmartRef__":true,"id":609}],"doNotSerialize":["$$currentURL"],"doNotCopyProperties":["$$currentURL"],"currentURL":{"__isSmartRef__":true,"id":610},"panel":{"__isSmartRef__":true,"id":590},"view":{"__isSmartRef__":true,"id":589},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TextEditor"},"609":{"sourceObj":{"__isSmartRef__":true,"id":608},"sourceAttrName":"currentURL","targetObj":{"__isSmartRef__":true,"id":608},"targetMethodName":"loadFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"610":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/lively/morphic/CompatLayer.js","__SourceModuleName__":"Global.lively.Network","__LivelyClassName__":"URL"},"611":{"submorphs":[{"__isSmartRef__":true,"id":612}],"scripts":[],"id":495,"shape":{"__isSmartRef__":true,"id":627},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":630},"_Position":{"__isSmartRef__":true,"id":635},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":314},"lighterFill":{"__isSmartRef__":true,"id":636},"label":{"__isSmartRef__":true,"id":612},"layout":{"__isSmartRef__":true,"id":645},"owner":{"__isSmartRef__":true,"id":590},"attributeConnections":[{"__isSmartRef__":true,"id":646}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"612":{"submorphs":[],"scripts":[],"id":496,"cachedTextString":"save","shape":{"__isSmartRef__":true,"id":613},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":616},"_Position":{"__isSmartRef__":true,"id":625},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":91},"padding":{"__isSmartRef__":true,"id":626},"_Padding":{"__isSmartRef__":true,"id":626},"owner":{"__isSmartRef__":true,"id":611},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"613":{"position":{"__isSmartRef__":true,"id":614},"extent":{"__isSmartRef__":true,"id":615},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":91},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"614":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"615":{"x":471.66666666666663,"y":30,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"616":{"morph":{"__isSmartRef__":true,"id":612},"dispatchTable":{"__isSmartRef__":true,"id":617},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"617":{"mouseup":{"__isSmartRef__":true,"id":618},"mousedown":{"__isSmartRef__":true,"id":619},"selectstart":{"__isSmartRef__":true,"id":620},"mousewheel":{"__isSmartRef__":true,"id":621},"keydown":{"__isSmartRef__":true,"id":622},"keyup":{"__isSmartRef__":true,"id":623},"keypress":{"__isSmartRef__":true,"id":624}},"618":{"type":"mouseup","target":{"__isSmartRef__":true,"id":612},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"619":{"type":"mousedown","target":{"__isSmartRef__":true,"id":612},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"620":{"type":"selectstart","target":{"__isSmartRef__":true,"id":612},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"621":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":612},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"622":{"type":"keydown","target":{"__isSmartRef__":true,"id":612},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"623":{"type":"keyup","target":{"__isSmartRef__":true,"id":612},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"624":{"type":"keypress","target":{"__isSmartRef__":true,"id":612},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"625":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"626":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"627":{"position":{"__isSmartRef__":true,"id":628},"extent":{"__isSmartRef__":true,"id":629},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":313},"fill":{"__isSmartRef__":true,"id":314},"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"628":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"629":{"x":471.66666666666663,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"630":{"morph":{"__isSmartRef__":true,"id":611},"dispatchTable":{"__isSmartRef__":true,"id":631},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"631":{"mouseup":{"__isSmartRef__":true,"id":632},"mousedown":{"__isSmartRef__":true,"id":633},"mousewheel":{"__isSmartRef__":true,"id":634}},"632":{"type":"mouseup","target":{"__isSmartRef__":true,"id":611},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"633":{"type":"mousedown","target":{"__isSmartRef__":true,"id":611},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"634":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":611},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"635":{"x":0,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"636":{"stops":[{"__isSmartRef__":true,"id":637},{"__isSmartRef__":true,"id":639},{"__isSmartRef__":true,"id":641},{"__isSmartRef__":true,"id":643}],"vector":{"__isSmartRef__":true,"id":149},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"637":{"offset":0,"color":{"__isSmartRef__":true,"id":638}},"638":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"639":{"offset":0.4,"color":{"__isSmartRef__":true,"id":640}},"640":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"641":{"offset":0.6,"color":{"__isSmartRef__":true,"id":642}},"642":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"643":{"offset":1,"color":{"__isSmartRef__":true,"id":644}},"644":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"645":{"resizeWidth":true},"646":{"sourceObj":{"__isSmartRef__":true,"id":611},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":608},"targetMethodName":"saveFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"647":{"submorphs":[{"__isSmartRef__":true,"id":648}],"scripts":[],"id":497,"shape":{"__isSmartRef__":true,"id":663},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":666},"_Position":{"__isSmartRef__":true,"id":671},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":314},"lighterFill":{"__isSmartRef__":true,"id":672},"label":{"__isSmartRef__":true,"id":648},"layout":{"__isSmartRef__":true,"id":681},"owner":{"__isSmartRef__":true,"id":590},"attributeConnections":[{"__isSmartRef__":true,"id":682}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"648":{"submorphs":[],"scripts":[],"id":498,"cachedTextString":"load","shape":{"__isSmartRef__":true,"id":649},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":652},"_Position":{"__isSmartRef__":true,"id":661},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":91},"padding":{"__isSmartRef__":true,"id":662},"_Padding":{"__isSmartRef__":true,"id":662},"owner":{"__isSmartRef__":true,"id":647},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"649":{"position":{"__isSmartRef__":true,"id":650},"extent":{"__isSmartRef__":true,"id":651},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":91},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"650":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"651":{"x":166.66666666666666,"y":30,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"652":{"morph":{"__isSmartRef__":true,"id":648},"dispatchTable":{"__isSmartRef__":true,"id":653},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"653":{"mouseup":{"__isSmartRef__":true,"id":654},"mousedown":{"__isSmartRef__":true,"id":655},"selectstart":{"__isSmartRef__":true,"id":656},"mousewheel":{"__isSmartRef__":true,"id":657},"keydown":{"__isSmartRef__":true,"id":658},"keyup":{"__isSmartRef__":true,"id":659},"keypress":{"__isSmartRef__":true,"id":660}},"654":{"type":"mouseup","target":{"__isSmartRef__":true,"id":648},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"655":{"type":"mousedown","target":{"__isSmartRef__":true,"id":648},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"656":{"type":"selectstart","target":{"__isSmartRef__":true,"id":648},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"657":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":648},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"658":{"type":"keydown","target":{"__isSmartRef__":true,"id":648},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"659":{"type":"keyup","target":{"__isSmartRef__":true,"id":648},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"660":{"type":"keypress","target":{"__isSmartRef__":true,"id":648},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"661":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"662":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"663":{"position":{"__isSmartRef__":true,"id":664},"extent":{"__isSmartRef__":true,"id":665},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":313},"fill":{"__isSmartRef__":true,"id":314},"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"664":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"665":{"x":166.66666666666666,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"666":{"morph":{"__isSmartRef__":true,"id":647},"dispatchTable":{"__isSmartRef__":true,"id":667},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"667":{"mouseup":{"__isSmartRef__":true,"id":668},"mousedown":{"__isSmartRef__":true,"id":669},"mousewheel":{"__isSmartRef__":true,"id":670}},"668":{"type":"mouseup","target":{"__isSmartRef__":true,"id":647},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"669":{"type":"mousedown","target":{"__isSmartRef__":true,"id":647},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"670":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":647},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"671":{"x":471.66666666666663,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"672":{"stops":[{"__isSmartRef__":true,"id":673},{"__isSmartRef__":true,"id":675},{"__isSmartRef__":true,"id":677},{"__isSmartRef__":true,"id":679}],"vector":{"__isSmartRef__":true,"id":149},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"673":{"offset":0,"color":{"__isSmartRef__":true,"id":674}},"674":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"675":{"offset":0.4,"color":{"__isSmartRef__":true,"id":676}},"676":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"677":{"offset":0.6,"color":{"__isSmartRef__":true,"id":678}},"678":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"679":{"offset":1,"color":{"__isSmartRef__":true,"id":680}},"680":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"681":{"resizeWidth":false,"moveHorizontal":true},"682":{"sourceObj":{"__isSmartRef__":true,"id":647},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":608},"targetMethodName":"loadFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"683":{"submorphs":[{"__isSmartRef__":true,"id":684}],"scripts":[],"id":499,"shape":{"__isSmartRef__":true,"id":699},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":702},"_Position":{"__isSmartRef__":true,"id":707},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":314},"lighterFill":{"__isSmartRef__":true,"id":708},"label":{"__isSmartRef__":true,"id":684},"layout":{"__isSmartRef__":true,"id":717},"owner":{"__isSmartRef__":true,"id":590},"attributeConnections":[{"__isSmartRef__":true,"id":718}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"684":{"submorphs":[],"scripts":[],"id":500,"cachedTextString":"remove","shape":{"__isSmartRef__":true,"id":685},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":688},"_Position":{"__isSmartRef__":true,"id":697},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":91},"padding":{"__isSmartRef__":true,"id":698},"_Padding":{"__isSmartRef__":true,"id":698},"owner":{"__isSmartRef__":true,"id":683},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"685":{"position":{"__isSmartRef__":true,"id":686},"extent":{"__isSmartRef__":true,"id":687},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":91},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"686":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"687":{"x":166.66666666666669,"y":30,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"688":{"morph":{"__isSmartRef__":true,"id":684},"dispatchTable":{"__isSmartRef__":true,"id":689},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"689":{"mouseup":{"__isSmartRef__":true,"id":690},"mousedown":{"__isSmartRef__":true,"id":691},"selectstart":{"__isSmartRef__":true,"id":692},"mousewheel":{"__isSmartRef__":true,"id":693},"keydown":{"__isSmartRef__":true,"id":694},"keyup":{"__isSmartRef__":true,"id":695},"keypress":{"__isSmartRef__":true,"id":696}},"690":{"type":"mouseup","target":{"__isSmartRef__":true,"id":684},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"691":{"type":"mousedown","target":{"__isSmartRef__":true,"id":684},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"692":{"type":"selectstart","target":{"__isSmartRef__":true,"id":684},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"693":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":684},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"694":{"type":"keydown","target":{"__isSmartRef__":true,"id":684},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"695":{"type":"keyup","target":{"__isSmartRef__":true,"id":684},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"696":{"type":"keypress","target":{"__isSmartRef__":true,"id":684},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"697":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"698":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"699":{"position":{"__isSmartRef__":true,"id":700},"extent":{"__isSmartRef__":true,"id":701},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":313},"fill":{"__isSmartRef__":true,"id":314},"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"700":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"701":{"x":166.66666666666669,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"702":{"morph":{"__isSmartRef__":true,"id":683},"dispatchTable":{"__isSmartRef__":true,"id":703},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"703":{"mouseup":{"__isSmartRef__":true,"id":704},"mousedown":{"__isSmartRef__":true,"id":705},"mousewheel":{"__isSmartRef__":true,"id":706}},"704":{"type":"mouseup","target":{"__isSmartRef__":true,"id":683},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"705":{"type":"mousedown","target":{"__isSmartRef__":true,"id":683},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"706":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":683},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"707":{"x":638.3333333333333,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"708":{"stops":[{"__isSmartRef__":true,"id":709},{"__isSmartRef__":true,"id":711},{"__isSmartRef__":true,"id":713},{"__isSmartRef__":true,"id":715}],"vector":{"__isSmartRef__":true,"id":149},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"709":{"offset":0,"color":{"__isSmartRef__":true,"id":710}},"710":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"711":{"offset":0.4,"color":{"__isSmartRef__":true,"id":712}},"712":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"713":{"offset":0.6,"color":{"__isSmartRef__":true,"id":714}},"714":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"715":{"offset":1,"color":{"__isSmartRef__":true,"id":716}},"716":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"717":{"resizeWidth":false,"moveHorizontal":true},"718":{"sourceObj":{"__isSmartRef__":true,"id":683},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":608},"targetMethodName":"removeFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"719":{"submorphs":[],"scripts":[],"id":501,"cachedTextString":"module('lively.morphic.CompatLayer').requires('lively.morphic.Complete', 'cop.Layers').toRun(function() {\n\nObject.subclass('lively.morphic.Compat.Text',\n'initializing', {\n\tinitialize: function(string) {\n\t\tthis.string = string;\n\t},\n})\n\ncop.create('NewMorphicCompatLayer')\n.refineObject(Global, {\n\tget Morph() { return lively.morphic.Morph },\n\tget BoxMorph() { return lively.morphic.Box },\n\tget TextMorph() { return lively.morphic.Text },\n\tget WorldMorph() { return lively.morphic.World },\n\tget ButtonMorph() { return lively.morphic.Button },\n\tget PanelMorph() { return lively.morphic.Panel },\n\n\tget Widget() { return lively.morphic.App },\n\n\tget newTextPane(initialBounds, defaultText) {\n\t\tvar text = new TextMorph(initialBounds, defaultText);\n\t\ttext.applyStyle({overflow: scroll, fixedWidth: true, fixedHeight: true})\n\t\treturn text\n\t},\n\tget newDragnDropListPane(initialBounds, suppressSelectionOnUpdate) {\n\t\treturn new lively.morphic.List(initialBounds, ['-----'])\n\t},\n})\n.refineObject(lively, {\n\tget scene() { return {Rectangle: lively.morphic.Shapes.Rectangle} },\n\tget Text() { return {Text: lively.morphic.Compat.Text} },\n});\n\n}) // end of module","shape":{"__isSmartRef__":true,"id":720},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"scroll","_FontFamily":"Monaco","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":723},"_Position":{"__isSmartRef__":true,"id":732},"_MaxTextWidth":805,"_MaxTextHeight":638,"textColor":{"__isSmartRef__":true,"id":91},"padding":{"__isSmartRef__":true,"id":733},"layout":{"__isSmartRef__":true,"id":734},"_FontSize":10,"_Padding":{"__isSmartRef__":true,"id":733},"owner":{"__isSmartRef__":true,"id":590},"attributeConnections":[{"__isSmartRef__":true,"id":735}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"savedTextString":"module('lively.morphic.CompatLayer').requires('lively.morphic.Complete', 'cop.Layers').toRun(function() {\n\nObject.subclass('lively.morphic.Compat.Text',\n'initializing', {\n\tinitialize: function(string) {\n\t\tthis.string = string;\n\t},\n})\n\ncop.create('NewMorphicCompatLayer')\n.refineObject(Global, {\n\tget Morph() { return lively.morphic.Morph },\n\tget BoxMorph() { return lively.morphic.Box },\n\tget TextMorph() { return lively.morphic.Text },\n\tget WorldMorph() { return lively.morphic.World },\n\tget ButtonMorph() { return lively.morphic.Button },\n\tget PanelMorph() { return lively.morphic.Panel },\n\n\tget Widget() { return lively.morphic.App },\n\n\tget newTextPane(initialBounds, defaultText) {\n\t\tvar text = new TextMorph(initialBounds, defaultText);\n\t\ttext.applyStyle({overflow: scroll, fixedWidth: true, fixedHeight: true})\n\t\treturn text\n\t},\n\tget newDragnDropListPane(initialBounds, suppressSelectionOnUpdate) {\n\t\treturn new lively.morphic.List(initialBounds, ['-----'])\n\t},\n})\n.refineObject(lively, {\n\tget scene() { return {Rectangle: lively.morphic.Shapes.Rectangle} },\n\tget Text() { return {Text: lively.morphic.Compat.Text} },\n});\n\n}) // end of module","__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"720":{"position":{"__isSmartRef__":true,"id":721},"extent":{"__isSmartRef__":true,"id":722},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":91},"fill":{"__isSmartRef__":true,"id":92},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"721":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"722":{"x":805,"y":638,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"723":{"morph":{"__isSmartRef__":true,"id":719},"dispatchTable":{"__isSmartRef__":true,"id":724},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"724":{"mouseup":{"__isSmartRef__":true,"id":725},"mousedown":{"__isSmartRef__":true,"id":726},"selectstart":{"__isSmartRef__":true,"id":727},"mousewheel":{"__isSmartRef__":true,"id":728},"keydown":{"__isSmartRef__":true,"id":729},"keyup":{"__isSmartRef__":true,"id":730},"keypress":{"__isSmartRef__":true,"id":731}},"725":{"type":"mouseup","target":{"__isSmartRef__":true,"id":719},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"726":{"type":"mousedown","target":{"__isSmartRef__":true,"id":719},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"727":{"type":"selectstart","target":{"__isSmartRef__":true,"id":719},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"728":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":719},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"729":{"type":"keydown","target":{"__isSmartRef__":true,"id":719},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"730":{"type":"keyup","target":{"__isSmartRef__":true,"id":719},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"731":{"type":"keypress","target":{"__isSmartRef__":true,"id":719},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"732":{"x":0,"y":60,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"733":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"734":{"resizeWidth":true,"resizeHeight":true},"735":{"sourceObj":{"__isSmartRef__":true,"id":719},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":608},"targetMethodName":"saveFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"736":{"position":{"__isSmartRef__":true,"id":737},"extent":{"__isSmartRef__":true,"id":738},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":91},"fill":{"__isSmartRef__":true,"id":739},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"737":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"738":{"x":807,"y":700,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"739":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"740":{"morph":{"__isSmartRef__":true,"id":590},"dispatchTable":{"__isSmartRef__":true,"id":741},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"741":{"mouseup":{"__isSmartRef__":true,"id":742},"mousedown":{"__isSmartRef__":true,"id":743},"mousewheel":{"__isSmartRef__":true,"id":744}},"742":{"type":"mouseup","target":{"__isSmartRef__":true,"id":590},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"743":{"type":"mousedown","target":{"__isSmartRef__":true,"id":590},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"744":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":590},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"745":{"x":0,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"746":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"747":{"x":807,"y":700,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"748":{"submorphs":[{"__isSmartRef__":true,"id":749},{"__isSmartRef__":true,"id":763},{"__isSmartRef__":true,"id":800},{"__isSmartRef__":true,"id":836}],"scripts":[],"id":503,"shape":{"__isSmartRef__":true,"id":873},"droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":884},"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":885},"_Position":{"__isSmartRef__":true,"id":890},"eventsAreIgnored":true,"windowMorph":{"__isSmartRef__":true,"id":589},"label":{"__isSmartRef__":true,"id":749},"closeButton":{"__isSmartRef__":true,"id":763},"menuButton":{"__isSmartRef__":true,"id":800},"collapseButton":{"__isSmartRef__":true,"id":836},"priorExtent":{"__isSmartRef__":true,"id":891},"owner":{"__isSmartRef__":true,"id":589},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TitleBar"},"749":{"submorphs":[],"scripts":[],"id":504,"cachedTextString":"TextEditor","shape":{"__isSmartRef__":true,"id":750},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":753},"_Position":{"__isSmartRef__":true,"id":762},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":91},"isLabel":true,"eventsAreIgnored":true,"padding":{"__isSmartRef__":true,"id":456},"_Padding":{"__isSmartRef__":true,"id":456},"owner":{"__isSmartRef__":true,"id":748},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"750":{"position":{"__isSmartRef__":true,"id":751},"extent":{"__isSmartRef__":true,"id":752},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":91},"fill":null,"borderRadius":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"751":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"752":{"x":80,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"753":{"morph":{"__isSmartRef__":true,"id":749},"dispatchTable":{"__isSmartRef__":true,"id":754},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"754":{"mouseup":{"__isSmartRef__":true,"id":755},"mousedown":{"__isSmartRef__":true,"id":756},"selectstart":{"__isSmartRef__":true,"id":757},"mousewheel":{"__isSmartRef__":true,"id":758},"keydown":{"__isSmartRef__":true,"id":759},"keyup":{"__isSmartRef__":true,"id":760},"keypress":{"__isSmartRef__":true,"id":761}},"755":{"type":"mouseup","target":{"__isSmartRef__":true,"id":749},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"756":{"type":"mousedown","target":{"__isSmartRef__":true,"id":749},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"757":{"type":"selectstart","target":{"__isSmartRef__":true,"id":749},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"758":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":749},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"759":{"type":"keydown","target":{"__isSmartRef__":true,"id":749},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"760":{"type":"keyup","target":{"__isSmartRef__":true,"id":749},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"761":{"type":"keypress","target":{"__isSmartRef__":true,"id":749},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"762":{"x":363.5,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"763":{"submorphs":[{"__isSmartRef__":true,"id":764}],"scripts":[],"id":505,"shape":{"__isSmartRef__":true,"id":779},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":782},"_Position":{"__isSmartRef__":true,"id":787},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":314},"lighterFill":{"__isSmartRef__":true,"id":788},"label":{"__isSmartRef__":true,"id":764},"owner":{"__isSmartRef__":true,"id":748},"layout":{"__isSmartRef__":true,"id":797},"attributeConnections":[{"__isSmartRef__":true,"id":798},{"__isSmartRef__":true,"id":799}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"764":{"submorphs":[],"scripts":[],"id":506,"cachedTextString":"X","shape":{"__isSmartRef__":true,"id":765},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":768},"_Position":{"__isSmartRef__":true,"id":777},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":91},"padding":{"__isSmartRef__":true,"id":778},"_Padding":{"__isSmartRef__":true,"id":778},"owner":{"__isSmartRef__":true,"id":763},"isLabel":true,"eventsAreIgnored":true,"_FontSize":8,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"765":{"position":{"__isSmartRef__":true,"id":766},"extent":{"__isSmartRef__":true,"id":767},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":91},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"766":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"767":{"x":17,"y":17,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"768":{"morph":{"__isSmartRef__":true,"id":764},"dispatchTable":{"__isSmartRef__":true,"id":769},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"769":{"mouseup":{"__isSmartRef__":true,"id":770},"mousedown":{"__isSmartRef__":true,"id":771},"selectstart":{"__isSmartRef__":true,"id":772},"mousewheel":{"__isSmartRef__":true,"id":773},"keydown":{"__isSmartRef__":true,"id":774},"keyup":{"__isSmartRef__":true,"id":775},"keypress":{"__isSmartRef__":true,"id":776}},"770":{"type":"mouseup","target":{"__isSmartRef__":true,"id":764},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"771":{"type":"mousedown","target":{"__isSmartRef__":true,"id":764},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"772":{"type":"selectstart","target":{"__isSmartRef__":true,"id":764},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"773":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":764},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"774":{"type":"keydown","target":{"__isSmartRef__":true,"id":764},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"775":{"type":"keyup","target":{"__isSmartRef__":true,"id":764},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"776":{"type":"keypress","target":{"__isSmartRef__":true,"id":764},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"777":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"778":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"779":{"position":{"__isSmartRef__":true,"id":780},"extent":{"__isSmartRef__":true,"id":781},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":313},"fill":{"__isSmartRef__":true,"id":314},"strokeOpacity":0,"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"780":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"781":{"x":17,"y":17,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"782":{"morph":{"__isSmartRef__":true,"id":763},"dispatchTable":{"__isSmartRef__":true,"id":783},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"783":{"mouseup":{"__isSmartRef__":true,"id":784},"mousedown":{"__isSmartRef__":true,"id":785},"mousewheel":{"__isSmartRef__":true,"id":786}},"784":{"type":"mouseup","target":{"__isSmartRef__":true,"id":763},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"785":{"type":"mousedown","target":{"__isSmartRef__":true,"id":763},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"786":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":763},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"787":{"x":787,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"788":{"stops":[{"__isSmartRef__":true,"id":789},{"__isSmartRef__":true,"id":791},{"__isSmartRef__":true,"id":793},{"__isSmartRef__":true,"id":795}],"vector":{"__isSmartRef__":true,"id":149},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"789":{"offset":0,"color":{"__isSmartRef__":true,"id":790}},"790":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"791":{"offset":0.4,"color":{"__isSmartRef__":true,"id":792}},"792":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"793":{"offset":0.6,"color":{"__isSmartRef__":true,"id":794}},"794":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"795":{"offset":1,"color":{"__isSmartRef__":true,"id":796}},"796":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"797":{"moveHorizontal":true},"798":{"sourceObj":{"__isSmartRef__":true,"id":763},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":589},"targetMethodName":"getCloseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"799":{"sourceObj":{"__isSmartRef__":true,"id":763},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":589},"targetMethodName":"initiateShutdown","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"800":{"submorphs":[{"__isSmartRef__":true,"id":801}],"scripts":[],"id":507,"shape":{"__isSmartRef__":true,"id":816},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":819},"_Position":{"__isSmartRef__":true,"id":824},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":314},"lighterFill":{"__isSmartRef__":true,"id":825},"label":{"__isSmartRef__":true,"id":801},"owner":{"__isSmartRef__":true,"id":748},"attributeConnections":[{"__isSmartRef__":true,"id":834},{"__isSmartRef__":true,"id":835}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"801":{"submorphs":[],"scripts":[],"id":508,"cachedTextString":"M","shape":{"__isSmartRef__":true,"id":802},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":805},"_Position":{"__isSmartRef__":true,"id":814},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":91},"padding":{"__isSmartRef__":true,"id":815},"_Padding":{"__isSmartRef__":true,"id":815},"owner":{"__isSmartRef__":true,"id":800},"isLabel":true,"eventsAreIgnored":true,"_FontSize":8,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"802":{"position":{"__isSmartRef__":true,"id":803},"extent":{"__isSmartRef__":true,"id":804},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":91},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"803":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"804":{"x":17,"y":17,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"805":{"morph":{"__isSmartRef__":true,"id":801},"dispatchTable":{"__isSmartRef__":true,"id":806},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"806":{"mouseup":{"__isSmartRef__":true,"id":807},"mousedown":{"__isSmartRef__":true,"id":808},"selectstart":{"__isSmartRef__":true,"id":809},"mousewheel":{"__isSmartRef__":true,"id":810},"keydown":{"__isSmartRef__":true,"id":811},"keyup":{"__isSmartRef__":true,"id":812},"keypress":{"__isSmartRef__":true,"id":813}},"807":{"type":"mouseup","target":{"__isSmartRef__":true,"id":801},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"808":{"type":"mousedown","target":{"__isSmartRef__":true,"id":801},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"809":{"type":"selectstart","target":{"__isSmartRef__":true,"id":801},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"810":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":801},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"811":{"type":"keydown","target":{"__isSmartRef__":true,"id":801},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"812":{"type":"keyup","target":{"__isSmartRef__":true,"id":801},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"813":{"type":"keypress","target":{"__isSmartRef__":true,"id":801},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"814":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"815":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"816":{"position":{"__isSmartRef__":true,"id":817},"extent":{"__isSmartRef__":true,"id":818},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":313},"fill":{"__isSmartRef__":true,"id":314},"strokeOpacity":0,"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"817":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"818":{"x":17,"y":17,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"819":{"morph":{"__isSmartRef__":true,"id":800},"dispatchTable":{"__isSmartRef__":true,"id":820},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"820":{"mouseup":{"__isSmartRef__":true,"id":821},"mousedown":{"__isSmartRef__":true,"id":822},"mousewheel":{"__isSmartRef__":true,"id":823}},"821":{"type":"mouseup","target":{"__isSmartRef__":true,"id":800},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"822":{"type":"mousedown","target":{"__isSmartRef__":true,"id":800},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"823":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":800},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"824":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"825":{"stops":[{"__isSmartRef__":true,"id":826},{"__isSmartRef__":true,"id":828},{"__isSmartRef__":true,"id":830},{"__isSmartRef__":true,"id":832}],"vector":{"__isSmartRef__":true,"id":149},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"826":{"offset":0,"color":{"__isSmartRef__":true,"id":827}},"827":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"828":{"offset":0.4,"color":{"__isSmartRef__":true,"id":829}},"829":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"830":{"offset":0.6,"color":{"__isSmartRef__":true,"id":831}},"831":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"832":{"offset":1,"color":{"__isSmartRef__":true,"id":833}},"833":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"834":{"sourceObj":{"__isSmartRef__":true,"id":800},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":589},"targetMethodName":"getMenuHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"835":{"sourceObj":{"__isSmartRef__":true,"id":800},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":589},"targetMethodName":"showTargetMorphMenu","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"836":{"submorphs":[{"__isSmartRef__":true,"id":837}],"scripts":[],"id":509,"shape":{"__isSmartRef__":true,"id":852},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":855},"_Position":{"__isSmartRef__":true,"id":860},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":314},"lighterFill":{"__isSmartRef__":true,"id":861},"label":{"__isSmartRef__":true,"id":837},"owner":{"__isSmartRef__":true,"id":748},"layout":{"__isSmartRef__":true,"id":870},"attributeConnections":[{"__isSmartRef__":true,"id":871},{"__isSmartRef__":true,"id":872}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"837":{"submorphs":[],"scripts":[],"id":510,"cachedTextString":"–","shape":{"__isSmartRef__":true,"id":838},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":841},"_Position":{"__isSmartRef__":true,"id":850},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":91},"padding":{"__isSmartRef__":true,"id":851},"_Padding":{"__isSmartRef__":true,"id":851},"owner":{"__isSmartRef__":true,"id":836},"isLabel":true,"eventsAreIgnored":true,"_FontSize":8,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"838":{"position":{"__isSmartRef__":true,"id":839},"extent":{"__isSmartRef__":true,"id":840},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":91},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"839":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"840":{"x":17,"y":17,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"841":{"morph":{"__isSmartRef__":true,"id":837},"dispatchTable":{"__isSmartRef__":true,"id":842},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"842":{"mouseup":{"__isSmartRef__":true,"id":843},"mousedown":{"__isSmartRef__":true,"id":844},"selectstart":{"__isSmartRef__":true,"id":845},"mousewheel":{"__isSmartRef__":true,"id":846},"keydown":{"__isSmartRef__":true,"id":847},"keyup":{"__isSmartRef__":true,"id":848},"keypress":{"__isSmartRef__":true,"id":849}},"843":{"type":"mouseup","target":{"__isSmartRef__":true,"id":837},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"844":{"type":"mousedown","target":{"__isSmartRef__":true,"id":837},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"845":{"type":"selectstart","target":{"__isSmartRef__":true,"id":837},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"846":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":837},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"847":{"type":"keydown","target":{"__isSmartRef__":true,"id":837},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"848":{"type":"keyup","target":{"__isSmartRef__":true,"id":837},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"849":{"type":"keypress","target":{"__isSmartRef__":true,"id":837},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"850":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"851":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"852":{"position":{"__isSmartRef__":true,"id":853},"extent":{"__isSmartRef__":true,"id":854},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":313},"fill":{"__isSmartRef__":true,"id":314},"strokeOpacity":0,"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"853":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"854":{"x":17,"y":17,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"855":{"morph":{"__isSmartRef__":true,"id":836},"dispatchTable":{"__isSmartRef__":true,"id":856},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"856":{"mouseup":{"__isSmartRef__":true,"id":857},"mousedown":{"__isSmartRef__":true,"id":858},"mousewheel":{"__isSmartRef__":true,"id":859}},"857":{"type":"mouseup","target":{"__isSmartRef__":true,"id":836},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"858":{"type":"mousedown","target":{"__isSmartRef__":true,"id":836},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"859":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":836},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"860":{"x":768,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"861":{"stops":[{"__isSmartRef__":true,"id":862},{"__isSmartRef__":true,"id":864},{"__isSmartRef__":true,"id":866},{"__isSmartRef__":true,"id":868}],"vector":{"__isSmartRef__":true,"id":149},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"862":{"offset":0,"color":{"__isSmartRef__":true,"id":863}},"863":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"864":{"offset":0.4,"color":{"__isSmartRef__":true,"id":865}},"865":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"866":{"offset":0.6,"color":{"__isSmartRef__":true,"id":867}},"867":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"868":{"offset":1,"color":{"__isSmartRef__":true,"id":869}},"869":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"870":{"moveHorizontal":true},"871":{"sourceObj":{"__isSmartRef__":true,"id":836},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":589},"targetMethodName":"getCollapseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"872":{"sourceObj":{"__isSmartRef__":true,"id":836},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":589},"targetMethodName":"toggleCollapse","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"873":{"position":{"__isSmartRef__":true,"id":874},"extent":{"__isSmartRef__":true,"id":875},"borderWidth":2,"borderColor":{"__isSmartRef__":true,"id":244},"fill":{"__isSmartRef__":true,"id":876},"strokeOpacity":1,"borderRadius":8,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"874":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"875":{"x":807,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"876":{"stops":[{"__isSmartRef__":true,"id":877},{"__isSmartRef__":true,"id":879},{"__isSmartRef__":true,"id":881}],"vector":{"__isSmartRef__":true,"id":883},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"877":{"offset":0,"color":{"__isSmartRef__":true,"id":878}},"878":{"r":0.8600000000000001,"g":0.8600000000000001,"b":0.8600000000000001,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"879":{"offset":0.6,"color":{"__isSmartRef__":true,"id":880}},"880":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"881":{"offset":1,"color":{"__isSmartRef__":true,"id":882}},"882":{"r":0.8600000000000001,"g":0.8600000000000001,"b":0.8600000000000001,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"883":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"884":{"resizeWidth":true,"adjustForNewBounds":true},"885":{"morph":{"__isSmartRef__":true,"id":748},"dispatchTable":{"__isSmartRef__":true,"id":886},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"886":{"mouseup":{"__isSmartRef__":true,"id":887},"mousedown":{"__isSmartRef__":true,"id":888},"mousewheel":{"__isSmartRef__":true,"id":889}},"887":{"type":"mouseup","target":{"__isSmartRef__":true,"id":748},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"888":{"type":"mousedown","target":{"__isSmartRef__":true,"id":748},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"889":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":748},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"890":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"891":{"x":807,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"892":{"borderWidth":0,"fill":null,"strokeOpacity":0,"borderRadius":0,"extent":{"__isSmartRef__":true,"id":893},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"893":{"x":807,"y":722,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"894":{"adjustForNewBounds":true},"895":{"morph":{"__isSmartRef__":true,"id":589},"dispatchTable":{"__isSmartRef__":true,"id":896},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"896":{"mouseup":{"__isSmartRef__":true,"id":897},"mousedown":{"__isSmartRef__":true,"id":898},"mousewheel":{"__isSmartRef__":true,"id":899}},"897":{"type":"mouseup","target":{"__isSmartRef__":true,"id":589},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"898":{"type":"mousedown","target":{"__isSmartRef__":true,"id":589},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"899":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":589},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"900":{"x":1029,"y":279,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"901":{"x":807,"y":722,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"902":{"x":1450,"y":285,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"903":{"submorphs":[{"__isSmartRef__":true,"id":904},{"__isSmartRef__":true,"id":919}],"scripts":[],"id":581,"shape":{"__isSmartRef__":true,"id":1055},"droppingEnabled":true,"halosEnabled":true,"draggingEnabled":true,"layout":{"__isSmartRef__":true,"id":1057},"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1058},"_Position":{"__isSmartRef__":true,"id":1063},"priorExtent":{"__isSmartRef__":true,"id":1064},"targetMorph":{"__isSmartRef__":true,"id":904},"titleBar":{"__isSmartRef__":true,"id":919},"contentOffset":{"__isSmartRef__":true,"id":917},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"owner":{"__isSmartRef__":true,"id":0},"highlighted":true,"showsHalos":false,"halos":[],"prevDragPos":{"__isSmartRef__":true,"id":1065},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Window"},"904":{"submorphs":[],"scripts":[],"id":580,"cachedTextString":"req = '[]'\nthis.world().getChangeSet().subElements()[0].setDefinition(req)","shape":{"__isSmartRef__":true,"id":905},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"auto","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":908},"_Position":{"__isSmartRef__":true,"id":917},"_MaxTextWidth":474,"_MaxTextHeight":101,"textColor":{"__isSmartRef__":true,"id":91},"owner":{"__isSmartRef__":true,"id":903},"layout":{"__isSmartRef__":true,"id":918},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"905":{"position":{"__isSmartRef__":true,"id":906},"extent":{"__isSmartRef__":true,"id":907},"borderWidth":2,"borderColor":{"__isSmartRef__":true,"id":91},"fill":{"__isSmartRef__":true,"id":92},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"906":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"907":{"x":474,"y":101,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"908":{"morph":{"__isSmartRef__":true,"id":904},"dispatchTable":{"__isSmartRef__":true,"id":909},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"909":{"mouseup":{"__isSmartRef__":true,"id":910},"mousedown":{"__isSmartRef__":true,"id":911},"selectstart":{"__isSmartRef__":true,"id":912},"mousewheel":{"__isSmartRef__":true,"id":913},"keydown":{"__isSmartRef__":true,"id":914},"keyup":{"__isSmartRef__":true,"id":915},"keypress":{"__isSmartRef__":true,"id":916}},"910":{"type":"mouseup","target":{"__isSmartRef__":true,"id":904},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"911":{"type":"mousedown","target":{"__isSmartRef__":true,"id":904},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"912":{"type":"selectstart","target":{"__isSmartRef__":true,"id":904},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"913":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":904},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"914":{"type":"keydown","target":{"__isSmartRef__":true,"id":904},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"915":{"type":"keyup","target":{"__isSmartRef__":true,"id":904},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"916":{"type":"keypress","target":{"__isSmartRef__":true,"id":904},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"917":{"x":0,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"918":{"resizeWidth":true,"resizeHeight":true},"919":{"submorphs":[{"__isSmartRef__":true,"id":920},{"__isSmartRef__":true,"id":934},{"__isSmartRef__":true,"id":971},{"__isSmartRef__":true,"id":1007}],"scripts":[],"id":582,"shape":{"__isSmartRef__":true,"id":1044},"droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1047},"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1048},"_Position":{"__isSmartRef__":true,"id":1053},"eventsAreIgnored":true,"windowMorph":{"__isSmartRef__":true,"id":903},"label":{"__isSmartRef__":true,"id":920},"closeButton":{"__isSmartRef__":true,"id":934},"menuButton":{"__isSmartRef__":true,"id":971},"collapseButton":{"__isSmartRef__":true,"id":1007},"priorExtent":{"__isSmartRef__":true,"id":1054},"owner":{"__isSmartRef__":true,"id":903},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TitleBar"},"920":{"submorphs":[],"scripts":[],"id":583,"cachedTextString":"Workspace","shape":{"__isSmartRef__":true,"id":921},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":924},"_Position":{"__isSmartRef__":true,"id":933},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":91},"isLabel":true,"eventsAreIgnored":true,"padding":{"__isSmartRef__":true,"id":456},"_Padding":{"__isSmartRef__":true,"id":456},"owner":{"__isSmartRef__":true,"id":919},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"921":{"position":{"__isSmartRef__":true,"id":922},"extent":{"__isSmartRef__":true,"id":923},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":91},"fill":null,"borderRadius":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"922":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"923":{"x":72,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"924":{"morph":{"__isSmartRef__":true,"id":920},"dispatchTable":{"__isSmartRef__":true,"id":925},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"925":{"mouseup":{"__isSmartRef__":true,"id":926},"mousedown":{"__isSmartRef__":true,"id":927},"selectstart":{"__isSmartRef__":true,"id":928},"mousewheel":{"__isSmartRef__":true,"id":929},"keydown":{"__isSmartRef__":true,"id":930},"keyup":{"__isSmartRef__":true,"id":931},"keypress":{"__isSmartRef__":true,"id":932}},"926":{"type":"mouseup","target":{"__isSmartRef__":true,"id":920},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"927":{"type":"mousedown","target":{"__isSmartRef__":true,"id":920},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"928":{"type":"selectstart","target":{"__isSmartRef__":true,"id":920},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"929":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":920},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"930":{"type":"keydown","target":{"__isSmartRef__":true,"id":920},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"931":{"type":"keyup","target":{"__isSmartRef__":true,"id":920},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"932":{"type":"keypress","target":{"__isSmartRef__":true,"id":920},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"933":{"x":201,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"934":{"submorphs":[{"__isSmartRef__":true,"id":935}],"scripts":[],"id":584,"shape":{"__isSmartRef__":true,"id":950},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":953},"_Position":{"__isSmartRef__":true,"id":958},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":314},"lighterFill":{"__isSmartRef__":true,"id":959},"label":{"__isSmartRef__":true,"id":935},"owner":{"__isSmartRef__":true,"id":919},"layout":{"__isSmartRef__":true,"id":968},"attributeConnections":[{"__isSmartRef__":true,"id":969},{"__isSmartRef__":true,"id":970}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"935":{"submorphs":[],"scripts":[],"id":585,"cachedTextString":"X","shape":{"__isSmartRef__":true,"id":936},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":939},"_Position":{"__isSmartRef__":true,"id":948},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":91},"padding":{"__isSmartRef__":true,"id":949},"_Padding":{"__isSmartRef__":true,"id":949},"owner":{"__isSmartRef__":true,"id":934},"isLabel":true,"eventsAreIgnored":true,"_FontSize":8,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"936":{"position":{"__isSmartRef__":true,"id":937},"extent":{"__isSmartRef__":true,"id":938},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":91},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"937":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"938":{"x":17,"y":17,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"939":{"morph":{"__isSmartRef__":true,"id":935},"dispatchTable":{"__isSmartRef__":true,"id":940},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"940":{"mouseup":{"__isSmartRef__":true,"id":941},"mousedown":{"__isSmartRef__":true,"id":942},"selectstart":{"__isSmartRef__":true,"id":943},"mousewheel":{"__isSmartRef__":true,"id":944},"keydown":{"__isSmartRef__":true,"id":945},"keyup":{"__isSmartRef__":true,"id":946},"keypress":{"__isSmartRef__":true,"id":947}},"941":{"type":"mouseup","target":{"__isSmartRef__":true,"id":935},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"942":{"type":"mousedown","target":{"__isSmartRef__":true,"id":935},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"943":{"type":"selectstart","target":{"__isSmartRef__":true,"id":935},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"944":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":935},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"945":{"type":"keydown","target":{"__isSmartRef__":true,"id":935},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"946":{"type":"keyup","target":{"__isSmartRef__":true,"id":935},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"947":{"type":"keypress","target":{"__isSmartRef__":true,"id":935},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"948":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"949":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"950":{"position":{"__isSmartRef__":true,"id":951},"extent":{"__isSmartRef__":true,"id":952},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":313},"fill":{"__isSmartRef__":true,"id":314},"strokeOpacity":0,"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"951":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"952":{"x":17,"y":17,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"953":{"morph":{"__isSmartRef__":true,"id":934},"dispatchTable":{"__isSmartRef__":true,"id":954},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"954":{"mouseup":{"__isSmartRef__":true,"id":955},"mousedown":{"__isSmartRef__":true,"id":956},"mousewheel":{"__isSmartRef__":true,"id":957}},"955":{"type":"mouseup","target":{"__isSmartRef__":true,"id":934},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"956":{"type":"mousedown","target":{"__isSmartRef__":true,"id":934},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"957":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":934},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"958":{"x":454,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"959":{"stops":[{"__isSmartRef__":true,"id":960},{"__isSmartRef__":true,"id":962},{"__isSmartRef__":true,"id":964},{"__isSmartRef__":true,"id":966}],"vector":{"__isSmartRef__":true,"id":149},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"960":{"offset":0,"color":{"__isSmartRef__":true,"id":961}},"961":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"962":{"offset":0.4,"color":{"__isSmartRef__":true,"id":963}},"963":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"964":{"offset":0.6,"color":{"__isSmartRef__":true,"id":965}},"965":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"966":{"offset":1,"color":{"__isSmartRef__":true,"id":967}},"967":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"968":{"moveHorizontal":true},"969":{"sourceObj":{"__isSmartRef__":true,"id":934},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":903},"targetMethodName":"getCloseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"970":{"sourceObj":{"__isSmartRef__":true,"id":934},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":903},"targetMethodName":"initiateShutdown","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"971":{"submorphs":[{"__isSmartRef__":true,"id":972}],"scripts":[],"id":586,"shape":{"__isSmartRef__":true,"id":987},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":990},"_Position":{"__isSmartRef__":true,"id":995},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":314},"lighterFill":{"__isSmartRef__":true,"id":996},"label":{"__isSmartRef__":true,"id":972},"owner":{"__isSmartRef__":true,"id":919},"attributeConnections":[{"__isSmartRef__":true,"id":1005},{"__isSmartRef__":true,"id":1006}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"972":{"submorphs":[],"scripts":[],"id":587,"cachedTextString":"M","shape":{"__isSmartRef__":true,"id":973},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":976},"_Position":{"__isSmartRef__":true,"id":985},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":91},"padding":{"__isSmartRef__":true,"id":986},"_Padding":{"__isSmartRef__":true,"id":986},"owner":{"__isSmartRef__":true,"id":971},"isLabel":true,"eventsAreIgnored":true,"_FontSize":8,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"973":{"position":{"__isSmartRef__":true,"id":974},"extent":{"__isSmartRef__":true,"id":975},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":91},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"974":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"975":{"x":17,"y":17,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"976":{"morph":{"__isSmartRef__":true,"id":972},"dispatchTable":{"__isSmartRef__":true,"id":977},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"977":{"mouseup":{"__isSmartRef__":true,"id":978},"mousedown":{"__isSmartRef__":true,"id":979},"selectstart":{"__isSmartRef__":true,"id":980},"mousewheel":{"__isSmartRef__":true,"id":981},"keydown":{"__isSmartRef__":true,"id":982},"keyup":{"__isSmartRef__":true,"id":983},"keypress":{"__isSmartRef__":true,"id":984}},"978":{"type":"mouseup","target":{"__isSmartRef__":true,"id":972},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"979":{"type":"mousedown","target":{"__isSmartRef__":true,"id":972},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"980":{"type":"selectstart","target":{"__isSmartRef__":true,"id":972},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"981":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":972},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"982":{"type":"keydown","target":{"__isSmartRef__":true,"id":972},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"983":{"type":"keyup","target":{"__isSmartRef__":true,"id":972},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"984":{"type":"keypress","target":{"__isSmartRef__":true,"id":972},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"985":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"986":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"987":{"position":{"__isSmartRef__":true,"id":988},"extent":{"__isSmartRef__":true,"id":989},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":313},"fill":{"__isSmartRef__":true,"id":314},"strokeOpacity":0,"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"988":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"989":{"x":17,"y":17,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"990":{"morph":{"__isSmartRef__":true,"id":971},"dispatchTable":{"__isSmartRef__":true,"id":991},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"991":{"mouseup":{"__isSmartRef__":true,"id":992},"mousedown":{"__isSmartRef__":true,"id":993},"mousewheel":{"__isSmartRef__":true,"id":994}},"992":{"type":"mouseup","target":{"__isSmartRef__":true,"id":971},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"993":{"type":"mousedown","target":{"__isSmartRef__":true,"id":971},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"994":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":971},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"995":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"996":{"stops":[{"__isSmartRef__":true,"id":997},{"__isSmartRef__":true,"id":999},{"__isSmartRef__":true,"id":1001},{"__isSmartRef__":true,"id":1003}],"vector":{"__isSmartRef__":true,"id":149},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"997":{"offset":0,"color":{"__isSmartRef__":true,"id":998}},"998":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"999":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1000}},"1000":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1001":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1002}},"1002":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1003":{"offset":1,"color":{"__isSmartRef__":true,"id":1004}},"1004":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1005":{"sourceObj":{"__isSmartRef__":true,"id":971},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":903},"targetMethodName":"getMenuHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1006":{"sourceObj":{"__isSmartRef__":true,"id":971},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":903},"targetMethodName":"showTargetMorphMenu","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1007":{"submorphs":[{"__isSmartRef__":true,"id":1008}],"scripts":[],"id":588,"shape":{"__isSmartRef__":true,"id":1023},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1026},"_Position":{"__isSmartRef__":true,"id":1031},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":314},"lighterFill":{"__isSmartRef__":true,"id":1032},"label":{"__isSmartRef__":true,"id":1008},"owner":{"__isSmartRef__":true,"id":919},"layout":{"__isSmartRef__":true,"id":1041},"attributeConnections":[{"__isSmartRef__":true,"id":1042},{"__isSmartRef__":true,"id":1043}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1008":{"submorphs":[],"scripts":[],"id":589,"cachedTextString":"–","shape":{"__isSmartRef__":true,"id":1009},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1012},"_Position":{"__isSmartRef__":true,"id":1021},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":91},"padding":{"__isSmartRef__":true,"id":1022},"_Padding":{"__isSmartRef__":true,"id":1022},"owner":{"__isSmartRef__":true,"id":1007},"isLabel":true,"eventsAreIgnored":true,"_FontSize":8,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1009":{"position":{"__isSmartRef__":true,"id":1010},"extent":{"__isSmartRef__":true,"id":1011},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":91},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1010":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1011":{"x":17,"y":17,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1012":{"morph":{"__isSmartRef__":true,"id":1008},"dispatchTable":{"__isSmartRef__":true,"id":1013},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1013":{"mouseup":{"__isSmartRef__":true,"id":1014},"mousedown":{"__isSmartRef__":true,"id":1015},"selectstart":{"__isSmartRef__":true,"id":1016},"mousewheel":{"__isSmartRef__":true,"id":1017},"keydown":{"__isSmartRef__":true,"id":1018},"keyup":{"__isSmartRef__":true,"id":1019},"keypress":{"__isSmartRef__":true,"id":1020}},"1014":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1008},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1015":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1008},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1016":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1008},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1017":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1008},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1018":{"type":"keydown","target":{"__isSmartRef__":true,"id":1008},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1019":{"type":"keyup","target":{"__isSmartRef__":true,"id":1008},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1020":{"type":"keypress","target":{"__isSmartRef__":true,"id":1008},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1021":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1022":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1023":{"position":{"__isSmartRef__":true,"id":1024},"extent":{"__isSmartRef__":true,"id":1025},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":313},"fill":{"__isSmartRef__":true,"id":314},"strokeOpacity":0,"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1024":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1025":{"x":17,"y":17,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1026":{"morph":{"__isSmartRef__":true,"id":1007},"dispatchTable":{"__isSmartRef__":true,"id":1027},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1027":{"mouseup":{"__isSmartRef__":true,"id":1028},"mousedown":{"__isSmartRef__":true,"id":1029},"mousewheel":{"__isSmartRef__":true,"id":1030}},"1028":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1007},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1029":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1007},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1030":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1007},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1031":{"x":435,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1032":{"stops":[{"__isSmartRef__":true,"id":1033},{"__isSmartRef__":true,"id":1035},{"__isSmartRef__":true,"id":1037},{"__isSmartRef__":true,"id":1039}],"vector":{"__isSmartRef__":true,"id":149},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1033":{"offset":0,"color":{"__isSmartRef__":true,"id":1034}},"1034":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1035":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1036}},"1036":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1037":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1038}},"1038":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1039":{"offset":1,"color":{"__isSmartRef__":true,"id":1040}},"1040":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1041":{"moveHorizontal":true},"1042":{"sourceObj":{"__isSmartRef__":true,"id":1007},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":903},"targetMethodName":"getCollapseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1043":{"sourceObj":{"__isSmartRef__":true,"id":1007},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":903},"targetMethodName":"toggleCollapse","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1044":{"position":{"__isSmartRef__":true,"id":1045},"extent":{"__isSmartRef__":true,"id":1046},"borderWidth":2,"borderColor":{"__isSmartRef__":true,"id":244},"fill":{"__isSmartRef__":true,"id":245},"strokeOpacity":1,"borderRadius":8,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1045":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1046":{"x":474,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1047":{"resizeWidth":true,"adjustForNewBounds":true},"1048":{"morph":{"__isSmartRef__":true,"id":919},"dispatchTable":{"__isSmartRef__":true,"id":1049},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1049":{"mouseup":{"__isSmartRef__":true,"id":1050},"mousedown":{"__isSmartRef__":true,"id":1051},"mousewheel":{"__isSmartRef__":true,"id":1052}},"1050":{"type":"mouseup","target":{"__isSmartRef__":true,"id":919},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1051":{"type":"mousedown","target":{"__isSmartRef__":true,"id":919},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1052":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":919},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1053":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1054":{"x":474,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1055":{"borderWidth":0,"fill":null,"strokeOpacity":0,"borderRadius":0,"extent":{"__isSmartRef__":true,"id":1056},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1056":{"x":474,"y":123,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1057":{"adjustForNewBounds":true},"1058":{"morph":{"__isSmartRef__":true,"id":903},"dispatchTable":{"__isSmartRef__":true,"id":1059},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1059":{"mouseup":{"__isSmartRef__":true,"id":1060},"mousedown":{"__isSmartRef__":true,"id":1061},"mousewheel":{"__isSmartRef__":true,"id":1062}},"1060":{"type":"mouseup","target":{"__isSmartRef__":true,"id":903},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1061":{"type":"mousedown","target":{"__isSmartRef__":true,"id":903},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1062":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":903},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1063":{"x":1538,"y":8,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1064":{"x":474,"y":123,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1065":{"x":1685,"y":15,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1066":{"submorphs":[{"__isSmartRef__":true,"id":1067},{"__isSmartRef__":true,"id":1237}],"scripts":[],"id":41,"shape":{"__isSmartRef__":true,"id":1375},"droppingEnabled":true,"halosEnabled":true,"draggingEnabled":true,"layout":{"__isSmartRef__":true,"id":1377},"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1378},"_Position":{"__isSmartRef__":true,"id":1383},"priorExtent":{"__isSmartRef__":true,"id":1384},"targetMorph":{"__isSmartRef__":true,"id":1067},"titleBar":{"__isSmartRef__":true,"id":1237},"contentOffset":{"__isSmartRef__":true,"id":1234},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"owner":{"__isSmartRef__":true,"id":0},"highlighted":true,"showsHalos":false,"halos":[],"prevDragPos":{"__isSmartRef__":true,"id":1385},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Window"},"1067":{"submorphs":[{"__isSmartRef__":true,"id":1068},{"__isSmartRef__":true,"id":1090},{"__isSmartRef__":true,"id":1136},{"__isSmartRef__":true,"id":1172},{"__isSmartRef__":true,"id":1208}],"scripts":[],"id":32,"shape":{"__isSmartRef__":true,"id":1225},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1229},"_Position":{"__isSmartRef__":true,"id":1234},"layout":{"__isSmartRef__":true,"id":1235},"urlText":{"__isSmartRef__":true,"id":1068},"contentMorph":{"__isSmartRef__":true,"id":1208},"owner":{"__isSmartRef__":true,"id":1066},"ownerApp":{"__isSmartRef__":true,"id":1087},"priorExtent":{"__isSmartRef__":true,"id":1236},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Box"},"1068":{"submorphs":[],"scripts":[],"id":33,"cachedTextString":"http://lively-kernel.org/repository/webwerkstatt/lively/morphic/MorphAddons.js","shape":{"__isSmartRef__":true,"id":1069},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"hidden","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1074},"_Position":{"__isSmartRef__":true,"id":1083},"_MaxTextWidth":null,"_MaxTextHeight":30,"textColor":{"__isSmartRef__":true,"id":1072},"isInputLine":true,"layout":{"__isSmartRef__":true,"id":1084},"_Padding":{"__isSmartRef__":true,"id":1085},"owner":{"__isSmartRef__":true,"id":1067},"attributeConnections":[{"__isSmartRef__":true,"id":1086}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"savedTextString":"http://lively-kernel.org/repository/webwerkstatt/lively/morphic/MorphAddons.js","showsHalos":false,"halos":[],"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1069":{"position":{"__isSmartRef__":true,"id":1070},"extent":{"__isSmartRef__":true,"id":1071},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1072},"fill":{"__isSmartRef__":true,"id":1073},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1070":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1071":{"x":778,"y":30,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1072":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1073":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1074":{"morph":{"__isSmartRef__":true,"id":1068},"dispatchTable":{"__isSmartRef__":true,"id":1075},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1075":{"mouseup":{"__isSmartRef__":true,"id":1076},"mousedown":{"__isSmartRef__":true,"id":1077},"selectstart":{"__isSmartRef__":true,"id":1078},"mousewheel":{"__isSmartRef__":true,"id":1079},"keydown":{"__isSmartRef__":true,"id":1080},"keyup":{"__isSmartRef__":true,"id":1081},"keypress":{"__isSmartRef__":true,"id":1082}},"1076":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1068},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1077":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1068},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1078":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1068},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1079":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1068},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1080":{"type":"keydown","target":{"__isSmartRef__":true,"id":1068},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1081":{"type":"keyup","target":{"__isSmartRef__":true,"id":1068},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1082":{"type":"keypress","target":{"__isSmartRef__":true,"id":1068},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1083":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1084":{"resizeWidth":true},"1085":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1086":{"sourceObj":{"__isSmartRef__":true,"id":1068},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":1087},"targetMethodName":"setCurrentURL","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1087":{"attributeConnections":[{"__isSmartRef__":true,"id":1088}],"doNotSerialize":["$$currentURL"],"doNotCopyProperties":["$$currentURL"],"currentURL":{"__isSmartRef__":true,"id":1089},"panel":{"__isSmartRef__":true,"id":1067},"view":{"__isSmartRef__":true,"id":1066},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TextEditor"},"1088":{"sourceObj":{"__isSmartRef__":true,"id":1087},"sourceAttrName":"currentURL","targetObj":{"__isSmartRef__":true,"id":1087},"targetMethodName":"loadFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1089":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/lively/morphic/MorphAddons.js","__SourceModuleName__":"Global.lively.Network","__LivelyClassName__":"URL"},"1090":{"submorphs":[{"__isSmartRef__":true,"id":1091}],"scripts":[],"id":34,"shape":{"__isSmartRef__":true,"id":1106},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1119},"_Position":{"__isSmartRef__":true,"id":1124},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1110},"lighterFill":{"__isSmartRef__":true,"id":1125},"label":{"__isSmartRef__":true,"id":1091},"layout":{"__isSmartRef__":true,"id":1134},"owner":{"__isSmartRef__":true,"id":1067},"attributeConnections":[{"__isSmartRef__":true,"id":1135}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"1091":{"submorphs":[],"scripts":[],"id":35,"cachedTextString":"save","shape":{"__isSmartRef__":true,"id":1092},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1095},"_Position":{"__isSmartRef__":true,"id":1104},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1072},"padding":{"__isSmartRef__":true,"id":1105},"_Padding":{"__isSmartRef__":true,"id":1105},"owner":{"__isSmartRef__":true,"id":1090},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1092":{"position":{"__isSmartRef__":true,"id":1093},"extent":{"__isSmartRef__":true,"id":1094},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1072},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1093":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1094":{"x":423.66666666666663,"y":30,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1095":{"morph":{"__isSmartRef__":true,"id":1091},"dispatchTable":{"__isSmartRef__":true,"id":1096},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1096":{"mouseup":{"__isSmartRef__":true,"id":1097},"mousedown":{"__isSmartRef__":true,"id":1098},"selectstart":{"__isSmartRef__":true,"id":1099},"mousewheel":{"__isSmartRef__":true,"id":1100},"keydown":{"__isSmartRef__":true,"id":1101},"keyup":{"__isSmartRef__":true,"id":1102},"keypress":{"__isSmartRef__":true,"id":1103}},"1097":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1091},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1098":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1091},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1099":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1091},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1100":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1091},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1101":{"type":"keydown","target":{"__isSmartRef__":true,"id":1091},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1102":{"type":"keyup","target":{"__isSmartRef__":true,"id":1091},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1103":{"type":"keypress","target":{"__isSmartRef__":true,"id":1091},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1104":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1105":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1106":{"position":{"__isSmartRef__":true,"id":1107},"extent":{"__isSmartRef__":true,"id":1108},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1109},"fill":{"__isSmartRef__":true,"id":1110},"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1107":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1108":{"x":423.66666666666663,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1109":{"r":0.4,"g":0.4,"b":0.4,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1110":{"stops":[{"__isSmartRef__":true,"id":1111},{"__isSmartRef__":true,"id":1113},{"__isSmartRef__":true,"id":1115},{"__isSmartRef__":true,"id":1117}],"vector":{"__isSmartRef__":true,"id":883},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1111":{"offset":0,"color":{"__isSmartRef__":true,"id":1112}},"1112":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1113":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1114}},"1114":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1115":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1116}},"1116":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1117":{"offset":1,"color":{"__isSmartRef__":true,"id":1118}},"1118":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1119":{"morph":{"__isSmartRef__":true,"id":1090},"dispatchTable":{"__isSmartRef__":true,"id":1120},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1120":{"mouseup":{"__isSmartRef__":true,"id":1121},"mousedown":{"__isSmartRef__":true,"id":1122},"mousewheel":{"__isSmartRef__":true,"id":1123}},"1121":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1090},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1122":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1090},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1123":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1090},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1124":{"x":0,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1125":{"stops":[{"__isSmartRef__":true,"id":1126},{"__isSmartRef__":true,"id":1128},{"__isSmartRef__":true,"id":1130},{"__isSmartRef__":true,"id":1132}],"vector":{"__isSmartRef__":true,"id":883},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1126":{"offset":0,"color":{"__isSmartRef__":true,"id":1127}},"1127":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1128":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1129}},"1129":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1130":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1131}},"1131":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1132":{"offset":1,"color":{"__isSmartRef__":true,"id":1133}},"1133":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1134":{"resizeWidth":true},"1135":{"sourceObj":{"__isSmartRef__":true,"id":1090},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1087},"targetMethodName":"saveFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1136":{"submorphs":[{"__isSmartRef__":true,"id":1137}],"scripts":[],"id":36,"shape":{"__isSmartRef__":true,"id":1152},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1155},"_Position":{"__isSmartRef__":true,"id":1160},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1110},"lighterFill":{"__isSmartRef__":true,"id":1161},"label":{"__isSmartRef__":true,"id":1137},"layout":{"__isSmartRef__":true,"id":1170},"owner":{"__isSmartRef__":true,"id":1067},"attributeConnections":[{"__isSmartRef__":true,"id":1171}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"1137":{"submorphs":[],"scripts":[],"id":37,"cachedTextString":"load","shape":{"__isSmartRef__":true,"id":1138},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1141},"_Position":{"__isSmartRef__":true,"id":1150},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1072},"padding":{"__isSmartRef__":true,"id":1151},"_Padding":{"__isSmartRef__":true,"id":1151},"owner":{"__isSmartRef__":true,"id":1136},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1138":{"position":{"__isSmartRef__":true,"id":1139},"extent":{"__isSmartRef__":true,"id":1140},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1072},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1139":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1140":{"x":166.66666666666666,"y":30,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1141":{"morph":{"__isSmartRef__":true,"id":1137},"dispatchTable":{"__isSmartRef__":true,"id":1142},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1142":{"mouseup":{"__isSmartRef__":true,"id":1143},"mousedown":{"__isSmartRef__":true,"id":1144},"selectstart":{"__isSmartRef__":true,"id":1145},"mousewheel":{"__isSmartRef__":true,"id":1146},"keydown":{"__isSmartRef__":true,"id":1147},"keyup":{"__isSmartRef__":true,"id":1148},"keypress":{"__isSmartRef__":true,"id":1149}},"1143":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1137},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1144":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1137},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1145":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1137},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1146":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1137},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1147":{"type":"keydown","target":{"__isSmartRef__":true,"id":1137},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1148":{"type":"keyup","target":{"__isSmartRef__":true,"id":1137},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1149":{"type":"keypress","target":{"__isSmartRef__":true,"id":1137},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1150":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1151":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1152":{"position":{"__isSmartRef__":true,"id":1153},"extent":{"__isSmartRef__":true,"id":1154},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1109},"fill":{"__isSmartRef__":true,"id":1110},"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1153":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1154":{"x":166.66666666666666,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1155":{"morph":{"__isSmartRef__":true,"id":1136},"dispatchTable":{"__isSmartRef__":true,"id":1156},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1156":{"mouseup":{"__isSmartRef__":true,"id":1157},"mousedown":{"__isSmartRef__":true,"id":1158},"mousewheel":{"__isSmartRef__":true,"id":1159}},"1157":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1136},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1158":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1136},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1159":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1136},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1160":{"x":423.66666666666663,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1161":{"stops":[{"__isSmartRef__":true,"id":1162},{"__isSmartRef__":true,"id":1164},{"__isSmartRef__":true,"id":1166},{"__isSmartRef__":true,"id":1168}],"vector":{"__isSmartRef__":true,"id":883},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1162":{"offset":0,"color":{"__isSmartRef__":true,"id":1163}},"1163":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1164":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1165}},"1165":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1166":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1167}},"1167":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1168":{"offset":1,"color":{"__isSmartRef__":true,"id":1169}},"1169":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1170":{"resizeWidth":false,"moveHorizontal":true},"1171":{"sourceObj":{"__isSmartRef__":true,"id":1136},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1087},"targetMethodName":"loadFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1172":{"submorphs":[{"__isSmartRef__":true,"id":1173}],"scripts":[],"id":38,"shape":{"__isSmartRef__":true,"id":1188},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1191},"_Position":{"__isSmartRef__":true,"id":1196},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1110},"lighterFill":{"__isSmartRef__":true,"id":1197},"label":{"__isSmartRef__":true,"id":1173},"layout":{"__isSmartRef__":true,"id":1206},"owner":{"__isSmartRef__":true,"id":1067},"attributeConnections":[{"__isSmartRef__":true,"id":1207}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"1173":{"submorphs":[],"scripts":[],"id":39,"cachedTextString":"remove","shape":{"__isSmartRef__":true,"id":1174},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1177},"_Position":{"__isSmartRef__":true,"id":1186},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1072},"padding":{"__isSmartRef__":true,"id":1187},"_Padding":{"__isSmartRef__":true,"id":1187},"owner":{"__isSmartRef__":true,"id":1172},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1174":{"position":{"__isSmartRef__":true,"id":1175},"extent":{"__isSmartRef__":true,"id":1176},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1072},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1175":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1176":{"x":166.66666666666669,"y":30,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1177":{"morph":{"__isSmartRef__":true,"id":1173},"dispatchTable":{"__isSmartRef__":true,"id":1178},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1178":{"mouseup":{"__isSmartRef__":true,"id":1179},"mousedown":{"__isSmartRef__":true,"id":1180},"selectstart":{"__isSmartRef__":true,"id":1181},"mousewheel":{"__isSmartRef__":true,"id":1182},"keydown":{"__isSmartRef__":true,"id":1183},"keyup":{"__isSmartRef__":true,"id":1184},"keypress":{"__isSmartRef__":true,"id":1185}},"1179":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1173},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1180":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1173},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1181":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1173},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1182":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1173},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1183":{"type":"keydown","target":{"__isSmartRef__":true,"id":1173},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1184":{"type":"keyup","target":{"__isSmartRef__":true,"id":1173},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1185":{"type":"keypress","target":{"__isSmartRef__":true,"id":1173},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1186":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1187":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1188":{"position":{"__isSmartRef__":true,"id":1189},"extent":{"__isSmartRef__":true,"id":1190},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1109},"fill":{"__isSmartRef__":true,"id":1110},"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1189":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1190":{"x":166.66666666666669,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1191":{"morph":{"__isSmartRef__":true,"id":1172},"dispatchTable":{"__isSmartRef__":true,"id":1192},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1192":{"mouseup":{"__isSmartRef__":true,"id":1193},"mousedown":{"__isSmartRef__":true,"id":1194},"mousewheel":{"__isSmartRef__":true,"id":1195}},"1193":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1172},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1194":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1172},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1195":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1172},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1196":{"x":590.3333333333333,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1197":{"stops":[{"__isSmartRef__":true,"id":1198},{"__isSmartRef__":true,"id":1200},{"__isSmartRef__":true,"id":1202},{"__isSmartRef__":true,"id":1204}],"vector":{"__isSmartRef__":true,"id":883},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1198":{"offset":0,"color":{"__isSmartRef__":true,"id":1199}},"1199":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1200":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1201}},"1201":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1202":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1203}},"1203":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1204":{"offset":1,"color":{"__isSmartRef__":true,"id":1205}},"1205":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1206":{"resizeWidth":false,"moveHorizontal":true},"1207":{"sourceObj":{"__isSmartRef__":true,"id":1172},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1087},"targetMethodName":"removeFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1208":{"submorphs":[],"scripts":[],"id":40,"cachedTextString":"module('lively.morphic.MorphAddons').requires('lively.morphic.Core', 'lively.morphic.Events').toRun(function() {\n\nObject.extend(Global, {\n\tnewShowPt: function (/*pos or x,y, duration, extent*/) {\n\t\tvar args = $A(arguments);\n\t\t// pos either specified using point object or two numbers\n\t\tvar pos = args[0].constructor == Point ? args.shift() : pt(args.shift(), args.shift()),\n\t\t\tduration = args.shift(),\n\t\t\textent = args.shift() || pt(12,12);\n\t\t\n\t\tvar b = new lively.morphic.Morph();\n\t\tb.setBounds(extent.extentAsRectangle());\n\t\tb.align(b.getCenter(), pos);\n\t\tb.setFill(Color.red);\n\t\t\n\t\tnewShowThenHide(b, duration);\n\t\treturn b;\n\t},\n\tnewShowRect: function (rect, duration) {\n\t\tvar b = new lively.morphic.Morph();\n\t\tb.setBounds(rect);\n\t\tb.applyStyle({fill: null, borderWidth: 2, borderColor: Color.red})\n\t\tnewShowThenHide(b, duration);\n\t\treturn b\n\t},\n\tnewShowMorph: function (morph) {\n\t\tnewShowRect(morph.getGlobalTransform().transformRectToRect(morph.getShape().getBounds()))\n\t},\n\tnewShowThenHide: function (morph, duration) {\n\t\tvar w = Global.world;\n\t\tif (!w) { alert(\"no world\"); return }\n\t\tduration = duration || 3;\n\t\tw.addMorph(morph);\n\t\tif (duration) // FIXME use scheduler\n\t\t\t(function() { morph.remove() }).delay(duration);\n\t},\n\talertDbg: function(msg) {\n\t\tif (Global.WorldMorph) alert(msg)\n\t},\n\talert: function(msg) {\n\t\tvar world = (Global.WorldMorph && WorldMorph.current()) ||\n\t\t\t(Global.lively && lively.morphic && lively.morphic.World.current())\n\t\tif (world) world.alert(String(msg));\n\t\telse console.log('ALERT: ' + msg);\n\t},\n\talertOK: function (msg) {\n\t\tvar world = (Global.WorldMorph && WorldMorph.current()) ||\n\t\t\t(Global.lively && lively.morphic && lively.morphic.World.current());\n\t\tif (world) world.setStatusMessage(String(msg), Color.green, 5);\n\t\telse console.log(msg);\n\t},\n});\n\nlively.morphic.Morph.addMethods(\n'visibility', {\n\tsetVisible: function(bool) {},\n},\n'geometry', {\n\tmoveBy: function(point) { this.setPosition(this.getPosition().addPt(point)) },\n\ttranslateBy: function(p) {\n\t\tthis.setPosition(this.getPosition().addPt(p));\n\t\treturn this;\n\t},\n\talign: function (p1, p2) { return this.translateBy(p2.subPt(p1)) },\n\trotateBy: function(delta) { this.setRotation(this.getRotation() + delta) },\n\tscaleBy: function(factor) { this.setScale(this.getScale()*factor) },\n},\n'morphic relationship', {\n\taddMorphBack: function(other) { return this.addMorph(other) },\n\taddMorphFront: function(other) { return this.addMorph(other, this.submorphs[0]) },\n\tbringToFront: function() { if (this.owner) this.owner.addMorphFront(this) },\n},\n'convenience accessing', {\n\tbounds: lively.morphic.Morph.prototype.getBounds,\n\tinnerBounds: function() { return this.getShape().getBounds() },\n\tgetCenter: function () { return this.bounds().center() }\n},\n'convenience scripting', {\n\tstepAndBounce: function () { // convenience for scripting\n\t\tthis.stepByVelocities();\n\t\tthis.bounceInOwnerBounds();\n\t},\n\tstepByVelocities: function () {\n\t\tif (this.velocity) this.moveBy(this.velocity);\n\t\tif (this.angularVelocity) this.rotateBy(this.angularVelocity);\n\t},\n\tbounceInOwnerBounds: function () {\n\t\tthis.bounceInBounds(this.owner.innerBounds());\n\t},\n\tbounceInBounds: function (ob) {\n\t\t// typcially ob = this.owner.innerBounds()\n\t\t// Bounce by reversing the component of velocity that put us out of bounds\n\t\tif (!this.velocity) return; // Can't bounce without a velocity vector\n\n\t\t// We take care to only reverse the direction if it's wrong,\n\t\t//\tbut we move in any case, since we might be deeply out of bounds\n\t\tvar b = this.bounds();\n\t\tif (b.x < ob.x) {\n\t\t\tif (this.velocity.x < 0) this.velocity = this.velocity.scaleByPt(pt(-1, 1));\n\t\t\tthis.moveBy(this.velocity);\n\t\t}\n\t\tif (b.maxX() > ob.maxX()) {\n\t\t\tif (this.velocity.x > 0) this.velocity = this.velocity.scaleByPt(pt(-1, 1));\n\t\t\tthis.moveBy(this.velocity);\n\t\t}\n\t\tif (b.y < ob.y) {\n\t\t\tif (this.velocity.y < 0) this.velocity = this.velocity.scaleByPt(pt(1, -1));\n\t\t\tthis.moveBy(this.velocity);\n\t\t}\n\t\tif (b.maxY() > ob.maxY()) {\n\t\t\tif (this.velocity.y > 0) this.velocity = this.velocity.scaleByPt(pt(1, -1));\n\t\t\tthis.moveBy(this.velocity);\n\t\t}\n\t},\n},\n'opening', {\n\topenInWorld: function(pos, name) {\n\t\tlively.morphic.World.current().addMorph(this);\n\t\tif (pos) this.setPosition(pos);\n\t\treturn this;\n\t},\n},\n'removing', {\n\tremoveAllMorphs: function() {\n\t\tthis.submorphs.clone().invoke('remove')\n\t},\n},\n'events', {\n\ttakesKeyboardFocus: function() {},\n},\n'copying', {\n\tduplicate: function() { return this.copy() },\n},\n'scripting', {\n\taddScript: function(funcOrString, optName) {\n\t\tvar func = Function.fromString(funcOrString);\n\t\treturn func.asScriptOf(this, optName);\n\t},\n},\n'styling', {\n\tlinkToStyle: function(styleName) {},\n\tlinkToStyles: function(styleNames) {},\n\tstyleNamed: function(styleName) { return {} },\n});\n\nObject.extend(lively.morphic.Morph, {\n\tmakeRectangle: function (/**/) {\n\t\tvar bounds;\n\t\tswitch (arguments.length) {\n\t\t\tcase 1: // rectangle\n\t\t\t\tif (!(arguments[0] instanceof Rectangle)) throw new TypeError(arguments[0] + ' not a rectangle');\n\t\t\t\tbounds = arguments[0];\n\t\t\t\tbreak;\n\t\t\tcase 2: // location and extent\n\t\t\t\tbounds = arguments[0].extent(arguments[1]);\n\t\t\t\tbreak;\n\t\t\tcase 4: // x,y,width, height\n\t\t\t\tbounds = new Rectangle(arguments[0], arguments[1], arguments[2], arguments[3]);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"bad arguments \" + arguments);\n\t\t}\n\t\tvar morph = new lively.morphic.Box(bounds);\n\t\tmorph.applyStyle({borderWidth: 1, borderColor: Color.black, fill: Color.blue});\n\t\treturn morph;\n\t},\n\tmakeCircle: function(location, radius, lineWidth, lineColor, fill) {\n\t\t// make a circle of the given radius with its origin at the center\n\t\tvar bounds = location.addXY(-radius, -radius).extent(pt(radius*2, radius*2));\n\t\tvar morph = new Morph(new lively.morphic.Shapes.Ellipse(bounds));\n\t\t// morph.setBorderWidth(lineWidth);\n\t\t// morph.setBorderColor(lineColor);\n\t\tmorph.setFill(fill || Color.blue);\n\t\treturn morph;\n\t},\n\tmakeLine: function (verts, lineWidth, lineColor) {\n\t\tif (verts.length < 2) return null;\n\t\treturn this.makeRectangle(Rectangle.unionPts(verts));\n\t},\n\tmakePolygon: function (verts, lineWidth, lineColor, fill) {\n\t\tvar morph = this.makeRectangle(Rectangle.unionPts(verts));\n\t\t// morph.setBorderWidth(lineWidth);\n\t\t// morph.setBorderColor(lineColor);\n\t\tmorph.setFill(fill);\n\t\treturn morph;\n\t},\n})\n\nlively.morphic.Text.addMethods(\n'rich text', {\n\temphasizeAll: function() {},\n},\n'shape appearance', {\n\tfitWidth: function() {},\n});\nObject.extend(lively.morphic.Text, {\n\tmakeLabel: function (labelString, styleIfAny) {\n\t\tvar label = new this();\n\t\tlabel.setTextString(labelString);\n\t\tlabel.beLabel(styleIfAny);\n\t\treturn label;\n\t},\n});\n\nlively.morphic.World.addMethods(\n'debugging', {\n\tlogError: function (er) {\n\t\tGlobal.LastError = er;\n\t\talert('LOGERROR: ' + String(er));\n\t\t// this.setStatusMessage(String(msg), Color.red, 15, this.showErrorDialog.curry(er).bind(this), {fontSize: 12,fillOpacity: 1});\n\t},\n},\n'logging', {\n\tsetStatusMessage: function (msg, color, delay, callback, optStyle, messageKind) {\n\t\tif (!this.statusMessages) this.statusMessages = [];\n\n\t\tvar msgMorph = new lively.morphic.Text(new Rectangle(0,0, 100, 20), msg);\n\t\tmsgMorph.beLabel({borderWidth: 1, fixedWidth: false, borderColor: Color.red});\n\t\tmsgMorph.align(msgMorph.bounds().topLeft(), this.visibleBounds().topLeft());\n\t\tmsgMorph.isEpiMorph = true;\n\t\tthis.statusMessages.invoke('moveBy', pt(0, msgMorph.getExtent().y));\n\t\tthis.statusMessages.push(msgMorph);\n\t\tthis.addMorph(msgMorph);\n\n\t\tvar world = this;\n\t\t(function removeMsgMorph() {\n\t\t\tmsgMorph.remove();\n\t\t\tif (world.statusMessages)\n\t\t\t\tworld.statusMessages = world.statusMessages.without(msgMorph);\n\t\t}).delay(delay || 5);\n\n\t\tconsole.log(msg);\n\t\t// var container = this.ensureStatusMessageContainer();\n\t\t// return container.addStatusMessage(msg, color, delay, callback, optStyle, messageKind);\n\t},\n\talert: function(msg) { this.setStatusMessage(String(msg)) },\n\talertOK: function(msg) { this.setStatusMessage(String(msg), Color.green) },\n});\nlively.morphic.HandMorph.addMethods(\n'focus', {\n\tsetKeyboardFocus: function() {},\n});\n\n// really necessary to have this class?\nlively.morphic.Box.subclass('lively.morphic.Panel',\n'settings', {\n\tstyle: {adjustForNewBounds: true},\n})\n\n}) // end of module","shape":{"__isSmartRef__":true,"id":1209},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"scroll","_FontFamily":"Monaco","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1212},"_Position":{"__isSmartRef__":true,"id":1221},"_MaxTextWidth":757,"_MaxTextHeight":469,"textColor":{"__isSmartRef__":true,"id":1072},"padding":{"__isSmartRef__":true,"id":1222},"layout":{"__isSmartRef__":true,"id":1223},"_FontSize":10,"_Padding":{"__isSmartRef__":true,"id":1222},"owner":{"__isSmartRef__":true,"id":1067},"attributeConnections":[{"__isSmartRef__":true,"id":1224}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"savedTextString":"module('lively.morphic.MorphAddons').requires('lively.morphic.Core', 'lively.morphic.Events').toRun(function() {\n\nObject.extend(Global, {\n\tnewShowPt: function (/*pos or x,y, duration, extent*/) {\n\t\tvar args = $A(arguments);\n\t\t// pos either specified using point object or two numbers\n\t\tvar pos = args[0].constructor == Point ? args.shift() : pt(args.shift(), args.shift()),\n\t\t\tduration = args.shift(),\n\t\t\textent = args.shift() || pt(12,12);\n\t\t\n\t\tvar b = new lively.morphic.Morph();\n\t\tb.setBounds(extent.extentAsRectangle());\n\t\tb.align(b.getCenter(), pos);\n\t\tb.setFill(Color.red);\n\t\t\n\t\tnewShowThenHide(b, duration);\n\t\treturn b;\n\t},\n\tnewShowRect: function (rect, duration) {\n\t\tvar b = new lively.morphic.Morph();\n\t\tb.setBounds(rect);\n\t\tb.applyStyle({fill: null, borderWidth: 2, borderColor: Color.red})\n\t\tnewShowThenHide(b, duration);\n\t\treturn b\n\t},\n\tnewShowMorph: function (morph) {\n\t\tnewShowRect(morph.getGlobalTransform().transformRectToRect(morph.getShape().getBounds()))\n\t},\n\tnewShowThenHide: function (morph, duration) {\n\t\tvar w = Global.world;\n\t\tif (!w) { alert(\"no world\"); return }\n\t\tduration = duration || 3;\n\t\tw.addMorph(morph);\n\t\tif (duration) // FIXME use scheduler\n\t\t\t(function() { morph.remove() }).delay(duration);\n\t},\n\talertDbg: function(msg) {\n\t\tif (Global.WorldMorph) alert(msg)\n\t},\n\talert: function(msg) {\n\t\tvar world = (Global.WorldMorph && WorldMorph.current()) ||\n\t\t\t(Global.lively && lively.morphic && lively.morphic.World.current())\n\t\tif (world) world.alert(String(msg));\n\t\telse console.log('ALERT: ' + msg);\n\t},\n\talertOK: function (msg) {\n\t\tvar world = (Global.WorldMorph && WorldMorph.current()) ||\n\t\t\t(Global.lively && lively.morphic && lively.morphic.World.current());\n\t\tif (world) world.setStatusMessage(String(msg), Color.green, 5);\n\t\telse console.log(msg);\n\t},\n});\n\nlively.morphic.Morph.addMethods(\n'visibility', {\n\tsetVisible: function(bool) {},\n},\n'geometry', {\n\tmoveBy: function(point) { this.setPosition(this.getPosition().addPt(point)) },\n\ttranslateBy: function(p) {\n\t\tthis.setPosition(this.getPosition().addPt(p));\n\t\treturn this;\n\t},\n\talign: function (p1, p2) { return this.translateBy(p2.subPt(p1)) },\n\trotateBy: function(delta) { this.setRotation(this.getRotation() + delta) },\n\tscaleBy: function(factor) { this.setScale(this.getScale()*factor) },\n},\n'morphic relationship', {\n\taddMorphBack: function(other) { return this.addMorph(other) },\n\taddMorphFront: function(other) { return this.addMorph(other, this.submorphs[0]) },\n\tbringToFront: function() { if (this.owner) this.owner.addMorphFront(this) },\n},\n'convenience accessing', {\n\tbounds: lively.morphic.Morph.prototype.getBounds,\n\tinnerBounds: function() { return this.getShape().getBounds() },\n\tgetCenter: function () { return this.bounds().center() }\n},\n'convenience scripting', {\n\tstepAndBounce: function () { // convenience for scripting\n\t\tthis.stepByVelocities();\n\t\tthis.bounceInOwnerBounds();\n\t},\n\tstepByVelocities: function () {\n\t\tif (this.velocity) this.moveBy(this.velocity);\n\t\tif (this.angularVelocity) this.rotateBy(this.angularVelocity);\n\t},\n\tbounceInOwnerBounds: function () {\n\t\tthis.bounceInBounds(this.owner.innerBounds());\n\t},\n\tbounceInBounds: function (ob) {\n\t\t// typcially ob = this.owner.innerBounds()\n\t\t// Bounce by reversing the component of velocity that put us out of bounds\n\t\tif (!this.velocity) return; // Can't bounce without a velocity vector\n\n\t\t// We take care to only reverse the direction if it's wrong,\n\t\t//\tbut we move in any case, since we might be deeply out of bounds\n\t\tvar b = this.bounds();\n\t\tif (b.x < ob.x) {\n\t\t\tif (this.velocity.x < 0) this.velocity = this.velocity.scaleByPt(pt(-1, 1));\n\t\t\tthis.moveBy(this.velocity);\n\t\t}\n\t\tif (b.maxX() > ob.maxX()) {\n\t\t\tif (this.velocity.x > 0) this.velocity = this.velocity.scaleByPt(pt(-1, 1));\n\t\t\tthis.moveBy(this.velocity);\n\t\t}\n\t\tif (b.y < ob.y) {\n\t\t\tif (this.velocity.y < 0) this.velocity = this.velocity.scaleByPt(pt(1, -1));\n\t\t\tthis.moveBy(this.velocity);\n\t\t}\n\t\tif (b.maxY() > ob.maxY()) {\n\t\t\tif (this.velocity.y > 0) this.velocity = this.velocity.scaleByPt(pt(1, -1));\n\t\t\tthis.moveBy(this.velocity);\n\t\t}\n\t},\n},\n'opening', {\n\topenInWorld: function(pos, name) {\n\t\tlively.morphic.World.current().addMorph(this);\n\t\tif (pos) this.setPosition(pos);\n\t\treturn this;\n\t},\n},\n'removing', {\n\tremoveAllMorphs: function() {\n\t\tthis.submorphs.clone().invoke('remove')\n\t},\n},\n'events', {\n\ttakesKeyboardFocus: function() {},\n},\n'copying', {\n\tduplicate: function() { return this.copy() },\n},\n'scripting', {\n\taddScript: function(funcOrString, optName) {\n\t\tvar func = Function.fromString(funcOrString);\n\t\treturn func.asScriptOf(this, optName);\n\t},\n},\n'styling', {\n\tlinkToStyle: function(styleName) {},\n\tlinkToStyles: function(styleNames) {},\n\tstyleNamed: function(styleName) { return {} },\n});\n\nObject.extend(lively.morphic.Morph, {\n\tmakeRectangle: function (/**/) {\n\t\tvar bounds;\n\t\tswitch (arguments.length) {\n\t\t\tcase 1: // rectangle\n\t\t\t\tif (!(arguments[0] instanceof Rectangle)) throw new TypeError(arguments[0] + ' not a rectangle');\n\t\t\t\tbounds = arguments[0];\n\t\t\t\tbreak;\n\t\t\tcase 2: // location and extent\n\t\t\t\tbounds = arguments[0].extent(arguments[1]);\n\t\t\t\tbreak;\n\t\t\tcase 4: // x,y,width, height\n\t\t\t\tbounds = new Rectangle(arguments[0], arguments[1], arguments[2], arguments[3]);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"bad arguments \" + arguments);\n\t\t}\n\t\tvar morph = new lively.morphic.Box(bounds);\n\t\tmorph.applyStyle({borderWidth: 1, borderColor: Color.black, fill: Color.blue});\n\t\treturn morph;\n\t},\n\tmakeCircle: function(location, radius, lineWidth, lineColor, fill) {\n\t\t// make a circle of the given radius with its origin at the center\n\t\tvar bounds = location.addXY(-radius, -radius).extent(pt(radius*2, radius*2));\n\t\tvar morph = new Morph(new lively.morphic.Shapes.Ellipse(bounds));\n\t\t// morph.setBorderWidth(lineWidth);\n\t\t// morph.setBorderColor(lineColor);\n\t\tmorph.setFill(fill || Color.blue);\n\t\treturn morph;\n\t},\n\tmakeLine: function (verts, lineWidth, lineColor) {\n\t\tif (verts.length < 2) return null;\n\t\treturn this.makeRectangle(Rectangle.unionPts(verts));\n\t},\n\tmakePolygon: function (verts, lineWidth, lineColor, fill) {\n\t\tvar morph = this.makeRectangle(Rectangle.unionPts(verts));\n\t\t// morph.setBorderWidth(lineWidth);\n\t\t// morph.setBorderColor(lineColor);\n\t\tmorph.setFill(fill);\n\t\treturn morph;\n\t},\n})\n\nlively.morphic.Text.addMethods(\n'rich text', {\n\temphasizeAll: function() {},\n},\n'shape appearance', {\n\tfitWidth: function() {},\n});\nObject.extend(lively.morphic.Text, {\n\tmakeLabel: function (labelString, styleIfAny) {\n\t\tvar label = new this();\n\t\tlabel.setTextString(labelString);\n\t\tlabel.beLabel(styleIfAny);\n\t\treturn label;\n\t},\n});\n\nlively.morphic.World.addMethods(\n'debugging', {\n\tlogError: function (er) {\n\t\tGlobal.LastError = er;\n\t\talert('LOGERROR: ' + String(er));\n\t\t// this.setStatusMessage(String(msg), Color.red, 15, this.showErrorDialog.curry(er).bind(this), {fontSize: 12,fillOpacity: 1});\n\t},\n},\n'logging', {\n\tsetStatusMessage: function (msg, color, delay, callback, optStyle, messageKind) {\n\t\tif (!this.statusMessages) this.statusMessages = [];\n\n\t\tvar msgMorph = new lively.morphic.Text(new Rectangle(0,0, 100, 20), msg);\n\t\tmsgMorph.beLabel({borderWidth: 1, fixedWidth: false, borderColor: Color.red});\n\t\tmsgMorph.align(msgMorph.bounds().topLeft(), this.visibleBounds().topLeft());\n\t\tmsgMorph.isEpiMorph = true;\n\t\tthis.statusMessages.invoke('moveBy', pt(0, msgMorph.getExtent().y));\n\t\tthis.statusMessages.push(msgMorph);\n\t\tthis.addMorph(msgMorph);\n\n\t\tvar world = this;\n\t\t(function removeMsgMorph() {\n\t\t\tmsgMorph.remove();\n\t\t\tif (world.statusMessages)\n\t\t\t\tworld.statusMessages = world.statusMessages.without(msgMorph);\n\t\t}).delay(delay || 5);\n\n\t\tconsole.log(msg);\n\t\t// var container = this.ensureStatusMessageContainer();\n\t\t// return container.addStatusMessage(msg, color, delay, callback, optStyle, messageKind);\n\t},\n\talert: function(msg) { this.setStatusMessage(String(msg)) },\n\talertOK: function(msg) { this.setStatusMessage(String(msg), Color.green) },\n});\nlively.morphic.HandMorph.addMethods(\n'focus', {\n\tsetKeyboardFocus: function() {},\n});\n\n// really necessary to have this class?\nlively.morphic.Box.subclass('lively.morphic.Panel',\n'settings', {\n\tstyle: {adjustForNewBounds: true},\n})\n\n}) // end of module","showsHalos":false,"halos":[],"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1209":{"position":{"__isSmartRef__":true,"id":1210},"extent":{"__isSmartRef__":true,"id":1211},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1072},"fill":{"__isSmartRef__":true,"id":1073},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1210":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1211":{"x":757,"y":469,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1212":{"morph":{"__isSmartRef__":true,"id":1208},"dispatchTable":{"__isSmartRef__":true,"id":1213},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1213":{"mouseup":{"__isSmartRef__":true,"id":1214},"mousedown":{"__isSmartRef__":true,"id":1215},"selectstart":{"__isSmartRef__":true,"id":1216},"mousewheel":{"__isSmartRef__":true,"id":1217},"keydown":{"__isSmartRef__":true,"id":1218},"keyup":{"__isSmartRef__":true,"id":1219},"keypress":{"__isSmartRef__":true,"id":1220}},"1214":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1208},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1215":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1208},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1216":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1208},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1217":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1208},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1218":{"type":"keydown","target":{"__isSmartRef__":true,"id":1208},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1219":{"type":"keyup","target":{"__isSmartRef__":true,"id":1208},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1220":{"type":"keypress","target":{"__isSmartRef__":true,"id":1208},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1221":{"x":0,"y":60,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1222":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1223":{"resizeWidth":true,"resizeHeight":true},"1224":{"sourceObj":{"__isSmartRef__":true,"id":1208},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":1087},"targetMethodName":"saveFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1225":{"position":{"__isSmartRef__":true,"id":1226},"extent":{"__isSmartRef__":true,"id":1227},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1072},"fill":{"__isSmartRef__":true,"id":1228},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1226":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1227":{"x":761,"y":529,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1228":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1229":{"morph":{"__isSmartRef__":true,"id":1067},"dispatchTable":{"__isSmartRef__":true,"id":1230},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1230":{"mouseup":{"__isSmartRef__":true,"id":1231},"mousedown":{"__isSmartRef__":true,"id":1232},"mousewheel":{"__isSmartRef__":true,"id":1233}},"1231":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1067},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1232":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1067},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1233":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1067},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1234":{"x":0,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1235":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"1236":{"x":761,"y":529,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1237":{"submorphs":[{"__isSmartRef__":true,"id":1238},{"__isSmartRef__":true,"id":1253},{"__isSmartRef__":true,"id":1290},{"__isSmartRef__":true,"id":1326}],"scripts":[],"id":42,"shape":{"__isSmartRef__":true,"id":1363},"droppingEnabled":true,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":1367},"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1368},"_Position":{"__isSmartRef__":true,"id":1373},"eventsAreIgnored":true,"windowMorph":{"__isSmartRef__":true,"id":1066},"label":{"__isSmartRef__":true,"id":1238},"closeButton":{"__isSmartRef__":true,"id":1253},"menuButton":{"__isSmartRef__":true,"id":1290},"collapseButton":{"__isSmartRef__":true,"id":1326},"priorExtent":{"__isSmartRef__":true,"id":1374},"owner":{"__isSmartRef__":true,"id":1066},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TitleBar"},"1238":{"submorphs":[],"scripts":[],"id":43,"cachedTextString":"TextEditor","shape":{"__isSmartRef__":true,"id":1239},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1242},"_Position":{"__isSmartRef__":true,"id":1251},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1072},"isLabel":true,"eventsAreIgnored":true,"padding":{"__isSmartRef__":true,"id":1252},"_Padding":{"__isSmartRef__":true,"id":1252},"owner":{"__isSmartRef__":true,"id":1237},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1239":{"position":{"__isSmartRef__":true,"id":1240},"extent":{"__isSmartRef__":true,"id":1241},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1072},"fill":null,"borderRadius":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1240":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1241":{"x":80,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1242":{"morph":{"__isSmartRef__":true,"id":1238},"dispatchTable":{"__isSmartRef__":true,"id":1243},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1243":{"mouseup":{"__isSmartRef__":true,"id":1244},"mousedown":{"__isSmartRef__":true,"id":1245},"selectstart":{"__isSmartRef__":true,"id":1246},"mousewheel":{"__isSmartRef__":true,"id":1247},"keydown":{"__isSmartRef__":true,"id":1248},"keyup":{"__isSmartRef__":true,"id":1249},"keypress":{"__isSmartRef__":true,"id":1250}},"1244":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1238},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1245":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1238},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1246":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1238},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1247":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1238},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1248":{"type":"keydown","target":{"__isSmartRef__":true,"id":1238},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1249":{"type":"keyup","target":{"__isSmartRef__":true,"id":1238},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1250":{"type":"keypress","target":{"__isSmartRef__":true,"id":1238},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1251":{"x":340.5,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1252":{"x":0,"y":0,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1253":{"submorphs":[{"__isSmartRef__":true,"id":1254}],"scripts":[],"id":44,"shape":{"__isSmartRef__":true,"id":1269},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1272},"_Position":{"__isSmartRef__":true,"id":1277},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1110},"lighterFill":{"__isSmartRef__":true,"id":1278},"label":{"__isSmartRef__":true,"id":1254},"owner":{"__isSmartRef__":true,"id":1237},"layout":{"__isSmartRef__":true,"id":1287},"attributeConnections":[{"__isSmartRef__":true,"id":1288},{"__isSmartRef__":true,"id":1289}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1254":{"submorphs":[],"scripts":[],"id":45,"cachedTextString":"X","shape":{"__isSmartRef__":true,"id":1255},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1258},"_Position":{"__isSmartRef__":true,"id":1267},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1072},"padding":{"__isSmartRef__":true,"id":1268},"_Padding":{"__isSmartRef__":true,"id":1268},"owner":{"__isSmartRef__":true,"id":1253},"isLabel":true,"eventsAreIgnored":true,"_FontSize":8,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1255":{"position":{"__isSmartRef__":true,"id":1256},"extent":{"__isSmartRef__":true,"id":1257},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1072},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1256":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1257":{"x":17,"y":17,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1258":{"morph":{"__isSmartRef__":true,"id":1254},"dispatchTable":{"__isSmartRef__":true,"id":1259},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1259":{"mouseup":{"__isSmartRef__":true,"id":1260},"mousedown":{"__isSmartRef__":true,"id":1261},"selectstart":{"__isSmartRef__":true,"id":1262},"mousewheel":{"__isSmartRef__":true,"id":1263},"keydown":{"__isSmartRef__":true,"id":1264},"keyup":{"__isSmartRef__":true,"id":1265},"keypress":{"__isSmartRef__":true,"id":1266}},"1260":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1254},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1261":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1254},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1262":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1254},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1263":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1254},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1264":{"type":"keydown","target":{"__isSmartRef__":true,"id":1254},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1265":{"type":"keyup","target":{"__isSmartRef__":true,"id":1254},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1266":{"type":"keypress","target":{"__isSmartRef__":true,"id":1254},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1267":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1268":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1269":{"position":{"__isSmartRef__":true,"id":1270},"extent":{"__isSmartRef__":true,"id":1271},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1109},"fill":{"__isSmartRef__":true,"id":1110},"strokeOpacity":0,"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1270":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1271":{"x":17,"y":17,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1272":{"morph":{"__isSmartRef__":true,"id":1253},"dispatchTable":{"__isSmartRef__":true,"id":1273},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1273":{"mouseup":{"__isSmartRef__":true,"id":1274},"mousedown":{"__isSmartRef__":true,"id":1275},"mousewheel":{"__isSmartRef__":true,"id":1276}},"1274":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1253},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1275":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1253},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1276":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1253},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1277":{"x":741,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1278":{"stops":[{"__isSmartRef__":true,"id":1279},{"__isSmartRef__":true,"id":1281},{"__isSmartRef__":true,"id":1283},{"__isSmartRef__":true,"id":1285}],"vector":{"__isSmartRef__":true,"id":883},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1279":{"offset":0,"color":{"__isSmartRef__":true,"id":1280}},"1280":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1281":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1282}},"1282":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1283":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1284}},"1284":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1285":{"offset":1,"color":{"__isSmartRef__":true,"id":1286}},"1286":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1287":{"moveHorizontal":true},"1288":{"sourceObj":{"__isSmartRef__":true,"id":1253},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1066},"targetMethodName":"getCloseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1289":{"sourceObj":{"__isSmartRef__":true,"id":1253},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1066},"targetMethodName":"initiateShutdown","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1290":{"submorphs":[{"__isSmartRef__":true,"id":1291}],"scripts":[],"id":46,"shape":{"__isSmartRef__":true,"id":1306},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1309},"_Position":{"__isSmartRef__":true,"id":1314},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1110},"lighterFill":{"__isSmartRef__":true,"id":1315},"label":{"__isSmartRef__":true,"id":1291},"owner":{"__isSmartRef__":true,"id":1237},"attributeConnections":[{"__isSmartRef__":true,"id":1324},{"__isSmartRef__":true,"id":1325}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1291":{"submorphs":[],"scripts":[],"id":47,"cachedTextString":"M","shape":{"__isSmartRef__":true,"id":1292},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1295},"_Position":{"__isSmartRef__":true,"id":1304},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1072},"padding":{"__isSmartRef__":true,"id":1305},"_Padding":{"__isSmartRef__":true,"id":1305},"owner":{"__isSmartRef__":true,"id":1290},"isLabel":true,"eventsAreIgnored":true,"_FontSize":8,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1292":{"position":{"__isSmartRef__":true,"id":1293},"extent":{"__isSmartRef__":true,"id":1294},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1072},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1293":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1294":{"x":17,"y":17,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1295":{"morph":{"__isSmartRef__":true,"id":1291},"dispatchTable":{"__isSmartRef__":true,"id":1296},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1296":{"mouseup":{"__isSmartRef__":true,"id":1297},"mousedown":{"__isSmartRef__":true,"id":1298},"selectstart":{"__isSmartRef__":true,"id":1299},"mousewheel":{"__isSmartRef__":true,"id":1300},"keydown":{"__isSmartRef__":true,"id":1301},"keyup":{"__isSmartRef__":true,"id":1302},"keypress":{"__isSmartRef__":true,"id":1303}},"1297":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1291},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1298":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1291},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1299":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1291},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1300":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1291},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1301":{"type":"keydown","target":{"__isSmartRef__":true,"id":1291},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1302":{"type":"keyup","target":{"__isSmartRef__":true,"id":1291},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1303":{"type":"keypress","target":{"__isSmartRef__":true,"id":1291},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1304":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1305":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1306":{"position":{"__isSmartRef__":true,"id":1307},"extent":{"__isSmartRef__":true,"id":1308},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1109},"fill":{"__isSmartRef__":true,"id":1110},"strokeOpacity":0,"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1307":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1308":{"x":17,"y":17,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1309":{"morph":{"__isSmartRef__":true,"id":1290},"dispatchTable":{"__isSmartRef__":true,"id":1310},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1310":{"mouseup":{"__isSmartRef__":true,"id":1311},"mousedown":{"__isSmartRef__":true,"id":1312},"mousewheel":{"__isSmartRef__":true,"id":1313}},"1311":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1290},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1312":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1290},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1313":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1290},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1314":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1315":{"stops":[{"__isSmartRef__":true,"id":1316},{"__isSmartRef__":true,"id":1318},{"__isSmartRef__":true,"id":1320},{"__isSmartRef__":true,"id":1322}],"vector":{"__isSmartRef__":true,"id":883},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1316":{"offset":0,"color":{"__isSmartRef__":true,"id":1317}},"1317":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1318":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1319}},"1319":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1320":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1321}},"1321":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1322":{"offset":1,"color":{"__isSmartRef__":true,"id":1323}},"1323":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1324":{"sourceObj":{"__isSmartRef__":true,"id":1290},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1066},"targetMethodName":"getMenuHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1325":{"sourceObj":{"__isSmartRef__":true,"id":1290},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1066},"targetMethodName":"showTargetMorphMenu","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1326":{"submorphs":[{"__isSmartRef__":true,"id":1327}],"scripts":[],"id":48,"shape":{"__isSmartRef__":true,"id":1342},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1345},"_Position":{"__isSmartRef__":true,"id":1350},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1110},"lighterFill":{"__isSmartRef__":true,"id":1351},"label":{"__isSmartRef__":true,"id":1327},"owner":{"__isSmartRef__":true,"id":1237},"layout":{"__isSmartRef__":true,"id":1360},"attributeConnections":[{"__isSmartRef__":true,"id":1361},{"__isSmartRef__":true,"id":1362}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1327":{"submorphs":[],"scripts":[],"id":49,"cachedTextString":"–","shape":{"__isSmartRef__":true,"id":1328},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1331},"_Position":{"__isSmartRef__":true,"id":1340},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1072},"padding":{"__isSmartRef__":true,"id":1341},"_Padding":{"__isSmartRef__":true,"id":1341},"owner":{"__isSmartRef__":true,"id":1326},"isLabel":true,"eventsAreIgnored":true,"_FontSize":8,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1328":{"position":{"__isSmartRef__":true,"id":1329},"extent":{"__isSmartRef__":true,"id":1330},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1072},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1329":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1330":{"x":17,"y":17,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1331":{"morph":{"__isSmartRef__":true,"id":1327},"dispatchTable":{"__isSmartRef__":true,"id":1332},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1332":{"mouseup":{"__isSmartRef__":true,"id":1333},"mousedown":{"__isSmartRef__":true,"id":1334},"selectstart":{"__isSmartRef__":true,"id":1335},"mousewheel":{"__isSmartRef__":true,"id":1336},"keydown":{"__isSmartRef__":true,"id":1337},"keyup":{"__isSmartRef__":true,"id":1338},"keypress":{"__isSmartRef__":true,"id":1339}},"1333":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1327},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1334":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1327},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1335":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1327},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1336":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1327},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1337":{"type":"keydown","target":{"__isSmartRef__":true,"id":1327},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1338":{"type":"keyup","target":{"__isSmartRef__":true,"id":1327},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1339":{"type":"keypress","target":{"__isSmartRef__":true,"id":1327},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1340":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1341":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1342":{"position":{"__isSmartRef__":true,"id":1343},"extent":{"__isSmartRef__":true,"id":1344},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1109},"fill":{"__isSmartRef__":true,"id":1110},"strokeOpacity":0,"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1343":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1344":{"x":17,"y":17,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1345":{"morph":{"__isSmartRef__":true,"id":1326},"dispatchTable":{"__isSmartRef__":true,"id":1346},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1346":{"mouseup":{"__isSmartRef__":true,"id":1347},"mousedown":{"__isSmartRef__":true,"id":1348},"mousewheel":{"__isSmartRef__":true,"id":1349}},"1347":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1326},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1348":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1326},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1349":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1326},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1350":{"x":722,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1351":{"stops":[{"__isSmartRef__":true,"id":1352},{"__isSmartRef__":true,"id":1354},{"__isSmartRef__":true,"id":1356},{"__isSmartRef__":true,"id":1358}],"vector":{"__isSmartRef__":true,"id":883},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1352":{"offset":0,"color":{"__isSmartRef__":true,"id":1353}},"1353":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1354":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1355}},"1355":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1356":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1357}},"1357":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1358":{"offset":1,"color":{"__isSmartRef__":true,"id":1359}},"1359":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1360":{"moveHorizontal":true},"1361":{"sourceObj":{"__isSmartRef__":true,"id":1326},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1066},"targetMethodName":"getCollapseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1362":{"sourceObj":{"__isSmartRef__":true,"id":1326},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1066},"targetMethodName":"toggleCollapse","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1363":{"position":{"__isSmartRef__":true,"id":1364},"extent":{"__isSmartRef__":true,"id":1365},"borderWidth":2,"borderColor":{"__isSmartRef__":true,"id":1366},"fill":{"__isSmartRef__":true,"id":245},"strokeOpacity":1,"borderRadius":8,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1364":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1365":{"x":761,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1366":{"r":0.4,"g":0.4,"b":0.4,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1367":{"resizeWidth":true,"adjustForNewBounds":true},"1368":{"morph":{"__isSmartRef__":true,"id":1237},"dispatchTable":{"__isSmartRef__":true,"id":1369},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1369":{"mouseup":{"__isSmartRef__":true,"id":1370},"mousedown":{"__isSmartRef__":true,"id":1371},"mousewheel":{"__isSmartRef__":true,"id":1372}},"1370":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1237},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1371":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1237},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1372":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1237},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1373":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1374":{"x":761,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1375":{"borderWidth":0,"fill":null,"strokeOpacity":0,"borderRadius":0,"extent":{"__isSmartRef__":true,"id":1376},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1376":{"x":761,"y":551,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1377":{"adjustForNewBounds":true},"1378":{"morph":{"__isSmartRef__":true,"id":1066},"dispatchTable":{"__isSmartRef__":true,"id":1379},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1379":{"mouseup":{"__isSmartRef__":true,"id":1380},"mousedown":{"__isSmartRef__":true,"id":1381},"mousewheel":{"__isSmartRef__":true,"id":1382}},"1380":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1066},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1381":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1066},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1382":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1066},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1383":{"x":727,"y":1005,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1384":{"x":761,"y":551,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1385":{"x":1280,"y":1020,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1386":{"position":{"__isSmartRef__":true,"id":1387},"extent":{"__isSmartRef__":true,"id":1388},"fill":{"__isSmartRef__":true,"id":1389},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1387":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1388":{"x":2800,"y":2900,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1389":{"r":1,"g":1,"b":1,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1390":{"morph":{"__isSmartRef__":true,"id":0},"dispatchTable":{"__isSmartRef__":true,"id":1391},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1391":{"contextmenu":{"__isSmartRef__":true,"id":1392},"mouseup":{"__isSmartRef__":true,"id":1393},"mousedown":{"__isSmartRef__":true,"id":1394},"mousemove":{"__isSmartRef__":true,"id":1395},"selectstart":{"__isSmartRef__":true,"id":1396},"keydown":{"__isSmartRef__":true,"id":1397}},"1392":{"type":"contextmenu","target":{"__isSmartRef__":true,"id":0},"targetMethodName":"onContextMenu","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1393":{"type":"mouseup","target":{"__isSmartRef__":true,"id":0},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1394":{"type":"mousedown","target":{"__isSmartRef__":true,"id":0},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1395":{"type":"mousemove","target":{"__isSmartRef__":true,"id":0},"targetMethodName":"onMouseMove","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1396":{"type":"selectstart","target":{"__isSmartRef__":true,"id":0},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1397":{"type":"keydown","target":{"__isSmartRef__":true,"id":1398},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1398":{"submorphs":[],"scripts":[],"id":31,"cachedTextString":"lively.morphic.World.addMethods(\n'initializing', {\n\tinitialize: lively.morphic.World.prototype.initialize.wrap(function() {\n\t\tvar args = $A(arguments),\n\t\t\tproceed = args.shift();\n\t\tproceed.apply(this, args);\n\t\tthis.registerForGlobalKeyboardEvents();\n\t}),\n},\n'keyboard events', {\n\tregisterForGlobalKeyboardEvents: function() {\n//\t\tdocument.onkeydown = this.onKeyDown.bind(this)\n//\t\tdocument.onkeypress = this.onKeyPress.bind(this)\n\t\tthis.renderContext().morphNode.onkeydown = this.onKeyDown.bind(this)\n\t\tthis.renderContext().morphNode.onkeypress = this.onKeyPress.bind(this)\n\t},\n\tonKeyDown: function(evt) {\n\t\tevt.preventDefault();\n\t\treturn true;\n\t},\n\tonKeyPress: function(evt) {\n\t\tevt.preventDefault();\n\t\treturn true;\n\t},\n});\n\nthis.world().registerForGlobalKeyboardEvents()\n","shape":{"__isSmartRef__":true,"id":1399},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"auto","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1404},"_Position":{"__isSmartRef__":true,"id":1413},"_MaxTextWidth":814,"_MaxTextHeight":296,"textColor":{"__isSmartRef__":true,"id":1402},"owner":{"__isSmartRef__":true,"id":1414},"showsHalos":false,"halos":[],"name":"initializerText","savedTextString":"lively.morphic.World.addMethods(\n'initializing', {\n\tinitialize: lively.morphic.World.prototype.initialize.wrap(function() {\n\t\tvar args = $A(arguments),\n\t\t\tproceed = args.shift();\n\t\tproceed.apply(this, args);\n\t\tthis.registerForGlobalKeyboardEvents();\n\t}),\n},\n'keyboard events', {\n\tregisterForGlobalKeyboardEvents: function() {\n\t\tGlobal.addEventListener('keydown', this, 'onKeyDown')\n\t\tGlobal.addEventListener('keypress', this, 'onKeyPress')\n\t},\n\tonKeyDown: function(evt) {\n\t\talert('world key down ' + evt)\n\t},\n\tonKeyPress: function(evt) {\n\t\talert('world key down ' + evt)\n\t},\n});\n\nthis.world().registerForGlobalKeyboardEvents()\n","__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1399":{"position":{"__isSmartRef__":true,"id":1400},"extent":{"__isSmartRef__":true,"id":1401},"borderWidth":2,"borderColor":{"__isSmartRef__":true,"id":1402},"fill":{"__isSmartRef__":true,"id":1403},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1400":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1401":{"x":814,"y":296,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1402":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1403":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1404":{"morph":{"__isSmartRef__":true,"id":1398},"dispatchTable":{"__isSmartRef__":true,"id":1405},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1405":{"mouseup":{"__isSmartRef__":true,"id":1406},"mousedown":{"__isSmartRef__":true,"id":1407},"selectstart":{"__isSmartRef__":true,"id":1408},"mousewheel":{"__isSmartRef__":true,"id":1409},"keydown":{"__isSmartRef__":true,"id":1410},"keyup":{"__isSmartRef__":true,"id":1411},"keypress":{"__isSmartRef__":true,"id":1412}},"1406":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1398},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1407":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1398},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1408":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1398},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1409":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1398},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1410":{"type":"keydown","target":{"__isSmartRef__":true,"id":1398},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1411":{"type":"keyup","target":{"__isSmartRef__":true,"id":1398},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1412":{"type":"keypress","target":{"__isSmartRef__":true,"id":1398},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1413":{"x":0,"y":28.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1414":{"submorphs":[{"__isSmartRef__":true,"id":1398},{"__isSmartRef__":true,"id":1415}],"scripts":[],"id":32,"shape":{"__isSmartRef__":true,"id":1529},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1531},"_Position":{"__isSmartRef__":true,"id":1536},"targetMorph":{"__isSmartRef__":true,"id":1398},"titleBar":{"__isSmartRef__":true,"id":1415},"contentOffset":{"__isSmartRef__":true,"id":1413},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"owner":null,"showsHalos":false,"halos":[],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Window"},"1415":{"submorphs":[{"__isSmartRef__":true,"id":1416},{"__isSmartRef__":true,"id":1427},{"__isSmartRef__":true,"id":1442},{"__isSmartRef__":true,"id":1468},{"__isSmartRef__":true,"id":1494}],"scripts":[],"id":33,"shape":{"__isSmartRef__":true,"id":1520},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1523},"_Position":{"__isSmartRef__":true,"id":1528},"eventsAreIgnored":true,"contentMorph":{"__isSmartRef__":true,"id":1416},"windowMorph":{"__isSmartRef__":true,"id":1414},"label":{"__isSmartRef__":true,"id":1427},"closeButton":{"__isSmartRef__":true,"id":1442},"menuButton":{"__isSmartRef__":true,"id":1468},"collapseButton":{"__isSmartRef__":true,"id":1494},"owner":{"__isSmartRef__":true,"id":1414},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TitleBar"},"1416":{"submorphs":[],"scripts":[],"id":34,"shape":{"__isSmartRef__":true,"id":1417},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1421},"_Position":{"__isSmartRef__":true,"id":1426},"owner":{"__isSmartRef__":true,"id":1415},"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Box"},"1417":{"position":{"__isSmartRef__":true,"id":1418},"extent":{"__isSmartRef__":true,"id":1419},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1402},"fill":{"__isSmartRef__":true,"id":1420},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1418":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1419":{"x":500,"y":25,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1420":{"r":0,"g":0,"b":0.8,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1421":{"morph":{"__isSmartRef__":true,"id":1416},"dispatchTable":{"__isSmartRef__":true,"id":1422},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1422":{"mouseup":{"__isSmartRef__":true,"id":1423},"mousedown":{"__isSmartRef__":true,"id":1424},"mousewheel":{"__isSmartRef__":true,"id":1425}},"1423":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1416},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1424":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1416},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1425":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1416},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1426":{"x":0.5,"y":0.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1427":{"submorphs":[],"scripts":[],"id":35,"cachedTextString":"Workspace","shape":{"__isSmartRef__":true,"id":1428},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1431},"_Position":{"__isSmartRef__":true,"id":1440},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1402},"isLabel":true,"eventsAreIgnored":true,"padding":{"__isSmartRef__":true,"id":1441},"owner":{"__isSmartRef__":true,"id":1415},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1428":{"position":{"__isSmartRef__":true,"id":1429},"extent":{"__isSmartRef__":true,"id":1430},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1402},"fill":null,"borderRadius":8,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1429":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1430":{"x":72,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1431":{"morph":{"__isSmartRef__":true,"id":1427},"dispatchTable":{"__isSmartRef__":true,"id":1432},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1432":{"mouseup":{"__isSmartRef__":true,"id":1433},"mousedown":{"__isSmartRef__":true,"id":1434},"selectstart":{"__isSmartRef__":true,"id":1435},"mousewheel":{"__isSmartRef__":true,"id":1436},"keydown":{"__isSmartRef__":true,"id":1437},"keyup":{"__isSmartRef__":true,"id":1438},"keypress":{"__isSmartRef__":true,"id":1439}},"1433":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1427},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1434":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1427},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1435":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1427},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1436":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1427},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1437":{"type":"keydown","target":{"__isSmartRef__":true,"id":1427},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1438":{"type":"keyup","target":{"__isSmartRef__":true,"id":1427},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1439":{"type":"keypress","target":{"__isSmartRef__":true,"id":1427},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1440":{"x":214,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1441":{"x":6,"y":2,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1442":{"submorphs":[{"__isSmartRef__":true,"id":1443}],"scripts":[],"id":36,"shape":{"__isSmartRef__":true,"id":1457},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1460},"label":{"__isSmartRef__":true,"id":1443},"owner":{"__isSmartRef__":true,"id":1415},"attributeConnections":[{"__isSmartRef__":true,"id":1465},{"__isSmartRef__":true,"id":1466}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":1467},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1443":{"submorphs":[],"scripts":[],"id":37,"cachedTextString":"X","shape":{"__isSmartRef__":true,"id":1444},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1447},"_Position":{"__isSmartRef__":true,"id":1456},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1402},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":1442},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1444":{"position":{"__isSmartRef__":true,"id":1445},"extent":{"__isSmartRef__":true,"id":1446},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1402},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1445":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1446":{"x":20,"y":20,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1447":{"morph":{"__isSmartRef__":true,"id":1443},"dispatchTable":{"__isSmartRef__":true,"id":1448},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1448":{"mouseup":{"__isSmartRef__":true,"id":1449},"mousedown":{"__isSmartRef__":true,"id":1450},"selectstart":{"__isSmartRef__":true,"id":1451},"mousewheel":{"__isSmartRef__":true,"id":1452},"keydown":{"__isSmartRef__":true,"id":1453},"keyup":{"__isSmartRef__":true,"id":1454},"keypress":{"__isSmartRef__":true,"id":1455}},"1449":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1443},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1450":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1443},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1451":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1443},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1452":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1443},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1453":{"type":"keydown","target":{"__isSmartRef__":true,"id":1443},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1454":{"type":"keyup","target":{"__isSmartRef__":true,"id":1443},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1455":{"type":"keypress","target":{"__isSmartRef__":true,"id":1443},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1456":{"x":-4,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1457":{"position":{"__isSmartRef__":true,"id":1458},"extent":{"__isSmartRef__":true,"id":1459},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"1458":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1459":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1460":{"morph":{"__isSmartRef__":true,"id":1442},"dispatchTable":{"__isSmartRef__":true,"id":1461},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1461":{"mouseup":{"__isSmartRef__":true,"id":1462},"mousedown":{"__isSmartRef__":true,"id":1463},"mousewheel":{"__isSmartRef__":true,"id":1464}},"1462":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1442},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1463":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1442},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1464":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1442},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1465":{"sourceObj":{"__isSmartRef__":true,"id":1442},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1414},"targetMethodName":"getCloseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1466":{"sourceObj":{"__isSmartRef__":true,"id":1442},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1414},"targetMethodName":"initiateShutdown","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1467":{"x":481,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1468":{"submorphs":[{"__isSmartRef__":true,"id":1469}],"scripts":[],"id":38,"shape":{"__isSmartRef__":true,"id":1483},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1486},"label":{"__isSmartRef__":true,"id":1469},"owner":{"__isSmartRef__":true,"id":1415},"attributeConnections":[{"__isSmartRef__":true,"id":1491},{"__isSmartRef__":true,"id":1492}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":1493},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1469":{"submorphs":[],"scripts":[],"id":39,"cachedTextString":"M","shape":{"__isSmartRef__":true,"id":1470},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1473},"_Position":{"__isSmartRef__":true,"id":1482},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1402},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":1468},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1470":{"position":{"__isSmartRef__":true,"id":1471},"extent":{"__isSmartRef__":true,"id":1472},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1402},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1471":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1472":{"x":20,"y":20,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1473":{"morph":{"__isSmartRef__":true,"id":1469},"dispatchTable":{"__isSmartRef__":true,"id":1474},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1474":{"mouseup":{"__isSmartRef__":true,"id":1475},"mousedown":{"__isSmartRef__":true,"id":1476},"selectstart":{"__isSmartRef__":true,"id":1477},"mousewheel":{"__isSmartRef__":true,"id":1478},"keydown":{"__isSmartRef__":true,"id":1479},"keyup":{"__isSmartRef__":true,"id":1480},"keypress":{"__isSmartRef__":true,"id":1481}},"1475":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1469},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1476":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1469},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1477":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1469},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1478":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1469},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1479":{"type":"keydown","target":{"__isSmartRef__":true,"id":1469},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1480":{"type":"keyup","target":{"__isSmartRef__":true,"id":1469},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1481":{"type":"keypress","target":{"__isSmartRef__":true,"id":1469},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1482":{"x":-5,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1483":{"position":{"__isSmartRef__":true,"id":1484},"extent":{"__isSmartRef__":true,"id":1485},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"1484":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1485":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1486":{"morph":{"__isSmartRef__":true,"id":1468},"dispatchTable":{"__isSmartRef__":true,"id":1487},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1487":{"mouseup":{"__isSmartRef__":true,"id":1488},"mousedown":{"__isSmartRef__":true,"id":1489},"mousewheel":{"__isSmartRef__":true,"id":1490}},"1488":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1468},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1489":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1468},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1490":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1468},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1491":{"sourceObj":{"__isSmartRef__":true,"id":1468},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1414},"targetMethodName":"getMenuHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1492":{"sourceObj":{"__isSmartRef__":true,"id":1468},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1414},"targetMethodName":"showTargetMorphMenu","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1493":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1494":{"submorphs":[{"__isSmartRef__":true,"id":1495}],"scripts":[],"id":40,"shape":{"__isSmartRef__":true,"id":1509},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1512},"label":{"__isSmartRef__":true,"id":1495},"owner":{"__isSmartRef__":true,"id":1415},"attributeConnections":[{"__isSmartRef__":true,"id":1517},{"__isSmartRef__":true,"id":1518}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":1519},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1495":{"submorphs":[],"scripts":[],"id":41,"cachedTextString":"–","shape":{"__isSmartRef__":true,"id":1496},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1499},"_Position":{"__isSmartRef__":true,"id":1508},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1402},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":1494},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1496":{"position":{"__isSmartRef__":true,"id":1497},"extent":{"__isSmartRef__":true,"id":1498},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1402},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1497":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1498":{"x":20,"y":20,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1499":{"morph":{"__isSmartRef__":true,"id":1495},"dispatchTable":{"__isSmartRef__":true,"id":1500},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1500":{"mouseup":{"__isSmartRef__":true,"id":1501},"mousedown":{"__isSmartRef__":true,"id":1502},"selectstart":{"__isSmartRef__":true,"id":1503},"mousewheel":{"__isSmartRef__":true,"id":1504},"keydown":{"__isSmartRef__":true,"id":1505},"keyup":{"__isSmartRef__":true,"id":1506},"keypress":{"__isSmartRef__":true,"id":1507}},"1501":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1495},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1502":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1495},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1503":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1495},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1504":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1495},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1505":{"type":"keydown","target":{"__isSmartRef__":true,"id":1495},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1506":{"type":"keyup","target":{"__isSmartRef__":true,"id":1495},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1507":{"type":"keypress","target":{"__isSmartRef__":true,"id":1495},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1508":{"x":-3,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1509":{"position":{"__isSmartRef__":true,"id":1510},"extent":{"__isSmartRef__":true,"id":1511},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"1510":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1511":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1512":{"morph":{"__isSmartRef__":true,"id":1494},"dispatchTable":{"__isSmartRef__":true,"id":1513},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1513":{"mouseup":{"__isSmartRef__":true,"id":1514},"mousedown":{"__isSmartRef__":true,"id":1515},"mousewheel":{"__isSmartRef__":true,"id":1516}},"1514":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1494},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1515":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1494},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1516":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1494},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1517":{"sourceObj":{"__isSmartRef__":true,"id":1494},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1414},"targetMethodName":"getCollapseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1518":{"sourceObj":{"__isSmartRef__":true,"id":1494},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1414},"targetMethodName":"toggleCollapse","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1519":{"x":462,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1520":{"position":{"__isSmartRef__":true,"id":1521},"extent":{"__isSmartRef__":true,"id":1522},"borderWidth":0,"fill":null,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1521":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1522":{"x":500,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1523":{"morph":{"__isSmartRef__":true,"id":1415},"dispatchTable":{"__isSmartRef__":true,"id":1524},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1524":{"mouseup":{"__isSmartRef__":true,"id":1525},"mousedown":{"__isSmartRef__":true,"id":1526},"mousewheel":{"__isSmartRef__":true,"id":1527}},"1525":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1415},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1526":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1415},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1527":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1415},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1528":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1529":{"borderWidth":0,"fill":null,"strokeOpacity":0,"borderRadius":0,"extent":{"__isSmartRef__":true,"id":1530},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1530":{"x":522,"y":240.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1531":{"morph":{"__isSmartRef__":true,"id":1414},"dispatchTable":{"__isSmartRef__":true,"id":1532},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1532":{"mouseup":{"__isSmartRef__":true,"id":1533},"mousedown":{"__isSmartRef__":true,"id":1534},"mousewheel":{"__isSmartRef__":true,"id":1535}},"1533":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1414},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1534":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1414},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1535":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1414},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1536":{"x":1057,"y":193,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1537":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1538":{"name":"Local code","__LivelyClassName__":"ChangeSet","__SourceModuleName__":"Global.lively.ChangeSet"},"1539":{"submorphs":[{"__isSmartRef__":true,"id":1540},{"__isSmartRef__":true,"id":1556},{"__isSmartRef__":true,"id":1572}],"scripts":[],"id":246,"shape":{"__isSmartRef__":true,"id":1589},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1592},"_Position":{"__isSmartRef__":true,"id":1597},"items":[{"__isSmartRef__":true,"id":1598},{"__isSmartRef__":true,"id":1599}],"itemMorphs":[{"__isSmartRef__":true,"id":1556},{"__isSmartRef__":true,"id":1572}],"title":{"__isSmartRef__":true,"id":1540},"owner":null,"overItemMorph":{"__isSmartRef__":true,"id":1572},"subMenu":null,"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Menu"},"1540":{"submorphs":[],"scripts":[],"id":247,"cachedTextString":"","shape":{"__isSmartRef__":true,"id":1541},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":true,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1545},"_Position":{"__isSmartRef__":true,"id":1554},"_MaxTextWidth":null,"_MaxTextHeight":30,"textColor":{"__isSmartRef__":true,"id":1072},"isLabel":true,"eventsAreIgnored":true,"_Padding":{"__isSmartRef__":true,"id":1555},"owner":{"__isSmartRef__":true,"id":1539},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1541":{"position":{"__isSmartRef__":true,"id":1542},"extent":{"__isSmartRef__":true,"id":1543},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1072},"fill":{"__isSmartRef__":true,"id":1544},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1542":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1543":{"x":200,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1544":{"r":1,"g":1,"b":1,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1545":{"morph":{"__isSmartRef__":true,"id":1540},"dispatchTable":{"__isSmartRef__":true,"id":1546},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1546":{"mouseup":{"__isSmartRef__":true,"id":1547},"mousedown":{"__isSmartRef__":true,"id":1548},"selectstart":{"__isSmartRef__":true,"id":1549},"mousewheel":{"__isSmartRef__":true,"id":1550},"keydown":{"__isSmartRef__":true,"id":1551},"keyup":{"__isSmartRef__":true,"id":1552},"keypress":{"__isSmartRef__":true,"id":1553}},"1547":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1540},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1548":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1540},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1549":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1540},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1550":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1540},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1551":{"type":"keydown","target":{"__isSmartRef__":true,"id":1540},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1552":{"type":"keyup","target":{"__isSmartRef__":true,"id":1540},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1553":{"type":"keypress","target":{"__isSmartRef__":true,"id":1540},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1554":{"x":0,"y":-30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1555":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1556":{"submorphs":[],"scripts":[],"id":248,"cachedTextString":"Tools","shape":{"__isSmartRef__":true,"id":1557},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1560},"_Position":{"__isSmartRef__":true,"id":1570},"_MaxTextWidth":null,"_MaxTextHeight":28,"textColor":{"__isSmartRef__":true,"id":1072},"owner":{"__isSmartRef__":true,"id":1539},"_Padding":{"__isSmartRef__":true,"id":1571},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1557":{"position":{"__isSmartRef__":true,"id":1558},"extent":{"__isSmartRef__":true,"id":1559},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1072},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1558":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1559":{"x":100,"y":28,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1560":{"morph":{"__isSmartRef__":true,"id":1556},"dispatchTable":{"__isSmartRef__":true,"id":1561},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1561":{"mouseup":{"__isSmartRef__":true,"id":1562},"mousedown":{"__isSmartRef__":true,"id":1563},"selectstart":{"__isSmartRef__":true,"id":1564},"mousewheel":{"__isSmartRef__":true,"id":1565},"keydown":{"__isSmartRef__":true,"id":1566},"keyup":{"__isSmartRef__":true,"id":1567},"keypress":{"__isSmartRef__":true,"id":1568},"mouseover":{"__isSmartRef__":true,"id":1569}},"1562":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1556},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1563":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1556},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1564":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1556},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1565":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1556},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1566":{"type":"keydown","target":{"__isSmartRef__":true,"id":1556},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1567":{"type":"keyup","target":{"__isSmartRef__":true,"id":1556},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1568":{"type":"keypress","target":{"__isSmartRef__":true,"id":1556},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1569":{"type":"mouseover","target":{"__isSmartRef__":true,"id":1556},"targetMethodName":"onMouseOver","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1570":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1571":{"x":3,"y":3,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1572":{"submorphs":[],"scripts":[],"id":249,"cachedTextString":"save world","shape":{"__isSmartRef__":true,"id":1573},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1577},"_Position":{"__isSmartRef__":true,"id":1587},"_MaxTextWidth":null,"_MaxTextHeight":28,"textColor":{"__isSmartRef__":true,"id":1072},"owner":{"__isSmartRef__":true,"id":1539},"_Padding":{"__isSmartRef__":true,"id":1588},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1573":{"position":{"__isSmartRef__":true,"id":1574},"extent":{"__isSmartRef__":true,"id":1575},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1072},"fill":{"__isSmartRef__":true,"id":1576},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1574":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1575":{"x":100,"y":28,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1576":{"r":0,"g":0,"b":0.8,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1577":{"morph":{"__isSmartRef__":true,"id":1572},"dispatchTable":{"__isSmartRef__":true,"id":1578},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1578":{"mouseup":{"__isSmartRef__":true,"id":1579},"mousedown":{"__isSmartRef__":true,"id":1580},"selectstart":{"__isSmartRef__":true,"id":1581},"mousewheel":{"__isSmartRef__":true,"id":1582},"keydown":{"__isSmartRef__":true,"id":1583},"keyup":{"__isSmartRef__":true,"id":1584},"keypress":{"__isSmartRef__":true,"id":1585},"mouseover":{"__isSmartRef__":true,"id":1586}},"1579":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1572},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1580":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1572},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1581":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1572},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1582":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1572},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1583":{"type":"keydown","target":{"__isSmartRef__":true,"id":1572},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1584":{"type":"keyup","target":{"__isSmartRef__":true,"id":1572},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1585":{"type":"keypress","target":{"__isSmartRef__":true,"id":1572},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1586":{"type":"mouseover","target":{"__isSmartRef__":true,"id":1572},"targetMethodName":"onMouseOver","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1587":{"x":0,"y":28,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1588":{"x":3,"y":3,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1589":{"position":{"__isSmartRef__":true,"id":1590},"extent":{"__isSmartRef__":true,"id":1591},"fill":{"__isSmartRef__":true,"id":1544},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1590":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1591":{"x":100,"y":56,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1592":{"morph":{"__isSmartRef__":true,"id":1539},"dispatchTable":{"__isSmartRef__":true,"id":1593},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1593":{"mouseup":{"__isSmartRef__":true,"id":1594},"mousedown":{"__isSmartRef__":true,"id":1595},"mousewheel":{"__isSmartRef__":true,"id":1596}},"1594":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1539},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1595":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1539},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1596":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1539},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1597":{"x":764,"y":64,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1598":{"isMenuItem":true,"string":"Tools","value":"Tools","idx":0,"onClickCallback":null},"1599":{"isMenuItem":true,"string":"save world","value":"save world","idx":1},"isSimplifiedRegistry":true}}]]>