code: def mutUniformInt(individual, low, up, indpb):
      """Mutate an individual by replacing attributes, with probability *indpb*,
      by a integer uniformly drawn between *low* and *up* inclusively.
  
      :param individual: :term:`Sequence <sequence>` individual to be mutated.
      :param low: The lower bound or a :term:`python:sequence` of
                  of lower bounds of the range from which to draw the new
                  integer.
      :param up: The upper bound or a :term:`python:sequence` of
                 of upper bounds of the range from which to draw the new
                 integer.
      :param indpb: Independent probability for each attribute to be mutated.
      :returns: A tuple of one individual.
      """
      size = len(individual)
      if not isinstance(low, Sequence):
          low = repeat(low, size)
      elif len(low) < size:
          raise IndexError(
              "low must be at least the size of individual: %d < %d"
              % (len(low), size)
          )
      if not isinstance(up, Sequence):
          up = repeat(up, size)
      elif len(up) < size:
          raise IndexError(
              "up must be at least the size of individual: %d < %d"
              % (len(up), size)
          )
  
      for i, xl, xu in zip(range(size), low, up):
          if random.random() < indpb:
              individual[i] = random.randint(xl, xu)
  
      return (individual,)
  
file_path: deap/deap/tools/mutation.py
imports: import math
  import random
  from itertools import repeat
label_desc: Use image node_id 5 for calling a global function with example usage: mutUniformInt(individual, low, up, indpb) and returns: individual