






import gc
import tempfile
import unittest

import numpy as np
import torch

from diffusers import VersatileDiffusionTextToImagePipeline
from diffusers.utils.testing_utils import nightly, require_torch_gpu, torch_device


_a      	=  False





class __lowerCamelCase (      unittest.TestCase):





	"""simple docstring"""






	pass





@nightly
@require_torch_gpu
class __lowerCamelCase (      unittest.TestCase):





	"""simple docstring"""






	def        UpperCamelCase    (							self    ):
							"""simple docstring"""







							super().tearDown()
							gc.collect()
							torch.cuda.empty_cache()

	def        UpperCamelCase    (							self    ):
							"""simple docstring"""







							_UpperCAmelCase									=			VersatileDiffusionTextToImagePipeline.from_pretrained('shi-labs/versatile-diffusion'    )
							# remove text_unet
							pipe.remove_unused_weights()
							pipe.to(UpperCAmelCase    )
							pipe.set_progress_bar_config(disable=UpperCAmelCase    )

							_UpperCAmelCase									=			'A painting of a squirrel eating a burger '
							_UpperCAmelCase									=			torch.manual_seed(0    )
							_UpperCAmelCase									=			pipe(
							    prompt=UpperCAmelCase       ,    generator=UpperCAmelCase       ,    guidance_scale=7.5       ,    num_inference_steps=2       ,    output_type='numpy'    ).images

							with tempfile.TemporaryDirectory() as tmpdirname:
													pipe.save_pretrained(UpperCAmelCase    )
													_UpperCAmelCase									=			VersatileDiffusionTextToImagePipeline.from_pretrained(UpperCAmelCase    )
							pipe.to(UpperCAmelCase    )
							pipe.set_progress_bar_config(disable=UpperCAmelCase    )

							_UpperCAmelCase									=			generator.manual_seed(0    )
							_UpperCAmelCase									=			pipe(
							    prompt=UpperCAmelCase       ,    generator=UpperCAmelCase       ,    guidance_scale=7.5       ,    num_inference_steps=2       ,    output_type='numpy'    ).images

							assert np.abs(image - new_image    ).sum() < 1e-5, "Models don't have the same forward pass"

	def        UpperCamelCase    (							self    ):
							"""simple docstring"""







							_UpperCAmelCase									=			VersatileDiffusionTextToImagePipeline.from_pretrained(
							    'shi-labs/versatile-diffusion'       ,    torch_dtype=torch.floataa    )
							pipe.to(UpperCAmelCase    )
							pipe.set_progress_bar_config(disable=UpperCAmelCase    )

							_UpperCAmelCase									=			'A painting of a squirrel eating a burger '
							_UpperCAmelCase									=			torch.manual_seed(0    )
							_UpperCAmelCase									=			pipe(
							    prompt=UpperCAmelCase       ,    generator=UpperCAmelCase       ,    guidance_scale=7.5       ,    num_inference_steps=50       ,    output_type='numpy'    ).images

							_UpperCAmelCase									=			image[0, 253:256, 253:256, -1]

							assert image.shape == (1, 512, 512, 3)
							_UpperCAmelCase									=			np.array([0.33_67, 0.31_69, 0.26_56, 0.38_70, 0.47_90, 0.37_96, 0.40_09, 0.48_78, 0.47_78]    )

							assert np.abs(image_slice.flatten() - expected_slice    ).max() < 1e-2




'''simple docstring'''
__snake_case							      =     65521


def 			a      (			__a   )  ->	int:



					'''simple docstring'''






					UpperCamelCase__   :Tuple												= 1
					UpperCamelCase__   :Any												= 0
					for plain_chr in plain_text:
										UpperCamelCase__   :List[str]												= (a + ord(__a   )) % MOD_ADLER
										UpperCamelCase__   :Tuple												= (b + a) % MOD_ADLER
					return (b << 16) | a