tracer says to #ysitd
h=a[g++],l=d(h);Object.prototype.hasOwnProperty.call(e,l)||(e[l]=!0,c[f++]=h)}c.length=f};k.array.binarySearch=function(a,c,d){return k.array.binarySearch_(a,d||k.array.defaultCompare,!1,c)};k.array.binarySelect=function(a,c,d){return k.array.binarySearch_(a,c,!0,void 0,d)};k.array.binarySearch_=function(a,c,d,e,f){for(var g=0,h=a.length,l;g<h;){var m=g+h>>1,n;n=d?c.call(f,a[m],m,a):c(e,a[m]);0<n?g=m+1:(h=m,l=!n)}return