{"id":0,"registry":{"0":{"submorphs":[{"__isSmartRef__":true,"id":1},{"__isSmartRef__":true,"id":41},{"__isSmartRef__":true,"id":441},{"__isSmartRef__":true,"id":445},{"__isSmartRef__":true,"id":449}],"scripts":[],"shape":{"__isSmartRef__":true,"id":453},"_ClipMode":"visible","derivationIds":["421325B9-500D-433C-A553-671C7A431B61","29986CD4-1D53-43FF-8709-92034A3637E3","9E379FB6-94BD-4415-BE0F-B9CDE05E0FB2","453F621A-7AA2-40EC-A3E1-57FC13B0941C","3909E827-C9BB-4B02-AE50-4757A27661A5","3E359F46-2ABC-406E-B407-47D93CDF17AB","60FB9EC0-A954-4653-BAE4-34E934ECC57A","C09749C3-D429-4133-8B96-8A8251ADF57C","F6437A0F-60CD-4FB5-AED5-125DAEB41728","299F99AE-E4AC-4266-B01C-8B6334989003"],"id":"814E3B8E-E962-4D90-B0D4-4B1702D13BE9","droppingEnabled":false,"halosEnabled":true,"draggingEnabled":true,"layout":{"__isSmartRef__":true,"id":454},"closeButton":{"__isSmartRef__":true,"id":8},"collapseButton":{"__isSmartRef__":true,"id":18},"menuButton":{"__isSmartRef__":true,"id":28},"reframeHandle":{"__isSmartRef__":true,"id":441},"rightReframeHandle":{"__isSmartRef__":true,"id":449},"bottomReframeHandle":{"__isSmartRef__":true,"id":445},"titleBar":{"__isSmartRef__":true,"id":1},"collapsedTransform":{"__isSmartRef__":true,"id":455},"expandedTransform":{"__isSmartRef__":true,"id":456},"ignoreEventsOnExpand":false,"_PreviousBorderWidth":0,"targetMorph":{"__isSmartRef__":true,"id":41},"eventHandler":{"__isSmartRef__":true,"id":457},"partsBinMetaInfo":{"__isSmartRef__":true,"id":458},"name":"JanusVideoClient","_StyleClassNames":["Morph","Window"],"showsHalos":false,"helperMorphs":[{"__isSmartRef__":true,"id":441},{"__isSmartRef__":true,"id":445},{"__isSmartRef__":true,"id":449}],"state":"expanded","__serializedExpressions__":["_Position","contentOffset","collapsedExtent","expandedExtent","expandedPosition","collapsedPosition"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Window","__SourceModuleName__":"Global.lively.morphic.Widgets","withoutLayers":["Global.lively.morphic.GrabbingLayer"],"_Position":"lively.pt(0.0,0.0)","contentOffset":"lively.pt(3.0,22.0)","collapsedExtent":"lively.pt(212.0,22.0)","expandedExtent":"lively.pt(783.0,746.0)","expandedPosition":"lively.pt(43.0,938.0)","collapsedPosition":"lively.pt(43.0,938.0)"},"1":{"submorphs":[{"__isSmartRef__":true,"id":2},{"__isSmartRef__":true,"id":8},{"__isSmartRef__":true,"id":18},{"__isSmartRef__":true,"id":28}],"scripts":[],"shape":{"__isSmartRef__":true,"id":38},"_ClipMode":"visible","derivationIds":["E7AD4CDF-FEDB-40E3-938A-26F0DE3CCFA3","46BC8961-83D6-4E72-AF2F-2DE4EE878696","91B75286-3205-4B43-8FB6-6FFA11474C64","3662A4B3-EAB7-4D00-9844-202DC28B11FA","6ABECB4F-7999-424C-8730-5EA0736A6F26","C9D72E7E-0A7C-406E-9DF8-A31A989828F5","623E757C-3F57-4BCF-B3F6-86E2F463EFFC","8CF0E427-8300-4DAA-8AAF-2BDC317F1BE1","728BF4FF-CF1B-43CD-A64C-5541208A4CAA","B04BDEF9-B00F-4C22-A279-7CCE02A5C80C"],"id":"B7819864-485F-413B-806D-77A6ADE74559","droppingEnabled":false,"halosEnabled":true,"layout":{"__isSmartRef__":true,"id":39},"windowMorph":{"__isSmartRef__":true,"id":0},"buttons":[{"__isSmartRef__":true,"id":8},{"__isSmartRef__":true,"id":18},{"__isSmartRef__":true,"id":28}],"label":{"__isSmartRef__":true,"id":2},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":0},"eventHandler":{"__isSmartRef__":true,"id":40},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.TitleBar","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,0.0)"},"2":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":3},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":4}],"_ClipMode":"hidden","derivationIds":["360B7C56-7265-4176-B722-5ADD0B4016E1","4A6495F4-5026-42CD-8584-DE0ED3ACAD71","8C53FD8B-2672-4522-A351-5DB06FAB7C81","70583F4D-3BC6-43ED-9FEE-1FCEDBBB205A","2441FDF0-45B4-4DA9-8ACB-9381CF38BB7B","9DF560A1-AC82-4ACC-B54A-80B2F621F0CF","61853B3E-4AC6-4568-A812-76AC20384943","88A11513-49F0-459A-9D10-2DD5DD8B7CE9","327067D3-A299-45F8-AC2B-5CF4BF04E29D","E9D16F3E-3767-4F6C-8607-0863467ED4C4"],"id":"5B26E94A-FB4E-4930-8AD9-09AE1FC857E0","_InputAllowed":false,"_HandStyle":"default","allowInput":false,"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"draggingEnabled":true,"fixedWidth":true,"fixedHeight":true,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"isLabel":true,"eventsAreIgnored":true,"layout":{"__isSmartRef__":true,"id":6},"owner":{"__isSmartRef__":true,"id":1},"_StyleClassNames":["Morph","Text","window-title"],"_TextStylingMode":true,"eventHandler":{"__isSmartRef__":true,"id":7},"showsHalos":false,"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(3.0,3.0)"},"3":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(691.0,16.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"4":{"style":{"__isSmartRef__":true,"id":5},"chunkOwner":{"__isSmartRef__":true,"id":2},"_id":"_4726","storedString":"JanusVideoClient","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"5":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"6":{"resizeWidth":true},"7":{"morph":{"__isSmartRef__":true,"id":2},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"8":{"submorphs":[{"__isSmartRef__":true,"id":9}],"scripts":[],"shape":{"__isSmartRef__":true,"id":14},"_ClipMode":"visible","derivationIds":["9AFBF0A3-699B-4181-97CC-3863F370A6B8","4C300A35-968F-4E98-BE60-8D5931AE6D25","E0B6937A-64F0-41A4-AA65-57E38F540E77","0E973F4E-666F-4069-BE13-DCB5760DD5F8","5DA6A79F-3C6F-450E-801D-AE40ED6C5506","850BAED9-B003-415E-A218-AEA1387D699C","553A39E8-5649-499D-A89B-E3D0BCAE70A6","1E8BE389-5239-4DFD-974E-C712AEB72095","A51B4B1D-39CB-4379-9A3D-5AAB051C98F8","D72858C6-23E4-4E8E-92C9-107240538358"],"id":"4CD82BC2-AA64-4C2E-AF0F-816BC448C406","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":9},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":1},"_StyleClassNames":["Morph","Button","WindowControl","close"],"attributeConnections":[{"__isSmartRef__":true,"id":15}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":17},"isPressed":false,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(763.0,3.0)"},"9":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":10},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":11}],"_ClipMode":"hidden","derivationIds":["056033FE-195F-4708-A71F-F4BADA1E7B5D","3046A713-42F3-4751-BAF9-E4C4806A421A","06470F9E-7201-439A-A64B-10FD9D842762","A0CF27A2-009F-447C-80BC-DD00CC3DE6C9","AA0C9263-E192-4863-8698-223C297DB8B7","658D4575-AF57-4F79-8023-8E4710547FFB","7D5C49A5-7A3F-44D5-B693-30F105870090","41154590-08C3-4680-B099-81AFB5B7F42D","7D0ABCC0-CF9A-4466-9C4B-D4F6CA622611","73595A07-6469-457C-A9FF-29207C984B23"],"id":"4D79E79D-013D-4993-9712-F0251E40CFCE","_InputAllowed":false,"_HandStyle":"default","allowInput":false,"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"draggingEnabled":true,"fixedWidth":true,"fixedHeight":true,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":8},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"eventsAreDisabled":true,"_PointerEvents":"none","eventHandler":{"__isSmartRef__":true,"id":13},"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"10":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"11":{"style":{"__isSmartRef__":true,"id":12},"chunkOwner":{"__isSmartRef__":true,"id":9},"_id":"_3424","storedString":"X","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"12":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"13":{"morph":{"__isSmartRef__":true,"id":9},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"14":{"_BorderWidth":1,"_Fill":null,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"15":{"sourceObj":{"__isSmartRef__":true,"id":8},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":0},"targetMethodName":"initiateShutdown","varMapping":{"__isSmartRef__":true,"id":16},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"16":{"source":{"__isSmartRef__":true,"id":8},"target":{"__isSmartRef__":true,"id":0}},"17":{"morph":{"__isSmartRef__":true,"id":8},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"18":{"submorphs":[{"__isSmartRef__":true,"id":19}],"scripts":[],"shape":{"__isSmartRef__":true,"id":24},"_ClipMode":"visible","derivationIds":["3ACAD279-3A51-4681-A74A-12344D0A4B6F","DF50C901-E7B3-4E32-8991-E83C86249AD1","08DD25E3-2238-4689-990F-A15603428201","A8AAA49F-5ABE-43C9-8903-C04FEA0CF8A3","441D53C5-1C1F-4484-83D8-C5D9824D924D","A27ED6A4-2DA6-430A-8926-23EC74B11E6D","A61062A5-4B38-487D-994E-FB52E13DDBDC","3535F936-8432-4E69-ACFA-CC3E5FCC8658","061B8274-BF0E-4BD8-9DD2-CA0E516C7D47","53B79B53-05B9-48EE-BC4C-561ED2AF3A6B"],"id":"0043C848-AA59-4EAC-814F-E57D1A440CC8","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":19},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":1},"attributeConnections":[{"__isSmartRef__":true,"id":25}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":27},"isPressed":false,"_StyleClassNames":["Morph","Button","WindowControl"],"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(743.0,3.0)"},"19":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":20},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":21}],"_ClipMode":"hidden","derivationIds":["9DC1F81D-B09B-4C0F-8D7D-977A84D3C181","F15760F2-7A2B-4CF1-B6C2-0737F9E0DB33","D34FBD3E-90CB-4F0E-B2A7-8C96449E80D1","38D91F8C-3169-4B46-AC65-50B81E315786","424E17C9-B4A7-471D-B4E5-C388C4134151","683FE81F-EBDA-4400-BFA1-E14EC5384727","93E74201-A4DF-44CA-B44E-2122EDA292FF","5463E475-8FC4-42FF-8DAE-A2E9F3B0089D","39F83B32-794D-44B4-A557-4EBAFAD5B24B","715FEB85-982D-4A1B-A5E1-CE05C46D8FD9"],"id":"9867BC09-FBE5-472C-9E01-F8B56582EC58","_InputAllowed":false,"_HandStyle":"default","allowInput":false,"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"draggingEnabled":true,"fixedWidth":true,"fixedHeight":true,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":18},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"eventsAreDisabled":true,"_PointerEvents":"none","eventHandler":{"__isSmartRef__":true,"id":23},"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"20":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"21":{"style":{"__isSmartRef__":true,"id":22},"chunkOwner":{"__isSmartRef__":true,"id":19},"_id":"_3427","storedString":"–","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"22":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"23":{"morph":{"__isSmartRef__":true,"id":19},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"24":{"_BorderWidth":1,"_Fill":null,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(17.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"25":{"sourceObj":{"__isSmartRef__":true,"id":18},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":0},"targetMethodName":"toggleCollapse","varMapping":{"__isSmartRef__":true,"id":26},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"26":{"source":{"__isSmartRef__":true,"id":18},"target":{"__isSmartRef__":true,"id":0}},"27":{"morph":{"__isSmartRef__":true,"id":18},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"28":{"submorphs":[{"__isSmartRef__":true,"id":29}],"scripts":[],"shape":{"__isSmartRef__":true,"id":34},"_ClipMode":"visible","derivationIds":["DE1D6472-3C4D-4DF2-BE3A-278247625658","1D62BF22-0CD4-4D8B-9162-16C68B6EC3BB","CE38DF81-CD03-443B-9FBF-7E60BF68E13E","08F9B858-43FC-4E4E-BCC5-0557B0E6EA48","A30B3345-5DAE-4740-B5C5-FA797F9464D9","93E73EF2-4657-4DC7-9937-5476AE4B19B4","C365FD0F-1995-4807-9531-2469E1637911","42663880-FB65-4E66-AFF6-C53829E077C5","EBEF3F39-FC0A-4D6E-9D31-D7E48BAC546D","39481C18-F206-406F-BD40-B6A06B955F85"],"id":"75F82555-C9E7-457D-B25D-1203CE62888C","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"accessibleInInactiveWindow":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":29},"_PreviousBorderWidth":0,"owner":{"__isSmartRef__":true,"id":1},"attributeConnections":[{"__isSmartRef__":true,"id":35}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"eventHandler":{"__isSmartRef__":true,"id":37},"isPressed":false,"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.WindowControl","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(700.0,3.0)"},"29":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":30},"_WhiteSpaceHandling":"pre","textChunks":[{"__isSmartRef__":true,"id":31}],"_ClipMode":"hidden","derivationIds":["8173963B-4D05-4F99-835C-A7906F34F4B0","FA521790-770F-4727-812C-45DD3ADB1540","17221259-C212-4CA3-801C-0EB287345C08","767CED42-814A-4754-B1B8-EE35135273FF","D31F66EB-D38F-4B13-8691-6CCB2D957539","B88D24B6-37A2-47A1-8E0C-3E52AB38FA67","274F444D-5B99-4822-A094-8CCD8B364975","50A9E3B7-6D6B-4A8E-A969-8386CC7726DC","5029F088-80B4-43D1-B538-6FAE10309654","7466416A-DF2A-4B2E-97C6-34D9581E072F"],"id":"14E236A1-5B8F-4D0F-8ECF-33D73A698DF6","_InputAllowed":false,"_HandStyle":"default","allowInput":false,"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"draggingEnabled":true,"fixedWidth":true,"fixedHeight":true,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":28},"isLabel":true,"eventsAreIgnored":true,"_TextStylingMode":true,"eventsAreDisabled":true,"_PointerEvents":"none","eventHandler":{"__isSmartRef__":true,"id":33},"__serializedExpressions__":["_TextColor","_Position"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(64,64,64)","_Position":"lively.pt(0.0,0.0)"},"30":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(40.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"31":{"style":{"__isSmartRef__":true,"id":32},"chunkOwner":{"__isSmartRef__":true,"id":29},"_id":"_3430","storedString":"Menu","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"32":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"33":{"morph":{"__isSmartRef__":true,"id":29},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"34":{"_BorderWidth":1,"_Fill":null,"_StrokeOpacity":0,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(40.0,17.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"35":{"sourceObj":{"__isSmartRef__":true,"id":28},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":0},"targetMethodName":"showTargetMorphMenu","varMapping":{"__isSmartRef__":true,"id":36},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"36":{"source":{"__isSmartRef__":true,"id":28},"target":{"__isSmartRef__":true,"id":0}},"37":{"morph":{"__isSmartRef__":true,"id":28},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"38":{"_BorderWidth":0,"_BorderColor":null,"_Fill":null,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"_BorderRadius":"8px 8px 0px 0px","__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(783.0,22.0)","_Padding":"lively.rect(0,0,0,0)"},"39":{"resizeWidth":true,"adjustForNewBounds":true},"40":{"morph":{"__isSmartRef__":true,"id":1},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"41":{"submorphs":[{"__isSmartRef__":true,"id":42},{"__isSmartRef__":true,"id":187},{"__isSmartRef__":true,"id":243},{"__isSmartRef__":true,"id":268},{"__isSmartRef__":true,"id":275},{"__isSmartRef__":true,"id":300},{"__isSmartRef__":true,"id":307},{"__isSmartRef__":true,"id":332}],"scripts":[],"id":"82677DD6-FCD4-4993-9879-D258FD91EAB9","shape":{"__isSmartRef__":true,"id":338},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"JanusVideoClient","partsBinMetaInfo":{"__isSmartRef__":true,"id":339},"eventHandler":{"__isSmartRef__":true,"id":361},"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","1C17567C-751A-447E-A93C-0CE8CAEEF262","C31986AF-AB07-427F-BD76-E0F3859AC975","5AED677E-DDDF-40AA-A60F-1C5D207C4E75","EDFC8052-0B1E-403B-ADB4-E657DAD12001","4D71ECE2-FDBB-45D0-87B5-2248D543A127","78C23EF7-F166-41B7-B828-4B4180B1DA9F","3F87D860-923E-486E-9F5A-9BB1C4FAC2CA","556CEF11-9B73-40D4-8B8F-38E57CDD7D48","B5269507-60AF-41F6-AA04-B3DFC5D21269","BA140D9F-C21E-470D-BD09-F7FDF08EEC02","DA1F2E6B-A586-47CE-86C0-2FE3057B4131","A5837E45-36BC-4259-9ED9-B565DF3F0BF7"],"partTests":{"__isSmartRef__":true,"id":362},"_ClipMode":"visible","moved":true,"droppingEnabled":true,"owner":{"__isSmartRef__":true,"id":0},"layout":{"__isSmartRef__":true,"id":367},"attributeConnections":[{"__isSmartRef__":true,"id":368}],"doNotSerialize":["$$ready"],"doNotCopyProperties":["$$ready"],"ready":true,"blocker":null,"l2lSession":{"__isSmartRef__":true,"id":370},"serverUrl":"http://192.168.1.74:8088/janus","feeds":{"__isSmartRef__":true,"id":383},"isCopyMorphRef":true,"morphRefId":1,"deleted":false,"currentRoom":1234,"janus":{"__isSmartRef__":true,"id":384},"mcu":{"__isSmartRef__":true,"id":385},"myid":359533380,"isBeingDragged":false,"__serializedExpressions__":["_Position"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":388},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(3.0,22.0)"},"42":{"submorphs":[{"__isSmartRef__":true,"id":43}],"scripts":[],"id":"396F874C-AC6F-4937-8E2C-F7D31BD94283","shape":{"__isSmartRef__":true,"id":72},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"ScreenContainer","partsBinMetaInfo":{"__isSmartRef__":true,"id":73},"eventHandler":{"__isSmartRef__":true,"id":93},"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","1C17567C-751A-447E-A93C-0CE8CAEEF262","C31986AF-AB07-427F-BD76-E0F3859AC975","CBDDB177-615A-4B52-85D1-2CCAD979ECBF","CFB3B845-E82A-4912-94BA-D59ED7F935B0","780A2425-5533-4BFA-91FB-E9758F1E0445","FA26261A-6C45-4663-B506-0F208331BEBE","0F0326A6-FFFA-4FB8-897F-3EEE6D3A96D5","370F2319-F838-4CB6-BE78-172630E9270E","BEF1F615-03DB-42E2-BE93-F18E57CD9302","00BB4C26-F379-41B3-8BBD-8349DB996A3F","610C23AB-7D23-46B4-8271-FBEC64CE2ED7","B2F5B6DF-93F5-4429-957D-28F3798B2E9A","B6B4474B-B28D-425B-B658-9E6C79426997","613AE811-6532-4EDF-BA56-55B0B638EE52","3BBE3237-01B0-4119-A0F7-13C7E4263690","16CDAE59-162A-4835-9F63-01DD8BC4103E","B7E0D35D-8FA0-4D55-BB42-23C4D18EC6F1","0999237E-292A-425B-9213-D3E683085139","876060E4-3209-4AA9-AF91-7D055B68D324","D822AD75-6869-47B0-AC99-0A9C4210F357","10E3E026-9AED-464A-81DF-637E2C672279","67864F97-C81A-4AF6-B456-A0062CC95C6D","B787EA5C-30EA-4482-A982-CB794B030846","41952FD7-F36C-4C58-B86A-22AEF6CE1124","7C98C1FB-863B-4A61-BF9B-1574775BD627","43345AF8-FCA9-4B44-97A2-DC3F8384E1E1","4FF354D7-B2A6-4835-9855-13BB4B21A0E7","437BE827-E884-40C4-B341-BB4E3AB0447C","CAB93923-7744-4543-A789-5DD403EE0018","DBB08B15-0D86-4E9B-ADE9-89FCA4A2BBB9","D1BDDE86-D650-4348-A54A-A34A53FBAEEB","32E95D9A-B1BA-449B-A513-9873ACF6EF00","C84A334F-AC15-4903-B017-0C10942AD80A","0D2A5E1B-F938-4362-ADC5-05ABBB517C23","9A0ECEE0-722C-474F-8211-9A1943D19179","895A4B49-AF99-4E2A-89B6-DDAC0E4FAD12","250348C4-D44B-4883-8F34-505E65198E31","552ED206-AAA0-4004-BAA8-CD764103A9A4","ADD64138-965D-47ED-AC30-3596BA36DDE8","682F3EA1-528E-4CC9-B7ED-4E0655CB879F","ECDAEBC6-7570-414C-BAA2-4D1FDEB23810","940756EE-0A39-4469-A8D4-E5AD46D3EE5E","88D4414B-B3B6-4AAB-934C-2D5376F00C44","50A9B4A4-0712-4D58-A81E-C7CC0C90F48D","3FDCF2D7-41A2-4D23-A4D2-8A6F629B4AAC","1651DBFD-1FE4-480F-9E5C-FD471A80588A"],"partTests":{"__isSmartRef__":true,"id":94},"_ClipMode":"hidden","moved":true,"droppingEnabled":true,"isBeingDragged":false,"prevScroll":[347,321],"videoStreams":0,"layout":{"__isSmartRef__":true,"id":99},"screenMappings":{"__isSmartRef__":true,"id":100},"mainScreen":null,"owner":{"__isSmartRef__":true,"id":41},"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":159},"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(4.0,153.0)","distanceToDragEvent":"lively.pt(445.0,-11.0)"},"43":{"submorphs":[],"scripts":[],"id":"C9A3C686-A40C-40C0-9979-387FFA9594DE","shape":{"__isSmartRef__":true,"id":44},"__layered_droppingEnabled__":true,"halosEnabled":true,"registeredForMouseEvents":true,"showsHalos":false,"name":"SmallScreensContainer","partsBinMetaInfo":{"__isSmartRef__":true,"id":45},"eventHandler":{"__isSmartRef__":true,"id":65},"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","1C17567C-751A-447E-A93C-0CE8CAEEF262","C31986AF-AB07-427F-BD76-E0F3859AC975","16DB7548-D858-45CC-896C-34484A398F7C","F599A934-2921-4567-A420-A5AF1BA61442","90F316FC-B02C-445C-9C37-D52ACFFBFF49","00FDF7E0-C389-4AEA-B874-744D43FBACBB","CE4FD44A-2797-4707-9A02-5A5A63B9F59F","0CC59334-0D8F-406D-B563-CEA376113D46","2EB498E7-3A60-43D8-9597-77B83269494B","B47E5E11-1D85-4D24-A6C5-FF529A213320","F8301D93-A928-4F88-8C6D-14A76E7D33C4","01BB4CF7-5546-4DC6-BD66-B65B495C32E7","5D55AB1E-2098-40EB-A55B-67DB7321B3EF","8FD237A3-39B2-4353-8018-6C10CB426DEB","F327FD48-4851-47BD-A0C9-93C872CBBE5D","F0930C95-FC47-4D5D-AF1D-82B3845B4DEB","2702FD3C-6AD9-4964-905E-D499B864BBB1","FBA0967F-FEF3-412E-8B42-A85B12ED5CBC","413678D6-154C-472F-BF96-57A5BB761976","6597805A-D8E9-4958-82EC-AFF62794DF24","79B9BD1A-E53B-42E9-91FD-1F20664A76A6","F3515646-B3FA-4468-9808-E93710EAA434","4E103A5C-8254-42E9-B180-91E5439F7923","8C0D44CF-2DC4-4376-8A5E-4A480DD93DC4","9A06495D-911A-4D13-AE1D-CB61D421CDAF","2F67F26B-A6F0-4DD5-B51D-DDAF055B9D79","65A3884D-BE52-43F1-878A-4B3AE8DE7197","B7AD2997-017B-4FBB-888B-51FD76A3094E","35D846D0-AAE3-4AB8-8948-E666B00D6C8A","A73C6949-A56B-4B57-A9FD-C9F37C1F88C0","528A71B3-340D-4FDB-8C7F-32EB19536E0D","505881D1-AF63-4E5C-98D1-4507C0DE4D29","EF0F23AA-7200-424E-BFB3-653CC03B93A5","6ECD52E5-6563-42C0-A80A-E12568BEFF27","49E98FFE-04A2-48B3-ACC3-AD88E660F84A","A82177EB-92D1-4D24-BF22-8D07CAB686CC","64CA468B-4A98-4C65-895F-1C301B796879","3A70E56B-C127-4892-8D5B-1A978A21DA1D","533E80CF-865D-4246-9D19-D489A5393DA8","1297548D-8771-4DA1-84C4-EEE81B0E98F4","16A6AEE3-D864-49BB-B272-5213132BFCB4","23287C07-4A5E-4687-9335-B372FACE1B57","A788C713-74A2-4462-9B71-3C5E986D0588","C0498F4E-C816-497F-A558-EB40216DEA32","D5DE7CA4-57E9-4B5E-8E6A-97B9AEAA77C8","B6A3E892-2EF3-40E2-80B1-FDC7E0719537"],"partTests":{"__isSmartRef__":true,"id":66},"_ClipMode":"auto","moved":true,"droppingEnabled":true,"owner":{"__isSmartRef__":true,"id":42},"isBeingDragged":false,"prevScroll":[0,0],"layout":{"__isSmartRef__":true,"id":71},"__serializedExpressions__":["_Position"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Box","__SourceModuleName__":"Global.lively.morphic.Core","_Position":"lively.pt(0.0,415.0)"},"44":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(768.0,149.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"45":{"partsSpaceName":"PartsBin/Basic","comment":"A plain simple rectangle","migrationLevel":8,"partName":"Rectangle","changes":[{"__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},{"__isSmartRef__":true,"id":56},{"__isSmartRef__":true,"id":57},{"__isSmartRef__":true,"id":58},{"__isSmartRef__":true,"id":59},{"__isSmartRef__":true,"id":60},{"__isSmartRef__":true,"id":61},{"__isSmartRef__":true,"id":62},{"__isSmartRef__":true,"id":63},{"__isSmartRef__":true,"id":64}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Mar 12 2014 07:00:28 GMT-0700 (PDT)\")"},"46":{"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)\")"},"47":{"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)\")"},"48":{"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)\")"},"49":{"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)\")"},"50":{"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)\")"},"51":{"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)\")"},"52":{"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)\")"},"53":{"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)\")"},"54":{"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)\")"},"55":{"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)\")"},"56":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Feb 24 2012 17:59:09 GMT-0800 (PST)\")"},"57":{"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)\")"},"58":{"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)\")"},"59":{"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)\")"},"60":{"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)\")"},"61":{"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)\")"},"62":{"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)\")"},"63":{"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)\")"},"64":{"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)\")"},"65":{"morph":{"__isSmartRef__":true,"id":43},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"66":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":67}},"67":{"test01IsMorph":{"__isSmartRef__":true,"id":68}},"68":{"varMapping":{"__isSmartRef__":true,"id":69},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":70},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"69":{"this":{"__isSmartRef__":true,"id":66}},"70":{},"71":{"moveVertical":true,"resizeWidth":true},"72":{"_BorderWidth":1.056,"_ClipMode":"visible","_BorderRadius":0,"_Opacity":1,"_BorderStyle":"solid","__serializedExpressions__":["position","_Extent","_BorderColor","_Fill","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(768.0,564.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"73":{"partsSpaceName":"PartsBin/Basic/","comment":"A plain simple rectangle","migrationLevel":8,"partName":"Rectangle","changes":[{"__isSmartRef__":true,"id":74},{"__isSmartRef__":true,"id":75},{"__isSmartRef__":true,"id":76},{"__isSmartRef__":true,"id":77},{"__isSmartRef__":true,"id":78},{"__isSmartRef__":true,"id":79},{"__isSmartRef__":true,"id":80},{"__isSmartRef__":true,"id":81},{"__isSmartRef__":true,"id":82},{"__isSmartRef__":true,"id":83},{"__isSmartRef__":true,"id":84},{"__isSmartRef__":true,"id":85},{"__isSmartRef__":true,"id":86},{"__isSmartRef__":true,"id":87},{"__isSmartRef__":true,"id":88},{"__isSmartRef__":true,"id":89},{"__isSmartRef__":true,"id":90},{"__isSmartRef__":true,"id":91},{"__isSmartRef__":true,"id":92}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Mar 12 2014 07:00:28 GMT-0700 (PDT)\")"},"74":{"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)\")"},"75":{"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)\")"},"76":{"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)\")"},"77":{"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)\")"},"78":{"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)\")"},"79":{"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)\")"},"80":{"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)\")"},"81":{"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)\")"},"82":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Feb 24 2012 17:59:09 GMT-0800 (PST)\")"},"83":{"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)\")"},"84":{"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)\")"},"85":{"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)\")"},"86":{"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)\")"},"87":{"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)\")"},"88":{"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)\")"},"89":{"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)\")"},"90":{"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)\")"},"91":{"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)\")"},"92":{"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)\")"},"93":{"morph":{"__isSmartRef__":true,"id":42},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"94":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":95}},"95":{"test01IsMorph":{"__isSmartRef__":true,"id":96}},"96":{"varMapping":{"__isSmartRef__":true,"id":97},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":98},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"97":{"this":{"__isSmartRef__":true,"id":94}},"98":{},"99":{"adjustForNewBounds":true,"resizeWidth":true,"resizeHeight":true},"100":{"4220796169":{"__isSmartRef__":true,"id":101}},"101":{"screen":{"__isSmartRef__":true,"id":102},"accessor":{"__isSmartRef__":true,"id":158},"added":true},"102":{"shape":{"__isSmartRef__":true,"id":103},"submorphs":[],"scripts":[],"_ClipMode":"auto","derivationIds":["3ABFAB66-3E1D-4B57-B4D3-DBF0D37DCE60","D3CB6A05-D42B-419A-992D-1DDF9DDED959","034779AD-D220-487C-A85D-C8C72ED576E0","334AD1D8-40EC-4B9C-818C-37699FB7674D","84D78072-9CDC-4D7A-9F75-56681F89DF7E","F19DA916-0485-4B6D-B336-3B804252F0AB","524F6B82-3EE0-4368-AA37-DC9BF0AC187E","EAFA5923-8B15-4F15-A967-226837C3BDBA","99ED38FB-9C21-41DD-8581-73A789669C26","6C11A546-5CEC-41C7-84AD-EAF8CC247F04","7311C32A-91AB-422C-B6F8-68F2C979BD99","519ABD29-7315-4089-A746-0DE8361DCECC","7DCB436E-5813-403A-9FA4-D35D94B6E546","A277934D-3BC2-4781-BBAF-0C3000B912D9","E6DC2597-5B90-4A8A-BDEE-E6F3DCEEA132","D1610C70-C799-443A-A5B4-AFCC29BF97F0","0ACF85E0-4BFB-4342-B6D6-F69CB36B1CA8","0A998CFB-5CAD-49C1-ACD5-118C19466E6F","03362844-94D7-4573-AF44-AB28D7318EF4"],"id":"264432CE-62F4-441C-83F1-2F4A1DBB123D","droppingEnabled":true,"halosEnabled":true,"_StyleClassNames":["Morph","HtmlWrapperMorph","selectable"],"eventHandler":{"__isSmartRef__":true,"id":104},"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":105},"name":"RemoteVideoScreen","prevScroll":[0,0],"isBeingDragged":false,"videoStream":{"__isSmartRef__":true,"id":124},"layout":{"__isSmartRef__":true,"id":125},"_Rotation":0,"_Scale":1,"owner":null,"__serializedExpressions__":["_Position","distanceToDragEvent"],"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":126},"__LivelyClassName__":"lively.morphic.HtmlWrapperMorph","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(75.0,0.0)","distanceToDragEvent":"lively.pt(437.0,-11.0)"},"103":{"_BorderWidth":0,"stringifiedShapeNode":"<div xmlns=\"http://www.w3.org/1999/xhtml\" data-lively-morphid=\"264432CE-62F4-441C-83F1-2F4A1DBB123D\" class=\"Morph HtmlWrapperMorph selectable\" id=\"null\" style=\"overflow: auto; border: 0px solid rgb(255, 255, 255); padding: 0px; width: 553.333333333333px; height: 415px; position: absolute; left: 0px; top: 0px; background: rgb(247, 247, 247);\"><video width=\"0\" height=\"0\" id=\"video\"></video></div>","_BorderRadius":0,"__serializedExpressions__":["_Padding","_Position","_Extent","_Fill","extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.External","__SourceModuleName__":"Global.lively.morphic.Shapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(553.3,415.0)","_Fill":"Color.rgb(247,247,247)","extent":"lively.pt(0.0,0.0)","_BorderColor":"Color.rgb(255,255,255)"},"104":{"morph":{"__isSmartRef__":true,"id":102},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"105":{"partName":"RemoteVideoScreen","requiredModules":[],"partsSpaceName":"PartsBin/Felix","comment":"Video screen to show the remote video during video calls","changes":[{"__isSmartRef__":true,"id":106},{"__isSmartRef__":true,"id":107},{"__isSmartRef__":true,"id":108},{"__isSmartRef__":true,"id":109},{"__isSmartRef__":true,"id":110},{"__isSmartRef__":true,"id":111},{"__isSmartRef__":true,"id":112},{"__isSmartRef__":true,"id":113},{"__isSmartRef__":true,"id":114},{"__isSmartRef__":true,"id":115},{"__isSmartRef__":true,"id":116},{"__isSmartRef__":true,"id":117},{"__isSmartRef__":true,"id":118},{"__isSmartRef__":true,"id":119},{"__isSmartRef__":true,"id":120},{"__isSmartRef__":true,"id":121},{"__isSmartRef__":true,"id":122},{"__isSmartRef__":true,"id":123}],"migrationLevel":8,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Mon Oct 13 2014 17:28:34 GMT-0700 (PDT)\")"},"106":{"author":"Felix","message":"no comment","id":"C0B6C053-F2DF-4623-BA69-4264D51D489B","__serializedExpressions__":["date"],"date":"new Date(\"Wed Oct 01 2014 11:39:21 GMT-0700 (PDT)\")"},"107":{"author":"Felix","message":"no comment","id":"AD88A605-E189-4413-93AD-76E016F4002D","__serializedExpressions__":["date"],"date":"new Date(\"Tue Sep 30 2014 17:47:47 GMT-0700 (PDT)\")"},"108":{"author":"Felix","message":"no comment","id":"09F25D55-CBC2-4571-BA3B-C753B9A3DA76","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 17 2014 11:38:12 GMT-0700 (PDT)\")"},"109":{"author":"Felix","message":"no comment","id":"0857F38C-AA5A-4BC1-93B9-DF50D54978BA","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 17:13:36 GMT-0700 (PDT)\")"},"110":{"author":"Felix","message":"no comment","id":"88D77A70-F30A-4F5E-9428-7B3A223A612C","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 16:59:24 GMT-0700 (PDT)\")"},"111":{"author":"Felix","message":"no comment","id":"3AF61770-FDB7-47F7-8A96-9F72BEF4B07A","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 09:57:39 GMT-0700 (PDT)\")"},"112":{"author":"robertkrahn","message":"clipped","id":"287FA9C0-4815-46CD-B588-28102199A3F0","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 16:29:38 GMT-0800 (PST)\")"},"113":{"author":"robertkrahn","message":"clipped","id":"D4A9A56A-16E6-4D3D-9B42-425F9CE8E8B6","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 16:29:30 GMT-0800 (PST)\")"},"114":{"author":"robertkrahn","message":"no comment","id":"FC45EDD5-3632-41E9-8CCF-1E7BF0F5B7FA","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 15:35:06 GMT-0800 (PST)\")"},"115":{"author":"robertkrahn","message":"no comment","id":"4B305BE4-1B35-4BBB-ABCE-D255D563CBD9","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 15:34:42 GMT-0800 (PST)\")"},"116":{"author":"robertkrahn","message":"Fixed reset as suggested by Rick. Thanks Rick!","id":"C9389773-D839-4E3C-AF10-28F6282541BB","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jul 17 2014 12:02:10 GMT-0700 (PDT)\")"},"117":{"author":"Felix","message":"no comment","id":"DA5F2553-C571-4C5F-BE03-F34BFE597DCB","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 16:57:32 GMT-0700 (PDT)\")"},"118":{"author":"Felix","message":"no comment","id":"B885FE7C-2AE8-40C9-98B2-454801DAEAAD","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 17 2014 11:51:14 GMT-0700 (PDT)\")"},"119":{"author":"Felix","message":"no comment","id":"F5EB70F2-0C07-455E-9C56-C4B4399D75A6","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 17 2014 11:57:10 GMT-0700 (PDT)\")"},"120":{"author":"Felix","message":"no comment","id":"8ADFF105-D597-4120-9BB9-185D78A0120B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Sep 19 2014 11:51:40 GMT-0700 (PDT)\")"},"121":{"author":"Felix","message":"no comment","id":"1D3E1C17-4E3F-4100-BC8A-89483E845DD6","__serializedExpressions__":["date"],"date":"new Date(\"Fri Sep 19 2014 11:58:39 GMT-0700 (PDT)\")"},"122":{"author":"Felix","message":"no comment","id":"D883CD05-D40C-4DCB-B670-D2D39B226F1E","__serializedExpressions__":["date"],"date":"new Date(\"Wed Oct 01 2014 11:25:15 GMT-0700 (PDT)\")"},"123":{"author":"Felix","message":"no comment","id":"1CBD1EB7-4B4E-49E0-9949-FB6F8310827F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Oct 13 2014 17:28:33 GMT-0700 (PDT)\")"},"124":{"onremovetrack":null,"onaddtrack":null,"onended":null,"ended":true,"id":"janus","label":"janus"},"125":{"resizeWidth":true,"resizeHeight":true},"126":{"isPlaying":{"__isSmartRef__":true,"id":127},"reset":{"__isSmartRef__":true,"id":130},"startVideo":{"__isSmartRef__":true,"id":133},"stopVideo":{"__isSmartRef__":true,"id":136},"playStream":{"__isSmartRef__":true,"id":139},"registerEventOnScreen":{"__isSmartRef__":true,"id":142},"swapScreen":{"__isSmartRef__":true,"id":145},"setExtent":{"__isSmartRef__":true,"id":148},"getVideoElement":{"__isSmartRef__":true,"id":155}},"127":{"varMapping":{"__isSmartRef__":true,"id":128},"source":"function isPlaying() {\n    var video = this.jQuery().children('video').get(0);\n    \n    // when the video element has no source attribute, it is \n    // not playing any stream\n    return !!video.src;\n}","funcProperties":{"__isSmartRef__":true,"id":129},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"128":{"this":{"__isSmartRef__":true,"id":102}},"129":{"user":"Felix","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Fri Sep 19 2014 11:51:17 GMT-0700 (PDT)\")"},"130":{"varMapping":{"__isSmartRef__":true,"id":131},"source":"function reset() {\n    this.setClipMode(\"auto\");\n    this.jQuery().html(\"<video width=0 height=0 id='video'></video>\");\n}","funcProperties":{"__isSmartRef__":true,"id":132},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"131":{"this":{"__isSmartRef__":true,"id":102}},"132":{"user":"unknown_user","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sat Sep 06 2014 22:34:16 GMT-0700 (PDT)\")"},"133":{"varMapping":{"__isSmartRef__":true,"id":134},"source":"function startVideo(mediaStream, callback) {\n    // if no stream provided, use webcam instead\n    if (mediaStream) {\n        this.playStream(mediaStream);\n        if (callback) callback(null, mediaStream);\n    } else {\n        navigator.getUserMedia = \n        navigator.getUserMedia || \n        navigator.webkitGetUserMedia || \n        navigator.mozGetUserMedia;\n\n        var constraints = {video: true, audio: true};\n        var panel = this;\n        \n        function sucCallback(localMediaStream) {\n            panel.playStream(localMediaStream);\n            if (callback) callback(null, localMediaStream);\n        }\n        \n        function errCallback(err) {\n            console.error('VideoScreen Error: ', err);\n            if (callback) callback(err);\n        }\n        \n        navigator.getUserMedia(constraints, sucCallback, errCallback);\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":135},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"134":{"this":{"__isSmartRef__":true,"id":102}},"135":{"user":"robin","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Sep 08 2014 12:08:49 GMT-0700 (PDT)\")"},"136":{"varMapping":{"__isSmartRef__":true,"id":137},"source":"function stopVideo() {\n    if (!this.videoStream || !this.isPlaying()) return;\n    \n    this.videoStream.stop();\n    this.reset();\n}","funcProperties":{"__isSmartRef__":true,"id":138},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"137":{"this":{"__isSmartRef__":true,"id":102}},"138":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Fri Sep 19 2014 11:58:14 GMT-0700 (PDT)\")"},"139":{"varMapping":{"__isSmartRef__":true,"id":140},"source":"function playStream(mediaStream) {\n    this.videoStream = mediaStream;\n    var video = this.jQuery().children('video').get(0);\n    // sometimes the video pauses, so we just restart it\n    video.addEventListener('pause', function() {\n        console.log('Video: paused -> restart');\n        video.play();\n    }, false);\n    var extent = this.getExtent();\n    video.height = extent.y;\n    video.width = extent.x;\n    video.src = window.URL.createObjectURL(mediaStream);\n    video.play();\n}","funcProperties":{"__isSmartRef__":true,"id":141},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"140":{"this":{"__isSmartRef__":true,"id":102}},"141":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Oct 01 2014 11:23:56 GMT-0700 (PDT)\")"},"142":{"varMapping":{"__isSmartRef__":true,"id":143},"source":"function registerEventOnScreen(event, callback) {\n    var video = this.jQuery().children('video').get(0);\n    video.addEventListener(event, callback);\n}","funcProperties":{"__isSmartRef__":true,"id":144},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"143":{"this":{"__isSmartRef__":true,"id":102}},"144":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Sep 15 2014 17:12:59 GMT-0700 (PDT)\")"},"145":{"varMapping":{"__isSmartRef__":true,"id":146},"source":"function swapScreen(initiator) {\n    var mainScreen = this.get('MainRemoteVideoScreen');\n}","funcProperties":{"__isSmartRef__":true,"id":147},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"146":{"this":{"__isSmartRef__":true,"id":102}},"147":{"user":"Felix","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Sep 17 2014 12:04:32 GMT-0700 (PDT)\")"},"148":{"varMapping":{"__isSmartRef__":true,"id":149},"source":"function setExtent(newExt) {\n    $super(newExt);\n    var video = this.jQuery().children('video').get(0);\n    video.height = newExt.y;\n    video.width = newExt.x;\n}","funcProperties":{"__isSmartRef__":true,"id":154},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"149":{"this":{"__isSmartRef__":true,"id":102},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":150}},"150":{"$super":{"__isSmartRef__":true,"id":151}},"151":{"varMapping":{"__isSmartRef__":true,"id":152},"source":"function () {\n                try {\n                    // FIXME super is supposed to be static\n                    return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n                } catch (e) {\n                    if ($world)\n                        $world.logError(e, 'Error in $super call')\n                    else\n                        alert('Error in $super call: ' + e + '\\n' + e.stack);\n                    return null;\n                }\n            }","funcProperties":{"__isSmartRef__":true,"id":153},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"152":{"obj":{"__isSmartRef__":true,"id":102},"name":"setExtent"},"153":{},"154":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Oct 01 2014 11:25:03 GMT-0700 (PDT)\")"},"155":{"varMapping":{"__isSmartRef__":true,"id":156},"source":"function getVideoElement() {\n    return this.jQuery().children('video').get(0);\n}","funcProperties":{"__isSmartRef__":true,"id":157},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"156":{"this":{"__isSmartRef__":true,"id":102}},"157":{"user":"Felix","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Oct 13 2014 17:28:17 GMT-0700 (PDT)\")"},"158":{},"159":{"addScreen":{"__isSmartRef__":true,"id":160},"removeScreen":{"__isSmartRef__":true,"id":163},"getFreePosition":{"__isSmartRef__":true,"id":166},"swapScreen":{"__isSmartRef__":true,"id":169},"requestScreen":{"__isSmartRef__":true,"id":172},"reorderScreens":{"__isSmartRef__":true,"id":175},"createScreen":{"__isSmartRef__":true,"id":178},"moveToMainScreen":{"__isSmartRef__":true,"id":181},"reset":{"__isSmartRef__":true,"id":184}},"160":{"varMapping":{"__isSmartRef__":true,"id":161},"source":"function addScreen(screen) {\n    var container = this.get('SmallScreensContainer');\n    screen.setPosition(this.getFreePosition());\n    var height = container.getExtent().y;\n    screen.setExtent(lively.pt(4/3 * height, height));\n    container.addMorph(screen);\n    \n    // if there is no main screen yet, move it there\n    if (!this.mainScreen) {\n        this.moveToMainScreen(screen);\n    }\n    \n    var _this = this;\n    screen.onMouseUp = function() {\n        _this.swapScreen(screen);\n    }\n    \n    \n    // var container = this.get('SmallScreensContainer');\n    // var index = container.submorphs.length;\n    \n    // screen.index = index;\n    // screen.setName('RemoteVideoScreen' + index);\n    // screen.setPosition(this.getFreePosition());\n    // container.addMorph(screen);\n    \n    // return screen;\n}","funcProperties":{"__isSmartRef__":true,"id":162},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"161":{"this":{"__isSmartRef__":true,"id":42}},"162":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Oct 01 2014 11:43:08 GMT-0700 (PDT)\")"},"163":{"varMapping":{"__isSmartRef__":true,"id":164},"source":"function removeScreen(screen) {\n    // if the removed screen was the main screen,\n    // check if there is a new candidate and swap it\n    if (this.mainScreen == screen) {\n        var container = this.get('SmallScreensContainer');\n        var newMain = container.submorphs.first();\n        if (newMain) {\n            this.moveToMainScreen(newMain);\n        } else {\n            this.mainScreen = null;\n        }\n        screen.remove();\n    } else {\n        // if it wasn't the main screen, just reorder the\n        // small screens after it was removed\n        screen.remove();\n        this.reorderScreens();\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":165},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"164":{"this":{"__isSmartRef__":true,"id":42}},"165":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Sep 30 2014 18:20:50 GMT-0700 (PDT)\")"},"166":{"varMapping":{"__isSmartRef__":true,"id":167},"source":"function getFreePosition() {\n    var padding = 2;\n    var position = lively.pt(padding, padding);\n    var container = this.get('SmallScreensContainer');\n    \n    container.submorphs.forEach(function(ea) {\n        var pos = ea.getPosition();\n        if (pos.x >= position.x) {\n            position = pos.addPt(lively.pt(ea.getExtent().x + padding, 0));\n        }\n    });\n    \n    return position;\n}","funcProperties":{"__isSmartRef__":true,"id":168},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"167":{"this":{"__isSmartRef__":true,"id":42}},"168":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Sep 17 2014 15:15:11 GMT-0700 (PDT)\")"},"169":{"varMapping":{"__isSmartRef__":true,"id":170},"source":"function swapScreen(initiator) {\n    var mainScreen = this.get('MainRemoteVideoScreen');\n    this.moveToMainScreen(initiator);\n}","funcProperties":{"__isSmartRef__":true,"id":171},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"170":{"this":{"__isSmartRef__":true,"id":42}},"171":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Oct 01 2014 11:44:58 GMT-0700 (PDT)\")"},"172":{"varMapping":{"__isSmartRef__":true,"id":173},"source":"function requestScreen(remotePeerId) {\n    // create an empty list to map connections to screens, \n    // if it doesn't exist yet\n    if (!this.screenMappings) {\n        this.screenMappings = {};\n    }\n    \n    // if there is a screen for this peer already,\n    // just return the accossor\n    if (this.screenMappings[remotePeerId]) {\n        return this.screenMappings[remotePeerId].accessor;\n    }\n    \n    var container = this;\n    \n    var screen = this.createScreen();\n    \n    // The client accesses the screen just through the accessor.\n    // This has the benefit, that we can e.g. intercept adding\n    // two screens for one remote stream.\n    var screenAccessor = {\n        startVideo: function(stream) {\n            // if the screen has not been added so far, do it now\n            if (!container.screenMappings[remotePeerId].added) {\n                container.addScreen(screen);\n                container.screenMappings[remotePeerId].added = true;\n            }\n            // then start the video on the actual screen\n            screen.startVideo(stream);\n        },\n        stopVideo: function() {\n            screen.stopVideo();\n        },\n        registerEventOnScreen: function(event, callback) {\n            screen.registerEventOnScreen(event, callback);\n        },\n        getName: function() {\n            return screen.getName();\n        },\n        remove: function() {\n            container.removeScreen(screen);\n            delete container.screenMappings[remotePeerId];\n        },\n        reset: function() {\n            screen.reset();\n        },\n        getActualScreen: function() {\n            return screen;\n        },\n        showBitrate: function(bitrate) {\n            screen.showBitrate(bitrate);\n        }\n    }\n    \n    this.screenMappings[remotePeerId] = {\n        'screen': screen,\n        'accessor': screenAccessor,\n        'added': false\n    };\n\n    return screenAccessor;\n}","funcProperties":{"__isSmartRef__":true,"id":174},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"173":{"this":{"__isSmartRef__":true,"id":42}},"174":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Fri Oct 31 2014 11:56:27 GMT-0700 (PDT)\")"},"175":{"varMapping":{"__isSmartRef__":true,"id":176},"source":"function reorderScreens() {\n    var padding = 2;\n    var container = this.get('SmallScreensContainer');\n    var screens = container.submorphs;\n    \n    var currentX = padding;\n    screens.forEach(function(screen) {\n        screen.setPosition(lively.pt(currentX, padding));\n        currentX += screen.getExtent().x;\n    });\n}","funcProperties":{"__isSmartRef__":true,"id":177},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"176":{"this":{"__isSmartRef__":true,"id":42}},"177":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Sep 22 2014 11:43:18 GMT-0700 (PDT)\")"},"178":{"varMapping":{"__isSmartRef__":true,"id":179},"source":"function createScreen() {\n    var screen = $world.loadPartItem('RemoteVideoScreen', 'PartsBin/Felix');\n    screen.setName('RemoteVideoScreen');\n    \n    return screen;\n}","funcProperties":{"__isSmartRef__":true,"id":180},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"179":{"this":{"__isSmartRef__":true,"id":42}},"180":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Sep 30 2014 16:29:44 GMT-0700 (PDT)\")"},"181":{"varMapping":{"__isSmartRef__":true,"id":182},"source":"function moveToMainScreen(screen) {\n    // add the previous main screen to the small screens and\n    // remove it as main screen\n    var container = this.get('SmallScreensContainer');\n    var smallHeight = container.getExtent().y;\n    if (this.mainScreen) {\n        this.mainScreen.remove();\n        this.mainScreen.setPosition(this.getFreePosition());\n        this.mainScreen.setExtent(lively.pt(4/3 * smallHeight, smallHeight));\n        \n        container.addMorph(this.mainScreen);\n    }\n    \n    // then set the screen as the new main screen\n    this.mainScreen = screen;\n    screen.remove();\n    this.reorderScreens();\n    var mainHeight = this.getExtent().y - smallHeight;\n    screen.setExtent(lively.pt(4/3 * mainHeight, mainHeight));\n    screen.setPosition(lively.pt(75, 0));\n    this.addMorph(screen);\n}","funcProperties":{"__isSmartRef__":true,"id":183},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"182":{"this":{"__isSmartRef__":true,"id":42}},"183":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Oct 01 2014 11:40:02 GMT-0700 (PDT)\")"},"184":{"varMapping":{"__isSmartRef__":true,"id":185},"source":"function reset() {\n    if (this.mainScreen) {\n        this.mainScreen.remove();\n        this.mainScreen = null;\n    }\n    var container = this.get('SmallScreensContainer');\n    container.submorphs.forEach(function(screen) {\n        screen.remove();\n    });\n    \n    this.screenMappings = {};\n}","funcProperties":{"__isSmartRef__":true,"id":186},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"185":{"this":{"__isSmartRef__":true,"id":42}},"186":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Oct 01 2014 13:05:40 GMT-0700 (PDT)\")"},"187":{"shape":{"__isSmartRef__":true,"id":188},"submorphs":[],"scripts":[],"_ClipMode":"auto","derivationIds":["3ABFAB66-3E1D-4B57-B4D3-DBF0D37DCE60","D3CB6A05-D42B-419A-992D-1DDF9DDED959","034779AD-D220-487C-A85D-C8C72ED576E0","334AD1D8-40EC-4B9C-818C-37699FB7674D","84D78072-9CDC-4D7A-9F75-56681F89DF7E","F19DA916-0485-4B6D-B336-3B804252F0AB","524F6B82-3EE0-4368-AA37-DC9BF0AC187E","EAFA5923-8B15-4F15-A967-226837C3BDBA","99ED38FB-9C21-41DD-8581-73A789669C26","6C11A546-5CEC-41C7-84AD-EAF8CC247F04","7311C32A-91AB-422C-B6F8-68F2C979BD99","519ABD29-7315-4089-A746-0DE8361DCECC","7DCB436E-5813-403A-9FA4-D35D94B6E546","A277934D-3BC2-4781-BBAF-0C3000B912D9","E6DC2597-5B90-4A8A-BDEE-E6F3DCEEA132","D1610C70-C799-443A-A5B4-AFCC29BF97F0","0ACF85E0-4BFB-4342-B6D6-F69CB36B1CA8","0A998CFB-5CAD-49C1-ACD5-118C19466E6F","03362844-94D7-4573-AF44-AB28D7318EF4","83803C1B-84F7-4EA3-990E-07E5AFB08180","6632979D-B56C-4A95-B3C5-30D4AAB90691","69D9354D-CEF2-4DA0-8EBA-30A4ACD46E6B","091C1D2C-4ED0-493D-8454-E4B02A2312C3","B60E31BE-0FAF-44BC-8597-6FCFB0008872","A13CD959-F446-411E-A5E2-38C43C55C84F","2B9C6950-CDEA-4482-B57D-323A0B30CE54","5A39ABEF-E3BC-4C9B-9332-AB9B8632AD90","1BE3A534-1975-4387-838B-3B8C32FBBEC1","E56639B4-3807-469E-9BBE-5E317E183065"],"id":"243998FC-00ED-4772-A781-1AA46B64D1FD","droppingEnabled":true,"halosEnabled":true,"_StyleClassNames":["Morph","HtmlWrapperMorph","selectable"],"eventHandler":{"__isSmartRef__":true,"id":189},"showsHalos":false,"partsBinMetaInfo":{"__isSmartRef__":true,"id":190},"name":"WebcamScreen","prevScroll":[0,0],"isBeingDragged":false,"videoStream":{"__isSmartRef__":true,"id":209},"layout":{"__isSmartRef__":true,"id":210},"owner":{"__isSmartRef__":true,"id":41},"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":211},"__LivelyClassName__":"lively.morphic.HtmlWrapperMorph","__SourceModuleName__":"Global.lively.morphic.AdditionalMorphs","_Position":"lively.pt(570.0,5.0)","distanceToDragEvent":"lively.pt(130.0,-9.0)"},"188":{"_BorderWidth":0,"stringifiedShapeNode":"<div xmlns=\"http://www.w3.org/1999/xhtml\" data-lively-morphid=\"243998FC-00ED-4772-A781-1AA46B64D1FD\" class=\"Morph HtmlWrapperMorph selectable\" id=\"null\" style=\"overflow: auto; border: 0px solid rgb(255, 255, 255); padding: 0px; width: 202px; height: 142px; position: absolute; left: 0px; top: 0px; background: rgb(247, 247, 247);\"><video width=\"0\" height=\"0\" id=\"video\"></video></div>","_BorderRadius":0,"__serializedExpressions__":["_Padding","_Position","_Extent","_Fill","extent","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.External","__SourceModuleName__":"Global.lively.morphic.Shapes","_Padding":"lively.rect(0,0,0,0)","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(202.0,142.0)","_Fill":"Color.rgb(247,247,247)","extent":"lively.pt(202.0,142.0)","_BorderColor":"Color.rgb(255,255,255)"},"189":{"morph":{"__isSmartRef__":true,"id":187},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"190":{"partName":"RemoteVideoScreen","requiredModules":[],"partsSpaceName":"PartsBin/Felix/","comment":"Video screen to show the remote video during video calls","changes":[{"__isSmartRef__":true,"id":191},{"__isSmartRef__":true,"id":192},{"__isSmartRef__":true,"id":193},{"__isSmartRef__":true,"id":194},{"__isSmartRef__":true,"id":195},{"__isSmartRef__":true,"id":196},{"__isSmartRef__":true,"id":197},{"__isSmartRef__":true,"id":198},{"__isSmartRef__":true,"id":199},{"__isSmartRef__":true,"id":200},{"__isSmartRef__":true,"id":201},{"__isSmartRef__":true,"id":202},{"__isSmartRef__":true,"id":203},{"__isSmartRef__":true,"id":204},{"__isSmartRef__":true,"id":205},{"__isSmartRef__":true,"id":206},{"__isSmartRef__":true,"id":207},{"__isSmartRef__":true,"id":208}],"migrationLevel":8,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Mon Oct 13 2014 17:28:34 GMT-0700 (PDT)\")"},"191":{"author":"Felix","message":"no comment","id":"1CBD1EB7-4B4E-49E0-9949-FB6F8310827F","__serializedExpressions__":["date"],"date":"new Date(\"Mon Oct 13 2014 17:28:33 GMT-0700 (PDT)\")"},"192":{"author":"Felix","message":"no comment","id":"D883CD05-D40C-4DCB-B670-D2D39B226F1E","__serializedExpressions__":["date"],"date":"new Date(\"Wed Oct 01 2014 11:25:15 GMT-0700 (PDT)\")"},"193":{"author":"Felix","message":"no comment","id":"1D3E1C17-4E3F-4100-BC8A-89483E845DD6","__serializedExpressions__":["date"],"date":"new Date(\"Fri Sep 19 2014 11:58:39 GMT-0700 (PDT)\")"},"194":{"author":"Felix","message":"no comment","id":"8ADFF105-D597-4120-9BB9-185D78A0120B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Sep 19 2014 11:51:40 GMT-0700 (PDT)\")"},"195":{"author":"Felix","message":"no comment","id":"F5EB70F2-0C07-455E-9C56-C4B4399D75A6","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 17 2014 11:57:10 GMT-0700 (PDT)\")"},"196":{"author":"Felix","message":"no comment","id":"B885FE7C-2AE8-40C9-98B2-454801DAEAAD","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 17 2014 11:51:14 GMT-0700 (PDT)\")"},"197":{"author":"Felix","message":"no comment","id":"DA5F2553-C571-4C5F-BE03-F34BFE597DCB","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 16:57:32 GMT-0700 (PDT)\")"},"198":{"author":"robertkrahn","message":"Fixed reset as suggested by Rick. Thanks Rick!","id":"C9389773-D839-4E3C-AF10-28F6282541BB","__serializedExpressions__":["date"],"date":"new Date(\"Thu Jul 17 2014 12:02:10 GMT-0700 (PDT)\")"},"199":{"author":"robertkrahn","message":"no comment","id":"4B305BE4-1B35-4BBB-ABCE-D255D563CBD9","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 15:34:42 GMT-0800 (PST)\")"},"200":{"author":"robertkrahn","message":"no comment","id":"FC45EDD5-3632-41E9-8CCF-1E7BF0F5B7FA","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 15:35:06 GMT-0800 (PST)\")"},"201":{"author":"robertkrahn","message":"clipped","id":"D4A9A56A-16E6-4D3D-9B42-425F9CE8E8B6","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 16:29:30 GMT-0800 (PST)\")"},"202":{"author":"robertkrahn","message":"clipped","id":"287FA9C0-4815-46CD-B588-28102199A3F0","__serializedExpressions__":["date"],"date":"new Date(\"Wed Feb 12 2014 16:29:38 GMT-0800 (PST)\")"},"203":{"author":"Felix","message":"no comment","id":"3AF61770-FDB7-47F7-8A96-9F72BEF4B07A","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 09:57:39 GMT-0700 (PDT)\")"},"204":{"author":"Felix","message":"no comment","id":"88D77A70-F30A-4F5E-9428-7B3A223A612C","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 16:59:24 GMT-0700 (PDT)\")"},"205":{"author":"Felix","message":"no comment","id":"0857F38C-AA5A-4BC1-93B9-DF50D54978BA","__serializedExpressions__":["date"],"date":"new Date(\"Mon Sep 15 2014 17:13:36 GMT-0700 (PDT)\")"},"206":{"author":"Felix","message":"no comment","id":"09F25D55-CBC2-4571-BA3B-C753B9A3DA76","__serializedExpressions__":["date"],"date":"new Date(\"Wed Sep 17 2014 11:38:12 GMT-0700 (PDT)\")"},"207":{"author":"Felix","message":"no comment","id":"AD88A605-E189-4413-93AD-76E016F4002D","__serializedExpressions__":["date"],"date":"new Date(\"Tue Sep 30 2014 17:47:47 GMT-0700 (PDT)\")"},"208":{"author":"Felix","message":"no comment","id":"C0B6C053-F2DF-4623-BA69-4264D51D489B","__serializedExpressions__":["date"],"date":"new Date(\"Wed Oct 01 2014 11:39:21 GMT-0700 (PDT)\")"},"209":{"onremovetrack":null,"onaddtrack":null,"onended":null,"ended":true,"id":"15zYAzp4yWyOA3ZDF2vaC41iuibGnCwr8Ipv","label":"15zYAzp4yWyOA3ZDF2vaC41iuibGnCwr8Ipv"},"210":{"resizeWidth":false,"resizeHeight":false,"moveVertical":false,"moveHorizontal":true,"adjustForNewBounds":false},"211":{"isPlaying":{"__isSmartRef__":true,"id":212},"reset":{"__isSmartRef__":true,"id":215},"startVideo":{"__isSmartRef__":true,"id":218},"stopVideo":{"__isSmartRef__":true,"id":221},"playStream":{"__isSmartRef__":true,"id":224},"registerEventOnScreen":{"__isSmartRef__":true,"id":227},"swapScreen":{"__isSmartRef__":true,"id":230},"setExtent":{"__isSmartRef__":true,"id":233},"getVideoElement":{"__isSmartRef__":true,"id":240}},"212":{"varMapping":{"__isSmartRef__":true,"id":213},"source":"function isPlaying() {\n    var video = this.jQuery().children('video').get(0);\n    \n    // when the video element has no source attribute, it is \n    // not playing any stream\n    return !!video.src;\n}","funcProperties":{"__isSmartRef__":true,"id":214},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"213":{"this":{"__isSmartRef__":true,"id":187}},"214":{"user":"Felix","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Fri Sep 19 2014 11:51:17 GMT-0700 (PDT)\")"},"215":{"varMapping":{"__isSmartRef__":true,"id":216},"source":"function reset() {\n    this.setClipMode(\"auto\");\n    this.jQuery().html(\"<video width=0 height=0 id='video'></video>\");\n}","funcProperties":{"__isSmartRef__":true,"id":217},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"216":{"this":{"__isSmartRef__":true,"id":187}},"217":{"user":"unknown_user","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Sat Sep 06 2014 22:34:16 GMT-0700 (PDT)\")"},"218":{"varMapping":{"__isSmartRef__":true,"id":219},"source":"function startVideo(mediaStream, callback) {\n    // if no stream provided, use webcam instead\n    if (mediaStream) {\n        this.playStream(mediaStream);\n        if (callback) callback(null, mediaStream);\n    } else {\n        navigator.getUserMedia = \n        navigator.getUserMedia || \n        navigator.webkitGetUserMedia || \n        navigator.mozGetUserMedia;\n\n        var constraints = {video: true, audio: true};\n        var panel = this;\n\n        function sucCallback(localMediaStream) {\n            panel.playStream(localMediaStream);\n            if (callback) callback(null, localMediaStream);\n        }\n        \n        function errCallback(err) {\n            console.error('VideoScreen Error: ', err);\n            if (callback) callback(err);\n        }\n        \n        navigator.getUserMedia(constraints, sucCallback, errCallback);\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":220},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"219":{"this":{"__isSmartRef__":true,"id":187}},"220":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Fri Oct 31 2014 12:08:54 GMT-0700 (PDT)\")"},"221":{"varMapping":{"__isSmartRef__":true,"id":222},"source":"function stopVideo() {\n    if (!this.videoStream || !this.isPlaying()) return;\n    \n    this.videoStream.stop();\n    this.reset();\n}","funcProperties":{"__isSmartRef__":true,"id":223},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"222":{"this":{"__isSmartRef__":true,"id":187}},"223":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Fri Sep 19 2014 11:58:14 GMT-0700 (PDT)\")"},"224":{"varMapping":{"__isSmartRef__":true,"id":225},"source":"function playStream(mediaStream) {\n    this.videoStream = mediaStream;\n    var video = this.jQuery().children('video').get(0);\n    // sometimes the video pauses, so we just restart it\n    video.addEventListener('pause', function() {\n        console.log('Video: paused -> restart');\n        video.play();\n    }, false);\n    var extent = this.getExtent();\n    video.height = extent.y;\n    video.width = extent.x;\n    video.src = window.URL.createObjectURL(mediaStream);\n    video.muted = 'muted';\n    video.play();\n}","funcProperties":{"__isSmartRef__":true,"id":226},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"225":{"this":{"__isSmartRef__":true,"id":187}},"226":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Fri Oct 31 2014 12:09:20 GMT-0700 (PDT)\")"},"227":{"varMapping":{"__isSmartRef__":true,"id":228},"source":"function registerEventOnScreen(event, callback) {\n    var video = this.jQuery().children('video').get(0);\n    video.addEventListener(event, callback);\n}","funcProperties":{"__isSmartRef__":true,"id":229},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"228":{"this":{"__isSmartRef__":true,"id":187}},"229":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Sep 15 2014 17:12:59 GMT-0700 (PDT)\")"},"230":{"varMapping":{"__isSmartRef__":true,"id":231},"source":"function swapScreen(initiator) {\n    var mainScreen = this.get('MainRemoteVideoScreen');\n}","funcProperties":{"__isSmartRef__":true,"id":232},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"231":{"this":{"__isSmartRef__":true,"id":187}},"232":{"user":"Felix","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Sep 17 2014 12:04:32 GMT-0700 (PDT)\")"},"233":{"varMapping":{"__isSmartRef__":true,"id":234},"source":"function setExtent(newExt) {\n    $super(newExt);\n    var video = this.jQuery().children('video').get(0);\n    video.height = newExt.y;\n    video.width = newExt.x;\n}","funcProperties":{"__isSmartRef__":true,"id":239},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"234":{"this":{"__isSmartRef__":true,"id":187},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":235}},"235":{"$super":{"__isSmartRef__":true,"id":236}},"236":{"varMapping":{"__isSmartRef__":true,"id":237},"source":"function () {\n                try {\n                    // FIXME super is supposed to be static\n                    return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n                } catch (e) {\n                    if ($world)\n                        $world.logError(e, 'Error in $super call')\n                    else\n                        alert('Error in $super call: ' + e + '\\n' + e.stack);\n                    return null;\n                }\n            }","funcProperties":{"__isSmartRef__":true,"id":238},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"237":{"obj":{"__isSmartRef__":true,"id":187},"name":"setExtent"},"238":{},"239":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Oct 01 2014 11:25:03 GMT-0700 (PDT)\")"},"240":{"varMapping":{"__isSmartRef__":true,"id":241},"source":"function getVideoElement() {\n    return this.jQuery().children('video').get(0);\n}","funcProperties":{"__isSmartRef__":true,"id":242},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"241":{"this":{"__isSmartRef__":true,"id":187}},"242":{"user":"Felix","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Mon Oct 13 2014 17:28:17 GMT-0700 (PDT)\")"},"243":{"submorphs":[{"__isSmartRef__":true,"id":244}],"scripts":[],"shape":{"__isSmartRef__":true,"id":249},"eventHandler":{"__isSmartRef__":true,"id":250},"_ClipMode":"visible","derivationIds":["EC7EBB28-54AE-4244-80ED-3E13650F82B7","9FD2DCE2-B997-4536-B2A5-90D7DD92B3E6","0D8CC908-BD1C-4062-BB03-3FCEB910483D","365D9958-04E4-4F1C-B965-12555A845F18","21F6EDD5-80E9-4841-A86E-756C2EC31AC7","F30513F8-E837-4624-995B-0A53262E380A","60951358-3944-445A-9E36-C637633A83A7","F837EE3C-2063-4C73-8D74-82CE9DC7A7FA","B6013CD7-5071-4A8E-876A-AA5ED2E35A38","C5A41E94-E813-459D-B3CA-F2CF0E9314EE","AF2AA315-B188-450B-A7D4-4AFD7B47EC71","9A9FFDCA-C7B5-4201-9D15-3FD2643F9609","AC87F6A0-A7BB-4D30-8EB3-133448ECAC81"],"id":"6DEA37E3-D008-47E2-B7AB-369091AD8CF2","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":244},"_PreviousBorderWidth":1,"isPressed":false,"showsHalos":false,"attributeConnections":[{"__isSmartRef__":true,"id":251},{"__isSmartRef__":true,"id":253}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"name":"StartButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":255},"pinSpecs":[{"__isSmartRef__":true,"id":263}],"owner":{"__isSmartRef__":true,"id":41},"_StyleClassNames":["Morph","Button"],"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":264},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(510.0,10.0)","distanceToDragEvent":"lively.pt(37.0,-1.0)"},"244":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":245},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":246}],"eventHandler":{"__isSmartRef__":true,"id":248},"_ClipMode":"hidden","derivationIds":["7884E73F-0D17-44B3-907F-44A5223F1F3D","444B63A6-D9E7-4AB2-AB57-4A9146C18BFF","08999E10-CCC3-4CAB-99BC-4EF500309EC4","633F39FA-F8EA-4FC7-99EA-16B99C6A67C9","3679264A-A420-4392-A54A-D5F2C3074C0C","3D08EAFB-15D3-47B1-A188-A5069435CB7D","54692F94-CBB4-46B3-866C-2F9F93C36F7E","C7A52231-1D41-47C6-90B3-BDBFDD35E20E","C8508A16-DEB5-40EE-B780-56062C474929","284E63F8-D7D0-40D9-A93F-1CF1770505CF","76EB75F7-3ECA-4CEE-BEC2-697DD146B0D5","862895E2-2AEB-449B-9B2B-F507C7D308D8","6FED43FB-1A5B-4773-B90B-06E412C41998"],"id":"D7AC4795-FA4D-4EEB-8747-CD7D95D3674A","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":243},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"showsHalos":false,"eventsAreDisabled":true,"_PointerEvents":"none","__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"245":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(51.0,20.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"246":{"style":{"__isSmartRef__":true,"id":247},"chunkOwner":{"__isSmartRef__":true,"id":244},"_id":"_5674","storedString":"Start","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"247":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"248":{"morph":{"__isSmartRef__":true,"id":244},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"249":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(51.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"250":{"morph":{"__isSmartRef__":true,"id":243},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"251":{"sourceObj":{"__isSmartRef__":true,"id":243},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":243},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":252},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"252":{"source":{"__isSmartRef__":true,"id":243},"target":{"__isSmartRef__":true,"id":243}},"253":{"sourceObj":{"__isSmartRef__":true,"id":243},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":41},"targetMethodName":"enterRoom","varMapping":{"__isSmartRef__":true,"id":254},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"254":{"source":{"__isSmartRef__":true,"id":243},"target":{"__isSmartRef__":true,"id":41}},"255":{"partName":"Button","requiredModules":[],"partsSpaceName":"PartsBin/Inputs","comment":"A simple button that calls a method #doAction when pressed.","changes":[{"__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}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Jul 23 2013 23:21:11 GMT-0700 (PDT)\")"},"256":{"author":null,"message":"no comment","id":"F8B70225-5143-4A51-ABB4-344B488B3811","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:15:42 GMT-0800 (PST)\")"},"257":{"author":"robertkrahn","message":"no comment","id":"9B8B6BE4-4519-4A6C-8F47-70DE61BBB0FB","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:53:16 GMT-0800 (PST)\")"},"258":{"author":"robertkrahn","message":"test","id":"ACA617B4-0416-4E3C-9F4D-171A40F44F0F","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:34:25 GMT-0700 (PDT)\")"},"259":{"author":"robertkrahn","message":"no comment","id":"811BDE87-D8DD-48BB-97B2-7A3C3F3FAE32","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:35:59 GMT-0700 (PDT)\")"},"260":{"author":"robertkrahn","message":"no comment","id":"BB2EA501-D9AF-414B-A035-E1487DA6F0FD","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:36:30 GMT-0700 (PDT)\")"},"261":{"author":"Dan","message":"no comment","id":"A594459F-DA9B-49DD-A105-547B3F613CC5","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:22:38 GMT-0700 (PDT)\")"},"262":{"author":"Dan","message":"no comment","id":"CFEC4071-14FF-4AEB-A399-197884CD18BF","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:24:50 GMT-0700 (PDT)\")"},"263":{"pinName":"fire","modality":"output","type":"Boolean","accessor":"fire","location":1.5},"264":{"doAction":{"__isSmartRef__":true,"id":265}},"265":{"varMapping":{"__isSmartRef__":true,"id":266},"source":"function doAction() {\n    \n}","funcProperties":{"__isSmartRef__":true,"id":267},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"266":{"this":{"__isSmartRef__":true,"id":243}},"267":{"user":"undefined","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 11 2012 13:14:29 GMT-0800 (PST)\")"},"268":{"submorphs":[],"scripts":[],"id":"58BDF27E-0E45-4B7D-8E3B-3F147DD24F2E","shape":{"__isSmartRef__":true,"id":269},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":168.00000000000017,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":10,"name":"RoomNumber","partsBinMetaInfo":{"__isSmartRef__":true,"id":270},"textChunks":[{"__isSmartRef__":true,"id":271}],"charsReplaced":"1573246793","lastFindLoc":10,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":273},"derivationIds":[1958,"C61FE389-C2D3-45A4-A001-68DE006696CD","3D3B2CFA-B1F8-491E-927A-601C0EDA5FB4","5EF7F0E4-EFE3-43A0-8978-D36D4958D31E","20578589-05E7-4203-8605-B245E81F9E75","FD37F732-3248-44CF-B749-E73FB2C91B93","A7B4A4BE-7E42-46E3-B88E-BEE45175CE05","3DA96D9B-6FEE-4238-BC7A-8CC5FB6DEBAF","9BA6EA63-5ED7-4BBF-A76F-C9CA864F7005","9495A0A0-48B0-4705-AE1B-4A6070B71C8B","0D82E4BE-9223-4663-8773-AD78E0199303","7CF6A97A-E7DE-4E72-8931-41C0D06888D5","B8B8CA61-D875-4FAC-96B5-FF4A531048C7","B203B5E9-88BE-4E34-BD5B-F08189D14E56","1B662F2F-8D90-4771-A28B-21AC3DA08DF7","026D24E4-77F7-4400-8E6B-6A131FD6D34B","4AC16DAB-25E4-458A-9516-034B9C89833E","F006E67E-DC42-4DDC-9AD9-AC61EC06F2E8","A27ADE94-8E1E-45EC-B37F-897AB6272F99","39BF8565-2E5F-4134-9579-3DC0C930263C","2BF02A62-3903-4F75-9F61-AED36623376F","470792B7-241D-4B44-BEA0-21C956588D88","076FCF3C-BC44-4648-B82B-2EF0F5003065","F1D41D2F-083D-4BBC-ACCE-7B72D05E6DA1","FB6C2024-EFF8-47A4-95F5-6E69DD3B9426","0B052803-F5C2-4726-8C8E-EA2656B271AE","614DEDF1-1CB7-4805-A0B7-AD1EC63109F2","F7E0C21B-9F51-40C6-A068-68E4D2AFF4CE","F222B9FD-06BB-4D91-911C-8C73AB5263D3","04759827-05FE-4BD1-8ADE-F50FF9C99CA2","B1A5DEB9-2C6A-4A90-B911-4B67CA969B6C","BA7CE65A-55E1-4D25-B6A4-362459DAEE1A","AD42711A-A3F7-46F1-A44C-7A883B0D5BFD","9F1D14C5-9BFA-4BA6-84B1-10EEDC8779F4","FFB8471F-3B01-4E61-B81E-594D9994677A","2469B2C4-1110-4A3D-BF38-A7C42E87085F","563C0205-14EA-4E50-9977-712D8A018166","03FA0A62-55EC-452C-85C8-64F482149CAA","33945DF6-8B7C-4359-B048-5254B76524A4","22693638-B412-4B16-97C4-0B1A89C7BFC0","DD56322A-C331-46F7-AD39-C2B2A14DAEAB","AB23CE6F-22D2-4A6C-A70E-CD139952552A","B084AAFC-3A96-4152-B553-91260E50E034","49F7A560-8281-43EC-BC92-39D09C453DEF","9BF14DB1-89E2-4F8F-AEA6-4E49A5B678F5"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","layout":{"__isSmartRef__":true,"id":274},"owner":{"__isSmartRef__":true,"id":41},"previousSelection":[0,10],"priorSelectionRange":[0,10],"__serializedExpressions__":["_Position","textColor","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(400.0,10.0)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(66.0,-10.0)"},"269":{"fill":null,"_BorderWidth":1.1840000000000002,"_BorderRadius":6.660000000000001,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,18.4)","_BorderColor":"Color.rgb(192,192,192)","_Padding":"lively.rect(0,0,0,0)"},"270":{"partsSpaceName":"PartsBin/Inputs/","migrationLevel":2,"comment":"Simple input field for Forms demo","partName":"InputField","__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:35 GMT-0700 (PDT)\")"},"271":{"style":{"__isSmartRef__":true,"id":272},"chunkOwner":{"__isSmartRef__":true,"id":268},"_id":"_7035","storedString":"1234","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"272":{"color":"rgb(34,34,34)","fontFamily":"Menlo,monospace","fontSize":"11px","fontWeight":"normal","textAlign":"left","backgroundColor":"rgb(255,255,255)","__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"273":{"morph":{"__isSmartRef__":true,"id":268},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"274":{"resizeWidth":true,"moveVertical":true},"275":{"submorphs":[{"__isSmartRef__":true,"id":276}],"scripts":[],"shape":{"__isSmartRef__":true,"id":281},"eventHandler":{"__isSmartRef__":true,"id":282},"_ClipMode":"visible","derivationIds":["EC7EBB28-54AE-4244-80ED-3E13650F82B7","9FD2DCE2-B997-4536-B2A5-90D7DD92B3E6","0D8CC908-BD1C-4062-BB03-3FCEB910483D","365D9958-04E4-4F1C-B965-12555A845F18","21F6EDD5-80E9-4841-A86E-756C2EC31AC7","F30513F8-E837-4624-995B-0A53262E380A","60951358-3944-445A-9E36-C637633A83A7","F837EE3C-2063-4C73-8D74-82CE9DC7A7FA","B7A71C9E-7D50-4264-8DD9-4A7FEB0CA520","3C85ED7C-CBB1-4F0F-BF81-897467C682B2","D0954EE8-FA7F-4D77-8A7B-7FD91E082A8F","E8CA5FE1-D007-468F-B6B7-C8F266573D85","6D95A86A-98FB-4A62-9368-5A9E25B0D34A","990EA8D7-7DCF-4978-88B9-CEDB16D87763"],"id":"0BD460D0-BDB8-46B7-B036-E15921D35BBF","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":276},"_PreviousBorderWidth":1,"isPressed":false,"showsHalos":false,"attributeConnections":[{"__isSmartRef__":true,"id":283},{"__isSmartRef__":true,"id":285}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"name":"StartButton1","partsBinMetaInfo":{"__isSmartRef__":true,"id":287},"pinSpecs":[{"__isSmartRef__":true,"id":295}],"_StyleClassNames":["Morph","Button"],"owner":{"__isSmartRef__":true,"id":41},"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":296},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(510.0,40.0)","distanceToDragEvent":"lively.pt(33.0,-5.0)"},"276":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":277},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":278}],"eventHandler":{"__isSmartRef__":true,"id":280},"_ClipMode":"hidden","derivationIds":["7884E73F-0D17-44B3-907F-44A5223F1F3D","444B63A6-D9E7-4AB2-AB57-4A9146C18BFF","08999E10-CCC3-4CAB-99BC-4EF500309EC4","633F39FA-F8EA-4FC7-99EA-16B99C6A67C9","3679264A-A420-4392-A54A-D5F2C3074C0C","3D08EAFB-15D3-47B1-A188-A5069435CB7D","54692F94-CBB4-46B3-866C-2F9F93C36F7E","C7A52231-1D41-47C6-90B3-BDBFDD35E20E","585C52E8-C460-4F49-9C0A-9817DF650A57","73A9CB81-6313-426D-8190-989DB0F8EB46","94BBA163-3AC4-476C-8FB6-8BBC1B5612DB","1BA671E9-04E4-4341-A87A-49EB15FA6544","5D133CF4-8619-4C3C-82B6-583F22293284","6756CB66-4F2E-42BA-B34E-42DAB1ADD087"],"id":"16670592-940E-4F92-AEE7-25EAB3C7111A","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":275},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"showsHalos":false,"eventsAreDisabled":true,"_PointerEvents":"none","__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"277":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(51.0,20.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"278":{"style":{"__isSmartRef__":true,"id":279},"chunkOwner":{"__isSmartRef__":true,"id":276},"_id":"_8279","storedString":"Stop","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"279":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"280":{"morph":{"__isSmartRef__":true,"id":276},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"281":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(51.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"282":{"morph":{"__isSmartRef__":true,"id":275},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"283":{"sourceObj":{"__isSmartRef__":true,"id":275},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":275},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":284},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"284":{"source":{"__isSmartRef__":true,"id":275},"target":{"__isSmartRef__":true,"id":275}},"285":{"sourceObj":{"__isSmartRef__":true,"id":275},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":41},"targetMethodName":"closeConnection","varMapping":{"__isSmartRef__":true,"id":286},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"286":{"source":{"__isSmartRef__":true,"id":275},"target":{"__isSmartRef__":true,"id":41}},"287":{"partName":"Button","requiredModules":[],"partsSpaceName":"PartsBin/Inputs","comment":"A simple button that calls a method #doAction when pressed.","changes":[{"__isSmartRef__":true,"id":288},{"__isSmartRef__":true,"id":289},{"__isSmartRef__":true,"id":290},{"__isSmartRef__":true,"id":291},{"__isSmartRef__":true,"id":292},{"__isSmartRef__":true,"id":293},{"__isSmartRef__":true,"id":294}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Jul 23 2013 23:21:11 GMT-0700 (PDT)\")"},"288":{"author":null,"message":"no comment","id":"F8B70225-5143-4A51-ABB4-344B488B3811","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:15:42 GMT-0800 (PST)\")"},"289":{"author":"robertkrahn","message":"no comment","id":"9B8B6BE4-4519-4A6C-8F47-70DE61BBB0FB","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:53:16 GMT-0800 (PST)\")"},"290":{"author":"robertkrahn","message":"test","id":"ACA617B4-0416-4E3C-9F4D-171A40F44F0F","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:34:25 GMT-0700 (PDT)\")"},"291":{"author":"robertkrahn","message":"no comment","id":"811BDE87-D8DD-48BB-97B2-7A3C3F3FAE32","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:35:59 GMT-0700 (PDT)\")"},"292":{"author":"robertkrahn","message":"no comment","id":"BB2EA501-D9AF-414B-A035-E1487DA6F0FD","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:36:30 GMT-0700 (PDT)\")"},"293":{"author":"Dan","message":"no comment","id":"A594459F-DA9B-49DD-A105-547B3F613CC5","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:22:38 GMT-0700 (PDT)\")"},"294":{"author":"Dan","message":"no comment","id":"CFEC4071-14FF-4AEB-A399-197884CD18BF","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:24:50 GMT-0700 (PDT)\")"},"295":{"pinName":"fire","modality":"output","type":"Boolean","accessor":"fire","location":1.5},"296":{"doAction":{"__isSmartRef__":true,"id":297}},"297":{"varMapping":{"__isSmartRef__":true,"id":298},"source":"function doAction() {\n    \n}","funcProperties":{"__isSmartRef__":true,"id":299},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"298":{"this":{"__isSmartRef__":true,"id":275}},"299":{"user":"undefined","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 11 2012 13:14:29 GMT-0800 (PST)\")"},"300":{"submorphs":[],"scripts":[],"id":"F54FE732-DFD6-4FFD-86E9-436B77068839","shape":{"__isSmartRef__":true,"id":301},"grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"fixedHeight":false,"allowsInput":true,"_OverflowMode":"visible","_FontFamily":"Arial, sans-serif","registeredForMouseEvents":true,"_MaxTextWidth":168.00000000000017,"_MaxTextHeight":null,"showsHalos":false,"_FontSize":10,"name":"NewRoomName","partsBinMetaInfo":{"__isSmartRef__":true,"id":302},"textChunks":[{"__isSmartRef__":true,"id":303}],"charsReplaced":"hall","lastFindLoc":4,"prevScroll":[0,0],"eventHandler":{"__isSmartRef__":true,"id":305},"derivationIds":[1958,"C61FE389-C2D3-45A4-A001-68DE006696CD","3D3B2CFA-B1F8-491E-927A-601C0EDA5FB4","5EF7F0E4-EFE3-43A0-8978-D36D4958D31E","20578589-05E7-4203-8605-B245E81F9E75","FD37F732-3248-44CF-B749-E73FB2C91B93","A7B4A4BE-7E42-46E3-B88E-BEE45175CE05","3DA96D9B-6FEE-4238-BC7A-8CC5FB6DEBAF","9BA6EA63-5ED7-4BBF-A76F-C9CA864F7005","9495A0A0-48B0-4705-AE1B-4A6070B71C8B","0D82E4BE-9223-4663-8773-AD78E0199303","7CF6A97A-E7DE-4E72-8931-41C0D06888D5","B8B8CA61-D875-4FAC-96B5-FF4A531048C7","B203B5E9-88BE-4E34-BD5B-F08189D14E56","1B662F2F-8D90-4771-A28B-21AC3DA08DF7","026D24E4-77F7-4400-8E6B-6A131FD6D34B","4AC16DAB-25E4-458A-9516-034B9C89833E","F006E67E-DC42-4DDC-9AD9-AC61EC06F2E8","A27ADE94-8E1E-45EC-B37F-897AB6272F99","39BF8565-2E5F-4134-9579-3DC0C930263C","2BF02A62-3903-4F75-9F61-AED36623376F","470792B7-241D-4B44-BEA0-21C956588D88","076FCF3C-BC44-4648-B82B-2EF0F5003065","F1D41D2F-083D-4BBC-ACCE-7B72D05E6DA1","FB6C2024-EFF8-47A4-95F5-6E69DD3B9426","0B052803-F5C2-4726-8C8E-EA2656B271AE","614DEDF1-1CB7-4805-A0B7-AD1EC63109F2","F7E0C21B-9F51-40C6-A068-68E4D2AFF4CE","F222B9FD-06BB-4D91-911C-8C73AB5263D3","04759827-05FE-4BD1-8ADE-F50FF9C99CA2","B1A5DEB9-2C6A-4A90-B911-4B67CA969B6C","BA7CE65A-55E1-4D25-B6A4-362459DAEE1A","AD42711A-A3F7-46F1-A44C-7A883B0D5BFD","9F1D14C5-9BFA-4BA6-84B1-10EEDC8779F4","FFB8471F-3B01-4E61-B81E-594D9994677A","2469B2C4-1110-4A3D-BF38-A7C42E87085F","563C0205-14EA-4E50-9977-712D8A018166","03FA0A62-55EC-452C-85C8-64F482149CAA","33945DF6-8B7C-4359-B048-5254B76524A4","22693638-B412-4B16-97C4-0B1A89C7BFC0","DD56322A-C331-46F7-AD39-C2B2A14DAEAB","AB23CE6F-22D2-4A6C-A70E-CD139952552A","B084AAFC-3A96-4152-B553-91260E50E034","8230088B-03F3-437C-BB35-164DEC7880A8","598B9E1F-CD61-43DA-9738-7CBB0423CE74","2C651765-2195-429F-B255-C9E2E2E4E7E9"],"_WhiteSpaceHandling":"pre-wrap","_ClipMode":"visible","layout":{"__isSmartRef__":true,"id":306},"previousSelection":[4,4],"owner":{"__isSmartRef__":true,"id":41},"priorSelectionRange":[0,4],"__serializedExpressions__":["_Position","textColor","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_Position":"lively.pt(400.0,70.0)","textColor":"Color.rgb(0,0,0)","distanceToDragEvent":"lively.pt(70.0,-4.0)"},"301":{"fill":null,"_BorderWidth":1.1840000000000002,"_BorderRadius":6.660000000000001,"__serializedExpressions__":["_Position","_Extent","_BorderColor","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(100.0,17.4)","_BorderColor":"Color.rgb(192,192,192)","_Padding":"lively.rect(0,0,0,0)"},"302":{"partsSpaceName":"PartsBin/Inputs/","migrationLevel":2,"comment":"Simple input field for Forms demo","partName":"InputField","__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:35 GMT-0700 (PDT)\")"},"303":{"style":{"__isSmartRef__":true,"id":304},"chunkOwner":{"__isSmartRef__":true,"id":300},"_id":"_8100","storedString":"","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"304":{"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore"},"305":{"morph":{"__isSmartRef__":true,"id":300},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"306":{"resizeWidth":true,"moveVertical":true},"307":{"submorphs":[{"__isSmartRef__":true,"id":308}],"scripts":[],"shape":{"__isSmartRef__":true,"id":313},"eventHandler":{"__isSmartRef__":true,"id":314},"_ClipMode":"visible","derivationIds":["EC7EBB28-54AE-4244-80ED-3E13650F82B7","9FD2DCE2-B997-4536-B2A5-90D7DD92B3E6","0D8CC908-BD1C-4062-BB03-3FCEB910483D","365D9958-04E4-4F1C-B965-12555A845F18","21F6EDD5-80E9-4841-A86E-756C2EC31AC7","F30513F8-E837-4624-995B-0A53262E380A","60951358-3944-445A-9E36-C637633A83A7","F837EE3C-2063-4C73-8D74-82CE9DC7A7FA","B6013CD7-5071-4A8E-876A-AA5ED2E35A38","C5A41E94-E813-459D-B3CA-F2CF0E9314EE","AF2AA315-B188-450B-A7D4-4AFD7B47EC71","558D847F-4C8E-4E6A-9F19-CA5D7E7BFD3B","429E6F08-2289-40B8-996E-038F5BE44975","0413E0DF-223F-4893-9FFF-9B2617E9679B"],"id":"7FA0B389-1E19-4DAF-B72D-053F631DFA28","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"value":false,"toggle":false,"isActive":true,"label":{"__isSmartRef__":true,"id":308},"_PreviousBorderWidth":1,"isPressed":false,"showsHalos":false,"attributeConnections":[{"__isSmartRef__":true,"id":315},{"__isSmartRef__":true,"id":317}],"doNotSerialize":["$$fire"],"doNotCopyProperties":["$$fire"],"name":"CreateRoomButton","partsBinMetaInfo":{"__isSmartRef__":true,"id":319},"pinSpecs":[{"__isSmartRef__":true,"id":327}],"_StyleClassNames":["Morph","Button"],"owner":{"__isSmartRef__":true,"id":41},"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":328},"__LivelyClassName__":"lively.morphic.Button","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(510.0,70.0)","distanceToDragEvent":"lively.pt(41.0,-7.0)"},"308":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":309},"_WhiteSpaceHandling":"pre-wrap","textChunks":[{"__isSmartRef__":true,"id":310}],"eventHandler":{"__isSmartRef__":true,"id":312},"_ClipMode":"hidden","derivationIds":["7884E73F-0D17-44B3-907F-44A5223F1F3D","444B63A6-D9E7-4AB2-AB57-4A9146C18BFF","08999E10-CCC3-4CAB-99BC-4EF500309EC4","633F39FA-F8EA-4FC7-99EA-16B99C6A67C9","3679264A-A420-4392-A54A-D5F2C3074C0C","3D08EAFB-15D3-47B1-A188-A5069435CB7D","54692F94-CBB4-46B3-866C-2F9F93C36F7E","C7A52231-1D41-47C6-90B3-BDBFDD35E20E","C8508A16-DEB5-40EE-B780-56062C474929","284E63F8-D7D0-40D9-A93F-1CF1770505CF","76EB75F7-3ECA-4CEE-BEC2-697DD146B0D5","95A2A81A-775C-4AD2-B6AD-05EC8765674F","23C43EAE-609E-447A-932D-5703289BAD0C","32B6BCA2-C98B-4C3A-971A-D1BA4C53BBA0"],"id":"689C6111-6718-4372-A2FA-B407439DF1D3","grabbingEnabled":false,"droppingEnabled":false,"halosEnabled":true,"fixedWidth":true,"_WordBreak":"break-all","fixedHeight":true,"_InputAllowed":false,"_HandStyle":"default","allowInput":false,"_FontFamily":"Helvetica","_FontSize":10,"evalEnabled":false,"owner":{"__isSmartRef__":true,"id":307},"isLabel":true,"_Align":"center","eventsAreIgnored":true,"_TextStylingMode":true,"showsHalos":false,"eventsAreDisabled":true,"_PointerEvents":"none","__serializedExpressions__":["_TextColor"],"__LivelyClassName__":"lively.morphic.Text","__SourceModuleName__":"Global.lively.morphic.TextCore","_TextColor":"Color.rgb(0,0,0)"},"309":{"_BorderWidth":0,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(51.0,20.0)","_Padding":"lively.rect(0,3,0,0)","_BorderColor":"Color.rgb(0,0,0)"},"310":{"style":{"__isSmartRef__":true,"id":311},"chunkOwner":{"__isSmartRef__":true,"id":308},"_id":"_8076","storedString":"Create...","__LivelyClassName__":"lively.morphic.TextChunk","__SourceModuleName__":"Global.lively.morphic.TextCore"},"311":{"__serializedExpressions__":["color"],"__LivelyClassName__":"lively.morphic.TextEmphasis","__SourceModuleName__":"Global.lively.morphic.TextCore","color":"Color.rgb(0,0,0)"},"312":{"morph":{"__isSmartRef__":true,"id":308},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"313":{"_BorderWidth":1,"_BorderRadius":5,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Position","_Extent","_Padding","_BorderColor"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(51.0,20.0)","_Padding":"lively.rect(0,0,0,0)","_BorderColor":"Color.rgb(189,190,192)"},"314":{"morph":{"__isSmartRef__":true,"id":307},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"315":{"sourceObj":{"__isSmartRef__":true,"id":307},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":307},"targetMethodName":"doAction","varMapping":{"__isSmartRef__":true,"id":316},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"316":{"source":{"__isSmartRef__":true,"id":307},"target":{"__isSmartRef__":true,"id":307}},"317":{"sourceObj":{"__isSmartRef__":true,"id":307},"sourceAttrName":"fire","targetObj":{"__isSmartRef__":true,"id":41},"targetMethodName":"createRoom","varMapping":{"__isSmartRef__":true,"id":318},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"318":{"source":{"__isSmartRef__":true,"id":307},"target":{"__isSmartRef__":true,"id":41}},"319":{"partName":"Button","requiredModules":[],"partsSpaceName":"PartsBin/Inputs","comment":"A simple button that calls a method #doAction when pressed.","changes":[{"__isSmartRef__":true,"id":320},{"__isSmartRef__":true,"id":321},{"__isSmartRef__":true,"id":322},{"__isSmartRef__":true,"id":323},{"__isSmartRef__":true,"id":324},{"__isSmartRef__":true,"id":325},{"__isSmartRef__":true,"id":326}],"migrationLevel":7,"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Tue Jul 23 2013 23:21:11 GMT-0700 (PDT)\")"},"320":{"author":null,"message":"no comment","id":"F8B70225-5143-4A51-ABB4-344B488B3811","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:15:42 GMT-0800 (PST)\")"},"321":{"author":"robertkrahn","message":"no comment","id":"9B8B6BE4-4519-4A6C-8F47-70DE61BBB0FB","__serializedExpressions__":["date"],"date":"new Date(\"Tue Dec 11 2012 13:53:16 GMT-0800 (PST)\")"},"322":{"author":"robertkrahn","message":"test","id":"ACA617B4-0416-4E3C-9F4D-171A40F44F0F","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:34:25 GMT-0700 (PDT)\")"},"323":{"author":"robertkrahn","message":"no comment","id":"811BDE87-D8DD-48BB-97B2-7A3C3F3FAE32","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:35:59 GMT-0700 (PDT)\")"},"324":{"author":"robertkrahn","message":"no comment","id":"BB2EA501-D9AF-414B-A035-E1487DA6F0FD","__serializedExpressions__":["date"],"date":"new Date(\"Tue Apr 30 2013 20:36:30 GMT-0700 (PDT)\")"},"325":{"author":"Dan","message":"no comment","id":"A594459F-DA9B-49DD-A105-547B3F613CC5","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:22:38 GMT-0700 (PDT)\")"},"326":{"author":"Dan","message":"no comment","id":"CFEC4071-14FF-4AEB-A399-197884CD18BF","__serializedExpressions__":["date"],"date":"new Date(\"Mon Jun 17 2013 10:24:50 GMT-0700 (PDT)\")"},"327":{"pinName":"fire","modality":"output","type":"Boolean","accessor":"fire","location":1.5},"328":{"doAction":{"__isSmartRef__":true,"id":329}},"329":{"varMapping":{"__isSmartRef__":true,"id":330},"source":"function doAction() {\n    \n}","funcProperties":{"__isSmartRef__":true,"id":331},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"330":{"this":{"__isSmartRef__":true,"id":307}},"331":{"user":"undefined","tags":[],"__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Tue Dec 11 2012 13:14:29 GMT-0800 (PST)\")"},"332":{"submorphs":[],"scripts":[],"id":"C7A66643-28FF-48BB-8AEA-B279509D2648","shape":{"__isSmartRef__":true,"id":333},"droppingEnabled":true,"halosEnabled":true,"_ClipMode":"auto","eventHandler":{"__isSmartRef__":true,"id":334},"itemList":["128kbps","256kbps","512kbps","unlimited"],"selectOnMove":false,"showsHalos":false,"name":"BandwidthSelection","partsBinMetaInfo":{"__isSmartRef__":true,"id":335},"derivationIds":[6545,"FF118726-3D06-451F-AD28-EA5FD1A9D40E"],"owner":{"__isSmartRef__":true,"id":41},"selectedLineNo":0,"selection":"128kbps","changeTriggered":true,"attributeConnections":[{"__isSmartRef__":true,"id":336}],"doNotSerialize":["$$selection"],"doNotCopyProperties":["$$selection"],"__serializedExpressions__":["_Position","distanceToDragEvent"],"_Rotation":0,"_Scale":1,"__LivelyClassName__":"lively.morphic.DropDownList","__SourceModuleName__":"Global.lively.morphic.Lists","_Position":"lively.pt(270.0,10.0)","distanceToDragEvent":"lively.pt(64.0,-6.0)"},"333":{"_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,19.0)","_BorderColor":"Color.rgb(0,0,0)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"334":{"morph":{"__isSmartRef__":true,"id":332},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"335":{"requiredModules":[],"migrationLevel":2,"partsSpaceName":"PartsBin/Inputs/","comment":"\"Native\" drop down list","partName":"DropDownList","__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Sep 05 2012 16:01:35 GMT-0700 (PDT)\")"},"336":{"sourceObj":{"__isSmartRef__":true,"id":332},"sourceAttrName":"selection","targetObj":{"__isSmartRef__":true,"id":41},"targetMethodName":"adjustBandwidth","varMapping":{"__isSmartRef__":true,"id":337},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"337":{"source":{"__isSmartRef__":true,"id":332},"target":{"__isSmartRef__":true,"id":41}},"338":{"_BorderWidth":1,"_ClipMode":"visible","_BorderRadius":3,"_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(777.0,721.0)","_BorderColor":"Color.rgb(95,94,95)","_Fill":"Color.rgb(255,255,255)","_Padding":"lively.rect(0,0,0,0)"},"339":{"partsSpaceName":"PartsBin/Felix/","comment":"Video client using the Janus WebRTC gateway","migrationLevel":8,"partName":"JanusVideoClient","changes":[{"__isSmartRef__":true,"id":340},{"__isSmartRef__":true,"id":341},{"__isSmartRef__":true,"id":342},{"__isSmartRef__":true,"id":343},{"__isSmartRef__":true,"id":344},{"__isSmartRef__":true,"id":345},{"__isSmartRef__":true,"id":346},{"__isSmartRef__":true,"id":347},{"__isSmartRef__":true,"id":348},{"__isSmartRef__":true,"id":349},{"__isSmartRef__":true,"id":350},{"__isSmartRef__":true,"id":351},{"__isSmartRef__":true,"id":352},{"__isSmartRef__":true,"id":353},{"__isSmartRef__":true,"id":354},{"__isSmartRef__":true,"id":355},{"__isSmartRef__":true,"id":356},{"__isSmartRef__":true,"id":357},{"__isSmartRef__":true,"id":358},{"__isSmartRef__":true,"id":359},{"__isSmartRef__":true,"id":360}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Wed Oct 29 2014 17:07:31 GMT-0700 (PDT)\")"},"340":{"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)\")"},"341":{"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)\")"},"342":{"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)\")"},"343":{"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)\")"},"344":{"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)\")"},"345":{"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)\")"},"346":{"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)\")"},"347":{"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)\")"},"348":{"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)\")"},"349":{"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)\")"},"350":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Feb 24 2012 17:59:09 GMT-0800 (PST)\")"},"351":{"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)\")"},"352":{"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)\")"},"353":{"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)\")"},"354":{"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)\")"},"355":{"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)\")"},"356":{"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)\")"},"357":{"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)\")"},"358":{"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)\")"},"359":{"author":"Felix","message":"initial commit","id":"22ACDEAE-CEAE-4299-8646-3A4E542FF2A5","__serializedExpressions__":["date"],"date":"new Date(\"Wed Oct 29 2014 17:07:28 GMT-0700 (PDT)\")"},"360":{"author":"Felix","message":"no comment","id":"D379F0F9-A63D-4AA1-BB97-C0CF4576E288","__serializedExpressions__":["date"],"date":"new Date(\"Wed Oct 29 2014 17:17:00 GMT-0700 (PDT)\")"},"361":{"morph":{"__isSmartRef__":true,"id":41},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"362":{"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":363}},"363":{"test01IsMorph":{"__isSmartRef__":true,"id":364}},"364":{"varMapping":{"__isSmartRef__":true,"id":365},"source":"function test01IsMorph(aPart) {\n    this.assert(aPart.isMorph, 'rectangle should be a morph');\n}","funcProperties":{"__isSmartRef__":true,"id":366},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"365":{"this":{"__isSmartRef__":true,"id":362}},"366":{},"367":{"resizeWidth":true,"resizeHeight":true,"adjustForNewBounds":true},"368":{"sourceObj":{"__isSmartRef__":true,"id":41},"sourceAttrName":"ready","targetObj":{"__isSmartRef__":true,"id":41},"targetMethodName":"checkActivation","varMapping":{"__isSmartRef__":true,"id":369},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"369":{"source":{"__isSmartRef__":true,"id":41},"target":{"__isSmartRef__":true,"id":41}},"370":{"sessionId":"client-session:06211D0B-2187-423B-979C-9BA6C94AC8C9","trackerId":"tracker-10DAC758-27EF-46B9-A130-691B47C560F2","__serializedExpressions__":["sessionTrackerURL"],"username":"Felix","_status":"connected","_heartbeatProcess":26,"registerTimeout":60000,"activityTimeReportDelay":20000,"getSessionsCacheInvalidationTimeout":10000,"timeOfCreation":1414788800001,"webSocket":{"__isSmartRef__":true,"id":371},"actions":{"__isSmartRef__":true,"id":378},"_reportActivitiesTimer":7741,"attributeConnections":[{"__isSmartRef__":true,"id":379},{"__isSmartRef__":true,"id":381}],"doNotSerialize":["$$message","$$sessionClosed"],"doNotCopyProperties":["$$message","$$sessionClosed"],"_lastReportedActivity":1414789570697,"_getSessionsCachedResult":null,"__LivelyClassName__":"lively.net.SessionTrackerConnection","__SourceModuleName__":"Global.lively.net.SessionTracker","sessionTrackerURL":"URL.create(\"http://lively-web.org:8080/nodejs/SessionTracker/\")"},"371":{"uri":"ws://lively-web.org:8080/nodejs/SessionTracker/connect","_erroredCount":0,"_openedCount":1,"_closedCount":0,"_messageOutCounter":120,"_messageInCounter":60,"_lastMessagesOut":["{\"sender\":\"client-session:06211D0B-2187-423B-979C-9BA6C94AC8C9\",\"action\":\"reportActivity\",\"data\":{\"lastActivity\":1414789551151},\"target\":\"tracker-10DAC758-27EF-46B9-A130-691B47C560F2\",\"messageIndex\":115,\"messageId\":\"client-msg:B8721E34-A254-44FF-8C1C-11F0482E83D4\"}","{\"sender\":\"client-session:06211D0B-2187-423B-979C-9BA6C94AC8C9\",\"action\":\"heartbeat\",\"data\":{},\"target\":\"tracker-10DAC758-27EF-46B9-A130-691B47C560F2\",\"messageIndex\":117,\"messageId\":\"client-msg:797806FA-3755-4E46-ACD4-90CCAB2A17F8\"}","{\"sender\":\"client-session:06211D0B-2187-423B-979C-9BA6C94AC8C9\",\"action\":\"reportActivity\",\"data\":{\"lastActivity\":1414789570697},\"target\":\"tracker-10DAC758-27EF-46B9-A130-691B47C560F2\",\"messageIndex\":119,\"messageId\":\"client-msg:8886C20D-0C53-4F15-870A-5FDF7D7AF7C8\"}"],"_lastMessagesIn":["{\"action\":\"reportActivityResult\",\"inResponseTo\":\"client-msg:B8721E34-A254-44FF-8C1C-11F0482E83D4\",\"data\":{\"success\":true},\"sender\":\"tracker-10DAC758-27EF-46B9-A130-691B47C560F2\",\"messageId\":\"lively-msg:C4A7DDEC-8127-47B3-8F48-E97CC248DF22\"}","{\"action\":\"heartbeatResult\",\"inResponseTo\":\"client-msg:797806FA-3755-4E46-ACD4-90CCAB2A17F8\",\"data\":{\"time\":1414789551509},\"sender\":\"tracker-10DAC758-27EF-46B9-A130-691B47C560F2\",\"messageId\":\"lively-msg:90410649-3EEA-41A8-9922-824EECF10769\"}","{\"action\":\"reportActivityResult\",\"inResponseTo\":\"client-msg:8886C20D-0C53-4F15-870A-5FDF7D7AF7C8\",\"data\":{\"success\":true},\"sender\":\"tracker-10DAC758-27EF-46B9-A130-691B47C560F2\",\"messageId\":\"lively-msg:14CA18DF-397A-4131-902E-4CD0E0080518\"}"],"_lastErrors":[],"reopenClosedConnection":true,"_open":true,"sendTimeout":3000,"messageQueue":[],"protocol":"lively-json","attributeConnections":[{"__isSmartRef__":true,"id":372},{"__isSmartRef__":true,"id":374},{"__isSmartRef__":true,"id":376}],"doNotSerialize":["$$error","$$lively-message","$$closed"],"doNotCopyProperties":["$$error","$$lively-message","$$closed"],"__LivelyClassName__":"lively.net.WebSocket","__SourceModuleName__":"Global.lively.net.WebSockets"},"372":{"sourceObj":{"__isSmartRef__":true,"id":371},"sourceAttrName":"error","targetObj":{"__isSmartRef__":true,"id":370},"targetMethodName":"connectionError","varMapping":{"__isSmartRef__":true,"id":373},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"373":{"source":{"__isSmartRef__":true,"id":371},"target":{"__isSmartRef__":true,"id":370}},"374":{"sourceObj":{"__isSmartRef__":true,"id":371},"sourceAttrName":"lively-message","targetObj":{"__isSmartRef__":true,"id":370},"targetMethodName":"dispatchLivelyMessage","varMapping":{"__isSmartRef__":true,"id":375},"updaterString":"function ($upd, msg) { $upd(msg, session); }","__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"375":{"session":{"__isSmartRef__":true,"id":370},"source":{"__isSmartRef__":true,"id":371},"target":{"__isSmartRef__":true,"id":370}},"376":{"sourceObj":{"__isSmartRef__":true,"id":371},"sourceAttrName":"closed","targetObj":{"__isSmartRef__":true,"id":370},"targetMethodName":"connectionClosed","varMapping":{"__isSmartRef__":true,"id":377},"removeAfterUpdate":true,"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"377":{"source":{"__isSmartRef__":true,"id":371},"target":{"__isSmartRef__":true,"id":370}},"378":{},"379":{"sourceObj":{"__isSmartRef__":true,"id":370},"sourceAttrName":"message","targetMethodName":"messageReceived","varMapping":{"__isSmartRef__":true,"id":380},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"380":{"source":{"__isSmartRef__":true,"id":370}},"381":{"sourceObj":{"__isSmartRef__":true,"id":370},"sourceAttrName":"sessionClosed","targetMethodName":"messageReceived","varMapping":{"__isSmartRef__":true,"id":382},"__LivelyClassName__":"AttributeConnection","__SourceModuleName__":"Global.lively.bindings.Core"},"382":{"source":{"__isSmartRef__":true,"id":370}},"383":{},"384":{},"385":{"session":{"__isSmartRef__":true,"id":384},"plugin":"janus.plugin.videoroom","id":751934043,"webrtcStuff":{"__isSmartRef__":true,"id":386}},"386":{"started":false,"myStream":null,"mySdp":null,"pc":null,"dataChannel":null,"dtmfSender":null,"trickle":true,"iceDone":false,"sdpSent":false,"bitrate":{"__isSmartRef__":true,"id":387}},"387":{"value":null,"bsnow":null,"bsbefore":null,"tsnow":null,"tsbefore":null,"timer":null},"388":{"onLoad":{"__isSmartRef__":true,"id":389},"withLively2LivelySessionDo":{"__isSmartRef__":true,"id":392},"loadLibs":{"__isSmartRef__":true,"id":395},"activate":{"__isSmartRef__":true,"id":398},"checkActivation":{"__isSmartRef__":true,"id":401},"deactivate":{"__isSmartRef__":true,"id":404},"enterRoom":{"__isSmartRef__":true,"id":407},"initJanus":{"__isSmartRef__":true,"id":410},"publishWebcam":{"__isSmartRef__":true,"id":413},"subscribeToFeed":{"__isSmartRef__":true,"id":416},"onOwnerChanged":{"__isSmartRef__":true,"id":419},"onClose":{"__isSmartRef__":true,"id":426},"closeConnection":{"__isSmartRef__":true,"id":429},"initVars":{"__isSmartRef__":true,"id":432},"createRoom":{"__isSmartRef__":true,"id":435},"adjustBandwidth":{"__isSmartRef__":true,"id":438}},"389":{"varMapping":{"__isSmartRef__":true,"id":390},"source":"function onLoad() {\n    this.loadLibs(function(err) {\n        if (err) {\n            show(err);\n            return;\n        }\n        \n        this.withLively2LivelySessionDo(5* 1000, function(err, sess) {\n            if (err) {\n                show(\"Could not get l2l session: %s\\nConnect l2l first!\", err);\n            } else {\n                this.l2lSession = sess;\n                this.ready = true;\n            }\n        }.bind(this));\n        \n    }.bind(this));\n    \n    this.initVars();\n}","funcProperties":{"__isSmartRef__":true,"id":391},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"390":{"this":{"__isSmartRef__":true,"id":41}},"391":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Oct 30 2014 14:22:34 GMT-0700 (PDT)\")"},"392":{"varMapping":{"__isSmartRef__":true,"id":393},"source":"function withLively2LivelySessionDo(timeoutMs, thenDo) {\n    // wait for a lively2lively connection\n    if (!thenDo) { thenDo = timeoutMs; timeoutMs = 5000; }\n    Functions.composeAsync(\n        function(next) { Global.require('lively.net.SessionTracker').toRun(function() { next() }); },\n        function(next) { lively.whenLoaded(function() { next(); }); },\n        function(next) {\n            Functions.waitFor(timeoutMs,\n                function() { return !!lively.net.SessionTracker.getSession(); },\n                function(err) { next(err, lively.net.SessionTracker.getSession()) })\n        },\n        function(sess, next) {\n            var online = false;\n            sess.whenOnline(function() { online = true; })\n            Functions.waitFor(timeoutMs,\n                function() { return !!online; },\n                function(err) { next(err, sess); });\n        })(thenDo);\n}","funcProperties":{"__isSmartRef__":true,"id":394},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"393":{"this":{"__isSmartRef__":true,"id":41}},"394":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Oct 29 2014 16:19:51 GMT-0700 (PDT)\")"},"395":{"varMapping":{"__isSmartRef__":true,"id":396},"source":"function loadLibs(callback) {\n    // load the Janus lib\n    function load(thenDo) {\n        var janusUrl = Global.URL.root.withFilename(\"core/lib/janus.js\").toString();\n        var adapterUrl = Global.URL.root.withFilename(\"users/fwolff/adapter.js\").toString();\n        Global.JSLoader.forcedReload(janusUrl);\n        Global.JSLoader.forcedReload(adapterUrl);\n        Functions.waitFor(1000, function() { return (!!Global.Janus && !!Global.RTCPeerConnection); }, thenDo);\n    }\n    \n    load(function(err) {\n        if (err) console.log(\"Error loading libs: %s\", err);\n        else console.log(\"Loaded Janus and adapter lib\");\n        \n        if (callback) callback(err);\n    });\n}","funcProperties":{"__isSmartRef__":true,"id":397},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"396":{"this":{"__isSmartRef__":true,"id":41}},"397":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Oct 29 2014 16:32:39 GMT-0700 (PDT)\")"},"398":{"varMapping":{"__isSmartRef__":true,"id":399},"source":"function activate() {\n    if (!this.blocker) return;\n    \n    this.blocker.remove();\n    this.blocker = null;\n}","funcProperties":{"__isSmartRef__":true,"id":400},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"399":{"this":{"__isSmartRef__":true,"id":41}},"400":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Oct 29 2014 16:42:07 GMT-0700 (PDT)\")"},"401":{"varMapping":{"__isSmartRef__":true,"id":402},"source":"function checkActivation() {\n    if (this.ready) {\n        this.activate();\n    } else {\n        this.deactivate();\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":403},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"402":{"this":{"__isSmartRef__":true,"id":41}},"403":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Oct 29 2014 16:43:08 GMT-0700 (PDT)\")"},"404":{"varMapping":{"__isSmartRef__":true,"id":405},"source":"function deactivate() {\n    if (this.blocker) return;\n    \n    var ext = this.getExtent();\n    var box = new lively.morphic.Box(lively.rect(0, 0, ext.x, ext.y));\n    box.setFill(Global.Color.black);\n    box.setOpacity(0.3);\n    box.setBorderRadius(3);\n    box.layout = {\n        resizeWidth: true,\n        resizeHeight: true\n    }\n    this.blocker = box;\n    this.addMorph(box);\n}","funcProperties":{"__isSmartRef__":true,"id":406},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"405":{"this":{"__isSmartRef__":true,"id":41}},"406":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Oct 29 2014 16:44:13 GMT-0700 (PDT)\")"},"407":{"varMapping":{"__isSmartRef__":true,"id":408},"source":"function enterRoom() {\n    var roomNumber = parseInt(this.get('RoomNumber').getTextString());\n    \n    if (Number.isNaN(roomNumber)) {\n        show('Room must be a number!');\n        return;\n    }\n    this.currentRoom = roomNumber;\n    \n    var username = this.l2lSession.user;\n    \n    this.initJanus(roomNumber, username);\n}","funcProperties":{"__isSmartRef__":true,"id":409},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"408":{"this":{"__isSmartRef__":true,"id":41}},"409":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Oct 29 2014 17:12:49 GMT-0700 (PDT)\")"},"410":{"varMapping":{"__isSmartRef__":true,"id":411},"source":"function initJanus(roomname, username) {\n    var client = this;\n    var janus;\n    var mcu;\n    var myid;\n    \n    Global.Janus.init({\n        debug: true,\n        callback: function() {\n            janus = new Global.Janus({\n                server: client.serverUrl,\n                success: function() {\n                    janus.attach({\n                        plugin: 'janus.plugin.videoroom',\n                        success: function(pluginHandle) {\n                            mcu = pluginHandle;\n                            client.mcu = mcu;\n                            console.log('successfully attached plugin!');\n                            var register = {\"request\": \"join\", \"room\": roomname, \"ptype\": \"publisher\", \"display\": username};\n                            mcu.send({'message': register});\n                        },\n                        error: function(error) {\n                            console.log('error while attaching plugin - ' + error);\n                        },\n                        onmessage: function(msg, jsep) {\n                            var event = msg['videoroom'];\n                            console.log('received message with event: ' + event);\n    \n                            if (event != undefined && event != null) {\n                                switch (event) {\n                                    case 'joined':\n                                        myid = msg['id'];\n                                        client.myid = myid;\n                                        console.log('successfully joined room %s with ID %s', msg['room'], myid);\n                                        client.publishWebcam();\n                                        if (msg[\"publishers\"] !== undefined && msg[\"publishers\"] !== null) {\n                                            var list = msg['publishers'];\n                                            console.log('%d publishers to subscribe to', list.length);\n                                            list.forEach(function(feed) {\n                                                var id = feed['id'];\n                                                var name = feed['display'];\n                                                client.subscribeToFeed(id, name);\n                                            });\n                                        }\n                                        break;\n                                    case 'destroyed':\n                                        console.log('The room has been destroyed');\n                                        break;\n                                    case 'event':\n                                        if (msg['publishers'] !== undefined && msg['publishers'] !== null) {\n                                            var list = msg['publishers'];\n                                            console.log('publishers to subscribe to: ' + list);\n                                            list.forEach(function(feed) {\n                                                var id = feed['id'];\n                                                var name = feed['display'];\n                                                client.subscribeToFeed(id, name);\n                                            });\n                                        } else if (msg[\"leaving\"] !== undefined && msg[\"leaving\"] !== null) {\n                                            var leaving = msg['leaving'];\n                                            console.log('publisher left - ' + leaving);\n                                            \n                                            delete client.feeds[leaving];\n                                        } else if (msg[\"unpublished\"] !== undefined && msg[\"unpublished\"] !== null) {\n                                            // this event occurs twice when a pupblisher leaves, once for video,\n                                            // once for audio stream\n                                            var unpublished = msg['unpublished'];\n                                            console.log('stream unpublished - ' + unpublished);\n                                            \n                                            if (unpublished == client.myid) {\n                                                client.get('WebcamScreen').stopVideo();\n                                            } else if (unpublished === 'ok') {\n                                                // this event is received only after unpublishing an own stream\n                                                client.janus.destroy();\n                                            } else {\n                                                var screen = client.feeds[unpublished].screen;\n                                                var bitrateHandle = client.feeds[unpublished].bitrateHandle;\n                                                if (screen) {\n                                                    screen.stopVideo();\n                                                    screen.remove();\n                                                }\n                                                if (bitrateHandle) {\n                                                    clearInterval(bitrateHandle);\n                                                }\n                                            }\n                                        }\n                                        break;\n                                    default:\n                                        console.log('Other event: - ' + JSON.stringify(event));\n                                }\n                            }\n                            \n                            if (jsep !== undefined && jsep !== null) {\n                                console.log('handling SDP as well - ' + jsep);\n                                mcu.handleRemoteJsep({jsep: jsep});\n                            }\n                        },\n                        onlocalstream: function(stream) {\n                            console.log('got local stream');\n                            $morph('WebcamScreen').startVideo(stream);\n                        },\n                        oncleanup: function() {\n                            console.log('received cleanup message');\n                        }\n                    });\n                },\n                error: function(error) {\n                    console.error(error);\n                },\n                destroyed: function() {\n                    console.log('was destroyed');\n                }\n            });\n            \n            client.janus = janus;\n        }\n    });\n}","funcProperties":{"__isSmartRef__":true,"id":412},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"411":{"this":{"__isSmartRef__":true,"id":41}},"412":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Fri Oct 31 2014 14:03:02 GMT-0700 (PDT)\")"},"413":{"varMapping":{"__isSmartRef__":true,"id":414},"source":"function publishWebcam() {\n    var client = this;\n    \n    this.mcu.createOffer({\n        media: {\n            audioRecv: false,\n            videoRecv: false\n        },\n        success: function(jsep) {\n            console.log('got SDP - ' + jsep);\n            var publish = {\"request\": \"configure\", \"audio\": true, \"video\": true};\n            client.mcu.send({'message': publish, 'jsep': jsep});\n        },\n        error: function(error) {\n            console.log('error publishing own webcam - ' + JSON.stringify(error));\n        },\n    });\n}","funcProperties":{"__isSmartRef__":true,"id":415},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"414":{"this":{"__isSmartRef__":true,"id":41}},"415":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Wed Oct 29 2014 17:08:41 GMT-0700 (PDT)\")"},"416":{"varMapping":{"__isSmartRef__":true,"id":417},"source":"function subscribeToFeed(id, name) {\n    var remoteFeed = null;\n    var client = this;\n    \n    this.janus.attach({\n        plugin: 'janus.plugin.videoroom',\n        success: function(pluginHandle) {\n            remoteFeed = pluginHandle;\n            console.log('Plugin attached');\n            var listen = {\"request\": \"join\", \"room\": client.currentRoom, \"ptype\": \"listener\", \"feed\": id};\n            remoteFeed.send({'message': listen});\n        },\n        error: function(error) {\n            console.log('error attaching plugin - ' + error);\n        },\n        onmessage: function(msg, jsep) {\n            var event = msg['videoroom'];\n            console.log('received message with event: ' + event);\n            \n            if (event === 'attached') {\n                client.feeds[msg['id']] = {\n                    feed: remoteFeed\n                }\n                \n                remoteFeed.rfid = msg['id'];\n                remoteFeed.rfname = msg['display'];\n                \n                console.log('successfully attached to feed %s in room %s', remoteFeed.rfname, msg['room']);\n            } else {\n                console.log('unknown event type');\n            }\n            \n            if (jsep !== undefined && jsep !== null) {\n                console.log('handling SDP - ' + jsep);\n                \n                remoteFeed.createAnswer({\n                    jsep: jsep,\n                    media: {audioSend: false, videoSend: false},\n                    success: function(jsep) {\n                        console.log('got SDP - ' + jsep);\n                        var body = {'request': 'start', 'room': client.currentRoom};\n                        remoteFeed.send({'message': body, 'jsep': jsep});\n                    },\n                    error: function(error) {\n                        console.log('error - ' + error);\n                    },\n                })\n            }\n        },\n        onremotestream: function(stream) {\n            console.log('got remote stream from ' + remoteFeed.rfname);\n            var screenContainer = client.get('ScreenContainer');\n            \n            var screen = screenContainer.requestScreen(remoteFeed.rfid);\n            screen.startVideo(stream);\n            \n            var handle = setInterval(function() {\n                var bitrate = remoteFeed.getBitrate();\n                screen.showBitrate(bitrate);\n            }, 1000);\n            \n            client.feeds[remoteFeed.rfid].screen = screen;\n            client.feeds[remoteFeed.rfid].bitrateHandle = handle;\n        }\n    });\n}","funcProperties":{"__isSmartRef__":true,"id":418},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"417":{"this":{"__isSmartRef__":true,"id":41}},"418":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Fri Oct 31 2014 13:55:16 GMT-0700 (PDT)\")"},"419":{"varMapping":{"__isSmartRef__":true,"id":420},"source":"function onOwnerChanged(arg) {\n    // detect whether the morph is closed or just dragged\n    if (arg == null) {\n        this.deleted = true;\n        setTimeout(function() {\n            if (this.deleted) this.onClose();\n        }.bind(this), 1000);\n    } else {\n        this.deleted = false;\n    }\n}","funcProperties":{"__isSmartRef__":true,"id":425},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"420":{"this":{"__isSmartRef__":true,"id":41},"__serializedLivelyClosures__":{"__isSmartRef__":true,"id":421}},"421":{"$super":{"__isSmartRef__":true,"id":422}},"422":{"varMapping":{"__isSmartRef__":true,"id":423},"source":"function () {\n                try {\n                    // FIXME super is supposed to be static\n                    return Object.getPrototypeOf(obj)[name].apply(obj, arguments);\n                } catch (e) {\n                    if ($world)\n                        $world.logError(e, 'Error in $super call')\n                    else\n                        alert('Error in $super call: ' + e + '\\n' + e.stack);\n                    return null;\n                }\n            }","funcProperties":{"__isSmartRef__":true,"id":424},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"423":{"obj":{"__isSmartRef__":true,"id":41},"name":"onOwnerChanged"},"424":{},"425":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Oct 30 2014 14:20:34 GMT-0700 (PDT)\")"},"426":{"varMapping":{"__isSmartRef__":true,"id":427},"source":"function onClose() {\n    this.closeConnection();\n}","funcProperties":{"__isSmartRef__":true,"id":428},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"427":{"this":{"__isSmartRef__":true,"id":41}},"428":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Oct 30 2014 14:21:10 GMT-0700 (PDT)\")"},"429":{"varMapping":{"__isSmartRef__":true,"id":430},"source":"function closeConnection() {\n    Object.keys(this.feeds).forEach(function(id) {\n        this.feeds[id].screen.remove();\n        \n        var bitrateHandle = this.feeds[id].bitrateHandle;\n        if (bitrateHandle) clearInterval(bitrateHandle); \n    }.bind(this));\n    \n    if (this.janus) {\n        var unpublish = {'request': 'unpublish'};\n        this.mcu.send({'message': unpublish});\n    }\n    this.initVars();\n}","funcProperties":{"__isSmartRef__":true,"id":431},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"430":{"this":{"__isSmartRef__":true,"id":41}},"431":{"__serializedExpressions__":["timestamp"],"user":"Felix","timestamp":"new Date(\"Fri Oct 31 2014 14:06:08 GMT-0700 (PDT)\")"},"432":{"varMapping":{"__isSmartRef__":true,"id":433},"source":"function initVars() {\n    this.serverUrl = 'http://192.168.1.74:8088/janus';\n    this.feeds = {};\n}","funcProperties":{"__isSmartRef__":true,"id":434},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"433":{"this":{"__isSmartRef__":true,"id":41}},"434":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Oct 30 2014 16:27:08 GMT-0700 (PDT)\")"},"435":{"varMapping":{"__isSmartRef__":true,"id":436},"source":"function createRoom() {\n    var roomName = this.get('NewRoomName').getTextString();\n    \n    if (!roomName || roomName === '') {\n        show('Enter room name!');\n    }\n    \n    var create = {\"request\": \"create\", \"description\": roomName, \"bitrate\": 128000, \"publishers\": 10};\n    this.mcu.send({\n        'message': create, \n        'success': function(result) {\n            debugger;\n        }\n    });\n}","funcProperties":{"__isSmartRef__":true,"id":437},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"436":{"this":{"__isSmartRef__":true,"id":41}},"437":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Thu Oct 30 2014 17:29:11 GMT-0700 (PDT)\")"},"438":{"varMapping":{"__isSmartRef__":true,"id":439},"source":"function adjustBandwidth() {\n    debugger;\n    var selection = this.get('BandwidthSelection').getSelectedItem();\n    var bitrate = 0;\n    if (selection !== 'unlimited') {\n        var exp = /[0-9]*/;\n        bitrate = parseInt(exp.exec(selection));\n    }\n    \n    this.mcu.send({'message': {'bitrate': bitrate}});\n}","funcProperties":{"__isSmartRef__":true,"id":440},"__LivelyClassName__":"lively.Closure","__SourceModuleName__":"Global.lively.lang.Closure"},"439":{"this":{"__isSmartRef__":true,"id":41}},"440":{"user":"Felix","__serializedExpressions__":["timestamp"],"timestamp":"new Date(\"Fri Oct 31 2014 13:48:52 GMT-0700 (PDT)\")"},"441":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":442},"_ClipMode":"visible","derivationIds":["342A2D3F-D3D6-4287-95B3-020F3E0EC246","FEDAA5CC-5138-4EF6-BF02-F37B1822C133","E679A7C3-6590-4773-A6D5-7A9737BC24FE","86CA8FC9-1EBC-4C47-BAC9-101BC6EEA96D","E797859E-8E56-4A88-AE27-3F28049FF783","469B9597-5BE8-491A-AC69-0C7904BA9338","694D1DDA-5BC0-4EE1-AEEF-C5B2305946D2","6FEA9F95-D3FC-4658-B7A6-AECB1C27FAB1","97CEE5D5-5585-41FE-891C-13D4471CB742","DADD5A19-7D9A-4E4D-A20D-60E67B2365E2"],"id":"F1CEEAAC-327C-4D02-8816-B275EE17EF53","droppingEnabled":true,"halosEnabled":true,"type":"corner","_StyleClassNames":["Morph","Box","ReframeHandle","reframe-handle corner"],"layout":{"__isSmartRef__":true,"id":443},"owner":{"__isSmartRef__":true,"id":0},"eventHandler":{"__isSmartRef__":true,"id":444},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.ReframeHandle","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(769.0,732.0)"},"442":{"_BorderWidth":0,"_BorderColor":null,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(14.0,14.0)","_Padding":"lively.rect(0,0,0,0)"},"443":{"moveVertical":true,"moveHorizontal":true},"444":{"morph":{"__isSmartRef__":true,"id":441},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"445":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":446},"_ClipMode":"visible","derivationIds":["A038F281-350C-4D26-B07F-5A5C286A36E4","FA388D82-8DE3-4F48-BFBC-5023249694B2","6972EE4B-7901-4D0D-BE32-3C825A7039CD","7614A168-F441-47B4-8054-EF496A390E81","F3248285-A4F4-4E1F-A3B8-B620BCDB0268","54649B84-A547-4C63-AA46-3E1AD55BAEA9","D82A0E15-7179-407E-9EA7-A55715B0C124","4FEBC204-47CB-4691-82F7-7104C926802D","B77C2836-B3F3-4D6E-84BC-10E04B111062","74CD3795-C273-4C38-8AC7-4E181A8ADCE5"],"id":"46747C78-53AE-4187-8647-D1CC6F44435D","droppingEnabled":true,"halosEnabled":true,"type":"bottom","_StyleClassNames":["Morph","Box","ReframeHandle","reframe-handle bottom"],"layout":{"__isSmartRef__":true,"id":447},"owner":{"__isSmartRef__":true,"id":0},"eventHandler":{"__isSmartRef__":true,"id":448},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.ReframeHandle","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(0.0,743.0)"},"446":{"_BorderWidth":0,"_BorderColor":null,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(769.0,3.0)","_Padding":"lively.rect(0,0,0,0)"},"447":{"moveVertical":true},"448":{"morph":{"__isSmartRef__":true,"id":445},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"449":{"submorphs":[],"scripts":[],"shape":{"__isSmartRef__":true,"id":450},"_ClipMode":"visible","derivationIds":["8E7DEE1C-08FE-4BA2-B8C0-ACC721BBCCDC","C6FBDAB6-7682-421E-9317-1A169C898211","44D33E68-01F2-41EC-B2FC-94628AF3CED9","AEBFAF3C-B019-4836-B87D-C1880816B10B","98CD095B-4C17-4901-98AF-BEAE94D086DE","24A0A912-81CE-4131-B0C1-C4C65955AE16","F4FFAF4E-5BFF-4E4F-9CEB-D60DF98CEBD5","83FD94ED-CDAE-41B0-8CC9-DE349F33A4F5","779D6AA8-F86B-4117-8866-E51B693EB713","DBD3FC20-679F-45FC-98C3-62BF2E16D10E"],"id":"CCA67BA1-0F53-481A-98BD-ACFB8AC82F9A","droppingEnabled":true,"halosEnabled":true,"type":"right","_StyleClassNames":["Morph","Box","ReframeHandle","reframe-handle right"],"layout":{"__isSmartRef__":true,"id":451},"owner":{"__isSmartRef__":true,"id":0},"eventHandler":{"__isSmartRef__":true,"id":452},"__serializedExpressions__":["_Position"],"__LivelyClassName__":"lively.morphic.ReframeHandle","__SourceModuleName__":"Global.lively.morphic.Widgets","_Position":"lively.pt(780.0,0.0)"},"450":{"_BorderWidth":0,"_BorderColor":null,"_Fill":null,"__serializedExpressions__":["_Position","_Extent","_Padding"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Position":"lively.pt(0.0,0.0)","_Extent":"lively.pt(3.0,732.0)","_Padding":"lively.rect(0,0,0,0)"},"451":{"moveHorizontal":true},"452":{"morph":{"__isSmartRef__":true,"id":449},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"453":{"_BorderWidth":0,"_BorderColor":null,"_Fill":null,"_StrokeOpacity":false,"_BorderRadius":false,"_AppearanceStylingMode":true,"_BorderStylingMode":true,"__serializedExpressions__":["_Padding","_Extent","_Position"],"__LivelyClassName__":"lively.morphic.Shapes.Rectangle","__SourceModuleName__":"Global.lively.morphic.Shapes","_Padding":"lively.rect(0,0,0,0)","_Extent":"lively.pt(783.0,746.0)","_Position":"lively.pt(0.0,0.0)"},"454":{"adjustForNewBounds":true},"455":{"a":1,"b":0,"c":0,"d":1,"e":43,"f":938,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"456":{"a":1,"b":0,"c":0,"d":1,"e":43,"f":938,"__LivelyClassName__":"lively.morphic.Similitude","__SourceModuleName__":"Global.lively.morphic.Graphics"},"457":{"morph":{"__isSmartRef__":true,"id":0},"__LivelyClassName__":"lively.morphic.EventHandler","__SourceModuleName__":"Global.lively.morphic.Events"},"458":{"partsSpaceName":"PartsBin/Felix/","comment":"Video client using the Janus WebRTC gateway","migrationLevel":8,"partName":"JanusVideoClient","changes":[{"__isSmartRef__":true,"id":459},{"__isSmartRef__":true,"id":460},{"__isSmartRef__":true,"id":461},{"__isSmartRef__":true,"id":462},{"__isSmartRef__":true,"id":463},{"__isSmartRef__":true,"id":464},{"__isSmartRef__":true,"id":465},{"__isSmartRef__":true,"id":466},{"__isSmartRef__":true,"id":467},{"__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},{"__isSmartRef__":true,"id":477},{"__isSmartRef__":true,"id":478},{"__isSmartRef__":true,"id":479},{"__isSmartRef__":true,"id":480},{"__isSmartRef__":true,"id":481},{"__isSmartRef__":true,"id":482},{"__isSmartRef__":true,"id":483},{"__isSmartRef__":true,"id":484},{"__isSmartRef__":true,"id":485},{"__isSmartRef__":true,"id":486},{"__isSmartRef__":true,"id":487},{"__isSmartRef__":true,"id":488},{"__isSmartRef__":true,"id":489},{"__isSmartRef__":true,"id":490},{"__isSmartRef__":true,"id":491},{"__isSmartRef__":true,"id":492},{"__isSmartRef__":true,"id":493},{"__isSmartRef__":true,"id":494},{"__isSmartRef__":true,"id":495},{"__isSmartRef__":true,"id":496}],"__serializedExpressions__":["lastModifiedDate"],"__LivelyClassName__":"lively.PartsBin.PartsBinMetaInfo","__SourceModuleName__":"Global.lively.PartsBin","lastModifiedDate":"new Date(\"Fri Oct 31 2014 13:58:44 GMT-0700 (PDT)\")"},"459":{"author":"Felix","message":"no comment","id":"1C88557D-10D9-4C32-9CFF-F9FA376D996E","__serializedExpressions__":["date"],"date":"new Date(\"Fri Oct 31 2014 13:52:59 GMT-0700 (PDT)\")"},"460":{"author":"Felix","message":"no comment","id":"9307B6F1-F5EB-41FA-968B-CD7FFBAB17C3","__serializedExpressions__":["date"],"date":"new Date(\"Thu Oct 30 2014 17:37:43 GMT-0700 (PDT)\")"},"461":{"author":"Felix","message":"no comment","id":"6840D699-602A-4772-9201-09D09B1218AE","__serializedExpressions__":["date"],"date":"new Date(\"Thu Oct 30 2014 17:14:26 GMT-0700 (PDT)\")"},"462":{"author":"Felix","message":"no comment","id":"934FFF3D-ED44-4EA2-BCD3-53413063D270","__serializedExpressions__":["date"],"date":"new Date(\"Thu Oct 30 2014 16:14:26 GMT-0700 (PDT)\")"},"463":{"author":"Felix","message":"no comment","id":"40E52DC4-A313-4BE3-9C23-61770DE60EE7","__serializedExpressions__":["date"],"date":"new Date(\"Thu Oct 30 2014 15:07:47 GMT-0700 (PDT)\")"},"464":{"author":"Felix","message":"no comment","id":"6ECF9274-8EFF-4364-B6B9-6300B392547E","__serializedExpressions__":["date"],"date":"new Date(\"Thu Oct 30 2014 15:02:16 GMT-0700 (PDT)\")"},"465":{"author":"Felix","message":"no comment","id":"CC4DF99C-502D-47C4-9668-2AAB48718EAC","__serializedExpressions__":["date"],"date":"new Date(\"Thu Oct 30 2014 14:45:41 GMT-0700 (PDT)\")"},"466":{"author":"Felix","message":"no comment","id":"F21BC85F-4FC5-4AA7-808B-B611EA70C540","__serializedExpressions__":["date"],"date":"new Date(\"Thu Oct 30 2014 14:31:22 GMT-0700 (PDT)\")"},"467":{"author":"Felix","message":"no comment","id":"785F2CF8-F638-4015-9857-D551F802587D","__serializedExpressions__":["date"],"date":"new Date(\"Thu Oct 30 2014 14:08:02 GMT-0700 (PDT)\")"},"468":{"author":"Felix","message":"first stable version without cleaning up connections","id":"D2AFB70A-3DE1-4BFA-95A2-8F1B97A5216F","__serializedExpressions__":["date"],"date":"new Date(\"Wed Oct 29 2014 17:28:03 GMT-0700 (PDT)\")"},"469":{"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)\")"},"470":{"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)\")"},"471":{"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)\")"},"472":{"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)\")"},"473":{"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)\")"},"474":{"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)\")"},"475":{"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)\")"},"476":{"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)\")"},"477":{"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)\")"},"478":{"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)\")"},"479":{"author":"fbo","message":"","id":"BD1C654D-9100-4B66-BC62-B15FF2498B2B","__serializedExpressions__":["date"],"date":"new Date(\"Fri Feb 24 2012 17:59:09 GMT-0800 (PST)\")"},"480":{"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)\")"},"481":{"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)\")"},"482":{"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)\")"},"483":{"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)\")"},"484":{"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)\")"},"485":{"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)\")"},"486":{"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)\")"},"487":{"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)\")"},"488":{"author":"Felix","message":"initial commit","id":"22ACDEAE-CEAE-4299-8646-3A4E542FF2A5","__serializedExpressions__":["date"],"date":"new Date(\"Wed Oct 29 2014 17:07:28 GMT-0700 (PDT)\")"},"489":{"author":"Felix","message":"no comment","id":"D379F0F9-A63D-4AA1-BB97-C0CF4576E288","__serializedExpressions__":["date"],"date":"new Date(\"Wed Oct 29 2014 17:17:00 GMT-0700 (PDT)\")"},"490":{"author":"Felix","message":"no comment","id":"ED2851BB-C7E7-444A-A9BA-5DC04234DC47","__serializedExpressions__":["date"],"date":"new Date(\"Thu Oct 30 2014 12:01:54 GMT-0700 (PDT)\")"},"491":{"author":"Felix","message":"no comment","id":"4F17F14F-965F-4B1A-8CE4-419C91436C6A","__serializedExpressions__":["date"],"date":"new Date(\"Thu Oct 30 2014 14:24:00 GMT-0700 (PDT)\")"},"492":{"author":"Felix","message":"no comment","id":"4C06B40C-1A65-4C30-B588-1D138DA36851","__serializedExpressions__":["date"],"date":"new Date(\"Thu Oct 30 2014 14:51:32 GMT-0700 (PDT)\")"},"493":{"author":"Felix","message":"no comment","id":"45FC05A7-9EAB-44FB-9CE9-034FC06F10F2","__serializedExpressions__":["date"],"date":"new Date(\"Fri Oct 31 2014 12:01:16 GMT-0700 (PDT)\")"},"494":{"author":"Felix","message":"no comment","id":"97CB5407-9958-40AA-9F2C-147BE4459B29","__serializedExpressions__":["date"],"date":"new Date(\"Fri Oct 31 2014 12:10:38 GMT-0700 (PDT)\")"},"495":{"__serializedExpressions__":["date"],"author":"Felix","message":"no comment","id":"226BD24F-86E5-4F1D-B791-B75829741E62","date":"new Date(\"Fri Oct 31 2014 13:58:37 GMT-0700 (PDT)\")"},"496":{"__serializedExpressions__":["date"],"author":"Felix","message":"no comment","id":"DB61AA38-34A6-4B78-BC88-64CA0BDB8F0D","date":"new Date(\"Fri Oct 31 2014 14:06:16 GMT-0700 (PDT)\")"},"isSimplifiedRegistry":true}}