


"""simple docstring"""


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

import numpy as np
import PIL
from PIL import Image

from ...utils import (
    BaseOutput,
    OptionalDependencyNotAvailable,
    is_flax_available,
    is_k_diffusion_available,
    is_k_diffusion_version,
    is_onnx_available,
    is_torch_available,
    is_transformers_available,
    is_transformers_version,
)
@dataclass
class   _UpperCamelCase  (   lowerCAmelCase__		):
							'''simple docstring'''







							__UpperCAmelCase						:    Union[List[PIL.Image.Image], np.ndarray]
							__UpperCAmelCase						:    Optional[List[bool]]


try:
	if not (is_transformers_available() and is_torch_available()):
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	from ...utils.dummy_torch_and_transformers_objects import *  # noqa F403
else:
	from .pipeline_cycle_diffusion import CycleDiffusionPipeline
	from .pipeline_stable_diffusion import StableDiffusionPipeline
	from .pipeline_stable_diffusion_attend_and_excite import StableDiffusionAttendAndExcitePipeline
	from .pipeline_stable_diffusion_imgaimg import StableDiffusionImgaImgPipeline
	from .pipeline_stable_diffusion_inpaint import StableDiffusionInpaintPipeline
	from .pipeline_stable_diffusion_inpaint_legacy import StableDiffusionInpaintPipelineLegacy
	from .pipeline_stable_diffusion_instruct_pixapix import StableDiffusionInstructPixaPixPipeline
	from .pipeline_stable_diffusion_latent_upscale import StableDiffusionLatentUpscalePipeline
	from .pipeline_stable_diffusion_ldmad import StableDiffusionLDMaDPipeline
	from .pipeline_stable_diffusion_model_editing import StableDiffusionModelEditingPipeline
	from .pipeline_stable_diffusion_panorama import StableDiffusionPanoramaPipeline
	from .pipeline_stable_diffusion_paradigms import StableDiffusionParadigmsPipeline
	from .pipeline_stable_diffusion_sag import StableDiffusionSAGPipeline
	from .pipeline_stable_diffusion_upscale import StableDiffusionUpscalePipeline
	from .pipeline_stable_unclip import StableUnCLIPPipeline
	from .pipeline_stable_unclip_imgaimg import StableUnCLIPImgaImgPipeline
	from .safety_checker import StableDiffusionSafetyChecker
	from .stable_unclip_image_normalizer import StableUnCLIPImageNormalizer

try:
	if not (is_transformers_available() and is_torch_available() and is_transformers_version(">=", "4.25.0")):
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	from ...utils.dummy_torch_and_transformers_objects import StableDiffusionImageVariationPipeline
else:
	from .pipeline_stable_diffusion_image_variation import StableDiffusionImageVariationPipeline


try:
	if not (is_transformers_available() and is_torch_available() and is_transformers_version(">=", "4.26.0")):
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	from ...utils.dummy_torch_and_transformers_objects import (
	    StableDiffusionDepthaImgPipeline,
	    StableDiffusionDiffEditPipeline,
	    StableDiffusionPixaPixZeroPipeline,
	)
else:
	from .pipeline_stable_diffusion_depthaimg import StableDiffusionDepthaImgPipeline
	from .pipeline_stable_diffusion_diffedit import StableDiffusionDiffEditPipeline
	from .pipeline_stable_diffusion_pixapix_zero import StableDiffusionPixaPixZeroPipeline


try:
	if not (
	    is_torch_available()
	    and is_transformers_available()
	    and is_k_diffusion_available()
	    and is_k_diffusion_version(">=", "0.0.12")
	):
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	from ...utils.dummy_torch_and_transformers_and_k_diffusion_objects import *  # noqa F403
else:
	from .pipeline_stable_diffusion_k_diffusion import StableDiffusionKDiffusionPipeline

try:
	if not (is_transformers_available() and is_onnx_available()):
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	from ...utils.dummy_onnx_objects import *  # noqa F403
else:
	from .pipeline_onnx_stable_diffusion import OnnxStableDiffusionPipeline, StableDiffusionOnnxPipeline
	from .pipeline_onnx_stable_diffusion_imgaimg import OnnxStableDiffusionImgaImgPipeline
	from .pipeline_onnx_stable_diffusion_inpaint import OnnxStableDiffusionInpaintPipeline
	from .pipeline_onnx_stable_diffusion_inpaint_legacy import OnnxStableDiffusionInpaintPipelineLegacy
	from .pipeline_onnx_stable_diffusion_upscale import OnnxStableDiffusionUpscalePipeline

if is_transformers_available() and is_flax_available():
	import flax
	@flax.struct.dataclass
	class   _UpperCamelCase  (   lowerCAmelCase__		):
								'''simple docstring'''







								__UpperCAmelCase						:    np.ndarray
								__UpperCAmelCase						:    List[bool]
	from ...schedulers.scheduling_pndm_flax import PNDMSchedulerState
	from .pipeline_flax_stable_diffusion import FlaxStableDiffusionPipeline
	from .pipeline_flax_stable_diffusion_imgaimg import FlaxStableDiffusionImgaImgPipeline
	from .pipeline_flax_stable_diffusion_inpaint import FlaxStableDiffusionInpaintPipeline
	from .safety_checker_flax import FlaxStableDiffusionSafetyChecker












"""simple docstring"""




from collections.abc import Iterable
from typing import Generic, TypeVar

_snake_case          =   TypeVar('_T')






class        UpperCamelCase			(	Generic[_T]      ):


 def __init__(     self		:						Optional[int]							,						UpperCAmelCase__		:						Iterable[_T] | None = None							)					->       None:
   _a  :       list[_T]             =	list(iterable or []							)
   _a  :       list[_T]             =	[]


 def __len__(     self		:						str							)					->       int:
   return len(self._stacka							) + len(self._stacka							)


 def __repr__(     self		:						List[str]							)					->       str:
   return f"""Queue({tuple(self._stacka[::-1] + self._stacka							)})"""


 def _lowercase	(     self		:						Union[str, Any]							,						UpperCAmelCase__		:						_T							)					->       None:
   self._stacka.append(UpperCAmelCase__							)







 def _lowercase	(     self		:						Optional[Any]							)					->       _T:
   _a  :       Any             =	self._stacka.pop
   _a  :       Union[str, Any]             =	self._stacka.append

   if not self._stacka:
     while self._stacka:
       stacka_append(stacka_pop()							)

   if not self._stacka:
     raise IndexError("""Queue is empty"""							)
   return self._stacka.pop()


if __name__ == "__main__":
 from doctest import testmod

 testmod()

