  import cv2
  import numpy as np
  
  from lib.image import read_image_meta
  from lib.keypress import KBHit
  from lib.multithreading import MultiThread, FSThread
  from lib.training import Preview, PreviewBuffer, TriggerType
  from lib.utils import (deprecation_warning, get_folder, get_image_paths,
                         FaceswapError, _image_extensions)
 
</s> remove from typing import cast, Dict, List, Optional, Sequence, Tuple, Union
 </s> add from typing import cast, Dict, List, Optional, Sequence, Tuple </s> remove from .augmentation import ImageAugmentation  # noqa
from .generator import PreviewDataGenerator, TrainingDataGenerator  # noqa
from .preview_cv import PreviewBuffer , TriggerType # noqa
 </s> add from .augmentation import ImageAugmentation
from .generator import PreviewDataGenerator, TrainingDataGenerator
from .preview_cv import PreviewBuffer, TriggerType </s> remove from typing import cast, Dict, Optional, Tuple, TYPE_CHECKING
 </s> add from typing import Dict, Optional, Tuple

from lib.training.preview_tk import PreviewTk </s> remove     from .preview_tk import PreviewTk as Preview  # noqa
 </s> add     from .preview_tk import PreviewTk as Preview
from lib.gui.utils.image import TRAININGPREVIEW
  import cv2
  import numpy as np
  
from lib.gui.utils.image import TRAININGPREVIEW
  from lib.image import read_image_meta
  from lib.keypress import KBHit
  from lib.multithreading import MultiThread, FSThread
  from lib.training import Preview, PreviewBuffer, TriggerType
  from lib.utils import (deprecation_warning, get_folder, get_image_paths,
                         FaceswapError, _image_extensions)
keep keep add keep keep keep keep keep keep
 GUI - Preview updates
  - Training preview. Embed preview pop-out window
  - Bugfix - convert/extract previews 
scripts/train.py