rem:  if (ref1[1] == 0 || ref2[1] == 0) { given[1] = ref2[1]; 
add:  if (ref1[1] == 0 || ref2[1] == 0) { given[1] = ref2[1]; } else { var d = ref1[1] / ref2[1]; if (d > 1) { given[1] /= d; 
context:     function shift_color(given, ref1, ref2) {      // Convert to HSL      given = farb.RGBToHSL(farb.unpack(given));      // Hue: apply delta      given[0] += ref2[0] - ref1[0];      // Saturation: interpolate      if (ref1[1] == 0 || ref2[1] == 0) {        given[1] = ref2[1];      }      else {        var d = ref1[1] / ref2[1];        if (d > 1) {          given[1] /= d;        }        else {          given[1] = 1 - (1 - given[1]) * d;        }      }      // Luminance: interpolate      if (ref1[2] == 0 || ref2[2] == 0) {        given[2] = ref2[2];      }      else {        var d = ref1[2] / ref2[2];        if (d > 1) {          given[2] /= d;        }        else {          given[2] = 1 - (1 - given[2]) * d;        }      }      return farb.pack(farb.HSLToRGB(given));    }
meta: 6801	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/6801/c11cb4ec24479e801076c094f043f2084b344d0c/color.js/buggy/modules/color/color.js