code: def strip_text(text, entities):
      
      if not entities:
          return text.strip()
  
      while text and text[-1].isspace():
          e = entities[-1]
          if e.offset + e.length == len(text):
              if e.length == 1:
                  del entities[-1]
                  if not entities:
                      return text.strip()
              else:
                  e.length -= 1
          text = text[:-1]
  
      while text and text[0].isspace():
          for i in reversed(range(len(entities))):
              e = entities[i]
              if e.offset != 0:
                  e.offset -= 1
                  continue
  
              if e.length == 1:
                  del entities[0]
                  if not entities:
                      return text.lstrip()
              else:
                  e.length -= 1
  
          text = text[1:]
  
      return text
docs: Strips whitespace from the given text modifying the provided entities.
  
      This assumes that there are no overlapping entities, that their length
      is greater or equal to one, and that their length is not out of bounds.