anchor.diff:  <cfcomponent>
   <cfscript>
  -	
   	/**
   	** @hint constructor of the component
   	* @type type contex type, valid values are "server" or "web"
  
positive.code: 	}
  
  	/**
  	* @hint updates scope settings
  	* @scopeCascadingType Depending on this setting Lucee scans certain scopes to find a variable called from the CFML source.
  	* @allowImplicidQueryCall When a variable has no scope defined, Lucee will search available result sets (CFML Standard) or not.
  	* @mergeFormAndUrl Defines if the scopes URL and Form will be merged together. If a key already exists in Form and URL Scopes, the value from the Form Scope is used.
  	* @sessionManagement Enable or disable session management.
  	* @clientManagement Enable or disable client management.
  	* @domainCookies Enable or disable domain cookies.
  	* @clientCookies Enable or disable client cookies.
  	* @clientTimeout Sets the amount of time Lucee will keep the client scope alive.
  	* @sessionTimeout Sets the amount of time Lucee will keep the session scope alive.
  	* @applicationTimeout Sets the amount of time Lucee will keep the application scope alive.
  	* @clientStorage Default storage for client, can be either [memory,file,cookie or any datasources or any caches defined]
  	* @sessionStorage Default storage for session, can be either [memory,file,cookie or any datasources or any caches defined]
  	* @sessionType type of session handled by lucee, can be either [application,jee]
  	* @localMode Defines how the local scope of a function is invoked when a variable with no scope definition is used, can be either [classic,modern]
  	* @cgiReadonly Defines whether the CGI Scope is read only or not.
  	*/
  	public struct function updateScope( required string scopeCascadingType, required boolean allowImplicidQueryCall, required boolean mergeFormAndUrl, required boolean sessionManagement, required boolean clientManagement, required boolean domainCookies, required boolean clientCookies, required timespan clientTimeout, required timespan sessionTimeout, required string clientStorage, required string sessionStorage, required timespan applicationTimeout, required string sessionType, required string localMode, required boolean cgiReadonly ){
  		var res = {};
  		try{
  			admin
  				action="updateScope"
  				type="#variables.type#"
  				password="#variables.password#"
  				scopeCascadingType="#arguments.scopeCascadingType#"
  				allowImplicidQueryCall="#arguments.allowImplicidQueryCall#"
  				mergeFormAndUrl="#arguments.mergeFormAndUrl#"
  				sessionManagement="#arguments.sessionManagement#"
  				clientManagement="#arguments.clientManagement#"
  				domainCookies="#arguments.domainCookies#"
  				clientCookies="#arguments.clientCookies#"
  				clientTimeout="#arguments.clientTimeout#"
  				sessionTimeout="#arguments.sessionTimeout#"
  				clientStorage="#arguments.clientStorage#"
  				sessionStorage="#arguments.sessionStorage#"
  				applicationTimeout="#arguments.applicationTimeout#"
  				sessionType="#arguments.sessionType#"
  				localMode="#arguments.localMode#"
  				cgiReadonly="#arguments.cgiReadonly#";
  
  			res.label = "OK";
  		}catch( any e ){
  			res.label = "Error";
  			res.exception = e;
  		}
  
  		return res;
  	}
  
  	/**
  	* @hint returns the rest settings
  	*/
  	public struct function getRestSettings(){
  		admin
  			action="getRestSettings"
  			type="#variables.type#"
  			password="#variables.password#"
  			returnVariable="local.restSettings";
  		return restSettings;
  	}
  
  	/**
  	* @hint updates rest mapping settings
  	* @list enable list Services when "/rest/" is called
  	*/
  	public struct function updateRestSettings( boolean list=false ){
  		var res = {};
  		try{
  			admin
  				action="updateRestSettings"
  				type="#variables.type#"
  				password="#variables.password#"
  				list="#arguments.list#"
  				remoteClients="#variables.remoteClients#";
  
  			res.label = "OK";
  		}catch( any e ){
  			res.label = "Error";
  			res.exception = e;
  		}
  
  		return res;
  	}
  
  	/**
  	* @hint returns the list of rest mappings
  	*/
  	public query function getRestMappings(){
  		admin
  			action="getRestMappings"
  			type="#variables.type#"
  			password="#variables.password#"
  			returnVariable="local.restMappings";
  		return restMappings;
  	}
  
  	/**
  	* @hint updates a rest mapping
  	* @virtual virtual name for the rest mapping
  	* @physical physical directory for the rest mapping
  	* @default Whether this mapping is default for rest
  	*/
  	public struct function updateRestMapping( required string virtual, required string physical, boolean default=false ){
  		var res = {};
  		try{
  			admin
  				action="updateRestMapping"
  				type="#variables.type#"
  				password="#variables.password#"
  				virtual="#arguments.virtual#"
  				physical="#arguments.physical#"
  				default="#arguments.default#";
  
  			res.label = "OK";
  		}catch( any e ){
  			res.label = "Error";
  			res.exception = e;
  		}
  
  		return res;
  	}
  
  	/**
  	* @hint updates a rest mapping
  	* @virtual virtual name for the rest mapping to be removed
  	*/
  	public struct function removeRestMapping( required string virtual ){
  		var res = {};
  		try{
  			admin
  				action="removeRestMapping"
  				type="#variables.type#"
  				password="#variables.password#"
  				virtual="#arguments.virtual#";
  			res.label = "OK";
  		}catch( any e ){
  			res.label = "Error";
  			res.exception = e;
  		}
  
  		return res;
  	}
  
  	/**
  	* @hint updates common application settings
  	* @requestTimeout Sets the amount of time the engine will wait for a request to finish before a request timeout will be raised.
  	* @scriptProtect secures your system from "cross-site scripting"
  	* @allowURLRequestTimeout Whether lucee needs to obey the URL parameter RequestTimeout or not
  	*/
  	public struct function updateApplicationSetting( required timespan requestTimeout, required string scriptProtect, required boolean allowURLRequestTimeout ){
  		var res = {};
  		try{
  			admin
  				action="updateApplicationSetting"
  				type="#variables.type#"
  				password="#variables.password#"
  
  				scriptProtect="#arguments.scriptProtect#"
  				allowURLRequestTimeout="#arguments.allowURLRequestTimeout#"
  				requestTimeout="#arguments.requestTimeout#"
  
  				remoteClients="#variables.remoteClients#";
  			res.label = "OK";
  		}catch( any e ){
  			res.label = "Error";
  			res.exception = e;
  		}
  
  		return res;
  	}
  
  	/**
  	* @hint updates the concurrent request handling settings.
  	* @max limits the max number of concurrent requests.
  	* @timeout timeout for a request in concurrent request queue.
  	* @enable enable or disable concurrent request queue.
  	*/
  	public struct function updateQueueSetting( required numeric max, required numeric timeout, required boolean enable ){
  		var res = {};
  		try{
  			admin
  				action="updateQueueSetting"
  				type="#variables.type#"
  				password="#variables.password#"
  
  				max="#arguments.max#"
  				timeout="#arguments.timeout#"
  				enable="#arguments.enable#"
  
  				remoteClients="#variables.remoteClients#";
  			res.label = "OK";
  		}catch( any e ){
  			res.label = "Error";
  			res.exception = e;
  		}
  
  		return res;
  	}
  
  	//updateJDBCDriver
  	public void function updateJDBCDriver( required string classname, required string label, string bundleName, string bundleVersion ){
  		admin
  			action="updateJDBCDriver"
  			type="#variables.type#"
  			password="#variables.password#"
  
  			classname="#arguments.classname#"
  			label="#arguments.label#"
  			bundleName="#arguments.bundleName#"
  			bundleVersion="#arguments.bundleVersion#";
  	}
  
  	/**
  
negative.code: 			type="#variables.type#"
  			password="#variables.password#"
  			returnVariable="local.rtn"
  			action="getTimeZones";
  			querySort(rtn,"id,display");
  			return rtn;
  	}
  
  	/**
  	* @hint returns all available locales
  	*/
  