code: def resolve_one_of(tags, at_least_one):
      
      if len(tags) < len(at_least_one):
          return None
      for possible_resolution in choose_1_from_each(at_least_one):
          resolution = {}
          pr = possible_resolution[:]
          for entity_type in pr:
              last_end_index = -1
              if entity_type in resolution:
                  last_end_index = resolution.get[entity_type][-1].get('end_token')
              tag, value, c = find_first_tag(tags, entity_type, after_index=last_end_index)
              if not tag:
                  break
              else:
                  if entity_type not in resolution:
                      resolution[entity_type] = []
                  resolution[entity_type].append(tag)
          if len(resolution) == len(possible_resolution):
              return resolution
  
      return None
docs: This searches tags for Entites in at_least_one and returns any match
  
      Args:
          tags(list): List of tags with Entities to search for Entities
          at_least_one(list): List of Entities to find in tags
  
      Returns:
          object: returns None if no match is found but returns any match as an object