code: def dict_strict_update(base_dict, update_dict):
      
      additional_keys = set(update_dict.keys()) - set(base_dict.keys())
      if len(additional_keys) > 0:
          raise RuntimeError(
              'The update dictionary contains keys that are not part of '
              'the base dictionary: {}'.format(str(additional_keys)),
              additional_keys)
  
      base_dict.update(update_dict)
docs: This function updates base_dict with update_dict if and only if update_dict does not contain
      keys that are not already in base_dict. It is essentially a more strict interpretation of the
      term "updating" the dict.
  
      If update_dict contains keys that are not in base_dict, a RuntimeError is raised.
  
      :param base_dict: The dict that is to be updated. This dict is modified.
      :param update_dict: The dict containing the new values.