          self.validate_config()
          logger.debug("Handled config")
  
  
  def generate_configs():
      """ Generate config files if they don't exist.
  
      This script is run prior to anything being set up, so don't use logging
      Generates the default config files for plugins in the faceswap config folder
      """
 
</s> remove         if not self.check_exists():
            self.create_default()
        self.load_config()
        self.validate_config()
 </s> add         if not self._check_exists():
            self._create_default()
        self._load_config()
        self._validate_config() </s> remove     def _defaults_from_plugin(self, plugin_folder):
 </s> add     def _defaults_from_plugin(self, plugin_folder: str) -> None: </s> remove         if self.check_config_change():
            self.add_new_config_items()
        self.check_config_choices()
 </s> add         if self._check_config_change():
            self._add_new_config_items()
        self._check_config_choices() </s> remove     def get_config_file(self, configfile):
        """ Return the config file from the calling folder or the provided file """
 </s> add     def _get_config_file(self, configfile: Optional[str]) -> str:
        """ Return the config file from the calling folder or the provided file

        Parameters
        ----------
        configfile: str or ``None``
            Path to a config file. ``None`` for default location.

        Returns
        -------
        str
            The full path to the configuration file
        """ </s> remove         if None in (title, info):
            raise ValueError("Default config sections must have a title and "
                             "information text")
        self.defaults[title] = OrderedDict()
        self.defaults[title]["helptext"] = info

    def add_item(self, section=None, title=None, datatype=str, default=None, info=None,
                 rounding=None, min_max=None, choices=None, gui_radio=False, fixed=True,
                 group=None):
 </s> add         self.defaults[title] = ConfigSection(helptext=info, items=OrderedDict())

    def add_item(self,
                 section: Optional[str] = None,
                 title: Optional[str] = None,
                 datatype: type = str,
                 default: ConfigValueType = None,
                 info: Optional[str] = None,
                 rounding: Optional[int] = None,
                 min_max: Optional[Union[Tuple[int, int], Tuple[float, float]]] = None,
                 choices: Optional[Union[str, List[str]]] = None,
                 gui_radio: bool = False,
                 fixed: bool = True,
                 group: Optional[str] = None) -> None:
def generate_configs() -> None:
          self.validate_config()
          logger.debug("Handled config")
  
  
def generate_configs() -> None:
      """ Generate config files if they don't exist.
  
      This script is run prior to anything being set up, so don't use logging
      Generates the default config files for plugins in the faceswap config folder
      """
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 
lib/config.py