anchor.diff:  
           $scope.onForecastingTemplateChange = function() {
               // Deep clone the template's options when a template is selected
  -            $scope.forecastingOptions = JSON.parse(JSON.stringify($scope.forecastingTemplate.options));
  +            $scope.forecastingOptions = jQuery.extend(true, {}, $scope.forecastingTemplate.options);
           };
   
           function clearUserInput() {
  
positive.code:         $scope.reset = function() {
              clearUserInput();
              // Re-render the original graph model
              renderGraph($scope.graphModel);
          };
  
          $scope.canForecast = function() {
  
negative.code:                 dataType: 'json',
                  context: $(this)
              }).done(function (graphDef) {
                  // Save the pristine definition in the scope
                  $scope.graphDef = graphDef;
                  $scope.resource = resource;
  
                  // Convert the graph definition
                  var rrdGraphConverter = new Backshift.Utilities.RrdGraphConverter({
                      graphDef: $scope.graphDef,
                      resourceId: $scope.resource
                  });
  
                  // Render the graph using the pristine model
                  renderGraph(rrdGraphConverter.model);
  
                  // Pull the list of named series from the model
                  $scope.series = _.filter(rrdGraphConverter.model.series, function(series){ return !_.isEmpty(series.name); });
                  $scope.$apply();
              }).fail(function() {
                  $scope.error = "Failed to retrieve the graph definition for the report named: " + report;
  