docs: function mainloop(){
  		// console.log('mainloop()');
  		var queue = [];
  		if( !_this.canceled && _this.queue.length ){
  			// var row = _this.queue.shift();
  			queue = _this.queue;
  			_this.queue = [];
  
  			it79.ary(
  				queue,
  				5,
  				function(it1, row, idx){
  					searchInFile(row, function(){
  						if( _this.canceled ){
  							it1.break();
  							return;
  						}
  						it1.next();
  						return;
  					});
  				},
  				function(){
  					if( _this.canceled ){
  						complete();
  						return;
  					}
  				}
  			);
  		}
  
  		if( _this.canceled || statusFilelist == true && !_this.queue.length && countTarget == countDone ){
  			complete();
  			return;
  		}
  
  		_this.mainloopTimer = setTimeout( mainloop, 3);
  		return;
  	}