          mask = _LandmarksMask(size, points, dilation=dilation, blur_kernel=blur_kernel)
          retval = mask.get(as_zip=as_zip)
          return retval
  
      def to_alignment(self):
          """  Return the detected face formatted for an alignments file
  
          returns
          -------
          alignment: dict
 
</s> remove     def to_png_meta(self):
 </s> add     def to_png_meta(self) -> PNGHeaderAlignmentsDict: </s> remove         retval = all("thumb" in face
 </s> add         retval = all(face.get("thumb") </s> remove         retval = dict()
 </s> add         retval = {} </s> remove         logger.trace("Created from alignment: (x: %s, w: %s, y: %s. h: %s, "
                     "landmarks: %s, mask: %s)",
                     self.x, self.w, self.y, self.h, self.landmarks_xy, self.mask)
 </s> add         logger.trace("Created from alignment: (left: %s, width: %s, top: %s, "  # type: ignore
                     "height: %s, landmarks: %s, mask: %s)", self.left, self.width, self.top,
                     self.height, self.landmarks_xy, self.mask) </s> remove         retval = len(self._data.get(frame_name, dict()).get("faces", []))
 </s> add         retval = len(self._data.get(frame_name, {}).get("faces", []))
    def to_alignment(self) -> AlignmentFileDict:
          mask = _LandmarksMask(size, points, dilation=dilation, blur_kernel=blur_kernel)
          retval = mask.get(as_zip=as_zip)
          return retval
  
    def to_alignment(self) -> AlignmentFileDict:
          """  Return the detected face formatted for an alignments file
  
          returns
          -------
          alignment: dict
keep keep keep keep replace keep keep keep keep keep
 lib.align updates:
  - alignments.py
    - Add typed dicts for imported alignments
    - Explicitly check for presence of thumb value in alignments dict
    - linting
  - detected_face.py
    - Typing
    - Linting
    - Legacy support for pre-aligned face
    - Update dependencies to new property names 
lib/align/detected_face.py