  
          For actions that occur identically for each frame (e.g. blend_box), constants can
          be placed into self.func_constants to be compiled at launch, then referenced for
          each face. """
      def __init__(self, mask_type, output_size, predicted_available=False, config=None):
          super().__init__(mask_type, output_size, predicted_available, config)
          self.mask = self.get_mask() if not self.skip else None
  
      def get_mask(self):
          """ The box for every face will be identical, so set the mask just once
              As gaussian blur technically blurs both sides of the mask, reduce the mask ratio by
 
</s> remove     def __init__(self, mask_type, output_size, predicted_available, config=None):
        super().__init__(mask_type, output_size, predicted_available, config)
 </s> add     def __init__(self, mask_type, output_size, predicted_available, **kwargs):
        super().__init__(mask_type, output_size, predicted_available, **kwargs) </s> remove                      "predicted_available: %s, config: %s)",
                     self.__class__.__name__, mask_type, output_size, predicted_available, config)
        self.config = self.set_config(config)
 </s> add                      "predicted_available: %s, configfile: %s, config: %s)",
                     self.__class__.__name__, mask_type, output_size, predicted_available,
                     configfile, config)
        self.config = self.set_config(configfile, config) </s> remove     def __init__(self, mask_type, output_size, predicted_available, config=None):
 </s> add     def __init__(self, mask_type, output_size, predicted_available, configfile=None, config=None): </s> remove     return Config(plugin_name).config_dict
 </s> add     return Config(plugin_name, configfile=configfile).config_dict
    def __init__(self, mask_type, output_size, predicted_available=False, **kwargs):
        super().__init__(mask_type, output_size, predicted_available, **kwargs)
  
          For actions that occur identically for each frame (e.g. blend_box), constants can
          be placed into self.func_constants to be compiled at launch, then referenced for
          each face. """
    def __init__(self, mask_type, output_size, predicted_available=False, **kwargs):
        super().__init__(mask_type, output_size, predicted_available, **kwargs)
    def __init__(self, mask_type, output_size, predicted_available=False, **kwargs):
        super().__init__(mask_type, output_size, predicted_available, **kwargs)
          self.mask = self.get_mask() if not self.skip else None
  
      def get_mask(self):
          """ The box for every face will be identical, so set the mask just once
              As gaussian blur technically blurs both sides of the mask, reduce the mask ratio by
keep keep keep keep replace replace keep keep keep keep keep
 Config Changes + Bugfixes

Bugfix: Fully disable keypress monitor for GUI
Bugfix: Preview - Handle missing alignments file
Config changes:
    - Separate plugin defaults into their own files
    - Move mask_type to global training config
    - Add ability to pass in custom config files 
plugins/convert/mask/box_blend.py