1$.storage=$.localStorage=(function(){'use strict';var storage=window.localStorage||window.sessionStorage,data={};return{get:function(key){return storage.getItem(key);},set:function(key,value){storage.setItem(key,value);},remove:function(keys){if(typeof keys==='string'){keys=[keys];} 2keys.forEach(function(key){storage.removeItem(key);});},ns:function(namespace){if(!data[namespace]){data[namespace]={};} 3if(storage.getItem(namespace)){try{data[namespace]=JSON.parse(storage.getItem(namespace));}catch(e){console.error(e);}} 4return{get:function(key){if(!key){return data[namespace];} 5return data[namespace][key];},set:function(key,value){data[namespace][key]=value;storage.setItem(namespace,JSON.stringify(data[namespace]));},keys:function(){return Object.keys(data[namespace]);},remove:function(keys){if(typeof keys==='string'){keys=[keys];} 6keys.forEach(function(key){delete data[namespace][key];});storage.setItem(namespace,JSON.stringify(data[namespace]));},removeAll:function(){data[namespace]={};storage.removeItem(namespace);}};}};})();$.initNamespaceStorage=function(ns){'use strict';return{localStorage:$.storage.ns(ns)};};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.