var console,util=require("util"),assert=require("assert");function now(){return new Date().getTime()}var slice=Array.prototype.slice,times={};console="undefined"!=typeof global&&global.console?global.console:"undefined"!=typeof window&&window.console?window.console:{};for(var functions=[[log,"log"],[info,"info"],[warn,"warn"],[error,"error"],[time,"time"],[timeEnd,"timeEnd"],[trace,"trace"],[dir,"dir"],[consoleAssert,"assert"]],i=0;i<functions.length;i++){var o=functions[i],e=o[0],n=o[1];console[n]||(console[n]=e)}function log(){}function info(){console.log.apply(console,arguments)}function warn(){console.log.apply(console,arguments)}function error(){console.warn.apply(console,arguments)}function time(o){times[o]=now()}function timeEnd(o){var e=times[o];if(!e)throw Error("No such label: "+o);delete times[o];var n=now()-e;console.log(o+": "+n+"ms")}function trace(){var o=Error();o.name="Trace",o.message=util.format.apply(null,arguments),console.error(o.stack)}function dir(o){console.log(util.inspect(o)+"\n")}function consoleAssert(o){if(!o){var e=slice.call(arguments,1);assert.ok(!1,util.format.apply(null,e))}}module.exports=console;