text: services:
      _defaults:
          public: true
  
      prestashop.adapter.module.self_configurator:
          class: PrestaShop\PrestaShop\Adapter\Module\Configuration\ModuleSelfConfigurator
          arguments:
              - "@prestashop.core.admin.module.repository"
              - "@prestashop.adapter.legacy.configuration"
              - "@doctrine.dbal.default_connection"
              - "@filesystem"
  
      # MODULE TAB MANAGEMENT
      prestashop.adapter.module.tab.register:
          class: PrestaShop\PrestaShop\Adapter\Module\Tab\ModuleTabRegister
          arguments:
              - "@prestashop.core.admin.tab.repository"
              - "@prestashop.core.admin.lang.repository"
              - "@logger"
              - "@translator"
              - "@filesystem"
              - "@=service('prestashop.adapter.legacy.context').getLanguages()"
              - "@routing.loader.yml"
  
      prestashop.adapter.module.tab.unregister:
          class: PrestaShop\PrestaShop\Adapter\Module\Tab\ModuleTabUnregister
          arguments:
              - "@prestashop.core.admin.tab.repository"
              - "@prestashop.core.admin.lang.repository"
              - "@logger"
              - "@translator"
  
      prestashop.adapter.module.tab.eventsubscriber:
          class: PrestaShop\PrestaShop\Adapter\Module\Tab\ModuleTabManagementSubscriber
          arguments:
              - "@prestashop.adapter.module.tab.register"
              - "@prestashop.adapter.module.tab.unregister"
          tags:
              - { name: kernel.event_subscriber }
  
      prestashop.module.manager:
          class: PrestaShop\PrestaShop\Core\Addon\Module\ModuleManager
          arguments:
              - "@prestashop.adapter.admin.data_provider.module"
              - "@prestashop.adapter.data_provider.module"
              - "@prestashop.core.module.updater"
              - "@prestashop.core.admin.module.repository"
              - "@prestashop.module.zip.manager"
              - "@translator"
              - "@event_dispatcher"
              - "@prestashop.adapter.cache.clearer.symfony_cache_clearer"
  
      prestashop.module.zip.manager:
          class: PrestaShop\PrestaShop\Adapter\Module\ModuleZipManager
          arguments:
              - "@filesystem"
              - "@translator"
              - "@event_dispatcher"
  
      prestashop.adapter.presenter.module:
          class: PrestaShop\PrestaShop\Adapter\Presenter\Module\ModulePresenter
          arguments: ["@=service('prestashop.adapter.legacy.context').getContext().currency", "@prestashop.adapter.formatter.price"]
  
      prestashop.adapter.module.data_provider.tab_module_list:
          class: PrestaShop\PrestaShop\Adapter\Module\TabModuleListProvider
  
      prestashop.adapter.module.presenter.payment:
          class: PrestaShop\PrestaShop\Adapter\Module\Presenter\PaymentModulesPresenter
          arguments:
              - '@prestashop.adapter.module.data_provider.tab_module_list'
              - '@prestashop.adapter.data_provider.module'
              - '@prestashop.adapter.presenter.module'
              - '@prestashop.core.admin.module.repository'
  
      prestashop.adapter.module.payment_module_provider:
          class: PrestaShop\PrestaShop\Adapter\Module\PaymentModuleListProvider
          arguments:
              - '@prestashop.core.admin.module.repository'
              - '@prestashop.bundle.repository.module'
              - '@=service("prestashop.adapter.legacy.context").getContext().shop.id'
  
      prestashop.adapter.legacy.module:
          class: PrestaShop\PrestaShop\Adapter\Module\Module
  