PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` // JSHINT has some GPL Compatability issues, so we are faking it out and using esprima for validation // Based on https://github.com/jquery/esprima/blob/gh-pages/demo/validate.js which is MIT licensed var fakeJSHINT = new function() { var syntax, errors; var that = this; this.data = []; this.convertError = function( error ){ return { line: error.lineNumber, character: error.column, reason: error.description, code: 'E' }; }; this.parse = function( code ){ try { syntax = window.esprima.parse(code, { tolerant: true, loc: true }); errors = syntax.errors; if ( errors.length > 0 ) { for ( var i = 0; i < errors.length; i++) { var error = errors[i]; that.data.push( that.convertError( error ) ); } } else { that.data = []; } } catch (e) { that.data.push( that.convertError( e ) ); } }; }; window.JSHINT = function( text ){ fakeJSHINT.parse( text ); }; window.JSHINT.data = function(){ return { errors: fakeJSHINT.data }; };