if(!Array.prototype.forEach){Array.prototype.forEach=function(callback){var _arr=this;var val,j;for(var i in _arr){if(_arr.hasOwnProperty(i)){j=parseInt(i);val=_arr[j];callback(val,j,_arr)}}}}if(!Array.prototype.map){Array.prototype.map=function(callback){var _arr=[];this.forEach(function(el,i,arr){_arr.push(callback(el,i,arr))});return _arr}}if(!Array.prototype.filter){Array.prototype.filter=function(callback){var _arr=[];this.forEach(function(el,i,arr){if(callback(el,i,arr)){_arr.push(el)}});return _arr}}if(!Array.prototype.find){Array.prototype.find=function(callback){var _arr=this;var val,j;for(var i in _arr){if(_arr.hasOwnProperty(i)){j=parseInt(i);val=_arr[j];if(callback(val,j,_arr)){return val}}}return null}}if(!Array.prototype.findIndex){Array.prototype.findIndex=function(callback){var _arr=this;var val,j;for(var i in _arr){if(_arr.hasOwnProperty(i)){j=parseInt(i);val=_arr[j];if(callback(val,j,_arr)){return j}}}return-1}}if(!Array.prototype.reduce){Array.prototype.reduce=function(callback){var _arr=this,len=_arr.length,a=_arr[0],b=_arr[1];a=callback(a,b,0,_arr);for(var i=1;i0;i--){if(_arr.hasOwnProperty(i)){b=_arr[i-1];a=callback(a,b,len-i-1,_arr)}}return a}}if(!Array.prototype.some){Array.prototype.some=function(callback){var _arr=this;var val,j;for(var i in _arr){if(_arr.hasOwnProperty(i)){j=parseInt(i);val=_arr[j];if(callback(val,j,_arr)){return true}}}return false}}if(!Array.prototype.every){Array.prototype.every=function(callback){var _arr=this;var val,j;for(var i in _arr){if(_arr.hasOwnProperty(i)){j=parseInt(i);val=_arr[j];if(!callback(val,j,_arr)){return false}}}return true}}if(!Array.prototype.indexOf){Array.prototype.indexOf=function(el){var _arr=this;var val;for(var i in _arr){val=_arr[i];if(_arr.hasOwnProperty(i)&&val===el){return parseInt(i)}}return-1}}if(!Function.prototype.bind){Function.prototype.bind=function(){var fn=this,slice=Array.prototype.slice,presetArgs=slice.call(arguments),context=presetArgs.shift();return function(){return fn.apply(context,presetArgs.concat(slice.call(arguments)))}}}if(typeof Object.assign!="function"){Object.assign=function(target){if(target===undefined||target===null){throw new TypeError("Cannot convert undefined or null to object")}var output=Object(target);for(var index=1;index