/*

DNF: start with stats.txt=1 and /get/transactions.cfm =1
increment stats.txt by 1 at a time
when transactions static txt is loaded filter so that only code='XXX' is added!

Create function initDynamicLoader that initialises proxy and reloads .cfm every time a new code is selected
-similar to initnewday? clear the store and reload from scratch?

:DNF use real batch ID -retrieve from IOCP or similar? in transactions.cfm file!

*/

Ext.namespace("Ext.ux");
Ext.namespace("Ext.ux.data");

Ext.ux.data.nqScriptTagProxy = function(config) {
 
    // call parent constructor
    Ext.ux.data.nqScriptTagProxy.superclass.constructor.call(this, config);
    this.tempdata=null; //place to store actual data following load
    this.tempdataOld=null; //place to store actual data following load
    this.tempRawData=null; //place to store actual data following load
	this.sortInfo=new Array();
    this.sortInfo.field="";
    this.sortInfo.dir="";
    this.aStores=new Array();
    this.aStores["keys"]=new Array();
    this.aStores["data"]=new Array();
    this.aDirty=new Array();
	this.modified=new Ext.util.MixedCollection();
    this.batchId=0;
    this.nextBatchId=0;
    this.dynamicInit=false; //loads intial data from cfm page - the rest are loaded from txt files
    this.dynamicInitted=false; //loads intial data from cfm page - the rest are loaded from txt files
    this.dynamicFilterValue="";
    this.dynamicFilterField="";
    this.dynamicBatchId=0;
    this.customFilter=null;
    this.manualReload=false;
    this.alwaysUpdate=false;
	this.sortOnAllBrowsers=false;
   	Ext.apply(this, config);


}; // end of Ext.ux.data.nqScriptTagProxy constructor
 
// extend

/*
            url: liveDataProxy+'http://'+liveDataDomain+liveDataDir
            ,params:{alexis:'thebest'},proxyId:"prices",fileType:"txt",filePrefix:"prices",nextBatchId:1234

*/


