code: func AdjustSaturation(img image.Image, percentage float64) *image.NRGBA {
  	percentage = math.Min(math.Max(percentage, -100), 100)
  	multiplier := 1 + percentage/100
  
  	return AdjustFunc(img, func(c color.NRGBA) color.NRGBA {
  		h, s, l := rgbToHSL(c.R, c.G, c.B)
  		s *= multiplier
  		if s > 1 {
  			s = 1
  		}
  		r, g, b := hslToRGB(h, s, l)
  		return color.NRGBA{r, g, b, c.A}
  	})
  }
docs: // AdjustSaturation changes the saturation of the image using the percentage parameter and returns the adjusted image.
  // The percentage must be in the range (-100, 100).
  // The percentage = 0 gives the original image.
  // The percentage = 100 gives the image with the saturation value doubled for each pixel.
  // The percentage = -100 gives the image with the saturation value zeroed for each pixel (grayscale).
  //
  // Examples:
  //  dstImage = imaging.AdjustSaturation(srcImage, 25) // Increase image saturation by 25%.
  //  dstImage = imaging.AdjustSaturation(srcImage, -10) // Decrease image saturation by 10%.
  //