(function(exports){'use strict';var i;var defineProperty=Object.defineProperty,is=function(a,b){return isNaN(a)?isNaN(b):a===b;};if(typeof WeakMap=='undefined'){exports.WeakMap=createCollection({'delete':sharedDelete,clear:sharedClear,get:sharedGet,has:mapHas,set:sharedSet},true);} if(typeof Map=='undefined'||typeof((new Map).values)!=='function'||!(new Map).values().next){exports.Map=createCollection({'delete':sharedDelete,has:mapHas,get:sharedGet,set:sharedSet,keys:sharedKeys,values:sharedValues,entries:mapEntries,forEach:sharedForEach,clear:sharedClear});} if(typeof Set=='undefined'||typeof((new Set).values)!=='function'||!(new Set).values().next){exports.Set=createCollection({has:setHas,add:sharedAdd,'delete':sharedDelete,clear:sharedClear,keys:sharedValues,values:sharedValues,entries:setEntries,forEach:sharedForEach});} if(typeof WeakSet=='undefined'){exports.WeakSet=createCollection({'delete':sharedDelete,add:sharedAdd,clear:sharedClear,has:setHas},true);} function createCollection(proto,objectOnly){function Collection(a){if(!this||this.constructor!==Collection)return new Collection(a);this._keys=[];this._values=[];this._itp=[];this.objectOnly=objectOnly;if(a)init.call(this,a);} if(!objectOnly){defineProperty(proto,'size',{get:sharedSize});} proto.constructor=Collection;Collection.prototype=proto;return Collection;} function init(a){var i;if(this.add) a.forEach(this.add,this);else a.forEach(function(a){this.set(a[0],a[1])},this);} function sharedDelete(key){if(this.has(key)){this._keys.splice(i,1);this._values.splice(i,1);this._itp.forEach(function(p){if(i