-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\t\t\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: {borderWidth: 0, fill: null, strokeOpacity: 0, adjustForNewBounds: true, resizeWidth: true},\n\tlabelStyle: { borderRadius: 8, padding: Rectangle.inset(6, 2) },\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\tvar contentMorph = lively.morphic.Morph.makeRectangle(bounds);\n\t\tthis.addMorph(contentMorph);\n\t\tcontentMorph.linkToStyles([\"titleBar\"]);\n\t\tthis.ignoreEvents();\n\t\tcontentMorph.ignoreEvents();\n\t\tthis.contentMorph = contentMorph;\n\t\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, this.barHeight);\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\tthis.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\tthis.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\tthis.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\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\n\thighlight: function(trueForLight) {\n\t\tif (trueForLight) {\n\t\t\tthis.label.linkToStyles(['titleBar_label_highlight']);\n\t\t\tif (this.closeButton) this.closeButton.linkToStyles('titleBar_closeButton_highlight');\n\t\t\tif (this.menuButton) this.menuButton.linkToStyles('titleBar_menuButton_highlight');\n\t\t\tif (this.collapseButton) this.collapseButton.linkToStyles('titleBar_collapseButton_highlight');\n\n\t\t} else {\n\t\t\tthis.label.linkToStyles(['titleBar_label']);\n\t\t\tif (this.closeButton) this.closeButton.linkToStyles('titleBar_closeButton');\n\t\t\tif (this.menuButton) this.menuButton.linkToStyles('titleBar_menuButton');\n\t\t\tif (this.collapseButton) this.collapseButton.linkToStyles('titleBar_collapseButton');\n\t\t} \n\t},\n\t\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\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},\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\tthis.contentOffset = pt(0, titleHeight - titleBar.getBorderWidth()/2); // FIXME: hack\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'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})\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":193},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":900,"_MaxTextHeight":860,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"scroll","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":196},"_Position":{"__isSmartRef__":true,"id":205},"textColor":{"__isSmartRef__":true,"id":63},"owner":{"__isSmartRef__":true,"id":58},"attributeConnections":[{"__isSmartRef__":true,"id":206}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"savedTextString":"module('lively.morphic.Widgets').requires('lively.morphic.Core', 'lively.morphic.Events', 'lively.morphic.Serialization').toRun(function() {\n\nlively.morphic.Morph.subclass('lively.morphic.Button',\n'settings', {\n\tstyle: {\n\t\tenableGrabbing: false,\n\t\tenableDropping: false,\n\t\tborderColor: Color.gray.darker(), \n\t\tborderWidth: 1, \n\t\tborderRadius: 5,\n\t\tfill: new lively.morphic.LinearGradient(\n\t\t\t[{offset: 0, color: Color.gray.mixedWith(Color.white, 0.2)}, \n\t\t\t{offset: 0.4, color: Color.gray.mixedWith(Color.white, 0.9)},\n\t\t\t{offset: 0.6, color: Color.gray.mixedWith(Color.white, 0.9)},\n\t\t\t{offset: 1, color: Color.gray.mixedWith(Color.white, 0.3)}], \n\t\t\t\"NorthSouth\")\n\t\t}\n},\n'initializing', {\n\tinitialize: function($super, bounds, labelString) {\n\t\t$super(this.defaultShape());\n\t\tif (bounds) this.setBounds(bounds);\n\n\t\tthis.value = false;\n\t\tthis.toggle = false;\n\t\tthis.isActive = true;\n\t\tthis.normalFill = this.getFill();\n\t\tthis.lighterFill = this.normalFill.lighter();\n\t\tthis.setFill(this.normalFill);\n\n\t\tthis.label = new lively.morphic.Text(this.getExtent().extentAsRectangle(), labelString);\n\t\tthis.label.applyStyle({\n\t\t\tborderWidth: 0, \n\t\t\tfill: null, \n\t\t\tfixedWidth: false,\n\t\t\tpadding: Rectangle.inset(5,5,5,5)});\n\t\tthis.addMorph(this.label);\n\t\tthis.label.beLabel();\n\t},\n},\n'accessing', {\n\tsetLabel: function(label) {\n\t\tthis.label.setTextString(label);\n\t\treturn this;\n\t},\n\tsetValue: function(bool) {\n\t\tthis.value = bool;\n\t\tif (bool || this.toggle) lively.bindings.signal(this, 'fire', bool);\n\t\tthis.changeAppearanceFor(bool);\n\t},\n\tsetExtent: function($super, extent) {\n\t\t// FIXME use layout! spaceFill!\n\t\t$super(extent);\n\t\tthis.label && this.label.setExtent(extent)\n\t},\n\n},\n'styling', {\n\tchangeAppearanceFor: function(value) {\n\t\tthis.setFill(value ? this.lighterFill : this.normalFill);\n\t},\n},\n'events', {\n\n\tonMouseDown: function($super, evt) {\n\t\tif (evt.isCommandKey()) return $super(evt);\n\t\tif (this.isActive && evt.isLeftMouseButtonDown() && !this.toggle) {\n\t\t\tthis.setValue(true);\n\t\t\treturn true;\n\t\t}\n\t\treturn $super(evt);\n\t},\n\tonMouseUp: function($super, evt) {\n\t\tif (evt.isCommandKey()) return $super(evt);\n\t\tif (this.isActive && evt.isLeftMouseButtonDown()) {\n\t\t\tvar newValue = this.toggle ? !this.value : false;\n\t\t\tthis.setValue(newValue);\n\t\t\treturn true;\n\t\t}\n\t\treturn $super(evt);\n\t},\n\tsimulateButtonClick: function() {\n\t\tthis.onMouseDown({isLeftMouseButtonDown: Functions.True});\n\t\tthis.onMouseUp({isLeftMouseButtonDown: Functions.True});\n\t},\n\n});\n\nlively.morphic.Text.subclass('lively.morphic.FrameRateMorph', {\n\n\tinitialize: function($super, shape) {\n\t\t// Steps at maximum speed, and gathers stats on ticks per sec and max latency\n\t\t$super(shape);\n\t\tthis.setTextString('FrameRateMorph')\n\t\tthis.reset(new Date());\n\t},\n\n\treset: function(date) {\n\t\tthis.lastTick = date.getSeconds();\n\t\tthis.lastMS = date.getTime();\n\t\tthis.stepsSinceTick = 0;\n\t\tthis.maxLatency = 0;\n\t},\n\n\tnextStep: function() {\n\t\tvar date = new Date();\n\t\tthis.stepsSinceTick++;\n\t\tvar nowMS = date.getTime();\n\t\tthis.maxLatency = Math.max(this.maxLatency, nowMS - this.lastMS);\n\t\tthis.lastMS = nowMS;\n\t\tvar nowTick = date.getSeconds();\n\t\tif (nowTick != this.lastTick) {\n\t\t\tthis.lastTick = nowTick;\n\t\t\tvar ms = (1000 / Math.max(this. stepsSinceTick,1)).roundTo(1);\n\t\t\tthis.setTextString(this.stepsSinceTick + \" frames/sec (\" + ms + \"ms avg),\\nmax latency \" + this.maxLatency + \" ms.\");\n\t\t\tthis.reset(date);\n\t\t}\n\t},\n\n\tstartSteppingScripts: function() { this.startStepping(1, 'nextStep'); }\n\n});\nlively.morphic.Box.subclass('lively.morphic.Menu',\n'settings', {\n\tstyle: {fill: Color.white},\n},\n'initializing', {\n\tinitialize: function($super, title, items) {\n\t\t$super(new Rectangle(0,0, 100, 10));\n\t\tthis.items = [];\n\t\tthis.itemMorphs = [];\n\n\t\t// setup title\n\t\tif (title) {\n\t\t\tthis.title = new lively.morphic.Text(new Rectangle(0,0, 200, 30), title).beLabel({fill: this.getFill(), fixedHeight: true});\n\t\t\tthis.title.align(this.title.bounds().bottomLeft(), pt(0,0));\n\t\t\tthis.title.setPadding(Rectangle.inset(5,5,5,5));\n\t\t\tthis.addMorph(this.title)\n\t\t}\n\t\tif (items) this.addItems(items);\n\t},\n},\n'removing', {\n\tremove: function($super) {\n\t\tvar w = this.world();\n\t\tif (w && w.currentMenu === this) w.currentMenu = null;\n\t\t$super();\n\t},\n},\n'item management', {\n\tremoveAllItems: function() {\n\t\tthis.items = [];\n\t\tthis.itemMorphs = [];\n\t\tthis.submorphs.without(this.title).invoke('remove');\n\t},\n\n\tcreateMenuItems: function(items) {\n\t\tfunction createItem(string, value, idx, callback, callback2) {\n\t\t\treturn {\n\t\t\t\tisMenuItem: true,\n\t\t\t\tstring: string,\n\t\t\t\tvalue: value,\n\t\t\t\tidx: idx,\n\t\t\t\tonClickCallback: callback,\n\t\t\t\tonMouseOverCallback: callback2,\n\t\t\t}\n\t\t}\n\t\tvar result = [], self = this;\n\t\tfor (var i = 0; i < items.length; i++) {\n\t\t\tvar item = items[i];\n\t\t\tif (item.isMenuItem) { item.idx = i; result.push(item); continue };\n\t\t\t// item = [name, callback]\n\t\t\tif (Object.isArray(item) && Object.isFunction(item[1])) {\n\t\t\t\tresult.push(createItem(String(item[0]), item[0], i, item[1]))\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t// sub menu item = [name, [sub elements]]\n\t\t\tif (Object.isArray(item) && Object.isArray(item[1])) {\n\t\t\t\tvar name = item[0], subItems = item[1];\n\t\t\t\tresult.push(createItem(name, name, i, null, function(evt) {\n\t\t\t\t\tself.openSubMenu(evt, name, subItems) }));\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t// item = \"some string\"\n\t\t\tresult.push(createItem(String(item), item, i, function() { alert('clicked ' + this.idx) }));\n\t\t}\n\t\treturn result;\n\t},\n\n\taddItems: function(items) {\n\t\tthis.removeAllItems();\n\t\tthis.items = this.createMenuItems(items);\n\t\tvar y = 0, self = this;\n\t\tthis.items.forEach(function(item) {\n\t\t\tvar itemHeight = 28;\n\t\t\tvar itemMorph = new lively.morphic.Text(new Rectangle(0, y, 100, itemHeight), item.string);\n\t\t\tthis.itemMorphs.push(this.addMorph(itemMorph));\n\t\t\titemMorph.applyStyle({overflow: 'visible', fixedHeight: true, fixedWidth: false});\n\t\t\titemMorph.setPadding(Rectangle.inset(3,3,3,3));\n\t\t\titemMorph.onMouseDown = function(evt) {\n\t\t\t\tif (!evt.isLeftMouseButtonDown()) return false;\n\t\t\t\titem.onClickCallback && item.onClickCallback(evt);\n\t\t\t\tself.remove(); // remove the menu\n\t\t\t\tevt.stop();\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\titemMorph.registerForEvent('mouseover', itemMorph, 'onMouseOver');\n\t\t\titemMorph.onMouseOver = function(evt) {\n\t\t\t\titemMorph.owner.itemMorphs.invoke('setFill', null);\n\t\t\t\titemMorph.setFill(Color.blue)\n\t\t\t\tself.overItemMorph = itemMorph;\n\t\t\t\tself.removeSubMenu()\n\t\t\t\titem.onMouseOverCallback && item.onMouseOverCallback(evt);\n\t\t\t\tevt.stop();\n\t\t\t\treturn true;\n\t\t\t};\n\n\t\t\ty += itemHeight;\n\t\t}, this)\n\t\tthis.setExtent(pt(100, y))\n\t},\n\n},\n'sub menu', {\n\topenSubMenu: function(evt, name, items) {\n\t\tvar m = new lively.morphic.Menu(null, items);\n\t\tthis.addMorph(m);\n\t\tm.align(m.getPosition(), this.overItemMorph ? this.overItemMorph.bounds().topRight() : pt(0,0));\n\t\tthis.subMenu = m;\n\t\tm.ownerMenu = this;\n\t\treturn m;\n\t},\n\tremoveSubMenu: function() { if (this.subMenu) { var m = this.subMenu; m.ownerMenu = null; this.subMenu = null; m.remove() } },\n\tremoveOwnerMenu: function() { if (this.ownerMenu) { var m = this.ownerMenu; this.ownerMenu = null; m.remove() } },\n},\n'removal', {\n\tremove: function($super) {\n\t\t$super();\n\t\tthis.removeSubMenu();\n\t\tthis.removeOwnerMenu();\n\t},\n});\n\nObject.extend(lively.morphic.Menu, {\n\topenAtHand: function(title, items) {\n\t\treturn this.openAt(lively.morphic.World.current().firstHand().getPosition(), title, items);\n\t},\n\topenAt: function(pos, title, items) {\n\t\tvar world = lively.morphic.World.current(),\n\t\t\tmenu = new lively.morphic.Menu(title, items);\n\t\tmenu.setPosition(pos || pt(0,0));\n\t\tif (world.currentMenu) world.currentMenu.remove();\n\t\tworld.currentMenu = menu;\n\t\treturn world.addMorph(menu);\n\t},\n});\n\n\nlively.morphic.Morph.addMethods(\n'menu', {\n\tenableMorphMenu: function() {\n\t\tthis.showsMorphMenu = true;\n\t},\n\tdisableMorphMenu: function() { this.showsMorphMenu = false },\n\tonContextMenu: function(evt) {\n\t\t// we are invoking menus in onMouseDown\n\t\tevt.stop()\n\t},\n\topenMorphMenuAt: function(pos) {\n\t\treturn lively.morphic.Menu.openAt(pos, this.toString(), this.morphMenuItems());\n\t},\n\tshowMorphMenu: function(evt) {\n\t\tthis.openMorphMenuAt(evt.mousePoint);\n\t\tevt.stop();\n\t\treturn true;\n\t},\n\tmorphMenuItems: function() {\n\t\tvar self = this, items = [];\n\t\titems.push(['duplicate', function(evt) {\n\t\t\tvar copy = self.copy();\n\t\t\t// FIXME, hand only grabs morph currently because click event on menu is also a grab!!!\n\t\t\t// self.owner.addMorph(copy);\n\t\t\tevt.hand.grabMorph(copy, evt);\n\t\t}])\n\t\treturn items;\n\t},\n\n});\n\nlively.morphic.World.addMethods(\n'menu', {\n\tmorphMenuItems: function() {\n\t\tvar items = [];\n\t\titems.push(\n\t\t\t['Tools', [\n\t\t\t\t['Workspace', this.addTextWindow.bind(this).curry({title: 'Workspace', content: 'nothing'})],\n\t\t\t\t['Text editor', function() { new lively.morphic.TextEditor().openIn(this) }.bind(this)]\n\t\t\t]],\n\t\t\t['save world', this.interactiveSaveWorldAs.bind(this)])\n\t\treturn items;\n\t},\n});\n\nlively.morphic.List.addMethods(\n'documentation', {\n\tconnections: ['selection', 'itemList', 'selectedLineNo'],\n},\n'settings', {\n\tstyle: {borderColor: Color.black, borderWidth: 0, fill: Color.gray.lighter().lighter()},\n},\n'initializing', {\n\tinitialize: function($super, bounds, optItems) {\n\t\t$super(bounds);\n\t\tthis.itemList = [];\n\t\tthis.selection = null;\n\t\tthis.selectedLineNo = -1;\n\t\tif (optItems) this.updateList(optItems);\n\t},\n},\n'accessing', {\n\tsetExtent: function($super, extent) {\n\t\t$super(extent);\n\t\tthis.resizeList();\n\t},\n},\n'list interface', {\n\tupdateList: function(items) {\n\t\tthis.itemList = items;\n\t\tvar itemStrings = items.collect(function(ea) { return ea.string || String(ea) });\n\t\tthis.renderContext().morphDispatch('updateListContent', this, itemStrings);\n\t},\n\n},\n'FROM HTML PROTOTYPE', {\n\n\n\tonMouseDown: function($super, evt) {\n\t\tif (evt.isCommandKey()) return $super(evt);\n\t\tvar idx = this.renderContext().morphDispatch('getItemIndexFromEvent', this, evt);\n\t\tthis.selectAt(idx)\n\t\tevt.stopPropagation()\n\t\treturn idx > -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\t\t\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: {borderWidth: 0, fill: null, strokeOpacity: 0, adjustForNewBounds: true, resizeWidth: true},\n\tlabelStyle: { borderRadius: 8, padding: Rectangle.inset(6, 2) },\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\tvar contentMorph = lively.morphic.Morph.makeRectangle(bounds);\n\t\tthis.addMorph(contentMorph);\n\t\tcontentMorph.linkToStyles([\"titleBar\"]);\n\t\tthis.ignoreEvents();\n\t\tcontentMorph.ignoreEvents();\n\t\tthis.contentMorph = contentMorph;\n\t\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, this.barHeight);\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\tthis.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\tthis.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\tthis.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\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\n\thighlight: function(trueForLight) {\n\t\tif (trueForLight) {\n\t\t\tthis.label.linkToStyles(['titleBar_label_highlight']);\n\t\t\tif (this.closeButton) this.closeButton.linkToStyles('titleBar_closeButton_highlight');\n\t\t\tif (this.menuButton) this.menuButton.linkToStyles('titleBar_menuButton_highlight');\n\t\t\tif (this.collapseButton) this.collapseButton.linkToStyles('titleBar_collapseButton_highlight');\n\n\t\t} else {\n\t\t\tthis.label.linkToStyles(['titleBar_label']);\n\t\t\tif (this.closeButton) this.closeButton.linkToStyles('titleBar_closeButton');\n\t\t\tif (this.menuButton) this.menuButton.linkToStyles('titleBar_menuButton');\n\t\t\tif (this.collapseButton) this.collapseButton.linkToStyles('titleBar_collapseButton');\n\t\t} \n\t},\n\t\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\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},\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\tthis.contentOffset = pt(0, titleHeight - titleBar.getBorderWidth()/2); // FIXME: hack\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'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})\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","showsHalos":false,"halos":[],"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"193":{"position":{"__isSmartRef__":true,"id":194},"extent":{"__isSmartRef__":true,"id":195},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":63},"fill":{"__isSmartRef__":true,"id":64},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"194":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"195":{"x":900,"y":860,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"196":{"morph":{"__isSmartRef__":true,"id":192},"dispatchTable":{"__isSmartRef__":true,"id":197},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"197":{"mouseup":{"__isSmartRef__":true,"id":198},"mousedown":{"__isSmartRef__":true,"id":199},"selectstart":{"__isSmartRef__":true,"id":200},"mousewheel":{"__isSmartRef__":true,"id":201},"keydown":{"__isSmartRef__":true,"id":202},"keyup":{"__isSmartRef__":true,"id":203},"keypress":{"__isSmartRef__":true,"id":204}},"198":{"type":"mouseup","target":{"__isSmartRef__":true,"id":192},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"199":{"type":"mousedown","target":{"__isSmartRef__":true,"id":192},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"200":{"type":"selectstart","target":{"__isSmartRef__":true,"id":192},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"201":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":192},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"202":{"type":"keydown","target":{"__isSmartRef__":true,"id":192},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"203":{"type":"keyup","target":{"__isSmartRef__":true,"id":192},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"204":{"type":"keypress","target":{"__isSmartRef__":true,"id":192},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"205":{"x":0,"y":40,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"206":{"sourceObj":{"__isSmartRef__":true,"id":192},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":76},"targetMethodName":"saveFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"207":{"position":{"__isSmartRef__":true,"id":208},"extent":{"__isSmartRef__":true,"id":209},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":63},"fill":{"__isSmartRef__":true,"id":210},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"208":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"209":{"x":900,"y":900,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"210":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"211":{"morph":{"__isSmartRef__":true,"id":58},"dispatchTable":{"__isSmartRef__":true,"id":212},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"212":{"mouseup":{"__isSmartRef__":true,"id":213},"mousedown":{"__isSmartRef__":true,"id":214},"mousewheel":{"__isSmartRef__":true,"id":215}},"213":{"type":"mouseup","target":{"__isSmartRef__":true,"id":58},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"214":{"type":"mousedown","target":{"__isSmartRef__":true,"id":58},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"215":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":58},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"216":{"x":0,"y":28.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"217":{"submorphs":[{"__isSmartRef__":true,"id":218},{"__isSmartRef__":true,"id":229},{"__isSmartRef__":true,"id":244},{"__isSmartRef__":true,"id":270},{"__isSmartRef__":true,"id":296}],"scripts":[],"id":1219,"shape":{"__isSmartRef__":true,"id":322},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":325},"_Position":{"__isSmartRef__":true,"id":330},"eventsAreIgnored":true,"contentMorph":{"__isSmartRef__":true,"id":218},"windowMorph":{"__isSmartRef__":true,"id":57},"label":{"__isSmartRef__":true,"id":229},"closeButton":{"__isSmartRef__":true,"id":244},"menuButton":{"__isSmartRef__":true,"id":270},"collapseButton":{"__isSmartRef__":true,"id":296},"owner":{"__isSmartRef__":true,"id":57},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TitleBar"},"218":{"submorphs":[],"scripts":[],"id":1220,"shape":{"__isSmartRef__":true,"id":219},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":223},"_Position":{"__isSmartRef__":true,"id":228},"owner":{"__isSmartRef__":true,"id":217},"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Box"},"219":{"position":{"__isSmartRef__":true,"id":220},"extent":{"__isSmartRef__":true,"id":221},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":63},"fill":{"__isSmartRef__":true,"id":222},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"220":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"221":{"x":900,"y":25,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"222":{"r":0,"g":0,"b":0.8,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"223":{"morph":{"__isSmartRef__":true,"id":218},"dispatchTable":{"__isSmartRef__":true,"id":224},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"224":{"mouseup":{"__isSmartRef__":true,"id":225},"mousedown":{"__isSmartRef__":true,"id":226},"mousewheel":{"__isSmartRef__":true,"id":227}},"225":{"type":"mouseup","target":{"__isSmartRef__":true,"id":218},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"226":{"type":"mousedown","target":{"__isSmartRef__":true,"id":218},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"227":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":218},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"228":{"x":0.5,"y":0.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"229":{"submorphs":[],"scripts":[],"id":1221,"cachedTextString":"TextEditor","shape":{"__isSmartRef__":true,"id":230},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":null,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":233},"_Position":{"__isSmartRef__":true,"id":242},"textColor":{"__isSmartRef__":true,"id":63},"isLabel":true,"eventsAreIgnored":true,"padding":{"__isSmartRef__":true,"id":243},"owner":{"__isSmartRef__":true,"id":217},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"230":{"position":{"__isSmartRef__":true,"id":231},"extent":{"__isSmartRef__":true,"id":232},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":63},"fill":null,"borderRadius":8,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"231":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"232":{"x":80,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"233":{"morph":{"__isSmartRef__":true,"id":229},"dispatchTable":{"__isSmartRef__":true,"id":234},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"234":{"mouseup":{"__isSmartRef__":true,"id":235},"mousedown":{"__isSmartRef__":true,"id":236},"selectstart":{"__isSmartRef__":true,"id":237},"mousewheel":{"__isSmartRef__":true,"id":238},"keydown":{"__isSmartRef__":true,"id":239},"keyup":{"__isSmartRef__":true,"id":240},"keypress":{"__isSmartRef__":true,"id":241}},"235":{"type":"mouseup","target":{"__isSmartRef__":true,"id":229},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"236":{"type":"mousedown","target":{"__isSmartRef__":true,"id":229},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"237":{"type":"selectstart","target":{"__isSmartRef__":true,"id":229},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"238":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":229},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"239":{"type":"keydown","target":{"__isSmartRef__":true,"id":229},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"240":{"type":"keyup","target":{"__isSmartRef__":true,"id":229},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"241":{"type":"keypress","target":{"__isSmartRef__":true,"id":229},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"242":{"x":410,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"243":{"x":6,"y":2,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"244":{"submorphs":[{"__isSmartRef__":true,"id":245}],"scripts":[],"id":1222,"shape":{"__isSmartRef__":true,"id":259},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":262},"label":{"__isSmartRef__":true,"id":245},"owner":{"__isSmartRef__":true,"id":217},"attributeConnections":[{"__isSmartRef__":true,"id":267},{"__isSmartRef__":true,"id":268}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":269},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"245":{"submorphs":[],"scripts":[],"id":1223,"cachedTextString":"X","shape":{"__isSmartRef__":true,"id":246},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":null,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":249},"_Position":{"__isSmartRef__":true,"id":258},"textColor":{"__isSmartRef__":true,"id":63},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":244},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"246":{"position":{"__isSmartRef__":true,"id":247},"extent":{"__isSmartRef__":true,"id":248},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":63},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"247":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"248":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"249":{"morph":{"__isSmartRef__":true,"id":245},"dispatchTable":{"__isSmartRef__":true,"id":250},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"250":{"mouseup":{"__isSmartRef__":true,"id":251},"mousedown":{"__isSmartRef__":true,"id":252},"selectstart":{"__isSmartRef__":true,"id":253},"mousewheel":{"__isSmartRef__":true,"id":254},"keydown":{"__isSmartRef__":true,"id":255},"keyup":{"__isSmartRef__":true,"id":256},"keypress":{"__isSmartRef__":true,"id":257}},"251":{"type":"mouseup","target":{"__isSmartRef__":true,"id":245},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"252":{"type":"mousedown","target":{"__isSmartRef__":true,"id":245},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"253":{"type":"selectstart","target":{"__isSmartRef__":true,"id":245},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"254":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":245},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"255":{"type":"keydown","target":{"__isSmartRef__":true,"id":245},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"256":{"type":"keyup","target":{"__isSmartRef__":true,"id":245},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"257":{"type":"keypress","target":{"__isSmartRef__":true,"id":245},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"258":{"x":-4,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"259":{"position":{"__isSmartRef__":true,"id":260},"extent":{"__isSmartRef__":true,"id":261},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"260":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"261":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"262":{"morph":{"__isSmartRef__":true,"id":244},"dispatchTable":{"__isSmartRef__":true,"id":263},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"263":{"mouseup":{"__isSmartRef__":true,"id":264},"mousedown":{"__isSmartRef__":true,"id":265},"mousewheel":{"__isSmartRef__":true,"id":266}},"264":{"type":"mouseup","target":{"__isSmartRef__":true,"id":244},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"265":{"type":"mousedown","target":{"__isSmartRef__":true,"id":244},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"266":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":244},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"267":{"sourceObj":{"__isSmartRef__":true,"id":244},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":57},"targetMethodName":"getCloseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"268":{"sourceObj":{"__isSmartRef__":true,"id":244},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":57},"targetMethodName":"initiateShutdown","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"269":{"x":881,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"270":{"submorphs":[{"__isSmartRef__":true,"id":271}],"scripts":[],"id":1224,"shape":{"__isSmartRef__":true,"id":285},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":288},"label":{"__isSmartRef__":true,"id":271},"owner":{"__isSmartRef__":true,"id":217},"attributeConnections":[{"__isSmartRef__":true,"id":293},{"__isSmartRef__":true,"id":294}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":295},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"271":{"submorphs":[],"scripts":[],"id":1225,"cachedTextString":"M","shape":{"__isSmartRef__":true,"id":272},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":null,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":275},"_Position":{"__isSmartRef__":true,"id":284},"textColor":{"__isSmartRef__":true,"id":63},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":270},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"272":{"position":{"__isSmartRef__":true,"id":273},"extent":{"__isSmartRef__":true,"id":274},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":63},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"273":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"274":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"275":{"morph":{"__isSmartRef__":true,"id":271},"dispatchTable":{"__isSmartRef__":true,"id":276},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"276":{"mouseup":{"__isSmartRef__":true,"id":277},"mousedown":{"__isSmartRef__":true,"id":278},"selectstart":{"__isSmartRef__":true,"id":279},"mousewheel":{"__isSmartRef__":true,"id":280},"keydown":{"__isSmartRef__":true,"id":281},"keyup":{"__isSmartRef__":true,"id":282},"keypress":{"__isSmartRef__":true,"id":283}},"277":{"type":"mouseup","target":{"__isSmartRef__":true,"id":271},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"278":{"type":"mousedown","target":{"__isSmartRef__":true,"id":271},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"279":{"type":"selectstart","target":{"__isSmartRef__":true,"id":271},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"280":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":271},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"281":{"type":"keydown","target":{"__isSmartRef__":true,"id":271},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"282":{"type":"keyup","target":{"__isSmartRef__":true,"id":271},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"283":{"type":"keypress","target":{"__isSmartRef__":true,"id":271},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"284":{"x":-5,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"285":{"position":{"__isSmartRef__":true,"id":286},"extent":{"__isSmartRef__":true,"id":287},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"286":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"287":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"288":{"morph":{"__isSmartRef__":true,"id":270},"dispatchTable":{"__isSmartRef__":true,"id":289},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"289":{"mouseup":{"__isSmartRef__":true,"id":290},"mousedown":{"__isSmartRef__":true,"id":291},"mousewheel":{"__isSmartRef__":true,"id":292}},"290":{"type":"mouseup","target":{"__isSmartRef__":true,"id":270},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"291":{"type":"mousedown","target":{"__isSmartRef__":true,"id":270},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"292":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":270},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"293":{"sourceObj":{"__isSmartRef__":true,"id":270},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":57},"targetMethodName":"getMenuHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"294":{"sourceObj":{"__isSmartRef__":true,"id":270},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":57},"targetMethodName":"showTargetMorphMenu","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"295":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"296":{"submorphs":[{"__isSmartRef__":true,"id":297}],"scripts":[],"id":1226,"shape":{"__isSmartRef__":true,"id":311},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":314},"label":{"__isSmartRef__":true,"id":297},"owner":{"__isSmartRef__":true,"id":217},"attributeConnections":[{"__isSmartRef__":true,"id":319},{"__isSmartRef__":true,"id":320}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":321},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"297":{"submorphs":[],"scripts":[],"id":1227,"cachedTextString":"–","shape":{"__isSmartRef__":true,"id":298},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":null,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":301},"_Position":{"__isSmartRef__":true,"id":310},"textColor":{"__isSmartRef__":true,"id":63},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":296},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"298":{"position":{"__isSmartRef__":true,"id":299},"extent":{"__isSmartRef__":true,"id":300},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":63},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"299":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"300":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"301":{"morph":{"__isSmartRef__":true,"id":297},"dispatchTable":{"__isSmartRef__":true,"id":302},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"302":{"mouseup":{"__isSmartRef__":true,"id":303},"mousedown":{"__isSmartRef__":true,"id":304},"selectstart":{"__isSmartRef__":true,"id":305},"mousewheel":{"__isSmartRef__":true,"id":306},"keydown":{"__isSmartRef__":true,"id":307},"keyup":{"__isSmartRef__":true,"id":308},"keypress":{"__isSmartRef__":true,"id":309}},"303":{"type":"mouseup","target":{"__isSmartRef__":true,"id":297},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"304":{"type":"mousedown","target":{"__isSmartRef__":true,"id":297},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"305":{"type":"selectstart","target":{"__isSmartRef__":true,"id":297},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"306":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":297},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"307":{"type":"keydown","target":{"__isSmartRef__":true,"id":297},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"308":{"type":"keyup","target":{"__isSmartRef__":true,"id":297},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"309":{"type":"keypress","target":{"__isSmartRef__":true,"id":297},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"310":{"x":-3,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"311":{"position":{"__isSmartRef__":true,"id":312},"extent":{"__isSmartRef__":true,"id":313},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"312":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"313":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"314":{"morph":{"__isSmartRef__":true,"id":296},"dispatchTable":{"__isSmartRef__":true,"id":315},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"315":{"mouseup":{"__isSmartRef__":true,"id":316},"mousedown":{"__isSmartRef__":true,"id":317},"mousewheel":{"__isSmartRef__":true,"id":318}},"316":{"type":"mouseup","target":{"__isSmartRef__":true,"id":296},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"317":{"type":"mousedown","target":{"__isSmartRef__":true,"id":296},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"318":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":296},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"319":{"sourceObj":{"__isSmartRef__":true,"id":296},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":57},"targetMethodName":"getCollapseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"320":{"sourceObj":{"__isSmartRef__":true,"id":296},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":57},"targetMethodName":"toggleCollapse","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"321":{"x":862,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"322":{"position":{"__isSmartRef__":true,"id":323},"extent":{"__isSmartRef__":true,"id":324},"borderWidth":0,"fill":null,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"323":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"324":{"x":900,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"325":{"morph":{"__isSmartRef__":true,"id":217},"dispatchTable":{"__isSmartRef__":true,"id":326},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"326":{"mouseup":{"__isSmartRef__":true,"id":327},"mousedown":{"__isSmartRef__":true,"id":328},"mousewheel":{"__isSmartRef__":true,"id":329}},"327":{"type":"mouseup","target":{"__isSmartRef__":true,"id":217},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"328":{"type":"mousedown","target":{"__isSmartRef__":true,"id":217},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"329":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":217},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"330":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"331":{"borderWidth":0,"fill":null,"strokeOpacity":0,"borderRadius":0,"extent":{"__isSmartRef__":true,"id":332},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"332":{"x":900,"y":928.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"333":{"morph":{"__isSmartRef__":true,"id":57},"dispatchTable":{"__isSmartRef__":true,"id":334},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"334":{"mouseup":{"__isSmartRef__":true,"id":335},"mousedown":{"__isSmartRef__":true,"id":336},"mousewheel":{"__isSmartRef__":true,"id":337}},"335":{"type":"mouseup","target":{"__isSmartRef__":true,"id":57},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"336":{"type":"mousedown","target":{"__isSmartRef__":true,"id":57},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"337":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":57},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"338":{"x":13,"y":9,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"339":{"submorphs":[{"__isSmartRef__":true,"id":340},{"__isSmartRef__":true,"id":486}],"scripts":[],"id":1439,"shape":{"__isSmartRef__":true,"id":598},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":600},"_Position":{"__isSmartRef__":true,"id":605},"targetMorph":{"__isSmartRef__":true,"id":340},"titleBar":{"__isSmartRef__":true,"id":486},"contentOffset":{"__isSmartRef__":true,"id":485},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"owner":{"__isSmartRef__":true,"id":0},"showsHalos":false,"halos":[],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Window"},"340":{"submorphs":[{"__isSmartRef__":true,"id":341},{"__isSmartRef__":true,"id":359},{"__isSmartRef__":true,"id":393},{"__isSmartRef__":true,"id":427},{"__isSmartRef__":true,"id":461}],"scripts":[],"id":1430,"shape":{"__isSmartRef__":true,"id":476},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":480},"_Position":{"__isSmartRef__":true,"id":485},"urlText":{"__isSmartRef__":true,"id":341},"contentMorph":{"__isSmartRef__":true,"id":461},"owner":{"__isSmartRef__":true,"id":339},"ownerApp":{"__isSmartRef__":true,"id":356},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Box"},"341":{"submorphs":[],"scripts":[],"id":1431,"cachedTextString":"http://lively-kernel.org/repository/webwerkstatt/lively/ide/BrowserFramework.js","shape":{"__isSmartRef__":true,"id":342},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":20,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"hidden","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":345},"_Position":{"__isSmartRef__":true,"id":354},"textColor":{"__isSmartRef__":true,"id":63},"isInputLine":true,"owner":{"__isSmartRef__":true,"id":340},"attributeConnections":[{"__isSmartRef__":true,"id":355}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"savedTextString":"http://lively-kernel.org/repository/webwerkstatt/lively/ide/BrowserFramework.js","__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"342":{"position":{"__isSmartRef__":true,"id":343},"extent":{"__isSmartRef__":true,"id":344},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":63},"fill":{"__isSmartRef__":true,"id":64},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"343":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"344":{"x":898,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"345":{"morph":{"__isSmartRef__":true,"id":341},"dispatchTable":{"__isSmartRef__":true,"id":346},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"346":{"mouseup":{"__isSmartRef__":true,"id":347},"mousedown":{"__isSmartRef__":true,"id":348},"selectstart":{"__isSmartRef__":true,"id":349},"mousewheel":{"__isSmartRef__":true,"id":350},"keydown":{"__isSmartRef__":true,"id":351},"keyup":{"__isSmartRef__":true,"id":352},"keypress":{"__isSmartRef__":true,"id":353}},"347":{"type":"mouseup","target":{"__isSmartRef__":true,"id":341},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"348":{"type":"mousedown","target":{"__isSmartRef__":true,"id":341},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"349":{"type":"selectstart","target":{"__isSmartRef__":true,"id":341},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"350":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":341},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"351":{"type":"keydown","target":{"__isSmartRef__":true,"id":341},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"352":{"type":"keyup","target":{"__isSmartRef__":true,"id":341},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"353":{"type":"keypress","target":{"__isSmartRef__":true,"id":341},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"354":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"355":{"sourceObj":{"__isSmartRef__":true,"id":341},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":356},"targetMethodName":"setCurrentURL","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"356":{"attributeConnections":[{"__isSmartRef__":true,"id":357}],"doNotSerialize":["$$currentURL"],"doNotCopyProperties":["$$currentURL"],"currentURL":{"__isSmartRef__":true,"id":358},"panel":{"__isSmartRef__":true,"id":340},"view":{"__isSmartRef__":true,"id":339},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TextEditor"},"357":{"sourceObj":{"__isSmartRef__":true,"id":356},"sourceAttrName":"currentURL","targetObj":{"__isSmartRef__":true,"id":356},"targetMethodName":"loadFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"358":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/lively/ide/BrowserFramework.js","__SourceModuleName__":"Global.lively.Network","__LivelyClassName__":"URL"},"359":{"submorphs":[{"__isSmartRef__":true,"id":360}],"scripts":[],"id":1432,"shape":{"__isSmartRef__":true,"id":374},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":377},"_Position":{"__isSmartRef__":true,"id":382},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":98},"lighterFill":{"__isSmartRef__":true,"id":383},"label":{"__isSmartRef__":true,"id":360},"owner":{"__isSmartRef__":true,"id":340},"attributeConnections":[{"__isSmartRef__":true,"id":392}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"360":{"submorphs":[],"scripts":[],"id":1433,"cachedTextString":"save","shape":{"__isSmartRef__":true,"id":361},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":null,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":364},"_Position":{"__isSmartRef__":true,"id":373},"textColor":{"__isSmartRef__":true,"id":63},"owner":{"__isSmartRef__":true,"id":359},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"361":{"position":{"__isSmartRef__":true,"id":362},"extent":{"__isSmartRef__":true,"id":363},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":63},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"362":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"363":{"x":300,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"364":{"morph":{"__isSmartRef__":true,"id":360},"dispatchTable":{"__isSmartRef__":true,"id":365},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"365":{"mouseup":{"__isSmartRef__":true,"id":366},"mousedown":{"__isSmartRef__":true,"id":367},"selectstart":{"__isSmartRef__":true,"id":368},"mousewheel":{"__isSmartRef__":true,"id":369},"keydown":{"__isSmartRef__":true,"id":370},"keyup":{"__isSmartRef__":true,"id":371},"keypress":{"__isSmartRef__":true,"id":372}},"366":{"type":"mouseup","target":{"__isSmartRef__":true,"id":360},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"367":{"type":"mousedown","target":{"__isSmartRef__":true,"id":360},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"368":{"type":"selectstart","target":{"__isSmartRef__":true,"id":360},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"369":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":360},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"370":{"type":"keydown","target":{"__isSmartRef__":true,"id":360},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"371":{"type":"keyup","target":{"__isSmartRef__":true,"id":360},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"372":{"type":"keypress","target":{"__isSmartRef__":true,"id":360},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"373":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"374":{"position":{"__isSmartRef__":true,"id":375},"extent":{"__isSmartRef__":true,"id":376},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":97},"fill":{"__isSmartRef__":true,"id":98},"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"375":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"376":{"x":300,"y":20,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"377":{"morph":{"__isSmartRef__":true,"id":359},"dispatchTable":{"__isSmartRef__":true,"id":378},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"378":{"mouseup":{"__isSmartRef__":true,"id":379},"mousedown":{"__isSmartRef__":true,"id":380},"mousewheel":{"__isSmartRef__":true,"id":381}},"379":{"type":"mouseup","target":{"__isSmartRef__":true,"id":359},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"380":{"type":"mousedown","target":{"__isSmartRef__":true,"id":359},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"381":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":359},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"382":{"x":0,"y":20,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"383":{"stops":[{"__isSmartRef__":true,"id":384},{"__isSmartRef__":true,"id":386},{"__isSmartRef__":true,"id":388},{"__isSmartRef__":true,"id":390}],"vector":{"__isSmartRef__":true,"id":107},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"384":{"offset":0,"color":{"__isSmartRef__":true,"id":385}},"385":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"386":{"offset":0.4,"color":{"__isSmartRef__":true,"id":387}},"387":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"388":{"offset":0.6,"color":{"__isSmartRef__":true,"id":389}},"389":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"390":{"offset":1,"color":{"__isSmartRef__":true,"id":391}},"391":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"392":{"sourceObj":{"__isSmartRef__":true,"id":359},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":356},"targetMethodName":"saveFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"393":{"submorphs":[{"__isSmartRef__":true,"id":394}],"scripts":[],"id":1434,"shape":{"__isSmartRef__":true,"id":408},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":411},"_Position":{"__isSmartRef__":true,"id":416},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":98},"lighterFill":{"__isSmartRef__":true,"id":417},"label":{"__isSmartRef__":true,"id":394},"owner":{"__isSmartRef__":true,"id":340},"attributeConnections":[{"__isSmartRef__":true,"id":426}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"394":{"submorphs":[],"scripts":[],"id":1435,"cachedTextString":"load","shape":{"__isSmartRef__":true,"id":395},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":null,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":398},"_Position":{"__isSmartRef__":true,"id":407},"textColor":{"__isSmartRef__":true,"id":63},"owner":{"__isSmartRef__":true,"id":393},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"395":{"position":{"__isSmartRef__":true,"id":396},"extent":{"__isSmartRef__":true,"id":397},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":63},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"396":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"397":{"x":300,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"398":{"morph":{"__isSmartRef__":true,"id":394},"dispatchTable":{"__isSmartRef__":true,"id":399},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"399":{"mouseup":{"__isSmartRef__":true,"id":400},"mousedown":{"__isSmartRef__":true,"id":401},"selectstart":{"__isSmartRef__":true,"id":402},"mousewheel":{"__isSmartRef__":true,"id":403},"keydown":{"__isSmartRef__":true,"id":404},"keyup":{"__isSmartRef__":true,"id":405},"keypress":{"__isSmartRef__":true,"id":406}},"400":{"type":"mouseup","target":{"__isSmartRef__":true,"id":394},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"401":{"type":"mousedown","target":{"__isSmartRef__":true,"id":394},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"402":{"type":"selectstart","target":{"__isSmartRef__":true,"id":394},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"403":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":394},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"404":{"type":"keydown","target":{"__isSmartRef__":true,"id":394},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"405":{"type":"keyup","target":{"__isSmartRef__":true,"id":394},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"406":{"type":"keypress","target":{"__isSmartRef__":true,"id":394},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"407":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"408":{"position":{"__isSmartRef__":true,"id":409},"extent":{"__isSmartRef__":true,"id":410},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":97},"fill":{"__isSmartRef__":true,"id":98},"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"409":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"410":{"x":300,"y":20,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"411":{"morph":{"__isSmartRef__":true,"id":393},"dispatchTable":{"__isSmartRef__":true,"id":412},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"412":{"mouseup":{"__isSmartRef__":true,"id":413},"mousedown":{"__isSmartRef__":true,"id":414},"mousewheel":{"__isSmartRef__":true,"id":415}},"413":{"type":"mouseup","target":{"__isSmartRef__":true,"id":393},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"414":{"type":"mousedown","target":{"__isSmartRef__":true,"id":393},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"415":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":393},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"416":{"x":300,"y":20,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"417":{"stops":[{"__isSmartRef__":true,"id":418},{"__isSmartRef__":true,"id":420},{"__isSmartRef__":true,"id":422},{"__isSmartRef__":true,"id":424}],"vector":{"__isSmartRef__":true,"id":107},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"418":{"offset":0,"color":{"__isSmartRef__":true,"id":419}},"419":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"420":{"offset":0.4,"color":{"__isSmartRef__":true,"id":421}},"421":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"422":{"offset":0.6,"color":{"__isSmartRef__":true,"id":423}},"423":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"424":{"offset":1,"color":{"__isSmartRef__":true,"id":425}},"425":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"426":{"sourceObj":{"__isSmartRef__":true,"id":393},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":356},"targetMethodName":"loadFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"427":{"submorphs":[{"__isSmartRef__":true,"id":428}],"scripts":[],"id":1436,"shape":{"__isSmartRef__":true,"id":442},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":445},"_Position":{"__isSmartRef__":true,"id":450},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":98},"lighterFill":{"__isSmartRef__":true,"id":451},"label":{"__isSmartRef__":true,"id":428},"owner":{"__isSmartRef__":true,"id":340},"attributeConnections":[{"__isSmartRef__":true,"id":460}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"428":{"submorphs":[],"scripts":[],"id":1437,"cachedTextString":"remove","shape":{"__isSmartRef__":true,"id":429},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":null,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":432},"_Position":{"__isSmartRef__":true,"id":441},"textColor":{"__isSmartRef__":true,"id":63},"owner":{"__isSmartRef__":true,"id":427},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"429":{"position":{"__isSmartRef__":true,"id":430},"extent":{"__isSmartRef__":true,"id":431},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":63},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"430":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"431":{"x":300,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"432":{"morph":{"__isSmartRef__":true,"id":428},"dispatchTable":{"__isSmartRef__":true,"id":433},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"433":{"mouseup":{"__isSmartRef__":true,"id":434},"mousedown":{"__isSmartRef__":true,"id":435},"selectstart":{"__isSmartRef__":true,"id":436},"mousewheel":{"__isSmartRef__":true,"id":437},"keydown":{"__isSmartRef__":true,"id":438},"keyup":{"__isSmartRef__":true,"id":439},"keypress":{"__isSmartRef__":true,"id":440}},"434":{"type":"mouseup","target":{"__isSmartRef__":true,"id":428},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"435":{"type":"mousedown","target":{"__isSmartRef__":true,"id":428},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"436":{"type":"selectstart","target":{"__isSmartRef__":true,"id":428},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"437":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":428},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"438":{"type":"keydown","target":{"__isSmartRef__":true,"id":428},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"439":{"type":"keyup","target":{"__isSmartRef__":true,"id":428},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"440":{"type":"keypress","target":{"__isSmartRef__":true,"id":428},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"441":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"442":{"position":{"__isSmartRef__":true,"id":443},"extent":{"__isSmartRef__":true,"id":444},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":97},"fill":{"__isSmartRef__":true,"id":98},"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"443":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"444":{"x":300,"y":20,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"445":{"morph":{"__isSmartRef__":true,"id":427},"dispatchTable":{"__isSmartRef__":true,"id":446},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"446":{"mouseup":{"__isSmartRef__":true,"id":447},"mousedown":{"__isSmartRef__":true,"id":448},"mousewheel":{"__isSmartRef__":true,"id":449}},"447":{"type":"mouseup","target":{"__isSmartRef__":true,"id":427},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"448":{"type":"mousedown","target":{"__isSmartRef__":true,"id":427},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"449":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":427},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"450":{"x":600,"y":20,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"451":{"stops":[{"__isSmartRef__":true,"id":452},{"__isSmartRef__":true,"id":454},{"__isSmartRef__":true,"id":456},{"__isSmartRef__":true,"id":458}],"vector":{"__isSmartRef__":true,"id":107},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"452":{"offset":0,"color":{"__isSmartRef__":true,"id":453}},"453":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"454":{"offset":0.4,"color":{"__isSmartRef__":true,"id":455}},"455":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"456":{"offset":0.6,"color":{"__isSmartRef__":true,"id":457}},"457":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"458":{"offset":1,"color":{"__isSmartRef__":true,"id":459}},"459":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"460":{"sourceObj":{"__isSmartRef__":true,"id":427},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":356},"targetMethodName":"removeFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"461":{"submorphs":[],"scripts":[],"id":1438,"cachedTextString":"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\n\t\t//create a model and relay for connecting the additional components later on\n\t\tvar formals = this.formals,\n\t\t\tdefaultValues = (function() {\n\t\t\t\treturn formals.inject({}, function(spec, ea) { spec[ea] = null; return spec });\n\t\t\t})(),\n\t\t\tmodel = Record.newPlainInstance(defaultValues);\n\n\t\tthis.initializeModelRelay(model);\n\n\t\tthis.buttonCommands = [];\n\t},\n\tinitializeModelRelay: function(actualModel) {\n\t\tvar panes = this.allPaneNames,\n\t\t\tspec = {SourceString: \"SourceString\", StatusMessage: \"StatusMessage\", RootFilters: \"RootFilters\"};\n\t\tpanes.forEach(function(ea) {\n\t\t\tspec[ea + 'Content'] = ea + 'Content';\n\t\t\tspec[ea + 'Selection'] = ea + 'Selection';\n\t\t\tspec[ea + 'Menu'] = ea + 'Menu';\n\t\t\tspec[ea + 'Filters'] = ea + 'Filters';\n\t\t});\n\t\tthis.relayToModel(actualModel, spec);\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\n\t\n buildView: function (extent) {\n \n\t\textent = extent || this.initialViewExtent;\n\n this.start();\n \n\t\tvar panel = new lively.ide.BrowserPanel(extent);\n PanelMorph.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 return panel;\n },\n\n\tsetupListPanes: function() {\n\t\tvar model = this.getModel(), browser = this;\n\t\tfunction setupListPane(paneName) {\n var morph = browser.panel[paneName];\n\t\t\t// morph.innerMorph().plugTo(model, {\n\t\t\t\t// selection: '->set' + paneName + 'Selection',\n\t\t\t\t// selection: '<-get' + paneName + 'Selection',\n\t\t\t\t// getList: '->get' + paneName + 'Content',\n\t\t\t\t// updateList: '<-set' + paneName + 'Content',\n\t\t\t// })\n morph.connectModel(model.newRelay({List: (\"-\" + paneName + \"Content\"),\n Selection: ( paneName + 'Selection'),\n Menu: (\"-\" + paneName + \"Menu\")}), true);\n morph.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.each(function(ea) { setupListPane(ea) });\n\t},\n\n\tsetupSourceInput: function() {\n\t\tthis.sourceInput().maxSafeSize = 2e6;\n\t\t// this.sourceInput().styleClass = ['codePane'];\n\t\tthis.panel.sourcePane.connectModel(this.getModel().newRelay({Text: \"SourceString\"}));\n\t\t// this.panel.sourcePane.innerMorph().plugTo(this, {\n\t\t// \t\tsetTextString: '<-setSourceString',\n\t\t// \t\tsavedTextString: '->setSourceString',\n\t\t// \t});\n\t\t// \tthis.setSourceString('test');\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\n\t\t// lively.bindings.connect(this, 'sourceString', this.panel.sourcePane.innerMorph(), 'setTextString');\n\t\t// lively.bindings.connect(this.panel.sourcePane.innerMorph(), 'savedTextString', this, 'setSourceString');\n\t\t// lively.bindings.connect(this, 'sourceString', console, 'log',\n\t\t\t// {converter: function(v) { return v ? v : 'null----' }});\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'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\tlist.setSelection(wanted, true);\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\t\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","shape":{"__isSmartRef__":true,"id":462},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":900,"_MaxTextHeight":860,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"scroll","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":465},"_Position":{"__isSmartRef__":true,"id":474},"textColor":{"__isSmartRef__":true,"id":63},"owner":{"__isSmartRef__":true,"id":340},"attributeConnections":[{"__isSmartRef__":true,"id":475}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"462":{"position":{"__isSmartRef__":true,"id":463},"extent":{"__isSmartRef__":true,"id":464},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":63},"fill":{"__isSmartRef__":true,"id":64},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"463":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"464":{"x":900,"y":860,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"465":{"morph":{"__isSmartRef__":true,"id":461},"dispatchTable":{"__isSmartRef__":true,"id":466},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"466":{"mouseup":{"__isSmartRef__":true,"id":467},"mousedown":{"__isSmartRef__":true,"id":468},"selectstart":{"__isSmartRef__":true,"id":469},"mousewheel":{"__isSmartRef__":true,"id":470},"keydown":{"__isSmartRef__":true,"id":471},"keyup":{"__isSmartRef__":true,"id":472},"keypress":{"__isSmartRef__":true,"id":473}},"467":{"type":"mouseup","target":{"__isSmartRef__":true,"id":461},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"468":{"type":"mousedown","target":{"__isSmartRef__":true,"id":461},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"469":{"type":"selectstart","target":{"__isSmartRef__":true,"id":461},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"470":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":461},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"471":{"type":"keydown","target":{"__isSmartRef__":true,"id":461},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"472":{"type":"keyup","target":{"__isSmartRef__":true,"id":461},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"473":{"type":"keypress","target":{"__isSmartRef__":true,"id":461},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"474":{"x":0,"y":40,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"475":{"sourceObj":{"__isSmartRef__":true,"id":461},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":356},"targetMethodName":"saveFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"476":{"position":{"__isSmartRef__":true,"id":477},"extent":{"__isSmartRef__":true,"id":478},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":63},"fill":{"__isSmartRef__":true,"id":479},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"477":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"478":{"x":900,"y":900,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"479":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"480":{"morph":{"__isSmartRef__":true,"id":340},"dispatchTable":{"__isSmartRef__":true,"id":481},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"481":{"mouseup":{"__isSmartRef__":true,"id":482},"mousedown":{"__isSmartRef__":true,"id":483},"mousewheel":{"__isSmartRef__":true,"id":484}},"482":{"type":"mouseup","target":{"__isSmartRef__":true,"id":340},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"483":{"type":"mousedown","target":{"__isSmartRef__":true,"id":340},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"484":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":340},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"485":{"x":0,"y":28.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"486":{"submorphs":[{"__isSmartRef__":true,"id":487},{"__isSmartRef__":true,"id":497},{"__isSmartRef__":true,"id":511},{"__isSmartRef__":true,"id":537},{"__isSmartRef__":true,"id":563}],"scripts":[],"id":1440,"shape":{"__isSmartRef__":true,"id":589},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":592},"_Position":{"__isSmartRef__":true,"id":597},"eventsAreIgnored":true,"contentMorph":{"__isSmartRef__":true,"id":487},"windowMorph":{"__isSmartRef__":true,"id":339},"label":{"__isSmartRef__":true,"id":497},"closeButton":{"__isSmartRef__":true,"id":511},"menuButton":{"__isSmartRef__":true,"id":537},"collapseButton":{"__isSmartRef__":true,"id":563},"owner":{"__isSmartRef__":true,"id":339},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TitleBar"},"487":{"submorphs":[],"scripts":[],"id":1441,"shape":{"__isSmartRef__":true,"id":488},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":491},"_Position":{"__isSmartRef__":true,"id":496},"owner":{"__isSmartRef__":true,"id":486},"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Box"},"488":{"position":{"__isSmartRef__":true,"id":489},"extent":{"__isSmartRef__":true,"id":490},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":63},"fill":{"__isSmartRef__":true,"id":222},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"489":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"490":{"x":900,"y":25,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"491":{"morph":{"__isSmartRef__":true,"id":487},"dispatchTable":{"__isSmartRef__":true,"id":492},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"492":{"mouseup":{"__isSmartRef__":true,"id":493},"mousedown":{"__isSmartRef__":true,"id":494},"mousewheel":{"__isSmartRef__":true,"id":495}},"493":{"type":"mouseup","target":{"__isSmartRef__":true,"id":487},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"494":{"type":"mousedown","target":{"__isSmartRef__":true,"id":487},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"495":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":487},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"496":{"x":0.5,"y":0.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"497":{"submorphs":[],"scripts":[],"id":1442,"cachedTextString":"TextEditor","shape":{"__isSmartRef__":true,"id":498},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":null,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":501},"_Position":{"__isSmartRef__":true,"id":510},"textColor":{"__isSmartRef__":true,"id":63},"isLabel":true,"eventsAreIgnored":true,"padding":{"__isSmartRef__":true,"id":243},"owner":{"__isSmartRef__":true,"id":486},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"498":{"position":{"__isSmartRef__":true,"id":499},"extent":{"__isSmartRef__":true,"id":500},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":63},"fill":null,"borderRadius":8,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"499":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"500":{"x":80,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"501":{"morph":{"__isSmartRef__":true,"id":497},"dispatchTable":{"__isSmartRef__":true,"id":502},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"502":{"mouseup":{"__isSmartRef__":true,"id":503},"mousedown":{"__isSmartRef__":true,"id":504},"selectstart":{"__isSmartRef__":true,"id":505},"mousewheel":{"__isSmartRef__":true,"id":506},"keydown":{"__isSmartRef__":true,"id":507},"keyup":{"__isSmartRef__":true,"id":508},"keypress":{"__isSmartRef__":true,"id":509}},"503":{"type":"mouseup","target":{"__isSmartRef__":true,"id":497},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"504":{"type":"mousedown","target":{"__isSmartRef__":true,"id":497},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"505":{"type":"selectstart","target":{"__isSmartRef__":true,"id":497},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"506":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":497},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"507":{"type":"keydown","target":{"__isSmartRef__":true,"id":497},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"508":{"type":"keyup","target":{"__isSmartRef__":true,"id":497},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"509":{"type":"keypress","target":{"__isSmartRef__":true,"id":497},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"510":{"x":410,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"511":{"submorphs":[{"__isSmartRef__":true,"id":512}],"scripts":[],"id":1443,"shape":{"__isSmartRef__":true,"id":526},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":529},"label":{"__isSmartRef__":true,"id":512},"owner":{"__isSmartRef__":true,"id":486},"attributeConnections":[{"__isSmartRef__":true,"id":534},{"__isSmartRef__":true,"id":535}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":536},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"512":{"submorphs":[],"scripts":[],"id":1444,"cachedTextString":"X","shape":{"__isSmartRef__":true,"id":513},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":null,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":516},"_Position":{"__isSmartRef__":true,"id":525},"textColor":{"__isSmartRef__":true,"id":63},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":511},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"513":{"position":{"__isSmartRef__":true,"id":514},"extent":{"__isSmartRef__":true,"id":515},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":63},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"514":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"515":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"516":{"morph":{"__isSmartRef__":true,"id":512},"dispatchTable":{"__isSmartRef__":true,"id":517},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"517":{"mouseup":{"__isSmartRef__":true,"id":518},"mousedown":{"__isSmartRef__":true,"id":519},"selectstart":{"__isSmartRef__":true,"id":520},"mousewheel":{"__isSmartRef__":true,"id":521},"keydown":{"__isSmartRef__":true,"id":522},"keyup":{"__isSmartRef__":true,"id":523},"keypress":{"__isSmartRef__":true,"id":524}},"518":{"type":"mouseup","target":{"__isSmartRef__":true,"id":512},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"519":{"type":"mousedown","target":{"__isSmartRef__":true,"id":512},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"520":{"type":"selectstart","target":{"__isSmartRef__":true,"id":512},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"521":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":512},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"522":{"type":"keydown","target":{"__isSmartRef__":true,"id":512},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"523":{"type":"keyup","target":{"__isSmartRef__":true,"id":512},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"524":{"type":"keypress","target":{"__isSmartRef__":true,"id":512},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"525":{"x":-4,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"526":{"position":{"__isSmartRef__":true,"id":527},"extent":{"__isSmartRef__":true,"id":528},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"527":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"528":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"529":{"morph":{"__isSmartRef__":true,"id":511},"dispatchTable":{"__isSmartRef__":true,"id":530},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"530":{"mouseup":{"__isSmartRef__":true,"id":531},"mousedown":{"__isSmartRef__":true,"id":532},"mousewheel":{"__isSmartRef__":true,"id":533}},"531":{"type":"mouseup","target":{"__isSmartRef__":true,"id":511},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"532":{"type":"mousedown","target":{"__isSmartRef__":true,"id":511},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"533":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":511},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"534":{"sourceObj":{"__isSmartRef__":true,"id":511},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":339},"targetMethodName":"getCloseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"535":{"sourceObj":{"__isSmartRef__":true,"id":511},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":339},"targetMethodName":"initiateShutdown","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"536":{"x":881,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"537":{"submorphs":[{"__isSmartRef__":true,"id":538}],"scripts":[],"id":1445,"shape":{"__isSmartRef__":true,"id":552},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":555},"label":{"__isSmartRef__":true,"id":538},"owner":{"__isSmartRef__":true,"id":486},"attributeConnections":[{"__isSmartRef__":true,"id":560},{"__isSmartRef__":true,"id":561}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":562},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"538":{"submorphs":[],"scripts":[],"id":1446,"cachedTextString":"M","shape":{"__isSmartRef__":true,"id":539},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":null,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":542},"_Position":{"__isSmartRef__":true,"id":551},"textColor":{"__isSmartRef__":true,"id":63},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":537},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"539":{"position":{"__isSmartRef__":true,"id":540},"extent":{"__isSmartRef__":true,"id":541},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":63},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"540":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"541":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"542":{"morph":{"__isSmartRef__":true,"id":538},"dispatchTable":{"__isSmartRef__":true,"id":543},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"543":{"mouseup":{"__isSmartRef__":true,"id":544},"mousedown":{"__isSmartRef__":true,"id":545},"selectstart":{"__isSmartRef__":true,"id":546},"mousewheel":{"__isSmartRef__":true,"id":547},"keydown":{"__isSmartRef__":true,"id":548},"keyup":{"__isSmartRef__":true,"id":549},"keypress":{"__isSmartRef__":true,"id":550}},"544":{"type":"mouseup","target":{"__isSmartRef__":true,"id":538},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"545":{"type":"mousedown","target":{"__isSmartRef__":true,"id":538},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"546":{"type":"selectstart","target":{"__isSmartRef__":true,"id":538},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"547":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":538},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"548":{"type":"keydown","target":{"__isSmartRef__":true,"id":538},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"549":{"type":"keyup","target":{"__isSmartRef__":true,"id":538},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"550":{"type":"keypress","target":{"__isSmartRef__":true,"id":538},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"551":{"x":-5,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"552":{"position":{"__isSmartRef__":true,"id":553},"extent":{"__isSmartRef__":true,"id":554},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"553":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"554":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"555":{"morph":{"__isSmartRef__":true,"id":537},"dispatchTable":{"__isSmartRef__":true,"id":556},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"556":{"mouseup":{"__isSmartRef__":true,"id":557},"mousedown":{"__isSmartRef__":true,"id":558},"mousewheel":{"__isSmartRef__":true,"id":559}},"557":{"type":"mouseup","target":{"__isSmartRef__":true,"id":537},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"558":{"type":"mousedown","target":{"__isSmartRef__":true,"id":537},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"559":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":537},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"560":{"sourceObj":{"__isSmartRef__":true,"id":537},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":339},"targetMethodName":"getMenuHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"561":{"sourceObj":{"__isSmartRef__":true,"id":537},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":339},"targetMethodName":"showTargetMorphMenu","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"562":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"563":{"submorphs":[{"__isSmartRef__":true,"id":564}],"scripts":[],"id":1447,"shape":{"__isSmartRef__":true,"id":578},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":581},"label":{"__isSmartRef__":true,"id":564},"owner":{"__isSmartRef__":true,"id":486},"attributeConnections":[{"__isSmartRef__":true,"id":586},{"__isSmartRef__":true,"id":587}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":588},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"564":{"submorphs":[],"scripts":[],"id":1448,"cachedTextString":"–","shape":{"__isSmartRef__":true,"id":565},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":null,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":568},"_Position":{"__isSmartRef__":true,"id":577},"textColor":{"__isSmartRef__":true,"id":63},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":563},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"565":{"position":{"__isSmartRef__":true,"id":566},"extent":{"__isSmartRef__":true,"id":567},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":63},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"566":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"567":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"568":{"morph":{"__isSmartRef__":true,"id":564},"dispatchTable":{"__isSmartRef__":true,"id":569},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"569":{"mouseup":{"__isSmartRef__":true,"id":570},"mousedown":{"__isSmartRef__":true,"id":571},"selectstart":{"__isSmartRef__":true,"id":572},"mousewheel":{"__isSmartRef__":true,"id":573},"keydown":{"__isSmartRef__":true,"id":574},"keyup":{"__isSmartRef__":true,"id":575},"keypress":{"__isSmartRef__":true,"id":576}},"570":{"type":"mouseup","target":{"__isSmartRef__":true,"id":564},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"571":{"type":"mousedown","target":{"__isSmartRef__":true,"id":564},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"572":{"type":"selectstart","target":{"__isSmartRef__":true,"id":564},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"573":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":564},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"574":{"type":"keydown","target":{"__isSmartRef__":true,"id":564},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"575":{"type":"keyup","target":{"__isSmartRef__":true,"id":564},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"576":{"type":"keypress","target":{"__isSmartRef__":true,"id":564},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"577":{"x":-3,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"578":{"position":{"__isSmartRef__":true,"id":579},"extent":{"__isSmartRef__":true,"id":580},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"579":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"580":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"581":{"morph":{"__isSmartRef__":true,"id":563},"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":563},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"584":{"type":"mousedown","target":{"__isSmartRef__":true,"id":563},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"585":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":563},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"586":{"sourceObj":{"__isSmartRef__":true,"id":563},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":339},"targetMethodName":"getCollapseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"587":{"sourceObj":{"__isSmartRef__":true,"id":563},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":339},"targetMethodName":"toggleCollapse","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"588":{"x":862,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"589":{"position":{"__isSmartRef__":true,"id":590},"extent":{"__isSmartRef__":true,"id":591},"borderWidth":0,"fill":null,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"590":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"591":{"x":900,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"592":{"morph":{"__isSmartRef__":true,"id":486},"dispatchTable":{"__isSmartRef__":true,"id":593},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"593":{"mouseup":{"__isSmartRef__":true,"id":594},"mousedown":{"__isSmartRef__":true,"id":595},"mousewheel":{"__isSmartRef__":true,"id":596}},"594":{"type":"mouseup","target":{"__isSmartRef__":true,"id":486},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"595":{"type":"mousedown","target":{"__isSmartRef__":true,"id":486},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"596":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":486},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"597":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"598":{"borderWidth":0,"fill":null,"strokeOpacity":0,"borderRadius":0,"extent":{"__isSmartRef__":true,"id":599},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"599":{"x":900,"y":928.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"600":{"morph":{"__isSmartRef__":true,"id":339},"dispatchTable":{"__isSmartRef__":true,"id":601},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"601":{"mouseup":{"__isSmartRef__":true,"id":602},"mousedown":{"__isSmartRef__":true,"id":603},"mousewheel":{"__isSmartRef__":true,"id":604}},"602":{"type":"mouseup","target":{"__isSmartRef__":true,"id":339},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"603":{"type":"mousedown","target":{"__isSmartRef__":true,"id":339},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"604":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":339},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"605":{"x":22,"y":957,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"606":{"submorphs":[{"__isSmartRef__":true,"id":607},{"__isSmartRef__":true,"id":766}],"scripts":[],"id":1470,"shape":{"__isSmartRef__":true,"id":880},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":882},"_Position":{"__isSmartRef__":true,"id":887},"targetMorph":{"__isSmartRef__":true,"id":607},"titleBar":{"__isSmartRef__":true,"id":766},"contentOffset":{"__isSmartRef__":true,"id":765},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"showsHalos":false,"halos":[],"__SourceModuleName__":"Global.lively.morphic.Widgets","owner":{"__isSmartRef__":true,"id":0},"_Rotation":0,"__LivelyClassName__":"lively.morphic.Window"},"607":{"submorphs":[{"__isSmartRef__":true,"id":608},{"__isSmartRef__":true,"id":628},{"__isSmartRef__":true,"id":673},{"__isSmartRef__":true,"id":707},{"__isSmartRef__":true,"id":741}],"scripts":[],"id":1430,"shape":{"__isSmartRef__":true,"id":756},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":760},"_Position":{"__isSmartRef__":true,"id":765},"urlText":{"__isSmartRef__":true,"id":608},"contentMorph":{"__isSmartRef__":true,"id":741},"owner":{"__isSmartRef__":true,"id":606},"ownerApp":{"__isSmartRef__":true,"id":625},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Box"},"608":{"submorphs":[],"scripts":[],"id":1431,"cachedTextString":"http://lively-kernel.org/repository/webwerkstatt/lively/ide/BrowserFramework.js","shape":{"__isSmartRef__":true,"id":609},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":20,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"hidden","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":614},"_Position":{"__isSmartRef__":true,"id":623},"textColor":{"__isSmartRef__":true,"id":612},"isInputLine":true,"owner":{"__isSmartRef__":true,"id":607},"attributeConnections":[{"__isSmartRef__":true,"id":624}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"savedTextString":"http://lively-kernel.org/repository/webwerkstatt/lively/ide/BrowserFramework.js","__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"609":{"position":{"__isSmartRef__":true,"id":610},"extent":{"__isSmartRef__":true,"id":611},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":612},"fill":{"__isSmartRef__":true,"id":613},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"610":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"611":{"x":898,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"612":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"613":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"614":{"morph":{"__isSmartRef__":true,"id":608},"dispatchTable":{"__isSmartRef__":true,"id":615},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"615":{"mouseup":{"__isSmartRef__":true,"id":616},"mousedown":{"__isSmartRef__":true,"id":617},"selectstart":{"__isSmartRef__":true,"id":618},"mousewheel":{"__isSmartRef__":true,"id":619},"keydown":{"__isSmartRef__":true,"id":620},"keyup":{"__isSmartRef__":true,"id":621},"keypress":{"__isSmartRef__":true,"id":622}},"616":{"type":"mouseup","target":{"__isSmartRef__":true,"id":608},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"617":{"type":"mousedown","target":{"__isSmartRef__":true,"id":608},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"618":{"type":"selectstart","target":{"__isSmartRef__":true,"id":608},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"619":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":608},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"620":{"type":"keydown","target":{"__isSmartRef__":true,"id":608},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"621":{"type":"keyup","target":{"__isSmartRef__":true,"id":608},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"622":{"type":"keypress","target":{"__isSmartRef__":true,"id":608},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"623":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"624":{"sourceObj":{"__isSmartRef__":true,"id":608},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":625},"targetMethodName":"setCurrentURL","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"625":{"attributeConnections":[{"__isSmartRef__":true,"id":626}],"doNotSerialize":["$$currentURL"],"doNotCopyProperties":["$$currentURL"],"currentURL":{"__isSmartRef__":true,"id":627},"panel":{"__isSmartRef__":true,"id":607},"view":{"__isSmartRef__":true,"id":606},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TextEditor"},"626":{"sourceObj":{"__isSmartRef__":true,"id":625},"sourceAttrName":"currentURL","targetObj":{"__isSmartRef__":true,"id":625},"targetMethodName":"loadFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"627":{"protocol":"http:","hostname":"lively-kernel.org","pathname":"/repository/webwerkstatt/lively/ide/BrowserFramework.js","__SourceModuleName__":"Global.lively.Network","__LivelyClassName__":"URL"},"628":{"submorphs":[{"__isSmartRef__":true,"id":629}],"scripts":[],"id":1432,"shape":{"__isSmartRef__":true,"id":643},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":657},"_Position":{"__isSmartRef__":true,"id":662},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":647},"lighterFill":{"__isSmartRef__":true,"id":663},"label":{"__isSmartRef__":true,"id":629},"owner":{"__isSmartRef__":true,"id":607},"attributeConnections":[{"__isSmartRef__":true,"id":672}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"629":{"submorphs":[],"scripts":[],"id":1433,"cachedTextString":"save","shape":{"__isSmartRef__":true,"id":630},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":null,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":633},"_Position":{"__isSmartRef__":true,"id":642},"textColor":{"__isSmartRef__":true,"id":612},"owner":{"__isSmartRef__":true,"id":628},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"630":{"position":{"__isSmartRef__":true,"id":631},"extent":{"__isSmartRef__":true,"id":632},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":612},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"631":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"632":{"x":300,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"633":{"morph":{"__isSmartRef__":true,"id":629},"dispatchTable":{"__isSmartRef__":true,"id":634},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"634":{"mouseup":{"__isSmartRef__":true,"id":635},"mousedown":{"__isSmartRef__":true,"id":636},"selectstart":{"__isSmartRef__":true,"id":637},"mousewheel":{"__isSmartRef__":true,"id":638},"keydown":{"__isSmartRef__":true,"id":639},"keyup":{"__isSmartRef__":true,"id":640},"keypress":{"__isSmartRef__":true,"id":641}},"635":{"type":"mouseup","target":{"__isSmartRef__":true,"id":629},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"636":{"type":"mousedown","target":{"__isSmartRef__":true,"id":629},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"637":{"type":"selectstart","target":{"__isSmartRef__":true,"id":629},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"638":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":629},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"639":{"type":"keydown","target":{"__isSmartRef__":true,"id":629},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"640":{"type":"keyup","target":{"__isSmartRef__":true,"id":629},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"641":{"type":"keypress","target":{"__isSmartRef__":true,"id":629},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"642":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"643":{"position":{"__isSmartRef__":true,"id":644},"extent":{"__isSmartRef__":true,"id":645},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":646},"fill":{"__isSmartRef__":true,"id":647},"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"644":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"645":{"x":300,"y":20,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"646":{"r":0.4,"g":0.4,"b":0.4,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"647":{"stops":[{"__isSmartRef__":true,"id":648},{"__isSmartRef__":true,"id":650},{"__isSmartRef__":true,"id":652},{"__isSmartRef__":true,"id":654}],"vector":{"__isSmartRef__":true,"id":656},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"648":{"offset":0,"color":{"__isSmartRef__":true,"id":649}},"649":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"650":{"offset":0.4,"color":{"__isSmartRef__":true,"id":651}},"651":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"652":{"offset":0.6,"color":{"__isSmartRef__":true,"id":653}},"653":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"654":{"offset":1,"color":{"__isSmartRef__":true,"id":655}},"655":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"656":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"657":{"morph":{"__isSmartRef__":true,"id":628},"dispatchTable":{"__isSmartRef__":true,"id":658},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"658":{"mouseup":{"__isSmartRef__":true,"id":659},"mousedown":{"__isSmartRef__":true,"id":660},"mousewheel":{"__isSmartRef__":true,"id":661}},"659":{"type":"mouseup","target":{"__isSmartRef__":true,"id":628},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"660":{"type":"mousedown","target":{"__isSmartRef__":true,"id":628},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"661":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":628},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"662":{"x":0,"y":20,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"663":{"stops":[{"__isSmartRef__":true,"id":664},{"__isSmartRef__":true,"id":666},{"__isSmartRef__":true,"id":668},{"__isSmartRef__":true,"id":670}],"vector":{"__isSmartRef__":true,"id":656},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"664":{"offset":0,"color":{"__isSmartRef__":true,"id":665}},"665":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"666":{"offset":0.4,"color":{"__isSmartRef__":true,"id":667}},"667":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"668":{"offset":0.6,"color":{"__isSmartRef__":true,"id":669}},"669":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"670":{"offset":1,"color":{"__isSmartRef__":true,"id":671}},"671":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"672":{"sourceObj":{"__isSmartRef__":true,"id":628},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":625},"targetMethodName":"saveFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"673":{"submorphs":[{"__isSmartRef__":true,"id":674}],"scripts":[],"id":1434,"shape":{"__isSmartRef__":true,"id":688},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":691},"_Position":{"__isSmartRef__":true,"id":696},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":647},"lighterFill":{"__isSmartRef__":true,"id":697},"label":{"__isSmartRef__":true,"id":674},"owner":{"__isSmartRef__":true,"id":607},"attributeConnections":[{"__isSmartRef__":true,"id":706}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"674":{"submorphs":[],"scripts":[],"id":1435,"cachedTextString":"load","shape":{"__isSmartRef__":true,"id":675},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":null,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":678},"_Position":{"__isSmartRef__":true,"id":687},"textColor":{"__isSmartRef__":true,"id":612},"owner":{"__isSmartRef__":true,"id":673},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"675":{"position":{"__isSmartRef__":true,"id":676},"extent":{"__isSmartRef__":true,"id":677},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":612},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"676":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"677":{"x":300,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"678":{"morph":{"__isSmartRef__":true,"id":674},"dispatchTable":{"__isSmartRef__":true,"id":679},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"679":{"mouseup":{"__isSmartRef__":true,"id":680},"mousedown":{"__isSmartRef__":true,"id":681},"selectstart":{"__isSmartRef__":true,"id":682},"mousewheel":{"__isSmartRef__":true,"id":683},"keydown":{"__isSmartRef__":true,"id":684},"keyup":{"__isSmartRef__":true,"id":685},"keypress":{"__isSmartRef__":true,"id":686}},"680":{"type":"mouseup","target":{"__isSmartRef__":true,"id":674},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"681":{"type":"mousedown","target":{"__isSmartRef__":true,"id":674},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"682":{"type":"selectstart","target":{"__isSmartRef__":true,"id":674},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"683":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":674},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"684":{"type":"keydown","target":{"__isSmartRef__":true,"id":674},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"685":{"type":"keyup","target":{"__isSmartRef__":true,"id":674},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"686":{"type":"keypress","target":{"__isSmartRef__":true,"id":674},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"687":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"688":{"position":{"__isSmartRef__":true,"id":689},"extent":{"__isSmartRef__":true,"id":690},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":646},"fill":{"__isSmartRef__":true,"id":647},"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"689":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"690":{"x":300,"y":20,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"691":{"morph":{"__isSmartRef__":true,"id":673},"dispatchTable":{"__isSmartRef__":true,"id":692},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"692":{"mouseup":{"__isSmartRef__":true,"id":693},"mousedown":{"__isSmartRef__":true,"id":694},"mousewheel":{"__isSmartRef__":true,"id":695}},"693":{"type":"mouseup","target":{"__isSmartRef__":true,"id":673},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"694":{"type":"mousedown","target":{"__isSmartRef__":true,"id":673},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"695":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":673},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"696":{"x":300,"y":20,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"697":{"stops":[{"__isSmartRef__":true,"id":698},{"__isSmartRef__":true,"id":700},{"__isSmartRef__":true,"id":702},{"__isSmartRef__":true,"id":704}],"vector":{"__isSmartRef__":true,"id":656},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"698":{"offset":0,"color":{"__isSmartRef__":true,"id":699}},"699":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"700":{"offset":0.4,"color":{"__isSmartRef__":true,"id":701}},"701":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"702":{"offset":0.6,"color":{"__isSmartRef__":true,"id":703}},"703":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"704":{"offset":1,"color":{"__isSmartRef__":true,"id":705}},"705":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"706":{"sourceObj":{"__isSmartRef__":true,"id":673},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":625},"targetMethodName":"loadFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"707":{"submorphs":[{"__isSmartRef__":true,"id":708}],"scripts":[],"id":1436,"shape":{"__isSmartRef__":true,"id":722},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":725},"_Position":{"__isSmartRef__":true,"id":730},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":647},"lighterFill":{"__isSmartRef__":true,"id":731},"label":{"__isSmartRef__":true,"id":708},"owner":{"__isSmartRef__":true,"id":607},"attributeConnections":[{"__isSmartRef__":true,"id":740}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"708":{"submorphs":[],"scripts":[],"id":1437,"cachedTextString":"remove","shape":{"__isSmartRef__":true,"id":709},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":null,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":712},"_Position":{"__isSmartRef__":true,"id":721},"textColor":{"__isSmartRef__":true,"id":612},"owner":{"__isSmartRef__":true,"id":707},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"709":{"position":{"__isSmartRef__":true,"id":710},"extent":{"__isSmartRef__":true,"id":711},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":612},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"710":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"711":{"x":300,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"712":{"morph":{"__isSmartRef__":true,"id":708},"dispatchTable":{"__isSmartRef__":true,"id":713},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"713":{"mouseup":{"__isSmartRef__":true,"id":714},"mousedown":{"__isSmartRef__":true,"id":715},"selectstart":{"__isSmartRef__":true,"id":716},"mousewheel":{"__isSmartRef__":true,"id":717},"keydown":{"__isSmartRef__":true,"id":718},"keyup":{"__isSmartRef__":true,"id":719},"keypress":{"__isSmartRef__":true,"id":720}},"714":{"type":"mouseup","target":{"__isSmartRef__":true,"id":708},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"715":{"type":"mousedown","target":{"__isSmartRef__":true,"id":708},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"716":{"type":"selectstart","target":{"__isSmartRef__":true,"id":708},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"717":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":708},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"718":{"type":"keydown","target":{"__isSmartRef__":true,"id":708},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"719":{"type":"keyup","target":{"__isSmartRef__":true,"id":708},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"720":{"type":"keypress","target":{"__isSmartRef__":true,"id":708},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"721":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"722":{"position":{"__isSmartRef__":true,"id":723},"extent":{"__isSmartRef__":true,"id":724},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":646},"fill":{"__isSmartRef__":true,"id":647},"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"723":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"724":{"x":300,"y":20,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"725":{"morph":{"__isSmartRef__":true,"id":707},"dispatchTable":{"__isSmartRef__":true,"id":726},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"726":{"mouseup":{"__isSmartRef__":true,"id":727},"mousedown":{"__isSmartRef__":true,"id":728},"mousewheel":{"__isSmartRef__":true,"id":729}},"727":{"type":"mouseup","target":{"__isSmartRef__":true,"id":707},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"728":{"type":"mousedown","target":{"__isSmartRef__":true,"id":707},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"729":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":707},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"730":{"x":600,"y":20,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"731":{"stops":[{"__isSmartRef__":true,"id":732},{"__isSmartRef__":true,"id":734},{"__isSmartRef__":true,"id":736},{"__isSmartRef__":true,"id":738}],"vector":{"__isSmartRef__":true,"id":656},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"732":{"offset":0,"color":{"__isSmartRef__":true,"id":733}},"733":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"734":{"offset":0.4,"color":{"__isSmartRef__":true,"id":735}},"735":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"736":{"offset":0.6,"color":{"__isSmartRef__":true,"id":737}},"737":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"738":{"offset":1,"color":{"__isSmartRef__":true,"id":739}},"739":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"740":{"sourceObj":{"__isSmartRef__":true,"id":707},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":625},"targetMethodName":"removeFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"741":{"submorphs":[],"scripts":[],"id":1438,"cachedTextString":"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\n\t\t//create a model and relay for connecting the additional components later on\n\t\tvar formals = this.formals,\n\t\t\tdefaultValues = (function() {\n\t\t\t\treturn formals.inject({}, function(spec, ea) { spec[ea] = null; return spec });\n\t\t\t})(),\n\t\t\tmodel = Record.newPlainInstance(defaultValues);\n\n\t\tthis.initializeModelRelay(model);\n\n\t\tthis.buttonCommands = [];\n\t},\n\tinitializeModelRelay: function(actualModel) {\n\t\tvar panes = this.allPaneNames,\n\t\t\tspec = {SourceString: \"SourceString\", StatusMessage: \"StatusMessage\", RootFilters: \"RootFilters\"};\n\t\tpanes.forEach(function(ea) {\n\t\t\tspec[ea + 'Content'] = ea + 'Content';\n\t\t\tspec[ea + 'Selection'] = ea + 'Selection';\n\t\t\tspec[ea + 'Menu'] = ea + 'Menu';\n\t\t\tspec[ea + 'Filters'] = ea + 'Filters';\n\t\t});\n\t\tthis.relayToModel(actualModel, spec);\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\n\t\n buildView: function (extent) {\n \n\t\textent = extent || this.initialViewExtent;\n\n this.start();\n \n\t\tvar panel = new lively.ide.BrowserPanel(extent);\n PanelMorph.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 return panel;\n },\n\n\tsetupListPanes: function() {\n\t\tvar model = this.getModel(), browser = this;\n\t\tfunction setupListPane(paneName) {\n var morph = browser.panel[paneName];\n\t\t\t// morph.innerMorph().plugTo(model, {\n\t\t\t\t// selection: '->set' + paneName + 'Selection',\n\t\t\t\t// selection: '<-get' + paneName + 'Selection',\n\t\t\t\t// getList: '->get' + paneName + 'Content',\n\t\t\t\t// updateList: '<-set' + paneName + 'Content',\n\t\t\t// })\n morph.connectModel(model.newRelay({List: (\"-\" + paneName + \"Content\"),\n Selection: ( paneName + 'Selection'),\n Menu: (\"-\" + paneName + \"Menu\")}), true);\n morph.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.each(function(ea) { setupListPane(ea) });\n\t},\n\n\tsetupSourceInput: function() {\n\t\tthis.sourceInput().maxSafeSize = 2e6;\n\t\t// this.sourceInput().styleClass = ['codePane'];\n\t\tthis.panel.sourcePane.connectModel(this.getModel().newRelay({Text: \"SourceString\"}));\n\t\t// this.panel.sourcePane.innerMorph().plugTo(this, {\n\t\t// \t\tsetTextString: '<-setSourceString',\n\t\t// \t\tsavedTextString: '->setSourceString',\n\t\t// \t});\n\t\t// \tthis.setSourceString('test');\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\n\t\t// lively.bindings.connect(this, 'sourceString', this.panel.sourcePane.innerMorph(), 'setTextString');\n\t\t// lively.bindings.connect(this.panel.sourcePane.innerMorph(), 'savedTextString', this, 'setSourceString');\n\t\t// lively.bindings.connect(this, 'sourceString', console, 'log',\n\t\t\t// {converter: function(v) { return v ? v : 'null----' }});\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'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\tlist.setSelection(wanted, true);\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\t\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","shape":{"__isSmartRef__":true,"id":742},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_MaxTextWidth":900,"_MaxTextHeight":860,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"scroll","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":745},"_Position":{"__isSmartRef__":true,"id":754},"textColor":{"__isSmartRef__":true,"id":612},"owner":{"__isSmartRef__":true,"id":607},"attributeConnections":[{"__isSmartRef__":true,"id":755}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"742":{"position":{"__isSmartRef__":true,"id":743},"extent":{"__isSmartRef__":true,"id":744},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":612},"fill":{"__isSmartRef__":true,"id":613},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"743":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"744":{"x":900,"y":860,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"745":{"morph":{"__isSmartRef__":true,"id":741},"dispatchTable":{"__isSmartRef__":true,"id":746},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"746":{"mouseup":{"__isSmartRef__":true,"id":747},"mousedown":{"__isSmartRef__":true,"id":748},"selectstart":{"__isSmartRef__":true,"id":749},"mousewheel":{"__isSmartRef__":true,"id":750},"keydown":{"__isSmartRef__":true,"id":751},"keyup":{"__isSmartRef__":true,"id":752},"keypress":{"__isSmartRef__":true,"id":753}},"747":{"type":"mouseup","target":{"__isSmartRef__":true,"id":741},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"748":{"type":"mousedown","target":{"__isSmartRef__":true,"id":741},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"749":{"type":"selectstart","target":{"__isSmartRef__":true,"id":741},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"750":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":741},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"751":{"type":"keydown","target":{"__isSmartRef__":true,"id":741},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"752":{"type":"keyup","target":{"__isSmartRef__":true,"id":741},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"753":{"type":"keypress","target":{"__isSmartRef__":true,"id":741},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"754":{"x":0,"y":40,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"755":{"sourceObj":{"__isSmartRef__":true,"id":741},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":625},"targetMethodName":"saveFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"756":{"position":{"__isSmartRef__":true,"id":757},"extent":{"__isSmartRef__":true,"id":758},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":612},"fill":{"__isSmartRef__":true,"id":759},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"757":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"758":{"x":900,"y":900,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"759":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"760":{"morph":{"__isSmartRef__":true,"id":607},"dispatchTable":{"__isSmartRef__":true,"id":761},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"761":{"mouseup":{"__isSmartRef__":true,"id":762},"mousedown":{"__isSmartRef__":true,"id":763},"mousewheel":{"__isSmartRef__":true,"id":764}},"762":{"type":"mouseup","target":{"__isSmartRef__":true,"id":607},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"763":{"type":"mousedown","target":{"__isSmartRef__":true,"id":607},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"764":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":607},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"765":{"x":0,"y":28.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"766":{"submorphs":[{"__isSmartRef__":true,"id":767},{"__isSmartRef__":true,"id":778},{"__isSmartRef__":true,"id":793},{"__isSmartRef__":true,"id":819},{"__isSmartRef__":true,"id":845}],"scripts":[],"id":1440,"shape":{"__isSmartRef__":true,"id":871},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":874},"_Position":{"__isSmartRef__":true,"id":879},"eventsAreIgnored":true,"contentMorph":{"__isSmartRef__":true,"id":767},"windowMorph":{"__isSmartRef__":true,"id":606},"label":{"__isSmartRef__":true,"id":778},"closeButton":{"__isSmartRef__":true,"id":793},"menuButton":{"__isSmartRef__":true,"id":819},"collapseButton":{"__isSmartRef__":true,"id":845},"owner":{"__isSmartRef__":true,"id":606},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TitleBar"},"767":{"submorphs":[],"scripts":[],"id":1441,"shape":{"__isSmartRef__":true,"id":768},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":772},"_Position":{"__isSmartRef__":true,"id":777},"owner":{"__isSmartRef__":true,"id":766},"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Box"},"768":{"position":{"__isSmartRef__":true,"id":769},"extent":{"__isSmartRef__":true,"id":770},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":612},"fill":{"__isSmartRef__":true,"id":771},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"769":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"770":{"x":900,"y":25,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"771":{"r":0,"g":0,"b":0.8,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"772":{"morph":{"__isSmartRef__":true,"id":767},"dispatchTable":{"__isSmartRef__":true,"id":773},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"773":{"mouseup":{"__isSmartRef__":true,"id":774},"mousedown":{"__isSmartRef__":true,"id":775},"mousewheel":{"__isSmartRef__":true,"id":776}},"774":{"type":"mouseup","target":{"__isSmartRef__":true,"id":767},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"775":{"type":"mousedown","target":{"__isSmartRef__":true,"id":767},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"776":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":767},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"777":{"x":0.5,"y":0.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"778":{"submorphs":[],"scripts":[],"id":1442,"cachedTextString":"TextEditor","shape":{"__isSmartRef__":true,"id":779},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":null,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":782},"_Position":{"__isSmartRef__":true,"id":791},"textColor":{"__isSmartRef__":true,"id":612},"isLabel":true,"eventsAreIgnored":true,"padding":{"__isSmartRef__":true,"id":792},"owner":{"__isSmartRef__":true,"id":766},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"779":{"position":{"__isSmartRef__":true,"id":780},"extent":{"__isSmartRef__":true,"id":781},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":612},"fill":null,"borderRadius":8,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"780":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"781":{"x":80,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"782":{"morph":{"__isSmartRef__":true,"id":778},"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},"selectstart":{"__isSmartRef__":true,"id":786},"mousewheel":{"__isSmartRef__":true,"id":787},"keydown":{"__isSmartRef__":true,"id":788},"keyup":{"__isSmartRef__":true,"id":789},"keypress":{"__isSmartRef__":true,"id":790}},"784":{"type":"mouseup","target":{"__isSmartRef__":true,"id":778},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"785":{"type":"mousedown","target":{"__isSmartRef__":true,"id":778},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"786":{"type":"selectstart","target":{"__isSmartRef__":true,"id":778},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"787":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":778},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"788":{"type":"keydown","target":{"__isSmartRef__":true,"id":778},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"789":{"type":"keyup","target":{"__isSmartRef__":true,"id":778},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"790":{"type":"keypress","target":{"__isSmartRef__":true,"id":778},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"791":{"x":410,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"792":{"x":6,"y":2,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"793":{"submorphs":[{"__isSmartRef__":true,"id":794}],"scripts":[],"id":1443,"shape":{"__isSmartRef__":true,"id":808},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":811},"label":{"__isSmartRef__":true,"id":794},"owner":{"__isSmartRef__":true,"id":766},"attributeConnections":[{"__isSmartRef__":true,"id":816},{"__isSmartRef__":true,"id":817}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":818},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"794":{"submorphs":[],"scripts":[],"id":1444,"cachedTextString":"X","shape":{"__isSmartRef__":true,"id":795},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":null,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":798},"_Position":{"__isSmartRef__":true,"id":807},"textColor":{"__isSmartRef__":true,"id":612},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":793},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"795":{"position":{"__isSmartRef__":true,"id":796},"extent":{"__isSmartRef__":true,"id":797},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":612},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"796":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"797":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"798":{"morph":{"__isSmartRef__":true,"id":794},"dispatchTable":{"__isSmartRef__":true,"id":799},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"799":{"mouseup":{"__isSmartRef__":true,"id":800},"mousedown":{"__isSmartRef__":true,"id":801},"selectstart":{"__isSmartRef__":true,"id":802},"mousewheel":{"__isSmartRef__":true,"id":803},"keydown":{"__isSmartRef__":true,"id":804},"keyup":{"__isSmartRef__":true,"id":805},"keypress":{"__isSmartRef__":true,"id":806}},"800":{"type":"mouseup","target":{"__isSmartRef__":true,"id":794},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"801":{"type":"mousedown","target":{"__isSmartRef__":true,"id":794},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"802":{"type":"selectstart","target":{"__isSmartRef__":true,"id":794},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"803":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":794},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"804":{"type":"keydown","target":{"__isSmartRef__":true,"id":794},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"805":{"type":"keyup","target":{"__isSmartRef__":true,"id":794},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"806":{"type":"keypress","target":{"__isSmartRef__":true,"id":794},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"807":{"x":-4,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"808":{"position":{"__isSmartRef__":true,"id":809},"extent":{"__isSmartRef__":true,"id":810},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"809":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"810":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"811":{"morph":{"__isSmartRef__":true,"id":793},"dispatchTable":{"__isSmartRef__":true,"id":812},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"812":{"mouseup":{"__isSmartRef__":true,"id":813},"mousedown":{"__isSmartRef__":true,"id":814},"mousewheel":{"__isSmartRef__":true,"id":815}},"813":{"type":"mouseup","target":{"__isSmartRef__":true,"id":793},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"814":{"type":"mousedown","target":{"__isSmartRef__":true,"id":793},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"815":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":793},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"816":{"sourceObj":{"__isSmartRef__":true,"id":793},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":606},"targetMethodName":"getCloseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"817":{"sourceObj":{"__isSmartRef__":true,"id":793},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":606},"targetMethodName":"initiateShutdown","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"818":{"x":881,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"819":{"submorphs":[{"__isSmartRef__":true,"id":820}],"scripts":[],"id":1445,"shape":{"__isSmartRef__":true,"id":834},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":837},"label":{"__isSmartRef__":true,"id":820},"owner":{"__isSmartRef__":true,"id":766},"attributeConnections":[{"__isSmartRef__":true,"id":842},{"__isSmartRef__":true,"id":843}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":844},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"820":{"submorphs":[],"scripts":[],"id":1446,"cachedTextString":"M","shape":{"__isSmartRef__":true,"id":821},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":null,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":824},"_Position":{"__isSmartRef__":true,"id":833},"textColor":{"__isSmartRef__":true,"id":612},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":819},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"821":{"position":{"__isSmartRef__":true,"id":822},"extent":{"__isSmartRef__":true,"id":823},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":612},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"822":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"823":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"824":{"morph":{"__isSmartRef__":true,"id":820},"dispatchTable":{"__isSmartRef__":true,"id":825},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"825":{"mouseup":{"__isSmartRef__":true,"id":826},"mousedown":{"__isSmartRef__":true,"id":827},"selectstart":{"__isSmartRef__":true,"id":828},"mousewheel":{"__isSmartRef__":true,"id":829},"keydown":{"__isSmartRef__":true,"id":830},"keyup":{"__isSmartRef__":true,"id":831},"keypress":{"__isSmartRef__":true,"id":832}},"826":{"type":"mouseup","target":{"__isSmartRef__":true,"id":820},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"827":{"type":"mousedown","target":{"__isSmartRef__":true,"id":820},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"828":{"type":"selectstart","target":{"__isSmartRef__":true,"id":820},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"829":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":820},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"830":{"type":"keydown","target":{"__isSmartRef__":true,"id":820},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"831":{"type":"keyup","target":{"__isSmartRef__":true,"id":820},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"832":{"type":"keypress","target":{"__isSmartRef__":true,"id":820},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"833":{"x":-5,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"834":{"position":{"__isSmartRef__":true,"id":835},"extent":{"__isSmartRef__":true,"id":836},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"835":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"836":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"837":{"morph":{"__isSmartRef__":true,"id":819},"dispatchTable":{"__isSmartRef__":true,"id":838},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"838":{"mouseup":{"__isSmartRef__":true,"id":839},"mousedown":{"__isSmartRef__":true,"id":840},"mousewheel":{"__isSmartRef__":true,"id":841}},"839":{"type":"mouseup","target":{"__isSmartRef__":true,"id":819},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"840":{"type":"mousedown","target":{"__isSmartRef__":true,"id":819},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"841":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":819},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"842":{"sourceObj":{"__isSmartRef__":true,"id":819},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":606},"targetMethodName":"getMenuHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"843":{"sourceObj":{"__isSmartRef__":true,"id":819},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":606},"targetMethodName":"showTargetMorphMenu","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"844":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"845":{"submorphs":[{"__isSmartRef__":true,"id":846}],"scripts":[],"id":1447,"shape":{"__isSmartRef__":true,"id":860},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":863},"label":{"__isSmartRef__":true,"id":846},"owner":{"__isSmartRef__":true,"id":766},"attributeConnections":[{"__isSmartRef__":true,"id":868},{"__isSmartRef__":true,"id":869}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":870},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"846":{"submorphs":[],"scripts":[],"id":1448,"cachedTextString":"–","shape":{"__isSmartRef__":true,"id":847},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"_MaxTextWidth":null,"_MaxTextHeight":null,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":850},"_Position":{"__isSmartRef__":true,"id":859},"textColor":{"__isSmartRef__":true,"id":612},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":845},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"847":{"position":{"__isSmartRef__":true,"id":848},"extent":{"__isSmartRef__":true,"id":849},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":612},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"848":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"849":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"850":{"morph":{"__isSmartRef__":true,"id":846},"dispatchTable":{"__isSmartRef__":true,"id":851},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"851":{"mouseup":{"__isSmartRef__":true,"id":852},"mousedown":{"__isSmartRef__":true,"id":853},"selectstart":{"__isSmartRef__":true,"id":854},"mousewheel":{"__isSmartRef__":true,"id":855},"keydown":{"__isSmartRef__":true,"id":856},"keyup":{"__isSmartRef__":true,"id":857},"keypress":{"__isSmartRef__":true,"id":858}},"852":{"type":"mouseup","target":{"__isSmartRef__":true,"id":846},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"853":{"type":"mousedown","target":{"__isSmartRef__":true,"id":846},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"854":{"type":"selectstart","target":{"__isSmartRef__":true,"id":846},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"855":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":846},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"856":{"type":"keydown","target":{"__isSmartRef__":true,"id":846},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"857":{"type":"keyup","target":{"__isSmartRef__":true,"id":846},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"858":{"type":"keypress","target":{"__isSmartRef__":true,"id":846},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"859":{"x":-3,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"860":{"position":{"__isSmartRef__":true,"id":861},"extent":{"__isSmartRef__":true,"id":862},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"861":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"862":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"863":{"morph":{"__isSmartRef__":true,"id":845},"dispatchTable":{"__isSmartRef__":true,"id":864},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"864":{"mouseup":{"__isSmartRef__":true,"id":865},"mousedown":{"__isSmartRef__":true,"id":866},"mousewheel":{"__isSmartRef__":true,"id":867}},"865":{"type":"mouseup","target":{"__isSmartRef__":true,"id":845},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"866":{"type":"mousedown","target":{"__isSmartRef__":true,"id":845},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"867":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":845},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"868":{"sourceObj":{"__isSmartRef__":true,"id":845},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":606},"targetMethodName":"getCollapseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"869":{"sourceObj":{"__isSmartRef__":true,"id":845},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":606},"targetMethodName":"toggleCollapse","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"870":{"x":862,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"871":{"position":{"__isSmartRef__":true,"id":872},"extent":{"__isSmartRef__":true,"id":873},"borderWidth":0,"fill":null,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"872":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"873":{"x":900,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"874":{"morph":{"__isSmartRef__":true,"id":766},"dispatchTable":{"__isSmartRef__":true,"id":875},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"875":{"mouseup":{"__isSmartRef__":true,"id":876},"mousedown":{"__isSmartRef__":true,"id":877},"mousewheel":{"__isSmartRef__":true,"id":878}},"876":{"type":"mouseup","target":{"__isSmartRef__":true,"id":766},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"877":{"type":"mousedown","target":{"__isSmartRef__":true,"id":766},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"878":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":766},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"879":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"880":{"borderWidth":0,"fill":null,"strokeOpacity":0,"borderRadius":0,"extent":{"__isSmartRef__":true,"id":881},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"881":{"x":900,"y":928.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"882":{"morph":{"__isSmartRef__":true,"id":606},"dispatchTable":{"__isSmartRef__":true,"id":883},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"883":{"mouseup":{"__isSmartRef__":true,"id":884},"mousedown":{"__isSmartRef__":true,"id":885},"mousewheel":{"__isSmartRef__":true,"id":886}},"884":{"type":"mouseup","target":{"__isSmartRef__":true,"id":606},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"885":{"type":"mousedown","target":{"__isSmartRef__":true,"id":606},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"886":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":606},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"887":{"x":939,"y":958,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"888":{"submorphs":[{"__isSmartRef__":true,"id":889},{"__isSmartRef__":true,"id":905}],"scripts":[],"id":576,"shape":{"__isSmartRef__":true,"id":1019},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1021},"_Position":{"__isSmartRef__":true,"id":1026},"targetMorph":{"__isSmartRef__":true,"id":889},"titleBar":{"__isSmartRef__":true,"id":905},"contentOffset":{"__isSmartRef__":true,"id":904},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"owner":{"__isSmartRef__":true,"id":0},"showsHalos":false,"halos":[],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Window"},"889":{"submorphs":[],"scripts":[],"id":575,"cachedTextString":"initializerText = $morph('initializerText')\ninitializer = this.world().getChangeSet().subElements()[1]\ninitializer.setDefinition('// nothing')","shape":{"__isSmartRef__":true,"id":890},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"auto","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":895},"_Position":{"__isSmartRef__":true,"id":904},"_MaxTextWidth":498,"_MaxTextHeight":70,"textColor":{"__isSmartRef__":true,"id":893},"owner":{"__isSmartRef__":true,"id":888},"showsHalos":false,"halos":[],"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"890":{"position":{"__isSmartRef__":true,"id":891},"extent":{"__isSmartRef__":true,"id":892},"borderWidth":2,"borderColor":{"__isSmartRef__":true,"id":893},"fill":{"__isSmartRef__":true,"id":894},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"891":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"892":{"x":498,"y":70,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"893":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"894":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"895":{"morph":{"__isSmartRef__":true,"id":889},"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},"selectstart":{"__isSmartRef__":true,"id":899},"mousewheel":{"__isSmartRef__":true,"id":900},"keydown":{"__isSmartRef__":true,"id":901},"keyup":{"__isSmartRef__":true,"id":902},"keypress":{"__isSmartRef__":true,"id":903}},"897":{"type":"mouseup","target":{"__isSmartRef__":true,"id":889},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"898":{"type":"mousedown","target":{"__isSmartRef__":true,"id":889},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"899":{"type":"selectstart","target":{"__isSmartRef__":true,"id":889},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"900":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":889},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"901":{"type":"keydown","target":{"__isSmartRef__":true,"id":889},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"902":{"type":"keyup","target":{"__isSmartRef__":true,"id":889},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"903":{"type":"keypress","target":{"__isSmartRef__":true,"id":889},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"904":{"x":0,"y":28.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"905":{"submorphs":[{"__isSmartRef__":true,"id":906},{"__isSmartRef__":true,"id":917},{"__isSmartRef__":true,"id":932},{"__isSmartRef__":true,"id":958},{"__isSmartRef__":true,"id":984}],"scripts":[],"id":577,"shape":{"__isSmartRef__":true,"id":1010},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1013},"_Position":{"__isSmartRef__":true,"id":1018},"eventsAreIgnored":true,"contentMorph":{"__isSmartRef__":true,"id":906},"windowMorph":{"__isSmartRef__":true,"id":888},"label":{"__isSmartRef__":true,"id":917},"closeButton":{"__isSmartRef__":true,"id":932},"menuButton":{"__isSmartRef__":true,"id":958},"collapseButton":{"__isSmartRef__":true,"id":984},"owner":{"__isSmartRef__":true,"id":888},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TitleBar"},"906":{"submorphs":[],"scripts":[],"id":578,"shape":{"__isSmartRef__":true,"id":907},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":911},"_Position":{"__isSmartRef__":true,"id":916},"owner":{"__isSmartRef__":true,"id":905},"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Box"},"907":{"position":{"__isSmartRef__":true,"id":908},"extent":{"__isSmartRef__":true,"id":909},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":893},"fill":{"__isSmartRef__":true,"id":910},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"908":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"909":{"x":500,"y":25,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"910":{"r":0,"g":0,"b":0.8,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"911":{"morph":{"__isSmartRef__":true,"id":906},"dispatchTable":{"__isSmartRef__":true,"id":912},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"912":{"mouseup":{"__isSmartRef__":true,"id":913},"mousedown":{"__isSmartRef__":true,"id":914},"mousewheel":{"__isSmartRef__":true,"id":915}},"913":{"type":"mouseup","target":{"__isSmartRef__":true,"id":906},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"914":{"type":"mousedown","target":{"__isSmartRef__":true,"id":906},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"915":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":906},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"916":{"x":0.5,"y":0.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"917":{"submorphs":[],"scripts":[],"id":579,"cachedTextString":"Workspace","shape":{"__isSmartRef__":true,"id":918},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":921},"_Position":{"__isSmartRef__":true,"id":930},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":893},"isLabel":true,"eventsAreIgnored":true,"padding":{"__isSmartRef__":true,"id":931},"owner":{"__isSmartRef__":true,"id":905},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"918":{"position":{"__isSmartRef__":true,"id":919},"extent":{"__isSmartRef__":true,"id":920},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":893},"fill":null,"borderRadius":8,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"919":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"920":{"x":72,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"921":{"morph":{"__isSmartRef__":true,"id":917},"dispatchTable":{"__isSmartRef__":true,"id":922},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"922":{"mouseup":{"__isSmartRef__":true,"id":923},"mousedown":{"__isSmartRef__":true,"id":924},"selectstart":{"__isSmartRef__":true,"id":925},"mousewheel":{"__isSmartRef__":true,"id":926},"keydown":{"__isSmartRef__":true,"id":927},"keyup":{"__isSmartRef__":true,"id":928},"keypress":{"__isSmartRef__":true,"id":929}},"923":{"type":"mouseup","target":{"__isSmartRef__":true,"id":917},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"924":{"type":"mousedown","target":{"__isSmartRef__":true,"id":917},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"925":{"type":"selectstart","target":{"__isSmartRef__":true,"id":917},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"926":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":917},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"927":{"type":"keydown","target":{"__isSmartRef__":true,"id":917},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"928":{"type":"keyup","target":{"__isSmartRef__":true,"id":917},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"929":{"type":"keypress","target":{"__isSmartRef__":true,"id":917},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"930":{"x":214,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"931":{"x":6,"y":2,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"932":{"submorphs":[{"__isSmartRef__":true,"id":933}],"scripts":[],"id":580,"shape":{"__isSmartRef__":true,"id":947},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":950},"label":{"__isSmartRef__":true,"id":933},"owner":{"__isSmartRef__":true,"id":905},"attributeConnections":[{"__isSmartRef__":true,"id":955},{"__isSmartRef__":true,"id":956}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":957},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"933":{"submorphs":[],"scripts":[],"id":581,"cachedTextString":"X","shape":{"__isSmartRef__":true,"id":934},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":937},"_Position":{"__isSmartRef__":true,"id":946},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":893},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":932},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"934":{"position":{"__isSmartRef__":true,"id":935},"extent":{"__isSmartRef__":true,"id":936},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":893},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"935":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"936":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"937":{"morph":{"__isSmartRef__":true,"id":933},"dispatchTable":{"__isSmartRef__":true,"id":938},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"938":{"mouseup":{"__isSmartRef__":true,"id":939},"mousedown":{"__isSmartRef__":true,"id":940},"selectstart":{"__isSmartRef__":true,"id":941},"mousewheel":{"__isSmartRef__":true,"id":942},"keydown":{"__isSmartRef__":true,"id":943},"keyup":{"__isSmartRef__":true,"id":944},"keypress":{"__isSmartRef__":true,"id":945}},"939":{"type":"mouseup","target":{"__isSmartRef__":true,"id":933},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"940":{"type":"mousedown","target":{"__isSmartRef__":true,"id":933},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"941":{"type":"selectstart","target":{"__isSmartRef__":true,"id":933},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"942":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":933},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"943":{"type":"keydown","target":{"__isSmartRef__":true,"id":933},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"944":{"type":"keyup","target":{"__isSmartRef__":true,"id":933},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"945":{"type":"keypress","target":{"__isSmartRef__":true,"id":933},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"946":{"x":-4,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"947":{"position":{"__isSmartRef__":true,"id":948},"extent":{"__isSmartRef__":true,"id":949},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"948":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"949":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"950":{"morph":{"__isSmartRef__":true,"id":932},"dispatchTable":{"__isSmartRef__":true,"id":951},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"951":{"mouseup":{"__isSmartRef__":true,"id":952},"mousedown":{"__isSmartRef__":true,"id":953},"mousewheel":{"__isSmartRef__":true,"id":954}},"952":{"type":"mouseup","target":{"__isSmartRef__":true,"id":932},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"953":{"type":"mousedown","target":{"__isSmartRef__":true,"id":932},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"954":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":932},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"955":{"sourceObj":{"__isSmartRef__":true,"id":932},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":888},"targetMethodName":"getCloseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"956":{"sourceObj":{"__isSmartRef__":true,"id":932},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":888},"targetMethodName":"initiateShutdown","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"957":{"x":481,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"958":{"submorphs":[{"__isSmartRef__":true,"id":959}],"scripts":[],"id":582,"shape":{"__isSmartRef__":true,"id":973},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":976},"label":{"__isSmartRef__":true,"id":959},"owner":{"__isSmartRef__":true,"id":905},"attributeConnections":[{"__isSmartRef__":true,"id":981},{"__isSmartRef__":true,"id":982}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":983},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"959":{"submorphs":[],"scripts":[],"id":583,"cachedTextString":"M","shape":{"__isSmartRef__":true,"id":960},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":963},"_Position":{"__isSmartRef__":true,"id":972},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":893},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":958},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"960":{"position":{"__isSmartRef__":true,"id":961},"extent":{"__isSmartRef__":true,"id":962},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":893},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"961":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"962":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"963":{"morph":{"__isSmartRef__":true,"id":959},"dispatchTable":{"__isSmartRef__":true,"id":964},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"964":{"mouseup":{"__isSmartRef__":true,"id":965},"mousedown":{"__isSmartRef__":true,"id":966},"selectstart":{"__isSmartRef__":true,"id":967},"mousewheel":{"__isSmartRef__":true,"id":968},"keydown":{"__isSmartRef__":true,"id":969},"keyup":{"__isSmartRef__":true,"id":970},"keypress":{"__isSmartRef__":true,"id":971}},"965":{"type":"mouseup","target":{"__isSmartRef__":true,"id":959},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"966":{"type":"mousedown","target":{"__isSmartRef__":true,"id":959},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"967":{"type":"selectstart","target":{"__isSmartRef__":true,"id":959},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"968":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":959},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"969":{"type":"keydown","target":{"__isSmartRef__":true,"id":959},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"970":{"type":"keyup","target":{"__isSmartRef__":true,"id":959},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"971":{"type":"keypress","target":{"__isSmartRef__":true,"id":959},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"972":{"x":-5,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"973":{"position":{"__isSmartRef__":true,"id":974},"extent":{"__isSmartRef__":true,"id":975},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"974":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"975":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"976":{"morph":{"__isSmartRef__":true,"id":958},"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},"mousewheel":{"__isSmartRef__":true,"id":980}},"978":{"type":"mouseup","target":{"__isSmartRef__":true,"id":958},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"979":{"type":"mousedown","target":{"__isSmartRef__":true,"id":958},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"980":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":958},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"981":{"sourceObj":{"__isSmartRef__":true,"id":958},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":888},"targetMethodName":"getMenuHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"982":{"sourceObj":{"__isSmartRef__":true,"id":958},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":888},"targetMethodName":"showTargetMorphMenu","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"983":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"984":{"submorphs":[{"__isSmartRef__":true,"id":985}],"scripts":[],"id":584,"shape":{"__isSmartRef__":true,"id":999},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1002},"label":{"__isSmartRef__":true,"id":985},"owner":{"__isSmartRef__":true,"id":905},"attributeConnections":[{"__isSmartRef__":true,"id":1007},{"__isSmartRef__":true,"id":1008}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":1009},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"985":{"submorphs":[],"scripts":[],"id":585,"cachedTextString":"–","shape":{"__isSmartRef__":true,"id":986},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":989},"_Position":{"__isSmartRef__":true,"id":998},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":893},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":984},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"986":{"position":{"__isSmartRef__":true,"id":987},"extent":{"__isSmartRef__":true,"id":988},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":893},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"987":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"988":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"989":{"morph":{"__isSmartRef__":true,"id":985},"dispatchTable":{"__isSmartRef__":true,"id":990},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"990":{"mouseup":{"__isSmartRef__":true,"id":991},"mousedown":{"__isSmartRef__":true,"id":992},"selectstart":{"__isSmartRef__":true,"id":993},"mousewheel":{"__isSmartRef__":true,"id":994},"keydown":{"__isSmartRef__":true,"id":995},"keyup":{"__isSmartRef__":true,"id":996},"keypress":{"__isSmartRef__":true,"id":997}},"991":{"type":"mouseup","target":{"__isSmartRef__":true,"id":985},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"992":{"type":"mousedown","target":{"__isSmartRef__":true,"id":985},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"993":{"type":"selectstart","target":{"__isSmartRef__":true,"id":985},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"994":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":985},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"995":{"type":"keydown","target":{"__isSmartRef__":true,"id":985},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"996":{"type":"keyup","target":{"__isSmartRef__":true,"id":985},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"997":{"type":"keypress","target":{"__isSmartRef__":true,"id":985},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"998":{"x":-3,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"999":{"position":{"__isSmartRef__":true,"id":1000},"extent":{"__isSmartRef__":true,"id":1001},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"1000":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1001":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1002":{"morph":{"__isSmartRef__":true,"id":984},"dispatchTable":{"__isSmartRef__":true,"id":1003},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1003":{"mouseup":{"__isSmartRef__":true,"id":1004},"mousedown":{"__isSmartRef__":true,"id":1005},"mousewheel":{"__isSmartRef__":true,"id":1006}},"1004":{"type":"mouseup","target":{"__isSmartRef__":true,"id":984},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1005":{"type":"mousedown","target":{"__isSmartRef__":true,"id":984},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1006":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":984},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1007":{"sourceObj":{"__isSmartRef__":true,"id":984},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":888},"targetMethodName":"getCollapseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1008":{"sourceObj":{"__isSmartRef__":true,"id":984},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":888},"targetMethodName":"toggleCollapse","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1009":{"x":462,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1010":{"position":{"__isSmartRef__":true,"id":1011},"extent":{"__isSmartRef__":true,"id":1012},"borderWidth":0,"fill":null,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1011":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1012":{"x":500,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1013":{"morph":{"__isSmartRef__":true,"id":905},"dispatchTable":{"__isSmartRef__":true,"id":1014},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1014":{"mouseup":{"__isSmartRef__":true,"id":1015},"mousedown":{"__isSmartRef__":true,"id":1016},"mousewheel":{"__isSmartRef__":true,"id":1017}},"1015":{"type":"mouseup","target":{"__isSmartRef__":true,"id":905},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1016":{"type":"mousedown","target":{"__isSmartRef__":true,"id":905},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1017":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":905},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1018":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1019":{"borderWidth":0,"fill":null,"strokeOpacity":0,"borderRadius":0,"extent":{"__isSmartRef__":true,"id":1020},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1020":{"x":500,"y":228.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1021":{"morph":{"__isSmartRef__":true,"id":888},"dispatchTable":{"__isSmartRef__":true,"id":1022},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1022":{"mouseup":{"__isSmartRef__":true,"id":1023},"mousedown":{"__isSmartRef__":true,"id":1024},"mousewheel":{"__isSmartRef__":true,"id":1025}},"1023":{"type":"mouseup","target":{"__isSmartRef__":true,"id":888},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1024":{"type":"mousedown","target":{"__isSmartRef__":true,"id":888},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1025":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":888},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1026":{"x":1388,"y":46,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1027":{"submorphs":[{"__isSmartRef__":true,"id":1028},{"__isSmartRef__":true,"id":1044}],"scripts":[],"id":143,"shape":{"__isSmartRef__":true,"id":1158},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1160},"_Position":{"__isSmartRef__":true,"id":1165},"targetMorph":{"__isSmartRef__":true,"id":1028},"titleBar":{"__isSmartRef__":true,"id":1044},"contentOffset":{"__isSmartRef__":true,"id":1043},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"owner":{"__isSmartRef__":true,"id":0},"showsHalos":false,"halos":[],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Window"},"1028":{"submorphs":[],"scripts":[],"id":142,"cachedTextString":"nothing","shape":{"__isSmartRef__":true,"id":1029},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"auto","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1034},"_Position":{"__isSmartRef__":true,"id":1043},"_MaxTextWidth":616,"_MaxTextHeight":443,"textColor":{"__isSmartRef__":true,"id":1032},"owner":{"__isSmartRef__":true,"id":1027},"showsHalos":false,"halos":[],"name":"initializerText","__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1029":{"position":{"__isSmartRef__":true,"id":1030},"extent":{"__isSmartRef__":true,"id":1031},"borderWidth":2,"borderColor":{"__isSmartRef__":true,"id":1032},"fill":{"__isSmartRef__":true,"id":1033},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1030":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1031":{"x":616,"y":443,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1032":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1033":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1034":{"morph":{"__isSmartRef__":true,"id":1028},"dispatchTable":{"__isSmartRef__":true,"id":1035},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1035":{"mouseup":{"__isSmartRef__":true,"id":1036},"mousedown":{"__isSmartRef__":true,"id":1037},"selectstart":{"__isSmartRef__":true,"id":1038},"mousewheel":{"__isSmartRef__":true,"id":1039},"keydown":{"__isSmartRef__":true,"id":1040},"keyup":{"__isSmartRef__":true,"id":1041},"keypress":{"__isSmartRef__":true,"id":1042}},"1036":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1028},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1037":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1028},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1038":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1028},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1039":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1028},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1040":{"type":"keydown","target":{"__isSmartRef__":true,"id":1028},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1041":{"type":"keyup","target":{"__isSmartRef__":true,"id":1028},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1042":{"type":"keypress","target":{"__isSmartRef__":true,"id":1028},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1043":{"x":0,"y":28.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1044":{"submorphs":[{"__isSmartRef__":true,"id":1045},{"__isSmartRef__":true,"id":1056},{"__isSmartRef__":true,"id":1071},{"__isSmartRef__":true,"id":1097},{"__isSmartRef__":true,"id":1123}],"scripts":[],"id":144,"shape":{"__isSmartRef__":true,"id":1149},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1152},"_Position":{"__isSmartRef__":true,"id":1157},"eventsAreIgnored":true,"contentMorph":{"__isSmartRef__":true,"id":1045},"windowMorph":{"__isSmartRef__":true,"id":1027},"label":{"__isSmartRef__":true,"id":1056},"closeButton":{"__isSmartRef__":true,"id":1071},"menuButton":{"__isSmartRef__":true,"id":1097},"collapseButton":{"__isSmartRef__":true,"id":1123},"owner":{"__isSmartRef__":true,"id":1027},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TitleBar"},"1045":{"submorphs":[],"scripts":[],"id":145,"shape":{"__isSmartRef__":true,"id":1046},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1050},"_Position":{"__isSmartRef__":true,"id":1055},"owner":{"__isSmartRef__":true,"id":1044},"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Box"},"1046":{"position":{"__isSmartRef__":true,"id":1047},"extent":{"__isSmartRef__":true,"id":1048},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1032},"fill":{"__isSmartRef__":true,"id":1049},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1047":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1048":{"x":500,"y":25,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1049":{"r":0,"g":0,"b":0.8,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1050":{"morph":{"__isSmartRef__":true,"id":1045},"dispatchTable":{"__isSmartRef__":true,"id":1051},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1051":{"mouseup":{"__isSmartRef__":true,"id":1052},"mousedown":{"__isSmartRef__":true,"id":1053},"mousewheel":{"__isSmartRef__":true,"id":1054}},"1052":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1045},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1053":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1045},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1054":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1045},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1055":{"x":0.5,"y":0.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1056":{"submorphs":[],"scripts":[],"id":146,"cachedTextString":"Workspace","shape":{"__isSmartRef__":true,"id":1057},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1060},"_Position":{"__isSmartRef__":true,"id":1069},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1032},"isLabel":true,"eventsAreIgnored":true,"padding":{"__isSmartRef__":true,"id":1070},"owner":{"__isSmartRef__":true,"id":1044},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1057":{"position":{"__isSmartRef__":true,"id":1058},"extent":{"__isSmartRef__":true,"id":1059},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1032},"fill":null,"borderRadius":8,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1058":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1059":{"x":72,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1060":{"morph":{"__isSmartRef__":true,"id":1056},"dispatchTable":{"__isSmartRef__":true,"id":1061},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1061":{"mouseup":{"__isSmartRef__":true,"id":1062},"mousedown":{"__isSmartRef__":true,"id":1063},"selectstart":{"__isSmartRef__":true,"id":1064},"mousewheel":{"__isSmartRef__":true,"id":1065},"keydown":{"__isSmartRef__":true,"id":1066},"keyup":{"__isSmartRef__":true,"id":1067},"keypress":{"__isSmartRef__":true,"id":1068}},"1062":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1056},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1063":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1056},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1064":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1056},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1065":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1056},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1066":{"type":"keydown","target":{"__isSmartRef__":true,"id":1056},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1067":{"type":"keyup","target":{"__isSmartRef__":true,"id":1056},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1068":{"type":"keypress","target":{"__isSmartRef__":true,"id":1056},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1069":{"x":214,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1070":{"x":6,"y":2,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1071":{"submorphs":[{"__isSmartRef__":true,"id":1072}],"scripts":[],"id":147,"shape":{"__isSmartRef__":true,"id":1086},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1089},"label":{"__isSmartRef__":true,"id":1072},"owner":{"__isSmartRef__":true,"id":1044},"attributeConnections":[{"__isSmartRef__":true,"id":1094},{"__isSmartRef__":true,"id":1095}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":1096},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1072":{"submorphs":[],"scripts":[],"id":148,"cachedTextString":"X","shape":{"__isSmartRef__":true,"id":1073},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1076},"_Position":{"__isSmartRef__":true,"id":1085},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1032},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":1071},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1073":{"position":{"__isSmartRef__":true,"id":1074},"extent":{"__isSmartRef__":true,"id":1075},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1032},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1074":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1075":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1076":{"morph":{"__isSmartRef__":true,"id":1072},"dispatchTable":{"__isSmartRef__":true,"id":1077},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1077":{"mouseup":{"__isSmartRef__":true,"id":1078},"mousedown":{"__isSmartRef__":true,"id":1079},"selectstart":{"__isSmartRef__":true,"id":1080},"mousewheel":{"__isSmartRef__":true,"id":1081},"keydown":{"__isSmartRef__":true,"id":1082},"keyup":{"__isSmartRef__":true,"id":1083},"keypress":{"__isSmartRef__":true,"id":1084}},"1078":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1072},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1079":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1072},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1080":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1072},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1081":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1072},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1082":{"type":"keydown","target":{"__isSmartRef__":true,"id":1072},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1083":{"type":"keyup","target":{"__isSmartRef__":true,"id":1072},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1084":{"type":"keypress","target":{"__isSmartRef__":true,"id":1072},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1085":{"x":-4,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1086":{"position":{"__isSmartRef__":true,"id":1087},"extent":{"__isSmartRef__":true,"id":1088},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"1087":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1088":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1089":{"morph":{"__isSmartRef__":true,"id":1071},"dispatchTable":{"__isSmartRef__":true,"id":1090},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1090":{"mouseup":{"__isSmartRef__":true,"id":1091},"mousedown":{"__isSmartRef__":true,"id":1092},"mousewheel":{"__isSmartRef__":true,"id":1093}},"1091":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1071},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1092":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1071},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1093":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1071},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1094":{"sourceObj":{"__isSmartRef__":true,"id":1071},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1027},"targetMethodName":"getCloseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1095":{"sourceObj":{"__isSmartRef__":true,"id":1071},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1027},"targetMethodName":"initiateShutdown","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1096":{"x":481,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1097":{"submorphs":[{"__isSmartRef__":true,"id":1098}],"scripts":[],"id":149,"shape":{"__isSmartRef__":true,"id":1112},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1115},"label":{"__isSmartRef__":true,"id":1098},"owner":{"__isSmartRef__":true,"id":1044},"attributeConnections":[{"__isSmartRef__":true,"id":1120},{"__isSmartRef__":true,"id":1121}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":1122},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1098":{"submorphs":[],"scripts":[],"id":150,"cachedTextString":"M","shape":{"__isSmartRef__":true,"id":1099},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1102},"_Position":{"__isSmartRef__":true,"id":1111},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1032},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":1097},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1099":{"position":{"__isSmartRef__":true,"id":1100},"extent":{"__isSmartRef__":true,"id":1101},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1032},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1100":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1101":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1102":{"morph":{"__isSmartRef__":true,"id":1098},"dispatchTable":{"__isSmartRef__":true,"id":1103},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1103":{"mouseup":{"__isSmartRef__":true,"id":1104},"mousedown":{"__isSmartRef__":true,"id":1105},"selectstart":{"__isSmartRef__":true,"id":1106},"mousewheel":{"__isSmartRef__":true,"id":1107},"keydown":{"__isSmartRef__":true,"id":1108},"keyup":{"__isSmartRef__":true,"id":1109},"keypress":{"__isSmartRef__":true,"id":1110}},"1104":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1098},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1105":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1098},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1106":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1098},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1107":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1098},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1108":{"type":"keydown","target":{"__isSmartRef__":true,"id":1098},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1109":{"type":"keyup","target":{"__isSmartRef__":true,"id":1098},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1110":{"type":"keypress","target":{"__isSmartRef__":true,"id":1098},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1111":{"x":-5,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1112":{"position":{"__isSmartRef__":true,"id":1113},"extent":{"__isSmartRef__":true,"id":1114},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"1113":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1114":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1115":{"morph":{"__isSmartRef__":true,"id":1097},"dispatchTable":{"__isSmartRef__":true,"id":1116},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1116":{"mouseup":{"__isSmartRef__":true,"id":1117},"mousedown":{"__isSmartRef__":true,"id":1118},"mousewheel":{"__isSmartRef__":true,"id":1119}},"1117":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1097},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1118":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1097},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1119":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1097},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1120":{"sourceObj":{"__isSmartRef__":true,"id":1097},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1027},"targetMethodName":"getMenuHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1121":{"sourceObj":{"__isSmartRef__":true,"id":1097},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1027},"targetMethodName":"showTargetMorphMenu","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1122":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1123":{"submorphs":[{"__isSmartRef__":true,"id":1124}],"scripts":[],"id":151,"shape":{"__isSmartRef__":true,"id":1138},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1141},"label":{"__isSmartRef__":true,"id":1124},"owner":{"__isSmartRef__":true,"id":1044},"attributeConnections":[{"__isSmartRef__":true,"id":1146},{"__isSmartRef__":true,"id":1147}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":1148},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1124":{"submorphs":[],"scripts":[],"id":152,"cachedTextString":"–","shape":{"__isSmartRef__":true,"id":1125},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1128},"_Position":{"__isSmartRef__":true,"id":1137},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1032},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":1123},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1125":{"position":{"__isSmartRef__":true,"id":1126},"extent":{"__isSmartRef__":true,"id":1127},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1032},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1126":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1127":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1128":{"morph":{"__isSmartRef__":true,"id":1124},"dispatchTable":{"__isSmartRef__":true,"id":1129},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1129":{"mouseup":{"__isSmartRef__":true,"id":1130},"mousedown":{"__isSmartRef__":true,"id":1131},"selectstart":{"__isSmartRef__":true,"id":1132},"mousewheel":{"__isSmartRef__":true,"id":1133},"keydown":{"__isSmartRef__":true,"id":1134},"keyup":{"__isSmartRef__":true,"id":1135},"keypress":{"__isSmartRef__":true,"id":1136}},"1130":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1124},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1131":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1124},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1132":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1124},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1133":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1124},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1134":{"type":"keydown","target":{"__isSmartRef__":true,"id":1124},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1135":{"type":"keyup","target":{"__isSmartRef__":true,"id":1124},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1136":{"type":"keypress","target":{"__isSmartRef__":true,"id":1124},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1137":{"x":-3,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1138":{"position":{"__isSmartRef__":true,"id":1139},"extent":{"__isSmartRef__":true,"id":1140},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"1139":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1140":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1141":{"morph":{"__isSmartRef__":true,"id":1123},"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},"mousewheel":{"__isSmartRef__":true,"id":1145}},"1143":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1123},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1144":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1123},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1145":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1123},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1146":{"sourceObj":{"__isSmartRef__":true,"id":1123},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1027},"targetMethodName":"getCollapseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1147":{"sourceObj":{"__isSmartRef__":true,"id":1123},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1027},"targetMethodName":"toggleCollapse","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1148":{"x":462,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1149":{"position":{"__isSmartRef__":true,"id":1150},"extent":{"__isSmartRef__":true,"id":1151},"borderWidth":0,"fill":null,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1150":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1151":{"x":500,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1152":{"morph":{"__isSmartRef__":true,"id":1044},"dispatchTable":{"__isSmartRef__":true,"id":1153},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1153":{"mouseup":{"__isSmartRef__":true,"id":1154},"mousedown":{"__isSmartRef__":true,"id":1155},"mousewheel":{"__isSmartRef__":true,"id":1156}},"1154":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1044},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1155":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1044},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1156":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1044},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1157":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1158":{"borderWidth":0,"fill":null,"strokeOpacity":0,"borderRadius":0,"extent":{"__isSmartRef__":true,"id":1159},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1159":{"x":500,"y":228.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1160":{"morph":{"__isSmartRef__":true,"id":1027},"dispatchTable":{"__isSmartRef__":true,"id":1161},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1161":{"mouseup":{"__isSmartRef__":true,"id":1162},"mousedown":{"__isSmartRef__":true,"id":1163},"mousewheel":{"__isSmartRef__":true,"id":1164}},"1162":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1027},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1163":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1027},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1164":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1027},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1165":{"x":1536,"y":251,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1166":{"submorphs":[{"__isSmartRef__":true,"id":1167},{"__isSmartRef__":true,"id":1335}],"scripts":[],"id":89,"shape":{"__isSmartRef__":true,"id":1450},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1452},"_Position":{"__isSmartRef__":true,"id":1457},"priorExtent":{"__isSmartRef__":true,"id":1458},"targetMorph":{"__isSmartRef__":true,"id":1167},"titleBar":{"__isSmartRef__":true,"id":1335},"contentOffset":{"__isSmartRef__":true,"id":1334},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"owner":{"__isSmartRef__":true,"id":0},"showsHalos":false,"halos":[],"name":"fooooo\n","__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Window"},"1167":{"submorphs":[{"__isSmartRef__":true,"id":1168},{"__isSmartRef__":true,"id":1189},{"__isSmartRef__":true,"id":1236},{"__isSmartRef__":true,"id":1272},{"__isSmartRef__":true,"id":1308}],"scripts":[],"id":80,"shape":{"__isSmartRef__":true,"id":1325},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1329},"_Position":{"__isSmartRef__":true,"id":1334},"urlText":{"__isSmartRef__":true,"id":1168},"contentMorph":{"__isSmartRef__":true,"id":1308},"owner":{"__isSmartRef__":true,"id":1166},"ownerApp":{"__isSmartRef__":true,"id":1187},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Box"},"1168":{"submorphs":[],"scripts":[],"id":81,"cachedTextString":"http://lively-kernel.org/repository/webwerkstatt/robert/SceneRefactoring/layouting.xhtml","shape":{"__isSmartRef__":true,"id":1169},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"hidden","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1174},"_Position":{"__isSmartRef__":true,"id":1183},"_MaxTextWidth":null,"_MaxTextHeight":30,"textColor":{"__isSmartRef__":true,"id":1172},"isInputLine":true,"layout":{"__isSmartRef__":true,"id":1184},"_Padding":{"__isSmartRef__":true,"id":1185},"owner":{"__isSmartRef__":true,"id":1167},"attributeConnections":[{"__isSmartRef__":true,"id":1186}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1169":{"position":{"__isSmartRef__":true,"id":1170},"extent":{"__isSmartRef__":true,"id":1171},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1172},"fill":{"__isSmartRef__":true,"id":1173},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1170":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1171":{"x":900,"y":30,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1172":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1173":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1174":{"morph":{"__isSmartRef__":true,"id":1168},"dispatchTable":{"__isSmartRef__":true,"id":1175},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1175":{"mouseup":{"__isSmartRef__":true,"id":1176},"mousedown":{"__isSmartRef__":true,"id":1177},"selectstart":{"__isSmartRef__":true,"id":1178},"mousewheel":{"__isSmartRef__":true,"id":1179},"keydown":{"__isSmartRef__":true,"id":1180},"keyup":{"__isSmartRef__":true,"id":1181},"keypress":{"__isSmartRef__":true,"id":1182}},"1176":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1168},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1177":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1168},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1178":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1168},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1179":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1168},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1180":{"type":"keydown","target":{"__isSmartRef__":true,"id":1168},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1181":{"type":"keyup","target":{"__isSmartRef__":true,"id":1168},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1182":{"type":"keypress","target":{"__isSmartRef__":true,"id":1168},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1183":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1184":{"resizeWidth":true},"1185":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1186":{"sourceObj":{"__isSmartRef__":true,"id":1168},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":1187},"targetMethodName":"setCurrentURL","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1187":{"attributeConnections":[{"__isSmartRef__":true,"id":1188}],"doNotSerialize":["$$currentURL"],"doNotCopyProperties":["$$currentURL"],"panel":{"__isSmartRef__":true,"id":1167},"view":{"__isSmartRef__":true,"id":1166},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TextEditor"},"1188":{"sourceObj":{"__isSmartRef__":true,"id":1187},"sourceAttrName":"currentURL","targetObj":{"__isSmartRef__":true,"id":1187},"targetMethodName":"loadFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1189":{"submorphs":[{"__isSmartRef__":true,"id":1190}],"scripts":[],"id":82,"shape":{"__isSmartRef__":true,"id":1205},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1219},"_Position":{"__isSmartRef__":true,"id":1224},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1209},"lighterFill":{"__isSmartRef__":true,"id":1225},"label":{"__isSmartRef__":true,"id":1190},"layout":{"__isSmartRef__":true,"id":1234},"owner":{"__isSmartRef__":true,"id":1167},"attributeConnections":[{"__isSmartRef__":true,"id":1235}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"1190":{"submorphs":[],"scripts":[],"id":83,"cachedTextString":"save","shape":{"__isSmartRef__":true,"id":1191},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1194},"_Position":{"__isSmartRef__":true,"id":1203},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1172},"padding":{"__isSmartRef__":true,"id":1204},"_Padding":{"__isSmartRef__":true,"id":1204},"owner":{"__isSmartRef__":true,"id":1189},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1191":{"position":{"__isSmartRef__":true,"id":1192},"extent":{"__isSmartRef__":true,"id":1193},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1172},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1192":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1193":{"x":300,"y":30,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1194":{"morph":{"__isSmartRef__":true,"id":1190},"dispatchTable":{"__isSmartRef__":true,"id":1195},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1195":{"mouseup":{"__isSmartRef__":true,"id":1196},"mousedown":{"__isSmartRef__":true,"id":1197},"selectstart":{"__isSmartRef__":true,"id":1198},"mousewheel":{"__isSmartRef__":true,"id":1199},"keydown":{"__isSmartRef__":true,"id":1200},"keyup":{"__isSmartRef__":true,"id":1201},"keypress":{"__isSmartRef__":true,"id":1202}},"1196":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1190},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1197":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1190},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1198":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1190},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1199":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1190},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1200":{"type":"keydown","target":{"__isSmartRef__":true,"id":1190},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1201":{"type":"keyup","target":{"__isSmartRef__":true,"id":1190},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1202":{"type":"keypress","target":{"__isSmartRef__":true,"id":1190},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1203":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1204":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1205":{"position":{"__isSmartRef__":true,"id":1206},"extent":{"__isSmartRef__":true,"id":1207},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1208},"fill":{"__isSmartRef__":true,"id":1209},"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1206":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1207":{"x":300,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1208":{"r":0.4,"g":0.4,"b":0.4,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1209":{"stops":[{"__isSmartRef__":true,"id":1210},{"__isSmartRef__":true,"id":1212},{"__isSmartRef__":true,"id":1214},{"__isSmartRef__":true,"id":1216}],"vector":{"__isSmartRef__":true,"id":1218},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1210":{"offset":0,"color":{"__isSmartRef__":true,"id":1211}},"1211":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1212":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1213}},"1213":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1214":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1215}},"1215":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1216":{"offset":1,"color":{"__isSmartRef__":true,"id":1217}},"1217":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1218":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1219":{"morph":{"__isSmartRef__":true,"id":1189},"dispatchTable":{"__isSmartRef__":true,"id":1220},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1220":{"mouseup":{"__isSmartRef__":true,"id":1221},"mousedown":{"__isSmartRef__":true,"id":1222},"mousewheel":{"__isSmartRef__":true,"id":1223}},"1221":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1189},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1222":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1189},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1223":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1189},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1224":{"x":0,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1225":{"stops":[{"__isSmartRef__":true,"id":1226},{"__isSmartRef__":true,"id":1228},{"__isSmartRef__":true,"id":1230},{"__isSmartRef__":true,"id":1232}],"vector":{"__isSmartRef__":true,"id":1218},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1226":{"offset":0,"color":{"__isSmartRef__":true,"id":1227}},"1227":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1228":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1229}},"1229":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1230":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1231}},"1231":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1232":{"offset":1,"color":{"__isSmartRef__":true,"id":1233}},"1233":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1234":{"resizeWidth":true,"resizeHeight":true},"1235":{"sourceObj":{"__isSmartRef__":true,"id":1189},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1187},"targetMethodName":"saveFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1236":{"submorphs":[{"__isSmartRef__":true,"id":1237}],"scripts":[],"id":84,"shape":{"__isSmartRef__":true,"id":1252},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1255},"_Position":{"__isSmartRef__":true,"id":1260},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1209},"lighterFill":{"__isSmartRef__":true,"id":1261},"label":{"__isSmartRef__":true,"id":1237},"layout":{"__isSmartRef__":true,"id":1270},"owner":{"__isSmartRef__":true,"id":1167},"attributeConnections":[{"__isSmartRef__":true,"id":1271}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"1237":{"submorphs":[],"scripts":[],"id":85,"cachedTextString":"load","shape":{"__isSmartRef__":true,"id":1238},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1241},"_Position":{"__isSmartRef__":true,"id":1250},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1172},"padding":{"__isSmartRef__":true,"id":1251},"_Padding":{"__isSmartRef__":true,"id":1251},"owner":{"__isSmartRef__":true,"id":1236},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1238":{"position":{"__isSmartRef__":true,"id":1239},"extent":{"__isSmartRef__":true,"id":1240},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1172},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1239":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1240":{"x":300,"y":30,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1241":{"morph":{"__isSmartRef__":true,"id":1237},"dispatchTable":{"__isSmartRef__":true,"id":1242},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1242":{"mouseup":{"__isSmartRef__":true,"id":1243},"mousedown":{"__isSmartRef__":true,"id":1244},"selectstart":{"__isSmartRef__":true,"id":1245},"mousewheel":{"__isSmartRef__":true,"id":1246},"keydown":{"__isSmartRef__":true,"id":1247},"keyup":{"__isSmartRef__":true,"id":1248},"keypress":{"__isSmartRef__":true,"id":1249}},"1243":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1237},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1244":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1237},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1245":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1237},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1246":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1237},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1247":{"type":"keydown","target":{"__isSmartRef__":true,"id":1237},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1248":{"type":"keyup","target":{"__isSmartRef__":true,"id":1237},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1249":{"type":"keypress","target":{"__isSmartRef__":true,"id":1237},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1250":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1251":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1252":{"position":{"__isSmartRef__":true,"id":1253},"extent":{"__isSmartRef__":true,"id":1254},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1208},"fill":{"__isSmartRef__":true,"id":1209},"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1253":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1254":{"x":300,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1255":{"morph":{"__isSmartRef__":true,"id":1236},"dispatchTable":{"__isSmartRef__":true,"id":1256},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1256":{"mouseup":{"__isSmartRef__":true,"id":1257},"mousedown":{"__isSmartRef__":true,"id":1258},"mousewheel":{"__isSmartRef__":true,"id":1259}},"1257":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1236},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1258":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1236},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1259":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1236},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1260":{"x":300,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1261":{"stops":[{"__isSmartRef__":true,"id":1262},{"__isSmartRef__":true,"id":1264},{"__isSmartRef__":true,"id":1266},{"__isSmartRef__":true,"id":1268}],"vector":{"__isSmartRef__":true,"id":1218},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1262":{"offset":0,"color":{"__isSmartRef__":true,"id":1263}},"1263":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1264":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1265}},"1265":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1266":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1267}},"1267":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1268":{"offset":1,"color":{"__isSmartRef__":true,"id":1269}},"1269":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1270":{"resizeWidth":true,"resizeHeight":true},"1271":{"sourceObj":{"__isSmartRef__":true,"id":1236},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1187},"targetMethodName":"loadFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1272":{"submorphs":[{"__isSmartRef__":true,"id":1273}],"scripts":[],"id":86,"shape":{"__isSmartRef__":true,"id":1288},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1291},"_Position":{"__isSmartRef__":true,"id":1296},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1209},"lighterFill":{"__isSmartRef__":true,"id":1297},"label":{"__isSmartRef__":true,"id":1273},"layout":{"__isSmartRef__":true,"id":1306},"owner":{"__isSmartRef__":true,"id":1167},"attributeConnections":[{"__isSmartRef__":true,"id":1307}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"1273":{"submorphs":[],"scripts":[],"id":87,"cachedTextString":"remove","shape":{"__isSmartRef__":true,"id":1274},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1277},"_Position":{"__isSmartRef__":true,"id":1286},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1172},"padding":{"__isSmartRef__":true,"id":1287},"_Padding":{"__isSmartRef__":true,"id":1287},"owner":{"__isSmartRef__":true,"id":1272},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1274":{"position":{"__isSmartRef__":true,"id":1275},"extent":{"__isSmartRef__":true,"id":1276},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1172},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1275":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1276":{"x":300,"y":30,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1277":{"morph":{"__isSmartRef__":true,"id":1273},"dispatchTable":{"__isSmartRef__":true,"id":1278},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1278":{"mouseup":{"__isSmartRef__":true,"id":1279},"mousedown":{"__isSmartRef__":true,"id":1280},"selectstart":{"__isSmartRef__":true,"id":1281},"mousewheel":{"__isSmartRef__":true,"id":1282},"keydown":{"__isSmartRef__":true,"id":1283},"keyup":{"__isSmartRef__":true,"id":1284},"keypress":{"__isSmartRef__":true,"id":1285}},"1279":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1273},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1280":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1273},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1281":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1273},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1282":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1273},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1283":{"type":"keydown","target":{"__isSmartRef__":true,"id":1273},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1284":{"type":"keyup","target":{"__isSmartRef__":true,"id":1273},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1285":{"type":"keypress","target":{"__isSmartRef__":true,"id":1273},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1286":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1287":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1288":{"position":{"__isSmartRef__":true,"id":1289},"extent":{"__isSmartRef__":true,"id":1290},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1208},"fill":{"__isSmartRef__":true,"id":1209},"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1289":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1290":{"x":300,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1291":{"morph":{"__isSmartRef__":true,"id":1272},"dispatchTable":{"__isSmartRef__":true,"id":1292},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1292":{"mouseup":{"__isSmartRef__":true,"id":1293},"mousedown":{"__isSmartRef__":true,"id":1294},"mousewheel":{"__isSmartRef__":true,"id":1295}},"1293":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1272},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1294":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1272},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1295":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1272},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1296":{"x":600,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1297":{"stops":[{"__isSmartRef__":true,"id":1298},{"__isSmartRef__":true,"id":1300},{"__isSmartRef__":true,"id":1302},{"__isSmartRef__":true,"id":1304}],"vector":{"__isSmartRef__":true,"id":1218},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1298":{"offset":0,"color":{"__isSmartRef__":true,"id":1299}},"1299":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1300":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1301}},"1301":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1302":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1303}},"1303":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1304":{"offset":1,"color":{"__isSmartRef__":true,"id":1305}},"1305":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1306":{"resizeWidth":true,"resizeHeight":true},"1307":{"sourceObj":{"__isSmartRef__":true,"id":1272},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1187},"targetMethodName":"removeFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1308":{"submorphs":[],"scripts":[],"id":88,"cachedTextString":"p = this.world().prompt('???', function(str) { Global.foo = str })\nfoo\np.inputText.textString\n$morph('fooooo\\n')\nthis.world().submorphs[9].getName()\nthis.owner.owner.constructor\nthis.get('test')","shape":{"__isSmartRef__":true,"id":1309},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"scroll","_FontFamily":"Monaco","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1312},"_Position":{"__isSmartRef__":true,"id":1321},"_MaxTextWidth":900,"_MaxTextHeight":840,"textColor":{"__isSmartRef__":true,"id":1172},"padding":{"__isSmartRef__":true,"id":1322},"layout":{"__isSmartRef__":true,"id":1323},"_FontSize":10,"_Padding":{"__isSmartRef__":true,"id":1322},"owner":{"__isSmartRef__":true,"id":1167},"attributeConnections":[{"__isSmartRef__":true,"id":1324}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1309":{"position":{"__isSmartRef__":true,"id":1310},"extent":{"__isSmartRef__":true,"id":1311},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1172},"fill":{"__isSmartRef__":true,"id":1173},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1310":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1311":{"x":900,"y":840,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1312":{"morph":{"__isSmartRef__":true,"id":1308},"dispatchTable":{"__isSmartRef__":true,"id":1313},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1313":{"mouseup":{"__isSmartRef__":true,"id":1314},"mousedown":{"__isSmartRef__":true,"id":1315},"selectstart":{"__isSmartRef__":true,"id":1316},"mousewheel":{"__isSmartRef__":true,"id":1317},"keydown":{"__isSmartRef__":true,"id":1318},"keyup":{"__isSmartRef__":true,"id":1319},"keypress":{"__isSmartRef__":true,"id":1320}},"1314":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1308},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1315":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1308},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1316":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1308},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1317":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1308},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1318":{"type":"keydown","target":{"__isSmartRef__":true,"id":1308},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1319":{"type":"keyup","target":{"__isSmartRef__":true,"id":1308},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1320":{"type":"keypress","target":{"__isSmartRef__":true,"id":1308},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1321":{"x":0,"y":60,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1322":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1323":{"resizeWidth":true,"resizeHeight":true},"1324":{"sourceObj":{"__isSmartRef__":true,"id":1308},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":1187},"targetMethodName":"saveFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1325":{"position":{"__isSmartRef__":true,"id":1326},"extent":{"__isSmartRef__":true,"id":1327},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1172},"fill":{"__isSmartRef__":true,"id":1328},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1326":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1327":{"x":900,"y":900,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1328":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1329":{"morph":{"__isSmartRef__":true,"id":1167},"dispatchTable":{"__isSmartRef__":true,"id":1330},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1330":{"mouseup":{"__isSmartRef__":true,"id":1331},"mousedown":{"__isSmartRef__":true,"id":1332},"mousewheel":{"__isSmartRef__":true,"id":1333}},"1331":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1167},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1332":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1167},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1333":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1167},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1334":{"x":0,"y":28.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1335":{"submorphs":[{"__isSmartRef__":true,"id":1336},{"__isSmartRef__":true,"id":1347},{"__isSmartRef__":true,"id":1362},{"__isSmartRef__":true,"id":1389},{"__isSmartRef__":true,"id":1415}],"scripts":[],"id":90,"shape":{"__isSmartRef__":true,"id":1441},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1444},"_Position":{"__isSmartRef__":true,"id":1449},"eventsAreIgnored":true,"contentMorph":{"__isSmartRef__":true,"id":1336},"windowMorph":{"__isSmartRef__":true,"id":1166},"label":{"__isSmartRef__":true,"id":1347},"closeButton":{"__isSmartRef__":true,"id":1362},"menuButton":{"__isSmartRef__":true,"id":1389},"collapseButton":{"__isSmartRef__":true,"id":1415},"owner":{"__isSmartRef__":true,"id":1166},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TitleBar"},"1336":{"submorphs":[],"scripts":[],"id":91,"shape":{"__isSmartRef__":true,"id":1337},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1341},"_Position":{"__isSmartRef__":true,"id":1346},"owner":{"__isSmartRef__":true,"id":1335},"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Box"},"1337":{"position":{"__isSmartRef__":true,"id":1338},"extent":{"__isSmartRef__":true,"id":1339},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1172},"fill":{"__isSmartRef__":true,"id":1340},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1338":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1339":{"x":900,"y":25,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1340":{"r":0,"g":0,"b":0.8,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1341":{"morph":{"__isSmartRef__":true,"id":1336},"dispatchTable":{"__isSmartRef__":true,"id":1342},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1342":{"mouseup":{"__isSmartRef__":true,"id":1343},"mousedown":{"__isSmartRef__":true,"id":1344},"mousewheel":{"__isSmartRef__":true,"id":1345}},"1343":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1336},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1344":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1336},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1345":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1336},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1346":{"x":0.5,"y":0.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1347":{"submorphs":[],"scripts":[],"id":92,"cachedTextString":"TextEditor","shape":{"__isSmartRef__":true,"id":1348},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1351},"_Position":{"__isSmartRef__":true,"id":1360},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1172},"isLabel":true,"eventsAreIgnored":true,"padding":{"__isSmartRef__":true,"id":1361},"_Padding":{"__isSmartRef__":true,"id":1361},"owner":{"__isSmartRef__":true,"id":1335},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1348":{"position":{"__isSmartRef__":true,"id":1349},"extent":{"__isSmartRef__":true,"id":1350},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1172},"fill":null,"borderRadius":8,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1349":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1350":{"x":80,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1351":{"morph":{"__isSmartRef__":true,"id":1347},"dispatchTable":{"__isSmartRef__":true,"id":1352},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1352":{"mouseup":{"__isSmartRef__":true,"id":1353},"mousedown":{"__isSmartRef__":true,"id":1354},"selectstart":{"__isSmartRef__":true,"id":1355},"mousewheel":{"__isSmartRef__":true,"id":1356},"keydown":{"__isSmartRef__":true,"id":1357},"keyup":{"__isSmartRef__":true,"id":1358},"keypress":{"__isSmartRef__":true,"id":1359}},"1353":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1347},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1354":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1347},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1355":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1347},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1356":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1347},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1357":{"type":"keydown","target":{"__isSmartRef__":true,"id":1347},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1358":{"type":"keyup","target":{"__isSmartRef__":true,"id":1347},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1359":{"type":"keypress","target":{"__isSmartRef__":true,"id":1347},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1360":{"x":410,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1361":{"x":6,"y":2,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1362":{"submorphs":[{"__isSmartRef__":true,"id":1363}],"scripts":[],"id":93,"shape":{"__isSmartRef__":true,"id":1377},"droppingEnabled":true,"halosEnabled":true,"padding":{"__isSmartRef__":true,"id":1380},"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1381},"label":{"__isSmartRef__":true,"id":1363},"owner":{"__isSmartRef__":true,"id":1335},"attributeConnections":[{"__isSmartRef__":true,"id":1386},{"__isSmartRef__":true,"id":1387}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":1388},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1363":{"submorphs":[],"scripts":[],"id":94,"cachedTextString":"X","shape":{"__isSmartRef__":true,"id":1364},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1367},"_Position":{"__isSmartRef__":true,"id":1376},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1172},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":1362},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1364":{"position":{"__isSmartRef__":true,"id":1365},"extent":{"__isSmartRef__":true,"id":1366},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1172},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1365":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1366":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1367":{"morph":{"__isSmartRef__":true,"id":1363},"dispatchTable":{"__isSmartRef__":true,"id":1368},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1368":{"mouseup":{"__isSmartRef__":true,"id":1369},"mousedown":{"__isSmartRef__":true,"id":1370},"selectstart":{"__isSmartRef__":true,"id":1371},"mousewheel":{"__isSmartRef__":true,"id":1372},"keydown":{"__isSmartRef__":true,"id":1373},"keyup":{"__isSmartRef__":true,"id":1374},"keypress":{"__isSmartRef__":true,"id":1375}},"1369":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1363},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1370":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1363},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1371":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1363},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1372":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1363},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1373":{"type":"keydown","target":{"__isSmartRef__":true,"id":1363},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1374":{"type":"keyup","target":{"__isSmartRef__":true,"id":1363},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1375":{"type":"keypress","target":{"__isSmartRef__":true,"id":1363},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1376":{"x":-4,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1377":{"position":{"__isSmartRef__":true,"id":1378},"extent":{"__isSmartRef__":true,"id":1379},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"1378":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1379":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1380":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1381":{"morph":{"__isSmartRef__":true,"id":1362},"dispatchTable":{"__isSmartRef__":true,"id":1382},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1382":{"mouseup":{"__isSmartRef__":true,"id":1383},"mousedown":{"__isSmartRef__":true,"id":1384},"mousewheel":{"__isSmartRef__":true,"id":1385}},"1383":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1362},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1384":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1362},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1385":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1362},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1386":{"sourceObj":{"__isSmartRef__":true,"id":1362},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1166},"targetMethodName":"getCloseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1387":{"sourceObj":{"__isSmartRef__":true,"id":1362},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1166},"targetMethodName":"initiateShutdown","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1388":{"x":881,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1389":{"submorphs":[{"__isSmartRef__":true,"id":1390}],"scripts":[],"id":95,"shape":{"__isSmartRef__":true,"id":1404},"droppingEnabled":true,"halosEnabled":true,"padding":{"__isSmartRef__":true,"id":1380},"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1407},"label":{"__isSmartRef__":true,"id":1390},"owner":{"__isSmartRef__":true,"id":1335},"attributeConnections":[{"__isSmartRef__":true,"id":1412},{"__isSmartRef__":true,"id":1413}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":1414},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1390":{"submorphs":[],"scripts":[],"id":96,"cachedTextString":"M","shape":{"__isSmartRef__":true,"id":1391},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1394},"_Position":{"__isSmartRef__":true,"id":1403},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1172},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":1389},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1391":{"position":{"__isSmartRef__":true,"id":1392},"extent":{"__isSmartRef__":true,"id":1393},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1172},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1392":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1393":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1394":{"morph":{"__isSmartRef__":true,"id":1390},"dispatchTable":{"__isSmartRef__":true,"id":1395},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1395":{"mouseup":{"__isSmartRef__":true,"id":1396},"mousedown":{"__isSmartRef__":true,"id":1397},"selectstart":{"__isSmartRef__":true,"id":1398},"mousewheel":{"__isSmartRef__":true,"id":1399},"keydown":{"__isSmartRef__":true,"id":1400},"keyup":{"__isSmartRef__":true,"id":1401},"keypress":{"__isSmartRef__":true,"id":1402}},"1396":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1390},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1397":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1390},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1398":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1390},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1399":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1390},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1400":{"type":"keydown","target":{"__isSmartRef__":true,"id":1390},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1401":{"type":"keyup","target":{"__isSmartRef__":true,"id":1390},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1402":{"type":"keypress","target":{"__isSmartRef__":true,"id":1390},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1403":{"x":-5,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1404":{"position":{"__isSmartRef__":true,"id":1405},"extent":{"__isSmartRef__":true,"id":1406},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"1405":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1406":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1407":{"morph":{"__isSmartRef__":true,"id":1389},"dispatchTable":{"__isSmartRef__":true,"id":1408},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1408":{"mouseup":{"__isSmartRef__":true,"id":1409},"mousedown":{"__isSmartRef__":true,"id":1410},"mousewheel":{"__isSmartRef__":true,"id":1411}},"1409":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1389},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1410":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1389},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1411":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1389},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1412":{"sourceObj":{"__isSmartRef__":true,"id":1389},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1166},"targetMethodName":"getMenuHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1413":{"sourceObj":{"__isSmartRef__":true,"id":1389},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1166},"targetMethodName":"showTargetMorphMenu","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1414":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1415":{"submorphs":[{"__isSmartRef__":true,"id":1416}],"scripts":[],"id":97,"shape":{"__isSmartRef__":true,"id":1430},"droppingEnabled":true,"halosEnabled":true,"padding":{"__isSmartRef__":true,"id":1380},"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1433},"label":{"__isSmartRef__":true,"id":1416},"owner":{"__isSmartRef__":true,"id":1335},"attributeConnections":[{"__isSmartRef__":true,"id":1438},{"__isSmartRef__":true,"id":1439}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":1440},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1416":{"submorphs":[],"scripts":[],"id":98,"cachedTextString":"–","shape":{"__isSmartRef__":true,"id":1417},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1420},"_Position":{"__isSmartRef__":true,"id":1429},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1172},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":1415},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1417":{"position":{"__isSmartRef__":true,"id":1418},"extent":{"__isSmartRef__":true,"id":1419},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1172},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1418":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1419":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1420":{"morph":{"__isSmartRef__":true,"id":1416},"dispatchTable":{"__isSmartRef__":true,"id":1421},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1421":{"mouseup":{"__isSmartRef__":true,"id":1422},"mousedown":{"__isSmartRef__":true,"id":1423},"selectstart":{"__isSmartRef__":true,"id":1424},"mousewheel":{"__isSmartRef__":true,"id":1425},"keydown":{"__isSmartRef__":true,"id":1426},"keyup":{"__isSmartRef__":true,"id":1427},"keypress":{"__isSmartRef__":true,"id":1428}},"1422":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1416},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1423":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1416},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1424":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1416},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1425":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1416},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1426":{"type":"keydown","target":{"__isSmartRef__":true,"id":1416},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1427":{"type":"keyup","target":{"__isSmartRef__":true,"id":1416},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1428":{"type":"keypress","target":{"__isSmartRef__":true,"id":1416},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1429":{"x":-3,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1430":{"position":{"__isSmartRef__":true,"id":1431},"extent":{"__isSmartRef__":true,"id":1432},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"1431":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1432":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1433":{"morph":{"__isSmartRef__":true,"id":1415},"dispatchTable":{"__isSmartRef__":true,"id":1434},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1434":{"mouseup":{"__isSmartRef__":true,"id":1435},"mousedown":{"__isSmartRef__":true,"id":1436},"mousewheel":{"__isSmartRef__":true,"id":1437}},"1435":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1415},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1436":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1415},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1437":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1415},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1438":{"sourceObj":{"__isSmartRef__":true,"id":1415},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1166},"targetMethodName":"getCollapseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1439":{"sourceObj":{"__isSmartRef__":true,"id":1415},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1166},"targetMethodName":"toggleCollapse","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1440":{"x":862,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1441":{"position":{"__isSmartRef__":true,"id":1442},"extent":{"__isSmartRef__":true,"id":1443},"borderWidth":0,"fill":null,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1442":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1443":{"x":900,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1444":{"morph":{"__isSmartRef__":true,"id":1335},"dispatchTable":{"__isSmartRef__":true,"id":1445},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1445":{"mouseup":{"__isSmartRef__":true,"id":1446},"mousedown":{"__isSmartRef__":true,"id":1447},"mousewheel":{"__isSmartRef__":true,"id":1448}},"1446":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1335},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1447":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1335},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1448":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1335},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1449":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1450":{"borderWidth":0,"fill":null,"strokeOpacity":0,"borderRadius":0,"extent":{"__isSmartRef__":true,"id":1451},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1451":{"x":901,"y":940.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1452":{"morph":{"__isSmartRef__":true,"id":1166},"dispatchTable":{"__isSmartRef__":true,"id":1453},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1453":{"mouseup":{"__isSmartRef__":true,"id":1454},"mousedown":{"__isSmartRef__":true,"id":1455},"mousewheel":{"__isSmartRef__":true,"id":1456}},"1454":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1166},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1455":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1166},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1456":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1166},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1457":{"x":1205,"y":281,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1458":{"x":901,"y":940.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1459":{"submorphs":[{"__isSmartRef__":true,"id":1460},{"__isSmartRef__":true,"id":1630}],"scripts":[],"id":26,"shape":{"__isSmartRef__":true,"id":1774},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1776},"_Position":{"__isSmartRef__":true,"id":1781},"targetMorph":{"__isSmartRef__":true,"id":1460},"titleBar":{"__isSmartRef__":true,"id":1630},"contentOffset":{"__isSmartRef__":true,"id":1627},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"owner":{"__isSmartRef__":true,"id":0},"showsHalos":false,"halos":[],"priorExtent":{"__isSmartRef__":true,"id":1782},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Window"},"1460":{"submorphs":[{"__isSmartRef__":true,"id":1461},{"__isSmartRef__":true,"id":1482},{"__isSmartRef__":true,"id":1529},{"__isSmartRef__":true,"id":1565},{"__isSmartRef__":true,"id":1601}],"scripts":[],"id":17,"shape":{"__isSmartRef__":true,"id":1618},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1622},"_Position":{"__isSmartRef__":true,"id":1627},"layout":{"__isSmartRef__":true,"id":1628},"urlText":{"__isSmartRef__":true,"id":1461},"contentMorph":{"__isSmartRef__":true,"id":1601},"owner":{"__isSmartRef__":true,"id":1459},"ownerApp":{"__isSmartRef__":true,"id":1480},"priorExtent":{"__isSmartRef__":true,"id":1629},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Box"},"1461":{"submorphs":[],"scripts":[],"id":18,"cachedTextString":"http://lively-kernel.org/repository/webwerkstatt/robert/SceneRefactoring/layouting.xhtml","shape":{"__isSmartRef__":true,"id":1462},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"hidden","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1467},"_Position":{"__isSmartRef__":true,"id":1476},"_MaxTextWidth":null,"_MaxTextHeight":30,"textColor":{"__isSmartRef__":true,"id":1465},"isInputLine":true,"layout":{"__isSmartRef__":true,"id":1477},"_Padding":{"__isSmartRef__":true,"id":1478},"owner":{"__isSmartRef__":true,"id":1460},"attributeConnections":[{"__isSmartRef__":true,"id":1479}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"showsHalos":false,"halos":[],"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1462":{"position":{"__isSmartRef__":true,"id":1463},"extent":{"__isSmartRef__":true,"id":1464},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1465},"fill":{"__isSmartRef__":true,"id":1466},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1463":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1464":{"x":940,"y":30,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1465":{"r":0,"g":0,"b":0,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1466":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1467":{"morph":{"__isSmartRef__":true,"id":1461},"dispatchTable":{"__isSmartRef__":true,"id":1468},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1468":{"mouseup":{"__isSmartRef__":true,"id":1469},"mousedown":{"__isSmartRef__":true,"id":1470},"selectstart":{"__isSmartRef__":true,"id":1471},"mousewheel":{"__isSmartRef__":true,"id":1472},"keydown":{"__isSmartRef__":true,"id":1473},"keyup":{"__isSmartRef__":true,"id":1474},"keypress":{"__isSmartRef__":true,"id":1475}},"1469":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1461},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1470":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1461},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1471":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1461},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1472":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1461},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1473":{"type":"keydown","target":{"__isSmartRef__":true,"id":1461},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1474":{"type":"keyup","target":{"__isSmartRef__":true,"id":1461},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1475":{"type":"keypress","target":{"__isSmartRef__":true,"id":1461},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1476":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1477":{"resizeWidth":true},"1478":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1479":{"sourceObj":{"__isSmartRef__":true,"id":1461},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":1480},"targetMethodName":"setCurrentURL","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1480":{"attributeConnections":[{"__isSmartRef__":true,"id":1481}],"doNotSerialize":["$$currentURL"],"doNotCopyProperties":["$$currentURL"],"panel":{"__isSmartRef__":true,"id":1460},"view":{"__isSmartRef__":true,"id":1459},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TextEditor"},"1481":{"sourceObj":{"__isSmartRef__":true,"id":1480},"sourceAttrName":"currentURL","targetObj":{"__isSmartRef__":true,"id":1480},"targetMethodName":"loadFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1482":{"submorphs":[{"__isSmartRef__":true,"id":1483}],"scripts":[],"id":19,"shape":{"__isSmartRef__":true,"id":1498},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1512},"_Position":{"__isSmartRef__":true,"id":1517},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1502},"lighterFill":{"__isSmartRef__":true,"id":1518},"label":{"__isSmartRef__":true,"id":1483},"layout":{"__isSmartRef__":true,"id":1527},"owner":{"__isSmartRef__":true,"id":1460},"attributeConnections":[{"__isSmartRef__":true,"id":1528}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"1483":{"submorphs":[],"scripts":[],"id":20,"cachedTextString":"save","shape":{"__isSmartRef__":true,"id":1484},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1487},"_Position":{"__isSmartRef__":true,"id":1496},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1465},"padding":{"__isSmartRef__":true,"id":1497},"_Padding":{"__isSmartRef__":true,"id":1497},"owner":{"__isSmartRef__":true,"id":1482},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1484":{"position":{"__isSmartRef__":true,"id":1485},"extent":{"__isSmartRef__":true,"id":1486},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1465},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1485":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1486":{"x":340,"y":32,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1487":{"morph":{"__isSmartRef__":true,"id":1483},"dispatchTable":{"__isSmartRef__":true,"id":1488},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1488":{"mouseup":{"__isSmartRef__":true,"id":1489},"mousedown":{"__isSmartRef__":true,"id":1490},"selectstart":{"__isSmartRef__":true,"id":1491},"mousewheel":{"__isSmartRef__":true,"id":1492},"keydown":{"__isSmartRef__":true,"id":1493},"keyup":{"__isSmartRef__":true,"id":1494},"keypress":{"__isSmartRef__":true,"id":1495}},"1489":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1483},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1490":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1483},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1491":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1483},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1492":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1483},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1493":{"type":"keydown","target":{"__isSmartRef__":true,"id":1483},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1494":{"type":"keyup","target":{"__isSmartRef__":true,"id":1483},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1495":{"type":"keypress","target":{"__isSmartRef__":true,"id":1483},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1496":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1497":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1498":{"position":{"__isSmartRef__":true,"id":1499},"extent":{"__isSmartRef__":true,"id":1500},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1501},"fill":{"__isSmartRef__":true,"id":1502},"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1499":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1500":{"x":340,"y":32,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1501":{"r":0.4,"g":0.4,"b":0.4,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1502":{"stops":[{"__isSmartRef__":true,"id":1503},{"__isSmartRef__":true,"id":1505},{"__isSmartRef__":true,"id":1507},{"__isSmartRef__":true,"id":1509}],"vector":{"__isSmartRef__":true,"id":1511},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1503":{"offset":0,"color":{"__isSmartRef__":true,"id":1504}},"1504":{"r":0.9600000000000001,"g":0.9600000000000001,"b":0.9600000000000001,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1505":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1506}},"1506":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1507":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1508}},"1508":{"r":0.8200000000000001,"g":0.8200000000000001,"b":0.8200000000000001,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1509":{"offset":1,"color":{"__isSmartRef__":true,"id":1510}},"1510":{"r":0.94,"g":0.94,"b":0.94,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1511":{"x":0,"y":0,"width":0,"height":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1512":{"morph":{"__isSmartRef__":true,"id":1482},"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":1482},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1515":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1482},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1516":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1482},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1517":{"x":0,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1518":{"stops":[{"__isSmartRef__":true,"id":1519},{"__isSmartRef__":true,"id":1521},{"__isSmartRef__":true,"id":1523},{"__isSmartRef__":true,"id":1525}],"vector":{"__isSmartRef__":true,"id":1511},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1519":{"offset":0,"color":{"__isSmartRef__":true,"id":1520}},"1520":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1521":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1522}},"1522":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1523":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1524}},"1524":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1525":{"offset":1,"color":{"__isSmartRef__":true,"id":1526}},"1526":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1527":{"resizeWidth":true,"resizeHeight":true},"1528":{"sourceObj":{"__isSmartRef__":true,"id":1482},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1480},"targetMethodName":"saveFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1529":{"submorphs":[{"__isSmartRef__":true,"id":1530}],"scripts":[],"id":21,"shape":{"__isSmartRef__":true,"id":1545},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1548},"_Position":{"__isSmartRef__":true,"id":1553},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1502},"lighterFill":{"__isSmartRef__":true,"id":1554},"label":{"__isSmartRef__":true,"id":1530},"layout":{"__isSmartRef__":true,"id":1563},"owner":{"__isSmartRef__":true,"id":1460},"attributeConnections":[{"__isSmartRef__":true,"id":1564}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"1530":{"submorphs":[],"scripts":[],"id":22,"cachedTextString":"load","shape":{"__isSmartRef__":true,"id":1531},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1534},"_Position":{"__isSmartRef__":true,"id":1543},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1465},"padding":{"__isSmartRef__":true,"id":1544},"_Padding":{"__isSmartRef__":true,"id":1544},"owner":{"__isSmartRef__":true,"id":1529},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1531":{"position":{"__isSmartRef__":true,"id":1532},"extent":{"__isSmartRef__":true,"id":1533},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1465},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1532":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1533":{"x":340,"y":32,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1534":{"morph":{"__isSmartRef__":true,"id":1530},"dispatchTable":{"__isSmartRef__":true,"id":1535},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1535":{"mouseup":{"__isSmartRef__":true,"id":1536},"mousedown":{"__isSmartRef__":true,"id":1537},"selectstart":{"__isSmartRef__":true,"id":1538},"mousewheel":{"__isSmartRef__":true,"id":1539},"keydown":{"__isSmartRef__":true,"id":1540},"keyup":{"__isSmartRef__":true,"id":1541},"keypress":{"__isSmartRef__":true,"id":1542}},"1536":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1530},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1537":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1530},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1538":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1530},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1539":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1530},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1540":{"type":"keydown","target":{"__isSmartRef__":true,"id":1530},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1541":{"type":"keyup","target":{"__isSmartRef__":true,"id":1530},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1542":{"type":"keypress","target":{"__isSmartRef__":true,"id":1530},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1543":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1544":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1545":{"position":{"__isSmartRef__":true,"id":1546},"extent":{"__isSmartRef__":true,"id":1547},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1501},"fill":{"__isSmartRef__":true,"id":1502},"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1546":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1547":{"x":340,"y":32,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1548":{"morph":{"__isSmartRef__":true,"id":1529},"dispatchTable":{"__isSmartRef__":true,"id":1549},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1549":{"mouseup":{"__isSmartRef__":true,"id":1550},"mousedown":{"__isSmartRef__":true,"id":1551},"mousewheel":{"__isSmartRef__":true,"id":1552}},"1550":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1529},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1551":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1529},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1552":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1529},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1553":{"x":300,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1554":{"stops":[{"__isSmartRef__":true,"id":1555},{"__isSmartRef__":true,"id":1557},{"__isSmartRef__":true,"id":1559},{"__isSmartRef__":true,"id":1561}],"vector":{"__isSmartRef__":true,"id":1511},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1555":{"offset":0,"color":{"__isSmartRef__":true,"id":1556}},"1556":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1557":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1558}},"1558":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1559":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1560}},"1560":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1561":{"offset":1,"color":{"__isSmartRef__":true,"id":1562}},"1562":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1563":{"resizeWidth":true,"resizeHeight":true},"1564":{"sourceObj":{"__isSmartRef__":true,"id":1529},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1480},"targetMethodName":"loadFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1565":{"submorphs":[{"__isSmartRef__":true,"id":1566}],"scripts":[],"id":23,"shape":{"__isSmartRef__":true,"id":1581},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1584},"_Position":{"__isSmartRef__":true,"id":1589},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1502},"lighterFill":{"__isSmartRef__":true,"id":1590},"label":{"__isSmartRef__":true,"id":1566},"layout":{"__isSmartRef__":true,"id":1599},"owner":{"__isSmartRef__":true,"id":1460},"attributeConnections":[{"__isSmartRef__":true,"id":1600}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Button"},"1566":{"submorphs":[],"scripts":[],"id":24,"cachedTextString":"remove","shape":{"__isSmartRef__":true,"id":1567},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1570},"_Position":{"__isSmartRef__":true,"id":1579},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1465},"padding":{"__isSmartRef__":true,"id":1580},"_Padding":{"__isSmartRef__":true,"id":1580},"owner":{"__isSmartRef__":true,"id":1565},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1567":{"position":{"__isSmartRef__":true,"id":1568},"extent":{"__isSmartRef__":true,"id":1569},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1465},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1568":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1569":{"x":340,"y":32,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1570":{"morph":{"__isSmartRef__":true,"id":1566},"dispatchTable":{"__isSmartRef__":true,"id":1571},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1571":{"mouseup":{"__isSmartRef__":true,"id":1572},"mousedown":{"__isSmartRef__":true,"id":1573},"selectstart":{"__isSmartRef__":true,"id":1574},"mousewheel":{"__isSmartRef__":true,"id":1575},"keydown":{"__isSmartRef__":true,"id":1576},"keyup":{"__isSmartRef__":true,"id":1577},"keypress":{"__isSmartRef__":true,"id":1578}},"1572":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1566},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1573":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1566},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1574":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1566},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1575":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1566},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1576":{"type":"keydown","target":{"__isSmartRef__":true,"id":1566},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1577":{"type":"keyup","target":{"__isSmartRef__":true,"id":1566},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1578":{"type":"keypress","target":{"__isSmartRef__":true,"id":1566},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1579":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1580":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1581":{"position":{"__isSmartRef__":true,"id":1582},"extent":{"__isSmartRef__":true,"id":1583},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1501},"fill":{"__isSmartRef__":true,"id":1502},"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1582":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1583":{"x":340,"y":32,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1584":{"morph":{"__isSmartRef__":true,"id":1565},"dispatchTable":{"__isSmartRef__":true,"id":1585},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1585":{"mouseup":{"__isSmartRef__":true,"id":1586},"mousedown":{"__isSmartRef__":true,"id":1587},"mousewheel":{"__isSmartRef__":true,"id":1588}},"1586":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1565},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1587":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1565},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1588":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1565},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1589":{"x":600,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1590":{"stops":[{"__isSmartRef__":true,"id":1591},{"__isSmartRef__":true,"id":1593},{"__isSmartRef__":true,"id":1595},{"__isSmartRef__":true,"id":1597}],"vector":{"__isSmartRef__":true,"id":1511},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1591":{"offset":0,"color":{"__isSmartRef__":true,"id":1592}},"1592":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1593":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1594}},"1594":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1595":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1596}},"1596":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1597":{"offset":1,"color":{"__isSmartRef__":true,"id":1598}},"1598":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1599":{"resizeWidth":true,"resizeHeight":true},"1600":{"sourceObj":{"__isSmartRef__":true,"id":1565},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1480},"targetMethodName":"removeFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1601":{"submorphs":[],"scripts":[],"id":25,"cachedTextString":"this.owner.owner.setExtent\nthis.owner.owner.applyStyle(this.owner.owner.getStyle())\n\n.adjustForNewBounds\nthis.owner.owner.applyStyle\nthis.owner.owner.adjustForNewBounds()\n","shape":{"__isSmartRef__":true,"id":1602},"grabbingEnabled":false,"droppingEnabled":true,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"scroll","_FontFamily":"Monaco","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1605},"_Position":{"__isSmartRef__":true,"id":1614},"_MaxTextWidth":940,"_MaxTextHeight":842,"textColor":{"__isSmartRef__":true,"id":1465},"padding":{"__isSmartRef__":true,"id":1615},"layout":{"__isSmartRef__":true,"id":1616},"_FontSize":10,"_Padding":{"__isSmartRef__":true,"id":1615},"owner":{"__isSmartRef__":true,"id":1460},"attributeConnections":[{"__isSmartRef__":true,"id":1617}],"doNotSerialize":["$$savedTextString"],"doNotCopyProperties":["$$savedTextString"],"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1602":{"position":{"__isSmartRef__":true,"id":1603},"extent":{"__isSmartRef__":true,"id":1604},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1465},"fill":null,"strokeOpacity":0,"borderRadius":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1603":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1604":{"x":940,"y":842,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1605":{"morph":{"__isSmartRef__":true,"id":1601},"dispatchTable":{"__isSmartRef__":true,"id":1606},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1606":{"mouseup":{"__isSmartRef__":true,"id":1607},"mousedown":{"__isSmartRef__":true,"id":1608},"selectstart":{"__isSmartRef__":true,"id":1609},"mousewheel":{"__isSmartRef__":true,"id":1610},"keydown":{"__isSmartRef__":true,"id":1611},"keyup":{"__isSmartRef__":true,"id":1612},"keypress":{"__isSmartRef__":true,"id":1613}},"1607":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1601},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1608":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1601},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1609":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1601},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1610":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1601},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1611":{"type":"keydown","target":{"__isSmartRef__":true,"id":1601},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1612":{"type":"keyup","target":{"__isSmartRef__":true,"id":1601},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1613":{"type":"keypress","target":{"__isSmartRef__":true,"id":1601},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1614":{"x":0,"y":60,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1615":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1616":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"1617":{"sourceObj":{"__isSmartRef__":true,"id":1601},"sourceAttrName":"savedTextString","targetObj":{"__isSmartRef__":true,"id":1480},"targetMethodName":"saveFile","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1618":{"position":{"__isSmartRef__":true,"id":1619},"extent":{"__isSmartRef__":true,"id":1620},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1465},"fill":{"__isSmartRef__":true,"id":1621},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1619":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1620":{"x":940,"y":902,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1621":{"r":0.95,"g":0.95,"b":0.95,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1622":{"morph":{"__isSmartRef__":true,"id":1460},"dispatchTable":{"__isSmartRef__":true,"id":1623},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1623":{"mouseup":{"__isSmartRef__":true,"id":1624},"mousedown":{"__isSmartRef__":true,"id":1625},"mousewheel":{"__isSmartRef__":true,"id":1626}},"1624":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1460},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1625":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1460},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1626":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1460},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1627":{"x":0,"y":25.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1628":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"1629":{"x":940,"y":902,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1630":{"submorphs":[{"__isSmartRef__":true,"id":1631},{"__isSmartRef__":true,"id":1642},{"__isSmartRef__":true,"id":1657},{"__isSmartRef__":true,"id":1693},{"__isSmartRef__":true,"id":1729}],"scripts":[],"id":27,"shape":{"__isSmartRef__":true,"id":1765},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1768},"_Position":{"__isSmartRef__":true,"id":1773},"eventsAreIgnored":true,"contentMorph":{"__isSmartRef__":true,"id":1631},"windowMorph":{"__isSmartRef__":true,"id":1459},"label":{"__isSmartRef__":true,"id":1642},"closeButton":{"__isSmartRef__":true,"id":1657},"menuButton":{"__isSmartRef__":true,"id":1693},"collapseButton":{"__isSmartRef__":true,"id":1729},"owner":{"__isSmartRef__":true,"id":1459},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TitleBar"},"1631":{"submorphs":[],"scripts":[],"id":28,"shape":{"__isSmartRef__":true,"id":1632},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1636},"_Position":{"__isSmartRef__":true,"id":1641},"owner":{"__isSmartRef__":true,"id":1630},"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Box"},"1632":{"position":{"__isSmartRef__":true,"id":1633},"extent":{"__isSmartRef__":true,"id":1634},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1465},"fill":{"__isSmartRef__":true,"id":1635},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1633":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1634":{"x":900,"y":25,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1635":{"r":0,"g":0,"b":0.8,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1636":{"morph":{"__isSmartRef__":true,"id":1631},"dispatchTable":{"__isSmartRef__":true,"id":1637},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1637":{"mouseup":{"__isSmartRef__":true,"id":1638},"mousedown":{"__isSmartRef__":true,"id":1639},"mousewheel":{"__isSmartRef__":true,"id":1640}},"1638":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1631},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1639":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1631},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1640":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1631},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1641":{"x":0.5,"y":0.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1642":{"submorphs":[],"scripts":[],"id":29,"cachedTextString":"TextEditor","shape":{"__isSmartRef__":true,"id":1643},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1646},"_Position":{"__isSmartRef__":true,"id":1655},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1465},"isLabel":true,"eventsAreIgnored":true,"padding":{"__isSmartRef__":true,"id":1656},"_Padding":{"__isSmartRef__":true,"id":1656},"owner":{"__isSmartRef__":true,"id":1630},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1643":{"position":{"__isSmartRef__":true,"id":1644},"extent":{"__isSmartRef__":true,"id":1645},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1465},"fill":null,"borderRadius":8,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1644":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1645":{"x":80,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1646":{"morph":{"__isSmartRef__":true,"id":1642},"dispatchTable":{"__isSmartRef__":true,"id":1647},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1647":{"mouseup":{"__isSmartRef__":true,"id":1648},"mousedown":{"__isSmartRef__":true,"id":1649},"selectstart":{"__isSmartRef__":true,"id":1650},"mousewheel":{"__isSmartRef__":true,"id":1651},"keydown":{"__isSmartRef__":true,"id":1652},"keyup":{"__isSmartRef__":true,"id":1653},"keypress":{"__isSmartRef__":true,"id":1654}},"1648":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1642},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1649":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1642},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1650":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1642},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1651":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1642},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1652":{"type":"keydown","target":{"__isSmartRef__":true,"id":1642},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1653":{"type":"keyup","target":{"__isSmartRef__":true,"id":1642},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1654":{"type":"keypress","target":{"__isSmartRef__":true,"id":1642},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1655":{"x":410,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1656":{"x":6,"y":2,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1657":{"submorphs":[{"__isSmartRef__":true,"id":1658}],"scripts":[],"id":30,"shape":{"__isSmartRef__":true,"id":1673},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1676},"_Position":{"__isSmartRef__":true,"id":1681},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1502},"lighterFill":{"__isSmartRef__":true,"id":1682},"label":{"__isSmartRef__":true,"id":1658},"owner":{"__isSmartRef__":true,"id":1630},"attributeConnections":[{"__isSmartRef__":true,"id":1691},{"__isSmartRef__":true,"id":1692}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1658":{"submorphs":[],"scripts":[],"id":31,"cachedTextString":"X","shape":{"__isSmartRef__":true,"id":1659},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1662},"_Position":{"__isSmartRef__":true,"id":1671},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1465},"padding":{"__isSmartRef__":true,"id":1672},"_Padding":{"__isSmartRef__":true,"id":1672},"owner":{"__isSmartRef__":true,"id":1657},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1659":{"position":{"__isSmartRef__":true,"id":1660},"extent":{"__isSmartRef__":true,"id":1661},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1465},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1660":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1661":{"x":22,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1662":{"morph":{"__isSmartRef__":true,"id":1658},"dispatchTable":{"__isSmartRef__":true,"id":1663},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1663":{"mouseup":{"__isSmartRef__":true,"id":1664},"mousedown":{"__isSmartRef__":true,"id":1665},"selectstart":{"__isSmartRef__":true,"id":1666},"mousewheel":{"__isSmartRef__":true,"id":1667},"keydown":{"__isSmartRef__":true,"id":1668},"keyup":{"__isSmartRef__":true,"id":1669},"keypress":{"__isSmartRef__":true,"id":1670}},"1664":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1658},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1665":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1658},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1666":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1658},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1667":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1658},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1668":{"type":"keydown","target":{"__isSmartRef__":true,"id":1658},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1669":{"type":"keyup","target":{"__isSmartRef__":true,"id":1658},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1670":{"type":"keypress","target":{"__isSmartRef__":true,"id":1658},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1671":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1672":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1673":{"position":{"__isSmartRef__":true,"id":1674},"extent":{"__isSmartRef__":true,"id":1675},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1501},"fill":{"__isSmartRef__":true,"id":1502},"strokeOpacity":0,"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1674":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1675":{"x":22,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1676":{"morph":{"__isSmartRef__":true,"id":1657},"dispatchTable":{"__isSmartRef__":true,"id":1677},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1677":{"mouseup":{"__isSmartRef__":true,"id":1678},"mousedown":{"__isSmartRef__":true,"id":1679},"mousewheel":{"__isSmartRef__":true,"id":1680}},"1678":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1657},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1679":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1657},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1680":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1657},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1681":{"x":875,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1682":{"stops":[{"__isSmartRef__":true,"id":1683},{"__isSmartRef__":true,"id":1685},{"__isSmartRef__":true,"id":1687},{"__isSmartRef__":true,"id":1689}],"vector":{"__isSmartRef__":true,"id":1511},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1683":{"offset":0,"color":{"__isSmartRef__":true,"id":1684}},"1684":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1685":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1686}},"1686":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1687":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1688}},"1688":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1689":{"offset":1,"color":{"__isSmartRef__":true,"id":1690}},"1690":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1691":{"sourceObj":{"__isSmartRef__":true,"id":1657},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1459},"targetMethodName":"getCloseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1692":{"sourceObj":{"__isSmartRef__":true,"id":1657},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1459},"targetMethodName":"initiateShutdown","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1693":{"submorphs":[{"__isSmartRef__":true,"id":1694}],"scripts":[],"id":32,"shape":{"__isSmartRef__":true,"id":1709},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1712},"_Position":{"__isSmartRef__":true,"id":1717},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1502},"lighterFill":{"__isSmartRef__":true,"id":1718},"label":{"__isSmartRef__":true,"id":1694},"owner":{"__isSmartRef__":true,"id":1630},"attributeConnections":[{"__isSmartRef__":true,"id":1727},{"__isSmartRef__":true,"id":1728}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1694":{"submorphs":[],"scripts":[],"id":33,"cachedTextString":"M","shape":{"__isSmartRef__":true,"id":1695},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1698},"_Position":{"__isSmartRef__":true,"id":1707},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1465},"padding":{"__isSmartRef__":true,"id":1708},"_Padding":{"__isSmartRef__":true,"id":1708},"owner":{"__isSmartRef__":true,"id":1693},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1695":{"position":{"__isSmartRef__":true,"id":1696},"extent":{"__isSmartRef__":true,"id":1697},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1465},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1696":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1697":{"x":22,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1698":{"morph":{"__isSmartRef__":true,"id":1694},"dispatchTable":{"__isSmartRef__":true,"id":1699},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1699":{"mouseup":{"__isSmartRef__":true,"id":1700},"mousedown":{"__isSmartRef__":true,"id":1701},"selectstart":{"__isSmartRef__":true,"id":1702},"mousewheel":{"__isSmartRef__":true,"id":1703},"keydown":{"__isSmartRef__":true,"id":1704},"keyup":{"__isSmartRef__":true,"id":1705},"keypress":{"__isSmartRef__":true,"id":1706}},"1700":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1694},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1701":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1694},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1702":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1694},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1703":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1694},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1704":{"type":"keydown","target":{"__isSmartRef__":true,"id":1694},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1705":{"type":"keyup","target":{"__isSmartRef__":true,"id":1694},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1706":{"type":"keypress","target":{"__isSmartRef__":true,"id":1694},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1707":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1708":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1709":{"position":{"__isSmartRef__":true,"id":1710},"extent":{"__isSmartRef__":true,"id":1711},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1501},"fill":{"__isSmartRef__":true,"id":1502},"strokeOpacity":0,"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1710":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1711":{"x":22,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1712":{"morph":{"__isSmartRef__":true,"id":1693},"dispatchTable":{"__isSmartRef__":true,"id":1713},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1713":{"mouseup":{"__isSmartRef__":true,"id":1714},"mousedown":{"__isSmartRef__":true,"id":1715},"mousewheel":{"__isSmartRef__":true,"id":1716}},"1714":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1693},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1715":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1693},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1716":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1693},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1717":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1718":{"stops":[{"__isSmartRef__":true,"id":1719},{"__isSmartRef__":true,"id":1721},{"__isSmartRef__":true,"id":1723},{"__isSmartRef__":true,"id":1725}],"vector":{"__isSmartRef__":true,"id":1511},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1719":{"offset":0,"color":{"__isSmartRef__":true,"id":1720}},"1720":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1721":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1722}},"1722":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1723":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1724}},"1724":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1725":{"offset":1,"color":{"__isSmartRef__":true,"id":1726}},"1726":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1727":{"sourceObj":{"__isSmartRef__":true,"id":1693},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1459},"targetMethodName":"getMenuHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1728":{"sourceObj":{"__isSmartRef__":true,"id":1693},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1459},"targetMethodName":"showTargetMorphMenu","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1729":{"submorphs":[{"__isSmartRef__":true,"id":1730}],"scripts":[],"id":34,"shape":{"__isSmartRef__":true,"id":1745},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1748},"_Position":{"__isSmartRef__":true,"id":1753},"value":false,"toggle":false,"isActive":true,"normalFill":{"__isSmartRef__":true,"id":1502},"lighterFill":{"__isSmartRef__":true,"id":1754},"label":{"__isSmartRef__":true,"id":1730},"owner":{"__isSmartRef__":true,"id":1630},"attributeConnections":[{"__isSmartRef__":true,"id":1763},{"__isSmartRef__":true,"id":1764}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1730":{"submorphs":[],"scripts":[],"id":35,"cachedTextString":"–","shape":{"__isSmartRef__":true,"id":1731},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1734},"_Position":{"__isSmartRef__":true,"id":1743},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1465},"padding":{"__isSmartRef__":true,"id":1744},"_Padding":{"__isSmartRef__":true,"id":1744},"owner":{"__isSmartRef__":true,"id":1729},"isLabel":true,"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1731":{"position":{"__isSmartRef__":true,"id":1732},"extent":{"__isSmartRef__":true,"id":1733},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1465},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1732":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1733":{"x":22,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1734":{"morph":{"__isSmartRef__":true,"id":1730},"dispatchTable":{"__isSmartRef__":true,"id":1735},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1735":{"mouseup":{"__isSmartRef__":true,"id":1736},"mousedown":{"__isSmartRef__":true,"id":1737},"selectstart":{"__isSmartRef__":true,"id":1738},"mousewheel":{"__isSmartRef__":true,"id":1739},"keydown":{"__isSmartRef__":true,"id":1740},"keyup":{"__isSmartRef__":true,"id":1741},"keypress":{"__isSmartRef__":true,"id":1742}},"1736":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1730},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1737":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1730},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1738":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1730},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1739":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1730},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1740":{"type":"keydown","target":{"__isSmartRef__":true,"id":1730},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1741":{"type":"keyup","target":{"__isSmartRef__":true,"id":1730},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1742":{"type":"keypress","target":{"__isSmartRef__":true,"id":1730},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1743":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1744":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"1745":{"position":{"__isSmartRef__":true,"id":1746},"extent":{"__isSmartRef__":true,"id":1747},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1501},"fill":{"__isSmartRef__":true,"id":1502},"strokeOpacity":0,"borderRadius":5,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1746":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1747":{"x":22,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1748":{"morph":{"__isSmartRef__":true,"id":1729},"dispatchTable":{"__isSmartRef__":true,"id":1749},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1749":{"mouseup":{"__isSmartRef__":true,"id":1750},"mousedown":{"__isSmartRef__":true,"id":1751},"mousewheel":{"__isSmartRef__":true,"id":1752}},"1750":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1729},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1751":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1729},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1752":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1729},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1753":{"x":856,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1754":{"stops":[{"__isSmartRef__":true,"id":1755},{"__isSmartRef__":true,"id":1757},{"__isSmartRef__":true,"id":1759},{"__isSmartRef__":true,"id":1761}],"vector":{"__isSmartRef__":true,"id":1511},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.LinearGradient"},"1755":{"offset":0,"color":{"__isSmartRef__":true,"id":1756}},"1756":{"r":0.98,"g":0.98,"b":0.98,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1757":{"offset":0.4,"color":{"__isSmartRef__":true,"id":1758}},"1758":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1759":{"offset":0.6,"color":{"__isSmartRef__":true,"id":1760}},"1760":{"r":0.91,"g":0.91,"b":0.91,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1761":{"offset":1,"color":{"__isSmartRef__":true,"id":1762}},"1762":{"r":0.97,"g":0.97,"b":0.97,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1763":{"sourceObj":{"__isSmartRef__":true,"id":1729},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1459},"targetMethodName":"getCollapseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1764":{"sourceObj":{"__isSmartRef__":true,"id":1729},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1459},"targetMethodName":"toggleCollapse","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1765":{"position":{"__isSmartRef__":true,"id":1766},"extent":{"__isSmartRef__":true,"id":1767},"borderWidth":0,"fill":null,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1766":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1767":{"x":900,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1768":{"morph":{"__isSmartRef__":true,"id":1630},"dispatchTable":{"__isSmartRef__":true,"id":1769},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1769":{"mouseup":{"__isSmartRef__":true,"id":1770},"mousedown":{"__isSmartRef__":true,"id":1771},"mousewheel":{"__isSmartRef__":true,"id":1772}},"1770":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1630},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1771":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1630},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1772":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1630},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1773":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1774":{"borderWidth":0,"fill":null,"strokeOpacity":0,"borderRadius":0,"extent":{"__isSmartRef__":true,"id":1775},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1775":{"x":417,"y":386.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1776":{"morph":{"__isSmartRef__":true,"id":1459},"dispatchTable":{"__isSmartRef__":true,"id":1777},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1777":{"mouseup":{"__isSmartRef__":true,"id":1778},"mousedown":{"__isSmartRef__":true,"id":1779},"mousewheel":{"__isSmartRef__":true,"id":1780}},"1778":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1459},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1779":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1459},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1780":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1459},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1781":{"x":1203,"y":203,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1782":{"x":417,"y":386.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1783":{"submorphs":[{"__isSmartRef__":true,"id":1784},{"__isSmartRef__":true,"id":1798}],"scripts":[],"id":21,"shape":{"__isSmartRef__":true,"id":1910},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1912},"_Position":{"__isSmartRef__":true,"id":1917},"targetMorph":{"__isSmartRef__":true,"id":1784},"titleBar":{"__isSmartRef__":true,"id":1798},"contentOffset":{"__isSmartRef__":true,"id":1797},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"owner":{"__isSmartRef__":true,"id":0},"showsHalos":false,"halos":[],"__SourceModuleName__":"Global.lively.morphic.Widgets","_Rotation":0,"__LivelyClassName__":"lively.morphic.Window"},"1784":{"submorphs":[],"scripts":[],"id":20,"cachedTextString":"m1 = lively.morphic.Morph.makeRectangle(0,0, 100, 100);\nm2 = lively.morphic.Morph.makeRectangle(0,0, 50, 50);\nm1.addMorph(m2);\nthis.world().addMorph(m1)\nm1.align(m1.bounds().bottomLeft(), this.owner.bounds().topLeft())\n\nm1.applyStyle({adjustForNewBounds: true})\nm2.applyStyle({resizeWidth: true, resizeHeight: true})\n\nm1.setExtent(pt(75, 75)); m1.adjustForNewBounds()\nm1.setExtent(pt(100, 100)); m1.adjustForNewBounds()\n","shape":{"__isSmartRef__":true,"id":1785},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"auto","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1788},"_Position":{"__isSmartRef__":true,"id":1797},"_MaxTextWidth":500,"_MaxTextHeight":200,"textColor":{"__isSmartRef__":true,"id":1032},"owner":{"__isSmartRef__":true,"id":1783},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1785":{"position":{"__isSmartRef__":true,"id":1786},"extent":{"__isSmartRef__":true,"id":1787},"borderWidth":2,"borderColor":{"__isSmartRef__":true,"id":1032},"fill":{"__isSmartRef__":true,"id":1033},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1786":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1787":{"x":500,"y":200,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1788":{"morph":{"__isSmartRef__":true,"id":1784},"dispatchTable":{"__isSmartRef__":true,"id":1789},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1789":{"mouseup":{"__isSmartRef__":true,"id":1790},"mousedown":{"__isSmartRef__":true,"id":1791},"selectstart":{"__isSmartRef__":true,"id":1792},"mousewheel":{"__isSmartRef__":true,"id":1793},"keydown":{"__isSmartRef__":true,"id":1794},"keyup":{"__isSmartRef__":true,"id":1795},"keypress":{"__isSmartRef__":true,"id":1796}},"1790":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1784},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1791":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1784},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1792":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1784},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1793":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1784},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1794":{"type":"keydown","target":{"__isSmartRef__":true,"id":1784},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1795":{"type":"keyup","target":{"__isSmartRef__":true,"id":1784},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1796":{"type":"keypress","target":{"__isSmartRef__":true,"id":1784},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1797":{"x":0,"y":28.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1798":{"submorphs":[{"__isSmartRef__":true,"id":1799},{"__isSmartRef__":true,"id":1809},{"__isSmartRef__":true,"id":1823},{"__isSmartRef__":true,"id":1849},{"__isSmartRef__":true,"id":1875}],"scripts":[],"id":22,"shape":{"__isSmartRef__":true,"id":1901},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1904},"_Position":{"__isSmartRef__":true,"id":1909},"eventsAreIgnored":true,"contentMorph":{"__isSmartRef__":true,"id":1799},"windowMorph":{"__isSmartRef__":true,"id":1783},"label":{"__isSmartRef__":true,"id":1809},"closeButton":{"__isSmartRef__":true,"id":1823},"menuButton":{"__isSmartRef__":true,"id":1849},"collapseButton":{"__isSmartRef__":true,"id":1875},"owner":{"__isSmartRef__":true,"id":1783},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TitleBar"},"1799":{"submorphs":[],"scripts":[],"id":23,"shape":{"__isSmartRef__":true,"id":1800},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1803},"_Position":{"__isSmartRef__":true,"id":1808},"owner":{"__isSmartRef__":true,"id":1798},"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Box"},"1800":{"position":{"__isSmartRef__":true,"id":1801},"extent":{"__isSmartRef__":true,"id":1802},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1032},"fill":{"__isSmartRef__":true,"id":1049},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1801":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1802":{"x":500,"y":25,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1803":{"morph":{"__isSmartRef__":true,"id":1799},"dispatchTable":{"__isSmartRef__":true,"id":1804},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1804":{"mouseup":{"__isSmartRef__":true,"id":1805},"mousedown":{"__isSmartRef__":true,"id":1806},"mousewheel":{"__isSmartRef__":true,"id":1807}},"1805":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1799},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1806":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1799},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1807":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1799},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1808":{"x":0.5,"y":0.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1809":{"submorphs":[],"scripts":[],"id":24,"cachedTextString":"Workspace","shape":{"__isSmartRef__":true,"id":1810},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1813},"_Position":{"__isSmartRef__":true,"id":1822},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1032},"isLabel":true,"eventsAreIgnored":true,"padding":{"__isSmartRef__":true,"id":1070},"owner":{"__isSmartRef__":true,"id":1798},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1810":{"position":{"__isSmartRef__":true,"id":1811},"extent":{"__isSmartRef__":true,"id":1812},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1032},"fill":null,"borderRadius":8,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1811":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1812":{"x":72,"y":22,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1813":{"morph":{"__isSmartRef__":true,"id":1809},"dispatchTable":{"__isSmartRef__":true,"id":1814},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1814":{"mouseup":{"__isSmartRef__":true,"id":1815},"mousedown":{"__isSmartRef__":true,"id":1816},"selectstart":{"__isSmartRef__":true,"id":1817},"mousewheel":{"__isSmartRef__":true,"id":1818},"keydown":{"__isSmartRef__":true,"id":1819},"keyup":{"__isSmartRef__":true,"id":1820},"keypress":{"__isSmartRef__":true,"id":1821}},"1815":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1809},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1816":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1809},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1817":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1809},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1818":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1809},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1819":{"type":"keydown","target":{"__isSmartRef__":true,"id":1809},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1820":{"type":"keyup","target":{"__isSmartRef__":true,"id":1809},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1821":{"type":"keypress","target":{"__isSmartRef__":true,"id":1809},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1822":{"x":214,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1823":{"submorphs":[{"__isSmartRef__":true,"id":1824}],"scripts":[],"id":25,"shape":{"__isSmartRef__":true,"id":1838},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1841},"label":{"__isSmartRef__":true,"id":1824},"owner":{"__isSmartRef__":true,"id":1798},"attributeConnections":[{"__isSmartRef__":true,"id":1846},{"__isSmartRef__":true,"id":1847}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":1848},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1824":{"submorphs":[],"scripts":[],"id":26,"cachedTextString":"X","shape":{"__isSmartRef__":true,"id":1825},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1828},"_Position":{"__isSmartRef__":true,"id":1837},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1032},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":1823},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1825":{"position":{"__isSmartRef__":true,"id":1826},"extent":{"__isSmartRef__":true,"id":1827},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1032},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1826":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1827":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1828":{"morph":{"__isSmartRef__":true,"id":1824},"dispatchTable":{"__isSmartRef__":true,"id":1829},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1829":{"mouseup":{"__isSmartRef__":true,"id":1830},"mousedown":{"__isSmartRef__":true,"id":1831},"selectstart":{"__isSmartRef__":true,"id":1832},"mousewheel":{"__isSmartRef__":true,"id":1833},"keydown":{"__isSmartRef__":true,"id":1834},"keyup":{"__isSmartRef__":true,"id":1835},"keypress":{"__isSmartRef__":true,"id":1836}},"1830":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1824},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1831":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1824},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1832":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1824},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1833":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1824},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1834":{"type":"keydown","target":{"__isSmartRef__":true,"id":1824},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1835":{"type":"keyup","target":{"__isSmartRef__":true,"id":1824},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1836":{"type":"keypress","target":{"__isSmartRef__":true,"id":1824},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1837":{"x":-4,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1838":{"position":{"__isSmartRef__":true,"id":1839},"extent":{"__isSmartRef__":true,"id":1840},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"1839":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1840":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1841":{"morph":{"__isSmartRef__":true,"id":1823},"dispatchTable":{"__isSmartRef__":true,"id":1842},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1842":{"mouseup":{"__isSmartRef__":true,"id":1843},"mousedown":{"__isSmartRef__":true,"id":1844},"mousewheel":{"__isSmartRef__":true,"id":1845}},"1843":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1823},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1844":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1823},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1845":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1823},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1846":{"sourceObj":{"__isSmartRef__":true,"id":1823},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1783},"targetMethodName":"getCloseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1847":{"sourceObj":{"__isSmartRef__":true,"id":1823},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1783},"targetMethodName":"initiateShutdown","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1848":{"x":481,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1849":{"submorphs":[{"__isSmartRef__":true,"id":1850}],"scripts":[],"id":27,"shape":{"__isSmartRef__":true,"id":1864},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1867},"label":{"__isSmartRef__":true,"id":1850},"owner":{"__isSmartRef__":true,"id":1798},"attributeConnections":[{"__isSmartRef__":true,"id":1872},{"__isSmartRef__":true,"id":1873}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":1874},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1850":{"submorphs":[],"scripts":[],"id":28,"cachedTextString":"M","shape":{"__isSmartRef__":true,"id":1851},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1854},"_Position":{"__isSmartRef__":true,"id":1863},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1032},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":1849},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1851":{"position":{"__isSmartRef__":true,"id":1852},"extent":{"__isSmartRef__":true,"id":1853},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1032},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1852":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1853":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1854":{"morph":{"__isSmartRef__":true,"id":1850},"dispatchTable":{"__isSmartRef__":true,"id":1855},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1855":{"mouseup":{"__isSmartRef__":true,"id":1856},"mousedown":{"__isSmartRef__":true,"id":1857},"selectstart":{"__isSmartRef__":true,"id":1858},"mousewheel":{"__isSmartRef__":true,"id":1859},"keydown":{"__isSmartRef__":true,"id":1860},"keyup":{"__isSmartRef__":true,"id":1861},"keypress":{"__isSmartRef__":true,"id":1862}},"1856":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1850},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1857":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1850},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1858":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1850},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1859":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1850},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1860":{"type":"keydown","target":{"__isSmartRef__":true,"id":1850},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1861":{"type":"keyup","target":{"__isSmartRef__":true,"id":1850},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1862":{"type":"keypress","target":{"__isSmartRef__":true,"id":1850},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1863":{"x":-5,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1864":{"position":{"__isSmartRef__":true,"id":1865},"extent":{"__isSmartRef__":true,"id":1866},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"1865":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1866":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1867":{"morph":{"__isSmartRef__":true,"id":1849},"dispatchTable":{"__isSmartRef__":true,"id":1868},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1868":{"mouseup":{"__isSmartRef__":true,"id":1869},"mousedown":{"__isSmartRef__":true,"id":1870},"mousewheel":{"__isSmartRef__":true,"id":1871}},"1869":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1849},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1870":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1849},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1871":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1849},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1872":{"sourceObj":{"__isSmartRef__":true,"id":1849},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1783},"targetMethodName":"getMenuHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1873":{"sourceObj":{"__isSmartRef__":true,"id":1849},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1783},"targetMethodName":"showTargetMorphMenu","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1874":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1875":{"submorphs":[{"__isSmartRef__":true,"id":1876}],"scripts":[],"id":29,"shape":{"__isSmartRef__":true,"id":1890},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1893},"label":{"__isSmartRef__":true,"id":1876},"owner":{"__isSmartRef__":true,"id":1798},"attributeConnections":[{"__isSmartRef__":true,"id":1898},{"__isSmartRef__":true,"id":1899}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":1900},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1876":{"submorphs":[],"scripts":[],"id":30,"cachedTextString":"–","shape":{"__isSmartRef__":true,"id":1877},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1880},"_Position":{"__isSmartRef__":true,"id":1889},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":1032},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":1875},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1877":{"position":{"__isSmartRef__":true,"id":1878},"extent":{"__isSmartRef__":true,"id":1879},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1032},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1878":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1879":{"x":20,"y":20,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1880":{"morph":{"__isSmartRef__":true,"id":1876},"dispatchTable":{"__isSmartRef__":true,"id":1881},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1881":{"mouseup":{"__isSmartRef__":true,"id":1882},"mousedown":{"__isSmartRef__":true,"id":1883},"selectstart":{"__isSmartRef__":true,"id":1884},"mousewheel":{"__isSmartRef__":true,"id":1885},"keydown":{"__isSmartRef__":true,"id":1886},"keyup":{"__isSmartRef__":true,"id":1887},"keypress":{"__isSmartRef__":true,"id":1888}},"1882":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1876},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1883":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1876},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1884":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1876},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1885":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1876},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1886":{"type":"keydown","target":{"__isSmartRef__":true,"id":1876},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1887":{"type":"keyup","target":{"__isSmartRef__":true,"id":1876},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1888":{"type":"keypress","target":{"__isSmartRef__":true,"id":1876},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1889":{"x":-3,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1890":{"position":{"__isSmartRef__":true,"id":1891},"extent":{"__isSmartRef__":true,"id":1892},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"1891":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1892":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1893":{"morph":{"__isSmartRef__":true,"id":1875},"dispatchTable":{"__isSmartRef__":true,"id":1894},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1894":{"mouseup":{"__isSmartRef__":true,"id":1895},"mousedown":{"__isSmartRef__":true,"id":1896},"mousewheel":{"__isSmartRef__":true,"id":1897}},"1895":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1875},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1896":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1875},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1897":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1875},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1898":{"sourceObj":{"__isSmartRef__":true,"id":1875},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1783},"targetMethodName":"getCollapseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1899":{"sourceObj":{"__isSmartRef__":true,"id":1875},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1783},"targetMethodName":"toggleCollapse","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"1900":{"x":462,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1901":{"position":{"__isSmartRef__":true,"id":1902},"extent":{"__isSmartRef__":true,"id":1903},"borderWidth":0,"fill":null,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1902":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1903":{"x":500,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1904":{"morph":{"__isSmartRef__":true,"id":1798},"dispatchTable":{"__isSmartRef__":true,"id":1905},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1905":{"mouseup":{"__isSmartRef__":true,"id":1906},"mousedown":{"__isSmartRef__":true,"id":1907},"mousewheel":{"__isSmartRef__":true,"id":1908}},"1906":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1798},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1907":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1798},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1908":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1798},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1909":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1910":{"borderWidth":0,"fill":null,"strokeOpacity":0,"borderRadius":0,"extent":{"__isSmartRef__":true,"id":1911},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1911":{"x":500,"y":228.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1912":{"morph":{"__isSmartRef__":true,"id":1783},"dispatchTable":{"__isSmartRef__":true,"id":1913},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1913":{"mouseup":{"__isSmartRef__":true,"id":1914},"mousedown":{"__isSmartRef__":true,"id":1915},"mousewheel":{"__isSmartRef__":true,"id":1916}},"1914":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1783},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1915":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1783},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1916":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1783},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1917":{"x":942,"y":476,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1918":{"submorphs":[{"__isSmartRef__":true,"id":1919}],"scripts":[],"id":67,"shape":{"__isSmartRef__":true,"id":1932},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1935},"_Position":{"__isSmartRef__":true,"id":1940},"owner":{"__isSmartRef__":true,"id":0},"showsHalos":false,"halos":[],"layout":{"__isSmartRef__":true,"id":1941},"priorExtent":{"__isSmartRef__":true,"id":1942},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core"},"1919":{"submorphs":[],"scripts":[],"id":68,"shape":{"__isSmartRef__":true,"id":1920},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1925},"_Position":{"__isSmartRef__":true,"id":1930},"owner":{"__isSmartRef__":true,"id":1918},"layout":{"__isSmartRef__":true,"id":1931},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core"},"1920":{"position":{"__isSmartRef__":true,"id":1921},"extent":{"__isSmartRef__":true,"id":1922},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1923},"fill":{"__isSmartRef__":true,"id":1924},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"1921":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1922":{"x":116,"y":39,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1923":{"r":0,"g":0,"b":0,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global"},"1924":{"r":0,"g":0,"b":0.8,"a":1,"__LivelyClassName__":"Color","__SourceModuleName__":"Global"},"1925":{"morph":{"__isSmartRef__":true,"id":1919},"dispatchTable":{"__isSmartRef__":true,"id":1926},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1926":{"mouseup":{"__isSmartRef__":true,"id":1927},"mousedown":{"__isSmartRef__":true,"id":1928},"mousewheel":{"__isSmartRef__":true,"id":1929}},"1927":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1919},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1928":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1919},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1929":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1919},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1930":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1931":{"resizeWidth":true,"resizeHeight":true},"1932":{"position":{"__isSmartRef__":true,"id":1933},"extent":{"__isSmartRef__":true,"id":1934},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1923},"fill":{"__isSmartRef__":true,"id":1924},"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes"},"1933":{"x":0,"y":0,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1934":{"x":166,"y":95,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1935":{"morph":{"__isSmartRef__":true,"id":1918},"dispatchTable":{"__isSmartRef__":true,"id":1936},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"1936":{"mouseup":{"__isSmartRef__":true,"id":1937},"mousedown":{"__isSmartRef__":true,"id":1938},"mousewheel":{"__isSmartRef__":true,"id":1939}},"1937":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1918},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1938":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1918},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1939":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1918},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1940":{"x":940,"y":373,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1941":{"adjustForNewBounds":true},"1942":{"x":166,"y":95,"__LivelyClassName__":"Point","__SourceModuleName__":"Global"},"1943":{"position":{"__isSmartRef__":true,"id":1944},"extent":{"__isSmartRef__":true,"id":1945},"fill":{"__isSmartRef__":true,"id":1946},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1944":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1945":{"x":2800,"y":2900,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1946":{"r":0.9,"g":0.9,"b":0.9,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"1947":{"morph":{"__isSmartRef__":true,"id":0},"dispatchTable":{"__isSmartRef__":true,"id":1948},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1948":{"contextmenu":{"__isSmartRef__":true,"id":1949},"mouseup":{"__isSmartRef__":true,"id":1950},"mousedown":{"__isSmartRef__":true,"id":1951},"mousemove":{"__isSmartRef__":true,"id":1952},"selectstart":{"__isSmartRef__":true,"id":1953},"keydown":{"__isSmartRef__":true,"id":1954}},"1949":{"type":"contextmenu","target":{"__isSmartRef__":true,"id":0},"targetMethodName":"onContextMenu","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1950":{"type":"mouseup","target":{"__isSmartRef__":true,"id":0},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1951":{"type":"mousedown","target":{"__isSmartRef__":true,"id":0},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1952":{"type":"mousemove","target":{"__isSmartRef__":true,"id":0},"targetMethodName":"onMouseMove","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1953":{"type":"selectstart","target":{"__isSmartRef__":true,"id":0},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1954":{"type":"keydown","target":{"__isSmartRef__":true,"id":1955},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1955":{"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":1956},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"auto","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1959},"_Position":{"__isSmartRef__":true,"id":1968},"_MaxTextWidth":814,"_MaxTextHeight":296,"textColor":{"__isSmartRef__":true,"id":893},"owner":{"__isSmartRef__":true,"id":1969},"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"},"1956":{"position":{"__isSmartRef__":true,"id":1957},"extent":{"__isSmartRef__":true,"id":1958},"borderWidth":2,"borderColor":{"__isSmartRef__":true,"id":893},"fill":{"__isSmartRef__":true,"id":894},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1957":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1958":{"x":814,"y":296,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1959":{"morph":{"__isSmartRef__":true,"id":1955},"dispatchTable":{"__isSmartRef__":true,"id":1960},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1960":{"mouseup":{"__isSmartRef__":true,"id":1961},"mousedown":{"__isSmartRef__":true,"id":1962},"selectstart":{"__isSmartRef__":true,"id":1963},"mousewheel":{"__isSmartRef__":true,"id":1964},"keydown":{"__isSmartRef__":true,"id":1965},"keyup":{"__isSmartRef__":true,"id":1966},"keypress":{"__isSmartRef__":true,"id":1967}},"1961":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1955},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1962":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1955},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1963":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1955},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1964":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1955},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1965":{"type":"keydown","target":{"__isSmartRef__":true,"id":1955},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1966":{"type":"keyup","target":{"__isSmartRef__":true,"id":1955},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1967":{"type":"keypress","target":{"__isSmartRef__":true,"id":1955},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1968":{"x":0,"y":28.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1969":{"submorphs":[{"__isSmartRef__":true,"id":1955},{"__isSmartRef__":true,"id":1970}],"scripts":[],"id":32,"shape":{"__isSmartRef__":true,"id":2082},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":2084},"_Position":{"__isSmartRef__":true,"id":2089},"targetMorph":{"__isSmartRef__":true,"id":1955},"titleBar":{"__isSmartRef__":true,"id":1970},"contentOffset":{"__isSmartRef__":true,"id":1968},"collapsedTransform":null,"collapsedExtent":null,"expandedTransform":null,"expandedExtent":null,"ignoreEventsOnExpand":false,"owner":null,"showsHalos":false,"halos":[],"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Window"},"1970":{"submorphs":[{"__isSmartRef__":true,"id":1971},{"__isSmartRef__":true,"id":1981},{"__isSmartRef__":true,"id":1995},{"__isSmartRef__":true,"id":2021},{"__isSmartRef__":true,"id":2047}],"scripts":[],"id":33,"shape":{"__isSmartRef__":true,"id":2073},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":2076},"_Position":{"__isSmartRef__":true,"id":2081},"eventsAreIgnored":true,"contentMorph":{"__isSmartRef__":true,"id":1971},"windowMorph":{"__isSmartRef__":true,"id":1969},"label":{"__isSmartRef__":true,"id":1981},"closeButton":{"__isSmartRef__":true,"id":1995},"menuButton":{"__isSmartRef__":true,"id":2021},"collapseButton":{"__isSmartRef__":true,"id":2047},"owner":{"__isSmartRef__":true,"id":1969},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.TitleBar"},"1971":{"submorphs":[],"scripts":[],"id":34,"shape":{"__isSmartRef__":true,"id":1972},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1975},"_Position":{"__isSmartRef__":true,"id":1980},"owner":{"__isSmartRef__":true,"id":1970},"eventsAreIgnored":true,"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Box"},"1972":{"position":{"__isSmartRef__":true,"id":1973},"extent":{"__isSmartRef__":true,"id":1974},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":893},"fill":{"__isSmartRef__":true,"id":910},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1973":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1974":{"x":500,"y":25,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1975":{"morph":{"__isSmartRef__":true,"id":1971},"dispatchTable":{"__isSmartRef__":true,"id":1976},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1976":{"mouseup":{"__isSmartRef__":true,"id":1977},"mousedown":{"__isSmartRef__":true,"id":1978},"mousewheel":{"__isSmartRef__":true,"id":1979}},"1977":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1971},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1978":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1971},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1979":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1971},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1980":{"x":0.5,"y":0.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1981":{"submorphs":[],"scripts":[],"id":35,"cachedTextString":"Workspace","shape":{"__isSmartRef__":true,"id":1982},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":1985},"_Position":{"__isSmartRef__":true,"id":1994},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":893},"isLabel":true,"eventsAreIgnored":true,"padding":{"__isSmartRef__":true,"id":931},"owner":{"__isSmartRef__":true,"id":1970},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1982":{"position":{"__isSmartRef__":true,"id":1983},"extent":{"__isSmartRef__":true,"id":1984},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":893},"fill":null,"borderRadius":8,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1983":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1984":{"x":72,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1985":{"morph":{"__isSmartRef__":true,"id":1981},"dispatchTable":{"__isSmartRef__":true,"id":1986},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"1986":{"mouseup":{"__isSmartRef__":true,"id":1987},"mousedown":{"__isSmartRef__":true,"id":1988},"selectstart":{"__isSmartRef__":true,"id":1989},"mousewheel":{"__isSmartRef__":true,"id":1990},"keydown":{"__isSmartRef__":true,"id":1991},"keyup":{"__isSmartRef__":true,"id":1992},"keypress":{"__isSmartRef__":true,"id":1993}},"1987":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1981},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1988":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1981},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1989":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1981},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1990":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1981},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1991":{"type":"keydown","target":{"__isSmartRef__":true,"id":1981},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1992":{"type":"keyup","target":{"__isSmartRef__":true,"id":1981},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1993":{"type":"keypress","target":{"__isSmartRef__":true,"id":1981},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"1994":{"x":214,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1995":{"submorphs":[{"__isSmartRef__":true,"id":1996}],"scripts":[],"id":36,"shape":{"__isSmartRef__":true,"id":2010},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":2013},"label":{"__isSmartRef__":true,"id":1996},"owner":{"__isSmartRef__":true,"id":1970},"attributeConnections":[{"__isSmartRef__":true,"id":2018},{"__isSmartRef__":true,"id":2019}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":2020},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"1996":{"submorphs":[],"scripts":[],"id":37,"cachedTextString":"X","shape":{"__isSmartRef__":true,"id":1997},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":2000},"_Position":{"__isSmartRef__":true,"id":2009},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":893},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":1995},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"1997":{"position":{"__isSmartRef__":true,"id":1998},"extent":{"__isSmartRef__":true,"id":1999},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":893},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"1998":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"1999":{"x":20,"y":20,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2000":{"morph":{"__isSmartRef__":true,"id":1996},"dispatchTable":{"__isSmartRef__":true,"id":2001},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"2001":{"mouseup":{"__isSmartRef__":true,"id":2002},"mousedown":{"__isSmartRef__":true,"id":2003},"selectstart":{"__isSmartRef__":true,"id":2004},"mousewheel":{"__isSmartRef__":true,"id":2005},"keydown":{"__isSmartRef__":true,"id":2006},"keyup":{"__isSmartRef__":true,"id":2007},"keypress":{"__isSmartRef__":true,"id":2008}},"2002":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1996},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2003":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1996},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2004":{"type":"selectstart","target":{"__isSmartRef__":true,"id":1996},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2005":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1996},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2006":{"type":"keydown","target":{"__isSmartRef__":true,"id":1996},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2007":{"type":"keyup","target":{"__isSmartRef__":true,"id":1996},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2008":{"type":"keypress","target":{"__isSmartRef__":true,"id":1996},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2009":{"x":-4,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2010":{"position":{"__isSmartRef__":true,"id":2011},"extent":{"__isSmartRef__":true,"id":2012},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"2011":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2012":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2013":{"morph":{"__isSmartRef__":true,"id":1995},"dispatchTable":{"__isSmartRef__":true,"id":2014},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"2014":{"mouseup":{"__isSmartRef__":true,"id":2015},"mousedown":{"__isSmartRef__":true,"id":2016},"mousewheel":{"__isSmartRef__":true,"id":2017}},"2015":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1995},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2016":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1995},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2017":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1995},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2018":{"sourceObj":{"__isSmartRef__":true,"id":1995},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1969},"targetMethodName":"getCloseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"2019":{"sourceObj":{"__isSmartRef__":true,"id":1995},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1969},"targetMethodName":"initiateShutdown","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"2020":{"x":481,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2021":{"submorphs":[{"__isSmartRef__":true,"id":2022}],"scripts":[],"id":38,"shape":{"__isSmartRef__":true,"id":2036},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":2039},"label":{"__isSmartRef__":true,"id":2022},"owner":{"__isSmartRef__":true,"id":1970},"attributeConnections":[{"__isSmartRef__":true,"id":2044},{"__isSmartRef__":true,"id":2045}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":2046},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"2022":{"submorphs":[],"scripts":[],"id":39,"cachedTextString":"M","shape":{"__isSmartRef__":true,"id":2023},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":2026},"_Position":{"__isSmartRef__":true,"id":2035},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":893},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":2021},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"2023":{"position":{"__isSmartRef__":true,"id":2024},"extent":{"__isSmartRef__":true,"id":2025},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":893},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"2024":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2025":{"x":20,"y":20,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2026":{"morph":{"__isSmartRef__":true,"id":2022},"dispatchTable":{"__isSmartRef__":true,"id":2027},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"2027":{"mouseup":{"__isSmartRef__":true,"id":2028},"mousedown":{"__isSmartRef__":true,"id":2029},"selectstart":{"__isSmartRef__":true,"id":2030},"mousewheel":{"__isSmartRef__":true,"id":2031},"keydown":{"__isSmartRef__":true,"id":2032},"keyup":{"__isSmartRef__":true,"id":2033},"keypress":{"__isSmartRef__":true,"id":2034}},"2028":{"type":"mouseup","target":{"__isSmartRef__":true,"id":2022},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2029":{"type":"mousedown","target":{"__isSmartRef__":true,"id":2022},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2030":{"type":"selectstart","target":{"__isSmartRef__":true,"id":2022},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2031":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":2022},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2032":{"type":"keydown","target":{"__isSmartRef__":true,"id":2022},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2033":{"type":"keyup","target":{"__isSmartRef__":true,"id":2022},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2034":{"type":"keypress","target":{"__isSmartRef__":true,"id":2022},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2035":{"x":-5,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2036":{"position":{"__isSmartRef__":true,"id":2037},"extent":{"__isSmartRef__":true,"id":2038},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"2037":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2038":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2039":{"morph":{"__isSmartRef__":true,"id":2021},"dispatchTable":{"__isSmartRef__":true,"id":2040},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"2040":{"mouseup":{"__isSmartRef__":true,"id":2041},"mousedown":{"__isSmartRef__":true,"id":2042},"mousewheel":{"__isSmartRef__":true,"id":2043}},"2041":{"type":"mouseup","target":{"__isSmartRef__":true,"id":2021},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2042":{"type":"mousedown","target":{"__isSmartRef__":true,"id":2021},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2043":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":2021},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2044":{"sourceObj":{"__isSmartRef__":true,"id":2021},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1969},"targetMethodName":"getMenuHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"2045":{"sourceObj":{"__isSmartRef__":true,"id":2021},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1969},"targetMethodName":"showTargetMorphMenu","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"2046":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2047":{"submorphs":[{"__isSmartRef__":true,"id":2048}],"scripts":[],"id":40,"shape":{"__isSmartRef__":true,"id":2062},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":2065},"label":{"__isSmartRef__":true,"id":2048},"owner":{"__isSmartRef__":true,"id":1970},"attributeConnections":[{"__isSmartRef__":true,"id":2070},{"__isSmartRef__":true,"id":2071}],"doNotSerialize":["$$getHelpText","$$fire"],"doNotCopyProperties":["$$getHelpText","$$fire"],"_Position":{"__isSmartRef__":true,"id":2072},"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.WindowControl"},"2048":{"submorphs":[],"scripts":[],"id":41,"cachedTextString":"–","shape":{"__isSmartRef__":true,"id":2049},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":false,"allowsInput":false,"_OverflowMode":"visible","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":2052},"_Position":{"__isSmartRef__":true,"id":2061},"_MaxTextWidth":null,"_MaxTextHeight":null,"textColor":{"__isSmartRef__":true,"id":893},"isLabel":true,"eventsAreIgnored":true,"owner":{"__isSmartRef__":true,"id":2047},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"2049":{"position":{"__isSmartRef__":true,"id":2050},"extent":{"__isSmartRef__":true,"id":2051},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":893},"fill":null,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"2050":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2051":{"x":20,"y":20,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2052":{"morph":{"__isSmartRef__":true,"id":2048},"dispatchTable":{"__isSmartRef__":true,"id":2053},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"2053":{"mouseup":{"__isSmartRef__":true,"id":2054},"mousedown":{"__isSmartRef__":true,"id":2055},"selectstart":{"__isSmartRef__":true,"id":2056},"mousewheel":{"__isSmartRef__":true,"id":2057},"keydown":{"__isSmartRef__":true,"id":2058},"keyup":{"__isSmartRef__":true,"id":2059},"keypress":{"__isSmartRef__":true,"id":2060}},"2054":{"type":"mouseup","target":{"__isSmartRef__":true,"id":2048},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2055":{"type":"mousedown","target":{"__isSmartRef__":true,"id":2048},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2056":{"type":"selectstart","target":{"__isSmartRef__":true,"id":2048},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2057":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":2048},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2058":{"type":"keydown","target":{"__isSmartRef__":true,"id":2048},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2059":{"type":"keyup","target":{"__isSmartRef__":true,"id":2048},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2060":{"type":"keypress","target":{"__isSmartRef__":true,"id":2048},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2061":{"x":-3,"y":-6,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2062":{"position":{"__isSmartRef__":true,"id":2063},"extent":{"__isSmartRef__":true,"id":2064},"borderWidth":0,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Ellipse"},"2063":{"x":3,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2064":{"x":16,"y":16,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2065":{"morph":{"__isSmartRef__":true,"id":2047},"dispatchTable":{"__isSmartRef__":true,"id":2066},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"2066":{"mouseup":{"__isSmartRef__":true,"id":2067},"mousedown":{"__isSmartRef__":true,"id":2068},"mousewheel":{"__isSmartRef__":true,"id":2069}},"2067":{"type":"mouseup","target":{"__isSmartRef__":true,"id":2047},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2068":{"type":"mousedown","target":{"__isSmartRef__":true,"id":2047},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2069":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":2047},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2070":{"sourceObj":{"__isSmartRef__":true,"id":2047},"sourceAttrName":"getHelpText","targetObj":{"__isSmartRef__":true,"id":1969},"targetMethodName":"getCollapseHelp","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"2071":{"sourceObj":{"__isSmartRef__":true,"id":2047},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":1969},"targetMethodName":"toggleCollapse","__SourceModuleName__":"Global.lively.bindings","__LivelyClassName__":"AttributeConnection"},"2072":{"x":462,"y":3,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2073":{"position":{"__isSmartRef__":true,"id":2074},"extent":{"__isSmartRef__":true,"id":2075},"borderWidth":0,"fill":null,"strokeOpacity":0,"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"2074":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2075":{"x":500,"y":22,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2076":{"morph":{"__isSmartRef__":true,"id":1970},"dispatchTable":{"__isSmartRef__":true,"id":2077},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"2077":{"mouseup":{"__isSmartRef__":true,"id":2078},"mousedown":{"__isSmartRef__":true,"id":2079},"mousewheel":{"__isSmartRef__":true,"id":2080}},"2078":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1970},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2079":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1970},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2080":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1970},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2081":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2082":{"borderWidth":0,"fill":null,"strokeOpacity":0,"borderRadius":0,"extent":{"__isSmartRef__":true,"id":2083},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"2083":{"x":522,"y":240.5,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2084":{"morph":{"__isSmartRef__":true,"id":1969},"dispatchTable":{"__isSmartRef__":true,"id":2085},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"2085":{"mouseup":{"__isSmartRef__":true,"id":2086},"mousedown":{"__isSmartRef__":true,"id":2087},"mousewheel":{"__isSmartRef__":true,"id":2088}},"2086":{"type":"mouseup","target":{"__isSmartRef__":true,"id":1969},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2087":{"type":"mousedown","target":{"__isSmartRef__":true,"id":1969},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2088":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":1969},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2089":{"x":1057,"y":193,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2090":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2091":{"name":"Local code","__LivelyClassName__":"ChangeSet","__SourceModuleName__":"Global.lively.ChangeSet"},"2092":{"submorphs":[{"__isSmartRef__":true,"id":2093},{"__isSmartRef__":true,"id":2109},{"__isSmartRef__":true,"id":2125}],"scripts":[],"id":946,"shape":{"__isSmartRef__":true,"id":2141},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":2144},"_Position":{"__isSmartRef__":true,"id":2149},"items":[{"__isSmartRef__":true,"id":2150},{"__isSmartRef__":true,"id":2151}],"itemMorphs":[{"__isSmartRef__":true,"id":2109},{"__isSmartRef__":true,"id":2125}],"title":{"__isSmartRef__":true,"id":2093},"owner":null,"__SourceModuleName__":"Global.lively.morphic.Widgets","__LivelyClassName__":"lively.morphic.Menu"},"2093":{"submorphs":[],"scripts":[],"id":947,"cachedTextString":"","shape":{"__isSmartRef__":true,"id":2094},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":true,"allowsInput":false,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":2098},"_Position":{"__isSmartRef__":true,"id":2107},"_MaxTextWidth":null,"_MaxTextHeight":30,"textColor":{"__isSmartRef__":true,"id":1465},"isLabel":true,"eventsAreIgnored":true,"_Padding":{"__isSmartRef__":true,"id":2108},"owner":{"__isSmartRef__":true,"id":2092},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"2094":{"position":{"__isSmartRef__":true,"id":2095},"extent":{"__isSmartRef__":true,"id":2096},"borderWidth":0,"borderColor":{"__isSmartRef__":true,"id":1465},"fill":{"__isSmartRef__":true,"id":2097},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"2095":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2096":{"x":200,"y":30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2097":{"r":1,"g":1,"b":1,"a":1,"__SourceModuleName__":"Global","__LivelyClassName__":"Color"},"2098":{"morph":{"__isSmartRef__":true,"id":2093},"dispatchTable":{"__isSmartRef__":true,"id":2099},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"2099":{"mouseup":{"__isSmartRef__":true,"id":2100},"mousedown":{"__isSmartRef__":true,"id":2101},"selectstart":{"__isSmartRef__":true,"id":2102},"mousewheel":{"__isSmartRef__":true,"id":2103},"keydown":{"__isSmartRef__":true,"id":2104},"keyup":{"__isSmartRef__":true,"id":2105},"keypress":{"__isSmartRef__":true,"id":2106}},"2100":{"type":"mouseup","target":{"__isSmartRef__":true,"id":2093},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2101":{"type":"mousedown","target":{"__isSmartRef__":true,"id":2093},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2102":{"type":"selectstart","target":{"__isSmartRef__":true,"id":2093},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2103":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":2093},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2104":{"type":"keydown","target":{"__isSmartRef__":true,"id":2093},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2105":{"type":"keyup","target":{"__isSmartRef__":true,"id":2093},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2106":{"type":"keypress","target":{"__isSmartRef__":true,"id":2093},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2107":{"x":0,"y":-30,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2108":{"x":5,"y":5,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"2109":{"submorphs":[],"scripts":[],"id":948,"cachedTextString":"Tools","shape":{"__isSmartRef__":true,"id":2110},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":2113},"_Position":{"__isSmartRef__":true,"id":2123},"_MaxTextWidth":null,"_MaxTextHeight":28,"textColor":{"__isSmartRef__":true,"id":1465},"owner":{"__isSmartRef__":true,"id":2092},"_Padding":{"__isSmartRef__":true,"id":2124},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"2110":{"position":{"__isSmartRef__":true,"id":2111},"extent":{"__isSmartRef__":true,"id":2112},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1465},"fill":{"__isSmartRef__":true,"id":1466},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"2111":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2112":{"x":100,"y":28,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2113":{"morph":{"__isSmartRef__":true,"id":2109},"dispatchTable":{"__isSmartRef__":true,"id":2114},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"2114":{"mouseup":{"__isSmartRef__":true,"id":2115},"mousedown":{"__isSmartRef__":true,"id":2116},"selectstart":{"__isSmartRef__":true,"id":2117},"mousewheel":{"__isSmartRef__":true,"id":2118},"keydown":{"__isSmartRef__":true,"id":2119},"keyup":{"__isSmartRef__":true,"id":2120},"keypress":{"__isSmartRef__":true,"id":2121},"mouseover":{"__isSmartRef__":true,"id":2122}},"2115":{"type":"mouseup","target":{"__isSmartRef__":true,"id":2109},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2116":{"type":"mousedown","target":{"__isSmartRef__":true,"id":2109},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2117":{"type":"selectstart","target":{"__isSmartRef__":true,"id":2109},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2118":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":2109},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2119":{"type":"keydown","target":{"__isSmartRef__":true,"id":2109},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2120":{"type":"keyup","target":{"__isSmartRef__":true,"id":2109},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2121":{"type":"keypress","target":{"__isSmartRef__":true,"id":2109},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2122":{"type":"mouseover","target":{"__isSmartRef__":true,"id":2109},"targetMethodName":"onMouseOver","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2123":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2124":{"x":3,"y":3,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"2125":{"submorphs":[],"scripts":[],"id":949,"cachedTextString":"save world","shape":{"__isSmartRef__":true,"id":2126},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":false,"fixedHeight":true,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Helvetica","registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":2129},"_Position":{"__isSmartRef__":true,"id":2139},"_MaxTextWidth":null,"_MaxTextHeight":28,"textColor":{"__isSmartRef__":true,"id":1465},"owner":{"__isSmartRef__":true,"id":2092},"_Padding":{"__isSmartRef__":true,"id":2140},"__SourceModuleName__":"Global.lively.morphic.Core","__LivelyClassName__":"lively.morphic.Text"},"2126":{"position":{"__isSmartRef__":true,"id":2127},"extent":{"__isSmartRef__":true,"id":2128},"borderWidth":1,"borderColor":{"__isSmartRef__":true,"id":1465},"fill":{"__isSmartRef__":true,"id":1466},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"2127":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2128":{"x":100,"y":28,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2129":{"morph":{"__isSmartRef__":true,"id":2125},"dispatchTable":{"__isSmartRef__":true,"id":2130},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"2130":{"mouseup":{"__isSmartRef__":true,"id":2131},"mousedown":{"__isSmartRef__":true,"id":2132},"selectstart":{"__isSmartRef__":true,"id":2133},"mousewheel":{"__isSmartRef__":true,"id":2134},"keydown":{"__isSmartRef__":true,"id":2135},"keyup":{"__isSmartRef__":true,"id":2136},"keypress":{"__isSmartRef__":true,"id":2137},"mouseover":{"__isSmartRef__":true,"id":2138}},"2131":{"type":"mouseup","target":{"__isSmartRef__":true,"id":2125},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2132":{"type":"mousedown","target":{"__isSmartRef__":true,"id":2125},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2133":{"type":"selectstart","target":{"__isSmartRef__":true,"id":2125},"targetMethodName":"onSelectStart","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2134":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":2125},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2135":{"type":"keydown","target":{"__isSmartRef__":true,"id":2125},"targetMethodName":"onKeyDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2136":{"type":"keyup","target":{"__isSmartRef__":true,"id":2125},"targetMethodName":"onKeyUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2137":{"type":"keypress","target":{"__isSmartRef__":true,"id":2125},"targetMethodName":"onKeyPress","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2138":{"type":"mouseover","target":{"__isSmartRef__":true,"id":2125},"targetMethodName":"onMouseOver","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2139":{"x":0,"y":28,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2140":{"x":3,"y":3,"width":0,"height":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Rectangle"},"2141":{"position":{"__isSmartRef__":true,"id":2142},"extent":{"__isSmartRef__":true,"id":2143},"fill":{"__isSmartRef__":true,"id":2097},"__SourceModuleName__":"Global.lively.morphic.Shapes","__LivelyClassName__":"lively.morphic.Shapes.Rectangle"},"2142":{"x":0,"y":0,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2143":{"x":100,"y":56,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2144":{"morph":{"__isSmartRef__":true,"id":2092},"dispatchTable":{"__isSmartRef__":true,"id":2145},"__SourceModuleName__":"Global.lively.morphic.Events","__LivelyClassName__":"lively.morphic.EventHandler"},"2145":{"mouseup":{"__isSmartRef__":true,"id":2146},"mousedown":{"__isSmartRef__":true,"id":2147},"mousewheel":{"__isSmartRef__":true,"id":2148}},"2146":{"type":"mouseup","target":{"__isSmartRef__":true,"id":2092},"targetMethodName":"onMouseUp","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2147":{"type":"mousedown","target":{"__isSmartRef__":true,"id":2092},"targetMethodName":"onMouseDown","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2148":{"type":"mousewheel","target":{"__isSmartRef__":true,"id":2092},"targetMethodName":"onMouseWheel","handleOnCapture":false,"doNotSerialize":["node"],"unregisterMethodName":"unregisterHTMLAndSVGAndCANVAS"},"2149":{"x":1342,"y":114,"__SourceModuleName__":"Global","__LivelyClassName__":"Point"},"2150":{"isMenuItem":true,"string":"Tools","value":"Tools","idx":0,"onClickCallback":null},"2151":{"isMenuItem":true,"string":"save world","value":"save world","idx":1},"isSimplifiedRegistry":true}}]]>