code: func (e *Engine) Render(chrt *chart.Chart, values chartutil.Values) (map[string]string, error) {
  	// Render the charts
  	tmap := allTemplates(chrt, values)
  	return e.render(tmap)
  }
docs: // Render takes a chart, optional values, and value overrides, and attempts to render the Go templates.
  //
  // Render can be called repeatedly on the same engine.
  //
  // This will look in the chart's 'templates' data (e.g. the 'templates/' directory)
  // and attempt to render the templates there using the values passed in.
  //
  // Values are scoped to their templates. A dependency template will not have
  // access to the values set for its parent. If chart "foo" includes chart "bar",
  // "bar" will not have access to the values for "foo".
  //
  // Values should be prepared with something like `chartutils.ReadValues`.
  //
  // Values are passed through the templates according to scope. If the top layer
  // chart includes the chart foo, which includes the chart bar, the values map
  // will be examined for a table called "foo". If "foo" is found in vals,
  // that section of the values will be passed into the "foo" chart. And if that
  // section contains a value named "bar", that value will be passed on to the
  // bar chart during render time.