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` //boyer-moore? module.exports = function bm(buf,search,offset){ var m = 0, j = 0 var table = [] var ret = -1; for(var i=offset||0;i0;--j){ table[i].push([i+j,j]) console.log('j',j) if(buf[i+j] !== search[j]) { //i += j j = -1 break } } if(j === 0) { ret = i break } } } console.log(table) renderTable(table,buf,search) return ret } var chalk = require('chalk') function renderTable(table,buf,search){ var s = '' console.log('-----') console.log('search:',search) console.log('-----') console.log(buf+'') table.forEach(function(a){ if(!a) return;// console.log('') a.forEach(function(v){ if(!v) return; var pad = '' while(pad.length < v[0]){ pad += ' ' } if(search[v[1]] === buf[v[0]]) console.log(pad+chalk.green(search[v[1]])) else console.log(pad+chalk.red(search[v[1]])) }) }) console.log('-----') }