if (typeof Object.create !== 'function') { Object.create = function (proto, propertiesObject) { if (typeof proto !== 'object' && typeof proto !== 'function') { throw new TypeError('Object prototype may only be an Object: ' + proto) } else if (proto === null) { throw new Error('This browser\'s implementation of Object.create is a shim and doesn\'t support \'null\' as the first argument.') } function F () { } F.prototype = proto if (propertiesObject) { Object.defineProperties(F, propertiesObject) } return new F() }}