public function calculateClientSurveyFinalGradeExcel(ClientSurvey $client_survey, ?string $locale = null): array 	{ 		$categories = $client_survey->survey->categories()->get();  		$answers = $client_survey->answers() 			->with('question') 			->whereHas('applicant', function ($query) { 				$query->available()->final(); 			})->whereHas('question', function ($query) { 				$query->where('type', QuestionType::StandardRadio->value); 			})->get();  		$categories_with_avg_score = [];  		// Add ESI 		$esi = (new GeneralEsiCalculationService)->calculate($client_survey->applicants); 		$categories_with_avg_score[] = number_format($esi, 3, '.', '');  		// Add ENPS 		$enps = (new IzzPdfEnpsCalculationService)->calculateEnpsGrade($client_survey); 		$categories_with_avg_score[] = number_format($enps, 3, '.', '');  		// Add Engagement 		$engagement = (new IzzPdfEngagementCalculationService)->calculateApplicantEngagementPercentages($client_survey)['engagedApplicantsPercentage']; 		$categories_with_avg_score[] = number_format($engagement, 3, '.', '');  		// Add rest of dynamic categories 		foreach ($categories as $category) { 			$category_answers = $answers->where('question.category_id', $category->getKey());  			$category_score = number_format($category_answers->avg('answer_value'), 3, '.', '');  			array_push($categories_with_avg_score, $category_score); 		}  		return $categories_with_avg_score; 	}