public function rules(): array 	{ 		return MediaStorage::mergeValidationRules([ 			'type' => ['required', 'integer', Rule::in(Banner::getBannerTypeConstants())], 			'title' => ['required', 'string', 'max:50'], 			'title_en' => ['nullable', 'string', 'max:50'], 			'subtitle' => ['nullable', 'string', 'max:50'], 			'subtitle_en' => ['nullable', 'string', 'max:50'], 			'order_column' => ['required', 'integer', 'min:0', 'max:255'], 			'url' => ['nullable', 'url', 'max:256'], 			'active' => ['boolean'], 			'image' => ['file', 'max:' . setting('max_upload_size') / 1024, new SafeWebp], 			'image_mobile' => ['file', 'max:' . setting('max_upload_size') / 1024, new SafeWebp], 			'image_only' => ['boolean'], 			'valid_until' => ['nullable', 'date'], 			'valid_from' => ['nullable', 'date'], 		]); 	}