text: dojo.provide("dojo._base._loader.loader_debug");
  
  //Override dojo.provide, so we can trigger the next
  //script tag for the next local module. We can only add one
  //at a time because there are browsers that execute script tags
  //in the order that the code is received, and not in the DOM order.
  dojo.nonDebugProvide = dojo.provide;
  
  dojo.provide = function(resourceName){
  	var dbgQueue = dojo["_xdDebugQueue"];
  	if(dbgQueue && dbgQueue.length > 0 && resourceName == dbgQueue["currentResourceName"]){
  		//Set a timeout so the module can be executed into existence. Normally the
  		//dojo.provide call in a module is the first line. Don't want to risk attaching
  		//another script tag until the current one finishes executing.
  		if(dojo.isAIR){
  			window.setTimeout(function(){dojo._xdDebugFileLoaded(resourceName);}, 1);
  		}else{
  			window.setTimeout(dojo._scopeName + "._xdDebugFileLoaded('" + resourceName + "')", 1);
  		}
  	}
  
  	return dojo.nonDebugProvide.apply(dojo, arguments);
  }
  
  dojo._xdDebugFileLoaded = function(resourceName){
  
  	if(!this._xdDebugScopeChecked){
  		//If using a scoped dojo, we need to expose dojo as a real global
  		//for the debugAtAllCosts stuff to work.
  		if(dojo._scopeName != "dojo"){
  			window.dojo = window[dojo.config.scopeMap[0][1]];
  			window.dijit = window[dojo.config.scopeMap[1][1]];
  			window.dojox = window[dojo.config.scopeMap[2][1]];
  		}
  
  		this._xdDebugScopeChecked = true;
  	}
  	
  	var dbgQueue = this._xdDebugQueue;
  	
  	if(resourceName && resourceName == dbgQueue.currentResourceName){
  		dbgQueue.shift();
  	}
  
  	if(dbgQueue.length == 0){
  		//Check for more modules that need debug loading.
  		//dojo._xdWatchInFlight will add more things to the debug
  		//queue if they just recently loaded but it was not detected
  		//between the dojo._xdWatchInFlight intervals.
  		dojo._xdWatchInFlight();
  	}
  
  	if(dbgQueue.length == 0){
  		dbgQueue.currentResourceName = null;
  
  		//Make sure nothing else is in flight.
  		//If something is still in flight, then it still
  		//needs to be added to debug queue after it loads.
  		for(var param in this._xdInFlight){
  			if(this._xdInFlight[param] === true){
  				return;
  			}
  		}
  
  		this._xdNotifyLoaded();
  	}else{
  		if(resourceName == dbgQueue.currentResourceName){
  			dbgQueue.currentResourceName = dbgQueue[0].resourceName;
  			var element = document.createElement("script");
  			element.type = "text/javascript";
  			element.src = dbgQueue[0].resourcePath;
  			document.getElementsByTagName("head")[0].appendChild(element);
  		}
  	}
  }
  