                     "select a mask type that exists within your face data, or generate the "
                     "required masks with the Mask Tool.".format(mask_type))
              for side, filenames in invalid.items():
                  available = set(mask
                                  for det_face in self._detected_faces[side].values()
                                  for mask in det_face.mask)
                  msg += ("\n{} faces in side {} do not contain the mask '{}'. Available "
 
</s> remove         Used for updating legacy facesets to contain the meta information within the image header
 </s> add         Used for updating legacy face sets to contain the meta information within the image header </s> remove         defaults = {key: val[0][1].replace("*", "")
 </s> add         defaults = {key: next(ext for ext in val[0][1].split(" ")).replace("*", "") </s> remove         # Update centering if it has been changed by legacy facesets in TrainingAlignments
 </s> add         # Update centering if it has been changed by legacy face sets in TrainingAlignments </s> remove             if self._defaults.get(filetype, None):
 </s> add             if self._defaults.get(filetype): </s> remove             ``True`` if images were succesfully loaded to cache otherwise ``False``
 </s> add             ``True`` if images were successfully loaded to cache otherwise ``False``
                if not filenames:
                    continue
                     "select a mask type that exists within your face data, or generate the "
                     "required masks with the Mask Tool.".format(mask_type))
              for side, filenames in invalid.items():
                if not filenames:
                    continue
                  available = set(mask
                                  for det_face in self._detected_faces[side].values()
                                  for mask in det_face.mask)
                  msg += ("\n{} faces in side {} do not contain the mask '{}'. Available "
keep keep add keep keep keep keep
 Bugfixes:
  - plugins.train.trainer._base - Don't output error message for sides which have valid masks
  - lib.gui.menu - Fix project file saving extension on Linux 
plugins/train/trainer/_base.py