public function rules(): array 	{ 		$validation_rule_builder = [];  		foreach (getCurrentLanguages() as $lang) { 			$required = ($lang === getMainActiveLanguage()) || ($lang === getDefaultLanguage());  			$validation_rule_builder['title.' . $lang] = [$required ? 'required' : 'nullable', 'string', 'max:50']; 			$validation_rule_builder['working_hours.' . $lang] = ['nullable', 'string', 'max:200']; 		}  		return array_merge(MediaStorage::mergeValidationRules([ 			'type' => ['required', 'integer', new Enum(ShopType::class)], 			'active' => ['boolean'], 			'address' => ['required_if:type,' . ShopType::PHYSICAL->value, 'nullable', 'string', 'max:100'], 			'phone' => ['required_if:type,' . ShopType::PHYSICAL->value, 'nullable', 'string', 'max:20'], 			'email' => ['required_if:type,' . ShopType::PHYSICAL->value, 'nullable', 'string', 'max:50', 'email'], 			'url' => ['required_if:type,' . ShopType::ONLINE->value, 'nullable', 'string', 'max:1000 ', 'url'], 			'image' => ['image', 'max:' . setting('max_upload_size') / 1024, new SafeWebp], 		]), $validation_rule_builder); 	}