code: def produce_scansion(self, stresses: list, syllables_wspaces: List[str],
                           offset_map: Dict[int, int]) -> str:
          
          scansion = list(" " * len(string_utils.flatten(syllables_wspaces)))
          unstresses = string_utils.get_unstresses(stresses, len(syllables_wspaces))
          try:
              for idx in unstresses:
                  location = offset_map.get(idx)
                  if location is not None:
                      scansion[location] = self.constants.UNSTRESSED
              for idx in stresses:
                  location = offset_map.get(idx)
                  if location is not None:
                      scansion[location] = self.constants.STRESSED
          except Exception as e:
              LOG.error("problem with syllables; check syllabification {}, {}".format(
                  syllables_wspaces, e))
          return "".join(scansion)
docs: Create a scansion string that has stressed and unstressed syllable positions in locations
          that correspond with the original texts syllable vowels.
  
          :param stresses list of syllable positions
          :param syllables_wspaces list of syllables with spaces escaped for punctuation or elision
          :param offset_map dictionary of syllable positions, and an offset amount which is the
          number of spaces to skip in the original line before inserting the accent.