nl_tokens: based on http : // stackoverflow . com / a / 7616484
pl_tokens: function <mask> ( s ) { var h = 0 , i , c ; var l = s . length ; if ( l === 0 ) return ( h ) ; for ( i = 0 ; i < l ; i ++ ) { c = s . charCodeAt ( i ) ; h = ( ( h << 5 ) - h ) + c ; h |= 0 ; // Convert to 32bit integer } return ( Math . abs ( h ) ) ; }