  from lib.image import encode_image_with_hash, ImagesLoader, ImagesSaver
  from lib.multithreading import MultiThread
  from lib.utils import get_folder
  from plugins.extract.pipeline import Extractor, ExtractMedia
  from scripts.fsmedia import Alignments, PostProcess, Utils
  
  tqdm.monitor_interval = 0  # workaround for TqdmSynchronisationWarning
  logger = logging.getLogger(__name__)  # pylint: disable=invalid-name
  
  
 
</s> remove from scripts.fsmedia import Alignments, Images, PostProcess, Utils
 </s> add from scripts.fsmedia import Alignments, Images, PostProcess, finalize </s> remove from lib.model.masks import get_available_masks
 </s> add  </s> remove from lib.model.masks import get_available_masks, get_default_mask
 </s> add  </s> remove from lib.model import masks as model_masks
 </s> add  </s> remove from lib.gui.control_helper import set_slider_rounding
 </s> add from lib.gui.control_helper import ControlPanel, ControlPanelOption
from scripts.fsmedia import Alignments, PostProcess, finalize
  from lib.image import encode_image_with_hash, ImagesLoader, ImagesSaver
  from lib.multithreading import MultiThread
  from lib.utils import get_folder
  from plugins.extract.pipeline import Extractor, ExtractMedia
from scripts.fsmedia import Alignments, PostProcess, finalize
  
  tqdm.monitor_interval = 0  # workaround for TqdmSynchronisationWarning
  logger = logging.getLogger(__name__)  # pylint: disable=invalid-name
  
  
keep keep keep keep replace keep keep keep keep keep
 Smart Masks to Convert (#957)

- scripts.convert - Use Smart Masks for Convert
    * Make on-the-fly conversion an explicit option

- Move BlurMask to lib.faces_detect

- tools.preview - Fix for smart masks
    * Subclass from tk.Tk
    * Options to lib.gui.control_helper
    *variable cleanup

- lib.logger - Demote more tensorflow deprecation messages

- Documentation:
    * lib.faces_detect.BlurMask
    * plugins.convert.mask
    * lib.convert
    * scripts.convert
    * scripts.fsmedia
    * tools.preview 
scripts/extract.py