docs: public Map runScript(String key, Map<String, Object> paras, Writer w, ResourceLoader loader) throws ScriptEvalError
  	{
  		Template t = loadScriptTemplate(key, loader);
  		t.fastBinding(paras);
  		if (w == null)
  		{
  			t.render();
  		}
  		else
  		{
  			t.renderTo(w);
  		}
  
  		try
  		{
  			Map map = getSrirptTopScopeVars(t);
  			if (map == null)
  			{
  				throw new ScriptEvalError();
  			}
  			return map;
  		}
  		catch (ScriptEvalError ex)
  		{
  			throw ex;
  		}
  		catch (Exception ex)
  		{
  			throw new ScriptEvalError(ex);
  		}
  
  	}