Ext.extend(Ext.ux.data.nqScriptTagProxy, Ext.data.ScriptTagProxy, {
	proxyId : "none",
	fileType : "txt",
	filePrefix : "",
	callbackSuffix:"",
	incremental:true,
	manualReload:false,
	alwaysUpdate:false,
	sortOnAllBrowsers:false,
	
    initLoad : function(params, reader, callback, scope, arg){
	    Ext.ux.data.nqScriptTagProxy.superclass.load.call(this, params, reader, callback, scope, arg);
    },
    constructUrl : function(){
    	var rValue=this.url+this.filePrefix;
    	if (this.nextBatchId!=0){
    		rValue=rValue + "_" + this.nextBatchId;
    	}
   		rValue=rValue + "." + this.fileType;
   		return rValue;
    },
    constructDynamicInitUrl:function(){
    	var rValue=this.dynamicInitUrl+'&type=DYNAMIC&'+this.dynamicFilterField+'='+this.dynamicFilterValue+"&batch_id="+this.dynamicBatchId;
    	return rValue;
    },
    loadNew :function(newDay){
    	//loads new and updated data
    	var a=1;
    	if (typeof(newDay)=="undefined"){
    		newDay=false;
    	}
    	this.newDay=newDay;
    	//this.reader=
    	//this.proxy.load(p, this.reader, this.loadRecords, this, options);

    	if (this.isLoading()){
	    	//this.timeout=2000
    		//alert("aborting")
    		//this.abort()
    		//return true;
    	}

   		var thisStore=eval(this.aStores.data[0]);
   		var thisReader=thisStore.reader;
   		var thisp=this.params;
   		this.tmpCodeStore= new Ext.data.Store({storeId:"xxxyyy",newDay:newDay,proxy: this,reader: thisReader,autoLoad:false,remoteSort:true });



//		this.tmpCodeStore.addListener("load",

		this.tmpCodeStore.on("load",
			function(a,newData,newDay){
				//HANDLING NEW DAY!
				if (a.newDay && (1==1 || a.proxy.proxyId=="pricesProxy")){
					a.proxy.tempdata=this.data.clone();
					a.proxy.tempdataOld=this.data.clone();
		    		var sortInfo=a.proxy.sortInfo;
		    		a.proxy.tempdata=a.proxy.reSort({dir:sortInfo.dir,sort:sortInfo.field},a.reader,true);//force the sort
			    	for (var i=0;i<a.proxy.aStores.data.length;i++){
			    		try {
				    		var thisStore=eval(a.proxy.aStores.data[i]);
				    		//if(!thisStore.proxy.manualReload){
								thisStore.reload();
			    			//}else{alert("would have reloaded")}
							//
				    	}catch(e){}
				    }

				}
				var myname="alexis";
		    	for (var i=0;i<this.proxy.aStores.data.length;i++){
		    		try {
			    		var thisStore=eval(this.proxy.aStores.data[i]);
			    		//decide whether to automatically refresh all stores when main store receives new data
			    		if (!thisStore.proxy.incremental){
			    			//logMe("reloading data for store "+thisStore.storeId);
			    			//DNF: Enable this to reload all connected stores automatically
				    		thisStore.batchId=thisStore.proxy.batchId;
				    		var limit=1000000000;
				    		if(thisStore.limitLoad){
				    			limit=thisStore.limitLoad;
				    		}
				    		if(!thisStore.proxy.manualReload){
				    			thisStore.load({params:{start:0,limit:limit}});
			    			}//else{alert("would have reloaded")}
			    		
			    		}else{
				    		if(1==2){
								logMe("<b>new data for</b> "+thisStore.storeId);
				    			//DNF: Enable this to reload all connected stores automatically (and refresh the corresponding grids)
				    			thisStore.reload();
				    		}
				    		//instead of reloading the store, how about the following!!
				    		//thisStore.fireEvent("datachanged"); - no this appends data to transactions for some reason!
			    		}
			    		thisStore=null;
		    			
		    		} catch(e){
		    		
		    		}
		    	}
				this.tmpCodeStore=null;
	

				return;
			}
			);
//		,this,{single:false});

   		this.tmpCodeStore.load();

    	
    },
    originalLoad : function(params, reader, callback, scope, arg){
        if(this.fireEvent("beforeload", this, params) !== false){

            var p = Ext.urlEncode(Ext.apply(params, this.extraParams));

            var url = this.constructUrl();//this.url;
            
            url += (url.indexOf("?") != -1 ? "&" : "?") + p;
            if(1==1 && this.nocache){
                url += "&_dc=" + (new Date().getTime());
            }
            //url += "_dc=1";

            var transId = ++Ext.data.ScriptTagProxy.TRANS_ID;
            this.batchId=this.nextBatchId;
            callbackSF="";
        	if (this.dynamicInit && !this.dynamicInitted){
        		url=this.constructDynamicInitUrl();
	            callbackSF=this.dynamicFilterValue+"_"+this.dynamicBatchId;
        	}
            var trans = {
                id : transId,
                //cb : "stcCallback"+transId,
                //callback function must match content in data received
                cb : "stcCallback"+this.filePrefix+this.callbackSuffix+callbackSF,
                scriptId : "stcScript"+transId,
                params : params,
                arg : arg,
                url : url,
                callback : callback,
                scope : scope,
                reader : reader
            };
            var conn = this;

            window[trans.cb] = function(o){
                conn.handleResponse(o, trans);
            };

            url += String.format("&{0}={1}", this.callbackParam, trans.cb);

            if(this.autoAbort !== false){
                this.abort();
            }

            trans.timeoutId = this.handleFailure.defer(this.timeout, this, [trans]);
			/*
			this.on("load",
				function(a,b,c){
					var a=2;
				}
			);
			*/
			//logMe("requesting data for "+scope.storeId);
            var script = document.createElement("script");
            script.setAttribute("src", url);
            script.setAttribute("type", "text/javascript");
            script.setAttribute("id", trans.scriptId);
            //this.head.appendChild(script);
            document.getElementsByTagName("head")[0].appendChild(script);


            this.trans = trans;
        }else{
            callback.call(scope||this, null, arg, false);

        }
    },
    
    commitChanges : function(){
    	var aDirty=new Array();
		var nMax=this.tempdata.items.length;
    	for (var n=0; n<nMax;n++){
    		var oItem=this.tempdata.items[n];
    		if (oItem.dirty){
    			oItem.dirty=false;
    			aDirty[aDirty.length]=oItem.id;
    		}
    	}
    	for (var i=0;i<this.aStores.data.length;i++){
    		var thisStore=eval(this.aStores.data[i]);
    		thisStore.commitChanges();
    		thisStore.fireEvent("datachanged");
    	}

    },
    getById : function(key){
    	var oReturn=this.tempdata.get(key);
    	return oReturn;
    },
    
    set : function(key,field,value){
    	var oldVal=this.tempdata.get(key).data[field];
    	for (var i=0;i<this.aStores.data.length;i++){
    		var thisStore=eval(this.aStores.data[i]);
    		try {
    			thisStore.getById(key).set(field,value);
    		} catch(e){
    		
    		}
    		thisStore.fireEvent("datachanged");
    		
    	}
    	this.tempdata.get(key).data[field]=value;
    	//if value has not really changed from previous value, modified will not exist
    	try{
    		this.tempdata.get(key).modified[field]=oldVal;
    	}catch(e){}
    },
    
    addOrUpdate : function(newDataRecord){
    	var record=this.tempdata.get(newDataRecord.id);
    	
    	if(this.dynamicInit){
    		if(newDataRecord.data[this.dynamicFilterField]!=this.dynamicFilterValue){
    			//no need to add this one because it does not match filter! HTO
    			record=null;
    			return;
    		}
    	}
    	if(this.filePrefix=="transactions"){
    		var debugpoint=1;
    		
    	}
    	if (typeof(record)=="undefined"||record.id!=newDataRecord.id){
    		this.modified.add(newDataRecord.id,{id:newDataRecord.id});
    		this.tempdata.add(newDataRecord);
	    	for (var i=0;i<this.aStores.data.length;i++){
				try{
		    		var thisStore=eval(this.aStores.data[i]);
			    	thisStore.data.add(newDataRecord);
				}catch(e){}
		    }

    	}else{

    		this.tempdata.replace(newDataRecord.id,newDataRecord);
    		this.modified.add(newDataRecord.id,{id:newDataRecord.id});
	    	for (var i=0;i<this.aStores.data.length;i++){
	    		try{
		    		var thisStore=eval(this.aStores.data[i]);
		    		thisStore.data.replace(newDataRecord.id,newDataRecord);
	    		}catch(e){}
	    	}
    	}
    	record=null;

		return;
    	//need to update codestore with above
    },
    load : function(params, reader, callback, scope, arg){
        var result = new Array();
        if (typeof(this.aStores["keys"][scope.storeId])=="undefined"){
			this.aStores.data[this.aStores.data.length]=scope.storeId;
        	this.aStores.keys[scope.storeId]=this.aStores.data.length-1;

        }
        /*
        try {
            result = reader.readRecords(this.data);
        }catch(e){
            this.fireEvent("loadexception", this, arg, null, e);
            callback.call(scope, null, arg, false);
            return;
        }
		*/
		/*
		if (this.tempdata==null){
			this.tempdata=scope.data.clone(); //copy actual data into tempdata struct. DNF: when happens when the actual data is updated? - need to handle this!
		}
		*/
		

		if (params.force==undefined && ((params.start!==undefined && params.limit!==undefined) || (params.sort!==undefined && params.sort))) {
			if (this.tempdata==null){
				this.tempdata=scope.data.clone(); //copy actual data into tempdata struct. DNF: when happens when the actual data is updated? - need to handle this!
				this.tempdataOld=this.tempdata.clone();
			}

			var loadData=this.reSort(params,reader);
			//this.tempdata=loadData;
			var totalRecords=this.tempdata.length;

			if (params.start!==undefined && params.limit!==undefined){
			
				if(this.customFilter!=null){
					loadData.customFilter=this.customFilter;
					loadData = loadData.filterBy(function(el){
					    if (typeof(el)=="object"){
							var att = this.customFilter.field || 0;
							return String(el.data[att]).match(this.customFilter.value)?true:false;
					    } else {
							return String(el).match(this.customFilter.value)?true:false;
					    }
					});					
					totalRecords=loadData.length;
					
				}
				/* removed to test performace issues*/
				if (scope.storeId =="codeStore"){
					loadData=loadData.filterBy(companyFilters.getRecordFilter())
					totalRecords=loadData.length;
				}

				if (scope.storeId =="transStore"){
					loadData=loadData.filterBy(transFilters.getRecordFilter())
					totalRecords=loadData.length;
				}

				var newData=loadData.getRange(params.start,params.start+params.limit-1);//codeStore.getRange(0,10);
			}
			else{
				//var newData=loadData.getAll();
				var newData=loadData.getRange(0,loadData.length);//codeStore.getRange(0,10);
			}
			result["records"]=newData;
			result["totalRecords"]=totalRecords;

    		scope.batchId=scope.proxy.batchId;
			if(scope.storeId!="statsStore"){
				logMe("<b>load call for</b> "+scope.storeId);
			}
			newData=null;
			loadData=null;
			callback.call(scope, result, arg, true);
		}
		else{
			//load the normal load method i.e. get data from http request
			//override default ID
			//http://etrading.alexistablet/test/symbols.cfm?sort=code&dir=ASC&_dc=1198950644386&callback=stcCallback1003
			//Ext.data.ScriptTagProxy.TRANS_ID = "1000000";//each proxy should have its own numbering?
			//Load scripttagproxy function
            //Ext.ux.data.nqScriptTagProxy.superclass.load.call(this, params, reader, callback, scope, arg);
            this.originalLoad(params, reader, callback, scope, arg);
            //Ext.ux.data.nqScriptTagProxy.prototype.originalLoad.call( this,params, reader, callback, scope, arg);



            
            
            //IF BATCH ID > 1 then update existing records after loading data
           // var myname="alexis";

		}
 	},
 	reSort : function(params,reader,force){
			//var loadData=this.tempdata;
			//alert("sort aborted")

			if(Ext.isIE6 && !this.sortOnAllBrowsers){
				return this.tempdata; //20080624 do not sort for ie6 unless forced
			}
			/*
			if(Ext.isIE6 ){
				alert(this.sortOnAllBrowsers)
			}
			*/ 


			if (typeof(force)=="undefined"){force=false;}
			if (params.sort!==undefined) {
				//used to re-sort on every occasion- must resort when new data loaded!
				if (force || this.sortInfo.field!=params.sort || this.sortInfo.dir!=params.dir){
					if(params.sort!=""&&params.dir!=""){
					    var dir = String(params.dir).toUpperCase() == "DESC" ? -1 : 1;
					    var st = reader.recordType.getField(params.sort).sortType;
						var f=params.sort;
						dir=params.dir;
				        var fn = function(r1, r2){
				            var v1 = st(r1.data[f]), v2 = st(r2.data[f]);
				            return v1 > v2 ? 1 : (v1 < v2 ? -1 : 0);
				        };
				        //loadData.sort(dir, fn);
				        if(this.tempdata!=null){
				        	try{
						        this.tempdata.sort(dir, fn);
					        }catch(e){}
					        
				        }
					    this.sortInfo.field=f;
					    this.sortInfo.dir=dir;		        
					}
			    }

			}
			//return loadData; 		
			return this.tempdata; 		
 	},
    handleResponse : function(o, trans){
    	var result="";
    	try {
	    	var result=o[0];
	    }catch(e){}

	    this.modified.clear();
	    this.modified=null;//DNF: leak?
		this.modified=new Ext.util.MixedCollection();	    
	    if (result!=""){
	    	//change results to exclude last record and grab MSGSWNQ's...
	    	result=result.split("|");

	    	if (result.length>1){
	    		if (this.tempdata){
	    			this.tempdataOld="";
			    	this.tempdataOld=this.tempdata.clone();
		    	}
	    		var batchResult=result[result.length-2];
	    		batchResult=batchResult.split(",");
	    		if (batchResult.length >0 && batchResult[0]=="MSGSWNQ_BNO"){
	    			//this is the first read.
	    			//increment batch no
	    			if (this.incremental){
		    			this.nextBatchId=eval(batchResult[1])+1; 
	    			}
	    			this.batchId=eval(batchResult[1]) 
	    			//remove batch info from end of record
	    			o[0]=result.slice(0,result.length-2).join("|");
	    			if(this.alwaysUpdate && this.tempdata!=null){
		    			var newResult= trans.reader.readRecords(o);
		    			//add or update memory proxy records
		    			for (var i=0;i<newResult.records.length;i++){
		    				this.addOrUpdate(newResult.records[i]);
		    			}
	    			
	    			}
	    			
	    		}
	    		if (batchResult.length >0 && batchResult[0]=="MSGSWNQ_EOF"){
	    			//this is a consecutive read
	    			if (this.incremental){
		    			this.nextBatchId=this.nextBatchId+1;
	    			}
	    			if(result.length>2){
	    				//results received
	    				//remove batch info
		    			o[0]=result.slice(0,result.length-2).join("|");
		    			//pass through reader again
		    			var newResult= trans.reader.readRecords(o);
		    			//add or update memory proxy records
		    			for (var i=0;i<newResult.records.length;i++){
		    				this.addOrUpdate(newResult.records[i]);
		    			}
	    				//o[0]=""; //pass nothing back!
		    		}else{
		    			//no results received - pass back empty recordset
	    				o[0]="";
	    			}
	    		}
	    		if ((1==2 && this.alwaysUpdate) || (this.incremental && batchResult.length >0 && batchResult[0]!="MSGSWNQ_EOF" && batchResult[0]!="MSGSWNQ_BNO")){
	    			//transactions?
	    			if (this.incremental){
		    			//alert("trans received:batch="+this.nextBatchId)
		    			this.nextBatchId=this.nextBatchId+1;
	    			}
	    			o[0]=result.slice(0,result.length-1).join("|");
	    			//pass through reader again
	    			var newResult= trans.reader.readRecords(o);
	    			//add or update memory proxy records
	    			for (var i=0;i<newResult.records.length;i++){
	    				this.addOrUpdate(newResult.records[i]);
	    			}
	    			o[0]="";

	    		}

	    		//DNF: need to resort here! must resort tempdata - 
	    		//should also resort all linked stores? aStores or will they refresh when they request new data
	    		//Is sort order specified in params of loading new data?
	    		var sortInfo=this.sortInfo;
	    		this.tempdata=this.reSort({dir:sortInfo.dir,sort:sortInfo.field},trans.reader,true);//force the sort
	    		var debugPoint=1;
	    	}
	    }
	    
	    if (this.dynamicInit && this.dynamicInitted==false){
	    	this.dynamicInitted=true;
	    	//should get real batch ID
	    	if (this.batchId==0){
	    		this.batchId=this.dynamicBatchId;
	    		this.nextBatchId=this.batchId+1;
	    	}
	    }
	    
	    //remove last empty pipe delimited record (this should have been done at the arrayReader level)
	    if(o[0].length>1){
	    	var len=o[0].length;
	    	if (o[0].substring(len-1,len)=="|"){
	    		o[0]=o[0].substring(0,len-1);
	    	}
	    }
        if (this.batchId==0){
	        Ext.ux.data.nqScriptTagProxy.superclass.handleResponse.call(this, o, trans);
        }else{
           	//var a=1;//decide what to do!  
			//var loadData=this.reSort(trans.params,trans.reader);
			//this.tempdata=loadData;
			//var l=this.aStores.data.length;
	    	//for (var n=0;n<l;n++){
	    		//tmpStore=eval(this.aStores.data[n]);
	    		//var a=tmpStore.storeId;
	    		//thisStore.commitChanges();
		    	//tmpStore.fireEvent("datachanged");
		    	//tmpStore.reload();
		    //}

	        Ext.ux.data.nqScriptTagProxy.superclass.handleResponse.call(this, o, trans);
	        //trans.callback.call(trans.scope||window, o, trans.arg, true);

	       
	        
	        
	        
        }
    }
    
}); // end of extend

