protected function getView(GetBenchmarkReport $request, ClientSurvey $client_survey, bool $isPreview, string $locale, bool $flushTags): View 	{ 		$tags = ['benchmark', $client_survey->survey->year]; 		$cache = new CacheService; 		$cache->setTags($tags);  		if ($flushTags) { 			$cache->flushCacheTags($tags); 		}  		// sljedeci niz funkcija razlicit je za svaki client survey pa se mora cache-ati odvojeno.  		$categoryClientSurveys = $cache->remember('benchmark-category-client-surveys_' . $client_survey->id, function () use ($client_survey) { 			return $this->getSurveysForClientSurveyCategory($client_survey); 		});  		$currentCompanyEngagement = $cache->remember('benchmark-current-company-engagement_' . $client_survey->id, function () use ($client_survey) { 			return $this->getEngagementForCurrentClientSurvey($client_survey); 		});  		$categoryCompanyEngagement = $cache->remember('benchmark-current-company-category-engagement_' . $client_survey->id, function () use ($categoryClientSurveys) { 			return $this->getEngagementForClientSurveyCategory($categoryClientSurveys); 		});  		$currentCompanyEnps = $cache->remember('benchmark-current-company-enps_' . $client_survey->id, function () use ($client_survey) { 			return $this->getEnpsForCurrentClientSurvey($client_survey); 		});  		$categoryCompanyEnps = $cache->remember('benchmark-current-company_category-enps_' . $client_survey->id, function () use ($categoryClientSurveys) { 			return $this->getEnpsForClientSurveyCategory($categoryClientSurveys); 		});  		$currentCompanyEsi = $cache->remember('benchmark-current-company-esi_' . $client_survey->id, function () use ($client_survey) { 			return $this->getEsiForCurrentClientSurvey($client_survey); 		});  		$categoryCompanyEsi = $cache->remember('benchmark-current-company-category-esi_' . $client_survey->id, function () use ($categoryClientSurveys) { 			return $this->getEsiForClientSurveyCategory($categoryClientSurveys); 		});  		$allCompaniesRanked = $cache->remember('benchmark-all-companies-ranked_' . $client_survey->id, function () use ($client_survey) { 			return $this->getCompaniesRanked($client_survey); 		});  		$leaderboard = $cache->remember('benchmark-leaderboard_' . $client_survey->id, function () use ($client_survey) { 			return $this->getLeaderboard($client_survey); 		});  		/** 		 * Ovo je sherano za sve client surveye te godine. 		 */ 		$benchmarkDto = $cache->remember('benchmark-dto_' . $client_survey->survey?->year, function () use ($client_survey, $locale) { 			return $this->getBenchmarkDto($client_survey, $locale); 		});  		$headerLogoUrl = $this->getHeaderLogoUrl($locale);  		$benchmarkDto->setCurrentCompanyEngagement($currentCompanyEngagement); 		$benchmarkDto->setCategoryCompanyEngagement($categoryCompanyEngagement); 		$benchmarkDto->setCurrentCompanyEnps($currentCompanyEnps); 		$benchmarkDto->setCategoryCompanyEnps($categoryCompanyEnps); 		$benchmarkDto->setCurrentCompanyEsi($currentCompanyEsi); 		$benchmarkDto->setCategoryCompanyEsi($categoryCompanyEsi); 		$benchmarkDto->setAllCompaniesRanked($allCompaniesRanked); 		$benchmarkDto->setLeaderboard($leaderboard); 		$benchmarkDto->setHeaderLogoUrl($headerLogoUrl);  		$employeeSatisfactionDataObject = $cache->remember('benchmark-employee-satisfaction-data-object_' . $client_survey->id, function () use ($client_survey, $locale) { 			return (new BenchmarkEmployeeSatisfactionService)->generate($client_survey, $locale); 		});  		$categoriesDataObject = $cache->remember('benchmark-categories-data-object_' . $client_survey->id, function () use ($client_survey, $request) { 			return (new BenchmarkCategoriesService)->generate($client_survey, $request); 		});  		return view('pdf.benchmark-report', compact('benchmarkDto', 'locale', 'client_survey', 'employeeSatisfactionDataObject', 'categoriesDataObject', 'isPreview')); 	}