


from dataclasses import dataclass
from enum import Enum
from typing import List, Optional, Union

import numpy as np
import PIL
from PIL import Image

from ...utils import BaseOutput, is_torch_available, is_transformers_available





@dataclass
class        lowercase_				( UpperCamelCase_):
							snake_case_        =		{
							    """sld_warmup_steps""": 15,
							    """sld_guidance_scale""": 20,
							    """sld_threshold""": 0.0,
							    """sld_momentum_scale""": 0.0,
							    """sld_mom_beta""": 0.0,
							}
							snake_case_        =		{
							    """sld_warmup_steps""": 10,
							    """sld_guidance_scale""": 10_00,
							    """sld_threshold""": 0.01,
							    """sld_momentum_scale""": 0.3,
							    """sld_mom_beta""": 0.4,
							}
							snake_case_        =		{
							    """sld_warmup_steps""": 7,
							    """sld_guidance_scale""": 20_00,
							    """sld_threshold""": 0.025,
							    """sld_momentum_scale""": 0.5,
							    """sld_mom_beta""": 0.7,
							}
							snake_case_        =		{
							    """sld_warmup_steps""": 0,
							    """sld_guidance_scale""": 50_00,
							    """sld_threshold""": 1.0,
							    """sld_momentum_scale""": 0.5,
							    """sld_mom_beta""": 0.7,
							}





@dataclass
class        lowercase_				( UpperCamelCase_):
							snake_case_        =		42
							snake_case_        =		42
							snake_case_        =		42
							snake_case_        =		42


if is_transformers_available() and is_torch_available():
	from .pipeline_stable_diffusion_safe import StableDiffusionPipelineSafe
	from .safety_checker import SafeStableDiffusionSafetyChecker



import abc
import copy
import dataclasses
from dataclasses import dataclass
from typing import ClassVar, Dict, Type, TypeVar

from ..features import Features


A_    :					Tuple             =TypeVar("""T""", bound="""TaskTemplate""")





@dataclass(frozen=UpperCamelCase__)
class        lowercase_				( abc.ABC):






							"""simple docstring"""







							snake_case_        =		42
							snake_case_        =		42
							snake_case_        =		42


							def 						lowercase__     (   self			,    _UpperCAmelCase		):







													"""simple docstring"""


													return copy.deepcopy(self		)


							@property
							def 						lowercase__     (   self		):







													"""simple docstring"""


													return Features(**self.input_schema			,    **self.label_schema		)


							@property
							@abc.abstractmethod
							def 						lowercase__     (   self		):







													"""simple docstring"""


													raise NotImplementedError






							@classmethod
							def 						lowercase__     (   cls			,    _UpperCAmelCase		):







													"""simple docstring"""


													a_					=		{f.name for f in dataclasses.fields(cls		)}
													return cls(**{k: v for k, v in template_dict.items() if k in field_names}		)