/*
"ACD,0.00,0.00,0.00,0.41,0.41,0.00,0.00,0.00%,0,.00,0.41,12,14:15,2007-02-13,14:15:00,0.4100,0.00,0.00,0.00,0.00,500.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,2350,0|ACR,0.00,0.00,0.00,0.13,0.00,0.00,0.00,0.00%,0,.00,0.13,7,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,5750,0|ACS,0.10,0.11,0.10,0.10,0.00,0.10,0.00,0.00%,245100,24511.00,0.10,13,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.1000,0.00,0.00,0.00,0.00,168650.00,0,0,0,0,91,9530,0|ACT,0.00,0.00,0.00,0.12,0.00,0.12,0.00,0.00%,0,.00,0.12,2,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.1200,0.00,0.00,0.00,0.00,20000.00,0,0,0,0,92,8980,0|AD,0.04,0.06,0.04,0.06,0.00,0.06,0.00,0.00%,237,9.68,0.06,7,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0600,0.00,0.00,0.00,0.00,6925.00,0,0,0,0,91,5370,0|AGRO,1.10,1.10,1.10,1.10,0.00,0.00,0.00,0.00%,256,281.60,1.10,16,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,5750,0|AIAS,0.09,0.09,0.09,0.09,0.09,0.00,0.00,0.00%,42200,3798.00,0.09,2,13:30,2007-02-13,13:30:00,0.0900,0.00,0.00,0.00,0.00,10500.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,6,8980,0|ALL,0.37,0.37,0.37,0.37,0.00,0.37,0.00,0.00%,50000,18500.00,0.37,3,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.3700,0.00,0.00,0.00,0.00,8700.00,0,0,0,0,5,8530,0|ANC,0.16,0.16,0.15,0.16,0.00,0.16,0.00,0.00%,6679,1061.84,0.16,5,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.1600,0.00,0.00,0.00,0.00,3641.00,0,0,0,0,91,5750,0|ANCB,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00%,0,.00,25.00,5,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,7,5750,0|ANS,0.11,0.12,0.11,0.11,0.11,0.00,0.00,0.00%,218500,24040.00,0.11,13,14:27,2007-02-13,14:27:00,0.1100,0.00,0.00,0.00,0.00,400.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,9530,0|APC,0.00,0.00,0.00,0.23,0.00,0.23,0.00,0.00%,0,.00,0.23,12,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.2300,0.00,0.00,0.00,0.00,3580.00,0,0,0,0,91,2350,0|APCB,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00%,0,.00,100.00,12,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,7,2350,0|APE,0.16,0.16,0.16,0.16,0.16,0.00,-0.01,-5.88%,10000,1600.00,0.17,4,14:15,2007-02-13,14:15:00,0.1600,0.00,0.00,0.00,0.00,7000.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,5,3530,0|APOL,0.61,0.63,0.61,0.63,0.63,0.00,0.02,3.28%,149555,92498.71,0.61,2,14:30,2007-02-13,14:30:00,0.6300,0.00,0.00,0.00,0.00,25100.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,92,8980,0|AQS,0.18,0.18,0.18,0.18,0.00,0.18,0.01,5.88%,500,90.00,0.17,16,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.1800,0.00,0.00,0.00,0.00,42390.00,0,0,0,0,91,5750,0|ARD,1.22,1.24,1.18,1.22,0.00,1.22,0.00,0.00%,25915,31368.76,1.22,12,14:16,2007-02-13,14:16:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,1.2200,0.00,0.00,0.00,0.00,1220.00,0,0,0,0,91,8730,0|ARI,0.39,0.40,0.39,0.40,0.00,0.40,0.00,0.00%,1000,394.81,0.40,2,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.4000,0.00,0.00,0.00,0.00,16519.00,0,0,0,0,92,8980,0|ASG,0.00,0.00,0.00,0.24,0.00,0.00,0.00,0.00%,0,.00,0.24,7,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,5750,0|AST,0.51,0.51,0.50,0.50,0.50,0.00,-0.03,-5.66%,11378,5757.00,0.53,16,14:15,2007-02-13,14:15:00,0.5000,0.00,0.00,0.00,0.00,2472.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,5750,0|ATH,0.41,0.44,0.41,0.43,0.00,0.00,0.02,4.88%,332870,141938.48,0.41,7,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,92,8980,0|ATL,1.00,1.00,1.00,1.00,1.00,0.00,-0.02,-1.96%,4000,4000.00,1.02,3,14:15,2007-02-13,14:15:00,1.0000,0.00,0.00,0.00,0.00,20000.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,8530,0|BLUE,0.00,0.00,0.00,1.25,0.00,1.25,0.00,0.00%,0,.00,1.25,15,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,1.2500,0.00,0.00,0.00,0.00,10500.00,0,0,0,0,91,3570,0|BOCY,11.20,11.42,11.16,11.30,11.30,0.00,0.04,0.36%,206640,2331606.00,11.26,1,16:55,2007-02-13,16:55:00,11.3000,0.00,0.00,0.00,0.00,15050.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,4,8350,0|CAIR,0.26,0.26,0.25,0.25,0.25,0.00,0.00,0.00%,15001,3800.26,0.25,7,13:30,2007-02-13,13:30:00,0.2500,0.00,0.00,0.00,0.00,22500.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,6,5750,0|CAP,0.76,0.77,0.76,0.77,0.77,0.00,0.01,1.32%,5000,3825.00,0.76,6,14:15,2007-02-13,14:15:00,0.7700,0.00,0.00,0.00,0.00,2500.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,5,5330,0|CAR,0.50,0.50,0.50,0.50,0.50,0.00,0.00,0.00%,2941,1470.50,0.50,4,14:15,2007-02-13,14:15:00,0.5000,0.00,0.00,0.00,0.00,1059.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,2350,0|CBH,0.23,0.23,0.22,0.23,0.00,0.23,0.00,0.00%,22498,5009.54,0.23,16,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.2300,0.00,0.00,0.00,0.00,82052.00,0,0,0,0,91,5750,0|CCC,0.82,0.85,0.80,0.82,0.00,0.82,-0.01,-1.20%,108381,90428.61,0.83,12,14:27,2007-02-13,14:27:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.8200,0.00,0.00,0.00,0.00,16669.00,0,0,0,0,91,2350,0|CCCH,0.49,0.50,0.49,0.50,0.00,0.50,0.04,8.70%,2000,985.00,0.46,7,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.5000,0.00,0.00,0.00,0.00,14500.00,0,0,0,0,91,8770,0|CCCT,0.11,0.11,0.11,0.11,0.11,0.00,-0.01,-8.33%,8000,880.00,0.12,16,14:15,2007-02-13,14:15:00,0.1100,0.00,0.00,0.00,0.00,33550.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,5750,0|CCCW,0.56,0.65,0.56,0.59,0.59,0.00,0.01,1.72%,4499,2640.77,0.58,8,14:15,2007-02-13,14:15:00,0.5900,0.00,0.00,0.00,0.00,381.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,2350,0|CCTW,0.00,0.00,0.00,0.01,0.00,0.00,0.00,0.00%,0,.00,0.01,8,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,5750,0|CDL,0.43,0.43,0.42,0.43,0.00,0.43,0.00,0.00%,18700,7904.10,0.43,4,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.4300,0.00,0.00,0.00,0.00,4350.00,0,0,0,0,5,3570,0|CFI,0.00,0.00,0.00,2.95,2.95,0.00,0.00,0.00%,0,.00,2.95,4,14:15,2007-02-13,14:15:00,2.9500,0.00,0.00,0.00,0.00,4000.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,2350,0|CFL,0.13,0.13,0.13,0.13,0.13,0.00,0.00,0.00%,11,1.43,0.13,6,14:15,2007-02-13,14:15:00,0.1300,0.00,0.00,0.00,0.00,1989.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,5370,0|CHAM,0.00,0.00,0.00,0.07,0.00,0.07,0.00,0.00%,0,.00,0.07,4,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0700,0.00,0.00,0.00,0.00,66650.00,0,0,0,0,91,3570,0|CHAP,0.19,0.19,0.19,0.19,0.19,0.00,0.00,0.00%,22982,4366.58,0.19,12,14:15,2007-02-13,14:15:00,0.1900,0.00,0.00,0.00,0.00,12276.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,2350,0|CJ,0.00,0.00,0.00,0.14,0.00,0.14,0.00,0.00%,0,.00,0.14,6,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.1400,0.00,0.00,0.00,0.00,5000.00,0,0,0,0,91,5330,0|CLA,0.12,0.12,0.11,0.11,0.11,0.00,-0.01,-8.33%,38291,4410.22,0.12,16,14:15,2007-02-13,14:15:00,0.1100,0.00,0.00,0.00,0.00,117030.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,5750,0|CLL,0.09,0.10,0.08,0.10,0.00,0.10,0.01,11.11%,619203,55627.77,0.09,7,14:17,2007-02-13,14:17:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.1000,0.00,0.00,0.00,0.00,1096610.00,0,0,0,0,91,8980,0|CLR,0.19,0.20,0.18,0.19,0.00,0.19,0.00,0.00%,607589,116834.82,0.19,14,14:28,2007-02-13,14:28:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.1900,0.00,0.00,0.00,0.00,35460.00,0,0,0,0,91,8770,0|CONF,0.00,0.00,0.00,0.24,0.00,0.24,0.00,0.00%,0,.00,0.24,2,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.2400,0.00,0.00,0.00,0.00,2634.00,0,0,0,0,92,8980,0|COS,0.41,0.44,0.41,0.44,0.00,0.44,0.02,4.76%,505,207.20,0.42,3,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.4400,0.00,0.00,0.00,0.00,7244.00,0,0,0,0,91,8530,0|COV,0.07,0.08,0.07,0.08,0.00,0.08,0.00,0.00%,1710,121.30,0.08,7,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0800,0.00,0.00,0.00,0.00,58740.00,0,0,0,0,91,8980,0|CPB,8.00,8.22,8.00,8.18,8.18,0.00,0.16,2.00%,479966,3897773.62,8.02,1,16:54,2007-02-13,16:54:00,8.1800,0.00,0.00,0.00,0.00,975.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,4,8350,0|CPIH,0.57,0.64,0.57,0.63,0.00,0.63,0.03,5.00%,48119,29340.23,0.60,4,14:27,2007-02-13,14:27:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.6300,0.00,0.00,0.00,0.00,51500.00,0,0,0,0,91,8770,0|CTC,1.06,1.10,1.06,1.10,0.00,1.10,0.04,3.77%,61096,66167.84,1.06,6,16:45,2007-02-13,16:45:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,1.1000,0.00,0.00,0.00,0.00,7500.00,0,0,0,0,4,5370,0|CYP,0.18,0.18,0.18,0.18,0.18,0.00,0.00,0.00%,54,9.72,0.18,7,13:30,2007-02-13,13:30:00,0.1800,0.00,0.00,0.00,0.00,1946.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,95,2790,0|CYTR,2.40,2.40,2.40,2.40,2.40,0.00,0.00,0.00%,28108,67459.20,2.40,2,14:24,2007-02-13,14:24:00,2.4000,0.00,0.00,0.00,0.00,15000.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,92,8980,0|DEM,0.78,0.79,0.78,0.79,0.00,0.79,0.02,2.60%,37278,29136.84,0.77,2,14:27,2007-02-13,14:27:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.7900,0.00,0.00,0.00,0.00,19800.00,0,0,0,0,92,8980,0|DES,0.52,0.53,0.50,0.52,0.00,0.52,0.00,0.00%,66600,33974.50,0.52,6,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.5200,0.00,0.00,0.00,0.00,14400.00,0,0,0,0,91,5370,0|DHH,0.07,0.08,0.07,0.08,0.00,0.08,0.00,0.00%,18678,1308.46,0.08,16,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0800,0.00,0.00,0.00,0.00,657186.00,0,0,0,0,5,5750,0|DISP,0.00,0.00,0.00,0.09,0.09,0.00,0.00,0.00%,0,.00,0.09,7,14:15,2007-02-13,14:15:00,0.0900,0.00,0.00,0.00,0.00,7238.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,2790,0|DOD,0.08,0.08,0.08,0.08,0.08,0.00,0.00,0.00%,172337,13786.96,0.08,2,14:15,2007-02-13,14:15:00,0.0800,0.00,0.00,0.00,0.00,414163.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,92,8980,0|DOME,0.00,0.00,0.00,0.71,0.00,0.00,0.00,0.00%,0,.00,0.71,16,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,5750,0|EFR,0.04,0.04,0.04,0.04,0.00,0.04,0.00,0.00%,42316,1692.64,0.04,7,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0400,0.00,0.00,0.00,0.00,600.00,0,0,0,0,95,8980,0|ELF,0.45,0.50,0.45,0.50,0.00,0.00,0.05,11.11%,17900,8341.00,0.45,14,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,8770,0|ELMA,0.12,0.13,0.12,0.13,0.00,0.13,0.01,8.33%,262640,31521.80,0.12,2,14:17,2007-02-13,14:17:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.1300,0.00,0.00,0.00,0.00,1206657.00,0,0,0,0,92,8980,0|EMP,0.00,0.00,0.00,0.45,0.00,0.00,0.00,0.00%,0,.00,0.45,2,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,92,8980,0|ERP,0.00,0.00,0.00,0.15,0.00,0.15,0.00,0.00%,0,.00,0.15,7,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.1500,0.00,0.00,0.00,0.00,4000.00,0,0,0,0,91,8980,0|ERRW,0.00,0.00,0.00,0.08,0.08,0.00,0.00,0.00%,0,.00,0.08,8,14:15,2007-02-13,14:15:00,0.0800,0.00,0.00,0.00,0.00,500.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,8980,0|EURO,0.00,0.00,0.00,0.50,0.00,0.00,0.00,0.00%,0,.00,0.50,14,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,95,8350,0|EXE,0.00,0.00,0.00,0.16,0.00,0.00,0.00,0.00%,0,.00,0.16,7,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,8980,0|EXF,0.00,0.00,0.00,0.47,0.00,0.47,0.00,0.00%,0,.00,0.47,4,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.4700,0.00,0.00,0.00,0.00,10133.00,0,0,0,0,91,3760,0|EXIN,0.95,1.09,0.95,1.09,1.09,0.00,0.18,19.78%,14999,15443.55,0.91,2,13:30,2007-02-13,13:30:00,1.0900,0.00,0.00,0.00,0.00,1700.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,95,8980,0|FBI,0.32,0.32,0.32,0.32,0.32,0.00,0.00,0.00%,2000,640.00,0.32,4,14:21,2007-02-13,14:21:00,0.3200,0.00,0.00,0.00,0.00,12800.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,3570,0|FBIW,0.07,0.07,0.07,0.07,0.00,0.00,-0.01,-12.50%,12000,840.00,0.08,8,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,3570,0|FIA,0.00,0.00,0.00,0.60,0.00,0.60,0.00,0.00%,0,.00,0.60,2,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.6000,0.00,0.00,0.00,0.00,1500.00,0,0,0,0,95,8980,0|FRH,0.00,0.00,0.00,0.05,0.00,0.05,0.00,0.00%,0,.00,0.05,7,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0500,0.00,0.00,0.00,0.00,122000.00,0,0,0,0,6,3570,0|FWW,0.95,0.98,0.94,0.98,0.00,0.98,0.05,5.38%,208871,200514.93,0.93,6,16:50,2007-02-13,16:50:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.9800,0.00,0.00,0.00,0.00,17750.00,0,0,0,0,4,5370,0|GAP,0.22,0.23,0.22,0.23,0.00,0.23,0.01,4.55%,16739,3692.58,0.22,7,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.2300,0.00,0.00,0.00,0.00,4000.00,0,0,0,0,5,2770,0|GLC,0.05,0.05,0.05,0.05,0.00,0.05,0.00,0.00%,2100,105.00,0.05,13,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0500,0.00,0.00,0.00,0.00,3100.00,0,0,0,0,6,9530,0|HB,2.86,2.96,2.86,2.96,0.00,2.96,0.07,2.42%,287454,845081.87,2.89,1,16:47,2007-02-13,16:47:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,2.9600,0.00,0.00,0.00,0.00,23151.00,0,0,0,0,4,8350,0|HBEW,1.76,1.85,1.76,1.84,1.84,0.00,0.08,4.55%,317053,576864.67,1.76,8,16:45,2007-02-13,16:45:00,1.8400,0.00,0.00,0.00,0.00,7929.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,4,8350,0|HCM,0.00,0.00,0.00,0.15,0.00,0.15,0.00,0.00%,0,.00,0.15,2,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.1500,0.00,0.00,0.00,0.00,19010.00,0,0,0,0,95,8980,0|INF,0.44,0.44,0.42,0.43,0.00,0.43,0.00,0.00%,261870,112754.10,0.43,2,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.4300,0.00,0.00,0.00,0.00,56295.00,0,0,0,0,92,8980,0|INRW,0.22,0.22,0.22,0.22,0.22,0.00,0.00,0.00%,3000,660.00,0.22,8,14:15,2007-02-13,14:15:00,0.2200,0.00,0.00,0.00,0.00,20867.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,92,8980,0|ISXI,0.00,0.00,0.00,0.09,0.00,0.09,0.00,0.00%,0,.00,0.09,2,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0900,0.00,0.00,0.00,0.00,1000.00,0,0,0,0,95,8980,0|KAN,0.00,0.00,0.00,0.23,0.00,0.23,0.00,0.00%,0,.00,0.23,16,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.2300,0.00,0.00,0.00,0.00,184.00,0,0,0,0,5,5750,0|KAR,0.00,0.00,0.00,0.49,0.00,0.49,0.00,0.00%,0,.00,0.49,2,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.4900,0.00,0.00,0.00,0.00,510.00,0,0,0,0,95,8980,0|KARK,0.22,0.22,0.22,0.22,0.00,0.22,0.00,0.00%,2000,440.00,0.22,6,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.2200,0.00,0.00,0.00,0.00,1000.00,0,0,0,0,91,3570,0|KEO,0.00,0.00,0.00,1.28,0.00,0.00,0.00,0.00%,0,.00,1.28,4,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,3530,0|KG,0.18,0.18,0.18,0.18,0.18,0.00,0.00,0.00%,1600,288.00,0.18,7,14:15,2007-02-13,14:15:00,0.1800,0.00,0.00,0.00,0.00,148400.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,8730,0|KMC,0.00,0.00,0.00,0.44,0.00,0.44,0.00,0.00%,0,.00,0.44,12,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.4400,0.00,0.00,0.00,0.00,1000.00,0,0,0,0,91,2350,0|KNO,0.00,0.00,0.00,0.05,0.00,0.05,0.00,0.00%,0,.00,0.05,2,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0500,0.00,0.00,0.00,0.00,32990.00,0,0,0,0,95,8980,0|KRO,0.00,0.00,0.00,1.15,0.00,1.15,0.00,0.00%,0,.00,1.15,7,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,1.1500,0.00,0.00,0.00,0.00,2000.00,0,0,0,0,91,5550,0|KYTH,0.30,0.30,0.28,0.29,0.00,0.29,0.00,0.00%,100462,28850.48,0.29,12,14:22,2007-02-13,14:22:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.2900,0.00,0.00,0.00,0.00,11858.00,0,0,0,0,91,2350,0|LAS,0.00,0.00,0.00,0.10,0.00,0.00,0.00,0.00%,0,.00,0.10,2,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,95,8980,0|LBHG,0.11,0.12,0.11,0.12,0.00,0.12,0.01,9.09%,10620,1193.20,0.11,5,16:45,2007-02-13,16:45:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.1200,0.00,0.00,0.00,0.00,22564.00,0,0,0,0,4,5750,0|LCH,0.19,0.20,0.18,0.20,0.00,0.20,0.01,5.26%,19512,3641.29,0.19,16,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.2000,0.00,0.00,0.00,0.00,38409.00,0,0,0,0,91,5750,0|LDL,0.00,0.00,0.00,1.47,0.00,0.00,0.00,0.00%,0,.00,1.47,7,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,8730,0|LEDA,0.00,0.00,0.00,0.10,0.00,0.10,0.00,0.00%,0,.00,0.10,7,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.1000,0.00,0.00,0.00,0.00,250.00,0,0,0,0,95,8980,0|LEM,0.00,0.00,0.00,0.06,0.00,0.06,0.00,0.00%,0,.00,0.06,4,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0600,0.00,0.00,0.00,0.00,60698.00,0,0,0,0,91,3760,0|LGW,1.42,1.48,1.42,1.45,1.45,0.00,0.07,5.07%,33318,48174.45,1.38,8,16:45,2007-02-13,16:45:00,1.4500,0.00,0.00,0.00,0.00,5190.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,4,8350,0|LHG,0.19,0.20,0.19,0.20,0.00,0.20,0.01,5.26%,5750,1096.07,0.19,5,16:45,2007-02-13,16:45:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.2000,0.00,0.00,0.00,0.00,5563.00,0,0,0,0,4,5750,0|LHH,0.40,0.40,0.40,0.40,0.00,0.40,0.03,8.11%,150,60.00,0.37,16,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.4000,0.00,0.00,0.00,0.00,5400.00,0,0,0,0,5,5750,0|LI,0.42,0.44,0.42,0.43,0.43,0.00,0.01,2.38%,168522,72460.05,0.42,14,14:29,2007-02-13,14:29:00,0.4300,0.00,0.00,0.00,0.00,20919.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,5,8770,0|LIB,0.37,0.38,0.36,0.36,0.00,0.00,0.01,2.86%,117598,42805.28,0.35,3,14:22,2007-02-13,14:22:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,8570,0|LOG,1.41,1.44,1.39,1.42,0.00,0.00,0.04,2.90%,26322,36841.46,1.38,13,16:45,2007-02-13,16:45:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,4,9570,0|LPL,0.00,0.00,0.00,0.16,0.00,0.00,0.00,0.00%,0,.00,0.16,4,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,5,1350,0|LUI,0.54,0.55,0.53,0.55,0.00,0.55,0.01,1.85%,518051,280278.07,0.54,7,16:45,2007-02-13,16:45:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.5500,0.00,0.00,0.00,0.00,158444.00,0,0,0,0,4,5750,0|MAI,1.18,1.22,1.18,1.22,0.00,0.00,0.04,3.39%,6042,7259.44,1.18,12,16:45,2007-02-13,16:45:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,4,2350,0|MCC,0.12,0.12,0.12,0.12,0.12,0.00,-0.01,-7.69%,956,114.72,0.13,7,13:30,2007-02-13,13:30:00,0.1200,0.00,0.00,0.00,0.00,9094.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,6,5550,0|MEGA,0.08,0.09,0.08,0.09,0.00,0.09,0.01,12.50%,40200,3218.00,0.08,7,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0900,0.00,0.00,0.00,0.00,538311.00,0,0,0,0,91,5750,0|MFS,1.90,1.95,1.77,1.95,0.00,1.95,0.05,2.63%,8244,15409.52,1.90,14,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,1.9500,0.00,0.00,0.00,0.00,1531.00,0,0,0,0,5,8530,0|MINE,0.26,0.28,0.26,0.27,0.00,0.27,0.01,3.85%,95060,25335.60,0.26,3,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.2700,0.00,0.00,0.00,0.00,28393.00,0,0,0,0,91,8530,0|MPT,0.50,0.52,0.50,0.52,0.00,0.00,0.02,4.00%,3539,1832.58,0.50,6,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,5370,0|MSV,0.00,0.00,0.00,0.04,0.04,0.00,0.00,0.00%,0,.00,0.04,6,13:30,2007-02-13,13:30:00,0.0400,0.00,0.00,0.00,0.00,5000.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,95,5370,0|NEM,0.30,0.30,0.30,0.30,0.30,0.00,-0.03,-9.09%,5000,1500.00,0.33,12,14:15,2007-02-13,14:15:00,0.3000,0.00,0.00,0.00,0.00,1000.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,2350,0|NMT,0.00,0.00,0.00,0.06,0.00,0.06,0.00,0.00%,0,.00,0.06,5,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0600,0.00,0.00,0.00,0.00,18000.00,0,0,0,0,6,5750,0|OCT,1.28,1.29,1.25,1.28,0.00,1.28,0.00,0.00%,31101,39376.63,1.28,7,16:46,2007-02-13,16:46:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,1.2800,0.00,0.00,0.00,0.00,13268.00,0,0,0,0,96,2770,0|OPT,0.55,0.58,0.55,0.58,0.58,0.00,0.02,3.57%,40995,23465.13,0.56,7,16:46,2007-02-13,16:46:00,0.5800,0.00,0.00,0.00,0.00,3505.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,4,2790,0|ORF,0.62,0.64,0.62,0.63,0.63,0.00,0.01,1.61%,20299,12853.12,0.62,6,16:45,2007-02-13,16:45:00,0.6300,0.00,0.00,0.00,0.00,5327.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,4,5370,0|PAL,0.03,0.03,0.03,0.03,0.00,0.03,0.00,0.00%,10000,300.00,0.03,6,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0300,0.00,0.00,0.00,0.00,53000.00,0,0,0,0,6,5370,0|PAPA,1.00,1.00,1.00,1.00,1.00,0.00,0.00,0.00%,100,100.00,1.00,6,14:15,2007-02-13,14:15:00,1.0000,0.00,0.00,0.00,0.00,900.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,5,5330,0|PES,1.22,1.22,1.22,1.22,0.00,0.00,0.00,0.00%,1492,1820.24,1.22,7,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,8730,0|PETS,0.22,0.22,0.22,0.22,0.00,0.22,-0.01,-4.35%,12000,2640.00,0.23,7,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.2200,0.00,0.00,0.00,0.00,38000.00,0,0,0,0,91,5750,0|PGE,0.00,0.00,0.00,0.18,0.00,0.00,0.00,0.00%,0,.00,0.18,6,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,5370,0|PHC,0.00,0.00,0.00,0.33,0.00,0.00,0.00,0.00%,0,.00,0.33,7,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,5750,0|PHIL,0.22,0.22,0.22,0.22,0.00,0.22,-0.01,-4.35%,1000,220.00,0.23,4,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.2200,0.00,0.00,0.00,0.00,2036.00,0,0,0,0,5,2790,0|PHL,0.78,0.83,0.78,0.78,0.00,0.78,0.00,0.00%,16300,12761.50,0.78,6,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.7800,0.00,0.00,0.00,0.00,29294.00,0,0,0,0,91,5370,0|PIPF,0.00,0.00,0.00,0.14,0.00,0.14,0.00,0.00%,0,.00,0.14,7,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.1400,0.00,0.00,0.00,0.00,27293.00,0,0,0,0,6,3570,0|PLY,0.04,0.04,0.04,0.04,0.00,0.04,0.01,33.33%,4500,180.00,0.03,4,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0400,0.00,0.00,0.00,0.00,10202.00,0,0,0,0,6,2790,0|PND,0.31,0.33,0.31,0.32,0.00,0.32,0.01,3.23%,74100,23384.45,0.31,7,14:19,2007-02-13,14:19:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.3200,0.00,0.00,0.00,0.00,108.00,0,0,0,0,91,8730,0|PROP,0.22,0.24,0.22,0.24,0.00,0.24,0.01,4.35%,177626,40628.32,0.23,14,14:19,2007-02-13,14:19:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.2400,0.00,0.00,0.00,0.00,94170.00,0,0,0,0,91,8770,0|RAI,0.19,0.19,0.19,0.19,0.00,0.19,0.01,5.56%,100,19.00,0.18,7,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.1900,0.00,0.00,0.00,0.00,6988.00,0,0,0,0,95,2790,0|REG,0.11,0.11,0.11,0.11,0.11,0.00,0.01,10.00%,60395,6643.45,0.10,7,13:30,2007-02-13,13:30:00,0.1100,0.00,0.00,0.00,0.00,1605.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,6,8980,0|ROL,0.00,0.00,0.00,0.13,0.13,0.00,0.00,0.00%,0,.00,0.13,7,14:15,2007-02-13,14:15:00,0.1300,0.00,0.00,0.00,0.00,47400.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,3760,0|ROY,0.09,0.11,0.09,0.10,0.00,0.00,0.00,0.00%,5615,556.35,0.10,7,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,5750,0|SAFS,0.05,0.05,0.04,0.05,0.00,0.05,0.00,0.00%,51891,2584.55,0.05,14,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0500,0.00,0.00,0.00,0.00,83821.00,0,0,0,0,6,8770,0|SAL,0.00,0.00,0.00,0.16,0.16,0.00,0.00,0.00%,0,.00,0.16,5,14:15,2007-02-13,14:15:00,0.1600,0.00,0.00,0.00,0.00,18000.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,5750,0|SFS,0.26,0.26,0.25,0.25,0.25,0.00,-0.01,-3.85%,1407343,362050.59,0.26,14,16:45,2007-02-13,16:45:00,0.2500,0.00,0.00,0.00,0.00,2309291.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,4,8770,0|SFW,0.12,0.12,0.12,0.12,0.00,0.12,0.00,0.00%,40000,4800.00,0.12,8,16:45,2007-02-13,16:45:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.1200,0.00,0.00,0.00,0.00,314611.00,0,0,0,0,4,8770,0|SHL,0.30,0.30,0.30,0.30,0.30,0.00,0.00,0.00%,1200,360.00,0.30,16,14:15,2007-02-13,14:15:00,0.3000,0.00,0.00,0.00,0.00,720.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,5750,0|SNET,0.15,0.15,0.15,0.15,0.15,0.00,0.01,7.14%,10001,1500.15,0.14,13,13:30,2007-02-13,13:30:00,0.1500,0.00,0.00,0.00,0.00,14799.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,95,9530,0|STAR,0.16,0.16,0.16,0.16,0.00,0.00,0.01,6.67%,4000,640.00,0.15,2,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,92,8980,0|SUP,0.19,0.19,0.19,0.19,0.00,0.19,0.00,0.00%,1,.19,0.19,14,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.1900,0.00,0.00,0.00,0.00,69429.00,0,0,0,0,6,8770,0|TCAP,1.74,1.74,1.74,1.74,1.74,0.00,0.00,0.00%,150,261.00,1.74,2,14:15,2007-02-13,14:15:00,1.7400,0.00,0.00,0.00,0.00,4850.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,92,8980,0|TINC,0.00,0.00,0.00,0.69,0.69,0.00,0.00,0.00%,0,.00,0.69,2,14:15,2007-02-13,14:15:00,0.6900,0.00,0.00,0.00,0.00,5000.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,92,8980,0|TINT,0.00,0.00,0.00,0.35,0.35,0.00,0.00,0.00%,0,.00,0.35,2,14:15,2007-02-13,14:15:00,0.3500,0.00,0.00,0.00,0.00,3000.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,92,8980,0|TLA,0.00,0.00,0.00,0.33,0.00,0.00,0.00,0.00%,0,.00,0.33,15,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,3570,0|TLM,0.00,0.00,0.00,0.16,0.00,0.16,0.00,0.00%,0,.00,0.16,7,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.1600,0.00,0.00,0.00,0.00,14500.00,0,0,0,0,95,5550,0|TOP,0.00,0.00,0.00,0.34,0.00,0.00,0.00,0.00%,0,.00,0.34,5,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,5750,0|TRB,0.23,0.23,0.22,0.22,0.22,0.00,-0.02,-8.33%,11020,2534.40,0.24,12,14:15,2007-02-13,14:15:00,0.2200,0.00,0.00,0.00,0.00,9980.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,91,2350,0|TRPW,0.00,0.00,0.00,0.01,0.00,0.00,0.00,0.00%,0,.00,0.01,8,14:15,2007-02-13,14:15:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,92,8980,0|TSH,0.33,0.35,0.33,0.35,0.00,0.35,0.01,2.94%,67160,22521.38,0.34,16,16:45,2007-02-13,16:45:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.3500,0.00,0.00,0.00,0.00,43571.00,0,0,0,0,4,5750,0|UFI,0.00,0.00,0.00,0.20,0.00,0.20,0.00,0.00%,0,.00,0.20,7,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.2000,0.00,0.00,0.00,0.00,91233.00,0,0,0,0,95,8980,0|UFw,0.00,0.00,0.00,0.02,0.02,0.00,0.00,0.00%,0,.00,0.02,8,13:30,2007-02-13,13:30:00,0.0200,0.00,0.00,0.00,0.00,1000000.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,93,8980,0|UNI,0.32,0.32,0.32,0.32,0.32,0.00,-0.03,-8.57%,2000,640.00,0.35,2,14:15,2007-02-13,14:15:00,0.3200,0.00,0.00,0.00,0.00,18000.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,92,8980,0|UNw,0.10,0.10,0.10,0.10,0.10,0.00,-0.05,-33.33%,1000,100.00,0.15,8,14:15,2007-02-13,14:15:00,0.1000,0.00,0.00,0.00,0.00,1000.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,92,8980,0|USB,2.25,2.30,2.19,2.30,0.00,2.30,-0.05,-2.13%,92719,209402.97,2.35,1,14:19,2007-02-13,14:19:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,2.3000,0.00,0.00,0.00,0.00,8238.00,0,0,0,0,5,8350,0|VCW,2.76,2.97,2.75,2.97,0.00,2.97,0.00,0.00%,1100,3048.00,2.97,12,16:45,2007-02-13,16:45:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,2.9700,0.00,0.00,0.00,0.00,1125.00,0,0,0,0,4,2350,0|VIP,0.00,0.00,0.00,1.70,0.00,1.70,0.00,0.00%,0,.00,1.70,6,16:45,2007-02-13,16:45:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,1.7000,0.00,0.00,0.00,0.00,2654.00,0,0,0,0,4,5330,0|WKH,0.29,0.30,0.29,0.30,0.00,0.30,0.00,0.00%,23000,6672.00,0.30,7,14:16,2007-02-13,14:16:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.3000,0.00,0.00,0.00,0.00,42978.00,0,0,0,0,91,8770,0|WW,0.37,0.41,0.37,0.41,0.00,0.41,0.04,10.81%,396310,153376.77,0.37,8,16:45,2007-02-13,16:45:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.4100,0.00,0.00,0.00,0.00,72168.00,0,0,0,0,4,5370,0|XEN,0.08,0.09,0.08,0.09,0.00,0.09,0.00,0.00%,101500,8135.00,0.09,5,13:30,2007-02-13,13:30:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0900,0.00,0.00,0.00,0.00,36505.00,0,0,0,0,6,5750,0|ZRP,0.00,0.00,0.00,2.29,0.00,0.00,0.00,0.00%,0,.00,2.29,4,16:45,2007-02-13,16:45:00,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,0.0000,0.00,0.00,0.00,0.00,0.00,0,0,0,0,4,3570,0|MSGSWNQ_BNO,1575,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1|"

*/

 
 /*
 NOTES:
 change values:
 codeStore.proxy.tempdata.get("XEN").data.name="d"
 codeStore.fireEvent("datachanged")
 
 find way to register stores!
 */

 if(typeof(NQJSScriptsLoaded)=="number"){NQJSScriptsLoaded=NQJSScriptsLoaded+1;}
 