| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | // This methods allows the killing of built-in functions,// so the shim can take over with that implementationvar HLP = (function() {    "use strict";    var kill;        kill = function(_class, methods) {        /*if(!Array.isArray(methods))            return;*/        if(!_class.originals)            _class.originals = {};        for (var i = 0, len = methods.length; i < len; i++) {            var obj = methods[i];            _class.originals[obj] = _class[obj];            delete _class[obj];            if (obj in _class) {                // try something more aggressive since V8 at least                // appears to ignore the delete.                _class[obj] = null;                if (_class[obj]) {                    console.log("Couln't overwrite", obj, "of", _class);                }            }        }    };    return { kill: kill };}());HLP.kill(Function.prototype, [    'bind']);HLP.kill(Array, [    'isArray']);HLP.kill(String.prototype, [    "trim"]);HLP.kill(Object, [    'keys']);HLP.kill(Date, [    'now', 'parse']);HLP.kill(Date.prototype, [    "toJSON", "toISOString"]);HLP.kill(Array.prototype, [    'forEach', 'some', 'every',     'indexOf', 'lastIndexOf',     'map', 'filter',     'reduce', 'reduceRight']);
 |