                                                                   optimizer="adam",
                                                                   mixed_precision=False)
          for key, val in _CONFIG.items():
              if key not in self._config.keys():
                  setting = legacy_defaults.get(key, val)
                  logger.info("Adding new config item to state file: '%s': '%s'", key, setting)
                  self._config[key] = setting
          self._update_changed_config_items(config_changeable_items)
          logger.debug("Replacing config. Old config: %s", _CONFIG)
          _CONFIG = self._config
 
</s> remove             for key, val in self._config.defaults[section].items():
 </s> add             for key, val in self._config.defaults[section].items.items(): </s> remove             for key, val in self.defaults[sect].items():
                if key == "helptext" or val["fixed"]:
 </s> add             for key, val in self.defaults[sect].items.items():
                if val.fixed: </s> remove         mod = import_module("{}.{}".format(module_path, module))
        self.add_section(title=section, info=mod._HELPTEXT)  # pylint:disable=protected-access
        for key, val in mod._DEFAULTS.items():  # pylint:disable=protected-access
 </s> add         mod = import_module(f"{module_path}.{module}")
        self.add_section(section, mod._HELPTEXT)  # type:ignore[attr-defined]  # pylint:disable=protected-access  # noqa:E501
        for key, val in mod._DEFAULTS.items():  # type:ignore[attr-defined]  # pylint:disable=protected-access  # noqa:E501 </s> remove         for sect in sections + [self.section]:
 </s> add         all_sections = sections if self.section is None else sections + [self.section]
        for sect in all_sections: </s> remove         for section, items in self.defaults.items():
            self.insert_config_section(section, items["helptext"], new_config)
            for item, opt in items.items():
                if item == "helptext":
                    continue
                if section not in self.config.sections():
                    logger.debug("Adding new config section: '%s'", section)
                    opt_value = opt["default"]
 </s> add         for section_name, section in self.defaults.items():
            self.insert_config_section(section_name, section.helptext, new_config)
            for item, opt in section.items.items():
                if section_name not in self.config.sections():
                    logger.debug("Adding new config section: '%s'", section_name)
                    opt_value = opt.default
                setting: "ConfigValueType" = legacy_defaults.get(key, val)
                                                                   optimizer="adam",
                                                                   mixed_precision=False)
          for key, val in _CONFIG.items():
              if key not in self._config.keys():
                setting: "ConfigValueType" = legacy_defaults.get(key, val)
                  logger.info("Adding new config item to state file: '%s': '%s'", key, setting)
                  self._config[key] = setting
          self._update_changed_config_items(config_changeable_items)
          logger.debug("Replacing config. Old config: %s", _CONFIG)
          _CONFIG = self._config
keep keep keep keep replace keep keep keep keep keep
 Preview - Allow mask color/opacity configuration
  - typing: lib.config
  - docs: lib.config
  - bugfix: popup_configure - keep assets on top 
plugins/train/model/_base/model.py