<?php

namespace Container3lyDu81;

use Symfony\Component\DependencyInjection\Argument\RewindableGenerator;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\DependencyInjection\Exception\RuntimeException;

/*
 * @internal This class has been auto-generated by the Symfony Dependency Injection Component.
 */
class getUpgradeFinalizeCommandService extends App_KernelProdContainer
{
    /*
     * Gets the private 'App\Install\Command\UpgradeFinalizeCommand' shared autowired service.
     *
     * @return \App\Install\Command\UpgradeFinalizeCommand
     */
    public static function do($container, $lazyLoad = true)
    {
        include_once \dirname(__DIR__, 3).'/vendor/symfony/console/Command/Command.php';
        include_once \dirname(__DIR__, 3).'/core/backend/Install/Command/BaseCommand.php';
        include_once \dirname(__DIR__, 3).'/core/backend/Install/Command/BaseStepExecutorCommand.php';
        include_once \dirname(__DIR__, 3).'/core/backend/Install/Command/UpgradeFinalizeCommand.php';
        include_once \dirname(__DIR__, 3).'/core/backend/Engine/Service/ProcessSteps/ProcessStepExecutorInterface.php';
        include_once \dirname(__DIR__, 3).'/core/backend/Engine/Service/ProcessSteps/ProcessStepExecutor.php';
        include_once \dirname(__DIR__, 3).'/core/backend/Install/Service/Upgrade/UpgradeFinalizeHandlerInterface.php';
        include_once \dirname(__DIR__, 3).'/core/backend/Install/Service/Upgrade/UpgradeFinalizeHandler.php';

        $container->privates['App\\Install\\Command\\UpgradeFinalizeCommand'] = $instance = new \App\Install\Command\UpgradeFinalizeCommand(new \App\Install\Service\Upgrade\UpgradeFinalizeHandler(new RewindableGenerator(function () use ($container) {
            yield 0 => (isset($container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\AddNewConfigEntries']) ? $container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\AddNewConfigEntries']($container) : $container->load('getAddNewConfigEntriesService'));
            yield 1 => (isset($container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\BackupOriginalModules']) ? $container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\BackupOriginalModules']($container) : $container->load('getBackupOriginalModulesService'));
            yield 2 => (isset($container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\CheckPackage']) ? $container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\CheckPackage']($container) : $container->load('getCheckPackageService'));
            yield 3 => (isset($container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\CheckPermissions']) ? $container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\CheckPermissions']($container) : $container->load('getCheckPermissionsService'));
            yield 4 => (isset($container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\ClearSymfonyCache']) ? $container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\ClearSymfonyCache']($container) : $container->load('getClearSymfonyCacheService'));
            yield 5 => (isset($container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\ExtractPackage']) ? $container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\ExtractPackage']($container) : $container->load('getExtractPackageService'));
            yield 6 => (isset($container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\FilesToDeleteCheck']) ? $container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\FilesToDeleteCheck']($container) : $container->load('getFilesToDeleteCheckService'));
            yield 7 => (isset($container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\FinalizeClearSymfonyCache']) ? $container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\FinalizeClearSymfonyCache']($container) : $container->load('getFinalizeClearSymfonyCacheService'));
            yield 8 => (isset($container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\InstallUpgradePackage']) ? $container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\InstallUpgradePackage']($container) : $container->load('getInstallUpgradePackageService'));
            yield 9 => (isset($container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\LegacyPostUpgrade']) ? $container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\LegacyPostUpgrade']($container) : $container->load('getLegacyPostUpgradeService'));
            yield 10 => (isset($container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\MetadataMerge']) ? $container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\MetadataMerge']($container) : $container->load('getMetadataMergeService'));
            yield 11 => (isset($container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\RunMigrations']) ? $container->factories['service_container']['App\\Install\\Service\\Upgrade\\Steps\\RunMigrations']($container) : $container->load('getRunMigrationsService'));
        }, 12), ($container->services['monolog.logger.upgrade'] ?? $container->load('getMonolog_Logger_UpgradeService'))), ($container->privates['App\\Engine\\LegacyHandler\\DefaultLegacyHandler'] ?? $container->load('getDefaultLegacyHandlerService')));

        $instance->setDefaultSessionName('SCRMSESSID');
        $instance->setLegacySessionName('SCRMSESSID');
        $instance->setRequestStack(($container->services['request_stack'] ??= new \Symfony\Component\HttpFoundation\RequestStack()));
        $instance->setAppStringsHandler(($container->privates['App\\Languages\\LegacyHandler\\AppStringsHandler'] ?? $container->load('getAppStringsHandlerService')));
        $instance->setName('suitecrm:app:upgrade-finalize');

        return $instance;
    }
}
