{"id":0,"registry":{"0":{"submorphs":[{"__isSmartRef__":true,"id":1},{"__isSmartRef__":true,"id":118},{"__isSmartRef__":true,"id":281},{"__isSmartRef__":true,"id":285}],"scripts":[],"id":"708259F1-A0A7-4C9C-A9D3-184115079469","shape":{"__isSmartRef__":true,"id":289},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"Presentation","partsBinMetaInfo":{"__isSmartRef__":true,"id":290},"eventHandler":{"__isSmartRef__":true,"id":314},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","BD8BECDB-A9A1-4009-B433-C925F0AFCCFC","F2677A9D-5855-4DF2-B248-94545B34B762","D52188B3-7DC0-410E-96B1-50892AC00A37","5F95B053-599E-46D8-BEB1-D78728E0A314"],"partTests":{"__isSmartRef__":true,"id":315},"_ClipMode":"visible","moved":true,"slides":[{"__isSmartRef__":true,"id":1}],"currentSlide":0,"slidesByTopic":[],"masterMorphs":[{"__isSmartRef__":true,"id":281},{"__isSmartRef__":true,"id":285}],"currentSlideMorph":{"__isSmartRef__":true,"id":1},"presentationName":"Presentation-rick-2014-12-23","presentationbar":{"__isSmartRef__":true,"id":320},"slideTemplate":{"__isSmartRef__":true,"id":464},"doNotSerialize":["masterSaveButton","stopShowButton","slideBuilder","slideSorter","slideBrowser"],"currentSlideNumber":0,"attributeConnections":[{"__isSmartRef__":true,"id":581},{"__isSmartRef__":true,"id":746}],"doNotCopyProperties":["$$currentSlideNumber"],"$$currentSlideNumber":0,"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"menuBar":{"__isSmartRef__":true,"id":118},"presentationBar":{"__isSmartRef__":true,"id":748},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":892},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)","distanceToDragEvent":"lively.pt(674.0,-12.0)"},"1":{"submorphs":[{"__isSmartRef__":true,"id":2}],"scripts":[],"id":"0FF4C16A-5A73-42EA-9FE3-D789D151E64F","shape":{"__isSmartRef__":true,"id":28},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"Slide","partsBinMetaInfo":{"__isSmartRef__":true,"id":29},"eventHandler":{"__isSmartRef__":true,"id":56},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","BD8BECDB-A9A1-4009-B433-C925F0AFCCFC","F2677A9D-5855-4DF2-B248-94545B34B762","D52188B3-7DC0-410E-96B1-50892AC00A37","6575457B-734F-4449-94E9-08A5A5412CAC","D089F7E0-731E-4D8F-9B1A-714D6A4938D0","42ED7D5C-FA86-489A-8C4D-7F85EE4670EB","53EDECEC-76E9-4770-800B-E0AD23921D1A","EC4BA45F-1E0D-41BE-8FA2-057FB2F2C7C0","AC0BEDAF-F187-441D-A366-2EC06E796002","23A0A1A3-44E9-46AE-8720-78AD1B576C56","D2CC7301-C6FA-4591-A288-5D4D9CB6D101","DCC6A217-9DD8-4B93-BFB2-7E209B00B88C","D6D9317E-2A24-4DF1-B215-43A4904F8F47","9BCEA815-F6D7-427D-9887-3A428EC0CF1D","8E78F105-B50D-4A5B-BC2D-8511F8A78901"],"partTests":{"__isSmartRef__":true,"id":57},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"image":{"__isSmartRef__":true,"id":62},"owner":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":66},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)","distanceToDragEvent":"lively.pt(691.0,-16.0)"},"2":{"submorphs":[],"scripts":[],"id":"21E381CD-062B-458B-972B-657E55D66999","shape":{"__isSmartRef__":true,"id":3},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":40,"name":"Title","partsBinMetaInfo":{"__isSmartRef__":true,"id":4},"textChunks":[{"__isSmartRef__":true,"id":14}],"charsReplaced":"Slide Title","lastFindLoc":11,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":16},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","F1D26890-7392-487D-B5DE-97C772B4E79E","59440FC5-E676-4B9B-A828-C150A05765C0","021D41A0-C172-475A-9F8B-E57A555FCA49","B4A7EA65-15D9-49D0-99E9-5B627D39B0C7","2B575298-A1E4-474F-A10D-0EC166AFDBDA","3407BCF3-1062-4E46-94EC-5A70D24B7868","63F29640-2868-4B22-8DC0-A15352CAD608","87A15FDA-8123-4388-8E86-C6B73B654C57","71CBD303-C850-49E6-B024-2DA61DFF1C90","1A1E7518-295D-40CF-BF7E-A641801D5699","2D96F799-C435-4F59-BE55-C9093B737FC6","39BB9B94-F5E9-46CC-B9A6-7BA50FC1CBB5","967480DC-D3A6-476A-90C4-5E7BDA638423"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"previousSelection":[5,5],"isBeingDragged":false,"moved":true,"layout":{"__isSmartRef__":true,"id":17},"owner":{"__isSmartRef__":true,"id":1},"_Align":"center","__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent","_TextColor"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":18},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(226.6,222.0)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(397.4,-6.0)","_TextColor":"Color.rgb(0,0,0)"},"3":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(589.7,140.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"4":{"partsSpaceName":"PartsBin/Presentation","migrationLevel":8,"comment":"A slide title, with a hook to do indexing.","partName":"Title","changes":[{"__isSmartRef__":true,"id":5},{"__isSmartRef__":true,"id":6},{"__isSmartRef__":true,"id":7},{"__isSmartRef__":true,"id":8},{"__isSmartRef__":true,"id":9},{"__isSmartRef__":true,"id":10},{"__isSmartRef__":true,"id":11},{"__isSmartRef__":true,"id":12},{"__isSmartRef__":true,"id":13}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Sun Nov 23 2014 12:55:08 GMT-0800 (PST)\")"},"5":{"author":"robertkrahn","message":"resizeWidth = true","id":"E402462A-7AB2-487B-82BD-A3369C1C1F75","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 05 2014 01:58:52 GMT-0700 (PDT)\")"},"6":{"author":"jenslincke","message":"no comment","id":"9E495E1B-6E6D-4A89-9F9E-85AF618DC598","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 10:36:22 GMT-0700 (PDT)\")"},"7":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:30:30 GMT-0700 (PDT)\")"},"8":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)).  This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Sun Feb 26 2012 21:20:38 GMT-0800 (PST)\")"},"9":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Fri Apr 20 2012 22:31:43 GMT-0700 (PDT)\")"},"10":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Fri Apr 20 2012 22:32:09 GMT-0700 (PDT)\")"},"11":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 05:18:18 GMT-0700 (PDT)\")"},"12":{"author":"jenslincke","message":"no comment","id":"A3BA0C1E-7E83-43BF-9EC6-4F4BB3835D62","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 09:31:56 GMT-0700 (PDT)\")"},"13":{"author":"rick","message":"no comment","id":"D6140411-76F1-4988-AC6B-9C17799AA4B0","__serializedExpressions__":["date"],"date":"new Date(\"Sun Nov 23 2014 12:55:05 GMT-0800 (PST)\")"},"14":{"style":{"__isSmartRef__":true,"id":15},"morph":{"__isSmartRef__":true,"id":2},"chunkOwner":{"__isSmartRef__":true,"id":2},"storedString":"Lively Presentation Template","_id":"_100","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"15":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"16":{"morph":{"__isSmartRef__":true,"id":2},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"17":{"resizeWidth":true},"18":{"getPageIndexTerm":{"__isSmartRef__":true,"id":19},"setPageIndexTerm":{"__isSmartRef__":true,"id":22},"clearPageIndexTerm":{"__isSmartRef__":true,"id":25}},"19":{"varMapping":{"__isSmartRef__":true,"id":20},"source":"function getPageIndexTerm() {\n    if (!this.pageIndexTerm) {\n        return this.getTextString()\n    }\n    return this.pageIndexTerm;\n}","funcProperties":{"__isSmartRef__":true,"id":21},"__LivelyClassName__":"lively.Closure"},"20":{"this":{"__isSmartRef__":true,"id":2}},"21":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 12:51:52 GMT-0800 (PST)\")"},"22":{"varMapping":{"__isSmartRef__":true,"id":23},"source":"function setPageIndexTerm(aString) {\n   this.pageIndexTerm = aString;\n}","funcProperties":{"__isSmartRef__":true,"id":24},"__LivelyClassName__":"lively.Closure"},"23":{"this":{"__isSmartRef__":true,"id":2}},"24":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 12:52:34 GMT-0800 (PST)\")"},"25":{"varMapping":{"__isSmartRef__":true,"id":26},"source":"function clearPageIndexTerm() {\n    this.pageIndexTerm = null;\n    \n}","funcProperties":{"__isSmartRef__":true,"id":27},"__LivelyClassName__":"lively.Closure"},"26":{"this":{"__isSmartRef__":true,"id":2}},"27":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 12:52:54 GMT-0800 (PST)\")"},"28":{"_BorderWidth":2.5,"_ClipMode":"visible","_BorderRadius":15,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(1024.0,768.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(238,238,238)","_Padding":"lively.rect(0,0,0,0)"},"29":{"partsSpaceName":"PartsBin/Presentation","comment":"A template slide to be used with the presentation","migrationLevel":9,"partName":"SlideTemplate","changes":[{"__isSmartRef__":true,"id":30},{"__isSmartRef__":true,"id":31},{"__isSmartRef__":true,"id":32},{"__isSmartRef__":true,"id":33},{"__isSmartRef__":true,"id":34},{"__isSmartRef__":true,"id":35},{"__isSmartRef__":true,"id":36},{"__isSmartRef__":true,"id":37},{"__isSmartRef__":true,"id":38},{"__isSmartRef__":true,"id":39},{"__isSmartRef__":true,"id":40},{"__isSmartRef__":true,"id":41},{"__isSmartRef__":true,"id":42},{"__isSmartRef__":true,"id":43},{"__isSmartRef__":true,"id":44},{"__isSmartRef__":true,"id":45},{"__isSmartRef__":true,"id":46},{"__isSmartRef__":true,"id":47},{"__isSmartRef__":true,"id":48},{"__isSmartRef__":true,"id":49},{"__isSmartRef__":true,"id":50},{"__isSmartRef__":true,"id":51},{"__isSmartRef__":true,"id":52},{"__isSmartRef__":true,"id":53},{"__isSmartRef__":true,"id":54},{"__isSmartRef__":true,"id":55}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Dec 09 2014 18:28:23 GMT-0800 (PST)\")"},"30":{"author":"rick","message":"no comment","id":"EA9B1A13-2911-48AB-942E-6895277F6D14","__serializedExpressions__":["date"],"date":"new Date(\"Sun Nov 30 2014 15:17:27 GMT-0800 (PST)\")"},"31":{"author":"rick","message":"no comment","id":"BB3417B4-D037-4CF6-A189-AB90423126D0","__serializedExpressions__":["date"],"date":"new Date(\"Mon Nov 24 2014 09:06:08 GMT-0800 (PST)\")"},"32":{"author":"rick","message":"no comment","id":"B5209D58-DBAE-4D61-88A6-EA55F98ECBFE","__serializedExpressions__":["date"],"date":"new Date(\"Sun Nov 23 2014 18:26:07 GMT-0800 (PST)\")"},"33":{"author":"robertkrahn","message":"no comment","id":"FBBB9C99-B61C-4D5F-8750-6E2987DF0C9C","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jun 20 2013 15:16:24 GMT-0700 (PDT)\")"},"34":{"author":"robertkrahn","message":"no comment","id":"67FD74CD-7AE4-4050-ADC7-4DF73804258D","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 30 2013 00:18:06 GMT-0700 (PDT)\")"},"35":{"author":"jenslincke","message":"no comment","id":"AEB2F41B-2C88-4BBA-8875-93CD17CBA1C8","__serializedExpressions__":["date"],"date":"new Date(\"Wed Jan 23 2013 03:57:18 GMT-0800 (PST)\")"},"36":{"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:36 GMT-0700 (PDT)\")"},"37":{"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:30 GMT-0700 (PDT)\")"},"38":{"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:53:45 GMT-0700 (PDT)\")"},"39":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Feb 24 2012 17:59:09 GMT-0800 (PST)\")"},"40":{"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:42:26 GMT-0700 (PDT)\")"},"41":{"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350","__serializedExpressions__":["date"],"date":"new Date(\"Mon Apr 09 2012 04:42:07 GMT-0700 (PDT)\")"},"42":{"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 18 2012 10:35:08 GMT-0700 (PDT)\")"},"43":{"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 22 2012 01:35:51 GMT-0800 (PST)\")"},"44":{"author":"jenslincke","message":"no comment","id":"A4B86A7E-A398-4C29-BEE0-4AA045ABABD2","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:42:31 GMT-0800 (PST)\")"},"45":{"author":"jenslincke","message":"added legend","id":"7ADA3049-56C1-4D32-874B-F664A79DDB20","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:47:05 GMT-0800 (PST)\")"},"46":{"author":"SAPLivelyScreen","message":"no comment","id":"EF145198-0649-41BD-A92E-521D98FEC49D","__serializedExpressions__":["date"],"date":"new Date(\"Wed May 29 2013 15:36:50 GMT-0700 (PDT)\")"},"47":{"author":"SAPLivelyScreen","message":"no comment","id":"7A44D8CA-6D5F-42A3-A4B4-4D7F51EECA52","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 18 2013 11:49:27 GMT-0700 (PDT)\")"},"48":{"author":"robertkrahn","message":"no comment","id":"A452871F-4EB9-45D1-94B8-6065CBA7B8FD","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jul 29 2013 23:20:51 GMT-0700 (PDT)\")"},"49":{"author":"rick","message":"no comment","id":"FF099354-C759-464B-9E8B-0A6333866CA5","__serializedExpressions__":["date"],"date":"new Date(\"Sun Nov 23 2014 18:47:22 GMT-0800 (PST)\")"},"50":{"author":"rick","message":"no comment","id":"B5C26A21-A33F-4681-B8E6-AE9E849B31A4","__serializedExpressions__":["date"],"date":"new Date(\"Sun Nov 23 2014 18:55:26 GMT-0800 (PST)\")"},"51":{"author":"rick","message":"no comment","id":"FA743494-22AE-49BB-BF94-E650D1C7ACEF","__serializedExpressions__":["date"],"date":"new Date(\"Mon Nov 24 2014 06:35:26 GMT-0800 (PST)\")"},"52":{"author":"rick","message":"no comment","id":"CA139FFD-26B2-4270-A3A8-4C1794819A62","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 27 2014 08:39:48 GMT-0800 (PST)\")"},"53":{"author":"rick","message":"no comment","id":"7AF32B78-0C0E-46AC-A758-35791C3C2F11","__serializedExpressions__":["date"],"date":"new Date(\"Mon Dec 01 2014 07:12:37 GMT-0800 (PST)\")"},"54":{"author":"rick","message":"no comment","id":"3565C226-1E88-455E-B58D-0A252083150F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Dec 01 2014 09:17:09 GMT-0800 (PST)\")"},"55":{"author":"rick","message":"no comment","id":"CFCEF756-F1DA-47F5-9216-B73D71A0E0BA","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 09 2014 18:28:14 GMT-0800 (PST)\")"},"56":{"morph":{"__isSmartRef__":true,"id":1},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"57":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":58}},"58":{"test01IsMorph":{"__isSmartRef__":true,"id":59}},"59":{"varMapping":{"__isSmartRef__":true,"id":60},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":61},"__LivelyClassName__":"lively.Closure"},"60":{"this":{"__isSmartRef__":true,"id":57}},"61":{},"62":{"submorphs":[],"scripts":[],"id":"8F092E2A-88E4-4E4C-87D1-C23D0BF16182","shape":{"__isSmartRef__":true,"id":63},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":64},"showsHalos":false,"name":"Image","partsBinMetaInfo":{"__isSmartRef__":true,"id":65},"_Rotation":0,"_Scale":1,"derivationIds":[707],"_ClipMode":"visible","doNotSerialize":["_renderContext","halos","_isRendered","priorExtent","cachedBounds","magnets","_whenLoadedCallbacks"],"owner":null,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Image","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(732.0,273.5)"},"63":{"_ImageURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAADK0lEQVR4Xu2WMWpiURhG/7eCgGCRIsEHdskCsgU3IJgV2IapxlYy05jCqWxtogSygJQu4AWtLF2AILgCZ96DFyaDE8JHPrzFSRMT8h2v5+SK2cXFxY/VavU9+Dq5gaurq5/Zbrc7nPwkHODNAEES+2cgCEESM5DYcbghBPm8gZubm9jv97Fer+Pu7i6m02n8+RBSAfr9fkwmk3ew4XAYRVFUvxuNRtFut6PRaESr1YrX19fPP/EJ/zLpG3I4HCLLskpPHWS73Uaz2Yxutxvj8TjOz8/fIh3z+HeQ8vFms4mzs7MTKv/4qZMOUt6AwWBQCa+DlC+n/Lm8IU9PT9Xj29vbeHx8PPpK6yCdTifu7++rG1PfshSrJBtkNptFr9ernJVvVcvlsvp+LMhHYusgeZ7H8/Nzig3enSnZIOUpS5l1gPqGzOfzeHh4iFLwYrGIy8vLeHl5+a/of9+yal6qZZIOkqo057kI4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7CzPM9HRVF8E7ZMvtjA9fX1r99vJO8WrotUdQAAAABJRU5ErkJggg==","isLoaded":true,"__serializedExpressions__":["position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Image","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,100.0)","_Padding":"lively.rect(0,0,0,0)"},"64":{"morph":{"__isSmartRef__":true,"id":62},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"65":{"partsSpaceName":"PartsBin/Basic","partName":"Image","migrationLevel":2,"comment":"an pixmap image morph","__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:34 GMT-0700 (PDT)\")"},"66":{"getIndexTerm":{"__isSmartRef__":true,"id":67},"levelBullets":{"__isSmartRef__":true,"id":70},"onShow":{"__isSmartRef__":true,"id":73},"setPlayInterval":{"__isSmartRef__":true,"id":76},"addBullets":{"__isSmartRef__":true,"id":79},"onPlay":{"__isSmartRef__":true,"id":82},"setVoiceOver":{"__isSmartRef__":true,"id":85},"getVoiceOver":{"__isSmartRef__":true,"id":88},"clearVoiceOver":{"__isSmartRef__":true,"id":91},"displayBullets":{"__isSmartRef__":true,"id":94},"setMode":{"__isSmartRef__":true,"id":97},"createPreviewImageAndDo":{"__isSmartRef__":true,"id":100},"computePreviewDimensions":{"__isSmartRef__":true,"id":103},"snapshot":{"__isSmartRef__":true,"id":106},"displaySnapshot":{"__isSmartRef__":true,"id":109},"validSnapshot":{"__isSmartRef__":true,"id":112},"numSnapshots":{"__isSmartRef__":true,"id":115}},"67":{"varMapping":{"__isSmartRef__":true,"id":68},"source":"function getIndexTerm() {\n    // Get the term by which this slide will be indexed in the Go To Topic\n    // dropdowns in composition and interactive presentation mode.  This \n    // just picks the index term offered by the first submorph with a\n    // getPageIndexTerm() method.  This will typically be the slide title.\n    // If there is none, return null, and this slide can't be found by\n    // topic\n    // \n    var returnedList =  this.submorphs.map(function(aMorph) {\n        if(aMorph.hasOwnProperty('getPageIndexTerm')) {\n            return aMorph.getPageIndexTerm()\n        } else return null;\n    }).filter(function(aString) {\n        return aString != null;\n    });\n    if (returnedList  && returnedList.length > 0) {\n        return returnedList[0]\n    } else {\n        return null;\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":69},"__LivelyClassName__":"lively.Closure"},"68":{"this":{"__isSmartRef__":true,"id":1}},"69":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:36:48 GMT-0800 (PST)\")"},"70":{"varMapping":{"__isSmartRef__":true,"id":71},"source":"function levelBullets(level0Size) {\n    // Set the pages bullets, if any, so that the font size of \n    // a bullet at level i is level0Size - 2*i.  So, for example,\n    // if level0Size is 24 (24 pt), the sizes of the bullet levels\n    // will be [24, 22, 20, 18]\n    this.submorphs.forEach(function(aMorph) {\n        if (aMorph.hasOwnProperty('setBulletSize')) {\n            aMorph.setBulletSize(level0Size)\n        }\n    })\n    \n}","funcProperties":{"__isSmartRef__":true,"id":72},"__LivelyClassName__":"lively.Closure"},"71":{"this":{"__isSmartRef__":true,"id":1}},"72":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:39:44 GMT-0800 (PST)\")"},"73":{"varMapping":{"__isSmartRef__":true,"id":74},"source":"function onShow() {\n    // A function which is invoked when the slide is brought up in interactive\n    // presentation mode\n    // This should be written by the presenter in order to add arbitrary dynamic\n    // behavior to the slide when it is shown in presentation mode\n    \n}","funcProperties":{"__isSmartRef__":true,"id":75},"__LivelyClassName__":"lively.Closure"},"74":{"this":{"__isSmartRef__":true,"id":1}},"75":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:44:35 GMT-0800 (PST)\")"},"76":{"varMapping":{"__isSmartRef__":true,"id":77},"source":"function setPlayInterval(aPositiveInteger) {\n    // set the play interval, in seconds, in autoplay mode\n    if (aPositiveInteger > 0 && aPositiveInteger < 61) {\n        this.playInterval = aPositiveInteger;\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":78},"__LivelyClassName__":"lively.Closure"},"77":{"this":{"__isSmartRef__":true,"id":1}},"78":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:47:04 GMT-0800 (PST)\")"},"79":{"varMapping":{"__isSmartRef__":true,"id":80},"source":"function addBullets() {\n    // Add bullets at levels 0-3 for the slide.  This just grabs a BulletedText\n    // Morph out of the PartsBin, and when the load is done calls\n    // displayBullets to put them on the page and do the real work\n    lively.PartsBin.getPart('BulletedText', 'PartsBin/Presentation', function(err, part) {\n        this.displayBullets(part)\n    }.bind(this))\n}","funcProperties":{"__isSmartRef__":true,"id":81},"__LivelyClassName__":"lively.Closure"},"80":{"this":{"__isSmartRef__":true,"id":1}},"81":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Nov 24 2014 06:35:12 GMT-0800 (PST)\")"},"82":{"varMapping":{"__isSmartRef__":true,"id":83},"source":"function onPlay() {\n    // A function which is invoked when the slide is brought up in autoplay mode\n    // This should be written by the presenter in order to add arbitrary dynamic\n    // behavior to the slide when it is shown in autoplay mode\n}","funcProperties":{"__isSmartRef__":true,"id":84},"__LivelyClassName__":"lively.Closure"},"83":{"this":{"__isSmartRef__":true,"id":1}},"84":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:44:35 GMT-0800 (PST)\")"},"85":{"varMapping":{"__isSmartRef__":true,"id":86},"source":"function setVoiceOver(anURL, aFileType) {\n    // Set the voiceover URL and file type.  This voice over will be played\n    // when the the slide is shown in auto play mode.  The file type will\n    // typically be one of 'ogg', 'wav', 'mp3', as these are supported by all\n    // browsers, and will typically be the suffix of the URL\n    this.voiceOverURL = anURL\n    this.voiceOverType = aFileType;\n    \n}","funcProperties":{"__isSmartRef__":true,"id":87},"__LivelyClassName__":"lively.Closure"},"86":{"this":{"__isSmartRef__":true,"id":1}},"87":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:47:04 GMT-0800 (PST)\")"},"88":{"varMapping":{"__isSmartRef__":true,"id":89},"source":"function getVoiceOver() {\n    // Get the URL and file type for the voiceover, if any.  Returns null\n    // if there is no URL.  The voiceover URL is what will be played when the\n    // slide is shown in autoplay mode.  Returns an object with fields\n    // url and type when there is a voiceover\n    if (this.hasOwnProperty('voiceOverURL') && this.voiceOverURL) {\n        return {url:this.voiceOverURL, type:this.voiceOverType}\n    } else {\n        return null;\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":90},"__LivelyClassName__":"lively.Closure"},"89":{"this":{"__isSmartRef__":true,"id":1}},"90":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:38:20 GMT-0800 (PST)\")"},"91":{"varMapping":{"__isSmartRef__":true,"id":92},"source":"function clearVoiceOver() {\n    // Clear the voiceoicer of the slide (see getVoiceOver and setVoiceOver)\n    this.voiceOverURL = null;\n    \n}","funcProperties":{"__isSmartRef__":true,"id":93},"__LivelyClassName__":"lively.Closure"},"92":{"this":{"__isSmartRef__":true,"id":1}},"93":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:36:48 GMT-0800 (PST)\")"},"94":{"varMapping":{"__isSmartRef__":true,"id":95},"source":"function displayBullets(bulletMorph) {\n    // Add bullets at levels 0-3 for the slide.  The bullets are just text morphs\n    // with a couple of additional methods to set sizing on the basis of the\n    // bullet's level and set the character for the buller.  See BulletedText\n    // in PartsBin/Presentation.  These things are added at an offset to\n    // give a start on the usual indentation practice\n    var bullets = [bulletMorph]\n    var bulletPositions = [pt(130, 200), pt(180, 275), pt(230, 350), pt(280, 400)]\n    for(var i = 1; i < 4; i++) {\n        bullets.push(bulletMorph.copy())\n    }\n    for(var i = 0; i < 4; i++) {\n        bullets[i].setName('Bullet' + i)\n        bullets[i].init()\n        bullets[i].setLevel(i)\n        this.addMorph(bullets[i])\n        bullets[i].setPosition(bulletPositions[i])\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":96},"__LivelyClassName__":"lively.Closure"},"95":{"this":{"__isSmartRef__":true,"id":1}},"96":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Nov 24 2014 06:30:22 GMT-0800 (PST)\")"},"97":{"varMapping":{"__isSmartRef__":true,"id":98},"source":"function setMode(aMode) {\n    // Set the mode of the slide.  This is just for any Morph (notably, the Director)\n    // which changes its appearance/behavior depending on the mode\n    this.submorphs.forEach(function(aMorph) {\n        if ('setMode' in aMorph) {\n            aMorph.setMode(aMode)\n        }\n    })\n    // Also, in PresentationMode, we want to go forward on <enter>, <space>,\n    // <right>, <down>, and back on <left>, <up>, and in CompositionMode\n    // we want to disable this\n    // enable in PresentationMode by adding the onkeyDown script\n    if (aMode == 'Presentation') {\n        this.addScript(function onKeyDown(evt) {\n            var backwardCharacters = [37 /* left */, 38 /* up */]\n            var forwardCharacters = [32 /*space*/, 13 /* enter */, 39 /* right */, 40 /* down */ ]\n            var code = evt.getKeyCode()\n            if (backwardCharacters.indexOf(code) != -1) {\n                this.owner.showPreviousSlide()\n            } else if (forwardCharacters.indexOf(code) != -1) {\n                this.owner.showNextSlide()\n            }\n        })\n    // disable by deleting the script in CompositionMode\n    } else if (aMode == 'Composition') {\n        if (this.hasOwnProperty('onKeyDown')) {\n            delete this.onKeyDown\n        }\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":99},"__LivelyClassName__":"lively.Closure"},"98":{"this":{"__isSmartRef__":true,"id":1}},"99":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 01 2014 07:12:27 GMT-0800 (PST)\")"},"100":{"varMapping":{"__isSmartRef__":true,"id":101},"source":"function createPreviewImageAndDo(maxPixForImage, thenDo) {\n    // create a Preview image of at most maxPixForImage pixels in the \n    // long dimension, then do thenDo, which should be of the \n    // form thenDo(err, image), where err is an error (a string)\n    // and image is an ImageMorph of this slide\n    // this.createPreviewImageAndDo(100, function(err, image) {if (err) {alert('Error in creating image: ' + err)} if (image) {image.openInWorldCenter();}});\n    var options = this.computePreviewDimensions(maxPixForImage)\n    // if the image exists, call renderMorphToImage and pass it thenDo to do.\n    // if not, create it (asynchronous) by loading an ImageMorph and then telling\n    // doing the render\n    if (this.image) {\n        Global.require('lively.morphic.Preview').toRun(function() {\n        lively.morphic.Preview.renderMorphToImage(\n            this, this.image, options, function(err, image) {  thenDo && thenDo(err, image); });\n            \n            }.bind(this));\n    } else {\n    \n        lively.PartsBin.getPart('Image', 'PartsBin/Basic', function(err, part) {\n        \n            if (err) {\n                alert(\"Error loading image for preview \" + err)\n            }\n            if (part) {\n                this.image = part\n                lively.morphic.Preview.renderMorphToImage(\n                    this, this.image, options, function(err, image) { thenDo && thenDo(err, image); }.bind(this));\n            \n            }\n        }.bind(this));\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":102},"__LivelyClassName__":"lively.Closure"},"101":{"this":{"__isSmartRef__":true,"id":1}},"102":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 13:22:44 GMT-0800 (PST)\")"},"103":{"varMapping":{"__isSmartRef__":true,"id":104},"source":"function computePreviewDimensions(numPix) {\n    // make an image of myself at most numPix in the long dimension, maintaining\n    // aspect ratio.  This function computes the extent  of the image\n    var extent = this.getExtent()\n    var longDimension = Math.max(extent.x, extent.y)\n    var scaleFactor = numPix/longDimension\n    var options = {width:extent.x, height:extent.y}\n    if (scaleFactor < 1) {\n        options.width = extent.x * scaleFactor;\n        options.height = extent.y * scaleFactor\n    }\n    return options\n}","funcProperties":{"__isSmartRef__":true,"id":105},"__LivelyClassName__":"lively.Closure"},"104":{"this":{"__isSmartRef__":true,"id":1}},"105":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 30 2014 15:14:28 GMT-0800 (PST)\")"},"106":{"varMapping":{"__isSmartRef__":true,"id":107},"source":"function snapshot() {\n    if (!this.snapshots) {\n        this.snapshots = []\n    }\n    var snapshot = this.submorphs.map(function (aMorph) {return aMorph})\n    this.snapshots.push(snapshot)\n}","funcProperties":{"__isSmartRef__":true,"id":108},"__LivelyClassName__":"lively.Closure"},"107":{"this":{"__isSmartRef__":true,"id":1}},"108":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 09 2014 18:23:09 GMT-0800 (PST)\")"},"109":{"varMapping":{"__isSmartRef__":true,"id":110},"source":"function displaySnapshot(index) {\n    if (!this.validSnapshot(index)) return;\n    this.removeAllMorphs()\n    this.snapshots[index].forEach(function(aMorph) {\n        this.addMorph(aMorph)\n    })\n    \n}","funcProperties":{"__isSmartRef__":true,"id":111},"__LivelyClassName__":"lively.Closure"},"110":{"this":{"__isSmartRef__":true,"id":1}},"111":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 09 2014 18:27:15 GMT-0800 (PST)\")"},"112":{"varMapping":{"__isSmartRef__":true,"id":113},"source":"function validSnapshot(anIndex) {\n    return this.snapshots &&  anIndex && anIndex >= 0 && anIndex < this.snapshots.length\n    \n}","funcProperties":{"__isSmartRef__":true,"id":114},"__LivelyClassName__":"lively.Closure"},"113":{"this":{"__isSmartRef__":true,"id":1}},"114":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 09 2014 18:25:49 GMT-0800 (PST)\")"},"115":{"varMapping":{"__isSmartRef__":true,"id":116},"source":"function numSnapshots() {\n    if (!this.snapshots) return 0;\n    return this.snapshots.length;\n    \n}","funcProperties":{"__isSmartRef__":true,"id":117},"__LivelyClassName__":"lively.Closure"},"116":{"this":{"__isSmartRef__":true,"id":1}},"117":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 09 2014 18:27:48 GMT-0800 (PST)\")"},"118":{"submorphs":[{"__isSmartRef__":true,"id":119},{"__isSmartRef__":true,"id":135},{"__isSmartRef__":true,"id":151},{"__isSmartRef__":true,"id":166},{"__isSmartRef__":true,"id":188},{"__isSmartRef__":true,"id":210},{"__isSmartRef__":true,"id":230}],"scripts":[],"id":"0BA47F6E-29BF-4999-8312-F8EA51E630A3","shape":{"__isSmartRef__":true,"id":251},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"MenuBar","partsBinMetaInfo":{"__isSmartRef__":true,"id":252},"eventHandler":{"__isSmartRef__":true,"id":275},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","BD8BECDB-A9A1-4009-B433-C925F0AFCCFC","F2677A9D-5855-4DF2-B248-94545B34B762","D52188B3-7DC0-410E-96B1-50892AC00A37","6575457B-734F-4449-94E9-08A5A5412CAC","0021A7A8-3FAB-41A9-B2D8-1A45E16346E9","985D078F-6237-4DA4-B76B-4561E8FA22E8","5C5C7501-C0A3-436C-9A00-B8FAF74D4BF5","0AEAB591-332E-4C53-8A54-9DBA6AD61C6B","3F58531C-4EAC-44DA-810A-CF866DF4EBAF","573A2C00-99E4-44EA-8B53-DE6486DB5892","D346FBDC-6A9A-4DA1-9407-F54BBF5BBF16","7A6DE014-6C4C-472A-ACC5-A804548E9D41","DD335DC8-16E0-47BC-A35F-964C19CAF27E"],"partTests":{"__isSmartRef__":true,"id":276},"_ClipMode":"visible","moved":true,"_Scale":1,"_Rotation":0,"__serializedExpressions__":["distanceToDragEvent","_Position"],"owner":{"__isSmartRef__":true,"id":0},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(70.0,-20.0)","_Position":"lively.pt(0.0,-41.5)"},"119":{"submorphs":[{"__isSmartRef__":true,"id":120}],"scripts":[],"id":"4C93F8A6-DF80-4720-AF8D-A5CCB0BF7149","shape":{"__isSmartRef__":true,"id":125},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":120},"name":"Next","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":126},"eventHandler":{"__isSmartRef__":true,"id":128},"derivationIds":[7251,"AE965E5C-19BD-4049-96CC-319842C6E018","48A2B11A-9B17-4905-A355-922C0EFD3BDD","E96E4913-25D1-48DC-A73B-10543F70A255","52E8CBD9-59C6-4A21-93E4-F860C1E69A82","48563338-3FFB-454F-9C52-B16488CF81ED","A7115430-150A-4355-97C3-438D296120A4","E2B86F64-27C0-48DC-887A-7620D0C861DF","3B815FB8-539B-41C9-8768-4675F8EC072E","98140074-A2E5-499B-8753-E8748A18E9B0","567DED6A-AAD9-4EAF-8065-BE7386606A07","A377C5FB-702F-443F-84C3-24B78369EEF0","486DAC5A-F5BE-41FA-A948-822554499377"],"_ClipMode":"visible","isPressed":false,"owner":{"__isSmartRef__":true,"id":118},"_ToolTip":"Next Slide","attributeConnections":[{"__isSmartRef__":true,"id":129}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"_StyleClassNames":["Morph","Button"],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","normalFill","lighterFill","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":131},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(982.5,8.5)","normalFill":"Color.rgb(255,255,255)","lighterFill":"Color.rgb(230,230,230)","distanceToDragEvent":"lively.pt(34.0,-6.0)"},"120":{"submorphs":[],"scripts":[],"id":"603565EA-384A-45A2-A559-4ADBDCCBC41C","shape":{"__isSmartRef__":true,"id":121},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Arial","registeredForMouseEvents":true,"_MaxTextWidth":110,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":119},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":122}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":124},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[7252,"5136A758-BF53-43D4-B39B-DF7EFA37E738","6D958E1B-5031-4E63-A12C-A1E46FFBED47","2752A60F-D600-41BB-82A2-15857475FFA8","8AA70002-9D0E-4477-B82F-FA20DFBF8B89","9120EB1D-A789-48EA-8405-61F8EE1B4686","43897ADD-3CA8-4E9F-BD3F-3970EFA71561","24C6098C-E93C-44EF-8C26-E3B1678F218F","F39163F3-CB3F-47F7-A67D-1E4949317526","EB91ACFB-93FA-473F-A6A6-B8A496A26B3C","ADAE29E7-F3DB-42DF-A053-98ED6FCC7BB3","E3631C18-5F02-4FB1-A0EE-B3228078DA8A","2FEEC31D-90FC-419A-9511-A7FDE4C7EA5A"],"_MinTextWidth":110,"_MinTextHeight":null,"_FontSize":14,"_InputAllowed":false,"__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"121":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(33.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"122":{"style":{"__isSmartRef__":true,"id":123},"chunkOwner":{"__isSmartRef__":true,"id":120},"_id":"_4869","storedString":">","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"123":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"124":{"morph":{"__isSmartRef__":true,"id":120},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"125":{"_BorderWidth":4.888,"_BorderRadius":15.185,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(33.0,25.0)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(238,238,238)","_Padding":"lively.rect(0,0,0,0)"},"126":{"partsSpaceName":"PartsBin/SketchyInputs/","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":127}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:35 GMT-0700 (PDT)\")"},"127":{"author":"lauritz","message":"","id":"959919F0-D51D-45E6-9205-4D7A114D8C7E","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jan 24 2012 12:35:57 GMT-0800 (PST)\")"},"128":{"morph":{"__isSmartRef__":true,"id":119},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"129":{"sourceObj":{"__isSmartRef__":true,"id":119},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":119},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":130},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"130":{"source":{"__isSmartRef__":true,"id":119},"target":{"__isSmartRef__":true,"id":119}},"131":{"doAction":{"__isSmartRef__":true,"id":132}},"132":{"varMapping":{"__isSmartRef__":true,"id":133},"source":"function doAction() {\n    this.owner.owner.showNextSlide()\n    \n}","funcProperties":{"__isSmartRef__":true,"id":134},"__LivelyClassName__":"lively.Closure"},"133":{"this":{"__isSmartRef__":true,"id":119}},"134":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 17:35:02 GMT-0800 (PST)\")"},"135":{"submorphs":[{"__isSmartRef__":true,"id":136}],"scripts":[],"id":"51F96B36-CEFC-49A7-A49D-84D6E3CDBB9B","shape":{"__isSmartRef__":true,"id":141},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":136},"name":"Prev","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":142},"eventHandler":{"__isSmartRef__":true,"id":144},"derivationIds":[7251,"AE965E5C-19BD-4049-96CC-319842C6E018","48A2B11A-9B17-4905-A355-922C0EFD3BDD","E96E4913-25D1-48DC-A73B-10543F70A255","5537C5B7-25A3-4551-AA32-CAC283C76403","BAB69B8F-0CE5-4AC4-A211-522DB17EBD57","56A66FF0-730F-4196-86BC-EBF57BB58ACE","748B1500-2D1B-4176-B000-E60824FFDB13","6730816A-7205-471A-B8E8-1E4F3C803110","89AB7176-A89B-4B3C-A067-BFD6898524CF","8DA1EED5-8E70-4322-BD76-FD372A0FF5C7","8BFD7A14-B0A8-44A0-B268-794CDED8F42F","4C164EAF-F8F2-4248-846C-4AF75C27E013","90BCE839-6A46-44FB-8806-DF4E34F8194B"],"_ClipMode":"visible","isPressed":false,"_ToolTip":"Previous Slide","owner":{"__isSmartRef__":true,"id":118},"attributeConnections":[{"__isSmartRef__":true,"id":145}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"_StyleClassNames":["Morph","Button"],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","normalFill","lighterFill","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":147},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(8.5,8.5)","normalFill":"Color.rgb(255,255,255)","lighterFill":"Color.rgb(230,230,230)","distanceToDragEvent":"lively.pt(37.0,-8.0)"},"136":{"submorphs":[],"scripts":[],"id":"E47BCCBF-E94A-4A98-9D1A-5B6F1CE6BBE7","shape":{"__isSmartRef__":true,"id":137},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Arial","registeredForMouseEvents":true,"_MaxTextWidth":110,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":135},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":138}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":140},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[7252,"5136A758-BF53-43D4-B39B-DF7EFA37E738","6D958E1B-5031-4E63-A12C-A1E46FFBED47","2752A60F-D600-41BB-82A2-15857475FFA8","A27EDCB1-D07A-4B10-98B3-CA0CE408AD4E","0A4C22C2-8A5F-4525-A7DC-0EE5C84531BB","D53002B9-03D8-4B70-A1B1-16726ACAFC22","9C3FCC57-06E4-4EAF-94B6-491CC5F1AA8A","60C3186F-937C-4EFB-8B67-F45F73CF5F4E","D852F5BF-A203-4839-9E9F-62169AA49A00","07ACDCD1-B712-4D87-91B6-B1EE9A2B9B75","26089453-048E-4BB9-A219-DB67E4C7CF15","719338B5-0331-4F64-A307-FA09C29E2177","4D9C5C33-35F1-4C95-843D-EB7B2BA87C68"],"_MinTextWidth":110,"_MinTextHeight":null,"_FontSize":12,"_InputAllowed":false,"__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"137":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(33.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"138":{"style":{"__isSmartRef__":true,"id":139},"chunkOwner":{"__isSmartRef__":true,"id":136},"_id":"_4105","storedString":"<","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"139":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"140":{"morph":{"__isSmartRef__":true,"id":136},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"141":{"_BorderWidth":4.888,"_BorderRadius":15.185,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(33.0,25.0)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(238,238,238)","_Padding":"lively.rect(0,0,0,0)"},"142":{"partsSpaceName":"PartsBin/SketchyInputs/","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":143}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:35 GMT-0700 (PDT)\")"},"143":{"author":"lauritz","message":"","id":"959919F0-D51D-45E6-9205-4D7A114D8C7E","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jan 24 2012 12:35:57 GMT-0800 (PST)\")"},"144":{"morph":{"__isSmartRef__":true,"id":135},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"145":{"sourceObj":{"__isSmartRef__":true,"id":135},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":135},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":146},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"146":{"source":{"__isSmartRef__":true,"id":135},"target":{"__isSmartRef__":true,"id":135}},"147":{"doAction":{"__isSmartRef__":true,"id":148}},"148":{"varMapping":{"__isSmartRef__":true,"id":149},"source":"function doAction() {\n    this.owner.owner.showPreviousSlide()\n    \n}","funcProperties":{"__isSmartRef__":true,"id":150},"__LivelyClassName__":"lively.Closure"},"149":{"this":{"__isSmartRef__":true,"id":135}},"150":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 17:34:38 GMT-0800 (PST)\")"},"151":{"submorphs":[],"scripts":[],"id":"0E52A434-E879-490C-93CF-4B8FC4A548BC","shape":{"__isSmartRef__":true,"id":152},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"Slide Number","partsBinMetaInfo":{"__isSmartRef__":true,"id":153},"textChunks":[{"__isSmartRef__":true,"id":162}],"charsReplaced":"Some Text","lastFindLoc":9,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":164},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","F1D26890-7392-487D-B5DE-97C772B4E79E","59440FC5-E676-4B9B-A828-C150A05765C0","021D41A0-C172-475A-9F8B-E57A555FCA49","3EB3D281-7B1F-4D8C-B4F0-C76BE1F9F617","EC187AAB-72A2-4A79-9BCA-25042EE70345","4DFD8511-8D57-44AF-87EA-607C453A5022","4A2E177B-B798-4A17-93E7-751DADE6D287","F8253925-8008-4DDF-89A3-469B26A6B93D","12965034-9047-41C3-8FD0-42DD45205238","80A088D5-AA19-4F47-A475-BDD5CFA7BD74","DDEE466A-4974-4DD4-9E26-9DCA80A8545E","43CAC30D-69E6-4FC6-851A-539256B6BEA5","9C578735-968D-40DD-8798-0F44CE0DCB4B"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"previousSelection":[0,0],"isBeingDragged":false,"moved":true,"layout":{"__isSmartRef__":true,"id":165},"owner":{"__isSmartRef__":true,"id":118},"_Align":"center","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(497.6,5.5)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(47.0,-10.0)"},"152":{"fill":null,"_BorderWidth":1.482,"_ClipMode":"visible","_Fill":null,"_BorderRadius":11.48,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(28.7,31.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"153":{"partsSpaceName":"PartsBin/Basic/","migrationLevel":8,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":154},{"__isSmartRef__":true,"id":155},{"__isSmartRef__":true,"id":156},{"__isSmartRef__":true,"id":157},{"__isSmartRef__":true,"id":158},{"__isSmartRef__":true,"id":159},{"__isSmartRef__":true,"id":160},{"__isSmartRef__":true,"id":161}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Sat Apr 05 2014 01:51:52 GMT-0700 (PDT)\")"},"154":{"author":"robertkrahn","message":"resizeWidth = true","id":"E402462A-7AB2-487B-82BD-A3369C1C1F75","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 05 2014 01:58:52 GMT-0700 (PDT)\")"},"155":{"author":"jenslincke","message":"no comment","id":"9E495E1B-6E6D-4A89-9F9E-85AF618DC598","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 10:36:22 GMT-0700 (PDT)\")"},"156":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:30:30 GMT-0700 (PDT)\")"},"157":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)).  This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Sun Feb 26 2012 21:20:38 GMT-0800 (PST)\")"},"158":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Fri Apr 20 2012 22:31:43 GMT-0700 (PDT)\")"},"159":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Fri Apr 20 2012 22:32:09 GMT-0700 (PDT)\")"},"160":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 05:18:18 GMT-0700 (PDT)\")"},"161":{"author":"jenslincke","message":"no comment","id":"A3BA0C1E-7E83-43BF-9EC6-4F4BB3835D62","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 09:31:56 GMT-0700 (PDT)\")"},"162":{"style":{"__isSmartRef__":true,"id":163},"chunkOwner":{"__isSmartRef__":true,"id":151},"_id":"_12246","storedString":"0","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"163":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"164":{"morph":{"__isSmartRef__":true,"id":151},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"165":{"resizeWidth":true},"166":{"submorphs":[],"scripts":[],"id":"B0636962-A9A4-4D9B-A6E5-54799A70F985","shape":{"__isSmartRef__":true,"id":167},"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":168},"itemList":["Mode","Composition","Master","Play","Presentation"],"selectOnMove":false,"showsHalos":false,"name":"Mode","partsBinMetaInfo":{"__isSmartRef__":true,"id":169},"derivationIds":[6545,"9CE40D45-F249-461A-9C31-2DDA97BCFCC6","85902790-A508-4E9B-A66C-627AAD9FADDC","620FEF7D-3401-4E6F-8027-0AC7C79843E6","F339E9CE-B044-4123-B43D-B7DC107D37C1","F57B43AF-61CC-45C5-AD8E-2B43B0361819","49286E69-1813-40F2-A62B-70147132FC13","9EAE49DA-FF79-4D36-A42C-FD24209C2CC2","0DB347B1-0435-4125-8EA6-565E9D7EC6AC","975CAB2D-9DFC-472B-9793-DA41F9D412E7","7489DA41-4C50-4F71-B214-FBE29FEBD564","3ABDF4DE-AB74-4AA7-817D-756FF1423C2C"],"selectedLineNo":-1,"owner":{"__isSmartRef__":true,"id":118},"_ToolTip":"Choose the mode: editing, edit master, present, or play","changeTriggered":true,"_Rotation":0,"_Scale":1,"attributeConnections":[{"__isSmartRef__":true,"id":171}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"actionStruct":{"__isSmartRef__":true,"id":173},"title":"Mode","actions":{"__isSmartRef__":true,"id":174},"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":175},"__LivelyClassName__":"lively.morphic.DropDownList","__SourceModuleName__":"Global.lively.morphic.Lists","_Position":"lively.pt(800.5,8.5)","distanceToDragEvent":"lively.pt(77.0,-5.0)"},"167":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(107.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"168":{"morph":{"__isSmartRef__":true,"id":166},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"169":{"requiredModules":[],"migrationLevel":9,"partsSpaceName":"PartsBin/Inputs/","comment":"A dropdownlist which essentially exports only one call: init(anActionStruct). Documented by this.readMe(); see this.showExample() to generate the\nexample menu.  The general idea is that after calling init(anActionStruct), all the connections and actions follow\n","partName":"PullDownMenu","changes":[{"__isSmartRef__":true,"id":170}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Dec 03 2014 08:57:43 GMT-0800 (PST)\")"},"170":{"author":"rick","message":"no comment","id":"AE0615B4-13AF-48E7-ABEE-D4F7456580E9","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 03 2014 08:57:42 GMT-0800 (PST)\")"},"171":{"sourceObj":{"__isSmartRef__":true,"id":166},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":166},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":172},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"172":{"source":{"__isSmartRef__":true,"id":166},"target":{"__isSmartRef__":true,"id":166}},"173":{},"174":{},"175":{"init":{"__isSmartRef__":true,"id":176},"readMe":{"__isSmartRef__":true,"id":179},"doAction":{"__isSmartRef__":true,"id":182},"showExample":{"__isSmartRef__":true,"id":185}},"176":{"varMapping":{"__isSmartRef__":true,"id":177},"source":"function init(anActionStruct) {\n    // the idea behind a pulldown Menu is that it's self-contained:\n    // the only connection is to itself, and all the information to fill\n    // the list and perform the actions is in the action struct\n    // an ActionStruct is of the form\n    // {title: aString,\n    //  actions: {S1: F1,\n    //            S2: F2...\n    //             }\n    // menuOrder: [S1, S2,]\n    // }\n    // the list is populated with aString, S1, S2,...\n    // Fi is called as the action when Si is selected\n    // optArg: menuOrder: a list with some of the keys specified.  These will\n    // appear first in the list after the title, in order.  Other keys added\n    // as Object.keys(anActionStruct.actions) fills them\n    this.clearSelections()\n    this.setList([])\n    var keys = Object.keys(anActionStruct.actions)\n    var itemList = [anActionStruct.title]\n    anActionStruct.menuOrder.forEach(function(aString) {\n        if (aString == anActionStruct.title) {\n            alert(\"Error: \" + aString + \" can't be both a title and an action\")\n        } else if (itemList.indexOf(aString) != -1) {\n            alert('Error: ' + aString + ' appears twice')\n        } else if (keys.indexOf(aString) == -1) {\n            alert(\"Error: \" + aString + \" appears in menuOrder but has no action\")\n        } else {\n            itemList.push(aString)\n        }\n    })\n    keys.forEach(function (aString) {\n        if (itemList.indexOf(aString) != -1) return;\n        if (aString == anActionStruct.title) {\n            alert(\"Error: \" + aString + \" can't be both a title and an action\")\n            return\n        } \n        itemList.push(aString)\n    })\n    this.setList(itemList)\n    this.actions = anActionStruct.actions\n    this.title = anActionStruct.title\n    \n    \n    \n}","funcProperties":{"__isSmartRef__":true,"id":178},"__LivelyClassName__":"lively.Closure"},"177":{"this":{"__isSmartRef__":true,"id":166}},"178":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 08:55:21 GMT-0800 (PST)\")"},"179":{"varMapping":{"__isSmartRef__":true,"id":180},"source":"function readMe() {\n    return \"The idea behind a pulldown Menu is that it's self-contained: \"+\n  \" the only connection is to itself, and all the information to fill\" +\n   \" the list and perform the actions is in the action struct\" +\n   \" an ActionStruct is of the form\" +\n   \" {title: aString,\" +\n   \"  actions: {S1: F1,\" +\n   \"            S2: F2...\" +\n   \"             }\" +\n   \" menuOrder: [S1, S2,]\" +\n   \" }\" +\n   \" the list is populated with aString, S1, S2,...\" +\n   \" Fi is called as the action when Si is selected\" +\n   \" optArg: menuOrder: a list with some of the keys specified.  These will\" +\n   \" appear first in the list after the title, in order.  Other keys added\" +\n   \" as Object.keys(anActionStruct.actions) fills them\";\n   \n}","funcProperties":{"__isSmartRef__":true,"id":181},"__LivelyClassName__":"lively.Closure"},"180":{"this":{"__isSmartRef__":true,"id":166}},"181":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 12:05:04 GMT-0800 (PST)\")"},"182":{"varMapping":{"__isSmartRef__":true,"id":183},"source":"function doAction(anItemFromList) {\n    // generic action called on selection.  This should only be called\n    // in response to a selection change, and then it just does \n    // this.actions[anItemFromList].action() and resets to the title\n    if (!anItemFromList) {\n        // this should never happen, but we do get bogus selections from\n        // various events (e.g., clearing the list)\n        return\n    }\n    if (anItemFromList == this.title) {\n        // just resetting to the title, do nothing\n        return;\n    }\n    // shouldn't happen, but suspenders & belt\n    if (this.itemList.indexOf(anItemFromList) == -1) {\n        alert(\"Error: \" +  anitemFromList + \" doesn't appear in the menu!\")\n    }\n    // OK, just do the action and return.  This is guaranteed to be there\n    this.actions[anItemFromList]()\n    this.setSelection(this.title)\n    \n}","funcProperties":{"__isSmartRef__":true,"id":184},"__LivelyClassName__":"lively.Closure"},"183":{"this":{"__isSmartRef__":true,"id":166}},"184":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 12:05:04 GMT-0800 (PST)\")"},"185":{"varMapping":{"__isSmartRef__":true,"id":186},"source":"function showExample() {\n    // call this to generate an example menu\n    var menu = this; // lexical scope to pass this object properly \n    this.init({title:\"Example\",\n            actions:  {\n                \"Action 1\": function() {alert(\"Action 1\")},\n                \"Action 2\": function() {alert(\"Action 2\")},\n                \"Action 3\": function() {alert(\"Action 3\")},\n                \"Readme\": function() {show(menu.readMe())}\n            },\n            menuOrder: [\"Readme\", \"Action 1\"]\n            })\n    \n}","funcProperties":{"__isSmartRef__":true,"id":187},"__LivelyClassName__":"lively.Closure"},"186":{"this":{"__isSmartRef__":true,"id":166}},"187":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 08:51:17 GMT-0800 (PST)\")"},"188":{"submorphs":[],"scripts":[],"id":"21CF64BE-855D-454D-A4C2-413BBCFF8FA6","shape":{"__isSmartRef__":true,"id":189},"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":190},"itemList":["Slide","Insert Before","Insert After","New Last","Delete","Edit Behavior","Update Lists","Set Presentation Name","Publish Slides","Open Slide Template","Open Slide Browser","Open Slide Sorter","Add Builder To Slide"],"selectOnMove":false,"showsHalos":false,"name":"File","partsBinMetaInfo":{"__isSmartRef__":true,"id":191},"derivationIds":[6545,"9CE40D45-F249-461A-9C31-2DDA97BCFCC6","85902790-A508-4E9B-A66C-627AAD9FADDC","620FEF7D-3401-4E6F-8027-0AC7C79843E6","F339E9CE-B044-4123-B43D-B7DC107D37C1","F57B43AF-61CC-45C5-AD8E-2B43B0361819","49286E69-1813-40F2-A62B-70147132FC13","9EAE49DA-FF79-4D36-A42C-FD24209C2CC2","0DB347B1-0435-4125-8EA6-565E9D7EC6AC","975CAB2D-9DFC-472B-9793-DA41F9D412E7","58A2320C-4572-4A39-A2C1-194D24E10ED5","ADD8334E-9931-455A-922B-3C7F2DA96F5A","D881F6EC-C02E-4B95-89AF-7B8AE7B4487D"],"selectedLineNo":-1,"_ToolTip":"Choose the mode: editing, edit master, present, or play","changeTriggered":true,"attributeConnections":[{"__isSmartRef__":true,"id":193}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"actionStruct":{"__isSmartRef__":true,"id":195},"title":"Slide","actions":{"__isSmartRef__":true,"id":196},"owner":{"__isSmartRef__":true,"id":118},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":197},"__LivelyClassName__":"lively.morphic.DropDownList","__SourceModuleName__":"Global.lively.morphic.Lists","_Position":"lively.pt(116.5,8.5)","distanceToDragEvent":"lively.pt(77.0,-5.0)"},"189":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(107.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"190":{"morph":{"__isSmartRef__":true,"id":188},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"191":{"requiredModules":[],"migrationLevel":9,"partsSpaceName":"PartsBin/Inputs/","comment":"A dropdownlist which essentially exports only one call: init(anActionStruct). Documented by this.readMe(); see this.showExample() to generate the\nexample menu.  The general idea is that after calling init(anActionStruct), all the connections and actions follow\n","partName":"PullDownMenu","changes":[{"__isSmartRef__":true,"id":192}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Dec 03 2014 08:57:43 GMT-0800 (PST)\")"},"192":{"author":"rick","message":"no comment","id":"AE0615B4-13AF-48E7-ABEE-D4F7456580E9","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 03 2014 08:57:42 GMT-0800 (PST)\")"},"193":{"sourceObj":{"__isSmartRef__":true,"id":188},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":188},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":194},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"194":{"source":{"__isSmartRef__":true,"id":188},"target":{"__isSmartRef__":true,"id":188}},"195":{},"196":{},"197":{"init":{"__isSmartRef__":true,"id":198},"readMe":{"__isSmartRef__":true,"id":201},"doAction":{"__isSmartRef__":true,"id":204},"showExample":{"__isSmartRef__":true,"id":207}},"198":{"varMapping":{"__isSmartRef__":true,"id":199},"source":"function init(anActionStruct) {\n    // the idea behind a pulldown Menu is that it's self-contained:\n    // the only connection is to itself, and all the information to fill\n    // the list and perform the actions is in the action struct\n    // an ActionStruct is of the form\n    // {title: aString,\n    //  actions: {S1: F1,\n    //            S2: F2...\n    //             }\n    // menuOrder: [S1, S2,]\n    // }\n    // the list is populated with aString, S1, S2,...\n    // Fi is called as the action when Si is selected\n    // optArg: menuOrder: a list with some of the keys specified.  These will\n    // appear first in the list after the title, in order.  Other keys added\n    // as Object.keys(anActionStruct.actions) fills them\n    this.clearSelections()\n    this.setList([])\n    var keys = Object.keys(anActionStruct.actions)\n    var itemList = [anActionStruct.title]\n    anActionStruct.menuOrder.forEach(function(aString) {\n        if (aString == anActionStruct.title) {\n            alert(\"Error: \" + aString + \" can't be both a title and an action\")\n        } else if (itemList.indexOf(aString) != -1) {\n            alert('Error: ' + aString + ' appears twice')\n        } else if (keys.indexOf(aString) == -1) {\n            alert(\"Error: \" + aString + \" appears in menuOrder but has no action\")\n        } else {\n            itemList.push(aString)\n        }\n    })\n    keys.forEach(function (aString) {\n        if (itemList.indexOf(aString) != -1) return;\n        if (aString == anActionStruct.title) {\n            alert(\"Error: \" + aString + \" can't be both a title and an action\")\n            return\n        } \n        itemList.push(aString)\n    })\n    this.setList(itemList)\n    this.actions = anActionStruct.actions\n    this.title = anActionStruct.title\n    \n    \n    \n}","funcProperties":{"__isSmartRef__":true,"id":200},"__LivelyClassName__":"lively.Closure"},"199":{"this":{"__isSmartRef__":true,"id":188}},"200":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 08:55:21 GMT-0800 (PST)\")"},"201":{"varMapping":{"__isSmartRef__":true,"id":202},"source":"function readMe() {\n     return \"The idea behind a pulldown Menu is that it's self-contained: \"+\n   \" the only connection is to itself, and all the information to fill\" +\n    \" the list and perform the actions is in the action struct\" +\n    \" an ActionStruct is of the form\" +\n    \" {title: aString,\" +\n    \"  actions: {S1: F1,\" +\n    \"            S2: F2...\" +\n    \"             }\" +\n    \" menuOrder: [S1, S2,]\" +\n    \" }\" +\n    \" the list is populated with aString, S1, S2,...\" +\n    \" Fi is called as the action when Si is selected\" +\n    \" optArg: menuOrder: a list with some of the keys specified.  These will\" +\n    \" appear first in the list after the title, in order.  Other keys added\" +\n    \" as Object.keys(anActionStruct.actions) fills them\";\n    \n}","funcProperties":{"__isSmartRef__":true,"id":203},"__LivelyClassName__":"lively.Closure"},"202":{"this":{"__isSmartRef__":true,"id":188}},"203":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 08:36:20 GMT-0800 (PST)\")"},"204":{"varMapping":{"__isSmartRef__":true,"id":205},"source":"function doAction(anItemFromList) {\n    // generic action called on selection.  This should only be called\n    // in response to a selection change, and then it just does \n    // this.actions[anItemFromList].action() and resets to the title\n    \n    if (!anItemFromList) {\n        // this should never happen, but we do get bogus selections from\n        // various events (e.g., clearing the list)\n        return\n    }\n    if (anItemFromList == this.title) {\n        // just resetting to the title, do nothing\n        return;\n    }\n    // shouldn't happen, but suspenders & belt\n    if (this.itemList.indexOf(anItemFromList) == -1) {\n        alert(\"Error: \" +  anitemFromList + \" doesn't appear in the menu!\")\n    }\n    // OK, just do the action and return.  This is guaranteed to be there\n    this.actions[anItemFromList]()\n    this.setSelection(this.title)\n    \n}","funcProperties":{"__isSmartRef__":true,"id":206},"__LivelyClassName__":"lively.Closure"},"205":{"this":{"__isSmartRef__":true,"id":188}},"206":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 12:08:45 GMT-0800 (PST)\")"},"207":{"varMapping":{"__isSmartRef__":true,"id":208},"source":"function showExample() {\n    // call this to generate an example menu\n    var menu = this; // lexical scope to pass this object properly \n    this.init({title:\"Example\",\n            actions:  {\n                \"Action 1\": function() {alert(\"Action 1\")},\n                \"Action 2\": function() {alert(\"Action 2\")},\n                \"Action 3\": function() {alert(\"Action 3\")},\n                \"Readme\": function() {show(menu.readMe())}\n            },\n            menuOrder: [\"Readme\", \"Action 1\"]\n            })\n    \n}","funcProperties":{"__isSmartRef__":true,"id":209},"__LivelyClassName__":"lively.Closure"},"208":{"this":{"__isSmartRef__":true,"id":188}},"209":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 08:51:17 GMT-0800 (PST)\")"},"210":{"submorphs":[],"scripts":[],"id":"D3926650-6580-4DEA-92B6-98AA01A2EE2B","shape":{"__isSmartRef__":true,"id":211},"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":212},"itemList":["Slide By Title","Lively Presentation Template"],"selectOnMove":false,"showsHalos":false,"name":"TopicComposition","partsBinMetaInfo":{"__isSmartRef__":true,"id":213},"derivationIds":[6545,"9CE40D45-F249-461A-9C31-2DDA97BCFCC6","EF6E2453-040B-4BFF-9CA1-7AE6B1BC6BDE","8E3300F7-9235-496D-B9D0-187DC7EB9302","37C32B2C-FAD2-4B92-B8FF-12D19CC97EA6","A161982B-489C-4A05-BF4A-16A1672A2B78","EC1E9BD9-C789-4B6A-9DE6-C64533B41A0C","7AE46EEF-F966-4FE2-A19C-F7FB5958DD07","EA073B98-BCF6-4F55-A3AD-924BC340E225","9D7F93D6-0DDE-4ACF-AC54-3EFD7040F4EE","4D4DF45F-6FEB-41F5-9855-C3D0152FED86","3AE3B5ED-FD63-4313-B3EE-0DDEE1454B6F"],"selectedLineNo":-1,"_ToolTip":"Go to slide by title topic","changeTriggered":true,"attributeConnections":[{"__isSmartRef__":true,"id":215}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"hasTitle":true,"title":"Slide By Title","owner":{"__isSmartRef__":true,"id":118},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":217},"__LivelyClassName__":"lively.morphic.DropDownList","__SourceModuleName__":"Global.lively.morphic.Lists","_Position":"lively.pt(613.0,7.5)","distanceToDragEvent":"lively.pt(77.0,-17.0)"},"211":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(107.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"212":{"morph":{"__isSmartRef__":true,"id":210},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"213":{"requiredModules":[],"migrationLevel":9,"partsSpaceName":"PartsBin/Inputs/","comment":"A self-contained list with only one programmer-required call: init","partName":"ActionList","changes":[{"__isSmartRef__":true,"id":214}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Thu Dec 04 2014 08:59:51 GMT-0800 (PST)\")"},"214":{"author":"rick","message":"no comment","id":"2B56CB12-87D9-4948-B146-4F1100ADB940","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 08:59:50 GMT-0800 (PST)\")"},"215":{"sourceObj":{"__isSmartRef__":true,"id":210},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":210},"targetMethodName":"onSelection","varMapping":{"__isSmartRef__":true,"id":216},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"216":{"source":{"__isSmartRef__":true,"id":210},"target":{"__isSmartRef__":true,"id":210}},"217":{"onSelection":{"__isSmartRef__":true,"id":218},"init":{"__isSmartRef__":true,"id":221},"readMe":{"__isSmartRef__":true,"id":224},"example":{"__isSmartRef__":true,"id":227}},"218":{"varMapping":{"__isSmartRef__":true,"id":219},"source":"function onSelection(aSelection) {\n    if (!aSelection) return;\n    if (this.hasTitle && aSelection == this.title) return;\n    this.action(aSelection)\n    if(this.hasTitle) {\n        this.setSelection(this.title)\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":220},"__LivelyClassName__":"lively.Closure"},"219":{"this":{"__isSmartRef__":true,"id":210}},"220":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:56:18 GMT-0800 (PST)\")"},"221":{"varMapping":{"__isSmartRef__":true,"id":222},"source":"function init(aListObject) {\n    if (aListObject.title) {\n        this.hasTitle = true;\n        this.title = aListObject.title;\n    } else {\n        this.hasTitle = false;\n    }\n    if (aListObject.items) {\n        if (this.hasTitle) {\n            if (aListObject.items.indexOf(this.title) != -1) {\n                alert(\"Error: title \" + this.title + \" should not be an item in the list\" +\n                \" \" + this.title + \" being treated as an ordinary, selectable item\")\n                this.hasTitle = false;\n                this.setList(aListObject.items)\n            } else {\n                var items = aListObject.items.slice(0)\n                items.pushAt(this.title, 0)\n                this.setList(items)\n            }\n        } else {\n            this.setList(aListObject.items)\n        }\n    } else {\n        alert(\"Error! aListObject must have an item list\")\n        this.action = function(aSelection) {return;}\n    }\n    if (aListObject.hasOwnProperty(\"action\")) {\n        this.action = aListObject.action\n    } else {\n        alert(\"Error! aListObject must have an action\")\n        this.action = function(aSelection) {return;}\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":223},"__LivelyClassName__":"lively.Closure"},"222":{"this":{"__isSmartRef__":true,"id":210}},"223":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 10:01:50 GMT-0800 (PST)\")"},"224":{"varMapping":{"__isSmartRef__":true,"id":225},"source":"function readMe() {\n    return \"A self-contained list.  The programmer should only call a single \" +\n    \"method, init(aListObject) which sets up the list.  AListObject is of the \" +\n    \"form {title: aString, items:aListOfStrings, action:function(aString)} \" +\n    \"on selection, aListObject.action(selection) will be called.  title is \" +\n    \"optional.  When it is present, it is always the first item in the list, \" +\n    \"and selecting it results in no action.  Also, when present, the list will \" +\n    \"always show the title .  See this.example() for an example use\"\n    \n}","funcProperties":{"__isSmartRef__":true,"id":226},"__LivelyClassName__":"lively.Closure"},"225":{"this":{"__isSmartRef__":true,"id":210}},"226":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:41:48 GMT-0800 (PST)\")"},"227":{"varMapping":{"__isSmartRef__":true,"id":228},"source":"function example() {\n    this.init({title:\"Example\", items:[\"item 1\", 2, \"item 3\", 4],\n    action:function(anItem) {alert(anItem)}})\n    \n}","funcProperties":{"__isSmartRef__":true,"id":229},"__LivelyClassName__":"lively.Closure"},"228":{"this":{"__isSmartRef__":true,"id":210}},"229":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:58:39 GMT-0800 (PST)\")"},"230":{"submorphs":[],"scripts":[],"id":"4B4C0987-0B90-400B-AA71-047D8A62FF81","shape":{"__isSmartRef__":true,"id":231},"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":232},"itemList":["Go to Slide",0],"selectOnMove":false,"showsHalos":false,"name":"NavigationComposition","partsBinMetaInfo":{"__isSmartRef__":true,"id":233},"derivationIds":[6545,"9CE40D45-F249-461A-9C31-2DDA97BCFCC6","EF6E2453-040B-4BFF-9CA1-7AE6B1BC6BDE","8E3300F7-9235-496D-B9D0-187DC7EB9302","37C32B2C-FAD2-4B92-B8FF-12D19CC97EA6","A161982B-489C-4A05-BF4A-16A1672A2B78","EC1E9BD9-C789-4B6A-9DE6-C64533B41A0C","7AE46EEF-F966-4FE2-A19C-F7FB5958DD07","EA073B98-BCF6-4F55-A3AD-924BC340E225","9D7F93D6-0DDE-4ACF-AC54-3EFD7040F4EE","4D4DF45F-6FEB-41F5-9855-C3D0152FED86"],"selectedLineNo":-1,"_ToolTip":"Go to slide by title topic","changeTriggered":true,"attributeConnections":[{"__isSmartRef__":true,"id":236}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"hasTitle":true,"title":"Go to Slide","owner":{"__isSmartRef__":true,"id":118},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":238},"__LivelyClassName__":"lively.morphic.DropDownList","__SourceModuleName__":"Global.lively.morphic.Lists","_Position":"lively.pt(291.0,9.5)","distanceToDragEvent":"lively.pt(77.0,-17.0)"},"231":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(107.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"232":{"morph":{"__isSmartRef__":true,"id":230},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"233":{"requiredModules":[],"migrationLevel":9,"partsSpaceName":"PartsBin/Inputs/","comment":"A self-contained list with only one programmer-required call: init","partName":"ActionList","changes":[{"__isSmartRef__":true,"id":234},{"__isSmartRef__":true,"id":235}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Thu Dec 04 2014 10:03:11 GMT-0800 (PST)\")"},"234":{"author":"rick","message":"no comment","id":"2B56CB12-87D9-4948-B146-4F1100ADB940","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 08:59:50 GMT-0800 (PST)\")"},"235":{"author":"rick","message":"no comment","id":"15491428-7F4A-420A-9268-3A21AF21397B","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 10:03:10 GMT-0800 (PST)\")"},"236":{"sourceObj":{"__isSmartRef__":true,"id":230},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":230},"targetMethodName":"onSelection","varMapping":{"__isSmartRef__":true,"id":237},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"237":{"source":{"__isSmartRef__":true,"id":230},"target":{"__isSmartRef__":true,"id":230}},"238":{"onSelection":{"__isSmartRef__":true,"id":239},"init":{"__isSmartRef__":true,"id":242},"readMe":{"__isSmartRef__":true,"id":245},"example":{"__isSmartRef__":true,"id":248}},"239":{"varMapping":{"__isSmartRef__":true,"id":240},"source":"function onSelection(aSelection) {\n    if (!aSelection) return;\n    if (this.hasTitle && aSelection == this.title) return;\n    this.action(aSelection)\n    if(this.hasTitle) {\n        this.setSelection(this.title)\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":241},"__LivelyClassName__":"lively.Closure"},"240":{"this":{"__isSmartRef__":true,"id":230}},"241":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:56:18 GMT-0800 (PST)\")"},"242":{"varMapping":{"__isSmartRef__":true,"id":243},"source":"function init(aListObject) {\n    if (aListObject.title) {\n        this.hasTitle = true;\n        this.title = aListObject.title;\n    } else {\n        this.hasTitle = false;\n    }\n    if (aListObject.items) {\n        if (this.hasTitle) {\n            if (aListObject.items.indexOf(this.title) != -1) {\n                alert(\"Error: title \" + this.title + \" should not be an item in the list\" +\n                \" \" + this.title + \" being treated as an ordinary, selectable item\")\n                this.hasTitle = false;\n                this.setList(aListObject.items)\n            } else {\n                var items = aListObject.items.slice(0)\n                items.pushAt(this.title, 0)\n                this.setList(items)\n            }\n        } else {\n            this.setList(aListObject.items)\n        }\n    } else {\n        alert(\"Error! aListObject must have an item list\")\n        this.action = function(aSelection) {return;}\n    }\n    if (aListObject.hasOwnProperty(\"action\")) {\n        this.action = aListObject.action\n    } else {\n        alert(\"Error! aListObject must have an action\")\n        this.action = function(aSelection) {return;}\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":244},"__LivelyClassName__":"lively.Closure"},"243":{"this":{"__isSmartRef__":true,"id":230}},"244":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 10:01:50 GMT-0800 (PST)\")"},"245":{"varMapping":{"__isSmartRef__":true,"id":246},"source":"function readMe() {\n    return \"A self-contained list.  The programmer should only call a single \" +\n    \"method, init(aListObject) which sets up the list.  AListObject is of the \" +\n    \"form {title: aString, items:aListOfStrings, action:function(aString)} \" +\n    \"on selection, aListObject.action(selection) will be called.  title is \" +\n    \"optional.  When it is present, it is always the first item in the list, \" +\n    \"and selecting it results in no action.  Also, when present, the list will \" +\n    \"always show the title .  See this.example() for an example use\"\n    \n}","funcProperties":{"__isSmartRef__":true,"id":247},"__LivelyClassName__":"lively.Closure"},"246":{"this":{"__isSmartRef__":true,"id":230}},"247":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:41:48 GMT-0800 (PST)\")"},"248":{"varMapping":{"__isSmartRef__":true,"id":249},"source":"function example() {\n    this.init({title:\"Example\", items:[\"item 1\", 2, \"item 3\", 4],\n    action:function(anItem) {alert(anItem)}})\n    \n}","funcProperties":{"__isSmartRef__":true,"id":250},"__LivelyClassName__":"lively.Closure"},"249":{"this":{"__isSmartRef__":true,"id":230}},"250":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:58:39 GMT-0800 (PST)\")"},"251":{"_BorderWidth":4,"_ClipMode":"visible","_BorderRadius":7,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(1024.0,42.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(238,238,238)","_Padding":"lively.rect(0,0,0,0)"},"252":{"partsSpaceName":"PartsBin/Presentation","comment":"The composition menu bar for ","migrationLevel":9,"partName":"MenuBar","changes":[{"__isSmartRef__":true,"id":253},{"__isSmartRef__":true,"id":254},{"__isSmartRef__":true,"id":255},{"__isSmartRef__":true,"id":256},{"__isSmartRef__":true,"id":257},{"__isSmartRef__":true,"id":258},{"__isSmartRef__":true,"id":259},{"__isSmartRef__":true,"id":260},{"__isSmartRef__":true,"id":261},{"__isSmartRef__":true,"id":262},{"__isSmartRef__":true,"id":263},{"__isSmartRef__":true,"id":264},{"__isSmartRef__":true,"id":265},{"__isSmartRef__":true,"id":266},{"__isSmartRef__":true,"id":267},{"__isSmartRef__":true,"id":268},{"__isSmartRef__":true,"id":269},{"__isSmartRef__":true,"id":270},{"__isSmartRef__":true,"id":271},{"__isSmartRef__":true,"id":272},{"__isSmartRef__":true,"id":273},{"__isSmartRef__":true,"id":274}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Thu Dec 04 2014 10:09:19 GMT-0800 (PST)\")"},"253":{"author":"robertkrahn","message":"no comment","id":"A452871F-4EB9-45D1-94B8-6065CBA7B8FD","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jul 29 2013 23:20:51 GMT-0700 (PDT)\")"},"254":{"author":"SAPLivelyScreen","message":"no comment","id":"7A44D8CA-6D5F-42A3-A4B4-4D7F51EECA52","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 18 2013 11:49:27 GMT-0700 (PDT)\")"},"255":{"author":"SAPLivelyScreen","message":"no comment","id":"EF145198-0649-41BD-A92E-521D98FEC49D","__serializedExpressions__":["date"],"date":"new Date(\"Wed May 29 2013 15:36:50 GMT-0700 (PDT)\")"},"256":{"author":"jenslincke","message":"added legend","id":"7ADA3049-56C1-4D32-874B-F664A79DDB20","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:47:05 GMT-0800 (PST)\")"},"257":{"author":"jenslincke","message":"no comment","id":"A4B86A7E-A398-4C29-BEE0-4AA045ABABD2","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:42:31 GMT-0800 (PST)\")"},"258":{"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 22 2012 01:35:51 GMT-0800 (PST)\")"},"259":{"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 18 2012 10:35:08 GMT-0700 (PDT)\")"},"260":{"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350","__serializedExpressions__":["date"],"date":"new Date(\"Mon Apr 09 2012 04:42:07 GMT-0700 (PDT)\")"},"261":{"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:42:26 GMT-0700 (PDT)\")"},"262":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Feb 24 2012 17:59:09 GMT-0800 (PST)\")"},"263":{"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:53:45 GMT-0700 (PDT)\")"},"264":{"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:30 GMT-0700 (PDT)\")"},"265":{"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:36 GMT-0700 (PDT)\")"},"266":{"author":"jenslincke","message":"no comment","id":"AEB2F41B-2C88-4BBA-8875-93CD17CBA1C8","__serializedExpressions__":["date"],"date":"new Date(\"Wed Jan 23 2013 03:57:18 GMT-0800 (PST)\")"},"267":{"author":"robertkrahn","message":"no comment","id":"67FD74CD-7AE4-4050-ADC7-4DF73804258D","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 30 2013 00:18:06 GMT-0700 (PDT)\")"},"268":{"author":"robertkrahn","message":"no comment","id":"FBBB9C99-B61C-4D5F-8750-6E2987DF0C9C","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jun 20 2013 15:16:24 GMT-0700 (PDT)\")"},"269":{"author":"rick","message":"no comment","id":"EB1F8892-F2A8-4C2E-96D2-E56A2D8D4732","__serializedExpressions__":["date"],"date":"new Date(\"Fri Nov 28 2014 07:42:06 GMT-0800 (PST)\")"},"270":{"author":"rick","message":"no comment","id":"0E8FC82F-1664-4B14-AF26-3F5B118EDB3F","__serializedExpressions__":["date"],"date":"new Date(\"Fri Nov 28 2014 09:01:00 GMT-0800 (PST)\")"},"271":{"author":"rick","message":"no comment","id":"C7C428C2-EEE0-41D2-872A-EABFBF7CBA71","__serializedExpressions__":["date"],"date":"new Date(\"Fri Nov 28 2014 18:00:31 GMT-0800 (PST)\")"},"272":{"author":"rick","message":"no comment","id":"E2FFB15F-9DC4-44B2-A7E9-3D2DEB782361","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 03 2014 10:31:08 GMT-0800 (PST)\")"},"273":{"author":"rick","message":"no comment","id":"BF45CE72-9994-405C-A4D2-66CF21AE668A","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 03 2014 12:09:13 GMT-0800 (PST)\")"},"274":{"author":"rick","message":"no comment","id":"E2A1B832-DAFC-4725-A3DF-D24CF8170F57","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 10:09:18 GMT-0800 (PST)\")"},"275":{"morph":{"__isSmartRef__":true,"id":118},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"276":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":277}},"277":{"test01IsMorph":{"__isSmartRef__":true,"id":278}},"278":{"varMapping":{"__isSmartRef__":true,"id":279},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":280},"__LivelyClassName__":"lively.Closure"},"279":{"this":{"__isSmartRef__":true,"id":276}},"280":{},"281":{"submorphs":[],"scripts":[],"id":"31A79412-15B0-4AC8-9795-A79F41B5B89A","shape":{"__isSmartRef__":true,"id":282},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":283},"showsHalos":false,"name":"SAP Logo","partsBinMetaInfo":{"__isSmartRef__":true,"id":284},"derivationIds":[707,"66FB7AE9-A058-473B-B5BC-FB1ADAAADA97","CCBAFFD1-9FF2-41AB-BA5B-CE9B68AA5FFA","C730354B-41F4-4BB8-8D82-09405474CEE5","8E6C7667-2F8F-4F11-8590-DDC85292CE22","6DA2DBBE-A607-45AF-B2C3-9D211ACC2429","FD9ADFD0-6BF9-4A22-9444-C0885DEE18A2","0F8EC803-FD32-440E-9590-4DB87CDAC7E7","E8255076-CFBC-4E2D-825B-C80A6B8ECC20","659D6227-1BDC-4DF6-B712-9719ABB0F7E9","7A737ACF-8EF1-4A86-9F29-ED93275DAD73","59F28DFA-0D32-41D2-8828-BDC0BE4E8591","C4ECEE1A-E381-4FD6-B045-F57C17C00ECB","6F5959BE-70C6-44B2-BB78-F87A470D4557","1E1349FB-69D5-47A1-A222-EAEB923E81AE","1EF676F7-E694-464F-ABA8-C90C83245257"],"_ClipMode":"visible","owner":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Image","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(784.0,635.0)","distanceToDragEvent":"lively.pt(165.0,-11.0)"},"282":{"_ImageURL":"http://upload.wikimedia.org/wikipedia/commons/8/8f/SAP-Logo.svg","isLoaded":true,"__serializedExpressions__":["position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Image","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(228.0,113.1)","_Padding":"lively.rect(0,0,0,0)"},"283":{"morph":{"__isSmartRef__":true,"id":281},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"284":{"partsSpaceName":"PartsBin/Basic/","partName":"Image","migrationLevel":2,"comment":"an pixmap image morph","__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:34 GMT-0700 (PDT)\")"},"285":{"submorphs":[],"scripts":[],"id":"95B9F82E-98F0-43FF-BED5-59EB7EFD2EC3","shape":{"__isSmartRef__":true,"id":286},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":287},"showsHalos":false,"name":"CDG Logo","partsBinMetaInfo":{"__isSmartRef__":true,"id":288},"derivationIds":[707,"66FB7AE9-A058-473B-B5BC-FB1ADAAADA97","5A25564D-C057-4EA1-A680-E81B42597AA4","B39E7E68-0272-4839-9274-EC9A75817D98","5F0E756A-8979-4B9A-B5C4-0C6D1BB18B2E","1A1A1921-D48A-4994-99D7-EAE20A6DAC1B","08C35A1A-4D81-479D-BC99-88BE6118CDFF","3B75C923-DF35-425C-A336-735A7498EAFF","943CD4FF-530B-4F39-8CE3-F8933D2E8F8B","8F85F511-7554-4168-95FC-95F62076358E","9AEBDEC1-8517-4634-AC52-E798D856F3CF","6DDAC14E-396B-4503-AFBE-1689EE41985C","D9F22F64-444D-45CB-AE63-5561D52DAE98","5CA2C419-1DD9-47FA-8D66-14E6D4FE2F59","F45E44A6-D954-4CB1-9CD9-AF4EFC0C8755"],"_ClipMode":"visible","owner":{"__isSmartRef__":true,"id":0},"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Image","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(18.0,653.0)","distanceToDragEvent":"lively.pt(171.0,-25.0)"},"286":{"_ImageURL":"http://www.lively-web.org/core/media/CDG/cdglabs.png","isLoaded":true,"__serializedExpressions__":["position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Image","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(253.0,104.9)","_Padding":"lively.rect(0,0,0,0)"},"287":{"morph":{"__isSmartRef__":true,"id":285},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"288":{"partsSpaceName":"PartsBin/Basic/","partName":"Image","migrationLevel":2,"comment":"an pixmap image morph","__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:34 GMT-0700 (PDT)\")"},"289":{"_BorderWidth":2.5,"_ClipMode":"visible","_BorderRadius":15,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(1024.0,768.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(238,238,238)","_Padding":"lively.rect(0,0,0,0)"},"290":{"partsSpaceName":"PartsBin/Presentation/","comment":"A Lively Presentation","migrationLevel":9,"partName":"Presentation","changes":[{"__isSmartRef__":true,"id":291},{"__isSmartRef__":true,"id":292},{"__isSmartRef__":true,"id":293},{"__isSmartRef__":true,"id":294},{"__isSmartRef__":true,"id":295},{"__isSmartRef__":true,"id":296},{"__isSmartRef__":true,"id":297},{"__isSmartRef__":true,"id":298},{"__isSmartRef__":true,"id":299},{"__isSmartRef__":true,"id":300},{"__isSmartRef__":true,"id":301},{"__isSmartRef__":true,"id":302},{"__isSmartRef__":true,"id":303},{"__isSmartRef__":true,"id":304},{"__isSmartRef__":true,"id":305},{"__isSmartRef__":true,"id":306},{"__isSmartRef__":true,"id":307},{"__isSmartRef__":true,"id":308},{"__isSmartRef__":true,"id":309},{"__isSmartRef__":true,"id":310},{"__isSmartRef__":true,"id":311},{"__isSmartRef__":true,"id":312},{"__isSmartRef__":true,"id":313}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Dec 23 2014 18:02:58 GMT-0800 (PST)\")"},"291":{"author":"rick","message":"no comment","id":"A79F8381-0AF8-47F9-AAC7-248822E4B8C6","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 23 2014 18:02:55 GMT-0800 (PST)\")"},"292":{"author":"rick","message":"no comment","id":"B50256C1-93D3-4C6B-A2E8-9038430B1038","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 23 2014 11:53:52 GMT-0800 (PST)\")"},"293":{"author":"jenslincke","message":"no comment","id":"ADFBF069-513C-4DE6-95A9-8AD4985C6508","__serializedExpressions__":["date"],"date":"new Date(\"Tue Feb 04 2014 01:23:53 GMT-0800 (PST)\")"},"294":{"author":"robertkrahn","message":"no comment","id":"A452871F-4EB9-45D1-94B8-6065CBA7B8FD","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jul 29 2013 23:20:51 GMT-0700 (PDT)\")"},"295":{"author":"SAPLivelyScreen","message":"no comment","id":"7A44D8CA-6D5F-42A3-A4B4-4D7F51EECA52","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 18 2013 11:49:27 GMT-0700 (PDT)\")"},"296":{"author":"SAPLivelyScreen","message":"no comment","id":"EF145198-0649-41BD-A92E-521D98FEC49D","__serializedExpressions__":["date"],"date":"new Date(\"Wed May 29 2013 15:36:50 GMT-0700 (PDT)\")"},"297":{"author":"jenslincke","message":"added legend","id":"7ADA3049-56C1-4D32-874B-F664A79DDB20","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:47:05 GMT-0800 (PST)\")"},"298":{"author":"jenslincke","message":"no comment","id":"A4B86A7E-A398-4C29-BEE0-4AA045ABABD2","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:42:31 GMT-0800 (PST)\")"},"299":{"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 22 2012 01:35:51 GMT-0800 (PST)\")"},"300":{"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 18 2012 10:35:08 GMT-0700 (PDT)\")"},"301":{"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350","__serializedExpressions__":["date"],"date":"new Date(\"Mon Apr 09 2012 04:42:07 GMT-0700 (PDT)\")"},"302":{"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:42:26 GMT-0700 (PDT)\")"},"303":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Feb 24 2012 17:59:09 GMT-0800 (PST)\")"},"304":{"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:53:45 GMT-0700 (PDT)\")"},"305":{"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:30 GMT-0700 (PDT)\")"},"306":{"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:36 GMT-0700 (PDT)\")"},"307":{"author":"jenslincke","message":"no comment","id":"AEB2F41B-2C88-4BBA-8875-93CD17CBA1C8","__serializedExpressions__":["date"],"date":"new Date(\"Wed Jan 23 2013 03:57:18 GMT-0800 (PST)\")"},"308":{"author":"robertkrahn","message":"no comment","id":"67FD74CD-7AE4-4050-ADC7-4DF73804258D","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 30 2013 00:18:06 GMT-0700 (PDT)\")"},"309":{"author":"robertkrahn","message":"no comment","id":"FBBB9C99-B61C-4D5F-8750-6E2987DF0C9C","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jun 20 2013 15:16:24 GMT-0700 (PDT)\")"},"310":{"author":"jenslincke","message":"no comment","id":"ECD12BFF-E872-4918-8341-C6571E72F36D","__serializedExpressions__":["date"],"date":"new Date(\"Tue Feb 04 2014 01:24:27 GMT-0800 (PST)\")"},"311":{"author":"lauritz","message":"dropping enabled for the blue rectangle","id":"81D350CB-D926-491F-8FF3-A6C9C831BDF2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 12 2014 07:00:28 GMT-0700 (PDT)\")"},"312":{"author":"robertkrahn","message":"no comment","id":"5AF36E70-7428-4762-9423-D7160E3DCBDC","__serializedExpressions__":["date"],"date":"new Date(\"Sat Nov 08 2014 15:34:45 GMT-0800 (PST)\")"},"313":{"__serializedExpressions__":["date"],"author":"rick","message":"no comment","id":"E5E48677-85A1-4062-A866-91B4243CCF0C","date":"new Date(\"Tue Dec 23 2014 18:14:30 GMT-0800 (PST)\")"},"314":{"morph":{"__isSmartRef__":true,"id":0},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"315":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":316}},"316":{"test01IsMorph":{"__isSmartRef__":true,"id":317}},"317":{"varMapping":{"__isSmartRef__":true,"id":318},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":319},"__LivelyClassName__":"lively.Closure"},"318":{"this":{"__isSmartRef__":true,"id":315}},"319":{},"320":{"submorphs":[{"__isSmartRef__":true,"id":321},{"__isSmartRef__":true,"id":337},{"__isSmartRef__":true,"id":353},{"__isSmartRef__":true,"id":368},{"__isSmartRef__":true,"id":390},{"__isSmartRef__":true,"id":411}],"scripts":[],"id":"ED6E8926-A785-4790-B4DA-F9F22B15E7E5","shape":{"__isSmartRef__":true,"id":432},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"PresentationBar","partsBinMetaInfo":{"__isSmartRef__":true,"id":433},"eventHandler":{"__isSmartRef__":true,"id":458},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","BD8BECDB-A9A1-4009-B433-C925F0AFCCFC","F2677A9D-5855-4DF2-B248-94545B34B762","D52188B3-7DC0-410E-96B1-50892AC00A37","6575457B-734F-4449-94E9-08A5A5412CAC","0021A7A8-3FAB-41A9-B2D8-1A45E16346E9","985D078F-6237-4DA4-B76B-4561E8FA22E8","5C5C7501-C0A3-436C-9A00-B8FAF74D4BF5","0AEAB591-332E-4C53-8A54-9DBA6AD61C6B","3F58531C-4EAC-44DA-810A-CF866DF4EBAF","29CFA8B0-661B-4575-8C82-834480DFEF57","A2BFE8D7-DA83-464E-9170-4C87A9EF8631","72EE4A3D-0F04-4859-8227-FE2B76FF6F69"],"partTests":{"__isSmartRef__":true,"id":459},"_ClipMode":"visible","moved":true,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)","distanceToDragEvent":"lively.pt(146.0,-11.0)"},"321":{"submorphs":[{"__isSmartRef__":true,"id":322}],"scripts":[],"id":"9B1D435D-85CE-42BE-818E-F0605D99631A","shape":{"__isSmartRef__":true,"id":327},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":322},"name":"Next","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":328},"eventHandler":{"__isSmartRef__":true,"id":330},"derivationIds":[7251,"AE965E5C-19BD-4049-96CC-319842C6E018","48A2B11A-9B17-4905-A355-922C0EFD3BDD","E96E4913-25D1-48DC-A73B-10543F70A255","52E8CBD9-59C6-4A21-93E4-F860C1E69A82","48563338-3FFB-454F-9C52-B16488CF81ED","A7115430-150A-4355-97C3-438D296120A4","E2B86F64-27C0-48DC-887A-7620D0C861DF","3B815FB8-539B-41C9-8768-4675F8EC072E","ADCD6560-BBB6-4CCD-A87B-2B181B01D001","E3D65870-1B9F-4986-8AA4-30E2C66BE56B","ADABF28C-8A8D-4D95-95FF-AB68F90BF094"],"_ClipMode":"visible","isPressed":false,"owner":{"__isSmartRef__":true,"id":320},"_ToolTip":"Next Slide","attributeConnections":[{"__isSmartRef__":true,"id":331}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"_StyleClassNames":["Morph","Button"],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","normalFill","lighterFill","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":333},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(982.5,8.5)","normalFill":"Color.rgb(255,255,255)","lighterFill":"Color.rgb(230,230,230)","distanceToDragEvent":"lively.pt(34.0,-6.0)"},"322":{"submorphs":[],"scripts":[],"id":"87C468FB-59AB-4902-AE72-397E764662AA","shape":{"__isSmartRef__":true,"id":323},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Arial","registeredForMouseEvents":true,"_MaxTextWidth":110,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":321},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":324}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":326},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[7252,"5136A758-BF53-43D4-B39B-DF7EFA37E738","6D958E1B-5031-4E63-A12C-A1E46FFBED47","2752A60F-D600-41BB-82A2-15857475FFA8","8AA70002-9D0E-4477-B82F-FA20DFBF8B89","9120EB1D-A789-48EA-8405-61F8EE1B4686","43897ADD-3CA8-4E9F-BD3F-3970EFA71561","24C6098C-E93C-44EF-8C26-E3B1678F218F","F39163F3-CB3F-47F7-A67D-1E4949317526","FD0DC68C-54E9-4390-8F1A-7B4A720E45ED","82296058-5028-4AF8-AA01-AB0885DCFACE","E6538CBC-EA57-4C61-92B7-DE220A6CC7E5"],"_MinTextWidth":110,"_MinTextHeight":null,"_FontSize":14,"_InputAllowed":false,"__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"323":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(33.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"324":{"style":{"__isSmartRef__":true,"id":325},"chunkOwner":{"__isSmartRef__":true,"id":322},"_id":"_4869","storedString":">","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"325":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"326":{"morph":{"__isSmartRef__":true,"id":322},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"327":{"_BorderWidth":4.888,"_BorderRadius":15.185,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(33.0,25.0)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(238,238,238)","_Padding":"lively.rect(0,0,0,0)"},"328":{"partsSpaceName":"PartsBin/SketchyInputs/","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":329}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:35 GMT-0700 (PDT)\")"},"329":{"author":"lauritz","message":"","id":"959919F0-D51D-45E6-9205-4D7A114D8C7E","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jan 24 2012 12:35:57 GMT-0800 (PST)\")"},"330":{"morph":{"__isSmartRef__":true,"id":321},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"331":{"sourceObj":{"__isSmartRef__":true,"id":321},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":321},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":332},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"332":{"source":{"__isSmartRef__":true,"id":321},"target":{"__isSmartRef__":true,"id":321}},"333":{"doAction":{"__isSmartRef__":true,"id":334}},"334":{"varMapping":{"__isSmartRef__":true,"id":335},"source":"function doAction() {\n    this.owner.owner.showNextSlide()\n}","funcProperties":{"__isSmartRef__":true,"id":336},"__LivelyClassName__":"lively.Closure"},"335":{"this":{"__isSmartRef__":true,"id":321}},"336":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 17:31:11 GMT-0800 (PST)\")"},"337":{"submorphs":[{"__isSmartRef__":true,"id":338}],"scripts":[],"id":"E9299BF1-1421-4310-AA9E-8D46C9EC3C31","shape":{"__isSmartRef__":true,"id":343},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":338},"name":"Prev","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":344},"eventHandler":{"__isSmartRef__":true,"id":346},"derivationIds":[7251,"AE965E5C-19BD-4049-96CC-319842C6E018","48A2B11A-9B17-4905-A355-922C0EFD3BDD","E96E4913-25D1-48DC-A73B-10543F70A255","5537C5B7-25A3-4551-AA32-CAC283C76403","BAB69B8F-0CE5-4AC4-A211-522DB17EBD57","56A66FF0-730F-4196-86BC-EBF57BB58ACE","748B1500-2D1B-4176-B000-E60824FFDB13","6730816A-7205-471A-B8E8-1E4F3C803110","89AB7176-A89B-4B3C-A067-BFD6898524CF","566ABF44-D4A4-4C42-AF89-F91C8EADE2B9","3050D5F3-7622-4F20-A15A-609B023C8EAE","B7F91148-83E4-4FA1-A5AC-3601FFC6A8B9"],"_ClipMode":"visible","isPressed":false,"_ToolTip":"Previous Slide","owner":{"__isSmartRef__":true,"id":320},"attributeConnections":[{"__isSmartRef__":true,"id":347}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"_StyleClassNames":["Morph","Button"],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","normalFill","lighterFill","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":349},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(8.5,8.5)","normalFill":"Color.rgb(255,255,255)","lighterFill":"Color.rgb(230,230,230)","distanceToDragEvent":"lively.pt(37.0,-8.0)"},"338":{"submorphs":[],"scripts":[],"id":"FBDE17EC-3543-4348-9B98-83A9CA841E36","shape":{"__isSmartRef__":true,"id":339},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Arial","registeredForMouseEvents":true,"_MaxTextWidth":110,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":337},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":340}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":342},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[7252,"5136A758-BF53-43D4-B39B-DF7EFA37E738","6D958E1B-5031-4E63-A12C-A1E46FFBED47","2752A60F-D600-41BB-82A2-15857475FFA8","A27EDCB1-D07A-4B10-98B3-CA0CE408AD4E","0A4C22C2-8A5F-4525-A7DC-0EE5C84531BB","D53002B9-03D8-4B70-A1B1-16726ACAFC22","9C3FCC57-06E4-4EAF-94B6-491CC5F1AA8A","60C3186F-937C-4EFB-8B67-F45F73CF5F4E","D852F5BF-A203-4839-9E9F-62169AA49A00","620584B1-F483-402D-8289-2A5C9F1D8320","C562A92D-0AAA-4AA1-978E-89E3F3C03DB4","25C5601B-970A-44D0-BCC3-D7BE6E4420CE"],"_MinTextWidth":110,"_MinTextHeight":null,"_FontSize":12,"_InputAllowed":false,"__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"339":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(33.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"340":{"style":{"__isSmartRef__":true,"id":341},"chunkOwner":{"__isSmartRef__":true,"id":338},"_id":"_4105","storedString":"<","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"341":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"342":{"morph":{"__isSmartRef__":true,"id":338},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"343":{"_BorderWidth":4.888,"_BorderRadius":15.185,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(33.0,25.0)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(238,238,238)","_Padding":"lively.rect(0,0,0,0)"},"344":{"partsSpaceName":"PartsBin/SketchyInputs/","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":345}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:35 GMT-0700 (PDT)\")"},"345":{"author":"lauritz","message":"","id":"959919F0-D51D-45E6-9205-4D7A114D8C7E","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jan 24 2012 12:35:57 GMT-0800 (PST)\")"},"346":{"morph":{"__isSmartRef__":true,"id":337},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"347":{"sourceObj":{"__isSmartRef__":true,"id":337},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":337},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":348},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"348":{"source":{"__isSmartRef__":true,"id":337},"target":{"__isSmartRef__":true,"id":337}},"349":{"doAction":{"__isSmartRef__":true,"id":350}},"350":{"varMapping":{"__isSmartRef__":true,"id":351},"source":"function doAction() {\n    this.owner.owner.showPreviousSlide()\n    \n}","funcProperties":{"__isSmartRef__":true,"id":352},"__LivelyClassName__":"lively.Closure"},"351":{"this":{"__isSmartRef__":true,"id":337}},"352":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 17:33:08 GMT-0800 (PST)\")"},"353":{"submorphs":[],"scripts":[],"id":"CFFB1515-3FE0-44C9-9429-C9B1989B351E","shape":{"__isSmartRef__":true,"id":354},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"Slide Number","partsBinMetaInfo":{"__isSmartRef__":true,"id":355},"textChunks":[{"__isSmartRef__":true,"id":364}],"charsReplaced":"Some Text","lastFindLoc":9,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":366},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","F1D26890-7392-487D-B5DE-97C772B4E79E","59440FC5-E676-4B9B-A828-C150A05765C0","021D41A0-C172-475A-9F8B-E57A555FCA49","3EB3D281-7B1F-4D8C-B4F0-C76BE1F9F617","EC187AAB-72A2-4A79-9BCA-25042EE70345","4DFD8511-8D57-44AF-87EA-607C453A5022","4A2E177B-B798-4A17-93E7-751DADE6D287","F8253925-8008-4DDF-89A3-469B26A6B93D","12965034-9047-41C3-8FD0-42DD45205238","E95248D3-3288-4246-8F59-84CAEDDBC64F","CBBCCB4F-9AC2-4F0D-B510-F13E102DC675","BE453A61-D33A-4DC0-84ED-59E08EA918BA"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"previousSelection":[0,0],"isBeingDragged":false,"moved":true,"layout":{"__isSmartRef__":true,"id":367},"owner":{"__isSmartRef__":true,"id":320},"_Align":"center","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(497.6,5.5)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(47.0,-10.0)"},"354":{"fill":null,"_BorderWidth":1.482,"_ClipMode":"visible","_Fill":null,"_BorderRadius":11.48,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(28.7,31.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"355":{"partsSpaceName":"PartsBin/Basic/","migrationLevel":8,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":356},{"__isSmartRef__":true,"id":357},{"__isSmartRef__":true,"id":358},{"__isSmartRef__":true,"id":359},{"__isSmartRef__":true,"id":360},{"__isSmartRef__":true,"id":361},{"__isSmartRef__":true,"id":362},{"__isSmartRef__":true,"id":363}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Sat Apr 05 2014 01:51:52 GMT-0700 (PDT)\")"},"356":{"author":"robertkrahn","message":"resizeWidth = true","id":"E402462A-7AB2-487B-82BD-A3369C1C1F75","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 05 2014 01:58:52 GMT-0700 (PDT)\")"},"357":{"author":"jenslincke","message":"no comment","id":"9E495E1B-6E6D-4A89-9F9E-85AF618DC598","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 10:36:22 GMT-0700 (PDT)\")"},"358":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:30:30 GMT-0700 (PDT)\")"},"359":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)).  This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Sun Feb 26 2012 21:20:38 GMT-0800 (PST)\")"},"360":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Fri Apr 20 2012 22:31:43 GMT-0700 (PDT)\")"},"361":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Fri Apr 20 2012 22:32:09 GMT-0700 (PDT)\")"},"362":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 05:18:18 GMT-0700 (PDT)\")"},"363":{"author":"jenslincke","message":"no comment","id":"A3BA0C1E-7E83-43BF-9EC6-4F4BB3835D62","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 09:31:56 GMT-0700 (PDT)\")"},"364":{"style":{"__isSmartRef__":true,"id":365},"chunkOwner":{"__isSmartRef__":true,"id":353},"_id":"_12015","storedString":"1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"365":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"366":{"morph":{"__isSmartRef__":true,"id":353},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"367":{"resizeWidth":true},"368":{"submorphs":[],"scripts":[],"id":"0BAB3B3D-5232-4E73-B9B3-68B75A71493F","shape":{"__isSmartRef__":true,"id":369},"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":370},"itemList":["Mode","Composition","Play","Presentation"],"selectOnMove":false,"showsHalos":false,"name":"PresentationMode","partsBinMetaInfo":{"__isSmartRef__":true,"id":371},"derivationIds":[6545,"9CE40D45-F249-461A-9C31-2DDA97BCFCC6","85902790-A508-4E9B-A66C-627AAD9FADDC","620FEF7D-3401-4E6F-8027-0AC7C79843E6","F339E9CE-B044-4123-B43D-B7DC107D37C1","F57B43AF-61CC-45C5-AD8E-2B43B0361819","49286E69-1813-40F2-A62B-70147132FC13","9EAE49DA-FF79-4D36-A42C-FD24209C2CC2","0DB347B1-0435-4125-8EA6-565E9D7EC6AC","975CAB2D-9DFC-472B-9793-DA41F9D412E7","67F515CE-7A94-472A-9569-CA86BD385FB9"],"selectedLineNo":-1,"_ToolTip":"Choose the mode: editing, edit master, present, or play","changeTriggered":true,"attributeConnections":[{"__isSmartRef__":true,"id":373}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"actionStruct":{"__isSmartRef__":true,"id":375},"title":"Mode","actions":{"__isSmartRef__":true,"id":376},"owner":{"__isSmartRef__":true,"id":320},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":377},"__LivelyClassName__":"lively.morphic.DropDownList","__SourceModuleName__":"Global.lively.morphic.Lists","_Position":"lively.pt(800.5,8.5)","distanceToDragEvent":"lively.pt(77.0,-5.0)"},"369":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(107.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"370":{"morph":{"__isSmartRef__":true,"id":368},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"371":{"requiredModules":[],"migrationLevel":9,"partsSpaceName":"PartsBin/Inputs/","comment":"A dropdownlist which essentially exports only one call: init(anActionStruct). Documented by this.readMe(); see this.showExample() to generate the\nexample menu.  The general idea is that after calling init(anActionStruct), all the connections and actions follow\n","partName":"PullDownMenu","changes":[{"__isSmartRef__":true,"id":372}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Dec 03 2014 08:57:43 GMT-0800 (PST)\")"},"372":{"author":"rick","message":"no comment","id":"AE0615B4-13AF-48E7-ABEE-D4F7456580E9","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 03 2014 08:57:42 GMT-0800 (PST)\")"},"373":{"sourceObj":{"__isSmartRef__":true,"id":368},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":368},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":374},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"374":{"source":{"__isSmartRef__":true,"id":368},"target":{"__isSmartRef__":true,"id":368}},"375":{},"376":{},"377":{"init":{"__isSmartRef__":true,"id":378},"readMe":{"__isSmartRef__":true,"id":381},"doAction":{"__isSmartRef__":true,"id":384},"showExample":{"__isSmartRef__":true,"id":387}},"378":{"varMapping":{"__isSmartRef__":true,"id":379},"source":"function init(anActionStruct) {\n    // the idea behind a pulldown Menu is that it's self-contained:\n    // the only connection is to itself, and all the information to fill\n    // the list and perform the actions is in the action struct\n    // an ActionStruct is of the form\n    // {title: aString,\n    //  actions: {S1: F1,\n    //            S2: F2...\n    //             }\n    // menuOrder: [S1, S2,]\n    // }\n    // the list is populated with aString, S1, S2,...\n    // Fi is called as the action when Si is selected\n    // optArg: menuOrder: a list with some of the keys specified.  These will\n    // appear first in the list after the title, in order.  Other keys added\n    // as Object.keys(anActionStruct.actions) fills them\n    this.clearSelections()\n    this.setList([])\n    var keys = Object.keys(anActionStruct.actions)\n    var itemList = [anActionStruct.title]\n    anActionStruct.menuOrder.forEach(function(aString) {\n        if (aString == anActionStruct.title) {\n            alert(\"Error: \" + aString + \" can't be both a title and an action\")\n        } else if (itemList.indexOf(aString) != -1) {\n            alert('Error: ' + aString + ' appears twice')\n        } else if (keys.indexOf(aString) == -1) {\n            alert(\"Error: \" + aString + \" appears in menuOrder but has no action\")\n        } else {\n            itemList.push(aString)\n        }\n    })\n    keys.forEach(function (aString) {\n        if (itemList.indexOf(aString) != -1) return;\n        if (aString == anActionStruct.title) {\n            alert(\"Error: \" + aString + \" can't be both a title and an action\")\n            return\n        } \n        itemList.push(aString)\n    })\n    this.setList(itemList)\n    this.actions = anActionStruct.actions\n    this.title = anActionStruct.title\n    \n    \n    \n}","funcProperties":{"__isSmartRef__":true,"id":380},"__LivelyClassName__":"lively.Closure"},"379":{"this":{"__isSmartRef__":true,"id":368}},"380":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 08:55:21 GMT-0800 (PST)\")"},"381":{"varMapping":{"__isSmartRef__":true,"id":382},"source":"function readMe() {\n    return \"The idea behind a pulldown Menu is that it's self-contained: \"+\n  \" the only connection is to itself, and all the information to fill\" +\n   \" the list and perform the actions is in the action struct\" +\n   \" an ActionStruct is of the form\" +\n   \" {title: aString,\" +\n   \"  actions: {S1: F1,\" +\n   \"            S2: F2...\" +\n   \"             }\" +\n   \" menuOrder: [S1, S2,]\" +\n   \" }\" +\n   \" the list is populated with aString, S1, S2,...\" +\n   \" Fi is called as the action when Si is selected\" +\n   \" optArg: menuOrder: a list with some of the keys specified.  These will\" +\n   \" appear first in the list after the title, in order.  Other keys added\" +\n   \" as Object.keys(anActionStruct.actions) fills them\";\n   \n}","funcProperties":{"__isSmartRef__":true,"id":383},"__LivelyClassName__":"lively.Closure"},"382":{"this":{"__isSmartRef__":true,"id":368}},"383":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 12:05:31 GMT-0800 (PST)\")"},"384":{"varMapping":{"__isSmartRef__":true,"id":385},"source":"function doAction(anItemFromList) {\n    // generic action called on selection.  This should only be called\n    // in response to a selection change, and then it just does \n    // this.actions[anItemFromList].action() and resets to the title\n    if (!anItemFromList) {\n        // this should never happen, but we do get bogus selections from\n        // various events (e.g., clearing the list)\n        return\n    }\n    if (anItemFromList == this.title) {\n        // just resetting to the title, do nothing\n        return;\n    }\n    // shouldn't happen, but suspenders & belt\n    if (this.itemList.indexOf(anItemFromList) == -1) {\n        alert(\"Error: \" +  anitemFromList + \" doesn't appear in the menu!\")\n    }\n    // OK, just do the action and return.  This is guaranteed to be there\n    this.actions[anItemFromList]()\n    this.setSelection(this.title)\n    \n}","funcProperties":{"__isSmartRef__":true,"id":386},"__LivelyClassName__":"lively.Closure"},"385":{"this":{"__isSmartRef__":true,"id":368}},"386":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 12:05:31 GMT-0800 (PST)\")"},"387":{"varMapping":{"__isSmartRef__":true,"id":388},"source":"function showExample() {\n    // call this to generate an example menu\n    var menu = this; // lexical scope to pass this object properly \n    this.init({title:\"Example\",\n            actions:  {\n                \"Action 1\": function() {alert(\"Action 1\")},\n                \"Action 2\": function() {alert(\"Action 2\")},\n                \"Action 3\": function() {alert(\"Action 3\")},\n                \"Readme\": function() {show(menu.readMe())}\n            },\n            menuOrder: [\"Readme\", \"Action 1\"]\n            })\n    \n}","funcProperties":{"__isSmartRef__":true,"id":389},"__LivelyClassName__":"lively.Closure"},"388":{"this":{"__isSmartRef__":true,"id":368}},"389":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 08:51:17 GMT-0800 (PST)\")"},"390":{"submorphs":[],"scripts":[],"id":"AAB9E740-258F-43BF-ACF2-928DEAAD8201","shape":{"__isSmartRef__":true,"id":391},"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":392},"itemList":["Go to Slide",0],"selectOnMove":false,"showsHalos":false,"name":"NavigationPresentation","partsBinMetaInfo":{"__isSmartRef__":true,"id":393},"derivationIds":[6545,"9CE40D45-F249-461A-9C31-2DDA97BCFCC6","EF6E2453-040B-4BFF-9CA1-7AE6B1BC6BDE","8E3300F7-9235-496D-B9D0-187DC7EB9302","37C32B2C-FAD2-4B92-B8FF-12D19CC97EA6","A161982B-489C-4A05-BF4A-16A1672A2B78","EC1E9BD9-C789-4B6A-9DE6-C64533B41A0C","7AE46EEF-F966-4FE2-A19C-F7FB5958DD07","EA073B98-BCF6-4F55-A3AD-924BC340E225","9D7F93D6-0DDE-4ACF-AC54-3EFD7040F4EE","4D4DF45F-6FEB-41F5-9855-C3D0152FED86","C31665FD-D0BD-40D0-905D-C55F642D392C"],"selectedLineNo":0,"_ToolTip":"Go to slide by title topic","changeTriggered":false,"selection":"Go to Slide","attributeConnections":[{"__isSmartRef__":true,"id":396}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"hasTitle":true,"title":"Go to Slide","owner":{"__isSmartRef__":true,"id":320},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":398},"__LivelyClassName__":"lively.morphic.DropDownList","__SourceModuleName__":"Global.lively.morphic.Lists","_Position":"lively.pt(201.0,11.0)","distanceToDragEvent":"lively.pt(72.0,-20.0)"},"391":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(107.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"392":{"morph":{"__isSmartRef__":true,"id":390},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"393":{"requiredModules":[],"migrationLevel":9,"partsSpaceName":"PartsBin/Inputs/","comment":"A self-contained list with only one programmer-required call: init","partName":"ActionList","changes":[{"__isSmartRef__":true,"id":394},{"__isSmartRef__":true,"id":395}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Thu Dec 04 2014 10:03:11 GMT-0800 (PST)\")"},"394":{"author":"rick","message":"no comment","id":"2B56CB12-87D9-4948-B146-4F1100ADB940","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 08:59:50 GMT-0800 (PST)\")"},"395":{"author":"rick","message":"no comment","id":"15491428-7F4A-420A-9268-3A21AF21397B","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 10:03:10 GMT-0800 (PST)\")"},"396":{"sourceObj":{"__isSmartRef__":true,"id":390},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":390},"targetMethodName":"onSelection","varMapping":{"__isSmartRef__":true,"id":397},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"397":{"source":{"__isSmartRef__":true,"id":390},"target":{"__isSmartRef__":true,"id":390}},"398":{"onSelection":{"__isSmartRef__":true,"id":399},"init":{"__isSmartRef__":true,"id":402},"readMe":{"__isSmartRef__":true,"id":405},"example":{"__isSmartRef__":true,"id":408}},"399":{"varMapping":{"__isSmartRef__":true,"id":400},"source":"function onSelection(aSelection) {\n    if (!aSelection) return;\n    if (this.hasTitle && aSelection == this.title) return;\n    this.action(aSelection)\n    if(this.hasTitle) {\n        this.setSelection(this.title)\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":401},"__LivelyClassName__":"lively.Closure"},"400":{"this":{"__isSmartRef__":true,"id":390}},"401":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:56:18 GMT-0800 (PST)\")"},"402":{"varMapping":{"__isSmartRef__":true,"id":403},"source":"function init(aListObject) {\n    if (aListObject.title) {\n        this.hasTitle = true;\n        this.title = aListObject.title;\n    } else {\n        this.hasTitle = false;\n    }\n    if (aListObject.items) {\n        if (this.hasTitle) {\n            if (aListObject.items.indexOf(this.title) != -1) {\n                alert(\"Error: title \" + this.title + \" should not be an item in the list\" +\n                \" \" + this.title + \" being treated as an ordinary, selectable item\")\n                this.hasTitle = false;\n                this.setList(aListObject.items)\n            } else {\n                var items = aListObject.items.slice(0)\n                items.pushAt(this.title, 0)\n                this.setList(items)\n            }\n        } else {\n            this.setList(aListObject.items)\n        }\n    } else {\n        alert(\"Error! aListObject must have an item list\")\n        this.action = function(aSelection) {return;}\n    }\n    if (aListObject.hasOwnProperty(\"action\")) {\n        this.action = aListObject.action\n    } else {\n        alert(\"Error! aListObject must have an action\")\n        this.action = function(aSelection) {return;}\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":404},"__LivelyClassName__":"lively.Closure"},"403":{"this":{"__isSmartRef__":true,"id":390}},"404":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 10:01:50 GMT-0800 (PST)\")"},"405":{"varMapping":{"__isSmartRef__":true,"id":406},"source":"function readMe() {\n    return \"A self-contained list.  The programmer should only call a single \" +\n    \"method, init(aListObject) which sets up the list.  AListObject is of the \" +\n    \"form {title: aString, items:aListOfStrings, action:function(aString)} \" +\n    \"on selection, aListObject.action(selection) will be called.  title is \" +\n    \"optional.  When it is present, it is always the first item in the list, \" +\n    \"and selecting it results in no action.  Also, when present, the list will \" +\n    \"always show the title .  See this.example() for an example use\"\n    \n}","funcProperties":{"__isSmartRef__":true,"id":407},"__LivelyClassName__":"lively.Closure"},"406":{"this":{"__isSmartRef__":true,"id":390}},"407":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:41:48 GMT-0800 (PST)\")"},"408":{"varMapping":{"__isSmartRef__":true,"id":409},"source":"function example() {\n    this.init({title:\"Example\", items:[\"item 1\", 2, \"item 3\", 4],\n    action:function(anItem) {alert(anItem)}})\n    \n}","funcProperties":{"__isSmartRef__":true,"id":410},"__LivelyClassName__":"lively.Closure"},"409":{"this":{"__isSmartRef__":true,"id":390}},"410":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:58:39 GMT-0800 (PST)\")"},"411":{"submorphs":[],"scripts":[],"id":"19ACA834-5776-45DB-BBF1-1B2E062C2040","shape":{"__isSmartRef__":true,"id":412},"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":413},"itemList":["Slide By Title","Lively Presentation Template"],"selectOnMove":false,"showsHalos":false,"name":"TopicPresentation","partsBinMetaInfo":{"__isSmartRef__":true,"id":414},"derivationIds":[6545,"9CE40D45-F249-461A-9C31-2DDA97BCFCC6","EF6E2453-040B-4BFF-9CA1-7AE6B1BC6BDE","8E3300F7-9235-496D-B9D0-187DC7EB9302","37C32B2C-FAD2-4B92-B8FF-12D19CC97EA6","A161982B-489C-4A05-BF4A-16A1672A2B78","EC1E9BD9-C789-4B6A-9DE6-C64533B41A0C","7AE46EEF-F966-4FE2-A19C-F7FB5958DD07","EA073B98-BCF6-4F55-A3AD-924BC340E225","9D7F93D6-0DDE-4ACF-AC54-3EFD7040F4EE","4D4DF45F-6FEB-41F5-9855-C3D0152FED86","C31665FD-D0BD-40D0-905D-C55F642D392C","D131D78B-A1F7-4219-BB3A-4328F3E5E948"],"selectedLineNo":0,"_ToolTip":"Go to slide by title topic","changeTriggered":false,"selection":"Slide By Title","attributeConnections":[{"__isSmartRef__":true,"id":417}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"hasTitle":true,"title":"Slide By Title","owner":{"__isSmartRef__":true,"id":320},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":419},"__LivelyClassName__":"lively.morphic.DropDownList","__SourceModuleName__":"Global.lively.morphic.Lists","_Position":"lively.pt(615.0,7.0)","distanceToDragEvent":"lively.pt(72.0,-20.0)"},"412":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(107.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"413":{"morph":{"__isSmartRef__":true,"id":411},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"414":{"requiredModules":[],"migrationLevel":9,"partsSpaceName":"PartsBin/Inputs/","comment":"A self-contained list with only one programmer-required call: init","partName":"ActionList","changes":[{"__isSmartRef__":true,"id":415},{"__isSmartRef__":true,"id":416}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Thu Dec 04 2014 10:03:11 GMT-0800 (PST)\")"},"415":{"author":"rick","message":"no comment","id":"2B56CB12-87D9-4948-B146-4F1100ADB940","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 08:59:50 GMT-0800 (PST)\")"},"416":{"author":"rick","message":"no comment","id":"15491428-7F4A-420A-9268-3A21AF21397B","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 10:03:10 GMT-0800 (PST)\")"},"417":{"sourceObj":{"__isSmartRef__":true,"id":411},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":411},"targetMethodName":"onSelection","varMapping":{"__isSmartRef__":true,"id":418},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"418":{"source":{"__isSmartRef__":true,"id":411},"target":{"__isSmartRef__":true,"id":411}},"419":{"onSelection":{"__isSmartRef__":true,"id":420},"init":{"__isSmartRef__":true,"id":423},"readMe":{"__isSmartRef__":true,"id":426},"example":{"__isSmartRef__":true,"id":429}},"420":{"varMapping":{"__isSmartRef__":true,"id":421},"source":"function onSelection(aSelection) {\n    if (!aSelection) return;\n    if (this.hasTitle && aSelection == this.title) return;\n    this.action(aSelection)\n    if(this.hasTitle) {\n        this.setSelection(this.title)\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":422},"__LivelyClassName__":"lively.Closure"},"421":{"this":{"__isSmartRef__":true,"id":411}},"422":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:56:18 GMT-0800 (PST)\")"},"423":{"varMapping":{"__isSmartRef__":true,"id":424},"source":"function init(aListObject) {\n    if (aListObject.title) {\n        this.hasTitle = true;\n        this.title = aListObject.title;\n    } else {\n        this.hasTitle = false;\n    }\n    if (aListObject.items) {\n        if (this.hasTitle) {\n            if (aListObject.items.indexOf(this.title) != -1) {\n                alert(\"Error: title \" + this.title + \" should not be an item in the list\" +\n                \" \" + this.title + \" being treated as an ordinary, selectable item\")\n                this.hasTitle = false;\n                this.setList(aListObject.items)\n            } else {\n                var items = aListObject.items.slice(0)\n                items.pushAt(this.title, 0)\n                this.setList(items)\n            }\n        } else {\n            this.setList(aListObject.items)\n        }\n    } else {\n        alert(\"Error! aListObject must have an item list\")\n        this.action = function(aSelection) {return;}\n    }\n    if (aListObject.hasOwnProperty(\"action\")) {\n        this.action = aListObject.action\n    } else {\n        alert(\"Error! aListObject must have an action\")\n        this.action = function(aSelection) {return;}\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":425},"__LivelyClassName__":"lively.Closure"},"424":{"this":{"__isSmartRef__":true,"id":411}},"425":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 10:01:50 GMT-0800 (PST)\")"},"426":{"varMapping":{"__isSmartRef__":true,"id":427},"source":"function readMe() {\n    return \"A self-contained list.  The programmer should only call a single \" +\n    \"method, init(aListObject) which sets up the list.  AListObject is of the \" +\n    \"form {title: aString, items:aListOfStrings, action:function(aString)} \" +\n    \"on selection, aListObject.action(selection) will be called.  title is \" +\n    \"optional.  When it is present, it is always the first item in the list, \" +\n    \"and selecting it results in no action.  Also, when present, the list will \" +\n    \"always show the title .  See this.example() for an example use\"\n    \n}","funcProperties":{"__isSmartRef__":true,"id":428},"__LivelyClassName__":"lively.Closure"},"427":{"this":{"__isSmartRef__":true,"id":411}},"428":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:41:48 GMT-0800 (PST)\")"},"429":{"varMapping":{"__isSmartRef__":true,"id":430},"source":"function example() {\n    this.init({title:\"Example\", items:[\"item 1\", 2, \"item 3\", 4],\n    action:function(anItem) {alert(anItem)}})\n    \n}","funcProperties":{"__isSmartRef__":true,"id":431},"__LivelyClassName__":"lively.Closure"},"430":{"this":{"__isSmartRef__":true,"id":411}},"431":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:58:39 GMT-0800 (PST)\")"},"432":{"_BorderWidth":4,"_ClipMode":"visible","_BorderRadius":7,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(1024.0,42.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(238,238,238)","_Padding":"lively.rect(0,0,0,0)"},"433":{"partsSpaceName":"PartsBin/Presentation","comment":"A menu bar for Presentation Mode in Presentation","migrationLevel":9,"partName":"PresentationBar","changes":[{"__isSmartRef__":true,"id":434},{"__isSmartRef__":true,"id":435},{"__isSmartRef__":true,"id":436},{"__isSmartRef__":true,"id":437},{"__isSmartRef__":true,"id":438},{"__isSmartRef__":true,"id":439},{"__isSmartRef__":true,"id":440},{"__isSmartRef__":true,"id":441},{"__isSmartRef__":true,"id":442},{"__isSmartRef__":true,"id":443},{"__isSmartRef__":true,"id":444},{"__isSmartRef__":true,"id":445},{"__isSmartRef__":true,"id":446},{"__isSmartRef__":true,"id":447},{"__isSmartRef__":true,"id":448},{"__isSmartRef__":true,"id":449},{"__isSmartRef__":true,"id":450},{"__isSmartRef__":true,"id":451},{"__isSmartRef__":true,"id":452},{"__isSmartRef__":true,"id":453},{"__isSmartRef__":true,"id":454},{"__isSmartRef__":true,"id":455},{"__isSmartRef__":true,"id":456},{"__isSmartRef__":true,"id":457}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Dec 23 2014 10:08:39 GMT-0800 (PST)\")"},"434":{"author":"rick","message":"no comment","id":"51919ABA-46F2-4220-8BF1-DFAF960959EA","__serializedExpressions__":["date"],"date":"new Date(\"Sun Nov 30 2014 09:49:42 GMT-0800 (PST)\")"},"435":{"author":"rick","message":"no comment","id":"C7C428C2-EEE0-41D2-872A-EABFBF7CBA71","__serializedExpressions__":["date"],"date":"new Date(\"Fri Nov 28 2014 18:00:31 GMT-0800 (PST)\")"},"436":{"author":"rick","message":"no comment","id":"0E8FC82F-1664-4B14-AF26-3F5B118EDB3F","__serializedExpressions__":["date"],"date":"new Date(\"Fri Nov 28 2014 09:01:00 GMT-0800 (PST)\")"},"437":{"author":"rick","message":"no comment","id":"EB1F8892-F2A8-4C2E-96D2-E56A2D8D4732","__serializedExpressions__":["date"],"date":"new Date(\"Fri Nov 28 2014 07:42:06 GMT-0800 (PST)\")"},"438":{"author":"robertkrahn","message":"no comment","id":"FBBB9C99-B61C-4D5F-8750-6E2987DF0C9C","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jun 20 2013 15:16:24 GMT-0700 (PDT)\")"},"439":{"author":"robertkrahn","message":"no comment","id":"67FD74CD-7AE4-4050-ADC7-4DF73804258D","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 30 2013 00:18:06 GMT-0700 (PDT)\")"},"440":{"author":"jenslincke","message":"no comment","id":"AEB2F41B-2C88-4BBA-8875-93CD17CBA1C8","__serializedExpressions__":["date"],"date":"new Date(\"Wed Jan 23 2013 03:57:18 GMT-0800 (PST)\")"},"441":{"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:36 GMT-0700 (PDT)\")"},"442":{"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:30 GMT-0700 (PDT)\")"},"443":{"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:53:45 GMT-0700 (PDT)\")"},"444":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Feb 24 2012 17:59:09 GMT-0800 (PST)\")"},"445":{"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:42:26 GMT-0700 (PDT)\")"},"446":{"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350","__serializedExpressions__":["date"],"date":"new Date(\"Mon Apr 09 2012 04:42:07 GMT-0700 (PDT)\")"},"447":{"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 18 2012 10:35:08 GMT-0700 (PDT)\")"},"448":{"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 22 2012 01:35:51 GMT-0800 (PST)\")"},"449":{"author":"jenslincke","message":"no comment","id":"A4B86A7E-A398-4C29-BEE0-4AA045ABABD2","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:42:31 GMT-0800 (PST)\")"},"450":{"author":"jenslincke","message":"added legend","id":"7ADA3049-56C1-4D32-874B-F664A79DDB20","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:47:05 GMT-0800 (PST)\")"},"451":{"author":"SAPLivelyScreen","message":"no comment","id":"EF145198-0649-41BD-A92E-521D98FEC49D","__serializedExpressions__":["date"],"date":"new Date(\"Wed May 29 2013 15:36:50 GMT-0700 (PDT)\")"},"452":{"author":"SAPLivelyScreen","message":"no comment","id":"7A44D8CA-6D5F-42A3-A4B4-4D7F51EECA52","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 18 2013 11:49:27 GMT-0700 (PDT)\")"},"453":{"author":"robertkrahn","message":"no comment","id":"A452871F-4EB9-45D1-94B8-6065CBA7B8FD","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jul 29 2013 23:20:51 GMT-0700 (PDT)\")"},"454":{"author":"rick","message":"no comment","id":"2098EC98-480C-44FD-B13B-309D6B1272B7","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 03 2014 11:09:46 GMT-0800 (PST)\")"},"455":{"author":"rick","message":"no comment","id":"B3293056-FEBE-4016-B7F7-B1C1CCF68769","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 03 2014 12:05:41 GMT-0800 (PST)\")"},"456":{"author":"rick","message":"no comment","id":"0A676342-C1CC-4402-8B21-FD48CBA3596D","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 10:08:41 GMT-0800 (PST)\")"},"457":{"author":"rick","message":"no comment","id":"C3D91294-F428-4DEA-9197-94B95DA1944D","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 23 2014 10:08:38 GMT-0800 (PST)\")"},"458":{"morph":{"__isSmartRef__":true,"id":320},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"459":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":460}},"460":{"test01IsMorph":{"__isSmartRef__":true,"id":461}},"461":{"varMapping":{"__isSmartRef__":true,"id":462},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":463},"__LivelyClassName__":"lively.Closure"},"462":{"this":{"__isSmartRef__":true,"id":459}},"463":{},"464":{"submorphs":[{"__isSmartRef__":true,"id":465}],"scripts":[],"id":"9BCEA815-F6D7-427D-9887-3A428EC0CF1D","shape":{"__isSmartRef__":true,"id":491},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"SlideTemplate","partsBinMetaInfo":{"__isSmartRef__":true,"id":492},"eventHandler":{"__isSmartRef__":true,"id":519},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","BD8BECDB-A9A1-4009-B433-C925F0AFCCFC","F2677A9D-5855-4DF2-B248-94545B34B762","D52188B3-7DC0-410E-96B1-50892AC00A37","6575457B-734F-4449-94E9-08A5A5412CAC","D089F7E0-731E-4D8F-9B1A-714D6A4938D0","42ED7D5C-FA86-489A-8C4D-7F85EE4670EB","53EDECEC-76E9-4770-800B-E0AD23921D1A","EC4BA45F-1E0D-41BE-8FA2-057FB2F2C7C0","AC0BEDAF-F187-441D-A366-2EC06E796002","23A0A1A3-44E9-46AE-8720-78AD1B576C56","D2CC7301-C6FA-4591-A288-5D4D9CB6D101","DCC6A217-9DD8-4B93-BFB2-7E209B00B88C","D6D9317E-2A24-4DF1-B215-43A4904F8F47"],"partTests":{"__isSmartRef__":true,"id":520},"_ClipMode":"visible","moved":true,"isBeingDragged":false,"_Rotation":0,"_Scale":1,"image":{"__isSmartRef__":true,"id":525},"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":529},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)","distanceToDragEvent":"lively.pt(691.0,-16.0)"},"465":{"submorphs":[],"scripts":[],"id":"39BB9B94-F5E9-46CC-B9A6-7BA50FC1CBB5","shape":{"__isSmartRef__":true,"id":466},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":40,"name":"Title","partsBinMetaInfo":{"__isSmartRef__":true,"id":467},"textChunks":[{"__isSmartRef__":true,"id":477}],"charsReplaced":"Lively Presentation Template","lastFindLoc":28,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":479},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","F1D26890-7392-487D-B5DE-97C772B4E79E","59440FC5-E676-4B9B-A828-C150A05765C0","021D41A0-C172-475A-9F8B-E57A555FCA49","B4A7EA65-15D9-49D0-99E9-5B627D39B0C7","2B575298-A1E4-474F-A10D-0EC166AFDBDA","3407BCF3-1062-4E46-94EC-5A70D24B7868","63F29640-2868-4B22-8DC0-A15352CAD608","87A15FDA-8123-4388-8E86-C6B73B654C57","71CBD303-C850-49E6-B024-2DA61DFF1C90","1A1E7518-295D-40CF-BF7E-A641801D5699","2D96F799-C435-4F59-BE55-C9093B737FC6"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"previousSelection":[0,0],"isBeingDragged":false,"moved":true,"layout":{"__isSmartRef__":true,"id":480},"owner":{"__isSmartRef__":true,"id":464},"_Align":"center","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent","_TextColor"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":481},"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(215.6,33.0)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(394.4,-17.0)","_TextColor":"Color.rgb(0,0,0)"},"466":{"fill":null,"_BorderWidth":0,"_ClipMode":"visible","_Fill":null,"_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(589.7,72.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"467":{"partsSpaceName":"PartsBin/Presentation","migrationLevel":8,"comment":"A slide title, with a hook to do indexing.","partName":"Title","changes":[{"__isSmartRef__":true,"id":468},{"__isSmartRef__":true,"id":469},{"__isSmartRef__":true,"id":470},{"__isSmartRef__":true,"id":471},{"__isSmartRef__":true,"id":472},{"__isSmartRef__":true,"id":473},{"__isSmartRef__":true,"id":474},{"__isSmartRef__":true,"id":475},{"__isSmartRef__":true,"id":476}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Sun Nov 23 2014 12:55:08 GMT-0800 (PST)\")"},"468":{"author":"robertkrahn","message":"resizeWidth = true","id":"E402462A-7AB2-487B-82BD-A3369C1C1F75","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 05 2014 01:58:52 GMT-0700 (PDT)\")"},"469":{"author":"jenslincke","message":"no comment","id":"9E495E1B-6E6D-4A89-9F9E-85AF618DC598","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 10:36:22 GMT-0700 (PDT)\")"},"470":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:30:30 GMT-0700 (PDT)\")"},"471":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)).  This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Sun Feb 26 2012 21:20:38 GMT-0800 (PST)\")"},"472":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Fri Apr 20 2012 22:31:43 GMT-0700 (PDT)\")"},"473":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Fri Apr 20 2012 22:32:09 GMT-0700 (PDT)\")"},"474":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 05:18:18 GMT-0700 (PDT)\")"},"475":{"author":"jenslincke","message":"no comment","id":"A3BA0C1E-7E83-43BF-9EC6-4F4BB3835D62","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 09:31:56 GMT-0700 (PDT)\")"},"476":{"author":"rick","message":"no comment","id":"D6140411-76F1-4988-AC6B-9C17799AA4B0","__serializedExpressions__":["date"],"date":"new Date(\"Sun Nov 23 2014 12:55:05 GMT-0800 (PST)\")"},"477":{"style":{"__isSmartRef__":true,"id":478},"morph":{"__isSmartRef__":true,"id":465},"chunkOwner":{"__isSmartRef__":true,"id":465},"storedString":"Slide Title","_id":"_100","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"478":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"479":{"morph":{"__isSmartRef__":true,"id":465},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"480":{"resizeWidth":true},"481":{"getPageIndexTerm":{"__isSmartRef__":true,"id":482},"setPageIndexTerm":{"__isSmartRef__":true,"id":485},"clearPageIndexTerm":{"__isSmartRef__":true,"id":488}},"482":{"varMapping":{"__isSmartRef__":true,"id":483},"source":"function getPageIndexTerm() {\n    if (!this.pageIndexTerm) {\n        return this.getTextString()\n    }\n    return this.pageIndexTerm;\n}","funcProperties":{"__isSmartRef__":true,"id":484},"__LivelyClassName__":"lively.Closure"},"483":{"this":{"__isSmartRef__":true,"id":465}},"484":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 12:51:52 GMT-0800 (PST)\")"},"485":{"varMapping":{"__isSmartRef__":true,"id":486},"source":"function setPageIndexTerm(aString) {\n   this.pageIndexTerm = aString;\n}","funcProperties":{"__isSmartRef__":true,"id":487},"__LivelyClassName__":"lively.Closure"},"486":{"this":{"__isSmartRef__":true,"id":465}},"487":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 12:52:34 GMT-0800 (PST)\")"},"488":{"varMapping":{"__isSmartRef__":true,"id":489},"source":"function clearPageIndexTerm() {\n    this.pageIndexTerm = null;\n    \n}","funcProperties":{"__isSmartRef__":true,"id":490},"__LivelyClassName__":"lively.Closure"},"489":{"this":{"__isSmartRef__":true,"id":465}},"490":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 12:52:54 GMT-0800 (PST)\")"},"491":{"_BorderWidth":2.5,"_ClipMode":"visible","_BorderRadius":15,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(1024.0,768.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(238,238,238)","_Padding":"lively.rect(0,0,0,0)"},"492":{"partsSpaceName":"PartsBin/Presentation","comment":"A template slide to be used with the presentation","migrationLevel":9,"partName":"SlideTemplate","changes":[{"__isSmartRef__":true,"id":493},{"__isSmartRef__":true,"id":494},{"__isSmartRef__":true,"id":495},{"__isSmartRef__":true,"id":496},{"__isSmartRef__":true,"id":497},{"__isSmartRef__":true,"id":498},{"__isSmartRef__":true,"id":499},{"__isSmartRef__":true,"id":500},{"__isSmartRef__":true,"id":501},{"__isSmartRef__":true,"id":502},{"__isSmartRef__":true,"id":503},{"__isSmartRef__":true,"id":504},{"__isSmartRef__":true,"id":505},{"__isSmartRef__":true,"id":506},{"__isSmartRef__":true,"id":507},{"__isSmartRef__":true,"id":508},{"__isSmartRef__":true,"id":509},{"__isSmartRef__":true,"id":510},{"__isSmartRef__":true,"id":511},{"__isSmartRef__":true,"id":512},{"__isSmartRef__":true,"id":513},{"__isSmartRef__":true,"id":514},{"__isSmartRef__":true,"id":515},{"__isSmartRef__":true,"id":516},{"__isSmartRef__":true,"id":517},{"__isSmartRef__":true,"id":518}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Dec 09 2014 18:28:23 GMT-0800 (PST)\")"},"493":{"author":"rick","message":"no comment","id":"EA9B1A13-2911-48AB-942E-6895277F6D14","__serializedExpressions__":["date"],"date":"new Date(\"Sun Nov 30 2014 15:17:27 GMT-0800 (PST)\")"},"494":{"author":"rick","message":"no comment","id":"BB3417B4-D037-4CF6-A189-AB90423126D0","__serializedExpressions__":["date"],"date":"new Date(\"Mon Nov 24 2014 09:06:08 GMT-0800 (PST)\")"},"495":{"author":"rick","message":"no comment","id":"B5209D58-DBAE-4D61-88A6-EA55F98ECBFE","__serializedExpressions__":["date"],"date":"new Date(\"Sun Nov 23 2014 18:26:07 GMT-0800 (PST)\")"},"496":{"author":"robertkrahn","message":"no comment","id":"FBBB9C99-B61C-4D5F-8750-6E2987DF0C9C","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jun 20 2013 15:16:24 GMT-0700 (PDT)\")"},"497":{"author":"robertkrahn","message":"no comment","id":"67FD74CD-7AE4-4050-ADC7-4DF73804258D","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 30 2013 00:18:06 GMT-0700 (PDT)\")"},"498":{"author":"jenslincke","message":"no comment","id":"AEB2F41B-2C88-4BBA-8875-93CD17CBA1C8","__serializedExpressions__":["date"],"date":"new Date(\"Wed Jan 23 2013 03:57:18 GMT-0800 (PST)\")"},"499":{"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:36 GMT-0700 (PDT)\")"},"500":{"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:30 GMT-0700 (PDT)\")"},"501":{"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:53:45 GMT-0700 (PDT)\")"},"502":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Feb 24 2012 17:59:09 GMT-0800 (PST)\")"},"503":{"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:42:26 GMT-0700 (PDT)\")"},"504":{"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350","__serializedExpressions__":["date"],"date":"new Date(\"Mon Apr 09 2012 04:42:07 GMT-0700 (PDT)\")"},"505":{"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 18 2012 10:35:08 GMT-0700 (PDT)\")"},"506":{"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 22 2012 01:35:51 GMT-0800 (PST)\")"},"507":{"author":"jenslincke","message":"no comment","id":"A4B86A7E-A398-4C29-BEE0-4AA045ABABD2","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:42:31 GMT-0800 (PST)\")"},"508":{"author":"jenslincke","message":"added legend","id":"7ADA3049-56C1-4D32-874B-F664A79DDB20","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:47:05 GMT-0800 (PST)\")"},"509":{"author":"SAPLivelyScreen","message":"no comment","id":"EF145198-0649-41BD-A92E-521D98FEC49D","__serializedExpressions__":["date"],"date":"new Date(\"Wed May 29 2013 15:36:50 GMT-0700 (PDT)\")"},"510":{"author":"SAPLivelyScreen","message":"no comment","id":"7A44D8CA-6D5F-42A3-A4B4-4D7F51EECA52","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 18 2013 11:49:27 GMT-0700 (PDT)\")"},"511":{"author":"robertkrahn","message":"no comment","id":"A452871F-4EB9-45D1-94B8-6065CBA7B8FD","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jul 29 2013 23:20:51 GMT-0700 (PDT)\")"},"512":{"author":"rick","message":"no comment","id":"FF099354-C759-464B-9E8B-0A6333866CA5","__serializedExpressions__":["date"],"date":"new Date(\"Sun Nov 23 2014 18:47:22 GMT-0800 (PST)\")"},"513":{"author":"rick","message":"no comment","id":"B5C26A21-A33F-4681-B8E6-AE9E849B31A4","__serializedExpressions__":["date"],"date":"new Date(\"Sun Nov 23 2014 18:55:26 GMT-0800 (PST)\")"},"514":{"author":"rick","message":"no comment","id":"FA743494-22AE-49BB-BF94-E650D1C7ACEF","__serializedExpressions__":["date"],"date":"new Date(\"Mon Nov 24 2014 06:35:26 GMT-0800 (PST)\")"},"515":{"author":"rick","message":"no comment","id":"CA139FFD-26B2-4270-A3A8-4C1794819A62","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 27 2014 08:39:48 GMT-0800 (PST)\")"},"516":{"author":"rick","message":"no comment","id":"7AF32B78-0C0E-46AC-A758-35791C3C2F11","__serializedExpressions__":["date"],"date":"new Date(\"Mon Dec 01 2014 07:12:37 GMT-0800 (PST)\")"},"517":{"author":"rick","message":"no comment","id":"3565C226-1E88-455E-B58D-0A252083150F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Dec 01 2014 09:17:09 GMT-0800 (PST)\")"},"518":{"author":"rick","message":"no comment","id":"CFCEF756-F1DA-47F5-9216-B73D71A0E0BA","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 09 2014 18:28:14 GMT-0800 (PST)\")"},"519":{"morph":{"__isSmartRef__":true,"id":464},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"520":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":521}},"521":{"test01IsMorph":{"__isSmartRef__":true,"id":522}},"522":{"varMapping":{"__isSmartRef__":true,"id":523},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":524},"__LivelyClassName__":"lively.Closure"},"523":{"this":{"__isSmartRef__":true,"id":520}},"524":{},"525":{"submorphs":[],"scripts":[],"id":"8F092E2A-88E4-4E4C-87D1-C23D0BF16182","shape":{"__isSmartRef__":true,"id":526},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"eventHandler":{"__isSmartRef__":true,"id":527},"showsHalos":false,"name":"Image","partsBinMetaInfo":{"__isSmartRef__":true,"id":528},"_Rotation":0,"_Scale":1,"derivationIds":[707],"_ClipMode":"visible","doNotSerialize":["_renderContext","halos","_isRendered","priorExtent","cachedBounds","magnets","_whenLoadedCallbacks"],"owner":null,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.Image","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(732.0,273.5)"},"526":{"_ImageURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAADK0lEQVR4Xu2WMWpiURhG/7eCgGCRIsEHdskCsgU3IJgV2IapxlYy05jCqWxtogSygJQu4AWtLF2AILgCZ96DFyaDE8JHPrzFSRMT8h2v5+SK2cXFxY/VavU9+Dq5gaurq5/Zbrc7nPwkHODNAEES+2cgCEESM5DYcbghBPm8gZubm9jv97Fer+Pu7i6m02n8+RBSAfr9fkwmk3ew4XAYRVFUvxuNRtFut6PRaESr1YrX19fPP/EJ/zLpG3I4HCLLskpPHWS73Uaz2Yxutxvj8TjOz8/fIh3z+HeQ8vFms4mzs7MTKv/4qZMOUt6AwWBQCa+DlC+n/Lm8IU9PT9Xj29vbeHx8PPpK6yCdTifu7++rG1PfshSrJBtkNptFr9ernJVvVcvlsvp+LMhHYusgeZ7H8/Nzig3enSnZIOUpS5l1gPqGzOfzeHh4iFLwYrGIy8vLeHl5+a/of9+yal6qZZIOkqo057kI4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7AJIkhzTgjitCuwCSJIc04I4rQrsAkiSHNOCOK0K7CzPM9HRVF8E7ZMvtjA9fX1r99vJO8WrotUdQAAAABJRU5ErkJggg==","isLoaded":true,"__serializedExpressions__":["position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Image","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,100.0)","_Padding":"lively.rect(0,0,0,0)"},"527":{"morph":{"__isSmartRef__":true,"id":525},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"528":{"partsSpaceName":"PartsBin/Basic","partName":"Image","migrationLevel":2,"comment":"an pixmap image morph","__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:34 GMT-0700 (PDT)\")"},"529":{"getIndexTerm":{"__isSmartRef__":true,"id":530},"levelBullets":{"__isSmartRef__":true,"id":533},"onShow":{"__isSmartRef__":true,"id":536},"setPlayInterval":{"__isSmartRef__":true,"id":539},"addBullets":{"__isSmartRef__":true,"id":542},"onPlay":{"__isSmartRef__":true,"id":545},"setVoiceOver":{"__isSmartRef__":true,"id":548},"getVoiceOver":{"__isSmartRef__":true,"id":551},"clearVoiceOver":{"__isSmartRef__":true,"id":554},"displayBullets":{"__isSmartRef__":true,"id":557},"setMode":{"__isSmartRef__":true,"id":560},"createPreviewImageAndDo":{"__isSmartRef__":true,"id":563},"computePreviewDimensions":{"__isSmartRef__":true,"id":566},"snapshot":{"__isSmartRef__":true,"id":569},"displaySnapshot":{"__isSmartRef__":true,"id":572},"validSnapshot":{"__isSmartRef__":true,"id":575},"numSnapshots":{"__isSmartRef__":true,"id":578}},"530":{"varMapping":{"__isSmartRef__":true,"id":531},"source":"function getIndexTerm() {\n    // Get the term by which this slide will be indexed in the Go To Topic\n    // dropdowns in composition and interactive presentation mode.  This \n    // just picks the index term offered by the first submorph with a\n    // getPageIndexTerm() method.  This will typically be the slide title.\n    // If there is none, return null, and this slide can't be found by\n    // topic\n    // \n    var returnedList =  this.submorphs.map(function(aMorph) {\n        if(aMorph.hasOwnProperty('getPageIndexTerm')) {\n            return aMorph.getPageIndexTerm()\n        } else return null;\n    }).filter(function(aString) {\n        return aString != null;\n    });\n    if (returnedList  && returnedList.length > 0) {\n        return returnedList[0]\n    } else {\n        return null;\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":532},"__LivelyClassName__":"lively.Closure"},"531":{"this":{"__isSmartRef__":true,"id":464}},"532":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:36:48 GMT-0800 (PST)\")"},"533":{"varMapping":{"__isSmartRef__":true,"id":534},"source":"function levelBullets(level0Size) {\n    // Set the pages bullets, if any, so that the font size of \n    // a bullet at level i is level0Size - 2*i.  So, for example,\n    // if level0Size is 24 (24 pt), the sizes of the bullet levels\n    // will be [24, 22, 20, 18]\n    this.submorphs.forEach(function(aMorph) {\n        if (aMorph.hasOwnProperty('setBulletSize')) {\n            aMorph.setBulletSize(level0Size)\n        }\n    })\n    \n}","funcProperties":{"__isSmartRef__":true,"id":535},"__LivelyClassName__":"lively.Closure"},"534":{"this":{"__isSmartRef__":true,"id":464}},"535":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:39:44 GMT-0800 (PST)\")"},"536":{"varMapping":{"__isSmartRef__":true,"id":537},"source":"function onShow() {\n    // A function which is invoked when the slide is brought up in interactive\n    // presentation mode\n    // This should be written by the presenter in order to add arbitrary dynamic\n    // behavior to the slide when it is shown in presentation mode\n    \n}","funcProperties":{"__isSmartRef__":true,"id":538},"__LivelyClassName__":"lively.Closure"},"537":{"this":{"__isSmartRef__":true,"id":464}},"538":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:44:35 GMT-0800 (PST)\")"},"539":{"varMapping":{"__isSmartRef__":true,"id":540},"source":"function setPlayInterval(aPositiveInteger) {\n    // set the play interval, in seconds, in autoplay mode\n    if (aPositiveInteger > 0 && aPositiveInteger < 61) {\n        this.playInterval = aPositiveInteger;\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":541},"__LivelyClassName__":"lively.Closure"},"540":{"this":{"__isSmartRef__":true,"id":464}},"541":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:47:04 GMT-0800 (PST)\")"},"542":{"varMapping":{"__isSmartRef__":true,"id":543},"source":"function addBullets() {\n    // Add bullets at levels 0-3 for the slide.  This just grabs a BulletedText\n    // Morph out of the PartsBin, and when the load is done calls\n    // displayBullets to put them on the page and do the real work\n    lively.PartsBin.getPart('BulletedText', 'PartsBin/Presentation', function(err, part) {\n        this.displayBullets(part)\n    }.bind(this))\n}","funcProperties":{"__isSmartRef__":true,"id":544},"__LivelyClassName__":"lively.Closure"},"543":{"this":{"__isSmartRef__":true,"id":464}},"544":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Nov 24 2014 06:35:12 GMT-0800 (PST)\")"},"545":{"varMapping":{"__isSmartRef__":true,"id":546},"source":"function onPlay() {\n    // A function which is invoked when the slide is brought up in autoplay mode\n    // This should be written by the presenter in order to add arbitrary dynamic\n    // behavior to the slide when it is shown in autoplay mode\n}","funcProperties":{"__isSmartRef__":true,"id":547},"__LivelyClassName__":"lively.Closure"},"546":{"this":{"__isSmartRef__":true,"id":464}},"547":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:44:35 GMT-0800 (PST)\")"},"548":{"varMapping":{"__isSmartRef__":true,"id":549},"source":"function setVoiceOver(anURL, aFileType) {\n    // Set the voiceover URL and file type.  This voice over will be played\n    // when the the slide is shown in auto play mode.  The file type will\n    // typically be one of 'ogg', 'wav', 'mp3', as these are supported by all\n    // browsers, and will typically be the suffix of the URL\n    this.voiceOverURL = anURL\n    this.voiceOverType = aFileType;\n    \n}","funcProperties":{"__isSmartRef__":true,"id":550},"__LivelyClassName__":"lively.Closure"},"549":{"this":{"__isSmartRef__":true,"id":464}},"550":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:47:04 GMT-0800 (PST)\")"},"551":{"varMapping":{"__isSmartRef__":true,"id":552},"source":"function getVoiceOver() {\n    // Get the URL and file type for the voiceover, if any.  Returns null\n    // if there is no URL.  The voiceover URL is what will be played when the\n    // slide is shown in autoplay mode.  Returns an object with fields\n    // url and type when there is a voiceover\n    if (this.hasOwnProperty('voiceOverURL') && this.voiceOverURL) {\n        return {url:this.voiceOverURL, type:this.voiceOverType}\n    } else {\n        return null;\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":553},"__LivelyClassName__":"lively.Closure"},"552":{"this":{"__isSmartRef__":true,"id":464}},"553":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:38:20 GMT-0800 (PST)\")"},"554":{"varMapping":{"__isSmartRef__":true,"id":555},"source":"function clearVoiceOver() {\n    // Clear the voiceoicer of the slide (see getVoiceOver and setVoiceOver)\n    this.voiceOverURL = null;\n    \n}","funcProperties":{"__isSmartRef__":true,"id":556},"__LivelyClassName__":"lively.Closure"},"555":{"this":{"__isSmartRef__":true,"id":464}},"556":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 23 2014 18:36:48 GMT-0800 (PST)\")"},"557":{"varMapping":{"__isSmartRef__":true,"id":558},"source":"function displayBullets(bulletMorph) {\n    // Add bullets at levels 0-3 for the slide.  The bullets are just text morphs\n    // with a couple of additional methods to set sizing on the basis of the\n    // bullet's level and set the character for the buller.  See BulletedText\n    // in PartsBin/Presentation.  These things are added at an offset to\n    // give a start on the usual indentation practice\n    var bullets = [bulletMorph]\n    var bulletPositions = [pt(130, 200), pt(180, 275), pt(230, 350), pt(280, 400)]\n    for(var i = 1; i < 4; i++) {\n        bullets.push(bulletMorph.copy())\n    }\n    for(var i = 0; i < 4; i++) {\n        bullets[i].setName('Bullet' + i)\n        bullets[i].init()\n        bullets[i].setLevel(i)\n        this.addMorph(bullets[i])\n        bullets[i].setPosition(bulletPositions[i])\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":559},"__LivelyClassName__":"lively.Closure"},"558":{"this":{"__isSmartRef__":true,"id":464}},"559":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Nov 24 2014 06:30:22 GMT-0800 (PST)\")"},"560":{"varMapping":{"__isSmartRef__":true,"id":561},"source":"function setMode(aMode) {\n    // Set the mode of the slide.  This is just for any Morph (notably, the Director)\n    // which changes its appearance/behavior depending on the mode\n    this.submorphs.forEach(function(aMorph) {\n        if ('setMode' in aMorph) {\n            aMorph.setMode(aMode)\n        }\n    })\n    // Also, in PresentationMode, we want to go forward on <enter>, <space>,\n    // <right>, <down>, and back on <left>, <up>, and in CompositionMode\n    // we want to disable this\n    // enable in PresentationMode by adding the onkeyDown script\n    if (aMode == 'Presentation') {\n        this.addScript(function onKeyDown(evt) {\n            var backwardCharacters = [37 /* left */, 38 /* up */]\n            var forwardCharacters = [32 /*space*/, 13 /* enter */, 39 /* right */, 40 /* down */ ]\n            var code = evt.getKeyCode()\n            if (backwardCharacters.indexOf(code) != -1) {\n                this.owner.showPreviousSlide()\n            } else if (forwardCharacters.indexOf(code) != -1) {\n                this.owner.showNextSlide()\n            }\n        })\n    // disable by deleting the script in CompositionMode\n    } else if (aMode == 'Composition') {\n        if (this.hasOwnProperty('onKeyDown')) {\n            delete this.onKeyDown\n        }\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":562},"__LivelyClassName__":"lively.Closure"},"561":{"this":{"__isSmartRef__":true,"id":464}},"562":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Dec 01 2014 07:12:27 GMT-0800 (PST)\")"},"563":{"varMapping":{"__isSmartRef__":true,"id":564},"source":"function createPreviewImageAndDo(maxPixForImage, thenDo) {\n    // create a Preview image of at most maxPixForImage pixels in the \n    // long dimension, then do thenDo, which should be of the \n    // form thenDo(err, image), where err is an error (a string)\n    // and image is an ImageMorph of this slide\n    // this.createPreviewImageAndDo(100, function(err, image) {if (err) {alert('Error in creating image: ' + err)} if (image) {image.openInWorldCenter();}});\n    var options = this.computePreviewDimensions(maxPixForImage)\n    // if the image exists, call renderMorphToImage and pass it thenDo to do.\n    // if not, create it (asynchronous) by loading an ImageMorph and then telling\n    // doing the render\n    if (this.image) {\n        Global.require('lively.morphic.Preview').toRun(function() {\n        lively.morphic.Preview.renderMorphToImage(\n            this, this.image, options, function(err, image) {  thenDo && thenDo(err, image); });\n            \n            }.bind(this));\n    } else {\n    \n        lively.PartsBin.getPart('Image', 'PartsBin/Basic', function(err, part) {\n        \n            if (err) {\n                alert(\"Error loading image for preview \" + err)\n            }\n            if (part) {\n                this.image = part\n                lively.morphic.Preview.renderMorphToImage(\n                    this, this.image, options, function(err, image) { thenDo && thenDo(err, image); }.bind(this));\n            \n            }\n        }.bind(this));\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":565},"__LivelyClassName__":"lively.Closure"},"564":{"this":{"__isSmartRef__":true,"id":464}},"565":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 13:22:44 GMT-0800 (PST)\")"},"566":{"varMapping":{"__isSmartRef__":true,"id":567},"source":"function computePreviewDimensions(numPix) {\n    // make an image of myself at most numPix in the long dimension, maintaining\n    // aspect ratio.  This function computes the extent  of the image\n    var extent = this.getExtent()\n    var longDimension = Math.max(extent.x, extent.y)\n    var scaleFactor = numPix/longDimension\n    var options = {width:extent.x, height:extent.y}\n    if (scaleFactor < 1) {\n        options.width = extent.x * scaleFactor;\n        options.height = extent.y * scaleFactor\n    }\n    return options\n}","funcProperties":{"__isSmartRef__":true,"id":568},"__LivelyClassName__":"lively.Closure"},"567":{"this":{"__isSmartRef__":true,"id":464}},"568":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sun Nov 30 2014 15:14:28 GMT-0800 (PST)\")"},"569":{"varMapping":{"__isSmartRef__":true,"id":570},"source":"function snapshot() {\n    if (!this.snapshots) {\n        this.snapshots = []\n    }\n    var snapshot = this.submorphs.map(function (aMorph) {return aMorph})\n    this.snapshots.push(snapshot)\n}","funcProperties":{"__isSmartRef__":true,"id":571},"__LivelyClassName__":"lively.Closure"},"570":{"this":{"__isSmartRef__":true,"id":464}},"571":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 09 2014 18:23:09 GMT-0800 (PST)\")"},"572":{"varMapping":{"__isSmartRef__":true,"id":573},"source":"function displaySnapshot(index) {\n    if (!this.validSnapshot(index)) return;\n    this.removeAllMorphs()\n    this.snapshots[index].forEach(function(aMorph) {\n        this.addMorph(aMorph)\n    })\n    \n}","funcProperties":{"__isSmartRef__":true,"id":574},"__LivelyClassName__":"lively.Closure"},"573":{"this":{"__isSmartRef__":true,"id":464}},"574":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 09 2014 18:27:15 GMT-0800 (PST)\")"},"575":{"varMapping":{"__isSmartRef__":true,"id":576},"source":"function validSnapshot(anIndex) {\n    return this.snapshots &&  anIndex && anIndex >= 0 && anIndex < this.snapshots.length\n    \n}","funcProperties":{"__isSmartRef__":true,"id":577},"__LivelyClassName__":"lively.Closure"},"576":{"this":{"__isSmartRef__":true,"id":464}},"577":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 09 2014 18:25:49 GMT-0800 (PST)\")"},"578":{"varMapping":{"__isSmartRef__":true,"id":579},"source":"function numSnapshots() {\n    if (!this.snapshots) return 0;\n    return this.snapshots.length;\n    \n}","funcProperties":{"__isSmartRef__":true,"id":580},"__LivelyClassName__":"lively.Closure"},"579":{"this":{"__isSmartRef__":true,"id":464}},"580":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 09 2014 18:27:48 GMT-0800 (PST)\")"},"581":{"sourceObj":{"__isSmartRef__":true,"id":0},"sourceAttrName":"currentSlideNumber","targetObj":{"__isSmartRef__":true,"id":582},"targetMethodName":"textString","varMapping":{"__isSmartRef__":true,"id":745},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"582":{"submorphs":[],"scripts":[],"id":"931F4388-E2AF-4E1E-A05C-F4876ECB2BD8","shape":{"__isSmartRef__":true,"id":583},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"Slide Number","partsBinMetaInfo":{"__isSmartRef__":true,"id":584},"textChunks":[{"__isSmartRef__":true,"id":593}],"charsReplaced":"Some Text","lastFindLoc":9,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":595},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","F1D26890-7392-487D-B5DE-97C772B4E79E","59440FC5-E676-4B9B-A828-C150A05765C0","021D41A0-C172-475A-9F8B-E57A555FCA49","3EB3D281-7B1F-4D8C-B4F0-C76BE1F9F617","EC187AAB-72A2-4A79-9BCA-25042EE70345","4DFD8511-8D57-44AF-87EA-607C453A5022","4A2E177B-B798-4A17-93E7-751DADE6D287","F8253925-8008-4DDF-89A3-469B26A6B93D","12965034-9047-41C3-8FD0-42DD45205238","80A088D5-AA19-4F47-A475-BDD5CFA7BD74","DDEE466A-4974-4DD4-9E26-9DCA80A8545E","43CAC30D-69E6-4FC6-851A-539256B6BEA5","9C578735-968D-40DD-8798-0F44CE0DCB4B","E1440C33-6705-43F5-A5AB-C09CE0D84BB3"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"previousSelection":[0,0],"isBeingDragged":false,"moved":true,"layout":{"__isSmartRef__":true,"id":596},"owner":{"__isSmartRef__":true,"id":597},"_Align":"center","__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(497.6,5.5)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(47.0,-10.0)"},"583":{"fill":null,"_BorderWidth":1.482,"_ClipMode":"visible","_Fill":null,"_BorderRadius":11.48,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(28.7,31.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"584":{"partsSpaceName":"PartsBin/Basic/","migrationLevel":8,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":585},{"__isSmartRef__":true,"id":586},{"__isSmartRef__":true,"id":587},{"__isSmartRef__":true,"id":588},{"__isSmartRef__":true,"id":589},{"__isSmartRef__":true,"id":590},{"__isSmartRef__":true,"id":591},{"__isSmartRef__":true,"id":592}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Sat Apr 05 2014 01:51:52 GMT-0700 (PDT)\")"},"585":{"author":"robertkrahn","message":"resizeWidth = true","id":"E402462A-7AB2-487B-82BD-A3369C1C1F75","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 05 2014 01:58:52 GMT-0700 (PDT)\")"},"586":{"author":"jenslincke","message":"no comment","id":"9E495E1B-6E6D-4A89-9F9E-85AF618DC598","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 10:36:22 GMT-0700 (PDT)\")"},"587":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:30:30 GMT-0700 (PDT)\")"},"588":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)).  This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Sun Feb 26 2012 21:20:38 GMT-0800 (PST)\")"},"589":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Fri Apr 20 2012 22:31:43 GMT-0700 (PDT)\")"},"590":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Fri Apr 20 2012 22:32:09 GMT-0700 (PDT)\")"},"591":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 05:18:18 GMT-0700 (PDT)\")"},"592":{"author":"jenslincke","message":"no comment","id":"A3BA0C1E-7E83-43BF-9EC6-4F4BB3835D62","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 09:31:56 GMT-0700 (PDT)\")"},"593":{"style":{"__isSmartRef__":true,"id":594},"chunkOwner":{"__isSmartRef__":true,"id":582},"_id":"_44482","storedString":"0","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"594":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"595":{"morph":{"__isSmartRef__":true,"id":582},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"596":{"resizeWidth":true},"597":{"submorphs":[{"__isSmartRef__":true,"id":598},{"__isSmartRef__":true,"id":614},{"__isSmartRef__":true,"id":582},{"__isSmartRef__":true,"id":630},{"__isSmartRef__":true,"id":652},{"__isSmartRef__":true,"id":674},{"__isSmartRef__":true,"id":694}],"scripts":[],"id":"67EF68C2-8DA4-4298-B51E-EBAFE8A4F660","shape":{"__isSmartRef__":true,"id":715},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"MenuBar","partsBinMetaInfo":{"__isSmartRef__":true,"id":716},"eventHandler":{"__isSmartRef__":true,"id":739},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","BD8BECDB-A9A1-4009-B433-C925F0AFCCFC","F2677A9D-5855-4DF2-B248-94545B34B762","D52188B3-7DC0-410E-96B1-50892AC00A37","6575457B-734F-4449-94E9-08A5A5412CAC","0021A7A8-3FAB-41A9-B2D8-1A45E16346E9","985D078F-6237-4DA4-B76B-4561E8FA22E8","5C5C7501-C0A3-436C-9A00-B8FAF74D4BF5","0AEAB591-332E-4C53-8A54-9DBA6AD61C6B","3F58531C-4EAC-44DA-810A-CF866DF4EBAF","573A2C00-99E4-44EA-8B53-DE6486DB5892","D346FBDC-6A9A-4DA1-9407-F54BBF5BBF16","7A6DE014-6C4C-472A-ACC5-A804548E9D41","DD335DC8-16E0-47BC-A35F-964C19CAF27E","8FEBC080-0C7A-475C-8042-8C8BE08CB3D2"],"partTests":{"__isSmartRef__":true,"id":740},"_ClipMode":"visible","moved":true,"owner":null,"__serializedExpressions__":["distanceToDragEvent","_Position"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","distanceToDragEvent":"lively.pt(70.0,-20.0)","_Position":"lively.pt(0.0,-41.5)"},"598":{"submorphs":[{"__isSmartRef__":true,"id":599}],"scripts":[],"id":"2D1A0296-1748-42EE-A22A-7D0BE537D5D7","shape":{"__isSmartRef__":true,"id":604},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":599},"name":"Next","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":605},"eventHandler":{"__isSmartRef__":true,"id":607},"derivationIds":[7251,"AE965E5C-19BD-4049-96CC-319842C6E018","48A2B11A-9B17-4905-A355-922C0EFD3BDD","E96E4913-25D1-48DC-A73B-10543F70A255","52E8CBD9-59C6-4A21-93E4-F860C1E69A82","48563338-3FFB-454F-9C52-B16488CF81ED","A7115430-150A-4355-97C3-438D296120A4","E2B86F64-27C0-48DC-887A-7620D0C861DF","3B815FB8-539B-41C9-8768-4675F8EC072E","98140074-A2E5-499B-8753-E8748A18E9B0","567DED6A-AAD9-4EAF-8065-BE7386606A07","A377C5FB-702F-443F-84C3-24B78369EEF0","486DAC5A-F5BE-41FA-A948-822554499377","97569F57-0EDC-473A-A6E3-9E884B06ECBF"],"_ClipMode":"visible","isPressed":false,"owner":{"__isSmartRef__":true,"id":597},"_ToolTip":"Next Slide","attributeConnections":[{"__isSmartRef__":true,"id":608}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"_StyleClassNames":["Morph","Button"],"__serializedExpressions__":["_Position","normalFill","lighterFill","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":610},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(982.5,8.5)","normalFill":"Color.rgb(255,255,255)","lighterFill":"Color.rgb(230,230,230)","distanceToDragEvent":"lively.pt(34.0,-6.0)"},"599":{"submorphs":[],"scripts":[],"id":"39936802-54EF-4D84-B133-B9E9AFB008E8","shape":{"__isSmartRef__":true,"id":600},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Arial","registeredForMouseEvents":true,"_MaxTextWidth":110,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":598},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":601}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":603},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[7252,"5136A758-BF53-43D4-B39B-DF7EFA37E738","6D958E1B-5031-4E63-A12C-A1E46FFBED47","2752A60F-D600-41BB-82A2-15857475FFA8","8AA70002-9D0E-4477-B82F-FA20DFBF8B89","9120EB1D-A789-48EA-8405-61F8EE1B4686","43897ADD-3CA8-4E9F-BD3F-3970EFA71561","24C6098C-E93C-44EF-8C26-E3B1678F218F","F39163F3-CB3F-47F7-A67D-1E4949317526","EB91ACFB-93FA-473F-A6A6-B8A496A26B3C","ADAE29E7-F3DB-42DF-A053-98ED6FCC7BB3","E3631C18-5F02-4FB1-A0EE-B3228078DA8A","2FEEC31D-90FC-419A-9511-A7FDE4C7EA5A","3A31776A-D5FD-4C9F-B66A-D97C4CE98B37"],"_MinTextWidth":110,"_MinTextHeight":null,"_FontSize":14,"_InputAllowed":false,"__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"600":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(33.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"601":{"style":{"__isSmartRef__":true,"id":602},"chunkOwner":{"__isSmartRef__":true,"id":599},"_id":"_4869","storedString":">","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"602":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"603":{"morph":{"__isSmartRef__":true,"id":599},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"604":{"_BorderWidth":4.888,"_BorderRadius":15.185,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(33.0,25.0)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(238,238,238)","_Padding":"lively.rect(0,0,0,0)"},"605":{"partsSpaceName":"PartsBin/SketchyInputs/","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":606}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:35 GMT-0700 (PDT)\")"},"606":{"author":"lauritz","message":"","id":"959919F0-D51D-45E6-9205-4D7A114D8C7E","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jan 24 2012 12:35:57 GMT-0800 (PST)\")"},"607":{"morph":{"__isSmartRef__":true,"id":598},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"608":{"sourceObj":{"__isSmartRef__":true,"id":598},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":598},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":609},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"609":{"source":{"__isSmartRef__":true,"id":598},"target":{"__isSmartRef__":true,"id":598}},"610":{"doAction":{"__isSmartRef__":true,"id":611}},"611":{"varMapping":{"__isSmartRef__":true,"id":612},"source":"function doAction() {\n    this.owner.owner.showNextSlide()\n    \n}","funcProperties":{"__isSmartRef__":true,"id":613},"__LivelyClassName__":"lively.Closure"},"612":{"this":{"__isSmartRef__":true,"id":598}},"613":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 17:35:02 GMT-0800 (PST)\")"},"614":{"submorphs":[{"__isSmartRef__":true,"id":615}],"scripts":[],"id":"DC006494-6AF5-41EB-88FE-8E6128663E5E","shape":{"__isSmartRef__":true,"id":620},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":615},"name":"Prev","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":621},"eventHandler":{"__isSmartRef__":true,"id":623},"derivationIds":[7251,"AE965E5C-19BD-4049-96CC-319842C6E018","48A2B11A-9B17-4905-A355-922C0EFD3BDD","E96E4913-25D1-48DC-A73B-10543F70A255","5537C5B7-25A3-4551-AA32-CAC283C76403","BAB69B8F-0CE5-4AC4-A211-522DB17EBD57","56A66FF0-730F-4196-86BC-EBF57BB58ACE","748B1500-2D1B-4176-B000-E60824FFDB13","6730816A-7205-471A-B8E8-1E4F3C803110","89AB7176-A89B-4B3C-A067-BFD6898524CF","8DA1EED5-8E70-4322-BD76-FD372A0FF5C7","8BFD7A14-B0A8-44A0-B268-794CDED8F42F","4C164EAF-F8F2-4248-846C-4AF75C27E013","90BCE839-6A46-44FB-8806-DF4E34F8194B","596D1530-93CC-498C-ABDE-04AD9282EB83"],"_ClipMode":"visible","isPressed":false,"_ToolTip":"Previous Slide","owner":{"__isSmartRef__":true,"id":597},"attributeConnections":[{"__isSmartRef__":true,"id":624}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"_StyleClassNames":["Morph","Button"],"__serializedExpressions__":["_Position","normalFill","lighterFill","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":626},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(8.5,8.5)","normalFill":"Color.rgb(255,255,255)","lighterFill":"Color.rgb(230,230,230)","distanceToDragEvent":"lively.pt(37.0,-8.0)"},"615":{"submorphs":[],"scripts":[],"id":"4ED59B16-3AA4-48BF-802A-E7DD910D438F","shape":{"__isSmartRef__":true,"id":616},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Arial","registeredForMouseEvents":true,"_MaxTextWidth":110,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":614},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":617}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":619},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[7252,"5136A758-BF53-43D4-B39B-DF7EFA37E738","6D958E1B-5031-4E63-A12C-A1E46FFBED47","2752A60F-D600-41BB-82A2-15857475FFA8","A27EDCB1-D07A-4B10-98B3-CA0CE408AD4E","0A4C22C2-8A5F-4525-A7DC-0EE5C84531BB","D53002B9-03D8-4B70-A1B1-16726ACAFC22","9C3FCC57-06E4-4EAF-94B6-491CC5F1AA8A","60C3186F-937C-4EFB-8B67-F45F73CF5F4E","D852F5BF-A203-4839-9E9F-62169AA49A00","07ACDCD1-B712-4D87-91B6-B1EE9A2B9B75","26089453-048E-4BB9-A219-DB67E4C7CF15","719338B5-0331-4F64-A307-FA09C29E2177","4D9C5C33-35F1-4C95-843D-EB7B2BA87C68","82CB9E7C-6EC4-42E2-AFE4-FAC2090BFC58"],"_MinTextWidth":110,"_MinTextHeight":null,"_FontSize":12,"_InputAllowed":false,"__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"616":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(33.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"617":{"style":{"__isSmartRef__":true,"id":618},"chunkOwner":{"__isSmartRef__":true,"id":615},"_id":"_4105","storedString":"<","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"618":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"619":{"morph":{"__isSmartRef__":true,"id":615},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"620":{"_BorderWidth":4.888,"_BorderRadius":15.185,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(33.0,25.0)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(238,238,238)","_Padding":"lively.rect(0,0,0,0)"},"621":{"partsSpaceName":"PartsBin/SketchyInputs/","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":622}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:35 GMT-0700 (PDT)\")"},"622":{"author":"lauritz","message":"","id":"959919F0-D51D-45E6-9205-4D7A114D8C7E","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jan 24 2012 12:35:57 GMT-0800 (PST)\")"},"623":{"morph":{"__isSmartRef__":true,"id":614},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"624":{"sourceObj":{"__isSmartRef__":true,"id":614},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":614},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":625},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"625":{"source":{"__isSmartRef__":true,"id":614},"target":{"__isSmartRef__":true,"id":614}},"626":{"doAction":{"__isSmartRef__":true,"id":627}},"627":{"varMapping":{"__isSmartRef__":true,"id":628},"source":"function doAction() {\n    this.owner.owner.showPreviousSlide()\n    \n}","funcProperties":{"__isSmartRef__":true,"id":629},"__LivelyClassName__":"lively.Closure"},"628":{"this":{"__isSmartRef__":true,"id":614}},"629":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 17:34:38 GMT-0800 (PST)\")"},"630":{"submorphs":[],"scripts":[],"id":"841F8F48-4011-4A8D-91FB-A6835741A574","shape":{"__isSmartRef__":true,"id":631},"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":632},"itemList":["Mode","Composition","Master","Play","Presentation"],"selectOnMove":false,"showsHalos":false,"name":"Mode","partsBinMetaInfo":{"__isSmartRef__":true,"id":633},"derivationIds":[6545,"9CE40D45-F249-461A-9C31-2DDA97BCFCC6","85902790-A508-4E9B-A66C-627AAD9FADDC","620FEF7D-3401-4E6F-8027-0AC7C79843E6","F339E9CE-B044-4123-B43D-B7DC107D37C1","F57B43AF-61CC-45C5-AD8E-2B43B0361819","49286E69-1813-40F2-A62B-70147132FC13","9EAE49DA-FF79-4D36-A42C-FD24209C2CC2","0DB347B1-0435-4125-8EA6-565E9D7EC6AC","975CAB2D-9DFC-472B-9793-DA41F9D412E7","7489DA41-4C50-4F71-B214-FBE29FEBD564","3ABDF4DE-AB74-4AA7-817D-756FF1423C2C","98B63C82-CCE1-40F9-BCFA-9AC5C0E2836A"],"selectedLineNo":0,"owner":{"__isSmartRef__":true,"id":597},"_ToolTip":"Choose the mode: editing, edit master, present, or play","changeTriggered":true,"selection":"Mode","attributeConnections":[{"__isSmartRef__":true,"id":635}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"actionStruct":{"__isSmartRef__":true,"id":637},"title":"Mode","actions":{"__isSmartRef__":true,"id":638},"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":639},"__LivelyClassName__":"lively.morphic.DropDownList","__SourceModuleName__":"Global.lively.morphic.Lists","_Position":"lively.pt(800.5,8.5)","distanceToDragEvent":"lively.pt(77.0,-5.0)"},"631":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(107.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"632":{"morph":{"__isSmartRef__":true,"id":630},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"633":{"requiredModules":[],"migrationLevel":9,"partsSpaceName":"PartsBin/Inputs/","comment":"A dropdownlist which essentially exports only one call: init(anActionStruct). Documented by this.readMe(); see this.showExample() to generate the\nexample menu.  The general idea is that after calling init(anActionStruct), all the connections and actions follow\n","partName":"PullDownMenu","changes":[{"__isSmartRef__":true,"id":634}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Dec 03 2014 08:57:43 GMT-0800 (PST)\")"},"634":{"author":"rick","message":"no comment","id":"AE0615B4-13AF-48E7-ABEE-D4F7456580E9","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 03 2014 08:57:42 GMT-0800 (PST)\")"},"635":{"sourceObj":{"__isSmartRef__":true,"id":630},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":630},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":636},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"636":{"source":{"__isSmartRef__":true,"id":630},"target":{"__isSmartRef__":true,"id":630}},"637":{},"638":{},"639":{"init":{"__isSmartRef__":true,"id":640},"readMe":{"__isSmartRef__":true,"id":643},"doAction":{"__isSmartRef__":true,"id":646},"showExample":{"__isSmartRef__":true,"id":649}},"640":{"varMapping":{"__isSmartRef__":true,"id":641},"source":"function init(anActionStruct) {\n    // the idea behind a pulldown Menu is that it's self-contained:\n    // the only connection is to itself, and all the information to fill\n    // the list and perform the actions is in the action struct\n    // an ActionStruct is of the form\n    // {title: aString,\n    //  actions: {S1: F1,\n    //            S2: F2...\n    //             }\n    // menuOrder: [S1, S2,]\n    // }\n    // the list is populated with aString, S1, S2,...\n    // Fi is called as the action when Si is selected\n    // optArg: menuOrder: a list with some of the keys specified.  These will\n    // appear first in the list after the title, in order.  Other keys added\n    // as Object.keys(anActionStruct.actions) fills them\n    this.clearSelections()\n    this.setList([])\n    var keys = Object.keys(anActionStruct.actions)\n    var itemList = [anActionStruct.title]\n    anActionStruct.menuOrder.forEach(function(aString) {\n        if (aString == anActionStruct.title) {\n            alert(\"Error: \" + aString + \" can't be both a title and an action\")\n        } else if (itemList.indexOf(aString) != -1) {\n            alert('Error: ' + aString + ' appears twice')\n        } else if (keys.indexOf(aString) == -1) {\n            alert(\"Error: \" + aString + \" appears in menuOrder but has no action\")\n        } else {\n            itemList.push(aString)\n        }\n    })\n    keys.forEach(function (aString) {\n        if (itemList.indexOf(aString) != -1) return;\n        if (aString == anActionStruct.title) {\n            alert(\"Error: \" + aString + \" can't be both a title and an action\")\n            return\n        } \n        itemList.push(aString)\n    })\n    this.setList(itemList)\n    this.actions = anActionStruct.actions\n    this.title = anActionStruct.title\n    \n    \n    \n}","funcProperties":{"__isSmartRef__":true,"id":642},"__LivelyClassName__":"lively.Closure"},"641":{"this":{"__isSmartRef__":true,"id":630}},"642":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 08:55:21 GMT-0800 (PST)\")"},"643":{"varMapping":{"__isSmartRef__":true,"id":644},"source":"function readMe() {\n    return \"The idea behind a pulldown Menu is that it's self-contained: \"+\n  \" the only connection is to itself, and all the information to fill\" +\n   \" the list and perform the actions is in the action struct\" +\n   \" an ActionStruct is of the form\" +\n   \" {title: aString,\" +\n   \"  actions: {S1: F1,\" +\n   \"            S2: F2...\" +\n   \"             }\" +\n   \" menuOrder: [S1, S2,]\" +\n   \" }\" +\n   \" the list is populated with aString, S1, S2,...\" +\n   \" Fi is called as the action when Si is selected\" +\n   \" optArg: menuOrder: a list with some of the keys specified.  These will\" +\n   \" appear first in the list after the title, in order.  Other keys added\" +\n   \" as Object.keys(anActionStruct.actions) fills them\";\n   \n}","funcProperties":{"__isSmartRef__":true,"id":645},"__LivelyClassName__":"lively.Closure"},"644":{"this":{"__isSmartRef__":true,"id":630}},"645":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 12:05:04 GMT-0800 (PST)\")"},"646":{"varMapping":{"__isSmartRef__":true,"id":647},"source":"function doAction(anItemFromList) {\n    // generic action called on selection.  This should only be called\n    // in response to a selection change, and then it just does \n    // this.actions[anItemFromList].action() and resets to the title\n    if (!anItemFromList) {\n        // this should never happen, but we do get bogus selections from\n        // various events (e.g., clearing the list)\n        return\n    }\n    if (anItemFromList == this.title) {\n        // just resetting to the title, do nothing\n        return;\n    }\n    // shouldn't happen, but suspenders & belt\n    if (this.itemList.indexOf(anItemFromList) == -1) {\n        alert(\"Error: \" +  anitemFromList + \" doesn't appear in the menu!\")\n    }\n    // OK, just do the action and return.  This is guaranteed to be there\n    this.actions[anItemFromList]()\n    this.setSelection(this.title)\n    \n}","funcProperties":{"__isSmartRef__":true,"id":648},"__LivelyClassName__":"lively.Closure"},"647":{"this":{"__isSmartRef__":true,"id":630}},"648":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 12:05:04 GMT-0800 (PST)\")"},"649":{"varMapping":{"__isSmartRef__":true,"id":650},"source":"function showExample() {\n    // call this to generate an example menu\n    var menu = this; // lexical scope to pass this object properly \n    this.init({title:\"Example\",\n            actions:  {\n                \"Action 1\": function() {alert(\"Action 1\")},\n                \"Action 2\": function() {alert(\"Action 2\")},\n                \"Action 3\": function() {alert(\"Action 3\")},\n                \"Readme\": function() {show(menu.readMe())}\n            },\n            menuOrder: [\"Readme\", \"Action 1\"]\n            })\n    \n}","funcProperties":{"__isSmartRef__":true,"id":651},"__LivelyClassName__":"lively.Closure"},"650":{"this":{"__isSmartRef__":true,"id":630}},"651":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 08:51:17 GMT-0800 (PST)\")"},"652":{"submorphs":[],"scripts":[],"id":"2C7A2E02-F682-4256-AE93-EFF12864DA75","shape":{"__isSmartRef__":true,"id":653},"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":654},"itemList":["Slide","Insert Before","Insert After","New Last","Delete","Edit Behavior","Update Lists","Set Presentation Name","Publish Slides","Open Slide Template","Open Slide Browser","Open Slide Sorter","Add Builder To Slide"],"selectOnMove":false,"showsHalos":false,"name":"File","partsBinMetaInfo":{"__isSmartRef__":true,"id":655},"derivationIds":[6545,"9CE40D45-F249-461A-9C31-2DDA97BCFCC6","85902790-A508-4E9B-A66C-627AAD9FADDC","620FEF7D-3401-4E6F-8027-0AC7C79843E6","F339E9CE-B044-4123-B43D-B7DC107D37C1","F57B43AF-61CC-45C5-AD8E-2B43B0361819","49286E69-1813-40F2-A62B-70147132FC13","9EAE49DA-FF79-4D36-A42C-FD24209C2CC2","0DB347B1-0435-4125-8EA6-565E9D7EC6AC","975CAB2D-9DFC-472B-9793-DA41F9D412E7","58A2320C-4572-4A39-A2C1-194D24E10ED5","ADD8334E-9931-455A-922B-3C7F2DA96F5A","D881F6EC-C02E-4B95-89AF-7B8AE7B4487D","85ACC3E3-A0ED-46F3-8106-192596C5C8D8"],"selectedLineNo":0,"_ToolTip":"Choose the mode: editing, edit master, present, or play","changeTriggered":true,"selection":"Slide","attributeConnections":[{"__isSmartRef__":true,"id":657}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"actionStruct":{"__isSmartRef__":true,"id":659},"title":"Slide","actions":{"__isSmartRef__":true,"id":660},"owner":{"__isSmartRef__":true,"id":597},"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":661},"__LivelyClassName__":"lively.morphic.DropDownList","__SourceModuleName__":"Global.lively.morphic.Lists","_Position":"lively.pt(116.5,8.5)","distanceToDragEvent":"lively.pt(77.0,-5.0)"},"653":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(107.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"654":{"morph":{"__isSmartRef__":true,"id":652},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"655":{"requiredModules":[],"migrationLevel":9,"partsSpaceName":"PartsBin/Inputs/","comment":"A dropdownlist which essentially exports only one call: init(anActionStruct). Documented by this.readMe(); see this.showExample() to generate the\nexample menu.  The general idea is that after calling init(anActionStruct), all the connections and actions follow\n","partName":"PullDownMenu","changes":[{"__isSmartRef__":true,"id":656}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Dec 03 2014 08:57:43 GMT-0800 (PST)\")"},"656":{"author":"rick","message":"no comment","id":"AE0615B4-13AF-48E7-ABEE-D4F7456580E9","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 03 2014 08:57:42 GMT-0800 (PST)\")"},"657":{"sourceObj":{"__isSmartRef__":true,"id":652},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":652},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":658},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"658":{"source":{"__isSmartRef__":true,"id":652},"target":{"__isSmartRef__":true,"id":652}},"659":{},"660":{},"661":{"init":{"__isSmartRef__":true,"id":662},"readMe":{"__isSmartRef__":true,"id":665},"doAction":{"__isSmartRef__":true,"id":668},"showExample":{"__isSmartRef__":true,"id":671}},"662":{"varMapping":{"__isSmartRef__":true,"id":663},"source":"function init(anActionStruct) {\n    // the idea behind a pulldown Menu is that it's self-contained:\n    // the only connection is to itself, and all the information to fill\n    // the list and perform the actions is in the action struct\n    // an ActionStruct is of the form\n    // {title: aString,\n    //  actions: {S1: F1,\n    //            S2: F2...\n    //             }\n    // menuOrder: [S1, S2,]\n    // }\n    // the list is populated with aString, S1, S2,...\n    // Fi is called as the action when Si is selected\n    // optArg: menuOrder: a list with some of the keys specified.  These will\n    // appear first in the list after the title, in order.  Other keys added\n    // as Object.keys(anActionStruct.actions) fills them\n    this.clearSelections()\n    this.setList([])\n    var keys = Object.keys(anActionStruct.actions)\n    var itemList = [anActionStruct.title]\n    anActionStruct.menuOrder.forEach(function(aString) {\n        if (aString == anActionStruct.title) {\n            alert(\"Error: \" + aString + \" can't be both a title and an action\")\n        } else if (itemList.indexOf(aString) != -1) {\n            alert('Error: ' + aString + ' appears twice')\n        } else if (keys.indexOf(aString) == -1) {\n            alert(\"Error: \" + aString + \" appears in menuOrder but has no action\")\n        } else {\n            itemList.push(aString)\n        }\n    })\n    keys.forEach(function (aString) {\n        if (itemList.indexOf(aString) != -1) return;\n        if (aString == anActionStruct.title) {\n            alert(\"Error: \" + aString + \" can't be both a title and an action\")\n            return\n        } \n        itemList.push(aString)\n    })\n    this.setList(itemList)\n    this.actions = anActionStruct.actions\n    this.title = anActionStruct.title\n    \n    \n    \n}","funcProperties":{"__isSmartRef__":true,"id":664},"__LivelyClassName__":"lively.Closure"},"663":{"this":{"__isSmartRef__":true,"id":652}},"664":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 08:55:21 GMT-0800 (PST)\")"},"665":{"varMapping":{"__isSmartRef__":true,"id":666},"source":"function readMe() {\n     return \"The idea behind a pulldown Menu is that it's self-contained: \"+\n   \" the only connection is to itself, and all the information to fill\" +\n    \" the list and perform the actions is in the action struct\" +\n    \" an ActionStruct is of the form\" +\n    \" {title: aString,\" +\n    \"  actions: {S1: F1,\" +\n    \"            S2: F2...\" +\n    \"             }\" +\n    \" menuOrder: [S1, S2,]\" +\n    \" }\" +\n    \" the list is populated with aString, S1, S2,...\" +\n    \" Fi is called as the action when Si is selected\" +\n    \" optArg: menuOrder: a list with some of the keys specified.  These will\" +\n    \" appear first in the list after the title, in order.  Other keys added\" +\n    \" as Object.keys(anActionStruct.actions) fills them\";\n    \n}","funcProperties":{"__isSmartRef__":true,"id":667},"__LivelyClassName__":"lively.Closure"},"666":{"this":{"__isSmartRef__":true,"id":652}},"667":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 08:36:20 GMT-0800 (PST)\")"},"668":{"varMapping":{"__isSmartRef__":true,"id":669},"source":"function doAction(anItemFromList) {\n    // generic action called on selection.  This should only be called\n    // in response to a selection change, and then it just does \n    // this.actions[anItemFromList].action() and resets to the title\n    \n    if (!anItemFromList) {\n        // this should never happen, but we do get bogus selections from\n        // various events (e.g., clearing the list)\n        return\n    }\n    if (anItemFromList == this.title) {\n        // just resetting to the title, do nothing\n        return;\n    }\n    // shouldn't happen, but suspenders & belt\n    if (this.itemList.indexOf(anItemFromList) == -1) {\n        alert(\"Error: \" +  anitemFromList + \" doesn't appear in the menu!\")\n    }\n    // OK, just do the action and return.  This is guaranteed to be there\n    this.actions[anItemFromList]()\n    this.setSelection(this.title)\n    \n}","funcProperties":{"__isSmartRef__":true,"id":670},"__LivelyClassName__":"lively.Closure"},"669":{"this":{"__isSmartRef__":true,"id":652}},"670":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 12:08:45 GMT-0800 (PST)\")"},"671":{"varMapping":{"__isSmartRef__":true,"id":672},"source":"function showExample() {\n    // call this to generate an example menu\n    var menu = this; // lexical scope to pass this object properly \n    this.init({title:\"Example\",\n            actions:  {\n                \"Action 1\": function() {alert(\"Action 1\")},\n                \"Action 2\": function() {alert(\"Action 2\")},\n                \"Action 3\": function() {alert(\"Action 3\")},\n                \"Readme\": function() {show(menu.readMe())}\n            },\n            menuOrder: [\"Readme\", \"Action 1\"]\n            })\n    \n}","funcProperties":{"__isSmartRef__":true,"id":673},"__LivelyClassName__":"lively.Closure"},"672":{"this":{"__isSmartRef__":true,"id":652}},"673":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 08:51:17 GMT-0800 (PST)\")"},"674":{"submorphs":[],"scripts":[],"id":"56BEA4DF-0FFE-4810-84DB-4A8AC4326494","shape":{"__isSmartRef__":true,"id":675},"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":676},"itemList":["Slide By Title","Lively Presentation Template"],"selectOnMove":false,"showsHalos":false,"name":"TopicComposition","partsBinMetaInfo":{"__isSmartRef__":true,"id":677},"derivationIds":[6545,"9CE40D45-F249-461A-9C31-2DDA97BCFCC6","EF6E2453-040B-4BFF-9CA1-7AE6B1BC6BDE","8E3300F7-9235-496D-B9D0-187DC7EB9302","37C32B2C-FAD2-4B92-B8FF-12D19CC97EA6","A161982B-489C-4A05-BF4A-16A1672A2B78","EC1E9BD9-C789-4B6A-9DE6-C64533B41A0C","7AE46EEF-F966-4FE2-A19C-F7FB5958DD07","EA073B98-BCF6-4F55-A3AD-924BC340E225","9D7F93D6-0DDE-4ACF-AC54-3EFD7040F4EE","4D4DF45F-6FEB-41F5-9855-C3D0152FED86","3AE3B5ED-FD63-4313-B3EE-0DDEE1454B6F","EC24E8D0-ABBD-4E72-92AB-D1122398F927"],"selectedLineNo":-1,"_ToolTip":"Go to slide by title topic","changeTriggered":true,"attributeConnections":[{"__isSmartRef__":true,"id":679}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"hasTitle":true,"title":"Slide By Title","owner":{"__isSmartRef__":true,"id":597},"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":681},"__LivelyClassName__":"lively.morphic.DropDownList","__SourceModuleName__":"Global.lively.morphic.Lists","_Position":"lively.pt(613.0,7.5)","distanceToDragEvent":"lively.pt(77.0,-17.0)"},"675":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(107.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"676":{"morph":{"__isSmartRef__":true,"id":674},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"677":{"requiredModules":[],"migrationLevel":9,"partsSpaceName":"PartsBin/Inputs/","comment":"A self-contained list with only one programmer-required call: init","partName":"ActionList","changes":[{"__isSmartRef__":true,"id":678}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Thu Dec 04 2014 08:59:51 GMT-0800 (PST)\")"},"678":{"author":"rick","message":"no comment","id":"2B56CB12-87D9-4948-B146-4F1100ADB940","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 08:59:50 GMT-0800 (PST)\")"},"679":{"sourceObj":{"__isSmartRef__":true,"id":674},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":674},"targetMethodName":"onSelection","varMapping":{"__isSmartRef__":true,"id":680},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"680":{"source":{"__isSmartRef__":true,"id":674},"target":{"__isSmartRef__":true,"id":674}},"681":{"onSelection":{"__isSmartRef__":true,"id":682},"init":{"__isSmartRef__":true,"id":685},"readMe":{"__isSmartRef__":true,"id":688},"example":{"__isSmartRef__":true,"id":691}},"682":{"varMapping":{"__isSmartRef__":true,"id":683},"source":"function onSelection(aSelection) {\n    if (!aSelection) return;\n    if (this.hasTitle && aSelection == this.title) return;\n    this.action(aSelection)\n    if(this.hasTitle) {\n        this.setSelection(this.title)\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":684},"__LivelyClassName__":"lively.Closure"},"683":{"this":{"__isSmartRef__":true,"id":674}},"684":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:56:18 GMT-0800 (PST)\")"},"685":{"varMapping":{"__isSmartRef__":true,"id":686},"source":"function init(aListObject) {\n    if (aListObject.title) {\n        this.hasTitle = true;\n        this.title = aListObject.title;\n    } else {\n        this.hasTitle = false;\n    }\n    if (aListObject.items) {\n        if (this.hasTitle) {\n            if (aListObject.items.indexOf(this.title) != -1) {\n                alert(\"Error: title \" + this.title + \" should not be an item in the list\" +\n                \" \" + this.title + \" being treated as an ordinary, selectable item\")\n                this.hasTitle = false;\n                this.setList(aListObject.items)\n            } else {\n                var items = aListObject.items.slice(0)\n                items.pushAt(this.title, 0)\n                this.setList(items)\n            }\n        } else {\n            this.setList(aListObject.items)\n        }\n    } else {\n        alert(\"Error! aListObject must have an item list\")\n        this.action = function(aSelection) {return;}\n    }\n    if (aListObject.hasOwnProperty(\"action\")) {\n        this.action = aListObject.action\n    } else {\n        alert(\"Error! aListObject must have an action\")\n        this.action = function(aSelection) {return;}\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":687},"__LivelyClassName__":"lively.Closure"},"686":{"this":{"__isSmartRef__":true,"id":674}},"687":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 10:01:50 GMT-0800 (PST)\")"},"688":{"varMapping":{"__isSmartRef__":true,"id":689},"source":"function readMe() {\n    return \"A self-contained list.  The programmer should only call a single \" +\n    \"method, init(aListObject) which sets up the list.  AListObject is of the \" +\n    \"form {title: aString, items:aListOfStrings, action:function(aString)} \" +\n    \"on selection, aListObject.action(selection) will be called.  title is \" +\n    \"optional.  When it is present, it is always the first item in the list, \" +\n    \"and selecting it results in no action.  Also, when present, the list will \" +\n    \"always show the title .  See this.example() for an example use\"\n    \n}","funcProperties":{"__isSmartRef__":true,"id":690},"__LivelyClassName__":"lively.Closure"},"689":{"this":{"__isSmartRef__":true,"id":674}},"690":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:41:48 GMT-0800 (PST)\")"},"691":{"varMapping":{"__isSmartRef__":true,"id":692},"source":"function example() {\n    this.init({title:\"Example\", items:[\"item 1\", 2, \"item 3\", 4],\n    action:function(anItem) {alert(anItem)}})\n    \n}","funcProperties":{"__isSmartRef__":true,"id":693},"__LivelyClassName__":"lively.Closure"},"692":{"this":{"__isSmartRef__":true,"id":674}},"693":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:58:39 GMT-0800 (PST)\")"},"694":{"submorphs":[],"scripts":[],"id":"98F8E164-4771-4D8C-9B0C-0A88F167CCE9","shape":{"__isSmartRef__":true,"id":695},"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":696},"itemList":["Go to Slide",0],"selectOnMove":false,"showsHalos":false,"name":"NavigationComposition","partsBinMetaInfo":{"__isSmartRef__":true,"id":697},"derivationIds":[6545,"9CE40D45-F249-461A-9C31-2DDA97BCFCC6","EF6E2453-040B-4BFF-9CA1-7AE6B1BC6BDE","8E3300F7-9235-496D-B9D0-187DC7EB9302","37C32B2C-FAD2-4B92-B8FF-12D19CC97EA6","A161982B-489C-4A05-BF4A-16A1672A2B78","EC1E9BD9-C789-4B6A-9DE6-C64533B41A0C","7AE46EEF-F966-4FE2-A19C-F7FB5958DD07","EA073B98-BCF6-4F55-A3AD-924BC340E225","9D7F93D6-0DDE-4ACF-AC54-3EFD7040F4EE","4D4DF45F-6FEB-41F5-9855-C3D0152FED86","B0DA6103-ED4F-44E7-8829-5C5F496D2E59"],"selectedLineNo":0,"_ToolTip":"Go to slide by title topic","changeTriggered":false,"attributeConnections":[{"__isSmartRef__":true,"id":700}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"hasTitle":true,"title":"Go to Slide","owner":{"__isSmartRef__":true,"id":597},"selection":"Go to Slide","__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":702},"__LivelyClassName__":"lively.morphic.DropDownList","__SourceModuleName__":"Global.lively.morphic.Lists","_Position":"lively.pt(291.0,9.5)","distanceToDragEvent":"lively.pt(77.0,-17.0)"},"695":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(107.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"696":{"morph":{"__isSmartRef__":true,"id":694},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"697":{"requiredModules":[],"migrationLevel":9,"partsSpaceName":"PartsBin/Inputs/","comment":"A self-contained list with only one programmer-required call: init","partName":"ActionList","changes":[{"__isSmartRef__":true,"id":698},{"__isSmartRef__":true,"id":699}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Thu Dec 04 2014 10:03:11 GMT-0800 (PST)\")"},"698":{"author":"rick","message":"no comment","id":"2B56CB12-87D9-4948-B146-4F1100ADB940","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 08:59:50 GMT-0800 (PST)\")"},"699":{"author":"rick","message":"no comment","id":"15491428-7F4A-420A-9268-3A21AF21397B","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 10:03:10 GMT-0800 (PST)\")"},"700":{"sourceObj":{"__isSmartRef__":true,"id":694},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":694},"targetMethodName":"onSelection","varMapping":{"__isSmartRef__":true,"id":701},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"701":{"source":{"__isSmartRef__":true,"id":694},"target":{"__isSmartRef__":true,"id":694}},"702":{"onSelection":{"__isSmartRef__":true,"id":703},"init":{"__isSmartRef__":true,"id":706},"readMe":{"__isSmartRef__":true,"id":709},"example":{"__isSmartRef__":true,"id":712}},"703":{"varMapping":{"__isSmartRef__":true,"id":704},"source":"function onSelection(aSelection) {\n    if (!aSelection) return;\n    if (this.hasTitle && aSelection == this.title) return;\n    this.action(aSelection)\n    if(this.hasTitle) {\n        this.setSelection(this.title)\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":705},"__LivelyClassName__":"lively.Closure"},"704":{"this":{"__isSmartRef__":true,"id":694}},"705":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:56:18 GMT-0800 (PST)\")"},"706":{"varMapping":{"__isSmartRef__":true,"id":707},"source":"function init(aListObject) {\n    if (aListObject.title) {\n        this.hasTitle = true;\n        this.title = aListObject.title;\n    } else {\n        this.hasTitle = false;\n    }\n    if (aListObject.items) {\n        if (this.hasTitle) {\n            if (aListObject.items.indexOf(this.title) != -1) {\n                alert(\"Error: title \" + this.title + \" should not be an item in the list\" +\n                \" \" + this.title + \" being treated as an ordinary, selectable item\")\n                this.hasTitle = false;\n                this.setList(aListObject.items)\n            } else {\n                var items = aListObject.items.slice(0)\n                items.pushAt(this.title, 0)\n                this.setList(items)\n            }\n        } else {\n            this.setList(aListObject.items)\n        }\n    } else {\n        alert(\"Error! aListObject must have an item list\")\n        this.action = function(aSelection) {return;}\n    }\n    if (aListObject.hasOwnProperty(\"action\")) {\n        this.action = aListObject.action\n    } else {\n        alert(\"Error! aListObject must have an action\")\n        this.action = function(aSelection) {return;}\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":708},"__LivelyClassName__":"lively.Closure"},"707":{"this":{"__isSmartRef__":true,"id":694}},"708":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 10:01:50 GMT-0800 (PST)\")"},"709":{"varMapping":{"__isSmartRef__":true,"id":710},"source":"function readMe() {\n    return \"A self-contained list.  The programmer should only call a single \" +\n    \"method, init(aListObject) which sets up the list.  AListObject is of the \" +\n    \"form {title: aString, items:aListOfStrings, action:function(aString)} \" +\n    \"on selection, aListObject.action(selection) will be called.  title is \" +\n    \"optional.  When it is present, it is always the first item in the list, \" +\n    \"and selecting it results in no action.  Also, when present, the list will \" +\n    \"always show the title .  See this.example() for an example use\"\n    \n}","funcProperties":{"__isSmartRef__":true,"id":711},"__LivelyClassName__":"lively.Closure"},"710":{"this":{"__isSmartRef__":true,"id":694}},"711":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:41:48 GMT-0800 (PST)\")"},"712":{"varMapping":{"__isSmartRef__":true,"id":713},"source":"function example() {\n    this.init({title:\"Example\", items:[\"item 1\", 2, \"item 3\", 4],\n    action:function(anItem) {alert(anItem)}})\n    \n}","funcProperties":{"__isSmartRef__":true,"id":714},"__LivelyClassName__":"lively.Closure"},"713":{"this":{"__isSmartRef__":true,"id":694}},"714":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:58:39 GMT-0800 (PST)\")"},"715":{"_BorderWidth":4,"_ClipMode":"visible","_BorderRadius":7,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(1024.0,42.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(238,238,238)","_Padding":"lively.rect(0,0,0,0)"},"716":{"partsSpaceName":"PartsBin/Presentation","comment":"The composition menu bar for ","migrationLevel":9,"partName":"MenuBar","changes":[{"__isSmartRef__":true,"id":717},{"__isSmartRef__":true,"id":718},{"__isSmartRef__":true,"id":719},{"__isSmartRef__":true,"id":720},{"__isSmartRef__":true,"id":721},{"__isSmartRef__":true,"id":722},{"__isSmartRef__":true,"id":723},{"__isSmartRef__":true,"id":724},{"__isSmartRef__":true,"id":725},{"__isSmartRef__":true,"id":726},{"__isSmartRef__":true,"id":727},{"__isSmartRef__":true,"id":728},{"__isSmartRef__":true,"id":729},{"__isSmartRef__":true,"id":730},{"__isSmartRef__":true,"id":731},{"__isSmartRef__":true,"id":732},{"__isSmartRef__":true,"id":733},{"__isSmartRef__":true,"id":734},{"__isSmartRef__":true,"id":735},{"__isSmartRef__":true,"id":736},{"__isSmartRef__":true,"id":737},{"__isSmartRef__":true,"id":738}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Thu Dec 04 2014 10:09:19 GMT-0800 (PST)\")"},"717":{"author":"robertkrahn","message":"no comment","id":"A452871F-4EB9-45D1-94B8-6065CBA7B8FD","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jul 29 2013 23:20:51 GMT-0700 (PDT)\")"},"718":{"author":"SAPLivelyScreen","message":"no comment","id":"7A44D8CA-6D5F-42A3-A4B4-4D7F51EECA52","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 18 2013 11:49:27 GMT-0700 (PDT)\")"},"719":{"author":"SAPLivelyScreen","message":"no comment","id":"EF145198-0649-41BD-A92E-521D98FEC49D","__serializedExpressions__":["date"],"date":"new Date(\"Wed May 29 2013 15:36:50 GMT-0700 (PDT)\")"},"720":{"author":"jenslincke","message":"added legend","id":"7ADA3049-56C1-4D32-874B-F664A79DDB20","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:47:05 GMT-0800 (PST)\")"},"721":{"author":"jenslincke","message":"no comment","id":"A4B86A7E-A398-4C29-BEE0-4AA045ABABD2","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:42:31 GMT-0800 (PST)\")"},"722":{"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 22 2012 01:35:51 GMT-0800 (PST)\")"},"723":{"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 18 2012 10:35:08 GMT-0700 (PDT)\")"},"724":{"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350","__serializedExpressions__":["date"],"date":"new Date(\"Mon Apr 09 2012 04:42:07 GMT-0700 (PDT)\")"},"725":{"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:42:26 GMT-0700 (PDT)\")"},"726":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Feb 24 2012 17:59:09 GMT-0800 (PST)\")"},"727":{"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:53:45 GMT-0700 (PDT)\")"},"728":{"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:30 GMT-0700 (PDT)\")"},"729":{"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:36 GMT-0700 (PDT)\")"},"730":{"author":"jenslincke","message":"no comment","id":"AEB2F41B-2C88-4BBA-8875-93CD17CBA1C8","__serializedExpressions__":["date"],"date":"new Date(\"Wed Jan 23 2013 03:57:18 GMT-0800 (PST)\")"},"731":{"author":"robertkrahn","message":"no comment","id":"67FD74CD-7AE4-4050-ADC7-4DF73804258D","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 30 2013 00:18:06 GMT-0700 (PDT)\")"},"732":{"author":"robertkrahn","message":"no comment","id":"FBBB9C99-B61C-4D5F-8750-6E2987DF0C9C","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jun 20 2013 15:16:24 GMT-0700 (PDT)\")"},"733":{"author":"rick","message":"no comment","id":"EB1F8892-F2A8-4C2E-96D2-E56A2D8D4732","__serializedExpressions__":["date"],"date":"new Date(\"Fri Nov 28 2014 07:42:06 GMT-0800 (PST)\")"},"734":{"author":"rick","message":"no comment","id":"0E8FC82F-1664-4B14-AF26-3F5B118EDB3F","__serializedExpressions__":["date"],"date":"new Date(\"Fri Nov 28 2014 09:01:00 GMT-0800 (PST)\")"},"735":{"author":"rick","message":"no comment","id":"C7C428C2-EEE0-41D2-872A-EABFBF7CBA71","__serializedExpressions__":["date"],"date":"new Date(\"Fri Nov 28 2014 18:00:31 GMT-0800 (PST)\")"},"736":{"author":"rick","message":"no comment","id":"E2FFB15F-9DC4-44B2-A7E9-3D2DEB782361","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 03 2014 10:31:08 GMT-0800 (PST)\")"},"737":{"author":"rick","message":"no comment","id":"BF45CE72-9994-405C-A4D2-66CF21AE668A","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 03 2014 12:09:13 GMT-0800 (PST)\")"},"738":{"author":"rick","message":"no comment","id":"E2A1B832-DAFC-4725-A3DF-D24CF8170F57","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 10:09:18 GMT-0800 (PST)\")"},"739":{"morph":{"__isSmartRef__":true,"id":597},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"740":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":741}},"741":{"test01IsMorph":{"__isSmartRef__":true,"id":742}},"742":{"varMapping":{"__isSmartRef__":true,"id":743},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":744},"__LivelyClassName__":"lively.Closure"},"743":{"this":{"__isSmartRef__":true,"id":740}},"744":{},"745":{"source":{"__isSmartRef__":true,"id":0},"target":{"__isSmartRef__":true,"id":582}},"746":{"sourceObj":{"__isSmartRef__":true,"id":0},"sourceAttrName":"currentSlideNumber","targetObj":{"__isSmartRef__":true,"id":151},"targetMethodName":"textString","varMapping":{"__isSmartRef__":true,"id":747},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"747":{"source":{"__isSmartRef__":true,"id":0},"target":{"__isSmartRef__":true,"id":151}},"748":{"submorphs":[{"__isSmartRef__":true,"id":749},{"__isSmartRef__":true,"id":765},{"__isSmartRef__":true,"id":781},{"__isSmartRef__":true,"id":796},{"__isSmartRef__":true,"id":818},{"__isSmartRef__":true,"id":839}],"scripts":[],"id":"12C9A7D9-7EB7-4E31-8A66-2BCE2F88FD32","shape":{"__isSmartRef__":true,"id":860},"droppingEnabled":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"PresentationBar","partsBinMetaInfo":{"__isSmartRef__":true,"id":861},"eventHandler":{"__isSmartRef__":true,"id":886},"derivationIds":[127,"F0291F62-F100-480C-AEBF-0230398F7983","AE8B5ED7-E305-45BC-BE4A-1C28A49EE12B","39BA345C-17FA-45A0-BAC2-F0CF5654ACF8","FE91EA31-D8AE-461B-8A49-95DA5FBAE5B4","F38439A3-2F4E-4AC2-BF73-2633C00B1393","6748F5B5-2284-4748-A6EE-F1A261CBAD0B","BBAFB862-93AE-4F89-BCFF-9F1C67B7FE4C","7EC17E78-593A-4CC8-B7E3-859BCBBFE785","BD8BECDB-A9A1-4009-B433-C925F0AFCCFC","F2677A9D-5855-4DF2-B248-94545B34B762","D52188B3-7DC0-410E-96B1-50892AC00A37","6575457B-734F-4449-94E9-08A5A5412CAC","0021A7A8-3FAB-41A9-B2D8-1A45E16346E9","985D078F-6237-4DA4-B76B-4561E8FA22E8","5C5C7501-C0A3-436C-9A00-B8FAF74D4BF5","0AEAB591-332E-4C53-8A54-9DBA6AD61C6B","3F58531C-4EAC-44DA-810A-CF866DF4EBAF","29CFA8B0-661B-4575-8C82-834480DFEF57","A2BFE8D7-DA83-464E-9170-4C87A9EF8631","72EE4A3D-0F04-4859-8227-FE2B76FF6F69"],"partTests":{"__isSmartRef__":true,"id":887},"_ClipMode":"visible","moved":true,"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,0.0)","distanceToDragEvent":"lively.pt(146.0,-11.0)"},"749":{"submorphs":[{"__isSmartRef__":true,"id":750}],"scripts":[],"id":"F76FF5A0-81E4-48EF-A7AE-8B6574D4F9A1","shape":{"__isSmartRef__":true,"id":755},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":750},"name":"Next","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":756},"eventHandler":{"__isSmartRef__":true,"id":758},"derivationIds":[7251,"AE965E5C-19BD-4049-96CC-319842C6E018","48A2B11A-9B17-4905-A355-922C0EFD3BDD","E96E4913-25D1-48DC-A73B-10543F70A255","52E8CBD9-59C6-4A21-93E4-F860C1E69A82","48563338-3FFB-454F-9C52-B16488CF81ED","A7115430-150A-4355-97C3-438D296120A4","E2B86F64-27C0-48DC-887A-7620D0C861DF","3B815FB8-539B-41C9-8768-4675F8EC072E","ADCD6560-BBB6-4CCD-A87B-2B181B01D001","E3D65870-1B9F-4986-8AA4-30E2C66BE56B","ADABF28C-8A8D-4D95-95FF-AB68F90BF094"],"_ClipMode":"visible","isPressed":false,"owner":{"__isSmartRef__":true,"id":748},"_ToolTip":"Next Slide","attributeConnections":[{"__isSmartRef__":true,"id":759}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"_StyleClassNames":["Morph","Button"],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","normalFill","lighterFill","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":761},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(982.5,8.5)","normalFill":"Color.rgb(255,255,255)","lighterFill":"Color.rgb(230,230,230)","distanceToDragEvent":"lively.pt(34.0,-6.0)"},"750":{"submorphs":[],"scripts":[],"id":"6540EF9D-FB6C-44A6-93CE-B6E367F2594D","shape":{"__isSmartRef__":true,"id":751},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Arial","registeredForMouseEvents":true,"_MaxTextWidth":110,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":749},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":752}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":754},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[7252,"5136A758-BF53-43D4-B39B-DF7EFA37E738","6D958E1B-5031-4E63-A12C-A1E46FFBED47","2752A60F-D600-41BB-82A2-15857475FFA8","8AA70002-9D0E-4477-B82F-FA20DFBF8B89","9120EB1D-A789-48EA-8405-61F8EE1B4686","43897ADD-3CA8-4E9F-BD3F-3970EFA71561","24C6098C-E93C-44EF-8C26-E3B1678F218F","F39163F3-CB3F-47F7-A67D-1E4949317526","FD0DC68C-54E9-4390-8F1A-7B4A720E45ED","82296058-5028-4AF8-AA01-AB0885DCFACE","E6538CBC-EA57-4C61-92B7-DE220A6CC7E5"],"_MinTextWidth":110,"_MinTextHeight":null,"_FontSize":14,"_InputAllowed":false,"__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"751":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(33.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"752":{"style":{"__isSmartRef__":true,"id":753},"chunkOwner":{"__isSmartRef__":true,"id":750},"_id":"_4869","storedString":">","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"753":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"754":{"morph":{"__isSmartRef__":true,"id":750},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"755":{"_BorderWidth":4.888,"_BorderRadius":15.185,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(33.0,25.0)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(238,238,238)","_Padding":"lively.rect(0,0,0,0)"},"756":{"partsSpaceName":"PartsBin/SketchyInputs/","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":757}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:35 GMT-0700 (PDT)\")"},"757":{"author":"lauritz","message":"","id":"959919F0-D51D-45E6-9205-4D7A114D8C7E","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jan 24 2012 12:35:57 GMT-0800 (PST)\")"},"758":{"morph":{"__isSmartRef__":true,"id":749},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"759":{"sourceObj":{"__isSmartRef__":true,"id":749},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":749},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":760},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"760":{"source":{"__isSmartRef__":true,"id":749},"target":{"__isSmartRef__":true,"id":749}},"761":{"doAction":{"__isSmartRef__":true,"id":762}},"762":{"varMapping":{"__isSmartRef__":true,"id":763},"source":"function doAction() {\n    this.owner.owner.showNextSlide()\n}","funcProperties":{"__isSmartRef__":true,"id":764},"__LivelyClassName__":"lively.Closure"},"763":{"this":{"__isSmartRef__":true,"id":749}},"764":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 17:31:11 GMT-0800 (PST)\")"},"765":{"submorphs":[{"__isSmartRef__":true,"id":766}],"scripts":[],"id":"C24EAF69-4718-4773-96E2-8E62459F9C33","shape":{"__isSmartRef__":true,"id":771},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"registeredForMouseEvents":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":766},"name":"Prev","showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":772},"eventHandler":{"__isSmartRef__":true,"id":774},"derivationIds":[7251,"AE965E5C-19BD-4049-96CC-319842C6E018","48A2B11A-9B17-4905-A355-922C0EFD3BDD","E96E4913-25D1-48DC-A73B-10543F70A255","5537C5B7-25A3-4551-AA32-CAC283C76403","BAB69B8F-0CE5-4AC4-A211-522DB17EBD57","56A66FF0-730F-4196-86BC-EBF57BB58ACE","748B1500-2D1B-4176-B000-E60824FFDB13","6730816A-7205-471A-B8E8-1E4F3C803110","89AB7176-A89B-4B3C-A067-BFD6898524CF","566ABF44-D4A4-4C42-AF89-F91C8EADE2B9","3050D5F3-7622-4F20-A15A-609B023C8EAE","B7F91148-83E4-4FA1-A5AC-3601FFC6A8B9"],"_ClipMode":"visible","isPressed":false,"_ToolTip":"Previous Slide","owner":{"__isSmartRef__":true,"id":748},"attributeConnections":[{"__isSmartRef__":true,"id":775}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"_StyleClassNames":["Morph","Button"],"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","normalFill","lighterFill","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":777},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(8.5,8.5)","normalFill":"Color.rgb(255,255,255)","lighterFill":"Color.rgb(230,230,230)","distanceToDragEvent":"lively.pt(37.0,-8.0)"},"766":{"submorphs":[],"scripts":[],"id":"62CEBC98-E319-4627-845B-F3DCBCC631EC","shape":{"__isSmartRef__":true,"id":767},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WhiteSpaceHandling":"pre-wrap","fixedHeight":true,"allowInput":false,"_FontFamily":"Arial","registeredForMouseEvents":true,"_MaxTextWidth":110,"_MaxTextHeight":null,"textStyle":null,"owner":{"__isSmartRef__":true,"id":765},"isLabel":true,"eventsAreIgnored":true,"_ClipMode":"hidden","textChunks":[{"__isSmartRef__":true,"id":768}],"_Align":"center","eventHandler":{"__isSmartRef__":true,"id":770},"_HandStyle":"default","_PointerEvents":"none","derivationIds":[7252,"5136A758-BF53-43D4-B39B-DF7EFA37E738","6D958E1B-5031-4E63-A12C-A1E46FFBED47","2752A60F-D600-41BB-82A2-15857475FFA8","A27EDCB1-D07A-4B10-98B3-CA0CE408AD4E","0A4C22C2-8A5F-4525-A7DC-0EE5C84531BB","D53002B9-03D8-4B70-A1B1-16726ACAFC22","9C3FCC57-06E4-4EAF-94B6-491CC5F1AA8A","60C3186F-937C-4EFB-8B67-F45F73CF5F4E","D852F5BF-A203-4839-9E9F-62169AA49A00","620584B1-F483-402D-8289-2A5C9F1D8320","C562A92D-0AAA-4AA1-978E-89E3F3C03DB4","25C5601B-970A-44D0-BCC3-D7BE6E4420CE"],"_MinTextWidth":110,"_MinTextHeight":null,"_FontSize":12,"_InputAllowed":false,"__serializedExpressions__":["_Position","padding","_Padding","_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(0.0,0.0)","padding":"lively.rect(5,5,0,0)","_Padding":"lively.rect(0,0,0,0)","_TextColor":"Color.rgb(0,0,0)"},"767":{"_BorderWidth":0,"_Fill":null,"_ClipMode":"hidden","__serializedExpressions__":["position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(33.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(0,3,0,0)"},"768":{"style":{"__isSmartRef__":true,"id":769},"chunkOwner":{"__isSmartRef__":true,"id":766},"_id":"_4105","storedString":"<","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"769":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"770":{"morph":{"__isSmartRef__":true,"id":766},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"771":{"_BorderWidth":4.888,"_BorderRadius":15.185,"_ClipMode":"visible","_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(33.0,25.0)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(238,238,238)","_Padding":"lively.rect(0,0,0,0)"},"772":{"partsSpaceName":"PartsBin/SketchyInputs/","migrationLevel":4,"partName":"Button","comment":"Has a script that is called on button press","changes":[{"__isSmartRef__":true,"id":773}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:35 GMT-0700 (PDT)\")"},"773":{"author":"lauritz","message":"","id":"959919F0-D51D-45E6-9205-4D7A114D8C7E","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jan 24 2012 12:35:57 GMT-0800 (PST)\")"},"774":{"morph":{"__isSmartRef__":true,"id":765},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"775":{"sourceObj":{"__isSmartRef__":true,"id":765},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":765},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":776},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"776":{"source":{"__isSmartRef__":true,"id":765},"target":{"__isSmartRef__":true,"id":765}},"777":{"doAction":{"__isSmartRef__":true,"id":778}},"778":{"varMapping":{"__isSmartRef__":true,"id":779},"source":"function doAction() {\n    this.owner.owner.showPreviousSlide()\n    \n}","funcProperties":{"__isSmartRef__":true,"id":780},"__LivelyClassName__":"lively.Closure"},"779":{"this":{"__isSmartRef__":true,"id":765}},"780":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 17:33:08 GMT-0800 (PST)\")"},"781":{"submorphs":[],"scripts":[],"id":"13C32F28-6FBE-4062-8AC6-01B5C7510C23","shape":{"__isSmartRef__":true,"id":782},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":120.695652,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":14,"name":"Slide Number","partsBinMetaInfo":{"__isSmartRef__":true,"id":783},"textChunks":[{"__isSmartRef__":true,"id":792}],"charsReplaced":"Some Text","lastFindLoc":9,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":794},"_ClipMode":"visible","derivationIds":[355,"1EB1674F-8BF2-419B-B054-86129ED70335","63698904-DC05-4341-A9B6-5CC4A219CD04","F6A714BA-4735-41ED-8A2A-45CB153FBDF8","F1D26890-7392-487D-B5DE-97C772B4E79E","59440FC5-E676-4B9B-A828-C150A05765C0","021D41A0-C172-475A-9F8B-E57A555FCA49","3EB3D281-7B1F-4D8C-B4F0-C76BE1F9F617","EC187AAB-72A2-4A79-9BCA-25042EE70345","4DFD8511-8D57-44AF-87EA-607C453A5022","4A2E177B-B798-4A17-93E7-751DADE6D287","F8253925-8008-4DDF-89A3-469B26A6B93D","12965034-9047-41C3-8FD0-42DD45205238","E95248D3-3288-4246-8F59-84CAEDDBC64F","CBBCCB4F-9AC2-4F0D-B510-F13E102DC675","BE453A61-D33A-4DC0-84ED-59E08EA918BA"],"_WhiteSpaceHandling":"pre-wrap","_MinTextWidth":120.695652,"_MinTextHeight":null,"previousSelection":[0,0],"isBeingDragged":false,"moved":true,"layout":{"__isSmartRef__":true,"id":795},"owner":{"__isSmartRef__":true,"id":748},"_Align":"center","_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","textColor","_Padding","distanceToDragEvent"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(497.6,5.5)","textColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(5,5,0,0)","distanceToDragEvent":"lively.pt(47.0,-10.0)"},"782":{"fill":null,"_BorderWidth":1.482,"_ClipMode":"visible","_Fill":null,"_BorderRadius":11.48,"_Opacity":1,"_BorderStyle":"solid","_AppearanceStylingMode":false,"_BorderStylingMode":false,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(28.7,31.0)","_BorderColor":"Color.rgb(0,0,0)","_Padding":"lively.rect(4,2,0,0)"},"783":{"partsSpaceName":"PartsBin/Basic/","migrationLevel":8,"comment":"a simple text morph","partName":"Text","changes":[{"__isSmartRef__":true,"id":784},{"__isSmartRef__":true,"id":785},{"__isSmartRef__":true,"id":786},{"__isSmartRef__":true,"id":787},{"__isSmartRef__":true,"id":788},{"__isSmartRef__":true,"id":789},{"__isSmartRef__":true,"id":790},{"__isSmartRef__":true,"id":791}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Sat Apr 05 2014 01:51:52 GMT-0700 (PDT)\")"},"784":{"author":"robertkrahn","message":"resizeWidth = true","id":"E402462A-7AB2-487B-82BD-A3369C1C1F75","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 05 2014 01:58:52 GMT-0700 (PDT)\")"},"785":{"author":"jenslincke","message":"no comment","id":"9E495E1B-6E6D-4A89-9F9E-85AF618DC598","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 10:36:22 GMT-0700 (PDT)\")"},"786":{"author":"robertkrahn","message":"text click was broken?","id":"9D065E14-9653-4B2A-9A2E-3AD84EBBC3E0","__serializedExpressions__":["date"],"date":"new Date(\"Sat Apr 21 2012 07:30:30 GMT-0700 (PDT)\")"},"787":{"author":"undefined","message":"Set the inset as: this.setPadding(Rectangle.inset(4,2)).  This gives it a more pleasing appearance with a border, and also makes it easier to select near the bounds.","id":"BD5B0E4C-4830-4863-A013-35BB66D5AD6F","__serializedExpressions__":["date"],"date":"new Date(\"Sun Feb 26 2012 21:20:38 GMT-0800 (PST)\")"},"788":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"0F4DE333-A551-4961-B29D-70270977EBEF","__serializedExpressions__":["date"],"date":"new Date(\"Fri Apr 20 2012 22:31:43 GMT-0700 (PDT)\")"},"789":{"author":"tessi","message":"TextBubble calls its disappear() function after showBubbleTime() milliseconds now","id":"785D95BD-7858-43EB-90E6-A1C085E2F2B9","__serializedExpressions__":["date"],"date":"new Date(\"Fri Apr 20 2012 22:32:09 GMT-0700 (PDT)\")"},"790":{"author":"timfelgentreff","message":"better text","id":"B904F9AC-6EA0-4A8A-83C9-AFC85AADC194","__serializedExpressions__":["date"],"date":"new Date(\"Tue May 08 2012 05:18:18 GMT-0700 (PDT)\")"},"791":{"author":"jenslincke","message":"no comment","id":"A3BA0C1E-7E83-43BF-9EC6-4F4BB3835D62","__serializedExpressions__":["date"],"date":"new Date(\"Tue Mar 12 2013 09:31:56 GMT-0700 (PDT)\")"},"792":{"style":{"__isSmartRef__":true,"id":793},"chunkOwner":{"__isSmartRef__":true,"id":781},"_id":"_12015","storedString":"1","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"793":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"794":{"morph":{"__isSmartRef__":true,"id":781},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"795":{"resizeWidth":true},"796":{"submorphs":[],"scripts":[],"id":"4CA46DC7-6582-41B4-8999-02E67200A33B","shape":{"__isSmartRef__":true,"id":797},"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":798},"itemList":["Mode","Composition","Play","Presentation"],"selectOnMove":false,"showsHalos":false,"name":"PresentationMode","partsBinMetaInfo":{"__isSmartRef__":true,"id":799},"derivationIds":[6545,"9CE40D45-F249-461A-9C31-2DDA97BCFCC6","85902790-A508-4E9B-A66C-627AAD9FADDC","620FEF7D-3401-4E6F-8027-0AC7C79843E6","F339E9CE-B044-4123-B43D-B7DC107D37C1","F57B43AF-61CC-45C5-AD8E-2B43B0361819","49286E69-1813-40F2-A62B-70147132FC13","9EAE49DA-FF79-4D36-A42C-FD24209C2CC2","0DB347B1-0435-4125-8EA6-565E9D7EC6AC","975CAB2D-9DFC-472B-9793-DA41F9D412E7","67F515CE-7A94-472A-9569-CA86BD385FB9"],"selectedLineNo":-1,"_ToolTip":"Choose the mode: editing, edit master, present, or play","changeTriggered":true,"attributeConnections":[{"__isSmartRef__":true,"id":801}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"actionStruct":{"__isSmartRef__":true,"id":803},"title":"Mode","actions":{"__isSmartRef__":true,"id":804},"owner":{"__isSmartRef__":true,"id":748},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":805},"__LivelyClassName__":"lively.morphic.DropDownList","__SourceModuleName__":"Global.lively.morphic.Lists","_Position":"lively.pt(800.5,8.5)","distanceToDragEvent":"lively.pt(77.0,-5.0)"},"797":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(107.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"798":{"morph":{"__isSmartRef__":true,"id":796},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"799":{"requiredModules":[],"migrationLevel":9,"partsSpaceName":"PartsBin/Inputs/","comment":"A dropdownlist which essentially exports only one call: init(anActionStruct). Documented by this.readMe(); see this.showExample() to generate the\nexample menu.  The general idea is that after calling init(anActionStruct), all the connections and actions follow\n","partName":"PullDownMenu","changes":[{"__isSmartRef__":true,"id":800}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Dec 03 2014 08:57:43 GMT-0800 (PST)\")"},"800":{"author":"rick","message":"no comment","id":"AE0615B4-13AF-48E7-ABEE-D4F7456580E9","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 03 2014 08:57:42 GMT-0800 (PST)\")"},"801":{"sourceObj":{"__isSmartRef__":true,"id":796},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":796},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":802},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"802":{"source":{"__isSmartRef__":true,"id":796},"target":{"__isSmartRef__":true,"id":796}},"803":{},"804":{},"805":{"init":{"__isSmartRef__":true,"id":806},"readMe":{"__isSmartRef__":true,"id":809},"doAction":{"__isSmartRef__":true,"id":812},"showExample":{"__isSmartRef__":true,"id":815}},"806":{"varMapping":{"__isSmartRef__":true,"id":807},"source":"function init(anActionStruct) {\n    // the idea behind a pulldown Menu is that it's self-contained:\n    // the only connection is to itself, and all the information to fill\n    // the list and perform the actions is in the action struct\n    // an ActionStruct is of the form\n    // {title: aString,\n    //  actions: {S1: F1,\n    //            S2: F2...\n    //             }\n    // menuOrder: [S1, S2,]\n    // }\n    // the list is populated with aString, S1, S2,...\n    // Fi is called as the action when Si is selected\n    // optArg: menuOrder: a list with some of the keys specified.  These will\n    // appear first in the list after the title, in order.  Other keys added\n    // as Object.keys(anActionStruct.actions) fills them\n    this.clearSelections()\n    this.setList([])\n    var keys = Object.keys(anActionStruct.actions)\n    var itemList = [anActionStruct.title]\n    anActionStruct.menuOrder.forEach(function(aString) {\n        if (aString == anActionStruct.title) {\n            alert(\"Error: \" + aString + \" can't be both a title and an action\")\n        } else if (itemList.indexOf(aString) != -1) {\n            alert('Error: ' + aString + ' appears twice')\n        } else if (keys.indexOf(aString) == -1) {\n            alert(\"Error: \" + aString + \" appears in menuOrder but has no action\")\n        } else {\n            itemList.push(aString)\n        }\n    })\n    keys.forEach(function (aString) {\n        if (itemList.indexOf(aString) != -1) return;\n        if (aString == anActionStruct.title) {\n            alert(\"Error: \" + aString + \" can't be both a title and an action\")\n            return\n        } \n        itemList.push(aString)\n    })\n    this.setList(itemList)\n    this.actions = anActionStruct.actions\n    this.title = anActionStruct.title\n    \n    \n    \n}","funcProperties":{"__isSmartRef__":true,"id":808},"__LivelyClassName__":"lively.Closure"},"807":{"this":{"__isSmartRef__":true,"id":796}},"808":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 08:55:21 GMT-0800 (PST)\")"},"809":{"varMapping":{"__isSmartRef__":true,"id":810},"source":"function readMe() {\n    return \"The idea behind a pulldown Menu is that it's self-contained: \"+\n  \" the only connection is to itself, and all the information to fill\" +\n   \" the list and perform the actions is in the action struct\" +\n   \" an ActionStruct is of the form\" +\n   \" {title: aString,\" +\n   \"  actions: {S1: F1,\" +\n   \"            S2: F2...\" +\n   \"             }\" +\n   \" menuOrder: [S1, S2,]\" +\n   \" }\" +\n   \" the list is populated with aString, S1, S2,...\" +\n   \" Fi is called as the action when Si is selected\" +\n   \" optArg: menuOrder: a list with some of the keys specified.  These will\" +\n   \" appear first in the list after the title, in order.  Other keys added\" +\n   \" as Object.keys(anActionStruct.actions) fills them\";\n   \n}","funcProperties":{"__isSmartRef__":true,"id":811},"__LivelyClassName__":"lively.Closure"},"810":{"this":{"__isSmartRef__":true,"id":796}},"811":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 12:05:31 GMT-0800 (PST)\")"},"812":{"varMapping":{"__isSmartRef__":true,"id":813},"source":"function doAction(anItemFromList) {\n    // generic action called on selection.  This should only be called\n    // in response to a selection change, and then it just does \n    // this.actions[anItemFromList].action() and resets to the title\n    if (!anItemFromList) {\n        // this should never happen, but we do get bogus selections from\n        // various events (e.g., clearing the list)\n        return\n    }\n    if (anItemFromList == this.title) {\n        // just resetting to the title, do nothing\n        return;\n    }\n    // shouldn't happen, but suspenders & belt\n    if (this.itemList.indexOf(anItemFromList) == -1) {\n        alert(\"Error: \" +  anitemFromList + \" doesn't appear in the menu!\")\n    }\n    // OK, just do the action and return.  This is guaranteed to be there\n    this.actions[anItemFromList]()\n    this.setSelection(this.title)\n    \n}","funcProperties":{"__isSmartRef__":true,"id":814},"__LivelyClassName__":"lively.Closure"},"813":{"this":{"__isSmartRef__":true,"id":796}},"814":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 12:05:31 GMT-0800 (PST)\")"},"815":{"varMapping":{"__isSmartRef__":true,"id":816},"source":"function showExample() {\n    // call this to generate an example menu\n    var menu = this; // lexical scope to pass this object properly \n    this.init({title:\"Example\",\n            actions:  {\n                \"Action 1\": function() {alert(\"Action 1\")},\n                \"Action 2\": function() {alert(\"Action 2\")},\n                \"Action 3\": function() {alert(\"Action 3\")},\n                \"Readme\": function() {show(menu.readMe())}\n            },\n            menuOrder: [\"Readme\", \"Action 1\"]\n            })\n    \n}","funcProperties":{"__isSmartRef__":true,"id":817},"__LivelyClassName__":"lively.Closure"},"816":{"this":{"__isSmartRef__":true,"id":796}},"817":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Dec 03 2014 08:51:17 GMT-0800 (PST)\")"},"818":{"submorphs":[],"scripts":[],"id":"449600D5-EF9B-41B2-887C-42D4893271A2","shape":{"__isSmartRef__":true,"id":819},"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":820},"itemList":["Go to Slide",0],"selectOnMove":false,"showsHalos":false,"name":"NavigationPresentation","partsBinMetaInfo":{"__isSmartRef__":true,"id":821},"derivationIds":[6545,"9CE40D45-F249-461A-9C31-2DDA97BCFCC6","EF6E2453-040B-4BFF-9CA1-7AE6B1BC6BDE","8E3300F7-9235-496D-B9D0-187DC7EB9302","37C32B2C-FAD2-4B92-B8FF-12D19CC97EA6","A161982B-489C-4A05-BF4A-16A1672A2B78","EC1E9BD9-C789-4B6A-9DE6-C64533B41A0C","7AE46EEF-F966-4FE2-A19C-F7FB5958DD07","EA073B98-BCF6-4F55-A3AD-924BC340E225","9D7F93D6-0DDE-4ACF-AC54-3EFD7040F4EE","4D4DF45F-6FEB-41F5-9855-C3D0152FED86","C31665FD-D0BD-40D0-905D-C55F642D392C"],"selectedLineNo":0,"_ToolTip":"Go to slide by title topic","changeTriggered":false,"selection":"Go to Slide","attributeConnections":[{"__isSmartRef__":true,"id":824}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"hasTitle":true,"title":"Go to Slide","owner":{"__isSmartRef__":true,"id":748},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":826},"__LivelyClassName__":"lively.morphic.DropDownList","__SourceModuleName__":"Global.lively.morphic.Lists","_Position":"lively.pt(201.0,11.0)","distanceToDragEvent":"lively.pt(72.0,-20.0)"},"819":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(107.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"820":{"morph":{"__isSmartRef__":true,"id":818},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"821":{"requiredModules":[],"migrationLevel":9,"partsSpaceName":"PartsBin/Inputs/","comment":"A self-contained list with only one programmer-required call: init","partName":"ActionList","changes":[{"__isSmartRef__":true,"id":822},{"__isSmartRef__":true,"id":823}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Thu Dec 04 2014 10:03:11 GMT-0800 (PST)\")"},"822":{"author":"rick","message":"no comment","id":"2B56CB12-87D9-4948-B146-4F1100ADB940","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 08:59:50 GMT-0800 (PST)\")"},"823":{"author":"rick","message":"no comment","id":"15491428-7F4A-420A-9268-3A21AF21397B","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 10:03:10 GMT-0800 (PST)\")"},"824":{"sourceObj":{"__isSmartRef__":true,"id":818},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":818},"targetMethodName":"onSelection","varMapping":{"__isSmartRef__":true,"id":825},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"825":{"source":{"__isSmartRef__":true,"id":818},"target":{"__isSmartRef__":true,"id":818}},"826":{"onSelection":{"__isSmartRef__":true,"id":827},"init":{"__isSmartRef__":true,"id":830},"readMe":{"__isSmartRef__":true,"id":833},"example":{"__isSmartRef__":true,"id":836}},"827":{"varMapping":{"__isSmartRef__":true,"id":828},"source":"function onSelection(aSelection) {\n    if (!aSelection) return;\n    if (this.hasTitle && aSelection == this.title) return;\n    this.action(aSelection)\n    if(this.hasTitle) {\n        this.setSelection(this.title)\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":829},"__LivelyClassName__":"lively.Closure"},"828":{"this":{"__isSmartRef__":true,"id":818}},"829":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:56:18 GMT-0800 (PST)\")"},"830":{"varMapping":{"__isSmartRef__":true,"id":831},"source":"function init(aListObject) {\n    if (aListObject.title) {\n        this.hasTitle = true;\n        this.title = aListObject.title;\n    } else {\n        this.hasTitle = false;\n    }\n    if (aListObject.items) {\n        if (this.hasTitle) {\n            if (aListObject.items.indexOf(this.title) != -1) {\n                alert(\"Error: title \" + this.title + \" should not be an item in the list\" +\n                \" \" + this.title + \" being treated as an ordinary, selectable item\")\n                this.hasTitle = false;\n                this.setList(aListObject.items)\n            } else {\n                var items = aListObject.items.slice(0)\n                items.pushAt(this.title, 0)\n                this.setList(items)\n            }\n        } else {\n            this.setList(aListObject.items)\n        }\n    } else {\n        alert(\"Error! aListObject must have an item list\")\n        this.action = function(aSelection) {return;}\n    }\n    if (aListObject.hasOwnProperty(\"action\")) {\n        this.action = aListObject.action\n    } else {\n        alert(\"Error! aListObject must have an action\")\n        this.action = function(aSelection) {return;}\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":832},"__LivelyClassName__":"lively.Closure"},"831":{"this":{"__isSmartRef__":true,"id":818}},"832":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 10:01:50 GMT-0800 (PST)\")"},"833":{"varMapping":{"__isSmartRef__":true,"id":834},"source":"function readMe() {\n    return \"A self-contained list.  The programmer should only call a single \" +\n    \"method, init(aListObject) which sets up the list.  AListObject is of the \" +\n    \"form {title: aString, items:aListOfStrings, action:function(aString)} \" +\n    \"on selection, aListObject.action(selection) will be called.  title is \" +\n    \"optional.  When it is present, it is always the first item in the list, \" +\n    \"and selecting it results in no action.  Also, when present, the list will \" +\n    \"always show the title .  See this.example() for an example use\"\n    \n}","funcProperties":{"__isSmartRef__":true,"id":835},"__LivelyClassName__":"lively.Closure"},"834":{"this":{"__isSmartRef__":true,"id":818}},"835":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:41:48 GMT-0800 (PST)\")"},"836":{"varMapping":{"__isSmartRef__":true,"id":837},"source":"function example() {\n    this.init({title:\"Example\", items:[\"item 1\", 2, \"item 3\", 4],\n    action:function(anItem) {alert(anItem)}})\n    \n}","funcProperties":{"__isSmartRef__":true,"id":838},"__LivelyClassName__":"lively.Closure"},"837":{"this":{"__isSmartRef__":true,"id":818}},"838":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:58:39 GMT-0800 (PST)\")"},"839":{"submorphs":[],"scripts":[],"id":"7A6C2C2D-E0EC-4766-A392-E6E78072D7B6","shape":{"__isSmartRef__":true,"id":840},"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":841},"itemList":["Slide By Title","Lively Presentation Template"],"selectOnMove":false,"showsHalos":false,"name":"TopicPresentation","partsBinMetaInfo":{"__isSmartRef__":true,"id":842},"derivationIds":[6545,"9CE40D45-F249-461A-9C31-2DDA97BCFCC6","EF6E2453-040B-4BFF-9CA1-7AE6B1BC6BDE","8E3300F7-9235-496D-B9D0-187DC7EB9302","37C32B2C-FAD2-4B92-B8FF-12D19CC97EA6","A161982B-489C-4A05-BF4A-16A1672A2B78","EC1E9BD9-C789-4B6A-9DE6-C64533B41A0C","7AE46EEF-F966-4FE2-A19C-F7FB5958DD07","EA073B98-BCF6-4F55-A3AD-924BC340E225","9D7F93D6-0DDE-4ACF-AC54-3EFD7040F4EE","4D4DF45F-6FEB-41F5-9855-C3D0152FED86","C31665FD-D0BD-40D0-905D-C55F642D392C","D131D78B-A1F7-4219-BB3A-4328F3E5E948"],"selectedLineNo":0,"_ToolTip":"Go to slide by title topic","changeTriggered":false,"selection":"Slide By Title","attributeConnections":[{"__isSmartRef__":true,"id":845}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"hasTitle":true,"title":"Slide By Title","owner":{"__isSmartRef__":true,"id":748},"_Rotation":0,"_Scale":1,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":847},"__LivelyClassName__":"lively.morphic.DropDownList","__SourceModuleName__":"Global.lively.morphic.Lists","_Position":"lively.pt(615.0,7.0)","distanceToDragEvent":"lively.pt(72.0,-20.0)"},"840":{"_BorderWidth":0,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(107.0,25.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(243,243,243)","_Padding":"lively.rect(0,0,0,0)"},"841":{"morph":{"__isSmartRef__":true,"id":839},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"842":{"requiredModules":[],"migrationLevel":9,"partsSpaceName":"PartsBin/Inputs/","comment":"A self-contained list with only one programmer-required call: init","partName":"ActionList","changes":[{"__isSmartRef__":true,"id":843},{"__isSmartRef__":true,"id":844}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Thu Dec 04 2014 10:03:11 GMT-0800 (PST)\")"},"843":{"author":"rick","message":"no comment","id":"2B56CB12-87D9-4948-B146-4F1100ADB940","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 08:59:50 GMT-0800 (PST)\")"},"844":{"author":"rick","message":"no comment","id":"15491428-7F4A-420A-9268-3A21AF21397B","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 10:03:10 GMT-0800 (PST)\")"},"845":{"sourceObj":{"__isSmartRef__":true,"id":839},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":839},"targetMethodName":"onSelection","varMapping":{"__isSmartRef__":true,"id":846},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"846":{"source":{"__isSmartRef__":true,"id":839},"target":{"__isSmartRef__":true,"id":839}},"847":{"onSelection":{"__isSmartRef__":true,"id":848},"init":{"__isSmartRef__":true,"id":851},"readMe":{"__isSmartRef__":true,"id":854},"example":{"__isSmartRef__":true,"id":857}},"848":{"varMapping":{"__isSmartRef__":true,"id":849},"source":"function onSelection(aSelection) {\n    if (!aSelection) return;\n    if (this.hasTitle && aSelection == this.title) return;\n    this.action(aSelection)\n    if(this.hasTitle) {\n        this.setSelection(this.title)\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":850},"__LivelyClassName__":"lively.Closure"},"849":{"this":{"__isSmartRef__":true,"id":839}},"850":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:56:18 GMT-0800 (PST)\")"},"851":{"varMapping":{"__isSmartRef__":true,"id":852},"source":"function init(aListObject) {\n    if (aListObject.title) {\n        this.hasTitle = true;\n        this.title = aListObject.title;\n    } else {\n        this.hasTitle = false;\n    }\n    if (aListObject.items) {\n        if (this.hasTitle) {\n            if (aListObject.items.indexOf(this.title) != -1) {\n                alert(\"Error: title \" + this.title + \" should not be an item in the list\" +\n                \" \" + this.title + \" being treated as an ordinary, selectable item\")\n                this.hasTitle = false;\n                this.setList(aListObject.items)\n            } else {\n                var items = aListObject.items.slice(0)\n                items.pushAt(this.title, 0)\n                this.setList(items)\n            }\n        } else {\n            this.setList(aListObject.items)\n        }\n    } else {\n        alert(\"Error! aListObject must have an item list\")\n        this.action = function(aSelection) {return;}\n    }\n    if (aListObject.hasOwnProperty(\"action\")) {\n        this.action = aListObject.action\n    } else {\n        alert(\"Error! aListObject must have an action\")\n        this.action = function(aSelection) {return;}\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":853},"__LivelyClassName__":"lively.Closure"},"852":{"this":{"__isSmartRef__":true,"id":839}},"853":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 10:01:50 GMT-0800 (PST)\")"},"854":{"varMapping":{"__isSmartRef__":true,"id":855},"source":"function readMe() {\n    return \"A self-contained list.  The programmer should only call a single \" +\n    \"method, init(aListObject) which sets up the list.  AListObject is of the \" +\n    \"form {title: aString, items:aListOfStrings, action:function(aString)} \" +\n    \"on selection, aListObject.action(selection) will be called.  title is \" +\n    \"optional.  When it is present, it is always the first item in the list, \" +\n    \"and selecting it results in no action.  Also, when present, the list will \" +\n    \"always show the title .  See this.example() for an example use\"\n    \n}","funcProperties":{"__isSmartRef__":true,"id":856},"__LivelyClassName__":"lively.Closure"},"855":{"this":{"__isSmartRef__":true,"id":839}},"856":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:41:48 GMT-0800 (PST)\")"},"857":{"varMapping":{"__isSmartRef__":true,"id":858},"source":"function example() {\n    this.init({title:\"Example\", items:[\"item 1\", 2, \"item 3\", 4],\n    action:function(anItem) {alert(anItem)}})\n    \n}","funcProperties":{"__isSmartRef__":true,"id":859},"__LivelyClassName__":"lively.Closure"},"858":{"this":{"__isSmartRef__":true,"id":839}},"859":{"user":"rick","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Dec 04 2014 08:58:39 GMT-0800 (PST)\")"},"860":{"_BorderWidth":4,"_ClipMode":"visible","_BorderRadius":7,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(1024.0,42.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(238,238,238)","_Padding":"lively.rect(0,0,0,0)"},"861":{"partsSpaceName":"PartsBin/Presentation","comment":"A menu bar for Presentation Mode in Presentation","migrationLevel":9,"partName":"PresentationBar","changes":[{"__isSmartRef__":true,"id":862},{"__isSmartRef__":true,"id":863},{"__isSmartRef__":true,"id":864},{"__isSmartRef__":true,"id":865},{"__isSmartRef__":true,"id":866},{"__isSmartRef__":true,"id":867},{"__isSmartRef__":true,"id":868},{"__isSmartRef__":true,"id":869},{"__isSmartRef__":true,"id":870},{"__isSmartRef__":true,"id":871},{"__isSmartRef__":true,"id":872},{"__isSmartRef__":true,"id":873},{"__isSmartRef__":true,"id":874},{"__isSmartRef__":true,"id":875},{"__isSmartRef__":true,"id":876},{"__isSmartRef__":true,"id":877},{"__isSmartRef__":true,"id":878},{"__isSmartRef__":true,"id":879},{"__isSmartRef__":true,"id":880},{"__isSmartRef__":true,"id":881},{"__isSmartRef__":true,"id":882},{"__isSmartRef__":true,"id":883},{"__isSmartRef__":true,"id":884},{"__isSmartRef__":true,"id":885}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Dec 23 2014 10:08:39 GMT-0800 (PST)\")"},"862":{"author":"rick","message":"no comment","id":"51919ABA-46F2-4220-8BF1-DFAF960959EA","__serializedExpressions__":["date"],"date":"new Date(\"Sun Nov 30 2014 09:49:42 GMT-0800 (PST)\")"},"863":{"author":"rick","message":"no comment","id":"C7C428C2-EEE0-41D2-872A-EABFBF7CBA71","__serializedExpressions__":["date"],"date":"new Date(\"Fri Nov 28 2014 18:00:31 GMT-0800 (PST)\")"},"864":{"author":"rick","message":"no comment","id":"0E8FC82F-1664-4B14-AF26-3F5B118EDB3F","__serializedExpressions__":["date"],"date":"new Date(\"Fri Nov 28 2014 09:01:00 GMT-0800 (PST)\")"},"865":{"author":"rick","message":"no comment","id":"EB1F8892-F2A8-4C2E-96D2-E56A2D8D4732","__serializedExpressions__":["date"],"date":"new Date(\"Fri Nov 28 2014 07:42:06 GMT-0800 (PST)\")"},"866":{"author":"robertkrahn","message":"no comment","id":"FBBB9C99-B61C-4D5F-8750-6E2987DF0C9C","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jun 20 2013 15:16:24 GMT-0700 (PDT)\")"},"867":{"author":"robertkrahn","message":"no comment","id":"67FD74CD-7AE4-4050-ADC7-4DF73804258D","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 30 2013 00:18:06 GMT-0700 (PDT)\")"},"868":{"author":"jenslincke","message":"no comment","id":"AEB2F41B-2C88-4BBA-8875-93CD17CBA1C8","__serializedExpressions__":["date"],"date":"new Date(\"Wed Jan 23 2013 03:57:18 GMT-0800 (PST)\")"},"869":{"author":"undefined","message":"whoopsie","id":"3F17A2D2-3C24-424B-B0FA-E43112267D23","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:36 GMT-0700 (PDT)\")"},"870":{"author":"undefined","message":"whoopsie","id":"CEA5DCD5-2DB7-40AD-A776-262A7A0666FC","__serializedExpressions__":["date"],"date":"new Date(\"Thu May 03 2012 06:51:30 GMT-0700 (PDT)\")"},"871":{"author":"undefined","message":"sorry","id":"44B56D2E-9B59-4C67-A305-49A6E10E66C2","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:53:45 GMT-0700 (PDT)\")"},"872":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Feb 24 2012 17:59:09 GMT-0800 (PST)\")"},"873":{"author":"undefined","message":"css transitions","id":"1004E0FC-D96B-4F40-B3E0-F514A3FCFFD7","__serializedExpressions__":["date"],"date":"new Date(\"Wed Mar 14 2012 02:42:26 GMT-0700 (PDT)\")"},"874":{"author":"undefined","message":"suddenly, the rectangle became a CarDemo","id":"B5083AA8-9BAE-48DD-A6B4-FD7DB3998350","__serializedExpressions__":["date"],"date":"new Date(\"Mon Apr 09 2012 04:42:07 GMT-0700 (PDT)\")"},"875":{"author":"bgnauk","message":"no comment","id":"0124E570-50B7-4CE3-83A1-6E7BA89B5CD8","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 18 2012 10:35:08 GMT-0700 (PDT)\")"},"876":{"author":"jenslincke","message":"I want my blue rectangle back!","id":"5AA9291A-869F-4D36-8095-4721B5A5B205","__serializedExpressions__":["date"],"date":"new Date(\"Thu Nov 22 2012 01:35:51 GMT-0800 (PST)\")"},"877":{"author":"jenslincke","message":"no comment","id":"A4B86A7E-A398-4C29-BEE0-4AA045ABABD2","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:42:31 GMT-0800 (PST)\")"},"878":{"author":"jenslincke","message":"added legend","id":"7ADA3049-56C1-4D32-874B-F664A79DDB20","__serializedExpressions__":["date"],"date":"new Date(\"Fri Jan 18 2013 07:47:05 GMT-0800 (PST)\")"},"879":{"author":"SAPLivelyScreen","message":"no comment","id":"EF145198-0649-41BD-A92E-521D98FEC49D","__serializedExpressions__":["date"],"date":"new Date(\"Wed May 29 2013 15:36:50 GMT-0700 (PDT)\")"},"880":{"author":"SAPLivelyScreen","message":"no comment","id":"7A44D8CA-6D5F-42A3-A4B4-4D7F51EECA52","__serializedExpressions__":["date"],"date":"new Date(\"Tue Jun 18 2013 11:49:27 GMT-0700 (PDT)\")"},"881":{"author":"robertkrahn","message":"no comment","id":"A452871F-4EB9-45D1-94B8-6065CBA7B8FD","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jul 29 2013 23:20:51 GMT-0700 (PDT)\")"},"882":{"author":"rick","message":"no comment","id":"2098EC98-480C-44FD-B13B-309D6B1272B7","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 03 2014 11:09:46 GMT-0800 (PST)\")"},"883":{"author":"rick","message":"no comment","id":"B3293056-FEBE-4016-B7F7-B1C1CCF68769","__serializedExpressions__":["date"],"date":"new Date(\"Wed Dec 03 2014 12:05:41 GMT-0800 (PST)\")"},"884":{"author":"rick","message":"no comment","id":"0A676342-C1CC-4402-8B21-FD48CBA3596D","__serializedExpressions__":["date"],"date":"new Date(\"Thu Dec 04 2014 10:08:41 GMT-0800 (PST)\")"},"885":{"author":"rick","message":"no comment","id":"C3D91294-F428-4DEA-9197-94B95DA1944D","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 23 2014 10:08:38 GMT-0800 (PST)\")"},"886":{"morph":{"__isSmartRef__":true,"id":748},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"887":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":888}},"888":{"test01IsMorph":{"__isSmartRef__":true,"id":889}},"889":{"varMapping":{"__isSmartRef__":true,"id":890},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":891},"__LivelyClassName__":"lively.Closure"},"890":{"this":{"__isSmartRef__":true,"id":887}},"891":{},"892":{"addBuilderToSlide":{"__isSmartRef__":true,"id":893},"addExistingBuilderToSlide":{"__isSmartRef__":true,"id":896},"compositionMode":{"__isSmartRef__":true,"id":899},"deleteCurrentSlide":{"__isSmartRef__":true,"id":902},"deleteSlide":{"__isSmartRef__":true,"id":905},"ensureOneSlide":{"__isSmartRef__":true,"id":908},"getPresentationName":{"__isSmartRef__":true,"id":911},"getPresentationNameFromUser":{"__isSmartRef__":true,"id":914},"getSlideNames":{"__isSmartRef__":true,"id":917},"gotoTopic":{"__isSmartRef__":true,"id":920},"hasPresentationName":{"__isSmartRef__":true,"id":923},"init":{"__isSmartRef__":true,"id":926},"insertSlideAfter":{"__isSmartRef__":true,"id":929},"insertSlideBefore":{"__isSmartRef__":true,"id":932},"loadSlideAfter":{"__isSmartRef__":true,"id":935},"masterMode":{"__isSmartRef__":true,"id":938},"newLastSlide":{"__isSmartRef__":true,"id":941},"nextSlideNumber":{"__isSmartRef__":true,"id":944},"onLoad":{"__isSmartRef__":true,"id":947},"openSlideBrowser":{"__isSmartRef__":true,"id":950},"openSlideSorter":{"__isSmartRef__":true,"id":953},"openSlideTemplate":{"__isSmartRef__":true,"id":956},"pauseVoiceOver":{"__isSmartRef__":true,"id":959},"play":{"__isSmartRef__":true,"id":962},"playSlide":{"__isSmartRef__":true,"id":965},"playSlideLoop":{"__isSmartRef__":true,"id":968},"playVoiceOver":{"__isSmartRef__":true,"id":971},"presentationMode":{"__isSmartRef__":true,"id":974},"previousSlideNumber":{"__isSmartRef__":true,"id":977},"publishSlides":{"__isSmartRef__":true,"id":980},"reset":{"__isSmartRef__":true,"id":983},"rewindVoiceOver":{"__isSmartRef__":true,"id":986},"setAudioPlayer":{"__isSmartRef__":true,"id":989},"setCompositionMenuItems":{"__isSmartRef__":true,"id":992},"setDefaultPresentationName":{"__isSmartRef__":true,"id":995},"setModeForSlides":{"__isSmartRef__":true,"id":998},"setPresentationMenuItems":{"__isSmartRef__":true,"id":1001},"setPresentationName":{"__isSmartRef__":true,"id":1004},"setVoiceOver":{"__isSmartRef__":true,"id":1007},"showMasterMorphs":{"__isSmartRef__":true,"id":1010},"showNextSlide":{"__isSmartRef__":true,"id":1013},"showPreviousSlide":{"__isSmartRef__":true,"id":1016},"showSlide":{"__isSmartRef__":true,"id":1019},"showSlideSorter":{"__isSmartRef__":true,"id":1022},"stopShow":{"__isSmartRef__":true,"id":1025},"updateLists":{"__isSmartRef__":true,"id":1028},"updateSlideTemplate":{"__isSmartRef__":true,"id":1031},"validSlide":{"__isSmartRef__":true,"id":1034},"initAfterSlideLoad":{"__isSmartRef__":true,"id":1037}},"893":{"varMapping":{"__isSmartRef__":true,"id":894},"source":"function addBuilderToSlide() {\n    if (this.slideBuilder) {\n        this.addExistingBuilderToSlide()\n        return;\n    } \n    lively.PartsBin.getPart('Builder', 'PartsBin/Presentation', function(err, part) {\n        if (err) {\n            alert(\"Error in opening the SlideBinBrowser: \" + err)\n        }\n        if (part) {\n            this.slideBuilder = part;\n            this.addExistingBuilderToSlide()\n        }\n    }.bind(this))\n    \n    \n    \n}","funcProperties":{"__isSmartRef__":true,"id":895},"__LivelyClassName__":"lively.Closure"},"894":{"this":{"__isSmartRef__":true,"id":0}},"895":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"896":{"varMapping":{"__isSmartRef__":true,"id":897},"source":"function addExistingBuilderToSlide() {\n    // only called if we have a slide builder\n    if (!this.slideBuilder) {\n        return;\n    }\n    var newBuilder = this.slideBuilder.copy()\n    newBuilder.setName(this.slideBuilder.getName())\n    this.currentSlideMorph.addMorph(newBuilder) // should I guard against adding duplicate builders?\n    newBuilder.init(this.currentSlideMorph)\n    newBuilder.setMode('Composition') // should it be this.mode?\n    newBuilder.centerAt(pt(512, 650))  // bottom center\n}","funcProperties":{"__isSmartRef__":true,"id":898},"__LivelyClassName__":"lively.Closure"},"897":{"this":{"__isSmartRef__":true,"id":0}},"898":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 18:01:35 GMT-0800 (PST)\")"},"899":{"varMapping":{"__isSmartRef__":true,"id":900},"source":"function compositionMode() {\n    // Go into \"composition mode\" where the menu bar appears\n    // above the slide and it's easy to add, and delete slides\n    this.removeAllMorphs();\n    this.addMorph(this.menuBar)\n    this.showSlide(this.currentSlideNumber)\n    this.showMasterMorphs();\n    this.menuBar.centerAt(pt(512,-20.5))\n    this.setPosition(pt(135,50))\n    Global.disconnect(this, \"currentSlideNumber\", this.presentationBar.get(\"Slide Number\"), \"textString\", {});\n    Global.connect(this, \"currentSlideNumber\", this.menuBar.get(\"Slide Number\"), \"textString\", {});\n    this.setModeForSlides('Composition')\n}","funcProperties":{"__isSmartRef__":true,"id":901},"__LivelyClassName__":"lively.Closure"},"900":{"this":{"__isSmartRef__":true,"id":0}},"901":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"902":{"varMapping":{"__isSmartRef__":true,"id":903},"source":"function deleteCurrentSlide() {\n    // delete the current slide: the slide currently being \n    // shown.  This is always given by this.currentSlideNumber\n    this.deleteSlide(this.currentSlideNumber)\n}","funcProperties":{"__isSmartRef__":true,"id":904},"__LivelyClassName__":"lively.Closure"},"903":{"this":{"__isSmartRef__":true,"id":0}},"904":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"905":{"varMapping":{"__isSmartRef__":true,"id":906},"source":"function deleteSlide(aSlideNumber) {\n    // delete slide number aSlideNumber.  Error check first \n    // to make sure this is a real slide, then remove\n    // it from the slides array (this.slides).  \n    // An invariant is that this.slides is never empty, so if we delete the\n    // last slide just add a new one.  Finally, pick the slide to display,\n    // which is the slide which now has aSlideNumber if valid; if there is\n    // none, show the last slide in the deck.  Finally, update the lists on the\n    // dropdowns on the menu bar\n    if(!this.validSlide(aSlideNumber)) {return;}\n    this.slides.removeAt(aSlideNumber);\n    if(this.slides.length == 0) {\n        this.newLastSlide(); // make sure that we have no edge cases with an empty deck\n    } else if (this.validSlide(aSlideNumber)) {\n        this.showSlide(aSlideNumber)\n    } else this.showSlide(this.slides.length - 1)\n    this.updateLists()\n}","funcProperties":{"__isSmartRef__":true,"id":907},"__LivelyClassName__":"lively.Closure"},"906":{"this":{"__isSmartRef__":true,"id":0}},"907":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"908":{"varMapping":{"__isSmartRef__":true,"id":909},"source":"function ensureOneSlide() {\n    if(this.slides.length == 0) {\n        this.newLastSlide()\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":910},"__LivelyClassName__":"lively.Closure"},"909":{"this":{"__isSmartRef__":true,"id":0}},"910":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"911":{"varMapping":{"__isSmartRef__":true,"id":912},"source":"function getPresentationName() {\n    return this.presentationName\n    \n}","funcProperties":{"__isSmartRef__":true,"id":913},"__LivelyClassName__":"lively.Closure"},"912":{"this":{"__isSmartRef__":true,"id":0}},"913":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"914":{"varMapping":{"__isSmartRef__":true,"id":915},"source":"function getPresentationNameFromUser() {\n    var oldName = this.getPresentationName() || '';\n    $world.prompt('Enter Name for Presentation', function(name) {\n        if(!name) this.setDefaultPresentationName();\n        this.setPresentationName(name)\n        Global.alertOK('Name of Presentation set to ' + name)\n    }.bind(this), oldName)\n    \n}","funcProperties":{"__isSmartRef__":true,"id":916},"__LivelyClassName__":"lively.Closure"},"915":{"this":{"__isSmartRef__":true,"id":0}},"916":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"917":{"varMapping":{"__isSmartRef__":true,"id":918},"source":"function getSlideNames() {\n    // sigh...really wanted to do a map\n    var firstResult = this.slides.map(function(aSlide, index) {\n        var name = aSlide.getIndexTerm()\n        \n        // if no name, it's just 'slide-n'\n        if (!name || name.length == 0) {\n            return 'slide-' + index\n        }\n        return name;\n    })\n    // that should be it, but of course we might have duplicates.  This \n    // is OK in the topics list, but not for the slide names, as these must be\n    // unique for publication\n    var nextIndex = {}\n    var result = firstResult.map(function(aName) {\n        if (aName in nextIndex) {\n            var returnedName = aName + '-' + nextIndex[aName]\n            // seen it before!\n            nextIndex[aName]++;\n            // take care of a *very* subtle potential bug\n            nextIndex[returnedName] = 0;\n            return returnedName\n        } else {\n            nextIndex[aName] = 0;\n            return aName\n            \n        }\n    })\n    return result;\n    \n}","funcProperties":{"__isSmartRef__":true,"id":919},"__LivelyClassName__":"lively.Closure"},"918":{"this":{"__isSmartRef__":true,"id":0}},"919":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"920":{"varMapping":{"__isSmartRef__":true,"id":921},"source":"function gotoTopic(aTopic) {\n    // Go to the slide indexed by aTopic.  This is chosen from the \"Go To Topic\"\n    // dropdown.  Finds the first matching topic. Then resets the Topic menu to the\n    // title\n    var matches = Array.range(0, this.slides.length - 1).filter(function(anIndex) {\n        return this.slides[anIndex].getIndexTerm() == aTopic\n    }.bind(this))\n    if (matches.length > 0) {\n        this.showSlide(matches[0])\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":922},"__LivelyClassName__":"lively.Closure"},"921":{"this":{"__isSmartRef__":true,"id":0}},"922":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"923":{"varMapping":{"__isSmartRef__":true,"id":924},"source":"function hasPresentationName() {\n    return (('presentationName' in this)  && this.presentationName && (this.presentationName.length > 0))\n    \n}","funcProperties":{"__isSmartRef__":true,"id":925},"__LivelyClassName__":"lively.Closure"},"924":{"this":{"__isSmartRef__":true,"id":0}},"925":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"926":{"varMapping":{"__isSmartRef__":true,"id":927},"source":"function init() {\n    // Make sure everything is initialized\n    if(!this.slides) this.slides = [];\n    if(!this.currentSlide) this.currentSlide = 0;\n    if(!this.slidesByTopic) this.slidesByTopic = [];\n    if(!this.masterMorphs) this.masterMorphs = [];\n    if(!this.currentSlideMorph) this.currentSlideMorph  = null;\n    \n    if (!this.slideTemplate) {\n        lively.PartsBin.getPart('SlideTemplate', 'PartsBin/Presentation', function(err, part) {\n            this.slideTemplate = part;\n            this.ensureOneSlide(); //requires a slideTemplate\n            this.initAfterSlideLoad(); // do the rest of the initialization\n        }.bind(this))\n    } else {\n        this.ensureOneSlide()\n        this.initAfterSlideLoad(); // do the rest of the initialization\n    }\n\n    \n    \n\n\n    \n}","funcProperties":{"__isSmartRef__":true,"id":928},"__LivelyClassName__":"lively.Closure"},"927":{"this":{"__isSmartRef__":true,"id":0}},"928":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:28:07 GMT-0800 (PST)\")"},"929":{"varMapping":{"__isSmartRef__":true,"id":930},"source":"function insertSlideAfter(aSlideNumber) {\n    // insert a slide after slide aSlideNumber.  Note all the\n    // work is done by insertSlideBefore or newLastSlide, so this is\n    // just an overlay on those two routines.\n    if (aSlideNumber == this.slides.length - 1) {\n        this.newLastSlide();\n    } else {\n        this.insertSlideBefore(aSlideNumber + 1)\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":931},"__LivelyClassName__":"lively.Closure"},"930":{"this":{"__isSmartRef__":true,"id":0}},"931":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"932":{"varMapping":{"__isSmartRef__":true,"id":933},"source":"function insertSlideBefore(aSlideNumber) {\n    // insert a new slide before aSlideNumber\n    // step 1: check to make sure it's valid\n    if(!this.validSlide(aSlideNumber)) return;\n    // copy the slide template, insert it in the array, make\n    // sure it has the right name, show it, and update the lists\n    var newSlide = this.slideTemplate.copy();\n    newSlide.setName('Slide')\n    this.slides.pushAt(newSlide, aSlideNumber);\n    this.showSlide(aSlideNumber)\n    this.updateLists()\n}","funcProperties":{"__isSmartRef__":true,"id":934},"__LivelyClassName__":"lively.Closure"},"933":{"this":{"__isSmartRef__":true,"id":0}},"934":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"935":{"varMapping":{"__isSmartRef__":true,"id":936},"source":"function loadSlideAfter(aSlideNumber, aSlide) {\n    // load slide after slideNumber.  This is designed to be called\n    // by the SlideBinBrowser in order to load a new slide\n    // from the PartsBin.\n    // step 1: check to make sure it's valid\n    // TODO: loadSlideBefore\n    if(!this.validSlide(aSlideNumber + 1)) return;\n    aSlide.setName('Slide')\n    this.slides.pushAt(aSlide, aSlideNumber + 1);\n    this.showSlide(aSlideNumber)\n    this.updateLists()\n}","funcProperties":{"__isSmartRef__":true,"id":937},"__LivelyClassName__":"lively.Closure"},"936":{"this":{"__isSmartRef__":true,"id":0}},"937":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"938":{"varMapping":{"__isSmartRef__":true,"id":939},"source":"function masterMode() {\n    // Master mode.  remove all the morphs (note this includes the menu bar, which\n    // we don't need), and then add back the master morphs -- those morphs which\n    // which appear on every slide.  Then add the save button.  When we save, the \n    // list of master morphs are updated and we return to composition mode\n    this.removeAllMorphs();\n    this.showMasterMorphs();\n    this.addMorph(this.masterSaveButton)\n    this.masterSaveButton.centerAt(pt(512,30))\n    \n}","funcProperties":{"__isSmartRef__":true,"id":940},"__LivelyClassName__":"lively.Closure"},"939":{"this":{"__isSmartRef__":true,"id":0}},"940":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"941":{"varMapping":{"__isSmartRef__":true,"id":942},"source":"function newLastSlide() {\n    // a slightly simpler version of insertSlideBefore().  \n    // copy the template, set the name, shove it on to the end of the\n    // deck, show it, and update the lists in the dropdowns.\n    var newSlide = this.slideTemplate.copy();\n    newSlide.setName('Slide')\n    this.slides.push(newSlide);\n    this.showSlide(this.slides.length - 1)\n    this.updateLists()\n}","funcProperties":{"__isSmartRef__":true,"id":943},"__LivelyClassName__":"lively.Closure"},"942":{"this":{"__isSmartRef__":true,"id":0}},"943":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"944":{"varMapping":{"__isSmartRef__":true,"id":945},"source":"function nextSlideNumber() {\n    // get the next slide to be shown, which is one past the current\n    // slide or 0 at the end of the deck\n    if (this.slides.length == 0) return 0;\n    return (this.currentSlideNumber + 1) % this.slides.length;\n    \n}","funcProperties":{"__isSmartRef__":true,"id":946},"__LivelyClassName__":"lively.Closure"},"945":{"this":{"__isSmartRef__":true,"id":0}},"946":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"947":{"varMapping":{"__isSmartRef__":true,"id":948},"source":"function onLoad() {\n    this.init()\n}","funcProperties":{"__isSmartRef__":true,"id":949},"__LivelyClassName__":"lively.Closure"},"948":{"this":{"__isSmartRef__":true,"id":0}},"949":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"950":{"varMapping":{"__isSmartRef__":true,"id":951},"source":"function openSlideBrowser() {\n    if (this.slideBrowser) {\n        this.slideBrowser.openInWorld()\n        this.slideBrowser.setPresentation(this)\n        return\n    }\n    lively.PartsBin.getPart('SlideBinBrowser', 'PartsBin/Presentation', function(err, part) {\n        if (err) {\n            alert(\"Error in opening the SlideBinBrowser: \" + err)\n        }\n        if (part) {\n            part.openInWorld()\n            part.setPresentation(this)\n            this.slideBrowser = part\n        }\n    }.bind(this))\n    \n}","funcProperties":{"__isSmartRef__":true,"id":952},"__LivelyClassName__":"lively.Closure"},"951":{"this":{"__isSmartRef__":true,"id":0}},"952":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"953":{"varMapping":{"__isSmartRef__":true,"id":954},"source":"function openSlideSorter() {\n    if (this.slideSorter) {\n        this.slideSorter.openInWorld()\n        this.slideSorter.initialize(this)\n        return\n    }\n    lively.PartsBin.getPart('SlideSorter', 'PartsBin/Presentation', function(err, part) {\n        if (err) {\n            alert(\"Error in opening the SlideBinBrowser: \" + err)\n        }\n        if (part) {\n            part.openInWorld()\n            this.slideSorter = part\n            part.initialize(this)\n        }\n    }.bind(this))\n    \n}","funcProperties":{"__isSmartRef__":true,"id":955},"__LivelyClassName__":"lively.Closure"},"954":{"this":{"__isSmartRef__":true,"id":0}},"955":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"956":{"varMapping":{"__isSmartRef__":true,"id":957},"source":"function openSlideTemplate() {\n    this.slideTemplate.openInWorld()\n    \n}","funcProperties":{"__isSmartRef__":true,"id":958},"__LivelyClassName__":"lively.Closure"},"957":{"this":{"__isSmartRef__":true,"id":0}},"958":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"959":{"varMapping":{"__isSmartRef__":true,"id":960},"source":"function pauseVoiceOver() {\n    // Pause the audio player, if there is one\n    if (this.audioPlayer) {\n        this.audioPlayer.pause()\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":961},"__LivelyClassName__":"lively.Closure"},"960":{"this":{"__isSmartRef__":true,"id":0}},"961":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"962":{"varMapping":{"__isSmartRef__":true,"id":963},"source":"function play() {\n    // set this up for autoplay.  \n    // playingSlide is the slide we are currently on\n    this.playingSlide = 0;\n    // remove the menu bar and move this to the top of the screen\n    this.menuBar.remove()\n    this.setPosition(pt(135,0))\n    // tell the slides we're going into Play Mode\n    this.setModeForSlides('Play')\n    // add the stop show button and put it in the center at the bottom\n    this.addMorph(this.stopShowButton)\n    this.stopShowButton.centerAt(pt(512,740))\n    // play slide 0 and start stepping to change slides, and play the voice over\n    this.playSlide(0)\n    this.startStepping(1000, 'playSlideLoop');\n}","funcProperties":{"__isSmartRef__":true,"id":964},"__LivelyClassName__":"lively.Closure"},"963":{"this":{"__isSmartRef__":true,"id":0}},"964":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"965":{"varMapping":{"__isSmartRef__":true,"id":966},"source":"function playSlide(slideNumber) {\n    // play slide number slideNumber.\n    // first, make sure it's valid\n    if (slideNumber >= this.slides.length) {\n        slideNumber = 0;\n    }\n    // set up the current slide morph and the time\n    this.currentSlideMorph.remove();\n    this.timeShowing = 0;\n    this.currentSlideMorph = this.slides[slideNumber]\n    // show the current slide\n    this.addMorphBack(this.slides[slideNumber]);\n    this.slides[slideNumber].setPosition(pt(0, 0))\n    // execute any presenter code\n    this.slides[slideNumber].onPlay();\n    // set the slide number\n    this.playingSlideNumber = slideNumber\n    // do the audio, if any\n    var voiceOverObject = this.slides[slideNumber].getVoiceOver()\n    if (voiceOverObject) {\n        this.setVoiceOver(voiceOverObject.url, voiceOverObject.type)\n        this.playVoiceOver()\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":967},"__LivelyClassName__":"lively.Closure"},"966":{"this":{"__isSmartRef__":true,"id":0}},"967":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"968":{"varMapping":{"__isSmartRef__":true,"id":969},"source":"function playSlideLoop() {\n    ++this.timeShowing;\n    if (this.timeShowing < this.slides[this.playingSlideNumber].playInterval) {\n        return;\n    }\n    this.playSlide(this.playingSlideNumber + 1)\n}","funcProperties":{"__isSmartRef__":true,"id":970},"__LivelyClassName__":"lively.Closure"},"969":{"this":{"__isSmartRef__":true,"id":0}},"970":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"971":{"varMapping":{"__isSmartRef__":true,"id":972},"source":"function playVoiceOver() {\n    // play a voice over, if we have an audio player\n    if (this.audioPlayer) {\n       this.audioPlayer.rewind();\n       this.audioPlayer.setProperty('loop', false)\n       this.audioPlayer.play()\n   }\n   \n}","funcProperties":{"__isSmartRef__":true,"id":973},"__LivelyClassName__":"lively.Closure"},"972":{"this":{"__isSmartRef__":true,"id":0}},"973":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"974":{"varMapping":{"__isSmartRef__":true,"id":975},"source":"function presentationMode() {\n    // Go into \"presentation mode\" where the menu bar appears\n    // above the slide and it's easy to add, and delete slides\n    this.removeAllMorphs();\n    this.addMorph(this.presentationBar)\n    this.showSlide(this.currentSlideNumber)\n    this.showMasterMorphs();\n    this.presentationBar.setPosition(pt(0,770))\n     Global.connect(this, \"currentSlideNumber\", this.presentationBar.get(\"Slide Number\"), \"textString\", {});\n    Global.disconnect(this, \"currentSlideNumber\", this.menuBar.get(\"Slide Number\"), \"textString\", {});\n    this.setPosition(pt(135,10))\n    this.setModeForSlides('Presentation')\n    \n}","funcProperties":{"__isSmartRef__":true,"id":976},"__LivelyClassName__":"lively.Closure"},"975":{"this":{"__isSmartRef__":true,"id":0}},"976":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"977":{"varMapping":{"__isSmartRef__":true,"id":978},"source":"function previousSlideNumber() {\n    if (this.slides.length == 0) return 0;\n    if (this.currentSlideNumber == 0) return this.slides.length - 1;\n    return this.currentSlideNumber - 1;\n    \n}","funcProperties":{"__isSmartRef__":true,"id":979},"__LivelyClassName__":"lively.Closure"},"978":{"this":{"__isSmartRef__":true,"id":0}},"979":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"980":{"varMapping":{"__isSmartRef__":true,"id":981},"source":"function publishSlides() {\n    if (!this.hasPresentationName()) {\n        this.getPresentationNameFromUser() // will guarantee to set to default if not entered\n    }\n    lively.PartsBin.getPart('PublishSlideDialog', 'PartsBin/Presentation', function(err, part) {\n        part.openInWorld()\n        part.initialize(this)\n    }.bind(this))\n}","funcProperties":{"__isSmartRef__":true,"id":982},"__LivelyClassName__":"lively.Closure"},"981":{"this":{"__isSmartRef__":true,"id":0}},"982":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"983":{"varMapping":{"__isSmartRef__":true,"id":984},"source":"function reset() {\n    // don't serialize helper morphs that we will reinitialize\n    this.doNotSerialize = ['masterSaveButton', 'stopShowButton', 'slideBuilder', 'slideSorter', 'slideBrowser']\n    \n}","funcProperties":{"__isSmartRef__":true,"id":985},"__LivelyClassName__":"lively.Closure"},"984":{"this":{"__isSmartRef__":true,"id":0}},"985":{"__serializedExpressions__":["timestamp"],"user":"rick","timestamp":"new Date(\"Tue Dec 23 2014 18:14:18 GMT-0800 (PST)\")"},"986":{"varMapping":{"__isSmartRef__":true,"id":987},"source":"function rewindVoiceOver() {\n    if (this.audioPlayer) {\n        this.audioPlayer.rewind();\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":988},"__LivelyClassName__":"lively.Closure"},"987":{"this":{"__isSmartRef__":true,"id":0}},"988":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"989":{"varMapping":{"__isSmartRef__":true,"id":990},"source":"function setAudioPlayer(aMorph) {\n    this.audioPlayer = aMorph;\n    \n}","funcProperties":{"__isSmartRef__":true,"id":991},"__LivelyClassName__":"lively.Closure"},"990":{"this":{"__isSmartRef__":true,"id":0}},"991":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"992":{"varMapping":{"__isSmartRef__":true,"id":993},"source":"function setCompositionMenuItems() {\n    var presentation = this;\n    var slideActions = {\n        'Insert Before': function() {presentation.insertSlideBefore(presentation.currentSlideNumber);},\n        'Insert After': function() {presentation.insertSlideAfter(presentation.currentSlideNumber);}, \n        'New Last': function() {presentation.newLastSlide();},\n        'Delete': function() {presentation.deleteCurrentSlide();},\n        'Edit Behavior': function() {presentation.currentSlideMorph.edit();},\n        'Update Lists': function() {presentation.updateLists();},\n        'Set Presentation Name': function() {presentation.getPresentationNameFromUser();},\n        'Publish Slides': function() {presentation.publishSlides();},\n        'Open Slide Template': function() {presentation.openSlideTemplate();},\n        'Open Slide Browser':function() {presentation.openSlideBrowser();},\n        'Open Slide Sorter':function() {presentation.openSlideBrowser();},\n        'Add Builder To Slide':function() {presentation.addBuilderToSlide();}\n    }\n    this.menuBar.get('File').init({\n        title:'Slide',\n        actions: slideActions,\n        menuOrder: ['Insert Before', 'Insert After', 'New Last', 'Delete',\n        'Edit Behavior', 'Update Lists', 'Set Presentation Name', 'Publish Slides',\n        'Open Slide Template', 'Open Slide Browser']\n    })\n    var modeActions = {\n        Composition: function() {presentation.compositionMode();},\n        Master: function() {presentation.masterMode();},\n        Play: function() {presentation.play();},\n        Presentation: function() {presentation.presentationMode()}\n    }\n    this.menuBar.get('Mode').init({\n        title: 'Mode',\n        actions: modeActions,\n        menuOrder: ['Composition', 'Master', 'Play', 'Presentation']\n    })\n    \n}","funcProperties":{"__isSmartRef__":true,"id":994},"__LivelyClassName__":"lively.Closure"},"993":{"this":{"__isSmartRef__":true,"id":0}},"994":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"995":{"varMapping":{"__isSmartRef__":true,"id":996},"source":"function setDefaultPresentationName() {\n    // set the presentation name to 'Presentation-<user>-<yyyy>-<mm>-<dd>' \n    // if it is not set, where <user> is the user name\n    // if user is null, then set to\n    // 'Presentation-<yyyy>-<mm>-<dd>' \n    var user = $world.getUserName(true)\n    var date = new Date()\n    var dateString = '' + (date.getYear() + 1900) + '-' + (date.getMonth() + 1) + '-' + (date.getDate())\n    var defaultName = 'Presentation-' + dateString\n    if (user && user.length > 0) {\n        defaultName = 'Presentation-' + user + '-' + dateString\n    }\n    this.setPresentationName(defaultName)\n    \n}","funcProperties":{"__isSmartRef__":true,"id":997},"__LivelyClassName__":"lively.Closure"},"996":{"this":{"__isSmartRef__":true,"id":0}},"997":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"998":{"varMapping":{"__isSmartRef__":true,"id":999},"source":"function setModeForSlides(aMode) {\n    // tell each slide that we're going into a new mode\n    // this is one of \"Composition\", \"Presentation\", or \"Play\"\n    // Primarily, what the slides do is simply tell any morphs \n    // that have an interest in this what mode we're going into\n    this.slides.forEach(function(aSlide) {\n        // really ought to be, but just to be safe...\n        if ('setMode' in aSlide) { \n            aSlide.setMode(aMode)\n            \n        }\n    });\n    \n}","funcProperties":{"__isSmartRef__":true,"id":1000},"__LivelyClassName__":"lively.Closure"},"999":{"this":{"__isSmartRef__":true,"id":0}},"1000":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"1001":{"varMapping":{"__isSmartRef__":true,"id":1002},"source":"function setPresentationMenuItems() {\n    var presentation = this;\n    \n    var modeActions = {\n        Composition: function() {presentation.compositionMode();},\n        Play: function() {presentation.play();},\n        Presentation: function() {presentation.presentationMode()}\n    }\n    this.presentationBar.get('PresentationMode').init({\n        title: 'Mode',\n        actions: modeActions,\n        menuOrder: ['Composition', 'Play', 'Presentation']\n    })\n    \n}","funcProperties":{"__isSmartRef__":true,"id":1003},"__LivelyClassName__":"lively.Closure"},"1002":{"this":{"__isSmartRef__":true,"id":0}},"1003":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"1004":{"varMapping":{"__isSmartRef__":true,"id":1005},"source":"function setPresentationName(aName) {\n    this.presentationName = aName\n    \n}","funcProperties":{"__isSmartRef__":true,"id":1006},"__LivelyClassName__":"lively.Closure"},"1005":{"this":{"__isSmartRef__":true,"id":0}},"1006":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"1007":{"varMapping":{"__isSmartRef__":true,"id":1008},"source":"function setVoiceOver(anURL, fileType) {\n    if(this.audioPlayer) {\n        this.audioPlayer.setAudioURL(anURL, this.audioPlayer.elementID, fileType)\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":1009},"__LivelyClassName__":"lively.Closure"},"1008":{"this":{"__isSmartRef__":true,"id":0}},"1009":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"1010":{"varMapping":{"__isSmartRef__":true,"id":1011},"source":"function showMasterMorphs() {\n    this.masterMorphs.forEach(function(aMorph) {this.addMorphFront(aMorph)}.bind(this))\n    \n}","funcProperties":{"__isSmartRef__":true,"id":1012},"__LivelyClassName__":"lively.Closure"},"1011":{"this":{"__isSmartRef__":true,"id":0}},"1012":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"1013":{"varMapping":{"__isSmartRef__":true,"id":1014},"source":"function showNextSlide() {\n    this.showSlide(this.nextSlideNumber())\n    \n}","funcProperties":{"__isSmartRef__":true,"id":1015},"__LivelyClassName__":"lively.Closure"},"1014":{"this":{"__isSmartRef__":true,"id":0}},"1015":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"1016":{"varMapping":{"__isSmartRef__":true,"id":1017},"source":"function showPreviousSlide() {\n    this.showSlide(this.previousSlideNumber())\n    \n}","funcProperties":{"__isSmartRef__":true,"id":1018},"__LivelyClassName__":"lively.Closure"},"1017":{"this":{"__isSmartRef__":true,"id":0}},"1018":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"1019":{"varMapping":{"__isSmartRef__":true,"id":1020},"source":"function showSlide(slideNumber) {\n    // show slide slideNumber in composition mode\n    if (!this.validSlide(slideNumber)) return;\n    // remove the current slide being shown, if any, then show slideNumber,\n    // update it to be the current morph, make sure it's in the right position,\n    // then (since this is called when the slide is selected from the navigation\n    // dropdown) reset the naviation dropdown\n    if (this.currentSlideMorph) {this.currentSlideMorph.remove()}\n    this.currentSlideMorph = this.slides[slideNumber]\n    this.addMorphBack(this.slides[slideNumber]);\n    this.currentSlideNumber = slideNumber\n    this.slides[slideNumber].setPosition(pt(0, 0))\n}","funcProperties":{"__isSmartRef__":true,"id":1021},"__LivelyClassName__":"lively.Closure"},"1020":{"this":{"__isSmartRef__":true,"id":0}},"1021":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"1022":{"varMapping":{"__isSmartRef__":true,"id":1023},"source":"function showSlideSorter() {\n    if (!this.slideSorter) {\n        lively.PartsBin.getPart('SlideSorter', 'PartsBin/Presentation', function(err, part) {\n            if (err) {\n                alert('Error opening the slide sorter: ' + err)\n            }\n            if (part) {\n                this.slideSorter = part\n                this.slideSorter.openInWorld()\n                this.slideSorter.initialize(this)\n            }\n        })\n    } else {\n        this.slideSorter.openInWorld()\n        this.slideSorter.initialize(this)\n    }\n    \n}","funcProperties":{"__isSmartRef__":true,"id":1024},"__LivelyClassName__":"lively.Closure"},"1023":{"this":{"__isSmartRef__":true,"id":0}},"1024":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"1025":{"varMapping":{"__isSmartRef__":true,"id":1026},"source":"function stopShow() {\n    // stop the slide show.  stop stepping through the slides, remove the\n    // stopShowButton, pause the voice over (if any), and return to composition mode\n    this.stopStepping()\n    this.stopShowButton.remove();\n    this.compositionMode();\n    this.pauseVoiceOver();\n    \n}","funcProperties":{"__isSmartRef__":true,"id":1027},"__LivelyClassName__":"lively.Closure"},"1026":{"this":{"__isSmartRef__":true,"id":0}},"1027":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"1028":{"varMapping":{"__isSmartRef__":true,"id":1029},"source":"function updateLists() {\n    // update the Topic and Navitation lists after a slide is \n    // added or deleted, or when the choice is selected from the Slide\n    // menue at the top left.  \n    var slideNumbers = Array.range(0, this.slides.length - 1)\n    var presentation = this;\n    var slideAction = {title:'Go to Slide', items:slideNumbers, action: function(anItem) {presentation.showSlide(anItem)}}\n    this.menuBar.get('NavigationComposition').init(slideAction); \n    this.presentationBar.get('NavigationPresentation').init(slideAction); \n    var topics = this.slides.map(function(aSlide) {return aSlide.getIndexTerm()}).filter(function(aTerm) {return aTerm != null})\n    var topicAction = {title:'Slide By Title', items:topics, action: function(anItem) {presentation.gotoTopic(anItem)}}\n    this.menuBar.get('TopicComposition').init(topicAction); \n    this.presentationBar.get('TopicPresentation').init(topicAction);\n    \n}","funcProperties":{"__isSmartRef__":true,"id":1030},"__LivelyClassName__":"lively.Closure"},"1029":{"this":{"__isSmartRef__":true,"id":0}},"1030":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"1031":{"varMapping":{"__isSmartRef__":true,"id":1032},"source":"function updateSlideTemplate() {\n    // Update the Slide template -- a convenience method because we know that\n    // we will be fooling with this.  Really won't be called very often by\n    // the presenter and may be deleted eventually\n    lively.PartsBin.getPart('SlideTemplate', 'PartsBin/Presentation', function(err, part) {\n        this.slideTemplate = part;\n        \n    }.bind(this))\n    \n}","funcProperties":{"__isSmartRef__":true,"id":1033},"__LivelyClassName__":"lively.Closure"},"1032":{"this":{"__isSmartRef__":true,"id":0}},"1033":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"1034":{"varMapping":{"__isSmartRef__":true,"id":1035},"source":"function validSlide(slideNumber) {\n    return slideNumber >= 0 && slideNumber < this.slides.length;\n    \n}","funcProperties":{"__isSmartRef__":true,"id":1036},"__LivelyClassName__":"lively.Closure"},"1035":{"this":{"__isSmartRef__":true,"id":0}},"1036":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:18:48 GMT-0800 (PST)\")"},"1037":{"varMapping":{"__isSmartRef__":true,"id":1038},"source":"function initAfterSlideLoad() {\n    if(!this.menuBar) {\n        lively.PartsBin.getPart('MenuBar', 'PartsBin/Presentation', function(err, part) {\n            if (err) {\n                alert(err)\n            }\n            this.menuBar = part;\n            this.setCompositionMenuItems()\n        }.bind(this));\n    } else {\n        this.setCompositionMenuItems()\n    }\n    if(!this.presentationBar) {\n        lively.PartsBin.getPart('PresentationBar', 'PartsBin/Presentation', function(err, part) {\n            this.presentationBar = part;\n            this.setPresentationMenuItems()\n        }.bind(this));\n    } else {\n        this.setPresentationMenuItems()\n    }\n\n    if (!this.masterSaveButton) {\n        lively.PartsBin.getPart('MasterSave Button', 'PartsBin/Presentation', function(err, part) {\n            this.masterSaveButton = part;\n        }.bind(this))\n    }\n    \n    if (!this.stopShowButton) {\n        lively.PartsBin.getPart('StopShow Button', 'PartsBin/Presentation', function(err, part) {\n            this.stopShowButton = part;\n        }.bind(this))\n    }\n    \n    if (!this.hasPresentationName()) {\n        this.setDefaultPresentationName()\n    }\n    \n    // should make this settable\n    this.compositionMode()\n\n    \n}","funcProperties":{"__isSmartRef__":true,"id":1039},"__LivelyClassName__":"lively.Closure"},"1038":{"this":{"__isSmartRef__":true,"id":0}},"1039":{"user":"rick","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 23 2014 11:30:19 GMT-0800 (PST)\")"},"isSimplifiedRegistry":true}}