var com;if(!com){com={}}else{if(typeof com!="object"){throw new Error("com already exists and is not an object")}}if(!com.archstoneapartments){com.archstoneapartments={}}else{if(typeof com.archstoneapartments!=object){throw new Error("com.archstoneapartments already exists and is not an object")}}if(com.archstoneapartments.Class){throw new Error("com.archstoneapartments.Class already exists")}com.archstoneapartments.Class={define:function(g){var e=g.name;var n=g.extend||Object;var b=g.construct||function(){};var d=g.methods||{};var m=g.statics||{};var h;var l;if(!g.borrows){h=[]}else{if(g.borrows instanceof Array){h=g.borrows}else{h=[g.borrows]}}if(!g.provides){l=[]}else{if(g.provides instanceof Array){l=g.provides}else{l=[g.provides]}}var j=new n();for(var a in j){if(j.hasOwnProperty(a)){delete j[a]}}for(var f=0;f<h.length;f++){var k=g.borrows[f];h[f]=k;for(var a in k.prototype){if(typeof k.prototype!="function"){continue}j[a]=k.prototype[a]}}for(var a in d){j[a]=d[a]}j.constructor=b;j.superclass=n;if(e){j.classname=e}for(var f=0;f<l.length;f++){var k=l[f];for(var a in k.prototype){if(typeof k.prototype[a]!="function"){continue}if(a=="constructor"||a=="superclass"){continue}if(a in j&&typeof j[a]=="function"&&j[a].length==k.prototype[a].length){continue}throw new Error("Class "+e+" does not provide method "+k.classname+"."+a)}}b.prototype=j;for(var a in m){b[a]=g.statics[a]}return b},provides:function(a,b){}};