<?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_model' shared service.

include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Controller/ExternalApi/ProductModelController.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/Tool/Bundle/ElasticsearchBundle/Cursor/SearchAfterSizeCursorFactory.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/ProductModelAttributeFilter.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/Connector/UseCase/Validator/ListProductModelsQueryValidator.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Connector/UseCase/ListProductModelsQueryHandler.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/ProductModel/Query/GetConnectorProductModels.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Storage/Sql/Connector/SqlGetConnectorProductModels.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Storage/Sql/ProductModel/GetValuesAndPropertiesFromProductModelCodes.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Storage/Sql/ProductModel/GetCategoryCodesByProductModelCodes.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Storage/Sql/ProductModel/GetProductAssociationsByProductModelCodes.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Storage/Sql/ProductModel/GetProductModelsAssociationsByProductModelCodes.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle/Storage/Sql/ProductModel/GetGroupAssociationsByProductModelCodes.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Component/Product/Normalizer/ExternalApi/ConnectorProductModelNormalizer.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/ProductQueryBuilderSearchAfterOptionsResolver.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/Tool/Component/StorageUtils/Factory/SimpleFactoryInterface.php';
include_once \dirname(__DIR__, 4).'/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Component/StorageUtils/Factory/SimpleFactory.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/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/Bundle/Elasticsearch/ProductQueryBuilderFromSizeOptionsResolver.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.repository.attribute'] ?? $this->load('getPimCatalog_Repository_AttributeService.php'));
$b = ($this->privates['pim_catalog.query.filter.product_model_registry'] ?? $this->load('getPimCatalog_Query_Filter_ProductModelRegistryService.php'));
$c = ($this->privates['pim_catalog.query.sorter.registry'] ?? $this->load('getPimCatalog_Query_Sorter_RegistryService.php'));
$d = ($this->privates['akeneo_elasticsearch.client.product_and_product_model'] ?? $this->load('getAkeneoElasticsearch_Client_ProductAndProductModelService.php'));
$e = ($this->privates['pim_catalog.repository.product_model'] ?? $this->load('getPimCatalog_Repository_ProductModelService.php'));
$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()));
$g = ($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'))));
$h = ($this->services['doctrine.dbal.default_connection'] ?? $this->getDoctrine_Dbal_DefaultConnectionService());

$i = new \Akeneo\Pim\Enrichment\Bundle\Storage\Sql\Connector\SqlGetConnectorProductModels(new \Akeneo\Pim\Enrichment\Bundle\Storage\Sql\ProductModel\GetValuesAndPropertiesFromProductModelCodes($h), new \Akeneo\Pim\Enrichment\Bundle\Storage\Sql\ProductModel\GetCategoryCodesByProductModelCodes($h), new \Akeneo\Pim\Enrichment\Bundle\Storage\Sql\ProductModel\GetProductAssociationsByProductModelCodes($h), new \Akeneo\Pim\Enrichment\Bundle\Storage\Sql\ProductModel\GetProductModelsAssociationsByProductModelCodes($h), new \Akeneo\Pim\Enrichment\Bundle\Storage\Sql\ProductModel\GetGroupAssociationsByProductModelCodes($h), ($this->privates['akeneo.pim.enrichment.factory.read_value_collection'] ?? $this->getAkeneo_Pim_Enrichment_Factory_ReadValueCollectionService()));

return $this->services['pim_api.controller.product_model'] = new \Akeneo\Pim\Enrichment\Bundle\Controller\ExternalApi\ProductModelController(($this->privates['pim_catalog.query.product_model_query_builder_factory'] ?? $this->load('getPimCatalog_Query_ProductModelQueryBuilderFactoryService.php')), new \Akeneo\Pim\Enrichment\Bundle\Elasticsearch\ProductQueryBuilderFactory('Akeneo\\Pim\\Enrichment\\Component\\Product\\Query\\ProductModelQueryBuilder', $a, $b, $c, new \Akeneo\Tool\Bundle\ElasticsearchBundle\Cursor\SearchAfterSizeCursorFactory($d, $e, 'Akeneo\\Tool\\Bundle\\ElasticsearchBundle\\Cursor\\SearchAfterSizeCursor', 100), $f), ($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.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')), $g, ($this->privates['pim_api.updater.product_model'] ?? $this->load('getPimApi_Updater_ProductModelService.php')), ($this->privates['pim_catalog.factory.product_model'] ?? ($this->privates['pim_catalog.factory.product_model'] = new \Akeneo\Tool\Component\StorageUtils\Factory\SimpleFactory('Akeneo\\Pim\\Enrichment\\Component\\Product\\Model\\ProductModel'))), ($this->privates['pim_catalog.saver.product_model'] ?? $this->load('getPimCatalog_Saver_ProductModelService.php')), ($this->services['router'] ?? $this->getRouterService()), ($this->privates['pim_catalog.validator.product'] ?? $this->load('getPimCatalog_Validator_ProductService.php')), new \Akeneo\Pim\Enrichment\Component\Product\ProductModel\Filter\ProductModelAttributeFilter(($this->privates['pim_catalog.repository.family_variant'] ?? $this->load('getPimCatalog_Repository_FamilyVariantService.php')), $e, ($this->privates['pim_catalog.repository.cached_attribute'] ?? $this->load('getPimCatalog_Repository_CachedAttributeService.php'))), $e, 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_model:partialUpdateAction', 'code'), new \Akeneo\Pim\Enrichment\Component\Product\Connector\UseCase\Validator\ListProductModelsQueryValidator(($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()))), new \Akeneo\Pim\Enrichment\Component\Product\Connector\UseCase\ListProductModelsQueryHandler(($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\\ProductModelQueryBuilder', $a, $b, $c, new \Akeneo\Pim\Enrichment\Bundle\Elasticsearch\FromSizeIdentifierResultCursorFactory($d), ($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\\ProductModelQueryBuilder', $a, $b, $c, new \Akeneo\Pim\Enrichment\Bundle\Elasticsearch\SearchAfterSizeIdentifierResultCursorFactory($d), $f), $g, $i, ($this->privates['pim_catalog.repository.cached_channel'] ?? $this->getPimCatalog_Repository_CachedChannelService())), new \Akeneo\Pim\Enrichment\Component\Product\Normalizer\ExternalApi\ConnectorProductModelNormalizer(($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()))), $i, ($this->services['security.token_storage'] ?? $this->getSecurity_TokenStorageService()), ($this->privates['pim_catalog.event_subscriber.product_model.on_save.api_aggregator_event_subscriber'] ?? $this->load('getPimCatalog_EventSubscriber_ProductModel_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())), $this->parameters['pim_api.configuration']);
