<?php

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

// This file has been auto-generated by the Symfony Dependency Injection Component for internal use.
// Returns the public 'pim_api.controller.product' shared service.

include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Controller/ExternalApi/ProductController.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Bundle/ApiBundle/Stream/StreamResourceResponse.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/ProductModel/Filter/AttributeFilterInterface.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/ProductModel/Filter/ProductAttributeFilter.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Connector/UseCase/Validator/ListProductsQueryValidator.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Connector/UseCase/ListProductsQueryHandler.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Query/ProductQueryBuilderFactoryInterface.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Elasticsearch/ProductQueryBuilderFactory.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Component/StorageUtils/Cursor/CursorFactoryInterface.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Elasticsearch/FromSizeIdentifierResultCursorFactory.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Elasticsearch/SearchAfterSizeIdentifierResultCursorFactory.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Query/GetConnectorProducts.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Storage/Sql/Connector/SqlGetConnectorProducts.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Storage/Sql/Product/GetValuesAndPropertiesFromProductIdentifiers.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Storage/Sql/Product/Association/GetProductAssociationsByProductIdentifiers.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Storage/Sql/Product/Association/GetProductModelAssociationsByProductIdentifiers.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Storage/Sql/Product/Association/GetGroupAssociationsByProductIdentifiers.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Storage/Sql/Product/GetCategoryCodesByProductIdentifiers.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Normalizer/ExternalApi/ConnectorProductNormalizer.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Bundle/ApiBundle/Checker/DuplicateValueChecker.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Validator/UniqueValuesSet.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Component/Api/Security/PrimaryKeyEncrypter.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Connector/UseCase/Validator/ValidateCriterion.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Connector/UseCase/Validator/ValidateGrantedSearchLocaleInterface.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Connector/UseCase/Validator/ValidateAlwaysGrantedSearchLocale.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Connector/UseCase/Validator/ValidateGrantedCategoriesInterface.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Connector/UseCase/Validator/ValidateAlwaysGrantedCategories.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Connector/UseCase/Validator/ValidateGrantedPropertiesInterface.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Connector/UseCase/Validator/ValidateAlwaysGrantedProperties.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Connector/UseCase/Validator/ValidateGrantedAttributesInterface.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Connector/UseCase/Validator/ValidateAlwaysGrantedAttributes.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Connector/UseCase/Validator/ValidateGrantedLocalesInterface.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Connector/UseCase/Validator/ValidateAlwaysGrantedLocales.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Query/ProductQueryBuilderOptionsResolverInterface.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Elasticsearch/ProductQueryBuilderFromSizeOptionsResolver.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Elasticsearch/ProductQueryBuilderSearchAfterOptionsResolver.php';
include_once \dirname(__DIR__, 4).'/vendor/symfony/serializer/Normalizer/NormalizerInterface.php';
include_once \dirname(__DIR__, 4).'/vendor/symfony/serializer/Normalizer/CacheableSupportsMethodInterface.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Normalizer/Standard/DateTimeNormalizer.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Bundle/ApiBundle/Cache/WarmupQueryCache.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Controller/ExternalApi/DummyWarmupQueryCache.php';

$a = ($this->privates['pim_catalog.builder.product'] ?? $this->load('getPimCatalog_Builder_ProductService.php'));
$b = ($this->privates['pim_api.security.primary_key_encrypter'] ?? ($this->privates['pim_api.security.primary_key_encrypter'] = new \Akeneo\Tool\Component\Api\Security\PrimaryKeyEncrypter('AES-256-OFB', $this->getEnv('APP_SECRET'), $this->getEnv('APP_SECRET'))));
$c = ($this->privates['pim_catalog.repository.attribute'] ?? $this->load('getPimCatalog_Repository_AttributeService.php'));
$d = ($this->privates['pim_catalog.query.filter.product_registry'] ?? $this->load('getPimCatalog_Query_Filter_ProductRegistryService.php'));
$e = ($this->privates['pim_catalog.query.sorter.registry'] ?? $this->load('getPimCatalog_Query_Sorter_RegistryService.php'));
$f = ($this->privates['akeneo_elasticsearch.client.product_and_product_model'] ?? $this->load('getAkeneoElasticsearch_Client_ProductAndProductModelService.php'));
$g = ($this->services['doctrine.dbal.default_connection'] ?? $this->getDoctrine_Dbal_DefaultConnectionService());

$h = new \Akeneo\Pim\Enrichment\Bundle\Storage\Sql\Connector\SqlGetConnectorProducts(new \Akeneo\Pim\Enrichment\Bundle\Storage\Sql\Product\GetValuesAndPropertiesFromProductIdentifiers($g), new \Akeneo\Pim\Enrichment\Bundle\Storage\Sql\Product\Association\GetProductAssociationsByProductIdentifiers($g), new \Akeneo\Pim\Enrichment\Bundle\Storage\Sql\Product\Association\GetProductModelAssociationsByProductIdentifiers($g), new \Akeneo\Pim\Enrichment\Bundle\Storage\Sql\Product\Association\GetGroupAssociationsByProductIdentifiers($g), new \Akeneo\Pim\Enrichment\Bundle\Storage\Sql\Product\GetCategoryCodesByProductIdentifiers($g), ($this->privates['akeneo.pim.enrichment.factory.read_value_collection'] ?? $this->getAkeneo_Pim_Enrichment_Factory_ReadValueCollectionService()), $c);

