code: def evaluate(self, genomes, config):
          
          if not self.working:
              self.start()
          p = 0
          for genome_id, genome in genomes:
              p += 1
              self.inqueue.put((genome_id, genome, config))
  
          # assign the fitness back to each genome
          while p > 0:
              p -= 1
              ignored_genome_id, genome, fitness = self.outqueue.get()
              genome.fitness = fitness
docs: Evaluate the genomes