return $this->services['pim_api.controller.product'] = new \Akeneo\Pim\Enrichment\Bundle\Controller\ExternalApi\ProductController(($this->privates['pim_external_api_serializer'] ?? $this->load('getPimExternalApiSerializerService.php')), ($this->privates['pim_api.repository.channel'] ?? $this->load('getPimApi_Repository_ChannelService.php')), ($this->privates['pim_api.repository.attribute'] ?? $this->load('getPimApi_Repository_AttributeService.php')), ($this->privates['pim_api.repository.product'] ?? $this->load('getPimApi_Repository_ProductService.php')), ($this->privates['pim_api.pagination.offset_hal_paginator'] ?? $this->load('getPimApi_Pagination_OffsetHalPaginatorService.php')), ($this->privates['pim_api.pagination.search_after_hal_paginator'] ?? $this->load('getPimApi_Pagination_SearchAfterHalPaginatorService.php')), ($this->privates['pim_catalog.validator.product'] ?? $this->load('getPimCatalog_Validator_ProductService.php')), $a, ($this->privates['pim_catalog.remover.product'] ?? $this->load('getPimCatalog_Remover_ProductService.php')), ($this->privates['pim_catalog.updater.product'] ?? $this->load('getPimCatalog_Updater_ProductService.php')), ($this->privates['pim_catalog.saver.product'] ?? $this->load('getPimCatalog_Saver_ProductService.php')), ($this->services['router'] ?? $this->getRouterService()), ($this->privates['pim_catalog.comparator.filter.product'] ?? $this->load('getPimCatalog_Comparator_Filter_ProductService.php')), new \Akeneo\Tool\Bundle\ApiBundle\Stream\StreamResourceResponse(($this->services['http_kernel'] ?? $this->getHttpKernelService()), ($this->services['pim_catalog.validator.unique_value_set'] ?? ($this->services['pim_catalog.validator.unique_value_set'] = new \Akeneo\Pim\Enrichment\Component\Product\Validator\UniqueValuesSet())), $this->parameters['pim_api.configuration'], 'pim_api.controller.product:partialUpdateAction', 'identifier'), $b, ($this->privates['pim_catalog.query.product_query_builder_from_size_factory'] ?? $this->load('getPimCatalog_Query_ProductQueryBuilderFromSizeFactoryService.php')), $a, new \Akeneo\Pim\Enrichment\Component\Product\ProductModel\Filter\ProductAttributeFilter(($this->privates['pim_catalog.repository.product_model'] ?? $this->load('getPimCatalog_Repository_ProductModelService.php')), ($this->privates['pim_catalog.repository.cached_family'] ?? $this->load('getPimCatalog_Repository_CachedFamilyService.php')), ($this->privates['pim_catalog.repository.product'] ?? $this->load('getPimCatalog_Repository_ProductService.php')), ($this->privates['pim_catalog.repository.cached_attribute'] ?? $this->load('getPimCatalog_Repository_CachedAttributeService.php'))), ($this->privates['pim_catalog.entity_with_family_variant.add_parent_to_product'] ?? $this->load('getPimCatalog_EntityWithFamilyVariant_AddParentToProductService.php')), new \Akeneo\Pim\Enrichment\Component\Product\Connector\UseCase\Validator\ListProductsQueryValidator(($this->privates['akeneo.pim.enrichment.use_cases.validator.attributes'] ?? $this->load('getAkeneo_Pim_Enrichment_UseCases_Validator_AttributesService.php')), ($this->privates['akeneo.pim.enrichment.use_cases.validator.channel'] ?? $this->load('getAkeneo_Pim_Enrichment_UseCases_Validator_ChannelService.php')), ($this->privates['akeneo.pim.enrichment.use_cases.validator.locales'] ?? $this->load('getAkeneo_Pim_Enrichment_UseCases_Validator_LocalesService.php')), ($this->privates['akeneo.pim.enrichment.use_cases.validator.pagination'] ?? $this->load('getAkeneo_Pim_Enrichment_UseCases_Validator_PaginationService.php')), ($this->privates['akeneo.pim.enrichment.use_cases.validator.criterion'] ?? ($this->privates['akeneo.pim.enrichment.use_cases.validator.criterion'] = new \Akeneo\Pim\Enrichment\Component\Product\Connector\UseCase\Validator\ValidateCriterion())), ($this->privates['akeneo.pim.enrichment.use_cases.validator.categories'] ?? $this->load('getAkeneo_Pim_Enrichment_UseCases_Validator_CategoriesService.php')), ($this->privates['akeneo.pim.enrichment.use_cases.validator.properties'] ?? $this->load('getAkeneo_Pim_Enrichment_UseCases_Validator_PropertiesService.php')), ($this->privates['akeneo.pim.enrichment.use_cases.validator.search_locale'] ?? $this->load('getAkeneo_Pim_Enrichment_UseCases_Validator_SearchLocaleService.php')), ($this->privates['akeneo.pim.enrichment.use_cases.validator.validate_granted_search_locale'] ?? ($this->privates['akeneo.pim.enrichment.use_cases.validator.validate_granted_search_locale'] = new \Akeneo\Pim\Enrichment\Component\Product\Connector\UseCase\Validator\ValidateAlwaysGrantedSearchLocale())), ($this->privates['akeneo.pim.enrichment.use_cases.validator.validate_granted_categories'] ?? ($this->privates['akeneo.pim.enrichment.use_cases.validator.validate_granted_categories'] = new \Akeneo\Pim\Enrichment\Component\Product\Connector\UseCase\Validator\ValidateAlwaysGrantedCategories())), ($this->privates['akeneo.pim.enrichment.use_cases.validator.validate_granted_properties'] ?? ($this->privates['akeneo.pim.enrichment.use_cases.validator.validate_granted_properties'] = new \Akeneo\Pim\Enrichment\Component\Product\Connector\UseCase\Validator\ValidateAlwaysGrantedProperties())), ($this->privates['akeneo.pim.enrichment.use_cases.validator.validate_granted_attributes'] ?? ($this->privates['akeneo.pim.enrichment.use_cases.validator.validate_granted_attributes'] = new \Akeneo\Pim\Enrichment\Component\Product\Connector\UseCase\Validator\ValidateAlwaysGrantedAttributes())), ($this->privates['akeneo.pim.enrichment.use_cases.validator.validate_granted_locales'] ?? ($this->privates['akeneo.pim.enrichment.use_cases.validator.validate_granted_locales'] = new \Akeneo\Pim\Enrichment\Component\Product\Connector\UseCase\Validator\ValidateAlwaysGrantedLocales()))), $this->parameters['pim_api.configuration'], new \Akeneo\Pim\Enrichment\Component\Product\Connector\UseCase\ListProductsQueryHandler(($this->privates['pim_catalog.repository.cached_channel'] ?? $this->getPimCatalog_Repository_CachedChannelService()), ($this->privates['akeneo.pim.enrichment.use_cases.apply_product_search_query_parameters_to_pqb'] ?? $this->load('getAkeneo_Pim_Enrichment_UseCases_ApplyProductSearchQueryParametersToPqbService.php')), new \Akeneo\Pim\Enrichment\Bundle\Elasticsearch\ProductQueryBuilderFactory('Akeneo\\Pim\\Enrichment\\Component\\Product\\Query\\ProductQueryBuilder', $c, $d, $e, new \Akeneo\Pim\Enrichment\Bundle\Elasticsearch\FromSizeIdentifierResultCursorFactory($f), ($this->privates['pim_catalog.elasticsearch.product_query_builder_from_size_resolver'] ?? ($this->privates['pim_catalog.elasticsearch.product_query_builder_from_size_resolver'] = new \Akeneo\Pim\Enrichment\Bundle\Elasticsearch\ProductQueryBuilderFromSizeOptionsResolver()))), new \Akeneo\Pim\Enrichment\Bundle\Elasticsearch\ProductQueryBuilderFactory('Akeneo\\Pim\\Enrichment\\Component\\Product\\Query\\ProductQueryBuilder', $c, $d, $e, new \Akeneo\Pim\Enrichment\Bundle\Elasticsearch\SearchAfterSizeIdentifierResultCursorFactory($f), ($this->privates['pim_catalog.elasticsearch.product_query_builder_search_after_resolver'] ?? ($this->privates['pim_catalog.elasticsearch.product_query_builder_search_after_resolver'] = new \Akeneo\Pim\Enrichment\Bundle\Elasticsearch\ProductQueryBuilderSearchAfterOptionsResolver()))), $b, $h), new \Akeneo\Pim\Enrichment\Component\Product\Normalizer\ExternalApi\ConnectorProductNormalizer(($this->privates['pim_api.normalizer.values'] ?? $this->load('getPimApi_Normalizer_ValuesService.php')), ($this->privates['pim_catalog.normalizer.standard.datetime'] ?? ($this->privates['pim_catalog.normalizer.standard.datetime'] = new \Akeneo\Pim\Enrichment\Component\Product\Normalizer\Standard\DateTimeNormalizer()))), ($this->services['security.token_storage'] ?? $this->getSecurity_TokenStorageService()), $h, ($this->privates['pim_catalog.event_subscriber.product.on_save.api_aggregator_event_subscriber'] ?? $this->load('getPimCatalog_EventSubscriber_Product_OnSave_ApiAggregatorEventSubscriberService.php')), ($this->privates['pim_api.warmup_query_cache.dummy'] ?? ($this->privates['pim_api.warmup_query_cache.dummy'] = new \Akeneo\Pim\Enrichment\Bundle\Controller\ExternalApi\DummyWarmupQueryCache())), new \Akeneo\Tool\Bundle\ApiBundle\Checker\DuplicateValueChecker(), ($this->privates['monolog.logger'] ?? $this->getMonolog_LoggerService()));
