Fatal error: Uncaught Magento\Framework\Exception\LocalizedException: More than one node matching the query: /config/type[@name='Magento\Framework\Console\CommandList']/arguments, Xml is: <?xml version="1.0"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="Magento\Store\Api\StoreRepositoryInterface" type="Magento\Store\Model\StoreRepository"/>
<preference for="Magento\Store\Api\GroupRepositoryInterface" type="Magento\Store\Model\GroupRepository"/>
<preference for="Magento\Store\Api\WebsiteRepositoryInterface" type="Magento\Store\Model\WebsiteRepository"/>
<preference for="Magento\Store\Api\Data\StoreInterface" type="Magento\Store\Model\Store"/>
<preference for="Magento\Store\Api\Data\GroupInterface" type="Magento\Store\Model\Group"/>
<preference for="Magento\Store\Api\Data\WebsiteInterface" type="Magento\Store\Model\Website"/>
<preference for="Magento\Store\Api\StoreWebsiteRelationInterface" type="Magento\Store\Model\StoreManager"/>
<preference for="Magento\Store\Api\StoreResolverInterface" type="Magento\Store\Model\StoreResolver"/>
<preference for="Magento\Framework\App\Request\PathInfoProcessorInterface" type="Magento\Backend\App\Request\PathInfoProcessor"/>
<preference for="Magento\Store\Model\StoreManagerInterface" type="Magento\Store\Model\StoreManager"/>
<preference for="Magento\Framework\App\Response\RedirectInterface" type="Magento\Store\App\Response\Redirect"/>
<preference for="Magento\Store\Api\StoreCookieManagerInterface" type="Magento\Store\Model\StoreCookieManager"/>
<preference for="Magento\Store\Api\StoreConfigManagerInterface" type="Magento\Store\Model\Service\StoreConfigManager"/>
<preference for="Magento\Store\Api\Data\StoreConfigInterface" type="Magento\Store\Model\Data\StoreConfig"/>
<preference for="Magento\Store\Api\StoreManagementInterface" type="Magento\Store\Model\StoreManagement"/>
<preference for="Magento\Store\Api\WebsiteManagementInterface" type="Magento\Store\Model\WebsiteManagement"/>
<preference for="Magento\Framework\App\ScopeFallbackResolverInterface" type="Magento\Store\Model\ScopeFallbackResolver"/>
<preference for="Magento\Framework\App\ScopeTreeProviderInterface" type="Magento\Store\Model\ScopeTreeProvider"/>
<preference for="Magento\Framework\App\ScopeValidatorInterface" type="Magento\Store\Model\ScopeValidator"/>
<preference for="Magento\Store\Model\StoreSwitcherInterface" type="Magento\Store\Model\StoreSwitcher"/>
<preference for="Magento\Store\Model\StoreSwitcher\RedirectDataPreprocessorInterface" type="Magento\Store\Model\StoreSwitcher\RedirectDataPreprocessorComposite"/>
<preference for="Magento\Store\Model\StoreSwitcher\RedirectDataPostprocessorInterface" type="Magento\Store\Model\StoreSwitcher\RedirectDataPostprocessorComposite"/>
<preference for="Magento\Store\Model\StoreSwitcher\RedirectDataSerializerInterface" type="Magento\Store\Model\StoreSwitcher\RedirectDataCacheSerializer"/>
<preference for="Magento\Store\Model\StoreSwitcher\ContextInterface" type="Magento\Store\Model\StoreSwitcher\Context"/>
<preference for="Magento\Store\Model\StoreSwitcher\RedirectDataInterface" type="Magento\Store\Model\StoreSwitcher\RedirectData"/>
<type name="Magento\Framework\App\Http\Context">
<arguments>
<argument name="default" xsi:type="array">
<item name="website" xsi:type="string">0</item>
<item name="customer_group" xsi:type="const">Magento\Customer\Api\Data\GroupInterface::NOT_LOGGED_IN_ID</item></argument>
</arguments>
</type>
<type name="Magento\Framework\App\Response\Http">
<plugin name="genericHeaderPlugin" type="Magento\Framework\App\Response\HeaderManager"/>
</type>
<type name="Magento\Framework\App\Response\HeaderProvider\XFrameOptions">
<arguments>
<argument name="xFrameOpt" xsi:type="init_parameter">Magento\Framework\App\Response\HeaderProvider\XFrameOptions::DEPLOYMENT_CONFIG_X_FRAME_OPT</argument>
</arguments>
</type>
<type name="Magento\Framework\View\Element\Template\File\Validator">
<arguments>
<argument name="scope" xsi:type="string">store</argument>
</arguments>
</type>
<type name="Magento\Store\Model\Resolver\Store">
<arguments>
<argument name="storeManager" xsi:type="object">Magento\Store\Model\StoreManagerInterface\Proxy</argument>
</arguments>
</type>
<type name="Magento\Store\Model\Resolver\Group">
<arguments>
<argument name="storeManager" xsi:type="object">Magento\Store\Model\StoreManagerInterface\Proxy</argument>
</arguments>
</type>
<type name="Magento\Store\Model\Resolver\Website">
<arguments>
<argument name="storeManager" xsi:type="object">Magento\Store\Model\StoreManagerInterface\Proxy</argument>
</arguments>
</type>
<preference for="Magento\Framework\App\ScopeResolverInterface" type="Magento\Store\Model\Resolver\Store"/>
<preference for="Magento\Framework\App\Router\PathConfigInterface" type="Magento\Store\Model\PathConfig"/>
<type name="Magento\Framework\App\ActionInterface">
<plugin name="storeCheck" type="Magento\Store\App\Action\Plugin\StoreCheck"/>
<plugin name="designLoader" type="Magento\Theme\Plugin\LoadDesignPlugin"/><plugin name="customerNotification" type="Magento\Customer\Model\Plugin\CustomerNotification"/></type>
<type name="Magento\Framework\Url\SecurityInfo">
<plugin name="storeUrlSecurityInfo" type="Magento\Store\Url\Plugin\SecurityInfo"/>
</type>
<type name="Magento\Framework\Url\RouteParamsResolver">
<plugin name="storeUrlRouteParamsResolver" type="Magento\Store\Url\Plugin\RouteParamsResolver"/>
</type>
<type name="Magento\Store\Model\ResourceModel\Website\Collection">
<arguments>
<argument name="fetchStrategy" xsi:type="object">Magento\Store\Model\ResourceModel\Website\Collection\FetchStrategy</argument>
</arguments>
</type>
<type name="Magento\Store\Model\ResourceModel\Group\Collection">
<arguments>
<argument name="fetchStrategy" xsi:type="object">Magento\Store\Model\ResourceModel\Group\Collection\FetchStrategy</argument>
</arguments>
</type>
<type name="Magento\Store\Model\ResourceModel\Store\Collection">
<arguments>
<argument name="fetchStrategy" xsi:type="object">Magento\Store\Model\ResourceModel\Store\Collection\FetchStrategy</argument>
</arguments>
</type>
<type name="Magento\Store\Model\Store">
<arguments>
<argument name="session" xsi:type="object" shared="false">Magento\Framework\Session\Generic\Proxy</argument>
<argument name="isCustomEntryPoint" xsi:type="init_parameter">Magento\Store\Model\Store::CUSTOM_ENTRY_POINT_PARAM</argument>
<argument name="url" xsi:type="object" shared="false">Magento\Framework\UrlInterface</argument>
</arguments>
<plugin name="themeDesignConfigGridIndexerStore" type="Magento\Theme\Model\Indexer\Design\Config\Plugin\Store"/></type>
<type name="Magento\Store\Model\StoreManager">
<arguments>
<argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Config</argument>
</arguments>
</type>
<type name="Magento\Store\Model\StoreResolver">
<arguments>
<argument name="runMode" xsi:type="init_parameter">Magento\Store\Model\StoreManager::PARAM_RUN_TYPE</argument>
<argument name="scopeCode" xsi:type="init_parameter">Magento\Store\Model\StoreManager::PARAM_RUN_CODE</argument>
</arguments>
<plugin name="staging_preview_allowed_stores_check_bypass" type="Magento\Staging\Plugin\Store\Model\StoreResolver"/></type>
<type name="Magento\Store\Model\StoresData">
<arguments>
<argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Config</argument>
</arguments>
</type>
<type name="Magento\Store\App\FrontController\Plugin\DefaultStore">
<arguments>
<argument name="runMode" xsi:type="init_parameter">Magento\Store\Model\StoreManager::PARAM_RUN_TYPE</argument>
<argument name="scopeCode" xsi:type="init_parameter">Magento\Store\Model\StoreManager::PARAM_RUN_CODE</argument>
</arguments>
</type>
<virtualType name="Magento\Store\Model\ResourceModel\Group\Collection\FetchStrategy" type="Magento\Framework\Data\Collection\Db\FetchStrategy\Cache">
<arguments>
<argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Collection</argument>
<argument name="cacheIdPrefix" xsi:type="string">app_</argument>
<argument name="cacheTags" xsi:type="array">
<item name="storeTag" xsi:type="const">Magento\Store\Model\Store::CACHE_TAG</item>
<item name="configTag" xsi:type="const">Magento\Framework\App\Config::CACHE_TAG</item>
</argument>
<argument name="cacheLifetime" xsi:type="boolean">false</argument>
</arguments>
</virtualType>
<virtualType name="Magento\Store\Model\ResourceModel\Store\Collection\FetchStrategy" type="Magento\Framework\Data\Collection\Db\FetchStrategy\Cache">
<arguments>
<argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Collection</argument>
<argument name="cacheIdPrefix" xsi:type="string">app_</argument>
<argument name="cacheTags" xsi:type="array">
<item name="storeTag" xsi:type="const">Magento\Store\Model\Store::CACHE_TAG</item>
<item name="configTag" xsi:type="const">Magento\Framework\App\Config::CACHE_TAG</item>
</argument>
<argument name="cacheLifetime" xsi:type="boolean">false</argument>
</arguments>
</virtualType>
<virtualType name="Magento\Store\Model\ResourceModel\Website\Collection\FetchStrategy" type="Magento\Framework\Data\Collection\Db\FetchStrategy\Cache">
<arguments>
<argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Collection</argument>
<argument name="cacheIdPrefix" xsi:type="string">app_</argument>
<argument name="cacheTags" xsi:type="array">
<item name="storeTag" xsi:type="const">Magento\Store\Model\Website::CACHE_TAG</item>
<item name="configTag" xsi:type="const">Magento\Framework\App\Config::CACHE_TAG</item>
</argument>
<argument name="cacheLifetime" xsi:type="boolean">false</argument>
</arguments>
</virtualType>
<type name="Magento\Store\Model\Config\Placeholder">
<arguments>
<argument name="request" xsi:type="object">Magento\Framework\App\Request\Http\Proxy</argument>
<argument name="urlPaths" xsi:type="array">
<item name="unsecureBaseUrl" xsi:type="string">web/unsecure/base_url</item>
<item name="secureBaseUrl" xsi:type="string">web/secure/base_url</item>
</argument>
<argument name="urlPlaceholder" xsi:type="string">{{base_url}}</argument>
</arguments>
</type>
<type name="Magento\Framework\Module\Output\Config">
<arguments>
<argument name="scopeType" xsi:type="const">Magento\Store\Model\ScopeInterface::SCOPE_STORE</argument>
</arguments>
</type>
<type name="Magento\Framework\Session\Config">
<arguments>
<argument name="scopeType" xsi:type="const">Magento\Store\Model\ScopeInterface::SCOPE_STORE</argument>
</arguments>
</type>
<type name="Magento\Framework\Session\SessionMaxSizeConfig">
<arguments>
<argument name="scopeType" xsi:type="const">Magento\Store\Model\ScopeInterface::SCOPE_STORE</argument>
</arguments>
</type>
<type name="Magento\Framework\Session\SidResolver">
<arguments>
<argument name="scopeType" xsi:type="const">Magento\Store\Model\ScopeInterface::SCOPE_STORE</argument>
</arguments>
<plugin name="pagebuilder_preview_sid_resolving" type="Magento\PageBuilder\Plugin\Framework\Session\SidResolver"/></type>
<type name="Magento\Framework\View\Layout\Element\Layout">
<arguments>
<argument name="scopeType" xsi:type="const">Magento\Store\Model\ScopeInterface::SCOPE_STORE</argument>
</arguments>
</type>
<type name="Magento\Framework\View\DesignExceptions">
<arguments>
<argument name="exceptionConfigPath" xsi:type="string">design/theme/ua_regexp</argument>
<argument name="scopeType" xsi:type="const">Magento\Store\Model\ScopeInterface::SCOPE_STORE</argument>
</arguments>
</type>
<type name="Magento\Framework\View\TemplateEngineFactory">
<arguments>
<argument name="engines" xsi:type="array">
<item name="phtml" xsi:type="string">Magento\Framework\View\TemplateEngine\Php</item>
<item name="xhtml" xsi:type="string">Magento\Framework\View\TemplateEngine\Xhtml</item></argument>
</arguments>
</type>
<type name="Magento\Framework\App\Router\NoRouteHandlerList">
<arguments>
<argument name="handlerClassesList" xsi:type="array">
<item name="default" xsi:type="array">
<item name="class" xsi:type="string">Magento\Framework\App\Router\NoRouteHandler</item>
<item name="sortOrder" xsi:type="string">100</item>
</item>
<item name="backend" xsi:type="array">
<item name="class" xsi:type="string">Magento\Backend\App\Router\NoRouteHandler</item>
<item name="sortOrder" xsi:type="string">10</item>
</item></argument>
</arguments>
</type>
<type name="Magento\Framework\App\AreaList">
<arguments>
<argument name="areas" xsi:type="array">
<item name="frontend" xsi:type="array">
<item name="frontName" xsi:type="null"/>
<item name="router" xsi:type="string">standard</item>
</item>
<item name="adminhtml" xsi:type="array">
<item name="frontNameResolver" xsi:type="string">Magento\Backend\App\Area\FrontNameResolver</item>
<item name="router" xsi:type="string">admin</item>
</item><item name="graphql" xsi:type="array">
<item name="frontName" xsi:type="string">graphql</item>
</item><item name="crontab" xsi:type="null"/><item name="webapi_rest" xsi:type="array">
<item name="frontName" xsi:type="string">rest</item>
</item><item name="webapi_soap" xsi:type="array">
<item name="frontName" xsi:type="string">soap</item>
</item></argument>
<argument name="default" xsi:type="string">frontend</argument>
</arguments>
</type>
<type name="Magento\Framework\App\Config\Initial\Converter">
<arguments>
<argument name="nodeMap" xsi:type="array">
<item name="default" xsi:type="string">/config/default</item>
<item name="stores" xsi:type="string">/config/stores</item>
<item name="websites" xsi:type="string">/config/websites</item>
</argument>
</arguments>
<plugin name="cron_system_config_initial_converter_plugin" type="Magento\Cron\Model\System\Config\Initial\Converter"/></type>
<type name="Magento\Framework\Reflection\MethodsMap">
<arguments>
<argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Reflection</argument>
</arguments>
</type>
<type name="Magento\Framework\Url">
<arguments>
<argument name="scopeType" xsi:type="const">Magento\Store\Model\ScopeInterface::SCOPE_STORE</argument>
</arguments>
</type>
<type name="Magento\Framework\App\ScopeResolverPool">
<arguments>
<argument name="scopeResolvers" xsi:type="array">
<item name="default" xsi:type="object">Magento\Framework\App\ScopeResolver</item>
<item name="store" xsi:type="object">Magento\Store\Model\Resolver\Store</item>
<item name="stores" xsi:type="object">Magento\Store\Model\Resolver\Store</item>
<item name="group" xsi:type="object">Magento\Store\Model\Resolver\Group</item>
<item name="website" xsi:type="object">Magento\Store\Model\Resolver\Website</item>
<item name="websites" xsi:type="object">Magento\Store\Model\Resolver\Website</item>
</argument>
</arguments>
</type>
<type name="Magento\Framework\Model\ActionValidator\RemoveAction">
<arguments>
<argument name="protectedModels" xsi:type="array">
<item name="store" xsi:type="string">Magento\Store\Model\Store</item>
<item name="website" xsi:type="string">Magento\Store\Model\Website</item>
<item name="storeGroup" xsi:type="string">Magento\Store\Model\Group</item>
<item name="customer" xsi:type="string">Magento\Customer\Model\Customer</item><item name="catalogCategory" xsi:type="string">Magento\Catalog\Model\Category</item><item name="catalogProduct" xsi:type="string">Magento\Catalog\Model\Product</item><item name="salesOrder" xsi:type="string">Magento\Sales\Model\Order</item><item name="salesOrderCreditmemo" xsi:type="string">Magento\Sales\Model\Order\Creditmemo</item><item name="salesOrderInvoice" xsi:type="string">Magento\Sales\Model\Order\Invoice</item><item name="salesOrderShipment" xsi:type="string">Magento\Sales\Model\Order\Shipment</item><item name="review" xsi:type="string">Magento\Review\Model\Review</item></argument>
</arguments>
</type>
<type name="Magento\Framework\Module\Setup\Migration">
<arguments>
<argument name="confPathToMapFile" xsi:type="string">app/etc/aliases_to_classes_map.json</argument>
<argument name="compositeModules" xsi:type="array">
<item name="importexport" xsi:type="string">Magento_ImportExport</item>
<item name="catalogrule" xsi:type="string">Magento_CatalogRule</item><item name="cataloginventory" xsi:type="string">Magento_CatalogInventory</item><item name="search" xsi:type="string">Magento_Search</item><item name="magento_salesarchive" xsi:type="string">Magento_SalesArchive</item><item name="catalogsearch" xsi:type="string">Magento_CatalogSearch</item><item name="salesrule" xsi:type="string">Magento_SalesRule</item><item name="magento_giftcard" xsi:type="string">Magento_GiftCard</item><item name="magento_giftregistry" xsi:type="string">Magento_GiftRegistry</item><item name="currencysymbol" xsi:type="string">Magento_CurrencySymbol</item><item name="magento_customerbalance" xsi:type="string">Magento_CustomerBalance</item><item name="magento_customersegment" xsi:type="string">Magento_CustomerSegment</item><item name="productalert" xsi:type="string">Magento_ProductAlert</item><item name="magento_targetrule" xsi:type="string">Magento_TargetRule</item><item name="magento_websiterestriction" xsi:type="string">Magento_WebsiteRestriction</item><item name="magento_giftcardaccount" xsi:type="string">Magento_GiftCardAccount</item><item name="magento_catalogevent" xsi:type="string">Magento_CatalogEvent</item><item name="giftmessage" xsi:type="string">Magento_GiftMessage</item><item name="magento_giftwrapping" xsi:type="string">Magento_GiftWrapping</item><item name="googleanalytics" xsi:type="string">Magento_GoogleAnalytics</item><item name="googlegtag" xsi:type="string">Magento_GoogleGtag</item><item name="magento_catalogpermissions" xsi:type="string">Magento_CatalogPermissions</item><item name="magento_admingws" xsi:type="string">Magento_AdminGws</item><item name="magento_pricepermissions" xsi:type="string">Magento_PricePermissions</item><item name="magento_promotionpermissions" xsi:type="string">Magento_PromotionPermissions</item><item name="magento_scheduledimportexport" xsi:type="string">Magento_ScheduledImportExport</item></argument></arguments>
</type>
<type name="Magento\Framework\Module\Setup\MigrationData">
<arguments>
<argument name="data" xsi:type="array">
<item name="plain" xsi:type="string"><![CDATA[/^(?P<alias>[a-z]+[_a-z\d]*?\/[a-z]+[_a-z\d]*?)::.*?$/sui]]></item>
<item name="wiki" xsi:type="string"><![CDATA[/{{(block|widget).*?(class|type)=\"(?P<alias>[a-z]+[_a-z\d]*?\/[a-z]+[_a-z\d]*?)\".*?}}/sui]]></item>
<item name="xml" xsi:type="string"><![CDATA[/<block.*?class=\"(?P<alias>[a-z]+[_a-z\d]*?\/[a-z]+[_a-z\d]*?)\".*?>/sui]]></item>
<item name="serialized" xsi:type="string"><![CDATA[#(?P<string>s:\d+:"(?P<alias>[a-z]+[_a-z\d]*?/[a-z]+[_a-z\d]*?)")#sui]]></item>
</argument>
</arguments>
</type>
<type name="Magento\Framework\App\Helper\Context">
<arguments>
<argument name="urlBuilder" xsi:type="object">Magento\Framework\UrlInterface</argument>
<argument name="httpRequest" xsi:type="object">Magento\Framework\App\Request\Http\Proxy</argument>
</arguments>
</type>
<type name="Magento\Framework\App\FrontController">
<plugin name="install" type="Magento\Framework\Module\Plugin\DbStatusValidator" sortOrder="40"/>
<plugin name="storeCookieValidate" type="Magento\Store\Model\Plugin\StoreCookie" sortOrder="10"/>
</type>
<type name="Magento\Store\Model\Plugin\StoreCookie">
<arguments>
<argument name="storeManager" xsi:type="object">Magento\Store\Model\StoreManagerInterface\Proxy</argument>
</arguments>
</type>
<type name="Magento\Framework\Module\Plugin\DbStatusValidator">
<arguments>
<argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Config</argument>
</arguments>
</type>
<type name="Magento\Framework\Stdlib\DateTime\Timezone">
<arguments>
<argument name="defaultTimezonePath" xsi:type="const">Magento\Directory\Helper\Data::XML_PATH_DEFAULT_TIMEZONE</argument>
<argument name="scopeType" xsi:type="const">Magento\Store\Model\ScopeInterface::SCOPE_STORE</argument>
</arguments>
<plugin name="staging_datetime_timezone_bypass" type="Magento\Staging\Plugin\DateTime\Timezone"/></type>
<type name="Magento\Framework\Locale\Resolver">
<arguments>
<argument name="defaultLocalePath" xsi:type="const">Magento\Directory\Helper\Data::XML_PATH_DEFAULT_LOCALE</argument>
<argument name="scopeType" xsi:type="const">Magento\Store\Model\ScopeInterface::SCOPE_STORE</argument>
</arguments>
</type>
<type name="Magento\Framework\App\Config\Initial\SchemaLocator">
<arguments>
<argument name="moduleName" xsi:type="string">Magento_Store</argument>
</arguments>
</type>
<type name="Magento\Framework\DB\Helper">
<arguments>
<argument name="modulePrefix" xsi:type="string">store</argument>
</arguments>
</type>
<type name="Magento\Framework\App\Response\HeaderManager">
<arguments>
<argument name="headerProviderList" xsi:type="array">
<item name="HSTSHeader" xsi:type="object">Magento\Store\Model\HeaderProvider\Hsts</item>
<item name="upgrade-insecure-requests" xsi:type="object">Magento\Store\Model\HeaderProvider\UpgradeInsecure</item>
<item name="x-content-type-options" xsi:type="object">Magento\Framework\App\Response\HeaderProvider\XContentTypeOptions</item>
<item name="x-xss-protection" xsi:type="object">Magento\Framework\App\Response\HeaderProvider\XssProtection</item>
<item name="x-frame-options" xsi:type="object">Magento\Framework\App\Response\HeaderProvider\XFrameOptions</item></argument>
</arguments>
</type>
<virtualType name="systemConfigPostProcessorComposite" type="Magento\Framework\App\Config\PostProcessorComposite">
<arguments>
<argument name="processors" xsi:type="array">
<item name="placeholder" xsi:type="object">Magento\Store\Model\Config\Processor\Placeholder</item>
<item name="metadata" xsi:type="object">Magento\Framework\App\Config\MetadataConfigTypeProcessor</item></argument>
</arguments>
</virtualType>
<type name="Magento\Framework\App\Config">
<arguments>
<argument name="types" xsi:type="array">
<item name="scopes" xsi:type="object">Magento\Store\App\Config\Type\Scopes</item>
<item name="system" xsi:type="object">Magento\Config\App\Config\Type\System</item><item name="i18n" xsi:type="object">Magento\Translation\App\Config\Type\Translation</item></argument>
</arguments>
</type>
<type name="Magento\Store\App\Config\Type\Scopes">
<arguments>
<argument name="source" xsi:type="object">scopesConfigSourceAggregatedProxy</argument>
</arguments>
</type>
<virtualType name="scopesConfigSourceAggregatedProxy" type="Magento\Framework\App\Config\ConfigSourceAggregated\Proxy">
<arguments>
<argument name="instanceName" xsi:type="string">scopesConfigSourceAggregated</argument>
</arguments>
</virtualType>
<virtualType name="scopesConfigSourceAggregated" type="Magento\Framework\App\Config\ConfigSourceAggregated">
<arguments>
<argument name="sources" xsi:type="array">
<item name="initial" xsi:type="array">
<item name="source" xsi:type="object">scopesConfigInitialDataProvider</item>
<item name="sortOrder" xsi:type="string">10</item>
</item>
<item name="runtime" xsi:type="array">
<item name="source" xsi:type="object">Magento\Store\App\Config\Source\RuntimeConfigSource</item>
<item name="sortOrder" xsi:type="string">0</item>
</item>
</argument>
</arguments>
</virtualType>
<virtualType name="scopesConfigInitialDataProvider" type="Magento\Store\App\Config\Source\InitialConfigSource">
<arguments>
<argument name="reader" xsi:type="object">Magento\Framework\App\DeploymentConfig\Reader</argument>
<argument name="configType" xsi:type="const">Magento\Store\App\Config\Type\Scopes::CONFIG_TYPE</argument>
</arguments>
</virtualType>
<type name="Magento\Deploy\Console\Command\App\ApplicationDumpCommand">
<arguments>
<argument name="sources" xsi:type="array">
<item name="scopes" xsi:type="array">
<item name="source" xsi:type="object">scopesConfigSourceAggregated</item>
<item name="namespace" xsi:type="const">Magento\Store\App\Config\Type\Scopes::CONFIG_TYPE</item>
</item>
<item name="themes" xsi:type="array">
<item name="source" xsi:type="object">Magento\Theme\Model\Source\InitialThemeSource</item>
<item name="namespace" xsi:type="string">themes</item>
</item><item name="system" xsi:type="array">
<item name="source" xsi:type="object">appDumpConfigSystemSource</item>
<item name="namespace" xsi:type="const">Magento\Config\App\Config\Type\System::CONFIG_TYPE</item>
<item name="comment" xsi:type="object">Magento\Config\Model\Config\Export\Comment</item>
</item><item name="system_env" xsi:type="array">
<item name="source" xsi:type="object">appDumpEnvSystemSource</item>
<item name="namespace" xsi:type="const">Magento\Config\App\Config\Type\System::CONFIG_TYPE</item>
<item name="pool" xsi:type="const">Magento\Framework\Config\File\ConfigFilePool::APP_ENV</item>
</item><item name="i18n" xsi:type="array">
<item name="source" xsi:type="object">Magento\Translation\Model\Source\InitialTranslationSource</item>
<item name="namespace" xsi:type="const">Magento\Translation\App\Config\Type\Translation::CONFIG_TYPE</item>
</item></argument>
</arguments>
</type>
<type name="Magento\Framework\Console\CommandListInterface">
<arguments>
<argument name="commands" xsi:type="array">
<item name="commandStoreList" xsi:type="object">Magento\Store\Console\Command\StoreListCommand</item>
<item name="commandWebsiteList" xsi:type="object">Magento\Store\Console\Command\WebsiteListCommand</item>
<item name="theme_uninstall" xsi:type="object">Magento\Theme\Console\Command\ThemeUninstallCommand</item><item name="upgradeHashAlgorithmCommand" xsi:type="object">Magento\Customer\Console\Command\UpgradeHashAlgorithmCommand</item><item name="info" xsi:type="object">Magento\Indexer\Console\Command\IndexerInfoCommand</item><item name="reindex" xsi:type="object">Magento\Indexer\Console\Command\IndexerReindexCommand</item><item name="set-mode" xsi:type="object">Magento\Indexer\Console\Command\IndexerSetModeCommand</item><item name="show-mode" xsi:type="object">Magento\Indexer\Console\Command\IndexerShowModeCommand</item><item name="status" xsi:type="object">Magento\Indexer\Console\Command\IndexerStatusCommand</item><item name="reset" xsi:type="object">Magento\Indexer\Console\Command\IndexerResetStateCommand</item><item name="set-dimensions-mode" xsi:type="object">Magento\Indexer\Console\Command\IndexerSetDimensionsModeCommand</item><item name="show-dimensions-mode" xsi:type="object">Magento\Indexer\Console\Command\IndexerShowDimensionsModeCommand</item><item name="cacheEnableCommand" xsi:type="object">Magento\Backend\Console\Command\CacheEnableCommand</item><item name="cacheDisableCommand" xsi:type="object">Magento\Backend\Console\Command\CacheDisableCommand</item><item name="cacheFlushCommand" xsi:type="object">Magento\Backend\Console\Command\CacheFlushCommand</item><item name="cacheCleanCommand" xsi:type="object">Magento\Backend\Console\Command\CacheCleanCommand</item><item name="cacheStatusCommand" xsi:type="object">Magento\Backend\Console\Command\CacheStatusCommand</item><item name="maintenanceAllowIps" xsi:type="object">Magento\Backend\Console\Command\MaintenanceAllowIpsCommand</item><item name="maintenanceDisable" xsi:type="object">Magento\Backend\Console\Command\MaintenanceDisableCommand</item><item name="maintenanceEnableCommand" xsi:type="object">Magento\Backend\Console\Command\MaintenanceDisableCommand</item><item name="maintenanceStatusCommand" xsi:type="object">Magento\Backend\Console\Command\MaintenanceStatusCommand</item><item name="configSetCommand" xsi:type="object">Magento\Config\Console\Command\ConfigSetCommand</item><item name="configShowCommand" xsi:type="object">Magento\Config\Console\Command\ConfigShowCommand</item><item name="UnlockAdminAccountCommand" xsi:type="object">Magento\User\Console\UnlockAdminAccountCommand</item><item name="cms_wysiwyg_restrict" xsi:type="object">Magento\Cms\Command\WysiwygRestrictCommand</item><item name="productAttributesCleanUp" xsi:type="object">Magento\Catalog\Console\Command\ProductAttributesCleanUp</item><item name="adminAdobeEnableImsCommand" xsi:type="object">Magento\AdminAdobeIms\Console\Command\AdminAdobeImsEnableCommand</item><item name="adminAdobeDisableImsCommand" xsi:type="object">Magento\AdminAdobeIms\Console\Command\AdminAdobeImsDisableCommand</item><item name="adminAdobeInfoImsCommand" xsi:type="object">Magento\AdminAdobeIms\Console\Command\AdminAdobeImsInfoCommand</item><item name="adminAdobeStatusImsCommand" xsi:type="object">Magento\AdminAdobeIms\Console\Command\AdminAdobeImsStatusCommand</item><item name="encyption_payment_data_update" xsi:type="object">Magento\Sales\Console\Command\EncryptionPaymentDataUpdateCommand</item><item name="addDomainsCommand" xsi:type="object">Magento\Downloadable\Console\Command\DomainsAddCommand</item><item name="removeDomainsCommand" xsi:type="object">Magento\Downloadable\Console\Command\DomainsRemoveCommand</item><item name="showDomainsCommand" xsi:type="object">Magento\Downloadable\Console\Command\DomainsShowCommand</item><item name="imagesResizeCommand" xsi:type="object">Magento\MediaStorage\Console\Command\ImagesResizeCommand</item><item name="VarnishGenerateVclCommand" xsi:type="object">Magento\PageCache\Console\Command\GenerateVclCommand</item><item name="cronCommand" xsi:type="object">Magento\Cron\Console\Command\CronCommand</item><item name="cronInstall" xsi:type="object">Magento\Cron\Console\Command\CronInstallCommand</item><item name="cronRemove" xsi:type="object">Magento\Cron\Console\Command\CronRemoveCommand</item><item name="setModeCommand" xsi:type="object">Magento\Deploy\Console\Command\SetModeCommand</item><item name="showModeCommand" xsi:type="object">Magento\Deploy\Console\Command\ShowModeCommand</item><item name="dumpApplicationCommand" xsi:type="object">\Magento\Deploy\Console\Command\App\ApplicationDumpCommand</item><item name="sensitiveConfigSetCommand" xsi:type="object">\Magento\Deploy\Console\Command\App\SensitiveConfigSetCommand</item><item name="configImportCommand" xsi:type="object">Magento\Deploy\Console\Command\App\ConfigImportCommand</item><item name="configStatusCommand" xsi:type="object">Magento\Deploy\Console\Command\App\ConfigStatusCommand</item><item name="dev_tests_run" xsi:type="object">Magento\Developer\Console\Command\DevTestsRunCommand</item><item name="whitelist_generation" xsi:type="object">Magento\Developer\Console\Command\TablesWhitelistGenerateCommand</item><item name="dev_source_theme_deploy" xsi:type="object">Magento\Developer\Console\Command\SourceThemeDeployCommand</item><item name="xml_converter" xsi:type="object">Magento\Developer\Console\Command\XmlConverterCommand</item><item name="xml_catalog_generator" xsi:type="object">Magento\Developer\Console\Command\XmlCatalogGenerateCommand</item><item name="dev_di_info" xsi:type="object">Magento\Developer\Console\Command\DiInfoCommand</item><item name="dev_query_log_enable" xsi:type="object">Magento\Developer\Console\Command\QueryLogEnableCommand</item><item name="dev_query_log_disable" xsi:type="object">Magento\Developer\Console\Command\QueryLogDisableCommand</item><item name="dev_template_hints_disable" xsi:type="object">Magento\Developer\Console\Command\TemplateHintsDisableCommand</item><item name="dev_template_hints_enable" xsi:type="object">Magento\Developer\Console\Command\TemplateHintsEnableCommand</item><item name="dev_template_hints_status" xsi:type="object">Magento\Developer\Console\Command\TemplateHintsStatusCommand</item><item name="dev_profiler_disable" xsi:type="object">Magento\Developer\Console\Command\ProfilerDisableCommand</item><item name="dev_profiler_enable" xsi:type="object">Magento\Developer\Console\Command\ProfilerEnableCommand</item><item name="dev_generate_patch" xsi:type="object">Magento\Developer\Console\Command\GeneratePatchCommand</item><item name="emailTemplateCheck" xsi:type="object">Magento\Email\Console\Command\DatabaseTemplateCompatibilityCommand</item><item name="remoteStorageSync" xsi:type="object">Magento\RemoteStorage\Console\Command\RemoteStorageSynchronizeCommand</item><item name="importGeoNames" xsi:type="object">Magento\InventoryDistanceBasedSourceSelection\Console\Command\ImportGeoNamesCommand</item><item name="inventory_salable_quantity_inconsistency" xsi:type="object">
Magento\InventoryReservationCli\Command\ShowInconsistencies
</item><item name="inventory_salable_quantity_compensations" xsi:type="object">
Magento\InventoryReservationCli\Command\CreateCompensations
</item><item name="mediaContentSynchronization" xsi:type="object">Magento\MediaContentSynchronization\Console\Command\Synchronize</item><item name="mediaGallerySynchronization" xsi:type="object">Magento\MediaGallerySynchronization\Console\Command\Synchronize</item><item name="startConsumerCommand" xsi:type="object">Magento\MessageQueue\Console\StartConsumerCommand\Proxy</item><item name="consumerListCommand" xsi:type="object">Magento\MessageQueue\Console\ConsumerListCommand\Proxy</item><item name="newrelicreporting_deploy_marker" xsi:type="object">Magento\NewRelicReporting\Console\Command\DeployMarker</item><item name="newsletterCompatibilityCheck" xsi:type="object">Magento\Newsletter\Console\Command\TemplateCheckCommand</item><item name="disable_recaptcha_for_user_login" xsi:type="object">Magento\ReCaptchaUser\Command\DisableReCaptchaForUserLoginCommand</item><item name="disable_recaptcha_for_user_forgot_password" xsi:type="object">\Magento\ReCaptchaUser\Command\DisableReCaptchaForUserForgotPasswordCommand</item><item name="setup:db-schema:add-slave" xsi:type="object">Magento\ResourceConnections\Console\Command\AddSlave</item><item name="sampleDataDeployCommand" xsi:type="object">Magento\SampleData\Console\Command\SampleDataDeployCommand</item><item name="sampleDataResetCommand" xsi:type="object">Magento\SampleData\Console\Command\SampleDataResetCommand</item><item name="sampleDataRemoveCommand" xsi:type="object">Magento\SampleData\Console\Command\SampleDataRemoveCommand</item><item name="split-quote-db" xsi:type="object">Magento\ScalableCheckout\Console\Command\SplitQuote</item><item name="split-sales-db" xsi:type="object">Magento\ScalableOms\Console\Command\SplitSales</item><item name="check" xsi:type="object">Magento\Support\Console\Command\UtilityCheckCommand</item><item name="paths" xsi:type="object">Magento\Support\Console\Command\UtilityPathsCommand</item><item name="db" xsi:type="object">Magento\Support\Console\Command\BackupDbCommand</item><item name="code" xsi:type="object">Magento\Support\Console\Command\BackupCodeCommand</item><item name="uninstall_language" xsi:type="object">Magento\Translation\Console\Command\UninstallLanguageCommand</item><item name="adyen_webhookprocessorcommand" xsi:type="object">Adyen\Payment\Console\Command\WebhookProcessorCommand</item><item name="AmBase::sendSysInfo" xsi:type="object">Amasty\Base\Console\Command\SendSysInfo</item><item name="AmBase::registerLicenceKey" xsi:type="object">Amasty\Base\Console\Command\RegisterLicenceKey</item></argument>
</arguments>
</type>
<type name="Magento\Deploy\Model\DeploymentConfig\ImporterPool">
<arguments>
<argument name="importers" xsi:type="array">
<item name="scopes" xsi:type="array">
<item name="importer_class" xsi:type="string">Magento\Store\Model\Config\Importer</item>
<item name="validator_class" xsi:type="string">Magento\Store\Model\Config\Validator</item>
<item name="sort_order" xsi:type="number">10</item>
</item>
<item name="themes" xsi:type="array">
<item name="importer_class" xsi:type="string">Magento\Theme\Model\Config\Importer</item>
<item name="sort_order" xsi:type="number">20</item>
</item><item name="system" xsi:type="array">
<item name="importer_class" xsi:type="string">Magento\Config\Model\Config\Importer</item>
<item name="sort_order" xsi:type="number">30</item>
</item></argument>
</arguments>
</type>
<type name="Magento\Store\Model\Config\Importer\Processor\ProcessorFactory">
<arguments>
<argument name="processors" xsi:type="array">
<item name="create" xsi:type="string">Magento\Store\Model\Config\Importer\Processor\Create</item>
<item name="update" xsi:type="string">Magento\Store\Model\Config\Importer\Processor\Update</item>
<item name="delete" xsi:type="string">Magento\Store\Model\Config\Importer\Processor\Delete</item>
</argument>
</arguments>
</type>
<type name="Magento\Store\Model\Config\Importer\DataDifferenceCalculator">
<arguments>
<argument name="runtimeConfigSource" xsi:type="object">Magento\Store\App\Config\Source\RuntimeConfigSource</argument>
</arguments>
</type>
<type name="Magento\Config\Model\Config\TypePool">
<arguments>
<argument name="environment" xsi:type="array">
<item name="web/default/front" xsi:type="string">1</item>
<item name="web/secure/base_link_url" xsi:type="string">1</item>
<item name="web/secure/base_media_url" xsi:type="string">1</item>
<item name="web/secure/base_static_url" xsi:type="string">1</item>
<item name="web/secure/base_url" xsi:type="string">1</item>
<item name="web/unsecure/base_link_url" xsi:type="string">1</item>
<item name="web/unsecure/base_media_url" xsi:type="string">1</item>
<item name="web/unsecure/base_static_url" xsi:type="string">1</item>
<item name="web/unsecure/base_url" xsi:type="string">1</item>
<item name="web/cookie/cookie_domain" xsi:type="string">1</item><item name="web/cookie/cookie_path" xsi:type="string">1</item><item name="dev/js/session_storage_key" xsi:type="string">1</item><item name="system/full_page_cache/varnish/backend_host" xsi:type="string">1</item><item name="system/full_page_cache/varnish/backend_port" xsi:type="string">1</item><item name="crontab/default/jobs/analytics_collect_data/schedule/cron_expr" xsi:type="string">1</item><item name="crontab/default/jobs/analytics_update/schedule/cron_expr" xsi:type="string">1</item><item name="crontab/default/jobs/analytics_subscribe/schedule/cron_expr" xsi:type="string">1</item><item name="dev/restrict/allow_ips" xsi:type="string">1</item><item name="carriers/dhl/debug" xsi:type="string">1</item><item name="carriers/dhl/gateway_url" xsi:type="string">1</item><item name="catalog/search/elasticsearch5_enable_auth" xsi:type="string">1</item><item name="catalog/search/elasticsearch5_index_prefix" xsi:type="string">1</item><item name="catalog/search/elasticsearch5_password" xsi:type="string">1</item><item name="catalog/search/elasticsearch5_server_hostname" xsi:type="string">1</item><item name="catalog/search/elasticsearch5_server_port" xsi:type="string">1</item><item name="catalog/search/elasticsearch5_username" xsi:type="string">1</item><item name="catalog/search/elasticsearch5_server_timeout" xsi:type="string">1</item><item name="catalog/search/elasticsearch6_enable_auth" xsi:type="string">1</item><item name="catalog/search/elasticsearch6_index_prefix" xsi:type="string">1</item><item name="catalog/search/elasticsearch6_password" xsi:type="string">1</item><item name="catalog/search/elasticsearch6_server_hostname" xsi:type="string">1</item><item name="catalog/search/elasticsearch6_server_port" xsi:type="string">1</item><item name="catalog/search/elasticsearch6_username" xsi:type="string">1</item><item name="catalog/search/elasticsearch6_server_timeout" xsi:type="string">1</item><item name="system/smtp/host" xsi:type="string">1</item><item name="system/smtp/port" xsi:type="string">1</item><item name="carriers/fedex/sandbox_mode" xsi:type="string">1</item><item name="cataloginventory/source_selection_distance_based_google/api_key" xsi:type="string">1</item><item name="newrelicreporting/general/api_url" xsi:type="string">1</item><item name="newrelicreporting/general/insights_api_url" xsi:type="string">1</item><item name="payment/hosted_pro/debug" xsi:type="string">1</item><item name="payment/payflow_advanced/debug" xsi:type="string">1</item><item name="payment/payflow_advanced/proxy_host" xsi:type="string">1</item><item name="payment/payflow_advanced/proxy_port" xsi:type="string">1</item><item name="payment/payflow_advanced/sandbox_flag" xsi:type="string">1</item><item name="payment/payflow_advanced/url_method" xsi:type="string">1</item><item name="payment/payflow_express/debug" xsi:type="string">1</item><item name="payment/payflow_link/debug" xsi:type="string">1</item><item name="payment/payflow_link/proxy_host" xsi:type="string">1</item><item name="payment/payflow_link/proxy_port" xsi:type="string">1</item><item name="payment/payflow_link/sandbox_flag" xsi:type="string">1</item><item name="payment/payflow_link/url_method" xsi:type="string">1</item><item name="payment/payflow_link/use_proxy" xsi:type="string">1</item><item name="payment/payflowpro/debug" xsi:type="string">1</item><item name="payment/payflowpro/proxy_host" xsi:type="string">1</item><item name="payment/payflowpro/proxy_port" xsi:type="string">1</item><item name="payment/payflowpro/pwd" xsi:type="string">1</item><item name="payment/payflowpro/sandbox_flag" xsi:type="string">1</item><item name="payment/paypal_billing_agreement/debug" xsi:type="string">1</item><item name="payment/paypal_express/debug" xsi:type="string">1</item><item name="payment_all_paypal/paypal_payflowpro/settings_paypal_payflow/settings_paypal_payflow_advanced/paypal_payflow_settlement_report/heading_sftp" xsi:type="string">1</item><item name="paypal/fetch_reports/ftp_ip" xsi:type="string">1</item><item name="paypal/fetch_reports/ftp_path" xsi:type="string">1</item><item name="paypal/fetch_reports/ftp_sandbox" xsi:type="string">1</item><item name="paypal/wpp/proxy_host" xsi:type="string">1</item><item name="paypal/wpp/proxy_port" xsi:type="string">1</item><item name="paypal/wpp/sandbox_flag" xsi:type="string">1</item><item name="recaptcha_backend/type_recaptcha/public_key" xsi:type="string">1</item><item name="recaptcha_backend/type_recaptcha/private_key" xsi:type="string">1</item><item name="recaptcha_frontend/type_recaptcha/public_key" xsi:type="string">1</item><item name="recaptcha_frontend/type_recaptcha/private_key" xsi:type="string">1</item><item name="recaptcha_backend/type_invisible/public_key" xsi:type="string">1</item><item name="recaptcha_backend/type_invisible/private_key" xsi:type="string">1</item><item name="recaptcha_frontend/type_invisible/public_key" xsi:type="string">1</item><item name="recaptcha_frontend/type_invisible/private_key" xsi:type="string">1</item><item name="recaptcha_backend/type_recaptcha_v3/public_key" xsi:type="string">1</item><item name="recaptcha_backend/type_recaptcha_v3/private_key" xsi:type="string">1</item><item name="recaptcha_frontend/type_recaptcha_v3/public_key" xsi:type="string">1</item><item name="recaptcha_frontend/type_recaptcha_v3/private_key" xsi:type="string">1</item><item name="catalog/search/elasticsearch7_enable_auth" xsi:type="string">1</item><item name="catalog/search/elasticsearch7_index_prefix" xsi:type="string">1</item><item name="catalog/search/elasticsearch7_password" xsi:type="string">1</item><item name="catalog/search/elasticsearch7_server_hostname" xsi:type="string">1</item><item name="catalog/search/elasticsearch7_server_port" xsi:type="string">1</item><item name="catalog/search/elasticsearch7_username" xsi:type="string">1</item><item name="catalog/search/elasticsearch7_server_timeout" xsi:type="string">1</item><item name="carriers/ups/access_license_number" xsi:type="string">1</item><item name="carriers/ups/debug" xsi:type="string">1</item><item name="carriers/ups/gateway_url" xsi:type="string">1</item><item name="carriers/ups/gateway_xml_url" xsi:type="string">1</item><item name="carriers/ups/is_account_live" xsi:type="string">1</item><item name="carriers/ups/password" xsi:type="string">1</item><item name="carriers/ups/username" xsi:type="string">1</item><item name="payment/adyen_abstract/demo_mode" xsi:type="string">1</item><item name="payment/adyen_abstract/debug" xsi:type="string">1</item><item name="tax/avatax/enabled" xsi:type="string">1</item><item name="tax/avatax/tax_mode" xsi:type="string">1</item><item name="tax/avatax/commit_submitted_transactions" xsi:type="string">1</item><item name="tax/avatax/live_mode" xsi:type="string">1</item><item name="tax/avatax/production_account_number" xsi:type="string">1</item><item name="tax/avatax/production_company_code" xsi:type="string">1</item><item name="tax/avatax/production_company_id" xsi:type="string">1</item><item name="tax/avatax/production_license_key" xsi:type="string">1</item><item name="tax/avatax/development_account_number" xsi:type="string">1</item><item name="tax/avatax/development_company_code" xsi:type="string">1</item><item name="tax/avatax/development_license_key" xsi:type="string">1</item><item name="tax/avatax/development_company_id" xsi:type="string">1</item><item name="tax/avatax/location_code" xsi:type="string">1</item><item name="tax/avatax/address_validation_enabled" xsi:type="string">1</item><item name="tax/avatax/logging_file_enabled" xsi:type="string">1</item><item name="tax/avatax/logging_file_mode" xsi:type="string">1</item><item name="tax/avatax/logging_file_builtin_rotation_enabled" xsi:type="string">1</item><item name="tax/avatax/queue_admin_notification_enabled" xsi:type="string">1</item><item name="tax/avatax/queue_failure_notification_enabled" xsi:type="string">1</item></argument>
<argument name="sensitive" xsi:type="array">
<item name="currency/import/error_email" xsi:type="string">1</item>
<item name="admin/url/custom" xsi:type="string">1</item><item name="admin/url/custom_path" xsi:type="string">1</item><item name="trans_email/ident_custom1/email" xsi:type="string">1</item><item name="trans_email/ident_custom1/name" xsi:type="string">1</item><item name="trans_email/ident_custom2/email" xsi:type="string">1</item><item name="trans_email/ident_custom2/name" xsi:type="string">1</item><item name="trans_email/ident_general/email" xsi:type="string">1</item><item name="trans_email/ident_general/name" xsi:type="string">1</item><item name="trans_email/ident_sales/email" xsi:type="string">1</item><item name="trans_email/ident_sales/name" xsi:type="string">1</item><item name="trans_email/ident_support/email" xsi:type="string">1</item><item name="trans_email/ident_support/name" xsi:type="string">1</item><item name="sales_email/creditmemo/copy_to" xsi:type="string">1</item><item name="sales_email/creditmemo_comment/copy_to" xsi:type="string">1</item><item name="sales_email/invoice/copy_to" xsi:type="string">1</item><item name="sales_email/invoice_comment/copy_to" xsi:type="string">1</item><item name="sales_email/order/copy_to" xsi:type="string">1</item><item name="sales_email/order_comment/copy_to" xsi:type="string">1</item><item name="sales_email/shipment/copy_to" xsi:type="string">1</item><item name="sales_email/shipment_comment/copy_to" xsi:type="string">1</item><item name="checkout/payment_failed/copy_to" xsi:type="string">1</item><item name="system/full_page_cache/varnish/access_list" xsi:type="string">1</item><item name="system/full_page_cache/varnish/backend_host" xsi:type="string">1</item><item name="contact/email/recipient_email" xsi:type="string">1</item><item name="analytics/url/signup" xsi:type="string">1</item><item name="analytics/url/update" xsi:type="string">1</item><item name="analytics/url/bi_essentials" xsi:type="string">1</item><item name="analytics/url/otp" xsi:type="string">1</item><item name="analytics/url/report" xsi:type="string">1</item><item name="analytics/url/notify_data_changed" xsi:type="string">1</item><item name="analytics/general/token" xsi:type="string">1</item><item name="dev/restrict/allow_ips" xsi:type="string">1</item><item name="carriers/dhl/account" xsi:type="string">1</item><item name="carriers/dhl/gateway_url" xsi:type="string">1</item><item name="carriers/dhl/id" xsi:type="string">1</item><item name="carriers/dhl/password" xsi:type="string">1</item><item name="catalog/productalert_cron/error_email" xsi:type="string">1</item><item name="catalog/search/elasticsearch5_password" xsi:type="string">1</item><item name="catalog/search/elasticsearch5_server_hostname" xsi:type="string">1</item><item name="catalog/search/elasticsearch5_username" xsi:type="string">1</item><item name="catalog/search/elasticsearch6_password" xsi:type="string">1</item><item name="catalog/search/elasticsearch6_server_hostname" xsi:type="string">1</item><item name="catalog/search/elasticsearch6_username" xsi:type="string">1</item><item name="system/smtp/host" xsi:type="string">1</item><item name="carriers/fedex/account" xsi:type="string">1</item><item name="carriers/fedex/key" xsi:type="string">1</item><item name="carriers/fedex/meter_number" xsi:type="string">1</item><item name="carriers/fedex/password" xsi:type="string">1</item><item name="carriers/fedex/production_webservices_url" xsi:type="string">1</item><item name="carriers/fedex/sandbox_webservices_url" xsi:type="string">1</item><item name="carriers/fedex/smartpost_hubid" xsi:type="string">1</item><item name="sitemap/generate/error_email" xsi:type="string">1</item><item name="google/analytics/account" xsi:type="string">1</item><item name="google/gtag/analytics4/measurement_id" xsi:type="string">1</item><item name="google/gtag/adwords/conversion_id" xsi:type="string">1</item><item name="cataloginventory/source_selection_distance_based_google/api_key" xsi:type="string">1</item><item name="adobe_ims/integration/api_key" xsi:type="string">1</item><item name="adobe_ims/integration/private_key" xsi:type="string">1</item><item name="newrelicreporting/general/account_id" xsi:type="string">1</item><item name="newrelicreporting/general/app_id" xsi:type="string">1</item><item name="newrelicreporting/general/api" xsi:type="string">1</item><item name="newrelicreporting/general/insights_insert_key" xsi:type="string">1</item><item name="newrelicreporting/general/insights_api_url" xsi:type="string">1</item><item name="newrelicreporting/general/api_url" xsi:type="string">1</item><item name="payment/checkmo/mailing_address" xsi:type="string">1</item><item name="payment/payflow_advanced/proxy_host" xsi:type="string">1</item><item name="payment/payflow_advanced/pwd" xsi:type="string">1</item><item name="payment/payflow_advanced/user" xsi:type="string">1</item><item name="payment/payflow_link/proxy_host" xsi:type="string">1</item><item name="payment/payflow_link/pwd" xsi:type="string">1</item><item name="payment/payflowpro/partner" xsi:type="string">1</item><item name="payment/payflowpro/proxy_host" xsi:type="string">1</item><item name="payment/payflowpro/pwd" xsi:type="string">1</item><item name="payment/payflowpro/user" xsi:type="string">1</item><item name="payment/paypal_express/merchant_id" xsi:type="string">1</item><item name="payment/paypal_express_bml/publisher_id" xsi:type="string">1</item><item name="payment_all_paypal/express_checkout/settings_ec/settings_ec_advanced/express_checkout_settlement_report/heading_sftp" xsi:type="string">1</item><item name="payment_all_paypal/payflow_link/settings_payflow_link/settings_payflow_link_advanced/payflow_link_settlement_report/heading_sftp" xsi:type="string">1</item><item name="payment_all_paypal/payments_pro_hosted_solution/pphs_settings/pphs_settings_advanced/pphs_settlement_report/heading_sftp" xsi:type="string">1</item><item name="payment_all_paypal/paypal_payflowpro/settings_paypal_payflow/heading_cc" xsi:type="string">1</item><item name="payment_all_paypal/paypal_payflowpro/settings_paypal_payflow/settings_paypal_payflow_advanced/paypal_payflow_settlement_report/heading_sftp" xsi:type="string">1</item><item name="paypal/fetch_reports/ftp_ip" xsi:type="string">1</item><item name="paypal/fetch_reports/ftp_login" xsi:type="string">1</item><item name="paypal/fetch_reports/ftp_password" xsi:type="string">1</item><item name="paypal/fetch_reports/ftp_path" xsi:type="string">1</item><item name="paypal/general/business_account" xsi:type="string">1</item><item name="paypal/general/merchant_country" xsi:type="string">1</item><item name="paypal/wpp/api_cert" xsi:type="string">1</item><item name="paypal/wpp/api_password" xsi:type="string">1</item><item name="paypal/wpp/api_signature" xsi:type="string">1</item><item name="paypal/wpp/api_username" xsi:type="string">1</item><item name="paypal/wpp/proxy_host" xsi:type="string">1</item><item name="catalog/product_video/youtube_api_key" xsi:type="string">1</item><item name="recaptcha_backend/type_recaptcha/public_key" xsi:type="string">1</item><item name="recaptcha_backend/type_recaptcha/private_key" xsi:type="string">1</item><item name="recaptcha_frontend/type_recaptcha/public_key" xsi:type="string">1</item><item name="recaptcha_frontend/type_recaptcha/private_key" xsi:type="string">1</item><item name="recaptcha_backend/type_invisible/public_key" xsi:type="string">1</item><item name="recaptcha_backend/type_invisible/private_key" xsi:type="string">1</item><item name="recaptcha_frontend/type_invisible/public_key" xsi:type="string">1</item><item name="recaptcha_frontend/type_invisible/private_key" xsi:type="string">1</item><item name="recaptcha_backend/type_recaptcha_v3/public_key" xsi:type="string">1</item><item name="recaptcha_backend/type_recaptcha_v3/private_key" xsi:type="string">1</item><item name="recaptcha_frontend/type_recaptcha_v3/public_key" xsi:type="string">1</item><item name="recaptcha_frontend/type_recaptcha_v3/private_key" xsi:type="string">1</item><item name="system/release_notification/content_url" xsi:type="string">1</item><item name="system/release_notification/use_https" xsi:type="string">1</item><item name="promo/magento_reminder/identity" xsi:type="string">1</item><item name="sales_email/magento_rma/copy_to" xsi:type="string">1</item><item name="sales_email/magento_rma_auth/copy_to" xsi:type="string">1</item><item name="sales_email/magento_rma_comment/copy_to" xsi:type="string">1</item><item name="sales_email/magento_rma_customer_comment/copy_to" xsi:type="string">1</item><item name="system/magento_scheduled_import_export_log/error_email" xsi:type="string">1</item><item name="catalog/search/elasticsearch7_password" xsi:type="string">1</item><item name="catalog/search/elasticsearch7_server_hostname" xsi:type="string">1</item><item name="catalog/search/elasticsearch7_username" xsi:type="string">1</item><item name="google/analytics/container_id" xsi:type="string">1</item><item name="google/gtag/analytics4/container_id" xsi:type="string">1</item><item name="carriers/ups/username" xsi:type="string">1</item><item name="carriers/ups/password" xsi:type="string">1</item><item name="carriers/ups/access_license_number" xsi:type="string">1</item><item name="carriers/ups/tracking_xml_url" xsi:type="string">1</item><item name="carriers/ups/gateway_xml_url" xsi:type="string">1</item><item name="carriers/ups/shipper_number" xsi:type="string">1</item><item name="carriers/ups/gateway_url" xsi:type="string">1</item><item name="carriers/usps/userid" xsi:type="string">1</item><item name="carriers/usps/password" xsi:type="string">1</item><item name="carriers/usps/gateway_url" xsi:type="string">1</item><item name="carriers/usps/gateway_secure_url" xsi:type="string">1</item><item name="payment/adyen_abstract/merchant_account" xsi:type="string">1</item><item name="payment/adyen_abstract/api_key_test" xsi:type="string">1</item><item name="payment/adyen_abstract/api_key_live" xsi:type="string">1</item><item name="payment/adyen_abstract/client_key_test" xsi:type="string">1</item><item name="payment/adyen_abstract/client_key_live" xsi:type="string">1</item><item name="payment/adyen_abstract/notification_username" xsi:type="string">1</item><item name="payment/adyen_abstract/notification_password" xsi:type="string">1</item><item name="payment/adyen_abstract/live_endpoint_url_prefix" xsi:type="string">1</item><item name="payment/adyen_abstract/checkout_frontend_region" xsi:type="string">1</item><item name="payment/adyen_pos_cloud/pos_merchant_account" xsi:type="string">1</item><item name="payment/adyen_pos_cloud/api_key_test" xsi:type="string">1</item><item name="payment/adyen_pos_cloud/api_key_live" xsi:type="string">1</item><item name="payment/adyen_pos_cloud/pos_store_id" xsi:type="string">1</item><item name="payment/adyen_abstract/notification_hmac_key_test" xsi:type="string">1</item><item name="payment/adyen_abstract/notification_hmac_key_live" xsi:type="string">1</item><item name="tax/avatax/production_license_key" xsi:type="string">1</item><item name="tax/avatax/development_license_key" xsi:type="string">1</item></argument><argument name="excludeList" xsi:type="object">Magento\Config\Model\Config\Export\ExcludeList</argument></arguments>
</type>
<type name="Magento\Framework\Data\Argument\Interpreter\Composite">
<arguments>
<argument name="interpreters" xsi:type="array">
<item name="serviceUrl" xsi:type="object">Magento\Store\Model\Argument\Interpreter\ServiceUrl</item>
<item name="const" xsi:type="object">Magento\Framework\Data\Argument\Interpreter\Constant</item><item name="object" xsi:type="object">configurableObjectArgumentInterpreterProxy</item><item name="configurableObject" xsi:type="object">configurableObjectArgumentInterpreterProxy</item><item name="array" xsi:type="object">arrayArgumentInterpreterProxy</item><item name="boolean" xsi:type="object">Magento\Framework\Data\Argument\Interpreter\Boolean</item><item name="number" xsi:type="object">Magento\Framework\Data\Argument\Interpreter\Number</item><item name="string" xsi:type="object">Magento\Framework\Data\Argument\Interpreter\StringUtils</item><item name="null" xsi:type="object">Magento\Framework\Data\Argument\Interpreter\NullType</item><item name="url" xsi:type="object">Magento\Ui\Config\Argument\Parser\Url</item></argument>
<argument name="discriminator" xsi:type="string">xsi:type</argument></arguments>
</type>
<type name="Magento\Store\Model\StoreSwitcher">
<arguments>
<argument name="storeSwitchers" xsi:type="array">
<item name="cleanTargetUrl" xsi:type="object">Magento\Store\Model\StoreSwitcher\CleanTargetUrl</item>
<item name="manageStoreCookie" xsi:type="object">Magento\Store\Model\StoreSwitcher\ManageStoreCookie</item>
<item name="managePrivateContent" xsi:type="object">Magento\Store\Model\StoreSwitcher\ManagePrivateContent</item>
<item name="hashProcessor" xsi:type="object" sortOrder="1000">Magento\Store\Model\StoreSwitcher\HashProcessor</item>
<item name="rewriteUrl" xsi:type="object">Magento\UrlRewrite\Model\StoreSwitcher\RewriteUrl</item><item name="manageHierarchy" xsi:type="object">Magento\VersionsCmsUrlRewrite\Model\StoreSwitcher</item></argument>
</arguments>
</type>
<type name="Magento\Store\Model\Validation\StoreValidator">
<arguments>
<argument name="rules" xsi:type="array">
<item name="name" xsi:type="object">Magento\Store\Model\Validation\StoreNameValidator</item>
<item name="code" xsi:type="object">Magento\Store\Model\Validation\StoreCodeValidator</item>
</argument>
</arguments>
</type>
<type name="Magento\Framework\Notification\NotifierList">
<arguments>
<argument name="notifiers" xsi:type="array">
<item name="adminnotification" xsi:type="string">Magento\AdminNotification\Model\Inbox</item>
</argument>
</arguments>
</type><type name="Magento\Directory\Model\Currency\Import\Config">
<arguments>
<argument name="servicesConfig" xsi:type="array">
<item name="fixerio" xsi:type="array">
<item name="label" xsi:type="string" translatable="true">Fixer.io</item>
<item name="class" xsi:type="string">Magento\Directory\Model\Currency\Import\FixerIo</item>
</item>
<item name="currencyconverterapi" xsi:type="array">
<item name="label" xsi:type="string" translatable="true">Currency Converter API</item>
<item name="class" xsi:type="string">Magento\Directory\Model\Currency\Import\CurrencyConverterApi</item>
</item>
</argument>
</arguments>
</type><virtualType name="DirectoryHelperDataProxy" type="Magento\Directory\Helper\Data\Proxy">
<arguments>
<argument name="instanceName" xsi:type="string">Magento\Directory\Helper\Data</argument>
</arguments>
</virtualType><type name="Magento\Directory\Model\ResourceModel\Country\Collection" shared="false">
<arguments>
<argument name="helperData" xsi:type="object">DirectoryHelperDataProxy</argument>
<argument name="countriesWithNotRequiredStates" xsi:type="array">
<item name="FR" xsi:type="string">FR</item>
<item name="DE" xsi:type="string">DE</item>
<item name="AT" xsi:type="string">AT</item>
<item name="FI" xsi:type="string">FI</item>
<item name="BE" xsi:type="string">BE</item>
</argument>
</arguments>
</type><preference for="Magento\Directory\Model\Country\Postcode\ConfigInterface" type="Magento\Directory\Model\Country\Postcode\Config"/><preference for="Magento\Directory\Model\Country\Postcode\ValidatorInterface" type="Magento\Directory\Model\Country\Postcode\Validator"/><preference for="Magento\Directory\Api\CurrencyInformationAcquirerInterface" type="Magento\Directory\Model\CurrencyInformationAcquirer"/><preference for="Magento\Directory\Api\Data\CurrencyInformationInterface" type="Magento\Directory\Model\Data\CurrencyInformation"/><preference for="Magento\Directory\Api\Data\ExchangeRateInterface" type="Magento\Directory\Model\Data\ExchangeRate"/><preference for="Magento\Directory\Api\CountryInformationAcquirerInterface" type="Magento\Directory\Model\CountryInformationAcquirer"/><preference for="Magento\Directory\Api\Data\CountryInformationInterface" type="Magento\Directory\Model\Data\CountryInformation"/><preference for="Magento\Directory\Api\Data\RegionInformationInterface" type="Magento\Directory\Model\Data\RegionInformation"/><preference for="Magento\AdobeImsApi\Api\UserProfileRepositoryInterface" type="Magento\AdobeIms\Model\UserProfileRepository"/><preference for="Magento\AdobeImsApi\Api\Data\UserProfileInterface" type="Magento\AdobeIms\Model\UserProfile"/><preference for="Magento\AdobeImsApi\Api\ConfigInterface" type="Magento\AdobeIms\Model\Config"/><preference for="Magento\AdobeImsApi\Api\Data\TokenResponseInterface" type="Magento\AdobeIms\Model\OAuth\TokenResponse"/><preference for="Magento\AdobeImsApi\Api\GetTokenInterface" type="Magento\AdobeIms\Model\GetToken"/><preference for="Magento\AdobeImsApi\Api\GetImageInterface" type="Magento\AdobeIms\Model\GetImage"/><preference for="Magento\AdobeImsApi\Api\UserAuthorizedInterface" type="Magento\AdminAdobeIms\Model\UserAuthorizedProxy"/><preference for="Magento\AdobeImsApi\Api\LogInInterface" type="Magento\AdobeIms\Model\LogIn"/><preference for="Magento\AdobeImsApi\Api\LogOutInterface" type="Magento\AdobeIms\Model\LogOut"/><preference for="Magento\AdobeImsApi\Api\GetAccessTokenInterface" type="Magento\AdminAdobeIms\Model\GetAccessTokenProxy"/><preference for="Magento\AdobeImsApi\Api\FlushUserTokensInterface" type="Magento\AdobeIms\Model\FlushUserTokens"/><preference for="Magento\MediaGalleryApi\Api\Data\KeywordInterface" type="Magento\MediaGallery\Model\Keyword"/><preference for="Magento\MediaGalleryApi\Api\Data\AssetInterface" type="Magento\MediaGallery\Model\Asset"/><preference for="Magento\MediaGalleryApi\Api\Data\AssetKeywordsInterface" type="Magento\MediaGallery\Model\AssetKeywords"/><preference for="Magento\MediaGalleryApi\Model\Asset\Command\GetByIdInterface" type="Magento\MediaGallery\Model\Asset\Command\GetById"/><preference for="Magento\MediaGalleryApi\Model\Asset\Command\SaveInterface" type="Magento\MediaGallery\Model\Asset\Command\Save"/><preference for="Magento\MediaGalleryApi\Model\Asset\Command\GetByPathInterface" type="Magento\MediaGallery\Model\Asset\Command\GetByPath"/><preference for="Magento\MediaGalleryApi\Model\Asset\Command\DeleteByPathInterface" type="Magento\MediaGallery\Model\Asset\Command\DeleteByPath"/><preference for="Magento\MediaGalleryApi\Model\Asset\Command\DeleteByDirectoryPathInterface" type="Magento\MediaGallery\Model\Asset\Command\DeleteByDirectoryPath"/><preference for="Magento\MediaGalleryApi\Model\Keyword\Command\GetAssetKeywordsInterface" type="Magento\MediaGallery\Model\Keyword\Command\GetAssetKeywords"/><preference for="Magento\MediaGalleryApi\Model\Keyword\Command\SaveAssetKeywordsInterface" type="Magento\MediaGallery\Model\Keyword\Command\SaveAssetKeywords"/><preference for="Magento\MediaGalleryApi\Api\CreateDirectoriesByPathsInterface" type="Magento\MediaGallery\Model\Directory\Command\CreateByPaths"/><preference for="Magento\MediaGalleryApi\Api\DeleteDirectoriesByPathsInterface" type="Magento\MediaGallery\Model\Directory\Command\DeleteByPaths"/><preference for="Magento\MediaGalleryApi\Api\IsPathExcludedInterface" type="Magento\MediaGallery\Model\Directory\IsExcluded"/><preference for="Magento\MediaGalleryApi\Api\DeleteAssetsByPathsInterface" type="Magento\MediaGallery\Model\ResourceModel\DeleteAssetsByPaths"/><preference for="Magento\MediaGalleryApi\Api\GetAssetsByIdsInterface" type="Magento\MediaGallery\Model\ResourceModel\GetAssetsByIds"/><preference for="Magento\MediaGalleryApi\Api\GetAssetsByPathsInterface" type="Magento\MediaGallery\Model\ResourceModel\GetAssetsByPaths"/><preference for="Magento\MediaGalleryApi\Api\SaveAssetsInterface" type="Magento\MediaGallery\Model\ResourceModel\SaveAssets"/><preference for="Magento\MediaGalleryApi\Api\GetAssetsKeywordsInterface" type="Magento\MediaGallery\Model\ResourceModel\Keyword\GetAssetsKeywords"/><preference for="Magento\MediaGalleryApi\Api\SaveAssetsKeywordsInterface" type="Magento\MediaGallery\Model\ResourceModel\Keyword\SaveAssetsKeywords"/><preference for="Magento\MediaGalleryApi\Api\SearchAssetsInterface" type="Magento\MediaGallery\Model\SearchAssets"/><type name="Magento\Cms\Model\Wysiwyg\Images\Storage">
<plugin name="media_gallery_image_remove_metadata_after_wysiwyg" type="Magento\MediaGallery\Plugin\Wysiwyg\Images\Storage" sortOrder="10" disabled="false"/>
<arguments>
<argument name="resizeParameters" xsi:type="array">
<item name="height" xsi:type="number">200</item>
<item name="width" xsi:type="number">200</item>
</argument>
<argument name="extensions" xsi:type="array">
<item name="allowed" xsi:type="array">
<item name="jpg" xsi:type="string">image/jpg</item>
<item name="jpeg" xsi:type="string">image/jpeg</item>
<item name="png" xsi:type="string">image/png</item>
<item name="gif" xsi:type="string">image/gif</item>
</item>
<item name="image_allowed" xsi:type="array">
<item name="jpg" xsi:type="string">image/jpg</item>
<item name="jpeg" xsi:type="string">image/jpeg</item>
<item name="png" xsi:type="string">image/png</item>
<item name="gif" xsi:type="string">image/gif</item>
</item>
<item name="media_allowed" xsi:type="array">
<item name="flv" xsi:type="string">video/x-flv</item>
<item name="avi" xsi:type="string">video/x-msvideo</item>
<item name="mov" xsi:type="string">video/x-sgi-movie</item>
<item name="rm" xsi:type="string">application/vnd.rn-realmedia</item>
<item name="wmv" xsi:type="string">video/x-ms-wmv</item>
</item>
</argument>
<argument name="dirs" xsi:type="array">
<item name="exclude" xsi:type="array">
<item name="captcha" xsi:type="array">
<item name="regexp" xsi:type="boolean">true</item>
<item name="name" xsi:type="string">media[/\\]+captcha[/\\]*$</item>
</item>
<item name="catalog/product" xsi:type="array">
<item name="regexp" xsi:type="boolean">true</item>
<item name="name" xsi:type="string">media[/\\]+catalog[/\\]+product[/\\]*$</item>
</item>
<item name="customer" xsi:type="array">
<item name="regexp" xsi:type="boolean">true</item>
<item name="name" xsi:type="string">media[/\\]+customer[/\\]*$</item>
</item>
<item name="downloadable" xsi:type="array">
<item name="regexp" xsi:type="boolean">true</item>
<item name="name" xsi:type="string">media[/\\]+downloadable[/\\]*$</item>
</item>
<item name="import" xsi:type="array">
<item name="regexp" xsi:type="boolean">true</item>
<item name="name" xsi:type="string">media[/\\]+import[/\\]*$</item>
</item>
<item name="theme" xsi:type="array">
<item name="regexp" xsi:type="boolean">true</item>
<item name="name" xsi:type="string">media[/\\]+theme[/\\]*$</item>
</item>
<item name="theme_customization" xsi:type="array">
<item name="regexp" xsi:type="boolean">true</item>
<item name="name" xsi:type="string">media[/\\]+theme_customization[/\\]*$</item>
</item>
<item name="tmp" xsi:type="array">
<item name="regexp" xsi:type="boolean">true</item>
<item name="name" xsi:type="string">media[/\\]+tmp[/\\]*$</item>
</item>
<item name="sitemap" xsi:type="array">
<item name="regexp" xsi:type="boolean">true</item>
<item name="name" xsi:type="string">media[/\\]+sitemap[/\\]*$</item>
</item></item>
<item name="include" xsi:type="array"/>
</argument>
<argument name="filesystem" xsi:type="object">fullRemoteFilesystem</argument></arguments></type><virtualType name="Magento\MediaGallery\Model\Directory\Config\Reader" type="Magento\Framework\Config\Reader\Filesystem">
<arguments>
<argument name="fileName" xsi:type="string">directory.xml</argument>
<argument name="converter" xsi:type="object">Magento\MediaGallery\Model\Directory\Config\Converter</argument>
<argument name="schemaLocator" xsi:type="object">Magento\MediaGallery\Model\Directory\Config\SchemaLocator</argument>
<argument name="idAttributes" xsi:type="array">
<item name="/config/exclude/patterns/pattern" xsi:type="string">name</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\MediaGallery\Model\Directory\Config\Data" type="Magento\Framework\Config\Data">
<arguments>
<argument name="reader" xsi:type="object">Magento\MediaGallery\Model\Directory\Config\Reader</argument>
<argument name="cacheId" xsi:type="string">Media_Gallery_Patterns_CacheId</argument>
</arguments>
</virtualType><type name="Magento\MediaGallery\Model\Directory\ExcludedPatternsConfig">
<arguments>
<argument name="data" xsi:type="object">Magento\MediaGallery\Model\Directory\Config\Data</argument>
</arguments>
</type><preference for="Magento\MediaGalleryApi\Model\ExcludedPatternsConfigInterface" type="Magento\MediaGallery\Model\Directory\ExcludedPatternsConfig"/><preference for="Magento\AdobeStockClientApi\Api\ClientInterface" type="Magento\AdobeStockClient\Model\Client"/><preference for="Magento\AdobeStockClientApi\Api\ConfigInterface" type="Magento\AdobeStockClient\Model\Config"/><preference for="Magento\AdobeStockClientApi\Api\Data\UserQuotaInterface" type="Magento\AdobeStockClient\Model\UserQuota"/><preference for="Magento\AdobeStockClientApi\Api\Data\LicenseConfirmationInterface" type="Magento\AdobeStockClient\Model\LicenseConfirmation"/><preference for="Magento\AdobeStockClientApi\Api\Client\FilesInterface" type="Magento\AdobeStockClient\Model\Client\Files"/><type name="Magento\AdobeStockClientApi\Api\ClientInterface">
<arguments>
<argument name="searchParametersProvider" xsi:type="object">Magento\AdobeStockClient\Model\SearchParametersProviderComposite</argument>
<argument name="searchResultFields" xsi:type="array">
<item name="0" xsi:type="string">ID</item>
<item name="1" xsi:type="string">NB_RESULTS</item>
<item name="2" xsi:type="string">COMP_URL</item>
<item name="3" xsi:type="string">THUMBNAIL_240_URL</item>
<item name="4" xsi:type="string">WIDTH</item>
<item name="5" xsi:type="string">HEIGHT</item>
<item name="6" xsi:type="string">THUMBNAIL_500_URL</item>
<item name="7" xsi:type="string">TITLE</item>
<item name="8" xsi:type="string">CREATOR_ID</item>
<item name="9" xsi:type="string">CREATOR_NAME</item>
<item name="10" xsi:type="string">CREATION_DATE</item>
<item name="11" xsi:type="string">COUNTRY_NAME</item>
<item name="13" xsi:type="string">CATEGORY</item>
<item name="14" xsi:type="string">KEYWORDS</item>
<item name="15" xsi:type="string">MEDIA_TYPE_ID</item>
<item name="16" xsi:type="string">CONTENT_TYPE</item>
<item name="17" xsi:type="string">DETAILS_URL</item>
<item name="18" xsi:type="string">PREMIUM_LEVEL_ID</item>
</argument>
</arguments>
</type><type name="Magento\AdobeStockClient\Model\SearchParametersProviderComposite">
<arguments>
<argument name="providers" xsi:type="array">
<item name="simpleFilters" xsi:type="object">Magento\AdobeStockClient\Model\SearchParametersProvider\SimpleFilters</item>
<item name="pagination" xsi:type="object">Magento\AdobeStockClient\Model\SearchParametersProvider\Pagination</item>
<item name="content_type_filter" xsi:type="object">Magento\AdobeStockClient\Model\SearchParametersProvider\ContentType</item>
<item name="isolated_filter" xsi:type="object">Magento\AdobeStockClient\Model\SearchParametersProvider\Isolated</item>
<item name="offensive_filter" xsi:type="object">Magento\AdobeStockClient\Model\SearchParametersProvider\Offensive</item>
<item name="sorting" xsi:type="object">Magento\AdobeStockClient\Model\SearchParametersProvider\Sorting</item>
<item name="orientation_filter" xsi:type="object">Magento\AdobeStockClient\Model\SearchParametersProvider\Orientation</item>
<item name="words" xsi:type="object">Magento\AdobeStockClient\Model\SearchParametersProvider\Words</item>
<item name="media_id" xsi:type="object">Magento\AdobeStockClient\Model\SearchParametersProvider\MediaId</item>
<item name="premium_price_filter" xsi:type="object">Magento\AdobeStockClient\Model\SearchParametersProvider\Premium</item>
<item name="similar" xsi:type="object">Magento\AdobeStockClient\Model\SearchParametersProvider\Similar</item>
</argument>
</arguments>
</type><type name="Magento\AdobeStockClient\Model\SearchParametersProvider\SimpleFilters">
<arguments>
<argument name="filters" xsi:type="array">
<item name="colors_filter" xsi:type="string">setFilterColors</item>
<item name="serie_id" xsi:type="string">setSerieId</item>
<item name="model_id" xsi:type="string">setModelId</item>
<item name="premium_filter" xsi:type="string">setFilterPremium</item>
<item name="gallery_id" xsi:type="string">setGalleryId</item>
</argument>
</arguments>
</type><preference for="Magento\AdobeStockImageApi\Api\GetImageListInterface" type="Magento\AdobeStockImage\Model\GetImageList"/><preference for="Magento\AdobeStockImageApi\Api\SaveImageInterface" type="Magento\AdobeStockImage\Model\SaveImage"/><preference for="Magento\AdobeStockImageApi\Api\SaveLicensedImageInterface" type="Magento\AdobeStockImage\Model\SaveLicensedImage"/><preference for="Magento\AdobeStockImageApi\Api\GetRelatedImagesInterface" type="Magento\AdobeStockImage\Model\GetRelatedImages"/><preference for="Magento\AdobeStockImageApi\Api\ConfigInterface" type="Magento\AdobeStockImage\Model\Config"/><type name="Magento\AdobeStockImage\Model\GetImageList">
<arguments>
<argument name="defaultFilters" xsi:type="array">
<item name="illustration_filter" xsi:type="array">
<item name="type" xsi:type="string">content_type_filter</item>
<item name="condition" xsi:type="string">or</item>
<item name="field" xsi:type="string">illustration</item>
</item>
<item name="photo_filter" xsi:type="array">
<item name="type" xsi:type="string">content_type_filter</item>
<item name="condition" xsi:type="string">or</item>
<item name="field" xsi:type="string">photo</item>
</item>
<item name="premium_filter" xsi:type="array">
<item name="type" xsi:type="string">premium_price_filter</item>
<item name="condition" xsi:type="string">eq</item>
<item name="field" xsi:type="string">ALL</item>
</item>
</argument>
</arguments>
</type><type name="Magento\AdobeStockImage\Model\Storage\Save">
<arguments>
<argument name="driver" xsi:type="object">Magento\Framework\Filesystem\Driver\Https</argument>
<argument name="maxFileLength" xsi:type="number">255</argument>
</arguments>
</type><type name="Magento\AdobeStockImage\Model\GetRelatedImages">
<arguments>
<argument name="fields" xsi:type="array">
<item name="same_series" xsi:type="string">serie_id</item>
<item name="same_model" xsi:type="string">model_id</item>
</argument>
</arguments>
</type><preference for="Magento\Framework\View\Design\Theme\ThemeInterface" type="Magento\Theme\Model\Theme"/><preference for="Magento\Framework\View\Design\Theme\FileInterface" type="Magento\Theme\Model\Theme\File"/><preference for="Magento\Framework\View\Design\Theme\ThemeProviderInterface" type="Magento\Theme\Model\Theme\ThemeProvider"/><preference for="Magento\Framework\View\Design\Theme\FileProviderInterface" type="Magento\Theme\Model\Theme\FileProvider"/><preference for="Magento\Framework\View\Design\Theme\Customization\ConfigInterface" type="Magento\Theme\Model\Theme\Customization\Config"/><preference for="Magento\Framework\App\DesignInterface" type="Magento\Theme\Model\Design"/><preference for="Magento\Framework\View\Design\Theme\ListInterface" type="Magento\Theme\Model\Theme\Collection"/><preference for="Magento\Theme\Api\Data\DesignConfigInterface" type="Magento\Theme\Model\Data\Design\Config"/><preference for="Magento\Theme\Api\Data\DesignConfigDataInterface" type="Magento\Theme\Model\Data\Design\Config\Data"/><preference for="Magento\Theme\Api\DesignConfigRepositoryInterface" type="Magento\Theme\Model\DesignConfigRepository"/><preference for="Magento\Framework\View\Model\PageLayout\Config\BuilderInterface" type="Magento\Theme\Model\PageLayout\Config\Builder"/><preference for="Magento\Theme\Model\Design\Config\MetadataProviderInterface" type="Magento\Theme\Model\Design\Config\MetadataProvider"/><preference for="Magento\Theme\Model\Theme\StoreThemesResolverInterface" type="Magento\Theme\Model\Theme\StoreThemesResolver"/><preference for="Magento\Theme\CustomerData\MessagesProviderInterface" type="Magento\Catalog\Model\Theme\CustomerData\MessagesProvider"/><type name="Magento\Theme\Model\Config">
<arguments>
<argument name="configCache" xsi:type="object">Magento\Framework\App\Cache\Type\Config</argument>
<argument name="layoutCache" xsi:type="object">Magento\Framework\App\Cache\Type\Layout</argument>
</arguments>
</type><type name="Magento\Theme\Model\Uploader\Service">
<arguments>
<argument name="uploadLimits" xsi:type="array">
<item name="css" xsi:type="string">2M</item>
<item name="js" xsi:type="string">2M</item>
</argument>
</arguments>
</type><type name="Magento\Theme\Model\Layout\Config\Reader">
<arguments>
<argument name="fileName" xsi:type="string">layouts.xml</argument>
<argument name="converter" xsi:type="object">Magento\Theme\Model\Layout\Config\Converter</argument>
<argument name="schemaLocator" xsi:type="object">Magento\Theme\Model\Layout\Config\SchemaLocator</argument>
</arguments>
</type><virtualType name="Magento\Theme\Model\Layout\Config\Data" type="Magento\Framework\Config\Data">
<arguments>
<argument name="reader" xsi:type="object">Magento\Theme\Model\Layout\Config\Reader\Proxy</argument>
<argument name="cacheId" xsi:type="string">page_layouts_config</argument>
</arguments>
</virtualType><type name="Magento\Theme\Model\Layout\Config">
<arguments>
<argument name="dataStorage" xsi:type="object">Magento\Theme\Model\Layout\Config\Data</argument>
</arguments>
</type><type name="Magento\Theme\Model\Wysiwyg\Storage">
<arguments>
<argument name="helper" xsi:type="object">Magento\Theme\Helper\Storage\Proxy</argument>
</arguments>
</type><type name="Magento\Framework\Url\ScopeInterface">
<plugin name="urlSignature" type="Magento\Theme\Model\Url\Plugin\Signature"/>
</type><type name="Magento\Theme\Model\Theme\Collection" shared="false"/><type name="Magento\Theme\Model\View\Design">
<arguments>
<argument name="themes" xsi:type="array">
<item name="frontend" xsi:type="string">Magento/luma</item>
<item name="adminhtml" xsi:type="string">Magento/spectrum</item>
</argument>
</arguments>
</type><type name="Magento\Framework\App\Area">
<arguments>
<argument name="translator" xsi:type="object">Magento\Framework\TranslateInterface</argument>
<argument name="design" xsi:type="object">Magento\Theme\Model\Design\Proxy</argument>
</arguments>
</type><type name="Magento\Theme\Model\DesignConfigRepository">
<plugin name="save_design_settings_event_dispatching" type="Magento\Theme\Model\Design\Config\Plugin"/>
</type><virtualType name="Magento\Theme\Model\ResourceModel\Design\Config\Grid\Collection" type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult">
<arguments>
<argument name="mainTable" xsi:type="string">design_config_grid_flat</argument>
<argument name="resourceModel" xsi:type="string">Magento\Theme\Model\ResourceModel\Design\Config</argument>
</arguments>
</virtualType><virtualType name="Magento\Theme\Model\Scope\WebsiteSource" type="Magento\Framework\App\Scope\Source">
<arguments>
<argument name="scope" xsi:type="const">Magento\Store\Model\ScopeInterface::SCOPE_WEBSITE</argument>
</arguments>
</virtualType><virtualType name="Magento\Theme\Model\Scope\GroupSource" type="Magento\Framework\App\Scope\Source">
<arguments>
<argument name="scope" xsi:type="const">Magento\Store\Model\ScopeInterface::SCOPE_GROUP</argument>
</arguments>
</virtualType><virtualType name="Magento\Theme\Model\Scope\StoreSource" type="Magento\Framework\App\Scope\Source">
<arguments>
<argument name="scope" xsi:type="const">Magento\Store\Model\ScopeInterface::SCOPE_STORE</argument>
</arguments>
</virtualType><type name="Magento\Framework\View\Element\UiComponent\DataProvider\CollectionFactory">
<arguments>
<argument name="collections" xsi:type="array">
<item name="design_config_listing_data_source" xsi:type="string">Magento\Theme\Model\ResourceModel\Design\Config\Grid\Collection</item>
<item name="design_theme_listing_data_source" xsi:type="string">Magento\Theme\Ui\Component\Theme\DataProvider\SearchResult</item>
<item name="customer_listing_data_source" xsi:type="string">Magento\Customer\Model\ResourceModel\Grid\Collection</item><item name="customer_online_grid_data_source" xsi:type="string">Magento\Customer\Model\ResourceModel\Online\Grid\Collection</item><item name="customer_group_listing_data_source" xsi:type="string">Magento\Customer\Model\ResourceModel\Group\Grid\Collection</item><item name="customer_address_listing_data_source" xsi:type="string">Magento\Customer\Model\ResourceModel\Address\Grid\Collection</item><item name="cms_page_listing_data_source" xsi:type="string">Magento\Cms\Model\ResourceModel\Page\Grid\Collection</item><item name="cms_block_listing_data_source" xsi:type="string">Magento\Cms\Model\ResourceModel\Block\Grid\Collection</item><item name="catalog_rule_data_source" xsi:type="string">catalogRuleSearchResult</item><item name="sales_order_grid_data_source" xsi:type="string">Magento\AsyncOrder\Model\ResourceModel\Order\Grid\Collection</item><item name="sales_order_invoice_grid_data_source" xsi:type="string">Magento\Sales\Model\ResourceModel\Order\Invoice\Grid\Collection</item><item name="sales_order_shipment_grid_data_source" xsi:type="string">Magento\Sales\Model\ResourceModel\Order\Shipment\Grid\Collection</item><item name="sales_order_creditmemo_grid_data_source" xsi:type="string">Magento\Sales\Model\ResourceModel\Order\Creditmemo\Grid\Collection</item><item name="sales_order_view_invoice_grid_data_source" xsi:type="string">Magento\Sales\Model\ResourceModel\Order\Invoice\Orders\Grid\Collection</item><item name="sales_order_view_shipment_grid_data_source" xsi:type="string">Magento\Sales\Model\ResourceModel\Order\Shipment\Order\Grid\Collection</item><item name="sales_order_view_creditmemo_grid_data_source" xsi:type="string">Magento\Sales\Model\ResourceModel\Order\Creditmemo\Order\Grid\Collection</item><item name="search_synonyms_grid_data_source" xsi:type="string">Magento\Search\Model\ResourceModel\Synonyms\Grid\Collection</item><item name="sales_archive_order_grid_data_source" xsi:type="string">Magento\SalesArchive\Model\ResourceModel\Order\Collection</item><item name="sales_archive_order_invoice_grid_data_source" xsi:type="string">Magento\SalesArchive\Model\ResourceModel\Order\Invoice\Collection</item><item name="sales_archive_order_shipment_grid_data_source" xsi:type="string">Magento\SalesArchive\Model\ResourceModel\Order\Shipment\Collection</item><item name="sales_archive_order_creditmemo_grid_data_source" xsi:type="string">Magento\SalesArchive\Model\ResourceModel\Order\Creditmemo\Collection</item><item name="staging_update_grid_data_source" xsi:type="string">Magento\Staging\Model\Update\Grid\SearchResult</item><item name="staging_update_edit_data_source" xsi:type="string">Magento\Staging\Model\Update\Grid\SearchResult</item><item name="staging_update_preview_grid_data_source" xsi:type="string">Magento\Staging\Model\Update\Grid\SearchResult</item><item name="media_gallery_listing_data_source" xsi:type="string">Magento\MediaGalleryUi\Ui\Component\Listing\Provider</item><item name="url_rewrite_listing_data_source" xsi:type="string">Magento\UrlRewrite\Ui\Component\UrlRewrite\DataProvider\SearchResult</item><item name="pagebuilder_block_select_grid_data_source" xsi:type="string">Magento\Cms\Model\ResourceModel\Block\Grid\Collection</item><item name="pagebuilder_stage_template_grid_data_source" xsi:type="string">Magento\PageBuilder\Model\ResourceModel\Template\Grid\Collection</item><item name="pagebuilder_template_grid_data_source" xsi:type="string">Magento\PageBuilder\Model\ResourceModel\Template\Grid\Collection</item><item name="catalogstaging_category_upcoming_grid_data_source" xsi:type="string">stagingCatalogCategoryUpcomingResult</item><item name="catalogstaging_category_update_select_grid_data_source" xsi:type="string">stagingCatalogCategoryUpdateSelectResult</item><item name="catalogstaging_category_update_remove_select_grid_data_source" xsi:type="string">stagingCatalogCategoryUpdateSelectResult</item><item name="product_staging_update_grid_data_source" xsi:type="string">Magento\CatalogStaging\Model\Update\Grid\SearchResult</item><item name="staging_update_edit_category_grid_data_source" xsi:type="string">Magento\CatalogStaging\Model\ResourceModel\Category\Grid\Collection</item><item name="catalogstaging_upcoming_grid_data_source" xsi:type="string">stagingCatalogUpcomingResult</item><item name="catalogstaging_update_select_grid_data_source" xsi:type="string">stagingCatalogUpdateSelectResult</item><item name="catalogstaging_update_remove_select_grid_data_source" xsi:type="string">stagingCatalogUpdateSelectResult</item><item name="salesrulestaging_upcoming_grid_data_source" xsi:type="string">stagingSalesRuleUpcomingResult</item><item name="salesrulestaging_update_select_grid_data_source" xsi:type="string">stagingSalesRuleUpdateSelectResult</item><item name="salesrulestaging_update_remove_select_grid_data_source" xsi:type="string">stagingSalesRuleUpdateSelectResult</item><item name="catalogrulestaging_upcoming_grid_data_source" xsi:type="string">stagingCatalogRuleUpcomingResult</item><item name="catalogrulestaging_update_select_grid_data_source" xsi:type="string">stagingCatalogRuleUpdateSelectResult</item><item name="catalogrulestaging_update_remove_select_grid_data_source" xsi:type="string">stagingCatalogRuleUpdateSelectResult</item><item name="pagebuilder_dynamic_block_select_grid_data_source" xsi:type="string">Magento\BannerPageBuilder\Model\ResourceModel\DynamicBlock\Grid\Collection</item><item name="support_report_listing_data_source" xsi:type="string">ReportGridDataProvider</item><item name="support_backup_listing_data_source" xsi:type="string">BackupGridDataProvider</item><item name="bulk_listing_data_source" xsi:type="string">Magento\AsynchronousOperations\Ui\Component\DataProvider\SearchResult</item><item name="failed_operation_listing_data_source" xsi:type="string">Magento\AsynchronousOperations\Ui\Component\DataProvider\Operation\Failed\SearchResult</item><item name="retriable_operation_listing_data_source" xsi:type="string">Magento\AsynchronousOperations\Ui\Component\DataProvider\Operation\Retriable\SearchResult</item><item name="failed_operation_modal_listing_data_source" xsi:type="string">Magento\AsynchronousOperations\Ui\Component\DataProvider\Operation\Failed\SearchResult</item><item name="retriable_operation_modal_listing_data_source" xsi:type="string">Magento\AsynchronousOperations\Ui\Component\DataProvider\Operation\Retriable\SearchResult</item><item name="cmsstaging_page_upcoming_grid_data_source" xsi:type="string">stagingCmsPageUpcomingResult</item><item name="cmsstaging_page_update_select_grid_data_source" xsi:type="string">stagingCmsPageUpdateSelectResult</item><item name="cmsstaging_page_update_remove_select_grid_data_source" xsi:type="string">stagingCmsPageUpdateSelectResult</item><item name="cmsstaging_block_upcoming_grid_data_source" xsi:type="string">stagingCmsBlockUpcomingResult</item><item name="cmsstaging_block_update_select_grid_data_source" xsi:type="string">stagingCmsBlockUpdateSelectResult</item><item name="cmsstaging_block_update_remove_select_grid_data_source" xsi:type="string">stagingCmsBlockUpdateSelectResult</item><item name="staging_update_edit_page_grid_data_source" xsi:type="string">Magento\Cms\Model\ResourceModel\Page\Grid\Collection</item><item name="staging_update_edit_block_grid_data_source" xsi:type="string">Magento\Cms\Model\ResourceModel\Block\Grid\Collection</item><item name="adyen_notifications_overview_data_source" xsi:type="string">Adyen\Payment\Model\ResourceModel\Notification\UiComponentCollection</item><item name="tagged_posts_listing_data_source" xsi:type="string">Amasty\Blog\Model\ResourceModel\Posts\Collection\Grid</item><item name="category_posts_listing_data_source" xsi:type="string">Amasty\Blog\Model\ResourceModel\Posts\Collection\Grid</item><item name="author_posts_listing_data_source" xsi:type="string">Amasty\Blog\Model\ResourceModel\Posts\Collection\Grid</item><item name="comments_listing_data_source" xsi:type="string">Amasty\Blog\Model\ResourceModel\Comments\Collection\Grid</item><item name="authors_listing_data_source" xsi:type="string">Amasty\Blog\Model\ResourceModel\Author\Collection\Grid</item><item name="tags_listing_data_source" xsi:type="string">Amasty\Blog\Model\ResourceModel\Tag\Collection\Grid</item><item name="categories_listing_data_source" xsi:type="string">Amasty\Blog\Model\ResourceModel\Categories\Collection\Grid</item><item name="posts_listing_data_source" xsi:type="string">Amasty\Blog\Model\ResourceModel\Posts\Collection\Grid</item><item name="baseprovider_queue_listing_data_source" xsi:type="string">BaseProviderQueueGridDataProvider</item><item name="baseprovider_log_listing_data_source" xsi:type="string">AvaTaxLogGridDataProvider</item><item name="avatax_tax_classes_customer_listing_data_source" xsi:type="string">ClassyLlama\AvaTax\Model\ResourceModel\Tax\Classes\Customer\Collection</item><item name="avatax_tax_classes_product_listing_data_source" xsi:type="string">ClassyLlama\AvaTax\Model\ResourceModel\Tax\Classes\Product\Collection</item><item name="avatax_crossborder_classes_listing_data_source" xsi:type="string">ClassyLlama\AvaTax\Model\ResourceModel\CrossBorderClass\Grid\Collection</item><item name="avatax_log_listing_data_source" xsi:type="string">AvaTaxLogGridDataProvider</item><item name="avatax_queue_listing_data_source" xsi:type="string">AvaTaxQueueGridDataProvider</item><item name="classyllama_avatax_crossbordertype_grid_data_source" xsi:type="string">ClassyLlama\AvaTax\Model\ResourceModel\CrossBorderType\Grid\Collection</item></argument>
</arguments>
</type><type name="Magento\Theme\Model\Design\Config\MetadataProvider">
<arguments>
<argument name="metadata" xsi:type="array">
<item name="theme_theme_id" xsi:type="array">
<item name="path" xsi:type="string">design/theme/theme_id</item>
<item name="fieldset" xsi:type="string">theme</item>
<item name="backend_model" xsi:type="string">Magento\Theme\Model\Design\Backend\Theme</item>
<item name="use_in_grid" xsi:type="boolean">true</item>
</item>
<item name="theme_ua_regexp" xsi:type="array">
<item name="path" xsi:type="string">design/theme/ua_regexp</item>
<item name="fieldset" xsi:type="string">desing_rule</item>
<item name="backend_model" xsi:type="string">Magento\Theme\Model\Design\Backend\Exceptions</item>
</item>
<item name="pagination_pagination_frame" xsi:type="array">
<item name="path" xsi:type="string">design/pagination/pagination_frame</item>
<item name="fieldset" xsi:type="string">other_settings/pagination</item>
</item>
<item name="pagination_pagination_frame_skip" xsi:type="array">
<item name="path" xsi:type="string">design/pagination/pagination_frame_skip</item>
<item name="fieldset" xsi:type="string">other_settings/pagination</item>
</item>
<item name="pagination_anchor_text_for_previous" xsi:type="array">
<item name="path" xsi:type="string">design/pagination/anchor_text_for_previous</item>
<item name="fieldset" xsi:type="string">other_settings/pagination</item>
</item>
<item name="pagination_anchor_text_for_next" xsi:type="array">
<item name="path" xsi:type="string">design/pagination/anchor_text_for_next</item>
<item name="fieldset" xsi:type="string">other_settings/pagination</item>
</item>
<item name="head_shortcut_icon" xsi:type="array">
<item name="path" xsi:type="string">design/head/shortcut_icon</item>
<item name="fieldset" xsi:type="string">other_settings/head</item>
<item name="backend_model" xsi:type="string">Magento\Theme\Model\Design\Backend\Favicon</item>
<item name="base_url" xsi:type="array">
<item name="type" xsi:type="string">media</item>
<item name="scope_info" xsi:type="string">1</item>
<item name="value" xsi:type="string">favicon</item>
</item>
</item>
<item name="head_default_title" xsi:type="array">
<item name="path" xsi:type="string">design/head/default_title</item>
<item name="fieldset" xsi:type="string">other_settings/head</item>
</item>
<item name="head_title_prefix" xsi:type="array">
<item name="path" xsi:type="string">design/head/title_prefix</item>
<item name="fieldset" xsi:type="string">other_settings/head</item>
</item>
<item name="head_title_suffix" xsi:type="array">
<item name="path" xsi:type="string">design/head/title_suffix</item>
<item name="fieldset" xsi:type="string">other_settings/head</item>
</item>
<item name="head_default_description" xsi:type="array">
<item name="path" xsi:type="string">design/head/default_description</item>
<item name="fieldset" xsi:type="string">other_settings/head</item>
</item>
<item name="head_default_keywords" xsi:type="array">
<item name="path" xsi:type="string">design/head/default_keywords</item>
<item name="fieldset" xsi:type="string">other_settings/head</item>
</item>
<item name="head_includes" xsi:type="array">
<item name="path" xsi:type="string">design/head/includes</item>
<item name="fieldset" xsi:type="string">other_settings/head</item>
</item>
<item name="head_demonotice" xsi:type="array">
<item name="path" xsi:type="string">design/head/demonotice</item>
<item name="fieldset" xsi:type="string">other_settings/head</item>
</item>
<item name="header_logo_src" xsi:type="array">
<item name="path" xsi:type="string">design/header/logo_src</item>
<item name="fieldset" xsi:type="string">other_settings/header</item>
<item name="backend_model" xsi:type="string">Magento\Theme\Model\Design\Backend\Logo</item>
<item name="base_url" xsi:type="array">
<item name="type" xsi:type="string">media</item>
<item name="scope_info" xsi:type="string">1</item>
<item name="value" xsi:type="string">logo</item>
</item>
</item>
<item name="header_logo_width" xsi:type="array">
<item name="path" xsi:type="string">design/header/logo_width</item>
<item name="fieldset" xsi:type="string">other_settings/header</item>
</item>
<item name="header_logo_height" xsi:type="array">
<item name="path" xsi:type="string">design/header/logo_height</item>
<item name="fieldset" xsi:type="string">other_settings/header</item>
</item>
<item name="header_logo_alt" xsi:type="array">
<item name="path" xsi:type="string">design/header/logo_alt</item>
<item name="fieldset" xsi:type="string">other_settings/header</item>
</item>
<item name="header_welcome" xsi:type="array">
<item name="path" xsi:type="string">design/header/welcome</item>
<item name="fieldset" xsi:type="string">other_settings/header</item>
</item>
<item name="header_translate_title" xsi:type="array">
<item name="path" xsi:type="string">design/header/translate_title</item>
<item name="fieldset" xsi:type="string">other_settings/header</item>
</item>
<item name="footer_copyright" xsi:type="array">
<item name="path" xsi:type="string">design/footer/copyright</item>
<item name="fieldset" xsi:type="string">other_settings/footer</item>
</item>
<item name="footer_absolute_footer" xsi:type="array">
<item name="path" xsi:type="string">design/footer/absolute_footer</item>
<item name="fieldset" xsi:type="string">other_settings/footer</item>
</item>
<item name="footer_report_bugs" xsi:type="array">
<item name="path" xsi:type="string">design/footer/report_bugs</item>
<item name="fieldset" xsi:type="string">other_settings/footer</item>
</item>
<item name="default_robots" xsi:type="array">
<item name="path" xsi:type="string">design/search_engine_robots/default_robots</item>
<item name="fieldset" xsi:type="string">other_settings/search_engine_robots</item>
</item>
<item name="custom_instructions" xsi:type="array">
<item name="path" xsi:type="string">design/search_engine_robots/custom_instructions</item>
<item name="fieldset" xsi:type="string">other_settings/search_engine_robots</item>
<item name="backend_model" xsi:type="string">Magento\Robots\Model\Config\Value</item></item>
<item name="watermark_image_size" xsi:type="array">
<item name="path" xsi:type="string">design/watermark/image_size</item>
<item name="fieldset" xsi:type="string">other_settings/watermark/image</item>
</item><item name="watermark_image_imageOpacity" xsi:type="array">
<item name="path" xsi:type="string">design/watermark/image_imageOpacity</item>
<item name="fieldset" xsi:type="string">other_settings/watermark/image</item>
</item><item name="watermark_image_image" xsi:type="array">
<item name="path" xsi:type="string">design/watermark/image_image</item>
<item name="fieldset" xsi:type="string">other_settings/watermark/image</item>
<item name="backend_model" xsi:type="string">Magento\Theme\Model\Design\Backend\Image</item>
<item name="upload_dir" xsi:type="array">
<item name="config" xsi:type="string">system/filesystem/media</item>
<item name="scope_info" xsi:type="string">1</item>
<item name="value" xsi:type="string">catalog/product/watermark</item>
</item>
<item name="base_url" xsi:type="array">
<item name="type" xsi:type="string">media</item>
<item name="scope_info" xsi:type="string">1</item>
<item name="value" xsi:type="string">catalog/product/watermark</item>
</item>
</item><item name="watermark_image_position" xsi:type="array">
<item name="path" xsi:type="string">design/watermark/image_position</item>
<item name="fieldset" xsi:type="string">other_settings/watermark/image</item>
</item><item name="watermark_small_image_size" xsi:type="array">
<item name="path" xsi:type="string">design/watermark/small_image_size</item>
<item name="fieldset" xsi:type="string">other_settings/watermark/small_image</item>
</item><item name="watermark_small_image_imageOpacity" xsi:type="array">
<item name="path" xsi:type="string">design/watermark/small_image_imageOpacity</item>
<item name="fieldset" xsi:type="string">other_settings/watermark/small_image</item>
</item><item name="watermark_small_image_image" xsi:type="array">
<item name="path" xsi:type="string">design/watermark/small_image_image</item>
<item name="fieldset" xsi:type="string">other_settings/watermark/small_image</item>
<item name="backend_model" xsi:type="string">Magento\Theme\Model\Design\Backend\Image</item>
<item name="upload_dir" xsi:type="array">
<item name="config" xsi:type="string">system/filesystem/media</item>
<item name="scope_info" xsi:type="string">1</item>
<item name="value" xsi:type="string">catalog/product/watermark</item>
</item>
<item name="base_url" xsi:type="array">
<item name="type" xsi:type="string">media</item>
<item name="scope_info" xsi:type="string">1</item>
<item name="value" xsi:type="string">catalog/product/watermark</item>
</item>
</item><item name="watermark_small_image_position" xsi:type="array">
<item name="path" xsi:type="string">design/watermark/small_image_position</item>
<item name="fieldset" xsi:type="string">other_settings/watermark/small_image</item>
</item><item name="watermark_thumbnail_size" xsi:type="array">
<item name="path" xsi:type="string">design/watermark/thumbnail_size</item>
<item name="fieldset" xsi:type="string">other_settings/watermark/thumbnail</item>
</item><item name="watermark_thumbnail_imageOpacity" xsi:type="array">
<item name="path" xsi:type="string">design/watermark/thumbnail_imageOpacity</item>
<item name="fieldset" xsi:type="string">other_settings/watermark/thumbnail</item>
</item><item name="watermark_thumbnail_image" xsi:type="array">
<item name="path" xsi:type="string">design/watermark/thumbnail_image</item>
<item name="fieldset" xsi:type="string">other_settings/watermark/thumbnail</item>
<item name="backend_model" xsi:type="string">Magento\Theme\Model\Design\Backend\Image</item>
<item name="upload_dir" xsi:type="array">
<item name="config" xsi:type="string">system/filesystem/media</item>
<item name="scope_info" xsi:type="string">1</item>
<item name="value" xsi:type="string">catalog/product/watermark</item>
</item>
<item name="base_url" xsi:type="array">
<item name="type" xsi:type="string">media</item>
<item name="scope_info" xsi:type="string">1</item>
<item name="value" xsi:type="string">catalog/product/watermark</item>
</item>
</item><item name="watermark_thumbnail_position" xsi:type="array">
<item name="path" xsi:type="string">design/watermark/thumbnail_position</item>
<item name="fieldset" xsi:type="string">other_settings/watermark/thumbnail</item>
</item><item name="email_logo" xsi:type="array">
<item name="path" xsi:type="string">design/email/logo</item>
<item name="fieldset" xsi:type="string">other_settings/email</item>
<item name="backend_model" xsi:type="string">Magento\Email\Model\Design\Backend\Logo</item>
<item name="base_url" xsi:type="array">
<item name="type" xsi:type="string">media</item>
<item name="scope_info" xsi:type="string">1</item>
<item name="value" xsi:type="string">email/logo</item>
</item>
</item><item name="email_logo_alt" xsi:type="array">
<item name="path" xsi:type="string">design/email/logo_alt</item>
<item name="fieldset" xsi:type="string">other_settings/email</item>
</item><item name="email_logo_width" xsi:type="array">
<item name="path" xsi:type="string">design/email/logo_width</item>
<item name="fieldset" xsi:type="string">other_settings/email</item>
</item><item name="email_logo_height" xsi:type="array">
<item name="path" xsi:type="string">design/email/logo_height</item>
<item name="fieldset" xsi:type="string">other_settings/email</item>
</item><item name="email_header_template" xsi:type="array">
<item name="path" xsi:type="string">design/email/header_template</item>
<item name="fieldset" xsi:type="string">other_settings/email</item>
</item><item name="email_footer_template" xsi:type="array">
<item name="path" xsi:type="string">design/email/footer_template</item>
<item name="fieldset" xsi:type="string">other_settings/email</item>
</item></argument>
</arguments>
</type><type name="Magento\Store\Model\Website">
<plugin name="themeDesignConfigGridIndexerWebsite" type="Magento\Theme\Model\Indexer\Design\Config\Plugin\Website"/>
</type><type name="Magento\Store\Model\Group">
<plugin name="themeDesignConfigGridIndexerStoreGroup" type="Magento\Theme\Model\Indexer\Design\Config\Plugin\StoreGroup"/>
</type><type name="Magento\Framework\App\Config\PreProcessorComposite">
<arguments>
<argument name="processors" xsi:type="array">
<item name="designConfigTheme" xsi:type="object">Magento\Theme\Model\Config\Processor\DesignTheme\Proxy</item>
<item name="environmentPlaceholder" xsi:type="object">Magento\Config\Model\Config\Processor\EnvironmentPlaceholder</item></argument>
</arguments>
</type><type name="Magento\Theme\Model\Config\Processor\DesignTheme">
<arguments>
<argument name="themeList" xsi:type="object">Magento\Theme\Model\ResourceModel\Theme\Collection\Proxy</argument>
</arguments>
</type><type name="Magento\Config\App\Config\Source\DumpConfigSourceAggregated">
<plugin name="designConfigTheme" type="Magento\Theme\Model\Design\Config\Plugin\Dump" sortOrder="50"/>
</type><type name="Magento\Theme\Model\Design\Config\Plugin\Dump">
<arguments>
<argument name="themeList" xsi:type="object">Magento\Theme\Model\ResourceModel\Theme\Collection</argument>
</arguments>
</type><type name="Magento\Theme\Ui\Component\Theme\DataProvider\SearchResult">
<arguments>
<argument name="mainTable" xsi:type="string">theme</argument>
<argument name="resourceModel" xsi:type="string">Magento\Theme\Model\ResourceModel\Theme</argument>
<argument name="identifierName" xsi:type="string">theme_id</argument>
</arguments>
</type><virtualType name="configured_design_cache" type="Magento\Framework\App\Cache">
<arguments>
<argument name="cacheIdentifier" xsi:type="string">layout</argument>
</arguments>
</virtualType><virtualType name="design_context" type="Magento\Framework\Model\Context">
<arguments>
<argument name="cacheManager" xsi:type="object">configured_design_cache</argument>
</arguments>
</virtualType><type name="Magento\Theme\Model\Design">
<arguments>
<argument name="context" xsi:type="object">design_context</argument>
</arguments>
</type><type name="Magento\Theme\Model\Theme\ThemeProvider">
<arguments>
<argument name="cache" xsi:type="object">configured_design_cache</argument>
</arguments>
</type><type name="Magento\Theme\Model\Theme\StoreThemesResolver">
<arguments>
<argument name="resolvers" xsi:type="array">
<item name="storeDefaultTheme" xsi:type="object">Magento\Theme\Model\Theme\StoreDefaultThemeResolver</item>
<item name="storeUserAgentTheme" xsi:type="object">Magento\Theme\Model\Theme\StoreUserAgentThemeResolver</item>
</argument>
</arguments>
</type><type name="Magento\Theme\Helper\Storage">
<arguments>
<argument name="filesystemDriver" xsi:type="object">Magento\Framework\Filesystem\Driver\File</argument>
</arguments>
</type><type name="Magento\Framework\Data\Collection">
<plugin name="currentPageDetection" type="Magento\Theme\Plugin\Data\Collection"/>
</type><preference for="Magento\Eav\Model\Entity\Setup\PropertyMapperInterface" type="Magento\Eav\Model\Entity\Setup\PropertyMapper\Composite"/><preference for="Magento\Eav\Model\Entity\AttributeLoaderInterface" type="Magento\Eav\Model\Entity\AttributeLoader"/><preference for="Magento\Eav\Model\Entity\Attribute\UniqueValidationInterface" type="Magento\Eav\Model\Entity\Attribute\UniqueValidator"/><preference for="Magento\Eav\Model\ReservedAttributeCheckerInterface" type="Magento\Eav\Model\ReservedAttributeChecker"/><preference for="Magento\Eav\Api\Data\AttributeInterface" type="Magento\Eav\Model\Entity\Attribute"/><preference for="Magento\Eav\Api\AttributeRepositoryInterface" type="Magento\Eav\Model\AttributeRepository"/><preference for="Magento\Eav\Api\Data\AttributeGroupInterface" type="Magento\Eav\Model\Entity\Attribute\Group"/><preference for="Magento\Eav\Api\AttributeGroupRepositoryInterface" type="Magento\Eav\Model\Attribute\GroupRepository"/><preference for="Magento\Eav\Api\AttributeSetRepositoryInterface" type="Magento\Eav\Model\AttributeSetRepository"/><preference for="Magento\Eav\Api\AttributeSetManagementInterface" type="Magento\Eav\Model\AttributeSetManagement"/><preference for="Magento\Eav\Api\Data\AttributeSetInterface" type="Magento\Eav\Model\Entity\Attribute\Set"/><preference for="Magento\Eav\Api\AttributeManagementInterface" type="Magento\Eav\Model\AttributeManagement"/><preference for="Magento\Eav\Api\Data\AttributeFrontendLabelInterface" type="Magento\Eav\Model\Entity\Attribute\FrontendLabel"/><preference for="Magento\Eav\Api\Data\AttributeOptionInterface" type="Magento\Eav\Model\Entity\Attribute\Option"/><preference for="Magento\Eav\Api\AttributeOptionManagementInterface" type="Magento\Eav\Model\Entity\Attribute\OptionManagement"/><preference for="Magento\Eav\Api\AttributeOptionUpdateInterface" type="Magento\Eav\Model\Entity\Attribute\OptionManagement"/><preference for="Magento\Eav\Api\Data\AttributeOptionLabelInterface" type="Magento\Eav\Model\Entity\Attribute\OptionLabel"/><preference for="Magento\Eav\Api\Data\AttributeValidationRuleInterface" type="Magento\Eav\Model\Entity\Attribute\ValidationRule"/><preference for="Magento\Eav\Api\Data\AttributeSearchResultsInterface" type="Magento\Eav\Model\AttributeSearchResults"/><preference for="Magento\Eav\Api\Data\AttributeSetSearchResultsInterface" type="Magento\Eav\Model\AttributeSetSearchResults"/><preference for="Magento\Eav\Api\Data\AttributeGroupSearchResultsInterface" type="Magento\Eav\Model\AttributeGroupSearchResults"/><preference for="Magento\Framework\Webapi\CustomAttributeTypeLocatorInterface" type="Magento\Eav\Model\TypeLocator"/><type name="Magento\Eav\Model\Entity\Attribute\Config">
<arguments>
<argument name="reader" xsi:type="object">Magento\Eav\Model\Entity\Attribute\Config\Reader\Proxy</argument>
</arguments>
</type><type name="Magento\Eav\Model\ResourceModel\Helper">
<arguments>
<argument name="modulePrefix" xsi:type="string">eav</argument>
</arguments>
</type><type name="Magento\Eav\Model\Entity\Setup\PropertyMapper\Composite">
<arguments>
<argument name="propertyMappers" xsi:type="array">
<item name="default" xsi:type="string">Magento\Eav\Model\Entity\Setup\PropertyMapper</item>
<item name="customer" xsi:type="string">Magento\Customer\Model\ResourceModel\Setup\PropertyMapper</item><item name="catalog" xsi:type="string">Magento\Catalog\Model\ResourceModel\Setup\PropertyMapper</item><item name="catalog_search" xsi:type="string">Magento\CatalogSearch\Model\ResourceModel\Setup\PropertyMapper</item><item name="configurable" xsi:type="string">Magento\ConfigurableProduct\Model\ResourceModel\Setup\PropertyMapper</item><item name="reward" xsi:type="string">Magento\Reward\Model\ResourceModel\Setup\PropertyMapper</item><item name="rma" xsi:type="string">Magento\Rma\Model\ResourceModel\Setup\PropertyMapper</item></argument>
</arguments>
</type><type name="Magento\Eav\Model\ResourceModel\Entity\Attribute">
<plugin name="storeLabelCaching" type="Magento\Eav\Plugin\Model\ResourceModel\Entity\Attribute"/>
</type><type name="Magento\Framework\Webapi\ServiceTypeToEntityTypeMap">
<arguments>
<argument name="serviceTypeToEntityTypeMap" xsi:type="array"><item name="Magento\Customer\Api\Data\CustomerInterface" xsi:type="const">Magento\Customer\Api\CustomerMetadataInterface::ENTITY_TYPE_CUSTOMER</item><item name="Magento\Customer\Api\Data\AddressInterface" xsi:type="const">Magento\Customer\Api\AddressMetadataInterface::ENTITY_TYPE_ADDRESS</item><item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="const">Magento\Catalog\Api\Data\ProductAttributeInterface::ENTITY_TYPE_CODE</item><item name="Magento\Catalog\Api\Data\CategoryInterface" xsi:type="const">Magento\Catalog\Api\Data\CategoryAttributeInterface::ENTITY_TYPE_CODE</item></argument>
</arguments>
</type><type name="Magento\Eav\Model\TypeLocator">
<arguments>
<argument name="typeLocators" xsi:type="array">
<item name="simpleType" sortOrder="50" xsi:type="object">Magento\Eav\Model\TypeLocator\SimpleType</item>
<item name="complexType" sortOrder="10" xsi:type="object">Magento\Eav\Model\TypeLocator\ComplexType</item>
<item name="serviceClassType" sortOrder="0" xsi:type="object">Magento\Eav\Model\TypeLocator\ServiceClassLocator</item>
</argument>
</arguments>
</type><type name="Magento\Eav\Model\TypeLocator\ComplexType">
<arguments>
<argument name="backendModelToAttributeTypeMap" xsi:type="array">
<item name="Magento\Eav\Model\Attribute\Data\Text" xsi:type="string">string</item>
<item name="Magento\Eav\Model\Attribute\Data\Date" xsi:type="string">string</item>
<item name="Magento\Eav\Model\Attribute\Data\Boolean" xsi:type="string">boolean</item>
<item name="Magento\Eav\Model\Attribute\Data\File" xsi:type="string">string</item>
<item name="Magento\Eav\Model\Attribute\Data\Hidden" xsi:type="string">string</item>
<item name="Magento\Eav\Model\Attribute\Data\Image" xsi:type="string">Magento\Framework\Api\Data\ImageContentInterface</item>
<item name="Magento\Eav\Model\Attribute\Data\Multiline" xsi:type="string">string</item>
<item name="Magento\Eav\Model\Attribute\Data\Multiselect" xsi:type="string">string</item>
<item name="Magento\Eav\Model\Attribute\Data\Select" xsi:type="string">string</item>
<item name="Magento\Eav\Model\Attribute\Data\Textarea" xsi:type="string">string</item>
<item name="Magento\Eav\Model\Entity\Attribute\Backend\DefaultBackend" xsi:type="string">string</item>
<item name="Magento\Customer\Api\Data\CustomerInterface" xsi:type="array">
<item name="Magento\Eav\Model\Attribute\Data\Image" xsi:type="string">Magento\Framework\Api\Data\ImageContentInterface</item>
</item><item name="Magento\Customer\Model\Customer\Attribute\Backend\Website" xsi:type="string">int</item><item name="Magento\Customer\Model\Customer\Attribute\Backend\Store" xsi:type="string">int</item><item name="Magento\Customer\Model\Attribute\Backend\Data\Boolean" xsi:type="string">boolean</item><item name="Magento\Customer\Model\Customer\Attribute\Backend\Password" xsi:type="string">string</item><item name="Magento\Customer\Model\Customer\Attribute\Backend\Billing" xsi:type="string">Magento\Customer\Api\Data\AddressInterface</item><item name="Magento\Customer\Model\Customer\Attribute\Backend\Shipping" xsi:type="string">Magento\Customer\Api\Data\AddressInterface</item><item name="Magento\Eav\Model\Entity\Attribute\Backend\Datetime" xsi:type="string">string</item><item name="Magento\Customer\Model\ResourceModel\Address\Attribute\Backend\Region" xsi:type="string">Magento\Customer\Api\Data\RegionInterface</item><item name="Magento\Catalog\Model\Product\Attribute\Backend\Sku" xsi:type="string">string</item><item name="Magento\Catalog\Model\Product\Attribute\Backend\Category" xsi:type="string">int[]</item><item name="Magento\Catalog\Model\Product\Attribute\Backend\Stock" xsi:type="string">Magento\CatalogInventory\Api\Data\StockItemInterface[]</item><item name="Magento\Catalog\Model\Category\Attribute\Backend\Sortby" xsi:type="string">string[]</item><item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array">
<item name="Magento\GiftCard\Model\Attribute\Backend\Giftcard\Amount" xsi:type="string">Magento\GiftCard\Api\Data\GiftcardAmountInterface[]</item>
</item></argument>
</arguments>
</type><type name="Magento\Eav\Model\Entity\Attribute">
<arguments>
<argument name="reservedAttributeList" xsi:type="object">Magento\Catalog\Model\Product\ReservedAttributeList\Proxy</argument>
</arguments>
</type><type name="Magento\Framework\EntityManager\Operation\AttributePool">
<arguments>
<argument name="extensionActions" xsi:type="array">
<item name="eav" xsi:type="array">
<item name="default" xsi:type="array">
<item name="read" xsi:type="string">Magento\Eav\Model\ResourceModel\ReadHandler</item>
<item name="create" xsi:type="string">Magento\Eav\Model\ResourceModel\CreateHandler</item>
<item name="update" xsi:type="string">Magento\Eav\Model\ResourceModel\UpdateHandler</item>
</item>
<item name="Magento\Catalog\Api\Data\CategoryInterface" xsi:type="array">
<item name="create" xsi:type="string">Magento\CatalogStaging\Model\ResourceModel\CatalogCreateHandler</item>
<item name="update" xsi:type="string">Magento\Catalog\Model\ResourceModel\UpdateHandler</item>
</item><item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array">
<item name="create" xsi:type="string">Magento\CatalogStaging\Model\ResourceModel\CatalogCreateHandler</item>
<item name="update" xsi:type="string">Magento\Catalog\Model\ResourceModel\UpdateHandler</item>
</item></item>
<item name="websites" xsi:type="array">
<item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array">
<item name="create" xsi:type="string">Magento\Catalog\Model\ResourceModel\ProductWebsiteAssignmentHandler</item>
</item>
</item><item name="catalogRule" xsi:type="array">
<item name="Magento\CatalogRule\Api\Data\RuleInterface" xsi:type="array">
<item name="read" xsi:type="string">Magento\CatalogRule\Model\ResourceModel\ReadHandler</item>
<item name="create" xsi:type="string">Magento\CatalogRule\Model\ResourceModel\SaveHandler</item>
<item name="update" xsi:type="string">Magento\CatalogRule\Model\ResourceModel\SaveHandler</item>
</item>
</item><item name="salesRule" xsi:type="array">
<item name="Magento\SalesRule\Api\Data\RuleInterface" xsi:type="array">
<item name="read" xsi:type="string">Magento\SalesRule\Model\ResourceModel\ReadHandler</item>
<item name="create" xsi:type="string">Magento\SalesRule\Model\ResourceModel\SaveHandler</item>
<item name="update" xsi:type="string">Magento\SalesRule\Model\ResourceModel\SaveHandler</item>
</item>
</item><item name="bannerCatalogRule" xsi:type="array">
<item name="Magento\CatalogRule\Api\Data\RuleInterface" xsi:type="array">
<item name="read" xsi:type="string">Magento\Banner\Model\ResourceModel\Catalogrule\ReadHandler</item>
</item>
</item></argument>
</arguments>
</type><type name="Magento\Framework\Model\EntitySnapshot\AttributeProvider">
<arguments>
<argument name="providers" xsi:type="array">
<item name="default" xsi:type="array">
<item name="eav" xsi:type="string">\Magento\Eav\Model\AttributeProvider</item>
</item>
</argument>
</arguments>
</type><type name="Magento\Eav\Model\Entity\AbstractEntity">
<plugin name="clean_cache" type="Magento\Framework\App\Cache\FlushCacheByTags"/>
</type><virtualType name="Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor">
<arguments>
<argument name="processors" xsi:type="array">
<item name="filters" xsi:type="object">Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor</item>
<item name="sorting" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\SortingProcessor</item>
<item name="pagination" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\PaginationProcessor</item>
</argument>
</arguments>
</virtualType><type name="Magento\Eav\Model\AttributeRepository">
<arguments>
<argument name="collectionProcessor" xsi:type="object">Magento\Eav\Model\Api\SearchCriteria\AttributeCollectionProcessor</argument>
</arguments>
</type><virtualType name="Magento\Eav\Model\Api\SearchCriteria\AttributeCollectionProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor">
<arguments>
<argument name="processors" xsi:type="array">
<item name="filters" xsi:type="object">Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor\AttributeFilterProcessor</item>
<item name="sorting" xsi:type="object">Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor\AttributeSortingProcessor</item>
<item name="pagination" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\PaginationProcessor</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor\AttributeFilterProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\FilterProcessor">
<arguments>
<argument name="fieldMapping" xsi:type="array">
<item name="attribute_id" xsi:type="string">main_table.attribute_id</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor\AttributeSortingProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\SortingProcessor">
<arguments>
<argument name="fieldMapping" xsi:type="array">
<item name="attribute_id" xsi:type="string">main_table.attribute_id</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor\AttributeSetFilterProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\FilterProcessor">
<arguments>
<argument name="customFilters" xsi:type="array">
<item name="entity_type_code" xsi:type="object">Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor\AttributeSetEntityTypeCodeFilter</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Eav\Model\Api\SearchCriteria\AttributeSetCollectionProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor">
<arguments>
<argument name="processors" xsi:type="array">
<item name="filters" xsi:type="object">Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor\AttributeSetFilterProcessor</item>
<item name="sorting" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\SortingProcessor</item>
<item name="pagination" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\PaginationProcessor</item>
</argument>
</arguments>
</virtualType><type name="Magento\Eav\Model\AttributeSetRepository">
<arguments>
<argument name="collectionProcessor" xsi:type="object">Magento\Eav\Model\Api\SearchCriteria\AttributeSetCollectionProcessor</argument>
</arguments>
</type><virtualType name="Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor\AttributeGroupFilterProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\FilterProcessor">
<arguments>
<argument name="fieldMapping" xsi:type="array">
<item name="attribute_group_code" xsi:type="string">main_table.attribute_group_code</item>
</argument>
<argument name="customFilters" xsi:type="array">
<item name="attribute_set_id" xsi:type="object">Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor\AttributeGroupAttributeSetIdFilter</item>
<item name="attribute_group_code" xsi:type="object">Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor\AttributeGroupCodeFilter</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor\AttributeGroupSortingProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\SortingProcessor">
<arguments>
<argument name="fieldMapping" xsi:type="array">
<item name="attribute_group_code" xsi:type="string">main_table.attribute_group_code</item>
</argument>
<argument name="defaultOrders" xsi:type="array">
<item name="sort_order" xsi:type="string">ASC</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Eav\Model\Api\SearchCriteria\AttributeGroupCollectionProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor">
<arguments>
<argument name="processors" xsi:type="array">
<item name="filters" xsi:type="object">Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor\AttributeGroupFilterProcessor</item>
<item name="sorting" xsi:type="object">Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor\AttributeGroupSortingProcessor</item>
<item name="pagination" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\PaginationProcessor</item>
</argument>
</arguments>
</virtualType><type name="Magento\Eav\Model\Attribute\GroupRepository">
<arguments>
<argument name="collectionProcessor" xsi:type="object">Magento\Eav\Model\Api\SearchCriteria\AttributeGroupCollectionProcessor</argument>
</arguments>
</type><type name="Magento\Framework\EntityManager\CompositeMapper">
<arguments>
<argument name="mappers" xsi:type="array">
<item name="mapper" xsi:type="object">Magento\Framework\EntityManager\Mapper</item>
<item name="customAttributesMapper" xsi:type="object">Magento\Eav\Model\CustomAttributesMapper</item>
</argument>
</arguments>
</type><virtualType name="configured_eav_cache" type="Magento\Framework\App\Cache">
<arguments>
<argument name="cacheIdentifier" xsi:type="string">eav</argument>
</arguments>
</virtualType><type name="Magento\Eav\Model\Config">
<arguments>
<argument name="cache" xsi:type="object">configured_eav_cache</argument>
<argument name="attributesForPreload" xsi:type="array">
<item name="customer" xsi:type="array">
<item name="confirmation" xsi:type="string">customer</item>
<item name="created_at" xsi:type="string">customer</item>
<item name="created_in" xsi:type="string">customer</item>
<item name="default_billing" xsi:type="string">customer</item>
<item name="default_shipping" xsi:type="string">customer</item>
<item name="disable_auto_group_change" xsi:type="string">customer</item>
<item name="dob" xsi:type="string">customer</item>
<item name="email" xsi:type="string">customer</item>
<item name="failures_num" xsi:type="string">customer</item>
<item name="firstname" xsi:type="string">customer</item>
<item name="first_failure" xsi:type="string">customer</item>
<item name="gender" xsi:type="string">customer</item>
<item name="group_id" xsi:type="string">customer</item>
<item name="lastname" xsi:type="string">customer</item>
<item name="lock_expires" xsi:type="string">customer</item>
<item name="middlename" xsi:type="string">customer</item>
<item name="password_hash" xsi:type="string">customer</item>
<item name="prefix" xsi:type="string">customer</item>
<item name="rp_token" xsi:type="string">customer</item>
<item name="rp_token_created_at" xsi:type="string">customer</item>
<item name="store_id" xsi:type="string">customer</item>
<item name="suffix" xsi:type="string">customer</item>
<item name="taxvat" xsi:type="string">customer</item>
<item name="updated_at" xsi:type="string">customer</item>
<item name="website_id" xsi:type="string">customer</item>
<item name="reward_update_notification" xsi:type="string">customer</item><item name="reward_warning_notification" xsi:type="string">customer</item></item>
<item name="customer_address" xsi:type="array">
<item name="city" xsi:type="string">customer_address</item>
<item name="company" xsi:type="string">customer_address</item>
<item name="country_id" xsi:type="string">customer_address</item>
<item name="fax" xsi:type="string">customer_address</item>
<item name="firstname" xsi:type="string">customer_address</item>
<item name="lastname" xsi:type="string">customer_address</item>
<item name="middlename" xsi:type="string">customer_address</item>
<item name="postcode" xsi:type="string">customer_address</item>
<item name="prefix" xsi:type="string">customer_address</item>
<item name="region" xsi:type="string">customer_address</item>
<item name="region_id" xsi:type="string">customer_address</item>
<item name="street" xsi:type="string">customer_address</item>
<item name="suffix" xsi:type="string">customer_address</item>
<item name="telephone" xsi:type="string">customer_address</item>
<item name="vat_id" xsi:type="string">customer_address</item>
<item name="vat_is_valid" xsi:type="string">customer_address</item>
<item name="vat_request_date" xsi:type="string">customer_address</item>
<item name="vat_request_id" xsi:type="string">customer_address</item>
<item name="vat_request_success" xsi:type="string">customer_address</item>
</item>
<item name="catalog_product" xsi:type="array">
<item name="category_ids" xsi:type="string">catalog_product</item>
<item name="country_of_manufacture" xsi:type="string">catalog_product</item>
<item name="created_at" xsi:type="string">catalog_product</item>
<item name="custom_design" xsi:type="string">catalog_product</item>
<item name="custom_design_from" xsi:type="string">catalog_product</item>
<item name="custom_design_to" xsi:type="string">catalog_product</item>
<item name="custom_layout" xsi:type="string">catalog_product</item>
<item name="custom_layout_update" xsi:type="string">catalog_product</item>
<item name="description" xsi:type="string">catalog_product</item>
<item name="gallery" xsi:type="string">catalog_product</item>
<item name="has_options" xsi:type="string">catalog_product</item>
<item name="image" xsi:type="string">catalog_product</item>
<item name="image_label" xsi:type="string">catalog_product</item>
<item name="media_gallery" xsi:type="string">catalog_product</item>
<item name="meta_description" xsi:type="string">catalog_product</item>
<item name="meta_keyword" xsi:type="string">catalog_product</item>
<item name="meta_title" xsi:type="string">catalog_product</item>
<item name="minimal_price" xsi:type="string">catalog_product</item>
<item name="name" xsi:type="string">catalog_product</item>
<item name="news_from_date" xsi:type="string">catalog_product</item>
<item name="news_to_date" xsi:type="string">catalog_product</item>
<item name="old_id" xsi:type="string">catalog_product</item>
<item name="options_container" xsi:type="string">catalog_product</item>
<item name="page_layout" xsi:type="string">catalog_product</item>
<item name="price" xsi:type="string">catalog_product</item>
<item name="quantity_and_stock_status" xsi:type="string">catalog_product</item>
<item name="required_options" xsi:type="string">catalog_product</item>
<item name="short_description" xsi:type="string">catalog_product</item>
<item name="sku" xsi:type="string">catalog_product</item>
<item name="small_image" xsi:type="string">catalog_product</item>
<item name="small_image_label" xsi:type="string">catalog_product</item>
<item name="special_from_date" xsi:type="string">catalog_product</item>
<item name="special_price" xsi:type="string">catalog_product</item>
<item name="special_to_date" xsi:type="string">catalog_product</item>
<item name="status" xsi:type="string">catalog_product</item>
<item name="thumbnail" xsi:type="string">catalog_product</item>
<item name="thumbnail_label" xsi:type="string">catalog_product</item>
<item name="tier_price" xsi:type="string">catalog_product</item>
<item name="updated_at" xsi:type="string">catalog_product</item>
<item name="visibility" xsi:type="string">catalog_product</item>
<item name="weight" xsi:type="string">catalog_product</item>
<item name="price_type" xsi:type="string">catalog_product</item><item name="price_view" xsi:type="string">catalog_product</item><item name="shipment_type" xsi:type="string">catalog_product</item><item name="sku_type" xsi:type="string">catalog_product</item><item name="weight_type" xsi:type="string">catalog_product</item><item name="url_key" xsi:type="string">catalog_product</item><item name="url_path" xsi:type="string">catalog_product</item><item name="msrp" xsi:type="string">catalog_product</item><item name="msrp_display_actual_price_type" xsi:type="string">catalog_product</item><item name="links_exist" xsi:type="string">catalog_product</item><item name="links_purchased_separately" xsi:type="string">catalog_product</item><item name="links_title" xsi:type="string">catalog_product</item><item name="samples_title" xsi:type="string">catalog_product</item><item name="allow_message" xsi:type="string">catalog_product</item><item name="allow_open_amount" xsi:type="string">catalog_product</item><item name="email_template" xsi:type="string">catalog_product</item><item name="giftcard_amounts" xsi:type="string">catalog_product</item><item name="giftcard_type" xsi:type="string">catalog_product</item><item name="lifetime" xsi:type="string">catalog_product</item><item name="open_amount_max" xsi:type="string">catalog_product</item><item name="open_amount_min" xsi:type="string">catalog_product</item><item name="use_config_allow_message" xsi:type="string">catalog_product</item><item name="use_config_email_template" xsi:type="string">catalog_product</item><item name="is_redeemable" xsi:type="string">catalog_product</item><item name="use_config_is_redeemable" xsi:type="string">catalog_product</item><item name="use_config_lifetime" xsi:type="string">catalog_product</item><item name="related_tgtr_position_behavior" xsi:type="string">catalog_product</item><item name="related_tgtr_position_limit" xsi:type="string">catalog_product</item><item name="upsell_tgtr_position_behavior" xsi:type="string">catalog_product</item><item name="upsell_tgtr_position_limit" xsi:type="string">catalog_product</item><item name="tax_class_id" xsi:type="string">catalog_product</item><item name="gift_message_available" xsi:type="string">catalog_product</item><item name="gift_wrapping_available" xsi:type="string">catalog_product</item><item name="gift_wrapping_price" xsi:type="string">catalog_product</item><item name="is_returnable" xsi:type="string">catalog_product</item><item name="swatch_image" xsi:type="string">catalog_product</item></item><item name="catalog_category" xsi:type="array">
<item name="all_children" xsi:type="string">catalog_category</item>
<item name="available_sort_by" xsi:type="string">catalog_category</item>
<item name="children" xsi:type="string">catalog_category</item>
<item name="children_count" xsi:type="string">catalog_category</item>
<item name="custom_apply_to_products" xsi:type="string">catalog_category</item>
<item name="custom_design" xsi:type="string">catalog_category</item>
<item name="custom_design_from" xsi:type="string">catalog_category</item>
<item name="custom_design_to" xsi:type="string">catalog_category</item>
<item name="custom_layout_update" xsi:type="string">catalog_category</item>
<item name="custom_use_parent_settings" xsi:type="string">catalog_category</item>
<item name="default_sort_by" xsi:type="string">catalog_category</item>
<item name="description" xsi:type="string">catalog_category</item>
<item name="display_mode" xsi:type="string">catalog_category</item>
<item name="filter_price_range" xsi:type="string">catalog_category</item>
<item name="image" xsi:type="string">catalog_category</item>
<item name="include_in_menu" xsi:type="string">catalog_category</item>
<item name="is_active" xsi:type="string">catalog_category</item>
<item name="is_anchor" xsi:type="string">catalog_category</item>
<item name="landing_page" xsi:type="string">catalog_category</item>
<item name="level" xsi:type="string">catalog_category</item>
<item name="meta_description" xsi:type="string">catalog_category</item>
<item name="meta_keywords" xsi:type="string">catalog_category</item>
<item name="meta_title" xsi:type="string">catalog_category</item>
<item name="name" xsi:type="string">catalog_category</item>
<item name="page_layout" xsi:type="string">catalog_category</item>
<item name="path" xsi:type="string">catalog_category</item>
<item name="path_in_store" xsi:type="string">catalog_category</item>
<item name="position" xsi:type="string">catalog_category</item>
<item name="url_key" xsi:type="string">catalog_category</item><item name="url_path" xsi:type="string">catalog_category</item></item></argument></arguments>
</type><preference for="Magento\Customer\Api\AddressRepositoryInterface" type="Magento\Customer\Model\ResourceModel\AddressRepository"/><preference for="Magento\Customer\Api\CustomerRepositoryInterface" type="Magento\Customer\Model\ResourceModel\CustomerRepository"/><preference for="Magento\Customer\Api\GroupManagementInterface" type="Magento\Customer\Model\GroupManagement"/><preference for="Magento\Customer\Api\CustomerGroupConfigInterface" type="Magento\Customer\Model\CustomerGroupConfig"/><preference for="Magento\Customer\Api\GroupRepositoryInterface" type="Magento\Customer\Model\ResourceModel\GroupRepository"/><preference for="Magento\Customer\Api\Data\CustomerInterface" type="Magento\Customer\Model\Data\Customer"/><preference for="Magento\Customer\Api\Data\AddressInterface" type="Magento\Customer\Model\Data\Address"/><preference for="Magento\Customer\Api\Data\RegionInterface" type="Magento\Customer\Model\Data\Region"/><preference for="Magento\Customer\Api\Data\AttributeMetadataInterface" type="Magento\Customer\Model\Data\AttributeMetadata"/><preference for="Magento\Customer\Api\Data\GroupInterface" type="Magento\Customer\Model\Data\Group"/><preference for="Magento\Customer\Api\Data\GroupExcludedWebsiteInterface" type="Magento\Customer\Model\Data\GroupExcludedWebsite"/><preference for="Magento\Customer\Api\Data\OptionInterface" type="Magento\Customer\Model\Data\Option"/><preference for="Magento\Customer\Api\Data\ValidationRuleInterface" type="Magento\Customer\Model\Data\ValidationRule"/><preference for="Magento\Customer\Api\Data\ValidationResultsInterface" type="Magento\Customer\Model\Data\ValidationResults"/><preference for="Magento\Customer\Api\Data\GroupSearchResultsInterface" type="Magento\Customer\Model\GroupSearchResults"/><preference for="Magento\Customer\Api\Data\CustomerSearchResultsInterface" type="Magento\Customer\Model\CustomerSearchResults"/><preference for="Magento\Customer\Api\Data\AddressSearchResultsInterface" type="Magento\Customer\Model\AddressSearchResults"/><preference for="Magento\Customer\Api\AccountManagementInterface" type="Magento\Customer\Model\AccountManagement"/><preference for="Magento\Customer\Api\CustomerMetadataInterface" type="Magento\Customer\Model\Metadata\CustomerCachedMetadata"/><preference for="Magento\Customer\Api\AddressMetadataInterface" type="Magento\Customer\Model\Metadata\AddressCachedMetadata"/><preference for="Magento\Customer\Api\CustomerMetadataManagementInterface" type="Magento\Customer\Model\Metadata\CustomerMetadataManagement"/><preference for="Magento\Customer\Api\AddressMetadataManagementInterface" type="Magento\Customer\Model\Metadata\AddressMetadataManagement"/><preference for="Magento\Customer\Api\CustomerManagementInterface" type="Magento\Customer\Model\CustomerManagement"/><preference for="Magento\Customer\Model\AuthenticationInterface" type="Magento\Customer\Model\Authentication"/><preference for="Magento\Customer\Model\EmailNotificationInterface" type="Magento\Customer\Model\EmailNotification"/><preference for="Magento\Customer\Api\CustomerNameGenerationInterface" type="Magento\Customer\Helper\View"/><preference for="Magento\Customer\Model\Address\CustomAttributeListInterface" type="Magento\CustomerCustomAttributes\Model\Quote\Address\CustomAttributeList"/><preference for="Magento\Customer\Model\Customer\Source\GroupSourceInterface" type="Magento\Customer\Model\Customer\Source\Group"/><preference for="Magento\Customer\Model\Customer\Attribute\Source\GroupSourceLoggedInOnlyInterface" type="Magento\Customer\Model\Customer\Attribute\Source\Group"/><preference for="Magento\Customer\Block\Account\SortLinkInterface" type="Magento\Customer\Block\Account\SortLink"/><preference for="Magento\Customer\Model\Group\RetrieverInterface" type="Magento\Customer\Model\Group\Retriever"/><preference for="Magento\Customer\Api\SessionCleanerInterface" type="Magento\Customer\Model\Session\SessionCleaner"/><preference for="Magento\Customer\Api\GroupExcludedWebsiteRepositoryInterface" type="Magento\Customer\Model\ResourceModel\GroupExcludedWebsiteRepository"/><virtualType name="SessionValidator" type="Magento\Framework\Session\CompositeValidator">
<arguments>
<argument name="validators" xsi:type="array">
<item name="validator" xsi:type="object">Magento\Framework\Session\Validator</item>
<item name="cutoff_validator" xsi:type="object">
Magento\Customer\Model\Session\Validators\CutoffValidator
</item>
</argument>
</arguments>
</virtualType><type name="Magento\Customer\Model\Session">
<arguments>
<argument name="configShare" xsi:type="object">Magento\Customer\Model\Config\Share\Proxy</argument>
<argument name="customerUrl" xsi:type="object">Magento\Customer\Model\Url\Proxy</argument>
<argument name="customerResource" xsi:type="object">Magento\Customer\Model\ResourceModel\Customer\Proxy</argument>
<argument name="storage" xsi:type="object">Magento\Customer\Model\Session\Storage</argument>
<argument name="customerRepository" xsi:type="object">Magento\Customer\Api\CustomerRepositoryInterface\Proxy</argument>
<argument name="validator" xsi:type="object">SessionValidator</argument>
</arguments>
<plugin name="staging_preview_customer_session_id_change_bypass" type="Magento\Staging\Plugin\Customer\Model\Session"/></type><type name="Magento\Customer\Helper\Address">
<arguments>
<argument name="addressConfig" xsi:type="object">Magento\Customer\Model\Address\Config\Proxy</argument>
</arguments>
</type><type name="Magento\Customer\Model\Config\Share">
<arguments>
<argument name="customerResource" xsi:type="object">Magento\Customer\Model\ResourceModel\Customer\Proxy</argument>
</arguments>
</type><type name="Magento\Customer\Model\ResourceModel\Address">
<arguments>
<argument name="customerRepository" xsi:type="object">Magento\Customer\Api\CustomerRepositoryInterface\Proxy</argument>
<argument name="entitySnapshot" xsi:type="object">CustomerAddressSnapshot</argument>
<argument name="entityRelationComposite" xsi:type="object">CustomerAddressRelationsComposite</argument>
</arguments>
</type><type name="Magento\Customer\Model\Address\Config">
<arguments>
<argument name="reader" xsi:type="object">Magento\Customer\Model\Address\Config\Reader\Proxy</argument>
</arguments>
</type><type name="Magento\Customer\Model\Visitor">
<arguments>
<argument name="ignoredUserAgents" xsi:type="array">
<item name="google1" xsi:type="string">Googlebot/1.0 (googlebot@googlebot.com http://googlebot.com/)</item>
<item name="google2" xsi:type="string">Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)</item>
<item name="google3" xsi:type="string">Googlebot/2.1 (+http://www.googlebot.com/bot.html)</item>
</argument>
</arguments>
</type><type name="Magento\Customer\Model\ResourceModel\Group" shared="false">
<arguments>
<argument name="groupManagement" xsi:type="object">Magento\Customer\Api\GroupManagementInterface\Proxy</argument>
</arguments>
</type><type name="Magento\Customer\Model\Metadata\CustomerMetadata">
<arguments>
<argument name="systemAttributes" xsi:type="array">
<item name="disable_auto_group_change" xsi:type="string">disable_auto_group_change</item>
<item name="reward_update_notification" xsi:type="string">reward_update_notification</item></argument>
</arguments>
</type><virtualType name="SectionInvalidationConfigReader" type="Magento\Framework\Config\Reader\Filesystem">
<arguments>
<argument name="idAttributes" xsi:type="array">
<item name="/config/action" xsi:type="string">name</item>
<item name="/config/action/section" xsi:type="string">name</item>
</argument>
<argument name="fileName" xsi:type="string">sections.xml</argument>
<argument name="converter" xsi:type="object">\Magento\Customer\CustomerData\SectionConfigConverter</argument>
<argument name="schemaLocator" xsi:type="object">Magento\Customer\CustomerData\SchemaLocator</argument>
<argument name="defaultScope" xsi:type="string">frontend</argument>
</arguments>
</virtualType><virtualType name="SectionInvalidationConfigData" type="Magento\Framework\Config\Data">
<arguments>
<argument name="reader" xsi:type="object">SectionInvalidationConfigReader</argument>
<argument name="cacheId" xsi:type="string">sections_invalidation_config</argument>
</arguments>
</virtualType><type name="Magento\Customer\Block\SectionConfig">
<arguments>
<argument name="sectionConfig" xsi:type="object">SectionInvalidationConfigData</argument>
</arguments>
</type><type name="Magento\Customer\Block\SectionNamesProvider">
<arguments>
<argument name="sectionConfig" xsi:type="object">SectionInvalidationConfigData</argument>
</arguments>
</type><preference for="Magento\Customer\CustomerData\JsLayoutDataProviderPoolInterface" type="Magento\Customer\CustomerData\JsLayoutDataProviderPool"/><virtualType name="EavVersionControlSnapshot" type="Magento\Framework\Model\ResourceModel\Db\VersionControl\Snapshot">
<arguments>
<argument name="metadata" xsi:type="object">Magento\Eav\Model\Entity\VersionControl\Metadata</argument>
</arguments>
</virtualType><virtualType name="CustomerAddressSnapshot" type="Magento\Customer\Model\ResourceModel\Db\VersionControl\AddressSnapshot">
<arguments>
<argument name="metadata" xsi:type="object">Magento\Eav\Model\Entity\VersionControl\Metadata</argument>
</arguments>
</virtualType><virtualType name="CustomerRelationsComposite" type="Magento\Framework\Model\ResourceModel\Db\VersionControl\RelationComposite">
<arguments>
<argument name="relationProcessors" xsi:type="array">
<item name="default" xsi:type="object">Magento\Customer\Model\ResourceModel\Customer\Relation</item>
</argument>
</arguments>
</virtualType><virtualType name="CustomerAddressRelationsComposite" type="Magento\Framework\Model\ResourceModel\Db\VersionControl\RelationComposite">
<arguments>
<argument name="relationProcessors" xsi:type="array">
<item name="default" xsi:type="object">Magento\Customer\Model\ResourceModel\Address\Relation</item>
</argument>
</arguments>
</virtualType><type name="Magento\Customer\Model\ResourceModel\Customer">
<arguments>
<argument name="entitySnapshot" xsi:type="object">EavVersionControlSnapshot</argument>
<argument name="entityRelationComposite" xsi:type="object">CustomerRelationsComposite</argument>
</arguments>
<plugin name="recollect_quote_on_customer_group_change" type="Magento\Checkout\Model\Plugin\RecollectQuoteOnCustomerGroupChange"/></type><type name="Magento\Customer\Model\ResourceModel\Customer\Collection">
<arguments>
<argument name="entitySnapshot" xsi:type="object">EavVersionControlSnapshot</argument>
</arguments>
</type><type name="Magento\Customer\Model\ResourceModel\Address\Collection">
<arguments>
<argument name="entitySnapshot" xsi:type="object">EavVersionControlSnapshot</argument>
</arguments>
</type><virtualType name="CustomerNameHandler" type="Magento\Framework\Indexer\Handler\ConcatHandler">
<arguments>
<argument name="concatExpression" xsi:type="object">CustomerNameExpression</argument>
</arguments>
</virtualType><virtualType name="ShippingAddressHandler" type="Magento\Framework\Indexer\Handler\ConcatHandler">
<arguments>
<argument name="concatExpression" xsi:type="object">ShippingAddressExpression</argument>
</arguments>
</virtualType><virtualType name="BillingAddressHandler" type="Magento\Framework\Indexer\Handler\ConcatHandler">
<arguments>
<argument name="concatExpression" xsi:type="object">BillingAddressExpression</argument>
</arguments>
</virtualType><virtualType name="CustomerNameExpression" type="Magento\Framework\DB\Sql\ConcatExpression">
<arguments>
<argument name="tableName" xsi:type="string">e</argument>
<argument name="columns" xsi:type="array">
<item name="prefix" xsi:type="array">
<item name="tableAlias" xsi:type="string">e</item>
<item name="columnName" xsi:type="string">prefix</item>
</item>
<item name="firstname" xsi:type="array">
<item name="tableAlias" xsi:type="string">e</item>
<item name="columnName" xsi:type="string">firstname</item>
</item>
<item name="middlename" xsi:type="array">
<item name="tableAlias" xsi:type="string">e</item>
<item name="columnName" xsi:type="string">middlename</item>
</item>
<item name="lastname" xsi:type="array">
<item name="tableAlias" xsi:type="string">e</item>
<item name="columnName" xsi:type="string">lastname</item>
</item>
<item name="suffix" xsi:type="array">
<item name="tableAlias" xsi:type="string">e</item>
<item name="columnName" xsi:type="string">suffix</item>
</item>
</argument>
</arguments>
</virtualType><virtualType name="ShippingAddressExpression" type="Magento\Framework\DB\Sql\ConcatExpression">
<arguments>
<argument name="columns" xsi:type="array">
<item name="prefix" xsi:type="array">
<item name="tableAlias" xsi:type="string">shipping</item>
<item name="columnName" xsi:type="string">street</item>
</item>
<item name="firstname" xsi:type="array">
<item name="tableAlias" xsi:type="string">shipping</item>
<item name="columnName" xsi:type="string">city</item>
</item>
<item name="middlename" xsi:type="array">
<item name="tableAlias" xsi:type="string">shipping</item>
<item name="columnName" xsi:type="string">region</item>
</item>
<item name="lastname" xsi:type="array">
<item name="tableAlias" xsi:type="string">shipping</item>
<item name="columnName" xsi:type="string">postcode</item>
</item>
</argument>
</arguments>
</virtualType><virtualType name="BillingAddressExpression" type="Magento\Framework\DB\Sql\ConcatExpression">
<arguments>
<argument name="columns" xsi:type="array">
<item name="prefix" xsi:type="array">
<item name="tableAlias" xsi:type="string">billing</item>
<item name="columnName" xsi:type="string">street</item>
</item>
<item name="firstname" xsi:type="array">
<item name="tableAlias" xsi:type="string">billing</item>
<item name="columnName" xsi:type="string">city</item>
</item>
<item name="middlename" xsi:type="array">
<item name="tableAlias" xsi:type="string">billing</item>
<item name="columnName" xsi:type="string">region</item>
</item>
<item name="lastname" xsi:type="array">
<item name="tableAlias" xsi:type="string">billing</item>
<item name="columnName" xsi:type="string">postcode</item>
</item>
</argument>
</arguments>
</virtualType><type name="Magento\Customer\Model\Indexer\AttributeProvider">
<arguments>
<argument name="collection" xsi:type="object" shared="false">Magento\Customer\Model\ResourceModel\Attribute\Collection</argument>
</arguments>
</type><type name="Magento\Customer\Model\Indexer\Address\AttributeProvider">
<arguments>
<argument name="collection" xsi:type="object" shared="false">Magento\Customer\Model\ResourceModel\Address\Attribute\Collection</argument>
</arguments>
</type><type name="Magento\Customer\Model\ResourceModel\Online\Grid\Collection">
<arguments>
<argument name="mainTable" xsi:type="string">customer_visitor</argument>
<argument name="resourceModel" xsi:type="string">Magento\Customer\Model\ResourceModel\Visitor</argument>
</arguments>
</type><type name="Magento\Customer\Api\CustomerRepositoryInterface">
<plugin name="transactionWrapper" type="Magento\Customer\Model\Plugin\CustomerRepository\TransactionWrapper" sortOrder="-1"/>
<plugin name="login_as_customer_customer_repository_plugin" type="Magento\LoginAsCustomerAssistance\Plugin\CustomerPlugin"/><plugin name="update_newsletter_subscription_on_customer_update" type="Magento\Newsletter\Model\Plugin\CustomerPlugin"/></type><type name="Magento\Customer\Model\Authorization\CustomerSessionUserContext">
<arguments>
<argument name="customerSession" xsi:type="object">Magento\Customer\Model\Session\Proxy</argument>
</arguments>
</type><type name="Magento\PageCache\Observer\FlushFormKey">
<plugin name="customerFlushFormKey" type="Magento\Customer\Model\Plugin\CustomerFlushFormKey"/>
</type><type name="Magento\Customer\Model\Customer\NotificationStorage">
<arguments>
<argument name="cache" xsi:type="object">Magento\Customer\Model\Cache\Type\Notification</argument>
</arguments>
</type><type name="Magento\Customer\Model\ResourceModel\CustomerRepository">
<arguments>
<argument name="collectionProcessor" xsi:type="object">Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor</argument>
</arguments>
</type><virtualType name="Magento\Customer\Model\Api\SearchCriteria\CollectionProcessor\GroupFilterProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\FilterProcessor">
<arguments>
<argument name="fieldMapping" xsi:type="array">
<item name="code" xsi:type="string">main_table.customer_group_code</item>
<item name="id" xsi:type="string">main_table.customer_group_id</item>
<item name="tax_class_name" xsi:type="string">tax_class_table.class_name</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Customer\Model\Api\SearchCriteria\CollectionProcessor\GroupSortingProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\SortingProcessor">
<arguments>
<argument name="fieldMapping" xsi:type="array">
<item name="code" xsi:type="string">main_table.customer_group_code</item>
<item name="id" xsi:type="string">main_table.customer_group_id</item>
<item name="tax_class_name" xsi:type="string">tax_class_table.class_name</item>
</argument>
<argument name="defaultOrders" xsi:type="array">
<item name="id" xsi:type="string">ASC</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Customer\Model\Api\SearchCriteria\GroupCollectionProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor">
<arguments>
<argument name="processors" xsi:type="array">
<item name="filters" xsi:type="object">Magento\Customer\Model\Api\SearchCriteria\CollectionProcessor\GroupFilterProcessor</item>
<item name="sorting" xsi:type="object">Magento\Customer\Model\Api\SearchCriteria\CollectionProcessor\GroupSortingProcessor</item>
<item name="pagination" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\PaginationProcessor</item>
</argument>
</arguments>
</virtualType><type name="Magento\Customer\Model\ResourceModel\GroupRepository">
<arguments>
<argument name="collectionProcessor" xsi:type="object">Magento\Customer\Model\Api\SearchCriteria\GroupCollectionProcessor</argument>
</arguments>
<plugin name="create_delete_customer_groups_index_tables" type="Magento\CatalogPermissions\Plugin\Customer\Model\ResourceModel\GroupRepositoryPlugin"/></type><type name="Magento\Customer\Model\ResourceModel\AddressRepository">
<arguments>
<argument name="collectionProcessor" xsi:type="object">Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor</argument>
</arguments>
</type><type name="Magento\Customer\Model\Attribute">
<arguments>
<argument name="attributeMetadataCache" xsi:type="object">Magento\Customer\Model\Metadata\AttributeMetadataCache\Proxy</argument>
</arguments>
</type><type name="Magento\Framework\EntityManager\MetadataPool">
<arguments>
<argument name="metadata" xsi:type="array">
<item name="Magento\Customer\Api\Data\CustomerInterface" xsi:type="array">
<item name="entityTableName" xsi:type="string">customer_entity</item>
<item name="eavEntityType" xsi:type="string">customer</item>
<item name="identifierField" xsi:type="string">entity_id</item>
</item>
<item name="Magento\Cms\Api\Data\PageInterface" xsi:type="array">
<item name="entityTableName" xsi:type="string">cms_page</item>
<item name="identifierField" xsi:type="string">page_id</item>
<item name="sequenceTable" xsi:type="string">sequence_cms_page</item></item><item name="Magento\Cms\Api\Data\BlockInterface" xsi:type="array">
<item name="entityTableName" xsi:type="string">cms_block</item>
<item name="identifierField" xsi:type="string">block_id</item>
<item name="sequenceTable" xsi:type="string">sequence_cms_block</item></item><item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array">
<item name="entityTableName" xsi:type="string">catalog_product_entity</item>
<item name="eavEntityType" xsi:type="string">catalog_product</item>
<item name="identifierField" xsi:type="string">entity_id</item>
<item name="entityContext" xsi:type="array">
<item name="store" xsi:type="string">Magento\Store\Model\StoreScopeProvider</item>
</item>
<item name="sequenceTable" xsi:type="string">sequence_product</item></item><item name="Magento\Catalog\Api\Data\CategoryInterface" xsi:type="array">
<item name="entityTableName" xsi:type="string">catalog_category_entity</item>
<item name="eavEntityType" xsi:type="string">catalog_category</item>
<item name="identifierField" xsi:type="string">entity_id</item>
<item name="entityContext" xsi:type="array">
<item name="store" xsi:type="string">Magento\Store\Model\StoreScopeProvider</item>
</item>
<item name="sequenceTable" xsi:type="string">sequence_catalog_category</item></item><item name="Magento\Catalog\Api\Data\CategoryLinkInterface" xsi:type="array">
<item name="entityTableName" xsi:type="string">catalog_category_product</item>
<item name="identifierField" xsi:type="string">entity_id</item>
</item><item name="Magento\Catalog\Api\Data\ProductFrontendActionInterface" xsi:type="array">
<item name="entityTableName" xsi:type="string">catalog_product_frontend_action</item>
<item name="identifierField" xsi:type="string">action_id</item>
</item><item name="Magento\CatalogRule\Api\Data\RuleInterface" xsi:type="array">
<item name="entityTableName" xsi:type="string">catalogrule</item>
<item name="identifierField" xsi:type="string">rule_id</item>
<item name="sequenceTable" xsi:type="string">sequence_catalogrule</item></item><item name="Magento\Bundle\Api\Data\OptionInterface" xsi:type="array">
<item name="entityTableName" xsi:type="string">catalog_product_bundle_option</item>
<item name="identifierField" xsi:type="string">option_id</item>
<item name="sequenceTable" xsi:type="string">sequence_product_bundle_option</item></item><item name="Magento\Bundle\Model\Selection" xsi:type="array">
<item name="entityTableName" xsi:type="string">catalog_product_bundle_selection</item>
<item name="identifierField" xsi:type="string">selection_id</item>
<item name="sequenceTable" xsi:type="string">sequence_product_bundle_selection</item></item><item name="Magento\SalesRule\Api\Data\RuleInterface" xsi:type="array">
<item name="entityTableName" xsi:type="string">salesrule</item>
<item name="identifierField" xsi:type="string">rule_id</item>
<item name="sequenceTable" xsi:type="string">sequence_salesrule</item></item><item name="Magento\Downloadable\Api\Data\LinkInterface" xsi:type="array">
<item name="entityTableName" xsi:type="string">downloadable_link</item>
<item name="identifierField" xsi:type="string">link_id</item>
</item><item name="Magento\Downloadable\Api\Data\SampleInterface" xsi:type="array">
<item name="entityTableName" xsi:type="string">downloadable_sample</item>
<item name="identifierField" xsi:type="string">sample_id</item>
</item><item name="Magento\GiftCard\Api\Data\GiftcardAmountInterface" xsi:type="array">
<item name="entityTableName" xsi:type="string">magento_giftcard_amount</item>
<item name="identifierField" xsi:type="string">value_id</item>
</item><item name="Magento\AsynchronousOperations\Api\Data\OperationInterface" xsi:type="array">
<item name="entityTableName" xsi:type="string">magento_operation</item>
<item name="identifierField" xsi:type="string">id</item>
</item><item name="Magento\AsynchronousOperations\Api\Data\BulkSummaryInterface" xsi:type="array">
<item name="entityTableName" xsi:type="string">magento_bulk</item>
<item name="identifierField" xsi:type="string">uuid</item>
</item><item name="Magento\AsynchronousOperations\Api\Data\OperationListInterface" xsi:type="array">
<item name="entityTableName" xsi:type="string">magento_operation</item>
<item name="identifierField" xsi:type="string">id</item>
</item></argument>
<argument name="eavMapping" xsi:type="array">
<item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="string">catalog_product</item>
</argument></arguments>
</type><type name="Magento\Customer\Ui\Component\MassAction\Group\Options">
<arguments>
<argument name="data" xsi:type="array">
<item name="urlPath" xsi:type="string">customer/index/massAssignGroup</item>
<item name="paramName" xsi:type="string">group</item>
<item name="confirm" xsi:type="array">
<item name="title" xsi:type="string" translatable="true">Assign a Customer Group</item>
<item name="message" xsi:type="string" translatable="true">Are you sure to assign selected customers to new group?</item>
</item>
</argument>
</arguments>
</type><type name="Magento\Customer\Model\AccountManagement">
<arguments>
<argument name="sessionManager" xsi:type="object">Magento\Framework\Session\SessionManagerInterface\Proxy</argument>
</arguments>
<plugin name="security_check_customer_password_reset_attempt" type="Magento\Security\Model\Plugin\AccountManagement"/></type><type name="Magento\Customer\Model\Address\CompositeValidator">
<arguments>
<argument name="validators" xsi:type="array">
<item name="general" xsi:type="object">Magento\Customer\Model\Address\Validator\General</item>
<item name="country" xsi:type="object">Magento\Customer\Model\Address\Validator\Country</item>
<item name="customer" xsi:type="object">Magento\Customer\Model\Address\Validator\Customer</item>
</argument>
</arguments>
</type><type name="Magento\Customer\Model\ResourceModel\Group\Grid\Collection">
<arguments>
<argument name="mainTable" xsi:type="string">customer_group</argument>
<argument name="eventPrefix" xsi:type="string">customer_group_grid_collection</argument>
<argument name="eventObject" xsi:type="string">customer_group_collection</argument>
<argument name="resourceModel" xsi:type="string">Magento\Customer\Model\ResourceModel\Group</argument>
</arguments>
</type><type name="Magento\Customer\Model\ResourceModel\Address\Grid\Collection">
<arguments>
<argument name="mainTable" xsi:type="string">customer_address_entity</argument>
<argument name="eventPrefix" xsi:type="string">customer_address_entity_grid_collection</argument>
<argument name="eventObject" xsi:type="string">customer_address_entity_grid_collection</argument>
<argument name="resourceModel" xsi:type="string">Magento\Customer\Model\ResourceModel\Address</argument>
</arguments>
</type><type name="Magento\Webapi\Controller\Rest\ParamsOverrider">
<arguments>
<argument name="paramOverriders" xsi:type="array">
<item name="%customer_group_id%" xsi:type="object">Magento\Customer\Model\Webapi\ParamOverriderCustomerGroupId</item>
<item name="%customer_website_id%" xsi:type="object">Magento\Customer\Model\Webapi\ParamOverriderCustomerWebsiteId</item>
<item name="%customer_store_id%" xsi:type="object">Magento\Customer\Model\Webapi\ParamOverriderCustomerStoreId</item>
<item name="%cart_id%" xsi:type="object">Magento\Quote\Model\Webapi\ParamOverriderCartId\Proxy</item><item name="%customer_id%" xsi:type="object">Magento\Webapi\Controller\Rest\ParamOverriderCustomerId</item></argument>
</arguments>
</type><preference for="Magento\Customer\Api\AccountDelegationInterface" type="Magento\Customer\Model\Delegation\AccountDelegation"/><type name="Magento\Customer\Api\GroupRepositoryInterface">
<plugin name="saveCustomerGroupExcludedWebsite" type="Magento\Customer\Model\Plugin\SaveCustomerGroupExcludedWebsite"/>
<plugin name="deleteCustomerGroupExcludedWebsite" type="Magento\Customer\Model\Plugin\DeleteCustomerGroupExcludedWebsite"/>
<plugin name="getByIdCustomerGroupExcludedWebsite" type="Magento\Customer\Model\Plugin\GetByIdCustomerGroupExcludedWebsite"/>
<plugin name="getListCustomerGroupExcludedWebsite" type="Magento\Customer\Model\Plugin\GetListCustomerGroupExcludedWebsite"/>
<plugin name="invalidatePriceIndexerOnCustomerGroup" type="Magento\Catalog\Model\Indexer\Product\Price\Plugin\CustomerGroup"/><plugin name="customerGroupEdit" type="Magento\CatalogPermissions\Model\Indexer\Plugin\GroupRepository"/></type><type name="Magento\Customer\Ui\Component\Listing\Columns">
<arguments>
<argument name="filterConfigProviders" xsi:type="array">
<item name="text" xsi:type="object">Magento\Customer\Ui\Component\Listing\Filter\TextFilterConfigProvider</item>
</argument>
</arguments>
</type><type name="Magento\AdvancedPricingImportExport\Model\Import\AdvancedPricing">
<plugin name="invalidateAdvancedPriceIndexerOnImport" type="Magento\AdvancedPricingImportExport\Model\Indexer\Product\Price\Plugin\Import"/>
</type><type name="Magento\AdvancedPricingImportExport\Model\Import\AdvancedPricing\Validator">
<arguments>
<argument name="validators" xsi:type="array">
<item name="tierPrice" xsi:type="object">Magento\AdvancedPricingImportExport\Model\Import\AdvancedPricing\Validator\TierPrice</item>
<item name="website" xsi:type="object">Magento\AdvancedPricingImportExport\Model\Import\AdvancedPricing\Validator\Website</item>
<item name="tierPriceType" xsi:type="object">Magento\AdvancedPricingImportExport\Model\Import\AdvancedPricing\Validator\TierPriceType</item>
</argument>
</arguments>
</type><preference for="Magento\ImportExport\Controller\Adminhtml\Export\GetFilter" type="Magento\AdvancedPricingImportExport\Controller\Adminhtml\Export\GetFilter"/><preference for="Magento\Framework\Mview\View\State\CollectionInterface" type="Magento\Indexer\Model\ResourceModel\Mview\View\State\Collection"/><preference for="Magento\Framework\Mview\View\StateInterface" type="Magento\Indexer\Model\Mview\View\State"/><preference for="Magento\Framework\Indexer\ConfigInterface" type="Magento\Indexer\Model\Config"/><preference for="Magento\Framework\Indexer\IndexerInterface" type="Magento\Indexer\Model\Indexer\DependencyDecorator"/><preference for="Magento\Framework\Indexer\Table\StrategyInterface" type="Magento\Framework\Indexer\Table\Strategy"/><preference for="Magento\Framework\Indexer\StateInterface" type="Magento\Indexer\Model\Indexer\State"/><preference for="Magento\Framework\Indexer\IndexMutexInterface" type="Magento\Indexer\Model\IndexMutex"/><type name="Magento\Framework\Indexer\Table\StrategyInterface" shared="false"/><type name="Magento\Indexer\Model\Indexer">
<arguments>
<argument name="view" xsi:type="object" shared="false">Magento\Framework\Mview\View</argument>
</arguments>
<plugin name="reindexRow" type="Magento\CatalogStaging\Helper\Indexer"/></type><type name="Magento\Indexer\Model\Config">
<arguments>
<argument name="configData" xsi:type="object">Magento\Indexer\Model\Config\Data\Proxy</argument>
</arguments>
</type><type name="Magento\Indexer\Model\HandlerPool">
<arguments>
<argument name="defaultHandler" xsi:type="object">Magento\Indexer\Model\Handler\DefaultHandler</argument>
</arguments>
</type><type name="Magento\Indexer\Model\Config\Data">
<arguments>
<argument name="stateCollection" xsi:type="object" shared="false">Magento\Indexer\Model\ResourceModel\Indexer\State\Collection</argument>
</arguments>
<plugin name="indexerCategoryFlatConfigGet" type="Magento\Catalog\Model\Indexer\Category\Flat\Plugin\IndexerConfigData"/><plugin name="indexerProductFlatConfigGet" type="Magento\Catalog\Model\Indexer\Product\Flat\Plugin\IndexerConfigData"/><plugin name="catalogPermissionsIndexerConfigGet" type="Magento\CatalogPermissions\Model\Indexer\Plugin\IndexerConfigData"/></type><type name="Magento\Framework\Mview\View\Subscription">
<arguments>
<argument name="viewCollection" xsi:type="object" shared="false">Magento\Framework\Mview\View\CollectionInterface</argument>
</arguments>
</type><type name="Magento\Indexer\Model\Processor">
<plugin name="page-cache-indexer-reindex-clean-cache" type="Magento\Indexer\Model\Processor\CleanCache" sortOrder="10"/>
</type><type name="Magento\Indexer\Model\ProcessManager">
<arguments>
<argument name="threadsCount" xsi:type="init_parameter">Magento\Indexer\Model\ProcessManager::THREADS_COUNT</argument>
</arguments>
</type><preference for="Magento\Framework\Indexer\BatchSizeManagementInterface" type="Magento\Framework\Indexer\BatchSizeManagement"/><type name="Magento\Indexer\Model\Indexer\DependencyDecorator">
<arguments>
<argument name="indexer" xsi:type="object" shared="false">Magento\Indexer\Model\Indexer</argument>
</arguments>
</type><type name="Magento\Framework\Indexer\ActionInterface">
<plugin name="cache_cleaner_after_reindex" type="Magento\Indexer\Model\Indexer\CacheCleaner"/>
</type><type name="Magento\Framework\Indexer\CacheContext">
<plugin name="defer_cache_cleaning" type="Magento\Indexer\Model\Indexer\DeferCacheCleaning"/>
</type><preference for="Magento\Framework\App\Config\Storage\WriterInterface" type="Magento\Framework\App\Config\Storage\Writer"/><preference for="Magento\Backend\Model\Auth\StorageInterface" type="Magento\Backend\Model\Auth\Session"/><preference for="Magento\Backend\Model\Auth\Credential\StorageInterface" type="Magento\User\Model\User"/><preference for="Magento\Backend\App\ConfigInterface" type="Magento\Backend\App\Config"/><preference for="Magento\Backend\Model\UrlInterface" type="Magento\Backend\Model\Url"/><preference for="Magento\Backend\Block\Widget\Button\ToolbarInterface" type="Magento\Backend\Block\Widget\Button\Toolbar"/><preference for="Magento\Backend\Service\V1\ModuleServiceInterface" type="Magento\Backend\Service\V1\ModuleService"/><type name="Magento\Backend\Block\Widget\Button\ButtonList" shared="false"/><type name="Magento\Backend\Model\Menu\Config">
<arguments>
<argument name="menuDirector" xsi:type="object">Magento\Backend\Model\Menu\Director\Director</argument>
</arguments>
</type><type name="Magento\Backend\Helper\Data">
<arguments>
<argument name="backendUrl" xsi:type="object">Magento\Backend\Model\UrlInterface\Proxy</argument>
<argument name="auth" xsi:type="object">Magento\Backend\Model\Auth\Proxy</argument>
<argument name="locale" xsi:type="object">Magento\Backend\Model\Locale\Resolver\Proxy</argument>
</arguments>
</type><type name="Magento\Backend\Model\Widget\Grid\Row\UrlGenerator">
<arguments>
<argument name="backendUrl" xsi:type="object">Magento\Backend\Model\UrlInterface\Proxy</argument>
</arguments>
</type><type name="Magento\Backend\Model\Url\ScopeResolver">
<arguments>
<argument name="areaCode" xsi:type="string">adminhtml</argument>
</arguments>
</type><type name="Magento\Backend\Model\Url">
<arguments>
<argument name="scopeResolver" xsi:type="object">Magento\Backend\Model\Url\ScopeResolver</argument>
<argument name="authSession" xsi:type="object">Magento\Backend\Model\Auth\Session\Proxy</argument>
<argument name="formKey" xsi:type="object">Magento\Framework\Data\Form\FormKey\Proxy</argument>
<argument name="scopeType" xsi:type="const">Magento\Store\Model\ScopeInterface::SCOPE_STORE</argument>
<argument name="backendHelper" xsi:type="object">Magento\Backend\Helper\Data\Proxy</argument>
</arguments>
</type><preference for="Magento\Framework\Authorization\PolicyInterface" type="Magento\Framework\Authorization\Policy\Acl"/><preference for="Magento\Framework\Acl\AclResource\ProviderInterface" type="Magento\Framework\Acl\AclResource\Provider"/><type name="Magento\Framework\Acl\AclResource\Config\Reader\Filesystem">
<arguments>
<argument name="converter" xsi:type="object">Magento\Framework\Acl\AclResource\Config\Converter\Dom</argument>
</arguments>
</type><type name="Magento\Framework\Acl\AclResource\Provider">
<arguments>
<argument name="configReader" xsi:type="object">Magento\Framework\Acl\AclResource\Config\Reader\Filesystem</argument>
</arguments>
</type><type name="Magento\Framework\Acl\Builder">
<arguments>
<argument name="resourceLoader" xsi:type="object">Magento\Framework\Acl\Loader\ResourceLoader</argument>
<argument name="ruleLoader" xsi:type="object">Magento\Authorization\Model\Acl\Loader\Rule</argument><argument name="roleLoader" xsi:type="object">Magento\Authorization\Model\Acl\Loader\Role</argument></arguments>
</type><type name="Magento\Framework\Acl\RootResource">
<arguments>
<argument name="identifier" xsi:type="string">Magento_Backend::all</argument>
</arguments>
</type><type name="Magento\Backend\Controller\Adminhtml\Index\GlobalSearch">
<arguments>
<argument name="searchModules" xsi:type="array">
<item name="customers" xsi:type="array">
<item name="class" xsi:type="string">Magento\Backend\Model\Search\Customer</item>
<item name="acl" xsi:type="string">Magento_Customer::customer</item>
</item>
<item name="sales" xsi:type="array">
<item name="class" xsi:type="string">Magento\Backend\Model\Search\Order</item>
<item name="acl" xsi:type="string">Magento_Sales::sales</item>
</item>
<item name="config" xsi:type="array">
<item name="class" xsi:type="string">Magento\Backend\Model\Search\Config</item>
<item name="acl" xsi:type="string">Magento_Config::config</item>
</item>
<item name="products" xsi:type="array">
<item name="class" xsi:type="string">Magento\CatalogSearch\Model\Search\Catalog</item>
<item name="acl" xsi:type="string">Magento_Catalog::catalog</item>
</item><item name="categories" xsi:type="array">
<item name="class" xsi:type="string">Magento\CatalogSearch\Model\Search\Category</item>
<item name="acl" xsi:type="string">Magento_Catalog::categories</item>
</item></argument>
</arguments>
</type><virtualType name="Magento\Backend\Model\Auth\Session\Storage" type="Magento\Framework\Session\Storage">
<arguments>
<argument name="namespace" xsi:type="string">admin</argument>
</arguments>
</virtualType><type name="Magento\Backend\Model\Auth\Session">
<arguments>
<argument name="aclBuilder" xsi:type="object">Magento\Framework\Acl\Builder\Proxy</argument>
<argument name="storage" xsi:type="object">Magento\Backend\Model\Auth\Session\Storage</argument>
</arguments>
<plugin name="admin_adobe_ims_backend_auth_session" type="Magento\AdminAdobeIms\Plugin\BackendAuthSessionPlugin"/></type><virtualType name="Magento\Backend\Model\Session\Storage" type="Magento\Framework\Session\Storage">
<arguments>
<argument name="namespace" xsi:type="string">adminhtml</argument>
</arguments>
</virtualType><type name="Magento\Backend\Model\Session">
<arguments>
<argument name="storage" xsi:type="object">Magento\Backend\Model\Session\Storage</argument>
</arguments>
</type><type name="Magento\Framework\App\Request\DataPersistor">
<arguments>
<argument name="session" xsi:type="object">Magento\Backend\Model\Session</argument>
</arguments>
</type><virtualType name="Magento\Backend\Model\Session\Quote\Storage" type="Magento\Framework\Session\Storage">
<arguments>
<argument name="namespace" xsi:type="string">adminhtml_quote</argument>
</arguments>
</virtualType><type name="Magento\Backend\Model\Session\Quote">
<arguments>
<argument name="storage" xsi:type="object">Magento\Backend\Model\Session\Quote\Storage</argument>
</arguments>
</type><type name="Magento\Backend\Block\Menu">
<arguments>
<argument name="menuItemChecker" xsi:type="object">Magento\Backend\Block\MenuItemChecker</argument>
<argument name="anchorRenderer" xsi:type="object">Magento\Backend\Block\AnchorRenderer</argument>
</arguments>
</type><type name="Magento\Backend\Model\Validator\UrlKey\CompositeUrlKey">
<arguments>
<argument name="validators" xsi:type="array">
<item name="frontNameValidator" xsi:type="object">Magento\Backend\Model\Validator\UrlKey\FrontName</item>
<item name="restrictedWordsValidator" xsi:type="object">Magento\Backend\Model\Validator\UrlKey\RestrictedWords</item>
</argument>
</arguments>
</type><preference for="Magento\Config\Model\Config\Structure\SearchInterface" type="Magento\Config\Model\Config\Structure"/><preference for="Magento\Config\Model\Config\Backend\File\RequestData\RequestDataInterface" type="Magento\Config\Model\Config\Backend\File\RequestData"/><preference for="Magento\Framework\App\Config\ConfigResource\ConfigInterface" type="Magento\Config\Model\ResourceModel\Config"/><preference for="Magento\Framework\App\Config\CommentParserInterface" type="Magento\Config\Model\Config\Parser\Comment"/><virtualType name="Magento\Framework\View\TemplateEngine\Xhtml\ConfigCompiler" type="Magento\Framework\View\TemplateEngine\Xhtml\Compiler" shared="false">
<arguments>
<argument name="compilerText" xsi:type="object">Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Text</argument>
<argument name="compilerAttribute" xsi:type="object">Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Attribute</argument>
<argument name="compilerCdata" xsi:type="object">Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Cdata</argument>
<argument name="compilerComment" xsi:type="object">Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Comment</argument>
<argument name="elementCompilers" xsi:type="array">
<item name="include" xsi:type="object">Magento\Config\Model\Config\Compiler\IncludeElement</item>
</argument>
</arguments>
</virtualType><type name="Magento\Config\Model\Config\Structure\Reader">
<arguments>
<argument name="compiler" xsi:type="object">Magento\Framework\View\TemplateEngine\Xhtml\ConfigCompiler</argument>
</arguments>
</type><type name="Magento\Config\Controller\Adminhtml\System\Config\Save">
<arguments>
<argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Layout</argument>
</arguments>
</type><type name="Magento\Config\Model\Config\Structure\Element\Iterator\Group" shared="false"/><type name="Magento\Config\Model\Config\Structure\Element\Group\Proxy" shared="false"/><type name="Magento\Config\Model\Config\Structure\Element\Dependency\Mapper" shared="false">
<arguments>
<argument name="fieldLocator" xsi:type="object">Magento\Config\Model\Config\Structure\Search\Proxy</argument>
</arguments>
</type><type name="Magento\Config\Model\Config\Structure\Data">
<arguments>
<argument name="cacheId" xsi:type="string">backend_system_configuration_structure</argument>
</arguments>
</type><type name="Magento\Config\Model\Config\Structure\Element\Tab" shared="false">
<arguments>
<argument name="childrenIterator" xsi:type="object">Magento\Config\Model\Config\Structure\Element\Iterator\Section</argument>
</arguments>
</type><type name="Magento\Config\Model\Config\Structure\Element\Section" shared="false">
<arguments>
<argument name="childrenIterator" xsi:type="object">Magento\Config\Model\Config\Structure\Element\Iterator\Group</argument>
</arguments>
</type><type name="Magento\Config\Model\Config\Structure\Element\Iterator\Field" shared="false">
<arguments>
<argument name="groupFlyweight" xsi:type="object">Magento\Config\Model\Config\Structure\Element\Group\Proxy</argument>
</arguments>
</type><type name="Magento\Config\Model\Config\Structure\Element\Group" shared="false">
<arguments>
<argument name="childrenIterator" xsi:type="object">Magento\Config\Model\Config\Structure\Element\Iterator\Field</argument>
</arguments>
</type><type name="Magento\Framework\App\Config\Value">
<arguments>
<argument name="resource" xsi:type="object">Magento\Config\Model\ResourceModel\Config\Data</argument>
<argument name="resourceCollection" xsi:type="object">Magento\Config\Model\ResourceModel\Config\Data\Collection\Proxy</argument>
</arguments>
<plugin name="admin_system_config_media_gallery_renditions" type="Magento\MediaGalleryRenditions\Plugin\UpdateRenditionsOnConfigChange"/><plugin name="admin_system_config_adobe_stock_save_plugin" type="Magento\MediaGallerySynchronization\Plugin\MediaGallerySyncTrigger"/><plugin name="webapiResourceSecurityCacheInvalidate" type="Magento\WebapiSecurity\Model\Plugin\CacheInvalidator"/></type><type name="Magento\Framework\Lock\Backend\Cache">
<arguments>
<argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Config</argument>
</arguments>
</type><type name="Magento\Config\App\Config\Type\System">
<arguments>
<argument name="source" xsi:type="object">systemConfigSourceAggregatedProxy</argument>
<argument name="postProcessor" xsi:type="object">systemConfigPostProcessorCompositeProxy</argument>
<argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Config</argument>
<argument name="preProcessor" xsi:type="object">Magento\Framework\App\Config\PreProcessorComposite</argument>
<argument name="serializer" xsi:type="object">Magento\Framework\Serialize\Serializer\Serialize</argument>
<argument name="reader" xsi:type="object">Magento\Config\App\Config\Type\System\Reader\Proxy</argument>
<argument name="lockQuery" xsi:type="object">systemConfigQueryLocker</argument>
</arguments>
</type><virtualType name="systemConfigQueryLocker" type="Magento\Framework\Cache\LockGuardedCacheLoader">
<arguments>
<argument name="locker" xsi:type="object">Magento\Framework\Lock\Proxy</argument>
</arguments>
</virtualType><type name="Magento\Config\App\Config\Type\System\Reader">
<arguments>
<argument name="source" xsi:type="object">systemConfigSourceAggregated</argument>
<argument name="postProcessor" xsi:type="object">systemConfigPostProcessorComposite</argument>
<argument name="preProcessor" xsi:type="object">Magento\Framework\App\Config\PreProcessorComposite</argument>
</arguments>
</type><virtualType name="systemSnapshot" type="Magento\Config\App\Config\Type\System">
<arguments>
<argument name="source" xsi:type="object">systemConfigSnapshotSourceAggregated</argument>
<argument name="configType" xsi:type="string">system_snapshot</argument>
</arguments>
</virtualType><virtualType name="configSnapshot" type="Magento\Framework\App\Config">
<arguments>
<argument name="types" xsi:type="array">
<item name="system" xsi:type="object">systemSnapshot</item>
</argument>
</arguments>
</virtualType><virtualType name="snapshotValueFactory" type="Magento\Config\Model\PreparedValueFactory">
<arguments>
<argument name="config" xsi:type="object">configSnapshot</argument>
</arguments>
</virtualType><type name="Magento\Config\Model\Config\Importer">
<arguments>
<argument name="valueBuilder" xsi:type="object">snapshotValueFactory</argument>
</arguments>
</type><virtualType name="modulesDataProviderProxy" type="Magento\Framework\App\Config\InitialConfigSource\Proxy">
<arguments>
<argument name="instanceName" xsi:type="string">modulesDataProvider</argument>
</arguments>
</virtualType><virtualType name="modulesDataProvider" type="Magento\Framework\App\Config\InitialConfigSource">
<arguments>
<argument name="reader" xsi:type="object">Magento\Framework\App\DeploymentConfig\Reader</argument>
<argument name="configType" xsi:type="const">Magento\Framework\Config\ConfigOptionsListConstants::KEY_MODULES</argument>
<argument name="fileKey" xsi:type="const">Magento\Framework\Config\File\ConfigFilePool::APP_CONFIG</argument>
</arguments>
</virtualType><virtualType name="systemConfigPostProcessorCompositeProxy" type="Magento\Framework\App\Config\PostProcessorComposite\Proxy">
<arguments>
<argument name="instanceName" xsi:type="string">systemConfigPostProcessorComposite</argument>
</arguments>
</virtualType><virtualType name="systemConfigSourceAggregatedProxy" type="Magento\Framework\App\Config\ConfigSourceAggregated\Proxy">
<arguments>
<argument name="instanceName" xsi:type="string">systemConfigSourceAggregated</argument>
</arguments>
</virtualType><virtualType name="systemConfigSourceAggregated" type="Magento\Framework\App\Config\ConfigSourceAggregated">
<arguments>
<argument name="sources" xsi:type="array">
<item name="modular" xsi:type="array">
<item name="source" xsi:type="object">Magento\Config\App\Config\Source\ModularConfigSource</item>
<item name="sortOrder" xsi:type="string">10</item>
</item>
<item name="dynamic" xsi:type="array">
<item name="source" xsi:type="object">Magento\Config\App\Config\Source\RuntimeConfigSource</item>
<item name="sortOrder" xsi:type="string">100</item>
</item>
<item name="initial" xsi:type="array">
<item name="source" xsi:type="object">systemConfigInitialDataProvider</item>
<item name="sortOrder" xsi:type="string">1000</item>
</item>
</argument>
</arguments>
</virtualType><virtualType name="systemConfigSnapshotSourceAggregated" type="systemConfigSourceAggregated">
<arguments>
<argument name="sources" xsi:type="array">
<item name="initial" xsi:type="array">
<item name="source" xsi:type="object">Magento\Config\App\Config\Source\InitialSnapshotConfigSource</item>
<item name="sortOrder" xsi:type="string">1000</item>
</item>
</argument>
</arguments>
</virtualType><virtualType name="systemConfigInitialDataProvider" type="Magento\Framework\App\Config\InitialConfigSource">
<arguments>
<argument name="reader" xsi:type="object">Magento\Framework\App\DeploymentConfig\Reader</argument>
<argument name="configType" xsi:type="const">Magento\Config\App\Config\Type\System::CONFIG_TYPE</argument>
</arguments>
</virtualType><virtualType name="appDumpSystemSource" type="Magento\Config\App\Config\Source\DumpConfigSourceAggregated">
<arguments>
<argument name="sources" xsi:type="array">
<item name="structure" xsi:type="array">
<item name="source" xsi:type="object">Magento\Config\App\Config\Source\ConfigStructureSource</item>
<item name="sortOrder" xsi:type="string">1</item>
</item>
<item name="modular" xsi:type="array">
<item name="source" xsi:type="object">Magento\Config\App\Config\Source\ModularConfigSource</item>
<item name="sortOrder" xsi:type="string">10</item>
</item>
<item name="dynamic" xsi:type="array">
<item name="source" xsi:type="object">Magento\Config\App\Config\Source\RuntimeConfigSource</item>
<item name="sortOrder" xsi:type="string">100</item>
</item>
<item name="initial" xsi:type="array">
<item name="source" xsi:type="object">systemConfigInitialDataProvider</item>
<item name="sortOrder" xsi:type="string">1000</item>
</item>
</argument>
</arguments>
</virtualType><virtualType name="appDumpConfigSystemSource" type="appDumpSystemSource">
<arguments>
<argument name="rules" xsi:type="array">
<item name="default" xsi:type="const">Magento\Config\App\Config\Source\DumpConfigSourceAggregated::RULE_TYPE_INCLUDE</item>
<item name="environment" xsi:type="const">Magento\Config\App\Config\Source\DumpConfigSourceAggregated::RULE_TYPE_EXCLUDE</item>
<item name="sensitive" xsi:type="const">Magento\Config\App\Config\Source\DumpConfigSourceAggregated::RULE_TYPE_EXCLUDE</item>
</argument>
</arguments>
</virtualType><virtualType name="appDumpEnvSystemSource" type="appDumpSystemSource">
<arguments>
<argument name="rules" xsi:type="array">
<item name="default" xsi:type="const">Magento\Config\App\Config\Source\DumpConfigSourceAggregated::RULE_TYPE_EXCLUDE</item>
<item name="environment" xsi:type="const">Magento\Config\App\Config\Source\DumpConfigSourceAggregated::RULE_TYPE_INCLUDE</item>
<item name="sensitive" xsi:type="const">Magento\Config\App\Config\Source\DumpConfigSourceAggregated::RULE_TYPE_INCLUDE</item>
</argument>
</arguments>
</virtualType><type name="Magento\Config\Model\Config\Export\Comment">
<arguments>
<argument name="source" xsi:type="object">appDumpConfigSystemSource</argument>
</arguments>
</type><type name="Magento\Config\Model\Placeholder\PlaceholderFactory">
<arguments>
<argument name="types" xsi:type="array">
<item name="environment" xsi:type="string">Magento\Config\Model\Placeholder\Environment</item>
</argument>
</arguments>
</type><type name="Magento\Config\Model\Config\Parser\Comment">
<arguments>
<argument name="placeholder" xsi:type="object">Magento\Config\Model\Placeholder\Environment</argument>
</arguments>
</type><virtualType name="configShowSourceAggregated" type="Magento\Framework\App\Config\ConfigSourceAggregated">
<arguments>
<argument name="sources" xsi:type="array">
<item name="dynamic" xsi:type="array">
<item name="source" xsi:type="object">Magento\Config\App\Config\Source\RuntimeConfigSource</item>
<item name="sortOrder" xsi:type="string">100</item>
</item>
<item name="initial" xsi:type="array">
<item name="source" xsi:type="object">systemConfigInitialDataProvider</item>
<item name="sortOrder" xsi:type="string">1000</item>
</item>
<item name="envVariable" xsi:type="array">
<item name="source" xsi:type="object">Magento\Config\App\Config\Source\EnvironmentConfigSource</item>
<item name="sortOrder" xsi:type="string">2000</item>
</item>
</argument>
</arguments>
</virtualType><type name="Magento\Config\Console\Command\ConfigShowCommand">
<arguments>
<argument name="configSource" xsi:type="object">configShowSourceAggregated</argument>
</arguments>
</type><type name="Magento\Config\Console\Command\ConfigSet\ConfigSetProcessorFactory">
<arguments>
<argument name="processors" xsi:type="array">
<item name="default" xsi:type="string">Magento\Config\Console\Command\ConfigSet\DefaultProcessor</item>
<item name="lock-env" xsi:type="string">Magento\Config\Console\Command\ConfigSet\VirtualLockEnvProcessor</item>
<item name="lock-config" xsi:type="string">Magento\Config\Console\Command\ConfigSet\VirtualLockConfigProcessor</item>
</argument>
</arguments>
</type><virtualType name="Magento\Config\Console\Command\ConfigSet\VirtualLockEnvProcessor" type="Magento\Config\Console\Command\ConfigSet\LockProcessor">
<arguments>
<argument name="target" xsi:type="string">app_env</argument>
</arguments>
</virtualType><virtualType name="Magento\Config\Console\Command\ConfigSet\VirtualLockConfigProcessor" type="Magento\Config\Console\Command\ConfigSet\LockProcessor">
<arguments>
<argument name="target" xsi:type="string">app_config</argument>
</arguments>
</virtualType><virtualType name="adminhtmlConfigStructureData" type="\Magento\Config\Model\Config\Structure\Data">
<arguments>
<argument name="configScope" xsi:type="object">adminhtmlConfigScope</argument>
</arguments>
</virtualType><virtualType name="adminhtmlConfigStructure" type="Magento\Config\Model\Config\Structure">
<arguments>
<argument name="structureData" xsi:type="object">adminhtmlConfigStructureData</argument>
</arguments>
</virtualType><type name="Magento\Config\App\Config\Source\ConfigStructureSource">
<arguments>
<argument name="structure" xsi:type="object">adminhtmlConfigStructure</argument>
</arguments>
</type><type name="Magento\Config\Model\Config">
<arguments>
<argument name="configStructure" xsi:type="object">\Magento\Config\Model\Config\Structure\Proxy</argument>
</arguments>
<plugin name="configPermissionChange" type="Magento\CatalogPermissions\Model\Indexer\Plugin\ConfigData"/></type><type name="Magento\Variable\Model\Config\Structure\AvailableVariables">
<arguments>
<argument name="configPaths" xsi:type="array">
<item name="web" xsi:type="array">
<item name="web/unsecure/base_url" xsi:type="string">1</item>
<item name="web/secure/base_url" xsi:type="string">1</item>
</item>
<item name="trans_email/ident_general" xsi:type="array">
<item name="trans_email/ident_general/name" xsi:type="string">1</item>
<item name="trans_email/ident_general/email" xsi:type="string">1</item>
</item>
<item name="trans_email/ident_sales" xsi:type="array">
<item name="trans_email/ident_sales/name" xsi:type="string">1</item>
<item name="trans_email/ident_sales/email" xsi:type="string">1</item>
</item>
<item name="trans_email/ident_support" xsi:type="array">
<item name="trans_email/ident_support/name" xsi:type="string">1</item>
<item name="trans_email/ident_support/email" xsi:type="string">1</item>
</item>
<item name="trans_email/ident_custom1" xsi:type="array">
<item name="trans_email/ident_custom1/name" xsi:type="string">1</item>
<item name="trans_email/ident_custom1/email" xsi:type="string">1</item>
</item>
<item name="trans_email/ident_custom2" xsi:type="array">
<item name="trans_email/ident_custom2/name" xsi:type="string">1</item>
<item name="trans_email/ident_custom2/email" xsi:type="string">1</item>
</item>
<item name="general/store_information" xsi:type="array">
<item name="general/store_information/name" xsi:type="string">1</item>
<item name="general/store_information/phone" xsi:type="string">1</item>
<item name="general/store_information/hours" xsi:type="string">1</item>
<item name="general/store_information/country_id" xsi:type="string">1</item>
<item name="general/store_information/region_id" xsi:type="string">1</item>
<item name="general/store_information/postcode" xsi:type="string">1</item>
<item name="general/store_information/city" xsi:type="string">1</item>
<item name="general/store_information/street_line1" xsi:type="string">1</item>
<item name="general/store_information/street_line2" xsi:type="string">1</item>
<item name="general/store_information/merchant_vat_number" xsi:type="string">1</item>
</item>
</argument>
</arguments>
</type><type name="Magento\Variable\Model\Source\Variables">
<arguments>
<argument name="configStructure" xsi:type="object">Magento\Variable\Model\Config\StructureVirtual</argument>
</arguments>
</type><virtualType name="Magento\Variable\Model\Config\Structure\ReaderVirtual" type="Magento\Config\Model\Config\Structure\Reader">
<arguments>
<argument name="domDocumentClass" xsi:type="string">Magento\Variable\Model\Config\Structure\Dom</argument>
</arguments>
</virtualType><virtualType name="Magento\Variable\Model\Config\StructureDataVirtual" type="Magento\Config\Model\Config\Structure\Data">
<arguments>
<argument name="cacheId" xsi:type="string">variable_system_configuration_structure</argument>
<argument name="reader" xsi:type="object">Magento\Variable\Model\Config\Structure\ReaderVirtual</argument>
</arguments>
</virtualType><virtualType name="Magento\Variable\Model\Config\StructureVirtual" type="Magento\Config\Model\Config\StructureLazy">
<arguments>
<argument name="structureData" xsi:type="object">Magento\Variable\Model\Config\StructureDataVirtual</argument>
</arguments>
</virtualType><type name="Magento\Authorization\Model\Role" shared="false"><plugin name="updateRoleUsersAcl" type="Magento\User\Model\Plugin\AuthorizationRole" sortOrder="20"/></type><type name="Magento\Authorization\Model\ResourceModel\Rules">
<arguments>
<argument name="rootResource" xsi:type="object">Magento\Framework\Acl\RootResource\Proxy</argument>
</arguments>
</type><type name="Magento\Framework\Authorization\Policy\Acl">
<arguments>
<argument name="aclBuilder" xsi:type="object">Magento\Framework\Acl\Builder\Proxy</argument>
</arguments>
</type><preference for="Magento\Authorization\Model\UserContextInterface" type="Magento\Authorization\Model\CompositeUserContext"/><preference for="Magento\User\Api\Data\UserInterface" type="Magento\User\Model\User"/><preference for="Magento\User\Model\Spi\NotificatorInterface" type="Magento\User\Model\Notificator"/><preference for="Magento\Cms\Api\Data\PageSearchResultsInterface" type="Magento\Cms\Model\PageSearchResults"/><preference for="Magento\Cms\Api\Data\BlockSearchResultsInterface" type="Magento\Cms\Model\BlockSearchResults"/><preference for="Magento\Cms\Api\GetBlockByIdentifierInterface" type="Magento\Cms\Model\GetBlockByIdentifier"/><preference for="Magento\Cms\Api\GetPageByIdentifierInterface" type="Magento\Cms\Model\GetPageByIdentifier"/><preference for="Magento\Cms\Api\Data\PageInterface" type="Magento\Cms\Model\Page"/><preference for="Magento\Cms\Api\Data\BlockInterface" type="Magento\Cms\Model\Block"/><preference for="Magento\Cms\Api\BlockRepositoryInterface" type="Magento\Cms\Model\BlockRepository"/><preference for="Magento\Cms\Api\PageRepositoryInterface" type="Magento\Cms\Model\PageRepository\ValidationComposite"/><preference for="Magento\Ui\Component\Wysiwyg\ConfigInterface" type="Magento\Ui\Component\Wysiwyg\Config"/><preference for="Magento\Cms\Api\GetUtilityPageIdentifiersInterface" type="Magento\Cms\Model\GetUtilityPageIdentifiers"/><type name="Magento\Cms\Model\Wysiwyg\Config">
<arguments>
<argument name="windowSize" xsi:type="array">
<item name="height" xsi:type="number">600</item>
<item name="width" xsi:type="number">1000</item>
</argument>
</arguments>
</type><type name="Magento\Cms\Model\ResourceModel\Page\Grid\Collection">
<arguments>
<argument name="mainTable" xsi:type="string">cms_page</argument>
<argument name="eventPrefix" xsi:type="string">cms_page_grid_collection</argument>
<argument name="eventObject" xsi:type="string">page_grid_collection</argument>
<argument name="resourceModel" xsi:type="string">Magento\Cms\Model\ResourceModel\Page</argument>
</arguments>
<plugin name="setStagingFlagCmsPageUpdate" type="Magento\CmsStaging\Model\ResourceModel\Grid\Collection\UpdatePlugin"/></type><type name="Magento\Cms\Model\ResourceModel\Block\Grid\Collection">
<arguments>
<argument name="mainTable" xsi:type="string">cms_block</argument>
<argument name="eventPrefix" xsi:type="string">cms_block_grid_collection</argument>
<argument name="eventObject" xsi:type="string">block_grid_collection</argument>
<argument name="resourceModel" xsi:type="string">Magento\Cms\Model\ResourceModel\Block</argument>
</arguments>
<plugin name="setStagingFlagCmsBlockUpdate" type="Magento\CmsStaging\Model\ResourceModel\Grid\Collection\UpdatePlugin"/></type><type name="Magento\Framework\Model\Entity\RepositoryFactory">
<arguments>
<argument name="entities" xsi:type="array">
<item name="Magento\Cms\Api\Data\PageInterface" xsi:type="string">Magento\Cms\Api\PageRepositoryInterface</item>
<item name="Magento\Cms\Api\Data\BlockInterface" xsi:type="string">Magento\Cms\Api\BlockRepositoryInterface</item>
<item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="string">Magento\Catalog\Api\ProductRepositoryInterface</item><item name="Magento\Catalog\Api\Data\CategoryInterface" xsi:type="string">Magento\Catalog\Api\CategoryRepositoryInterface</item><item name="Magento\CatalogRule\Api\Data\RuleInterface" xsi:type="string">Magento\CatalogRule\Api\CatalogRuleRepositoryInterface</item><item name="Magento\SalesRule\Api\Data\RuleInterface" xsi:type="string">Magento\SalesRule\Model\ResourceModel\Rule</item></argument>
</arguments>
</type><type name="Magento\Framework\EntityManager\Operation\ExtensionPool">
<arguments>
<argument name="extensionActions" xsi:type="array">
<item name="Magento\Cms\Api\Data\PageInterface" xsi:type="array">
<item name="read" xsi:type="array">
<item name="storeReader" xsi:type="string">Magento\Cms\Model\ResourceModel\Page\Relation\Store\ReadHandler</item>
</item>
<item name="create" xsi:type="array">
<item name="storeCreator" xsi:type="string">Magento\Cms\Model\ResourceModel\Page\Relation\Store\SaveHandler</item>
</item>
<item name="update" xsi:type="array">
<item name="storeUpdater" xsi:type="string">Magento\Cms\Model\ResourceModel\Page\Relation\Store\SaveHandler</item>
</item>
</item>
<item name="Magento\Cms\Api\Data\BlockInterface" xsi:type="array">
<item name="read" xsi:type="array">
<item name="storeReader" xsi:type="string">Magento\Cms\Model\ResourceModel\Block\Relation\Store\ReadHandler</item>
</item>
<item name="create" xsi:type="array">
<item name="storeCreator" xsi:type="string">Magento\Cms\Model\ResourceModel\Block\Relation\Store\SaveHandler</item>
</item>
<item name="update" xsi:type="array">
<item name="storeUpdater" xsi:type="string">Magento\Cms\Model\ResourceModel\Block\Relation\Store\SaveHandler</item>
</item>
</item>
<item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array">
<item name="read" xsi:type="array">
<item name="optionReader" xsi:type="string">Magento\Catalog\Model\Product\Option\ReadHandler</item>
<item name="mediaGalleryRead" xsi:type="string">Magento\Catalog\Model\Product\Gallery\ReadHandler</item>
<item name="categoryProductLinksRead" xsi:type="string">Magento\Catalog\Model\Category\Link\ReadHandler</item>
<item name="websiteReader" xsi:type="string">Magento\Catalog\Model\Product\Website\ReadHandler</item>
<item name="read_bundle_options" xsi:type="string">Magento\Bundle\Model\Product\ReadHandler</item><item name="downloadable_link_read" xsi:type="string">Magento\Downloadable\Model\Link\ReadHandler</item><item name="downloadable_sample_read" xsi:type="string">Magento\Downloadable\Model\Sample\ReadHandler</item><item name="giftcard_amount_reader" xsi:type="string">Magento\GiftCard\Model\Product\ReadHandler</item><item name="read_configurable_options" xsi:type="string">Magento\ConfigurableProduct\Model\Product\ReadHandler</item></item>
<item name="create" xsi:type="array">
<item name="custom_options" xsi:type="string">Magento\Catalog\Model\Product\Option\SaveHandler</item>
<item name="mediaGalleryCreate" xsi:type="string">Magento\CatalogStaging\Model\Product\Gallery\CreateHandler</item>
<item name="categoryProductLinksSave" xsi:type="string">Magento\Catalog\Model\Category\Link\SaveHandler</item>
<item name="websitePersistor" xsi:type="string">Magento\Catalog\Model\Product\Website\SaveHandler</item>
<item name="tierPriceCreator" xsi:type="string">Magento\Catalog\Model\Product\Attribute\Backend\TierPrice\SaveHandler</item>
<item name="create_bundle_options" xsi:type="string">Magento\Bundle\Model\Product\SaveHandler</item><item name="downloadable_link_create" xsi:type="string">Magento\Downloadable\Model\Link\CreateHandler</item><item name="downloadable_sample_create" xsi:type="string">Magento\Downloadable\Model\Sample\CreateHandler</item><item name="giftcard_amount_creator" xsi:type="string">Magento\GiftCard\Model\Product\SaveHandler</item><item name="create_configurable_options" xsi:type="string">Magento\ConfigurableProduct\Model\Product\SaveHandler</item></item>
<item name="update" xsi:type="array">
<item name="optionUpdater" xsi:type="string">Magento\Catalog\Model\Product\Option\SaveHandler</item>
<item name="mediaGalleryUpdate" xsi:type="string">Magento\CatalogStaging\Model\Product\Gallery\UpdateHandler</item>
<item name="categoryProductLinksSave" xsi:type="string">Magento\Catalog\Model\Category\Link\SaveHandler</item>
<item name="websitePersistor" xsi:type="string">Magento\Catalog\Model\Product\Website\SaveHandler</item>
<item name="tierPriceUpdater" xsi:type="string">Magento\Catalog\Model\Product\Attribute\Backend\TierPrice\UpdateHandler</item>
<item name="update_bundle_options" xsi:type="string">Magento\Bundle\Model\Product\SaveHandler</item><item name="downloadable_link_update" xsi:type="string">Magento\Downloadable\Model\Sample\UpdateHandler</item><item name="downloadable_sample_update" xsi:type="string">Magento\Downloadable\Model\Link\UpdateHandler</item><item name="giftcard_amount_updater" xsi:type="string">Magento\GiftCard\Model\Product\SaveHandler</item><item name="update_configurable_options" xsi:type="string">Magento\ConfigurableProduct\Model\Product\SaveHandler</item></item>
<item name="delete" xsi:type="array">
<item name="downloadable_link_delete" xsi:type="string">Magento\Downloadable\Model\Sample\DeleteHandler</item>
<item name="downloadable_sample_delete" xsi:type="string">Magento\Downloadable\Model\Link\DeleteHandler</item>
<item name="giftcard_amount_deleter" xsi:type="string">Magento\GiftCard\Model\Product\DeleteHandler</item></item></item><item name="Magento\SalesRule\Api\Data\RuleInterface" xsi:type="array">
<item name="create" xsi:type="array">
<item name="create_reward" xsi:type="string">Magento\Reward\Model\SalesRule\SaveHandler</item>
</item>
<item name="update" xsi:type="array">
<item name="update_reward" xsi:type="string">Magento\Reward\Model\SalesRule\SaveHandler</item>
</item>
<item name="read" xsi:type="array">
<item name="read_reward" xsi:type="string">Magento\Reward\Model\SalesRule\ReadHandler</item>
</item>
</item></argument>
</arguments>
</type><type name="Magento\Framework\EntityManager\HydratorPool">
<arguments>
<argument name="hydrators" xsi:type="array">
<item name="Magento\Cms\Api\Data\PageInterface" xsi:type="string">Magento\Framework\EntityManager\AbstractModelHydrator</item>
<item name="Magento\Cms\Api\Data\BlockInterface" xsi:type="string">Magento\Framework\EntityManager\AbstractModelHydrator</item>
<item name="Magento\Catalog\Api\Data\CategoryInterface" xsi:type="string">Magento\Framework\EntityManager\AbstractModelHydrator</item><item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="string">Magento\Catalog\Model\Product\Hydrator</item><item name="Magento\CatalogRule\Api\Data\RuleInterface" xsi:type="string">Magento\Framework\EntityManager\AbstractModelHydrator</item><item name="Magento\Sales\Api\Data\ShipmentTrackCreationInterface" xsi:type="string">Magento\Framework\EntityManager\HydratorInterface</item><item name="Magento\Bundle\Api\Data\OptionInterface" xsi:type="string">Magento\Framework\EntityManager\AbstractModelHydrator</item><item name="Magento\Bundle\Model\Selection" xsi:type="string">Magento\Framework\EntityManager\AbstractModelHydrator</item><item name="Magento\SalesRule\Api\Data\RuleInterface" xsi:type="string">Magento\Framework\EntityManager\AbstractModelHydrator</item><item name="Magento\SalesRule\Api\Data\CouponInterface" xsi:type="string">Magento\Framework\EntityManager\AbstractModelHydrator</item><item name="Magento\Staging\Api\Data\UpdateInterface" xsi:type="string">Magento\Framework\EntityManager\AbstractModelHydrator</item><item name="Magento\GiftCard\Api\Data\GiftcardAmountInterface" xsi:type="string">Magento\Framework\EntityManager\AbstractModelHydrator</item></argument>
</arguments>
</type><virtualType name="Magento\Cms\Model\Api\SearchCriteria\CollectionProcessor\PageFilterProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\FilterProcessor">
<arguments>
<argument name="customFilters" xsi:type="array">
<item name="store_id" xsi:type="object">Magento\Cms\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor\PageStoreFilter</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Cms\Model\Api\SearchCriteria\PageCollectionProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor">
<arguments>
<argument name="processors" xsi:type="array">
<item name="filters" xsi:type="object">Magento\Cms\Model\Api\SearchCriteria\CollectionProcessor\PageFilterProcessor</item>
<item name="sorting" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\SortingProcessor</item>
<item name="pagination" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\PaginationProcessor</item>
</argument>
</arguments>
</virtualType><type name="Magento\Cms\Model\PageRepository">
<arguments>
<argument name="collectionProcessor" xsi:type="object">Magento\Cms\Model\Api\SearchCriteria\PageCollectionProcessor</argument>
<argument name="hydrator" xsi:type="object">Magento\Framework\EntityManager\AbstractModelHydrator</argument>
</arguments>
<plugin name="versions_cms_url_rewrite_plugin" type="Magento\VersionsCmsUrlRewrite\Plugin\Cms\Model\PageRepositoryPlugin"/></type><virtualType name="Magento\Cms\Model\Api\SearchCriteria\CollectionProcessor\BlockFilterProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\FilterProcessor">
<arguments>
<argument name="customFilters" xsi:type="array">
<item name="store_id" xsi:type="object">Magento\Cms\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor\BlockStoreFilter</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Cms\Model\Api\SearchCriteria\BlockCollectionProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor">
<arguments>
<argument name="processors" xsi:type="array">
<item name="filters" xsi:type="object">Magento\Cms\Model\Api\SearchCriteria\CollectionProcessor\BlockFilterProcessor</item>
<item name="sorting" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\SortingProcessor</item>
<item name="pagination" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\PaginationProcessor</item>
</argument>
</arguments>
</virtualType><type name="Magento\Cms\Model\BlockRepository">
<arguments>
<argument name="collectionProcessor" xsi:type="object">Magento\Cms\Model\Api\SearchCriteria\BlockCollectionProcessor</argument>
<argument name="hydrator" xsi:type="object">Magento\Framework\EntityManager\AbstractModelHydrator</argument>
</arguments>
</type><type name="Magento\Cms\Ui\Component\DataProvider">
<arguments>
<argument name="additionalFilterPool" xsi:type="array">
<item name="fulltext" xsi:type="object">Magento\Cms\Ui\Component\Page\FulltextFilter</item>
</argument>
</arguments>
<plugin name="filterCmsPageAndBlockUpdate" type="Magento\CmsStaging\Ui\Component\DataProvider\UpdatePlugin"/></type><type name="Magento\Catalog\Model\Product">
<plugin name="cms" type="Magento\Cms\Model\Plugin\Product" sortOrder="100"/>
<arguments>
<argument name="catalogProductStatus" xsi:type="object">Magento\Catalog\Model\Product\Attribute\Source\Status\Proxy</argument>
<argument name="productLink" xsi:type="object">Magento\Catalog\Model\Product\Link\Proxy</argument>
</arguments><plugin name="add_bundle_parent_identities" type="Magento\Bundle\Model\Plugin\ProductIdentitiesExtender" sortOrder="100"/><plugin name="catalogInventoryAfterLoad" type="Magento\CatalogInventory\Model\Plugin\AfterProductLoad"/><plugin name="product_identities_extender" type="Magento\ConfigurableProduct\Model\Plugin\ProductIdentitiesExtender"/><plugin name="catalogPermissionsProductChange" type="Magento\CatalogPermissions\Model\Indexer\Plugin\Product"/><plugin name="availabilityStaging" type="Magento\CatalogStaging\Plugin\Model\Product" sortOrder="100"/><plugin name="exclude_swatch_attribute" type="Magento\Swatches\Model\Plugin\Product"/></type><type name="Magento\Cms\Model\PageRepository\ValidationComposite">
<arguments>
<argument name="repository" xsi:type="object">Magento\Cms\Model\PageRepository</argument>
<argument name="validators" xsi:type="array">
<item name="layout_update" xsi:type="object">Magento\Cms\Model\PageRepository\Validator\LayoutUpdateValidator</item>
</argument>
<argument name="hydrator" xsi:type="object">Magento\Framework\EntityManager\AbstractModelHydrator</argument>
</arguments>
<plugin name="cms_validate_url_plugin" type="Magento\CmsUrlRewrite\Plugin\Cms\Model\PageRepository\ValidationCompositePlugin" sortOrder="10"/></type><preference for="Magento\Cms\Model\Page\CustomLayoutManagerInterface" type="Magento\Cms\Model\Page\CustomLayout\CustomLayoutManager"/><type name="Magento\Cms\Model\Page\CustomLayout\CustomLayoutManager">
<arguments>
<argument name="themeFactory" xsi:type="object">Magento\Framework\View\Design\Theme\FlyweightFactory\Proxy</argument>
</arguments>
</type><preference for="Magento\Cms\Model\Page\CustomLayoutRepositoryInterface" type="Magento\Cms\Model\Page\CustomLayout\CustomLayoutRepository"/><type name="Magento\Cms\Model\Wysiwyg\Validator">
<arguments>
<argument name="validator" xsi:type="object">DefaultWYSIWYGValidator</argument>
</arguments>
</type><preference for="Magento\Framework\Validator\HTML\WYSIWYGValidatorInterface" type="Magento\Cms\Model\Wysiwyg\Validator"/><virtualType name="DefaultWYSIWYGValidator" type="Magento\Framework\Validator\HTML\ConfigurableWYSIWYGValidator">
<arguments>
<argument name="allowedTags" xsi:type="array">
<item name="div" xsi:type="string">div</item>
<item name="a" xsi:type="string">a</item>
<item name="p" xsi:type="string">p</item>
<item name="span" xsi:type="string">span</item>
<item name="em" xsi:type="string">em</item>
<item name="strong" xsi:type="string">strong</item>
<item name="ul" xsi:type="string">ul</item>
<item name="li" xsi:type="string">li</item>
<item name="ol" xsi:type="string">ol</item>
<item name="h5" xsi:type="string">h5</item>
<item name="h4" xsi:type="string">h4</item>
<item name="h3" xsi:type="string">h3</item>
<item name="h2" xsi:type="string">h2</item>
<item name="h1" xsi:type="string">h1</item>
<item name="table" xsi:type="string">table</item>
<item name="tbody" xsi:type="string">tbody</item>
<item name="tr" xsi:type="string">tr</item>
<item name="td" xsi:type="string">td</item>
<item name="th" xsi:type="string">th</item>
<item name="tfoot" xsi:type="string">tfoot</item>
<item name="img" xsi:type="string">img</item>
<item name="hr" xsi:type="string">hr</item>
<item name="figure" xsi:type="string">figure</item>
<item name="button" xsi:type="string">button</item>
<item name="i" xsi:type="string">i</item>
<item name="u" xsi:type="string">u</item>
<item name="br" xsi:type="string">br</item>
<item name="b" xsi:type="string">b</item>
<item name="iframe" xsi:type="string">iframe</item><item name="style" xsi:type="string">style</item><item name="pre" xsi:type="string">pre</item></argument>
<argument name="allowedAttributes" xsi:type="array">
<item name="class" xsi:type="string">class</item>
<item name="width" xsi:type="string">width</item>
<item name="height" xsi:type="string">height</item>
<item name="style" xsi:type="string">style</item>
<item name="alt" xsi:type="string">alt</item>
<item name="title" xsi:type="string">title</item>
<item name="border" xsi:type="string">border</item>
<item name="id" xsi:type="string">id</item>
<item name="data-active-tab" xsi:type="string">data-active-tab</item><item name="data-appearance" xsi:type="string">data-appearance</item><item name="data-autoplay" xsi:type="string">data-autoplay</item><item name="data-autoplay-speed" xsi:type="string">data-autoplay-speed</item><item name="data-background-images" xsi:type="string">data-background-images</item><item name="data-background-type" xsi:type="string">data-background-type</item><item name="data-carousel-mode" xsi:type="string">data-carousel-mode</item><item name="data-center-padding" xsi:type="string">data-center-padding</item><item name="data-content-type" xsi:type="string">data-content-type</item><item name="data-element" xsi:type="string">data-element</item><item name="data-enable-parallax" xsi:type="string">data-enable-parallax</item><item name="data-fade" xsi:type="string">data-fade</item><item name="data-grid-size" xsi:type="string">data-grid-size</item><item name="data-infinite-loop" xsi:type="string">data-infinite-loop</item><item name="data-link-type" xsi:type="string">data-link-type</item><item name="data-locations" xsi:type="string">data-locations</item><item name="data-overlay-color" xsi:type="string">data-overlay-color</item><item name="data-parallax-speed" xsi:type="string">data-parallax-speed</item><item name="data-pb-style" xsi:type="string">data-pb-style</item><item name="data-same-width" xsi:type="string">data-same-width</item><item name="data-show-arrows" xsi:type="string">data-show-arrows</item><item name="data-show-button" xsi:type="string">data-show-button</item><item name="data-show-controls" xsi:type="string">data-show-controls</item><item name="data-show-dots" xsi:type="string">data-show-dots</item><item name="data-show-overlay" xsi:type="string">data-show-overlay</item><item name="data-slide-name" xsi:type="string">data-slide-name</item><item name="data-slick-index" xsi:type="string">data-slick-index</item><item name="data-role" xsi:type="string">data-role</item><item name="data-product-id" xsi:type="string"> data-product-id</item><item name="data-price-box" xsi:type="string">data-price-box</item><item name="aria-hidden" xsi:type="string">aria-hidden</item><item name="aria-label" xsi:type="string">aria-label</item><item name="data-tab-name" xsi:type="string">data-tab-name</item><item name="data-video-fallback-src" xsi:type="string">data-video-fallback-src</item><item name="data-video-lazy-load" xsi:type="string">data-video-lazy-load</item><item name="data-video-loop" xsi:type="string">data-video-loop</item><item name="data-video-overlay-color" xsi:type="string">data-video-overlay-color</item><item name="data-video-play-only-visible" xsi:type="string">data-video-play-only-visible</item><item name="data-video-src" xsi:type="string">data-video-src</item><item name="href" xsi:type="string">href</item><item name="role" xsi:type="string">role</item><item name="target" xsi:type="string">target</item></argument>
<argument name="attributesAllowedByTags" xsi:type="array">
<item name="a" xsi:type="array">
<item name="href" xsi:type="string">href</item>
<item name="tabindex" xsi:type="string">tabindex</item><item name="target" xsi:type="string">target</item><item name="rel" xsi:type="string">rel</item></item>
<item name="img" xsi:type="array">
<item name="src" xsi:type="string">src</item>
</item>
<item name="button" xsi:type="array">
<item name="type" xsi:type="string">type</item>
</item>
<item name="iframe" xsi:type="array">
<item name="allowfullscreen" xsi:type="string">allowfullscreen</item>
<item name="autoplay" xsi:type="string">autoplay</item>
<item name="frameborder" xsi:type="string">frameborder</item>
<item name="muted" xsi:type="string">muted</item>
<item name="src" xsi:type="string">src</item>
</item><item name="style" xsi:type="array">
<item name="data-style-id" xsi:type="string">data-style-id</item>
</item></argument>
<argument name="attributeValidators" xsi:type="array">
<item name="style" xsi:type="object">Magento\Framework\Validator\HTML\StyleAttributeValidator</item>
<item name="src" xsi:type="array">
<item name="iframe-src" xsi:type="object">Magento\PageBuilder\Model\Validator\IframeSrcAttributeValidator</item>
</item></argument>
<argument name="tagValidators" xsi:type="array">
<item name="div" xsi:type="array">
<item name="html" xsi:type="object">Magento\PageBuilder\Model\Validator\InnerHtmlValidator</item>
</item>
</argument></arguments>
</virtualType><preference for="Magento\Catalog\Api\Data\ProductInterface" type="Magento\Catalog\Model\Product"/><preference for="Magento\Catalog\Api\ProductRepositoryInterface" type="Magento\Catalog\Model\ProductRepository"/><preference for="Magento\Catalog\Api\CategoryAttributeRepositoryInterface" type="Magento\Catalog\Model\Category\AttributeRepository"/><preference for="Magento\Catalog\Api\Data\CategoryAttributeInterface" type="Magento\Catalog\Model\Category\Attribute"/><preference for="Magento\Catalog\Api\CategoryAttributeOptionManagementInterface" type="Magento\Catalog\Model\Category\Attribute\OptionManagement"/><preference for="Magento\Catalog\Model\ProductTypes\ConfigInterface" type="Magento\Catalog\Model\ProductTypes\Config"/><preference for="Magento\Catalog\Model\ProductOptions\ConfigInterface" type="Magento\Catalog\Model\ProductOptions\Config"/><preference for="Magento\Catalog\Model\Product\PriceModifierInterface" type="Magento\Catalog\Model\Product\PriceModifier\Composite"/><preference for="Magento\Catalog\Model\Attribute\LockValidatorInterface" type="Magento\Catalog\Model\Attribute\LockValidatorComposite"/><preference for="Magento\Catalog\Model\Entity\Product\Attribute\Group\AttributeMapperInterface" type="Magento\Catalog\Model\Entity\Product\Attribute\Group\AttributeMapper"/><preference for="Magento\Catalog\Block\Product\ReviewRendererInterface" type="Magento\Review\Block\Product\ReviewRenderer"/><preference for="Magento\Framework\Pricing\PriceInfoInterface" type="Magento\Framework\Pricing\PriceInfo\Base"/><preference for="Magento\Framework\Pricing\PriceCurrencyInterface" type="Magento\Directory\Model\PriceCurrency"/><preference for="Magento\Framework\Pricing\Adjustment\CalculatorInterface" type="Magento\Framework\Pricing\Adjustment\Calculator"/><preference for="Magento\Catalog\Api\Data\CategoryInterface" type="Magento\Catalog\Model\Category"/><preference for="Magento\Catalog\Api\CategoryManagementInterface" type="Magento\Catalog\Model\CategoryManagement"/><preference for="Magento\Catalog\Api\CategoryRepositoryInterface" type="Magento\Catalog\Model\CategoryRepository"/><preference for="Magento\Catalog\Api\Data\CategoryTreeInterface" type="Magento\Catalog\Model\Category"/><preference for="Magento\Catalog\Api\ProductAttributeRepositoryInterface" type="Magento\Catalog\Model\Product\Attribute\Repository"/><preference for="Magento\Catalog\Api\Data\ProductAttributeInterface" type="Magento\Catalog\Model\ResourceModel\Eav\Attribute"/><preference for="Magento\Catalog\Api\ProductTypeListInterface" type="Magento\Catalog\Model\ProductTypeList"/><preference for="Magento\Catalog\Api\Data\ProductTypeInterface" type="Magento\Catalog\Model\ProductType"/><preference for="Magento\Catalog\Api\ProductAttributeMediaGalleryManagementInterface" type="Magento\Catalog\Model\Product\Gallery\GalleryManagement"/><preference for="Magento\Catalog\Api\Data\ProductAttributeMediaGalleryEntryInterface" type="Magento\Catalog\Model\Product\Gallery\Entry"/><preference for="Magento\Catalog\Api\ProductMediaAttributeManagementInterface" type="Magento\Catalog\Model\Product\Media\AttributeManagement"/><preference for="Magento\Catalog\Api\ProductAttributeTypesListInterface" type="Magento\Catalog\Model\Product\Attribute\TypesList"/><preference for="Magento\Catalog\Api\Data\ProductAttributeTypeInterface" type="Magento\Catalog\Model\Product\Attribute\Type"/><preference for="Magento\Catalog\Api\ProductAttributeGroupRepositoryInterface" type="Magento\Catalog\Model\ProductAttributeGroupRepository"/><preference for="Magento\Catalog\Api\ProductAttributeOptionManagementInterface" type="Magento\Catalog\Model\Product\Attribute\OptionManagement"/><preference for="Magento\Catalog\Api\ProductAttributeOptionUpdateInterface" type="Magento\Catalog\Model\Product\Attribute\OptionManagement"/><preference for="Magento\Catalog\Api\ProductLinkRepositoryInterface" type="Magento\Catalog\Model\ProductLink\Repository"/><preference for="Magento\Catalog\Api\Data\ProductAttributeSearchResultsInterface" type="Magento\Catalog\Model\ProductAttributeSearchResults"/><preference for="Magento\Catalog\Api\Data\CategoryAttributeSearchResultsInterface" type="Magento\Catalog\Model\CategoryAttributeSearchResults"/><preference for="Magento\Catalog\Api\Data\ProductSearchResultsInterface" type="Magento\Catalog\Model\ProductSearchResults"/><preference for="Magento\Catalog\Api\ProductAttributeManagementInterface" type="Magento\Catalog\Model\Product\Attribute\Management"/><preference for="Magento\Catalog\Api\AttributeSetManagementInterface" type="Magento\Catalog\Model\Product\Attribute\SetManagement"/><preference for="Magento\Catalog\Api\AttributeSetRepositoryInterface" type="Magento\Catalog\Model\Product\Attribute\SetRepository"/><preference for="Magento\Catalog\Api\ProductManagementInterface" type="Magento\Catalog\Model\ProductManagement"/><preference for="Magento\Catalog\Api\AttributeSetFinderInterface" type="Magento\Catalog\Model\Product\Attribute\AttributeSetFinder"/><preference for="Magento\Catalog\Api\CategoryListInterface" type="Magento\Catalog\Model\CategoryList"/><preference for="Magento\Catalog\Api\Data\CategorySearchResultsInterface" type="Magento\Catalog\Model\CategorySearchResults"/><preference for="Magento\Catalog\Model\Config\Source\ProductPriceOptionsInterface" type="Magento\Catalog\Model\Config\Source\Product\Options\Price"/><preference for="Magento\Catalog\Model\Indexer\Product\Flat\Table\BuilderInterface" type="Magento\Catalog\Model\Indexer\Product\Flat\Table\Builder"/><preference for="Magento\Catalog\Api\ProductRenderListInterface" type="Magento\Catalog\Model\ProductRenderList"/><preference for="Magento\Catalog\Api\Data\ProductRenderSearchResultsInterface" type="Magento\Catalog\Model\ProductRenderSearchResults"/><preference for="Magento\Catalog\Model\Product\Pricing\Renderer\SalableResolverInterface" type="Magento\Catalog\Model\Product\Pricing\Renderer\SalableResolver"/><preference for="Magento\Catalog\Model\Product\Media\ConfigInterface" type="Magento\Catalog\Model\Product\Media\Config"/><preference for="Magento\Framework\View\Asset\ContextInterface" type="Magento\Catalog\Model\View\Asset\Image\Context"/><preference for="Magento\Catalog\Api\TierPriceStorageInterface" type="Magento\Catalog\Model\Product\Price\TierPriceStorage"/><preference for="Magento\Catalog\Api\Data\TierPriceInterface" type="Magento\Catalog\Model\Product\Price\TierPrice"/><preference for="Magento\Catalog\Api\BasePriceStorageInterface" type="Magento\Catalog\Model\Product\Price\BasePriceStorage"/><preference for="Magento\Catalog\Api\Data\BasePriceInterface" type="Magento\Catalog\Model\Product\Price\BasePrice"/><preference for="Magento\Catalog\Api\CostStorageInterface" type="Magento\Catalog\Model\Product\Price\CostStorage"/><preference for="Magento\Catalog\Api\Data\CostInterface" type="Magento\Catalog\Model\Product\Price\Cost"/><preference for="Magento\Catalog\Api\SpecialPriceStorageInterface" type="Magento\Catalog\Model\Product\Price\SpecialPriceStorage"/><preference for="Magento\Catalog\Api\Data\SpecialPriceInterface" type="Magento\Catalog\Model\Product\Price\SpecialPrice"/><preference for="Magento\Catalog\Api\Data\PriceUpdateResultInterface" type="Magento\Catalog\Model\Product\Price\PriceUpdateResult"/><preference for="Magento\Catalog\Api\SpecialPriceInterface" type="Magento\CatalogStaging\Model\ResourceModel\Product\Price\SpecialPrice"/><preference for="Magento\Catalog\Model\ProductIdLocatorInterface" type="Magento\Catalog\Model\ProductIdLocator"/><preference for="Magento\Catalog\Api\Data\ProductRender\ButtonInterface" type="Magento\Catalog\Model\ProductRender\Button"/><preference for="Magento\Catalog\Api\Data\ProductRender\ImageInterface" type="Magento\Catalog\Model\ProductRender\Image"/><preference for="Magento\Catalog\Api\Data\ProductRender\PriceInfoInterface" type="Magento\Catalog\Model\ProductRender\PriceInfo"/><preference for="Magento\Catalog\Api\Data\ProductRender\FormattedPriceInfoInterface" type="Magento\Catalog\Model\ProductRender\FormattedPriceInfo"/><preference for="Magento\Framework\Indexer\BatchProviderInterface" type="Magento\Framework\Indexer\BatchProvider"/><preference for="Magento\Catalog\Model\Indexer\Product\Price\UpdateIndexInterface" type="Magento\Catalog\Model\Indexer\Product\Price\InvalidateIndex"/><preference for="Magento\Catalog\Model\Product\Gallery\ImagesConfigFactoryInterface" type="Magento\Catalog\Model\Product\Gallery\ImagesConfigFactory"/><preference for="Magento\Catalog\Model\Product\Configuration\Item\ItemResolverInterface" type="Magento\Catalog\Model\Product\Configuration\Item\ItemResolverComposite"/><preference for="Magento\Catalog\Api\Data\MassActionInterface" type="Magento\Catalog\Model\MassAction"/><preference for="Magento\Catalog\Model\ProductLink\Data\ListCriteriaInterface" type="Magento\Catalog\Model\ProductLink\Data\ListCriteria"/><preference for="Magento\Catalog\Api\CategoryListDeleteBySkuInterface" type="Magento\Catalog\Model\CategoryLinkRepository"/><type name="Magento\Customer\Model\ResourceModel\Visitor">
<plugin name="catalogLog" type="Magento\Catalog\Model\Plugin\Log"/>
<plugin name="reportLog" type="Magento\Reports\Model\Plugin\Log"/></type><type name="Magento\Catalog\Model\Category\DataProvider">
<arguments>
<argument name="uiConfigFactory" xsi:type="object">uiComponentConfigFactory</argument>
</arguments>
<plugin name="set_page_layout_default_value" type="Magento\Catalog\Model\Plugin\SetPageLayoutDefaultValue"/>
<plugin name="catalogCategoryDataProviderTrimData" type="Magento\CatalogStaging\Plugin\Catalog\Model\Category\DataProvider\TrimData"/></type><type name="Magento\Theme\Block\Html\Topmenu">
<plugin name="catalogTopmenu" type="Magento\Catalog\Plugin\Block\Topmenu"/>
<plugin name="catalogPermissionsCachingTopmenu" type="Magento\CatalogPermissions\Model\Plugin\Theme\Block\Html\Topmenu"/></type><type name="Magento\Framework\Mview\View\StateInterface">
<plugin name="setStatusForMview" type="Magento\Catalog\Model\Indexer\Category\Product\Plugin\MviewState"/>
<plugin name="catalogPermissionsIndexerSetStatusForMview" type="Magento\CatalogPermissions\Model\Indexer\Plugin\MviewState"/></type><type name="Magento\Catalog\Model\Indexer\Category\Product\Plugin\MviewState">
<arguments>
<argument name="state" xsi:type="object" shared="false">Magento\Framework\Mview\View\StateInterface</argument>
<argument name="changelog" xsi:type="object" shared="false">Magento\Framework\Mview\View\ChangelogInterface</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Indexer\Product\Full">
<arguments>
<argument name="indexerList" xsi:type="array">
<item name="catalog_category_product" xsi:type="const">Magento\Catalog\Model\Indexer\Category\Product::INDEXER_ID</item>
<item name="catalog_product_category" xsi:type="const">Magento\Catalog\Model\Indexer\Product\Category::INDEXER_ID</item>
<item name="catalog_product_price" xsi:type="const">Magento\Catalog\Model\Indexer\Product\Price\Processor::INDEXER_ID</item>
<item name="catalog_product_attribute" xsi:type="const">Magento\Catalog\Model\Indexer\Product\Eav\Processor::INDEXER_ID</item>
<item name="cataloginventory_stock" xsi:type="const">Magento\CatalogInventory\Model\Indexer\Stock\Processor::INDEXER_ID</item><item name="catalogsearch_fulltext" xsi:type="const">Magento\CatalogSearch\Model\Indexer\Fulltext::INDEXER_ID</item></argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\Attribute\Backend\Media\EntryConverterPool">
<arguments>
<argument name="mediaGalleryEntryConvertersCollection" xsi:type="array">
<item name="image" xsi:type="object">Magento\Catalog\Model\Product\Attribute\Backend\Media\ImageEntryConverter</item>
<item name="external-video" xsi:type="object">Magento\ProductVideo\Model\Product\Attribute\Media\ExternalVideoEntryConverter</item></argument>
</arguments>
</type><type name="Magento\Catalog\Helper\Product">
<arguments>
<argument name="catalogSession" xsi:type="object">Magento\Catalog\Model\Session\Proxy</argument>
<argument name="reindexPriceIndexerData" xsi:type="array">
<item name="byDataResult" xsi:type="array">
<item name="tier_price_changed" xsi:type="string">tier_price_changed</item>
<item name="is_relations_changed" xsi:type="string">is_relations_changed</item></item>
<item name="byDataChange" xsi:type="array">
<item name="status" xsi:type="string">status</item>
<item name="price" xsi:type="string">price</item>
<item name="special_price" xsi:type="string">special_price</item>
<item name="special_from_date" xsi:type="string">special_from_date</item>
<item name="special_to_date" xsi:type="string">special_to_date</item>
<item name="website_ids" xsi:type="string">website_ids</item>
<item name="gift_wrapping_price" xsi:type="string">gift_wrapping_price</item>
<item name="tax_class_id" xsi:type="string">tax_class_id</item>
<item name="msrp" xsi:type="string">msrp</item><item name="msrp_display_actual_price_type" xsi:type="string">msrp_display_actual_price_type</item></item>
</argument>
<argument name="reindexProductCategoryIndexerData" xsi:type="array">
<item name="byDataChange" xsi:type="array">
<item name="category_ids" xsi:type="string">category_ids</item>
<item name="entity_id" xsi:type="string">entity_id</item>
<item name="store_id" xsi:type="string">store_id</item>
<item name="website_ids" xsi:type="string">website_ids</item>
<item name="visibility" xsi:type="string">visibility</item>
<item name="status" xsi:type="string">status</item>
</item>
</argument>
<argument name="productRepository" xsi:type="object">Magento\Catalog\Api\ProductRepositoryInterface\Proxy</argument>
</arguments>
</type><type name="Magento\Catalog\Helper\Product\Edit\Action\Attribute">
<arguments>
<argument name="session" xsi:type="object">Magento\Backend\Model\Session\Proxy</argument>
</arguments>
</type><type name="Magento\Catalog\Model\ResourceModel\Product\Collection">
<arguments>
<argument name="catalogUrl" xsi:type="object">Magento\Catalog\Model\ResourceModel\Url\Proxy</argument>
<argument name="customerSession" xsi:type="object">Magento\Customer\Model\Session\Proxy</argument>
</arguments>
<plugin name="joinProductsWhenFlatEnabled" type="Magento\CatalogStaging\Model\Plugin\ResourceModel\Product\JoinProductsWhenFlatEnabled"/><plugin name="joinAttribute" type="Magento\CatalogStaging\Model\Plugin\ResourceModel\Product\Collection"/></type><type name="Magento\Catalog\Model\Entity\Product\Attribute\Design\Options\Container">
<arguments>
<argument name="options" xsi:type="array">
<item name="option1" xsi:type="array">
<item name="value" xsi:type="string">container1</item>
<item name="label" xsi:type="string" translatable="true">Product Info Column</item>
</item>
<item name="option2" xsi:type="array">
<item name="value" xsi:type="string">container2</item>
<item name="label" xsi:type="string" translatable="true">Block after Info Column</item>
</item>
</argument>
</arguments>
</type><type name="Magento\Catalog\Helper\Data">
<arguments>
<argument name="templateFilterModel" xsi:type="string">Magento\Widget\Model\Template\Filter</argument>
<argument name="catalogSession" xsi:type="object">Magento\Catalog\Model\Session\Proxy</argument>
</arguments>
</type><type name="Magento\Catalog\Helper\Output">
<arguments>
<argument name="directivePatterns" xsi:type="array">
<item name="construct" xsi:type="const">\Magento\Framework\Filter\Template::CONSTRUCTION_PATTERN</item>
<item name="backgroundImage" xsi:type="const">\Magento\PageBuilder\Plugin\Filter\TemplatePlugin::BACKGROUND_IMAGE_PATTERN</item><item name="htmlContentType" xsi:type="const">\Magento\PageBuilder\Plugin\Filter\TemplatePlugin::HTML_CONTENT_TYPE_PATTERN</item></argument>
</arguments>
</type><type name="Magento\Catalog\Model\Config\Source\GridPerPage">
<arguments>
<argument name="perPageValues" xsi:type="string">9,15,30</argument>
</arguments>
</type><type name="Magento\Catalog\Model\ProductIdLocator">
<arguments>
<argument name="idsLimit" xsi:type="number">1000</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Config\Source\ListPerPage">
<arguments>
<argument name="options" xsi:type="string">5,10,15,20,25</argument>
</arguments>
</type><type name="Magento\Catalog\Helper\Product\Compare">
<arguments>
<argument name="customerSession" xsi:type="object">Magento\Customer\Model\Session\Proxy</argument>
<argument name="catalogSession" xsi:type="object">Magento\Catalog\Model\Session\Proxy</argument>
</arguments>
</type><virtualType name="Magento\Catalog\Model\Session\Storage" type="Magento\Framework\Session\Storage">
<arguments>
<argument name="namespace" xsi:type="string">catalog</argument>
</arguments>
</virtualType><virtualType name="Magento\Catalog\Model\System\Config\Source\InputtypeFactory" type="Magento\Eav\Model\Adminhtml\System\Config\Source\InputtypeFactory">
<arguments>
<argument name="instanceName" xsi:type="string">Magento\Catalog\Model\System\Config\Source\Inputtype</argument>
</arguments>
</virtualType><virtualType name="Magento\Catalog\CategoryImageUpload" type="Magento\Catalog\Model\ImageUploader">
<arguments>
<argument name="baseTmpPath" xsi:type="string">catalog/tmp/category</argument>
<argument name="basePath" xsi:type="string">catalog/category</argument>
<argument name="allowedExtensions" xsi:type="array">
<item name="jpg" xsi:type="string">jpg</item>
<item name="jpeg" xsi:type="string">jpeg</item>
<item name="gif" xsi:type="string">gif</item>
<item name="png" xsi:type="string">png</item>
</argument>
<argument name="allowedMimeTypes" xsi:type="array">
<item name="jpg" xsi:type="string">image/jpg</item>
<item name="jpeg" xsi:type="string">image/jpeg</item>
<item name="gif" xsi:type="string">image/gif</item>
<item name="png" xsi:type="string">image/png</item>
</argument>
</arguments>
</virtualType><type name="Magento\Catalog\Controller\Adminhtml\Category\Image\Upload">
<arguments>
<argument name="imageUploader" xsi:type="object">Magento\Catalog\CategoryImageUpload</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Category\Attribute\Backend\Image">
<arguments>
<argument name="imageUploader" xsi:type="object">Magento\Catalog\CategoryImageUpload</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Session">
<arguments>
<argument name="storage" xsi:type="object">Magento\Catalog\Model\Session\Storage</argument>
</arguments>
</type><type name="Magento\Store\Model\ResourceModel\Website">
<plugin name="invalidatePriceIndexerOnWebsite" type="Magento\Catalog\Model\Indexer\Product\Price\Plugin\Website"/>
<plugin name="categoryProductWebsiteAfterDelete" type="\Magento\Catalog\Model\Indexer\Category\Product\Plugin\Website"/>
<plugin name="assign_website_to_default_stock" type="Magento\InventorySales\Plugin\Store\Model\ResourceModel\Website\AssignWebsiteToDefaultStockPlugin"/><plugin name="delete_website_to_stock_link" type="Magento\InventorySales\Plugin\Store\Model\ResourceModel\Website\DeleteWebsiteToStockLinkPlugin"/><plugin name="update_sales_channel_website_code" type="Magento\InventorySales\Plugin\Store\Model\ResourceModel\Website\UpdateSalesChannelWebsiteCodePlugin"/></type><type name="Magento\Store\Model\ResourceModel\Store">
<plugin name="storeViewResourceAroundSave" type="Magento\Catalog\Model\Indexer\Category\Flat\Plugin\StoreView"/>
<plugin name="catalogProductFlatIndexerStore" type="Magento\Catalog\Model\Indexer\Product\Flat\Plugin\Store"/>
<plugin name="categoryStoreAroundSave" type="Magento\Catalog\Model\Indexer\Category\Product\Plugin\StoreView"/>
<plugin name="productAttributesStoreViewSave" type="Magento\Catalog\Model\Indexer\Product\Eav\Plugin\StoreView"/>
<plugin name="catalogsearchFulltextIndexerStoreView" type="Magento\CatalogSearch\Model\Indexer\Fulltext\Plugin\Store\View"/><plugin name="invalidateTargetRuleOnStoreViewChange" type="Magento\TargetRule\Model\Indexer\TargetRule\Plugin\Store"/><plugin name="catalogPermissionsIndexerStoreView" type="Magento\CatalogPermissions\Model\Indexer\Plugin\Store\View"/></type><type name="Magento\Store\Model\ResourceModel\Group">
<plugin name="storeGroupResourceAroundSave" type="Magento\Catalog\Model\Indexer\Category\Flat\Plugin\StoreGroup"/>
<plugin name="catalogProductFlatIndexerStoreGroup" type="Magento\Catalog\Model\Indexer\Product\Flat\Plugin\StoreGroup"/>
<plugin name="categoryStoreGroupAroundSave" type="Magento\Catalog\Model\Indexer\Category\Product\Plugin\StoreGroup"/>
<plugin name="storeGroupResourceAroundBeforeSave" type="Magento\CatalogInventory\Model\Indexer\Stock\Plugin\StoreGroup"/><plugin name="catalogsearchFulltextIndexerStoreGroup" type="Magento\CatalogSearch\Model\Indexer\Fulltext\Plugin\Store\Group"/><plugin name="invalidateTargetRuleOnStoreGroupChange" type="Magento\TargetRule\Model\Indexer\TargetRule\Plugin\StoreGroup"/><plugin name="catalogPermissionsIndexerStoreGroup" type="Magento\CatalogPermissions\Model\Indexer\Plugin\Store\Group"/></type><type name="Magento\Catalog\Model\Indexer\Product\Price\AbstractAction">
<arguments>
<argument name="defaultPriceIndexer" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\DefaultPrice</argument>
</arguments>
</type><type name="Magento\Eav\Model\Entity\Attribute\Set">
<plugin name="invalidateEavIndexerOnAttributeSetSave" type="Magento\Catalog\Model\Indexer\Product\Eav\Plugin\AttributeSet"/>
<plugin name="invalidateTargetRuleOnDeleteAttributeSet" type="Magento\TargetRule\Model\Indexer\TargetRule\Plugin\AttributeSet"/></type><type name="Magento\Catalog\Helper\Product\Flat\Indexer">
<arguments>
<argument name="flatAttributeGroups" xsi:type="array">
<item name="catalog_product" xsi:type="string">catalog_product</item>
<item name="quote_item" xsi:type="string">quote_item</item></argument>
</arguments>
<plugin name="addRowIdToFlatDefinition" type="Magento\CatalogStaging\Plugin\Helper\Product\Flat\FlatColumnsDefinition"/><plugin name="addRowIdToIndex" type="Magento\CatalogStaging\Plugin\Helper\Product\Flat\FlatIndexes"/></type><type name="Magento\Catalog\Model\Product\LinkTypeProvider">
<arguments>
<argument name="linkTypes" xsi:type="array">
<item name="related" xsi:type="const">Magento\Catalog\Model\Product\Link::LINK_TYPE_RELATED</item>
<item name="crosssell" xsi:type="const">Magento\Catalog\Model\Product\Link::LINK_TYPE_CROSSSELL</item>
<item name="upsell" xsi:type="const">Magento\Catalog\Model\Product\Link::LINK_TYPE_UPSELL</item>
<item name="associated" xsi:type="const">Magento\GroupedProduct\Model\ResourceModel\Product\Link::LINK_TYPE_GROUPED</item></argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\TypeTransitionManager">
<arguments>
<argument name="compatibleTypes" xsi:type="array">
<item name="simple" xsi:type="const">Magento\Catalog\Model\Product\Type::TYPE_SIMPLE</item>
<item name="virtual" xsi:type="const">Magento\Catalog\Model\Product\Type::TYPE_VIRTUAL</item>
<item name="downloadable" xsi:type="const">Magento\Downloadable\Model\Product\Type::TYPE_DOWNLOADABLE</item><item name="configurable" xsi:type="const">Magento\ConfigurableProduct\Model\Product\Type\Configurable::TYPE_CODE</item></argument>
</arguments>
<plugin name="downloadable_product_transition" type="Magento\Downloadable\Model\Product\TypeTransitionManager\Plugin\Downloadable"/><plugin name="configurable_product_transition" type="Magento\ConfigurableProduct\Model\Product\TypeTransitionManager\Plugin\Configurable" sortOrder="50"/></type><virtualType name="rowsFlatTableBuilder" type="Magento\Catalog\Model\Indexer\Product\Flat\FlatTableBuilder">
<arguments>
<argument name="tableData" xsi:type="object">Magento\Catalog\Model\Indexer\Product\Flat\Action\Rows\TableData</argument>
</arguments>
</virtualType><type name="Magento\Catalog\Model\Indexer\Product\Flat\Action\Rows">
<arguments>
<argument name="flatTableBuilder" xsi:type="object">rowsFlatTableBuilder</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Indexer\Product\Flat\FlatTableBuilder">
<arguments>
<argument name="tableData" xsi:type="object">Magento\Catalog\Model\Indexer\Product\Flat\TableData</argument>
</arguments>
</type><virtualType name="categoryFilterList" type="Magento\Catalog\Model\Layer\FilterList">
<arguments>
<argument name="filterableAttributes" xsi:type="object">Magento\Catalog\Model\Layer\Category\FilterableAttributeList</argument>
<argument name="filters" xsi:type="array">
<item name="attribute" xsi:type="string">Magento\CatalogSearch\Model\Layer\Filter\Attribute</item>
<item name="price" xsi:type="string">Magento\CatalogSearch\Model\Layer\Filter\Price</item>
<item name="decimal" xsi:type="string">Magento\CatalogSearch\Model\Layer\Filter\Decimal</item>
<item name="category" xsi:type="string">Magento\CatalogSearch\Model\Layer\Filter\Category</item>
</argument></arguments>
</virtualType><virtualType name="searchFilterList" type="Magento\Catalog\Model\Layer\FilterList">
<arguments>
<argument name="filterableAttributes" xsi:type="object">Magento\Catalog\Model\Layer\Search\FilterableAttributeList</argument>
<argument name="filters" xsi:type="array">
<item name="attribute" xsi:type="string">Magento\CatalogSearch\Model\Layer\Filter\Attribute</item>
<item name="price" xsi:type="string">Magento\CatalogSearch\Model\Layer\Filter\Price</item>
<item name="decimal" xsi:type="string">Magento\CatalogSearch\Model\Layer\Filter\Decimal</item>
<item name="category" xsi:type="string">Magento\CatalogSearch\Model\Layer\Filter\Category</item>
</argument></arguments>
</virtualType><type name="Magento\Catalog\Model\Layer\Category\FilterableAttributeList">
<arguments>
<argument name="layer" xsi:type="object">Magento\Catalog\Model\Layer\Category</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Layer\Search\FilterableAttributeList">
<arguments>
<argument name="layer" xsi:type="object">Magento\Catalog\Model\Layer\Search</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Indexer\Product\Price\Processor">
<arguments>
<argument name="indexer" xsi:type="object" shared="false">Magento\Framework\Indexer\IndexerInterface</argument>
</arguments>
</type><type name="Magento\Framework\Pricing\Adjustment\Collection">
<arguments>
<argument name="adjustments" xsi:type="array">
<item name="tax" xsi:type="const">Magento\Tax\Pricing\Adjustment::ADJUSTMENT_CODE</item>
<item name="weee" xsi:type="const">Magento\Weee\Pricing\Adjustment::ADJUSTMENT_CODE</item><item name="weee_tax" xsi:type="const">Magento\Weee\Pricing\TaxAdjustment::ADJUSTMENT_CODE</item></argument>
</arguments></type><type name="Magento\Catalog\Model\Product\ReservedAttributeList">
<arguments>
<argument name="productModel" xsi:type="string">\Magento\Catalog\Model\Product</argument>
<argument name="reservedAttributes" xsi:type="array">
<item name="position" xsi:type="string">position</item>
<item name="category_name" xsi:type="string">category_name</item></argument>
<argument name="allowedAttributes" xsi:type="array">
<item name="type_id" xsi:type="string">type_id</item>
<item name="calculated_final_price" xsi:type="string">calculated_final_price</item>
<item name="request_path" xsi:type="string">request_path</item>
<item name="rating_summary" xsi:type="string">rating_summary</item></argument>
</arguments>
</type><virtualType name="Magento\Catalog\Pricing\Price\Pool" type="Magento\Framework\Pricing\Price\Pool">
<arguments>
<argument name="prices" xsi:type="array">
<item name="regular_price" xsi:type="string">Magento\Catalog\Pricing\Price\RegularPrice</item>
<item name="final_price" xsi:type="string">Magento\Catalog\Pricing\Price\FinalPrice</item>
<item name="tier_price" xsi:type="string">Magento\Catalog\Pricing\Price\TierPrice</item>
<item name="special_price" xsi:type="string">Magento\Catalog\Pricing\Price\SpecialPrice</item>
<item name="base_price" xsi:type="string">Magento\Catalog\Pricing\Price\BasePrice</item>
<item name="custom_option_price" xsi:type="string">Magento\Catalog\Pricing\Price\CustomOptionPrice</item>
<item name="configured_price" xsi:type="string">Magento\Catalog\Pricing\Price\ConfiguredPrice</item>
<item name="configured_regular_price" xsi:type="string">Magento\Catalog\Pricing\Price\ConfiguredRegularPrice</item>
<item name="catalog_rule_price" xsi:type="string">\Magento\CatalogRuleStaging\Pricing\Price\CatalogRulePrice</item><item name="msrp_price" xsi:type="string">Magento\Msrp\Pricing\Price\MsrpPrice</item><item name="wishlist_configured_price" xsi:type="string">Magento\Catalog\Pricing\Price\ConfiguredPrice</item></argument>
</arguments>
</virtualType><type name="Magento\Catalog\Pricing\Price\Collection">
<arguments>
<argument name="pool" xsi:type="object">Magento\Catalog\Pricing\Price\Pool</argument>
</arguments>
</type><type name="Magento\Framework\Pricing\PriceInfo\Factory">
<arguments>
<argument name="types" xsi:type="array">
<item name="default" xsi:type="array">
<item name="infoClass" xsi:type="string">Magento\Framework\Pricing\PriceInfo\Base</item>
<item name="prices" xsi:type="string">Magento\Catalog\Pricing\Price\Collection</item>
</item>
<item name="bundle" xsi:type="array">
<item name="infoClass" xsi:type="string">Magento\Bundle\Pricing\PriceInfo</item>
<item name="prices" xsi:type="string">Magento\Bundle\Pricing\Price\Collection</item>
</item><item name="downloadable" xsi:type="array">
<item name="infoClass" xsi:type="string">Magento\Framework\Pricing\PriceInfo\Base</item>
<item name="prices" xsi:type="string">Magento\Downloadable\Pricing\Price\Collection</item>
</item><item name="giftcard" xsi:type="array">
<item name="infoClass" xsi:type="string">Magento\Framework\Pricing\PriceInfo\Base</item>
<item name="prices" xsi:type="string">Magento\GiftCard\Pricing\Price\Collection</item>
</item><item name="configurable" xsi:type="array">
<item name="infoClass" xsi:type="string">Magento\Framework\Pricing\PriceInfo\Base</item>
<item name="prices" xsi:type="string">Magento\ConfigurableProduct\Pricing\Price\Collection</item>
</item><item name="grouped" xsi:type="array">
<item name="infoClass" xsi:type="string">Magento\Framework\Pricing\PriceInfo\Base</item>
<item name="prices" xsi:type="string">Magento\GroupedProduct\Pricing\Price\Collection</item>
</item></argument>
</arguments>
</type><type name="Magento\Catalog\Model\ProductLink\CollectionProvider">
<arguments>
<argument name="providers" xsi:type="array">
<item name="crosssell" xsi:type="object">Magento\Catalog\Model\ProductLink\CollectionProvider\Crosssell</item>
<item name="upsell" xsi:type="object">Magento\Catalog\Model\ProductLink\CollectionProvider\Upsell</item>
<item name="related" xsi:type="object">Magento\Catalog\Model\ProductLink\CollectionProvider\Related</item>
<item name="associated" xsi:type="object">Magento\GroupedProduct\Model\Product\Link\CollectionProvider\Grouped</item></argument>
<argument name="mapProviders" xsi:type="array">
<item name="linked" xsi:type="object">Magento\Catalog\Model\ProductLink\CollectionProvider\LinkedMapProvider</item>
</argument>
</arguments>
</type><type name="Magento\Catalog\Model\ProductLink\Converter\ConverterPool">
<arguments>
<argument name="converters" xsi:type="array">
<item name="default" xsi:type="object">Magento\Catalog\Model\ProductLink\Converter\DefaultConverter</item>
<item name="associated" xsi:type="object">\Magento\GroupedProduct\Model\Product\Link\ProductEntity\Converter</item></argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\Option">
<arguments>
<argument name="optionGroups" xsi:type="array">
<item name="date" xsi:type="string">Magento\Catalog\Model\Product\Option\Type\Date</item>
<item name="file" xsi:type="string">Magento\Catalog\Model\Product\Option\Type\File</item>
<item name="select" xsi:type="string">Magento\Catalog\Model\Product\Option\Type\Select</item>
<item name="text" xsi:type="string">Magento\Catalog\Model\Product\Option\Type\Text</item>
</argument>
<argument name="optionTypesToGroups" xsi:type="array">
<item name="field" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_TEXT</item>
<item name="area" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_TEXT</item>
<item name="file" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_FILE</item>
<item name="drop_down" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_SELECT</item>
<item name="radio" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_SELECT</item>
<item name="checkbox" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_SELECT</item>
<item name="multiple" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_SELECT</item>
<item name="date" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_DATE</item>
<item name="date_time" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_DATE</item>
<item name="time" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_GROUP_DATE</item>
</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\Option\Validator\Pool">
<arguments>
<argument name="validators" xsi:type="array">
<item name="default" xsi:type="object">Magento\Catalog\Model\Product\Option\Validator\DefaultValidator</item>
<item name="drop_down" xsi:type="object">Magento\Catalog\Model\Product\Option\Validator\Select</item>
<item name="radio" xsi:type="object">Magento\Catalog\Model\Product\Option\Validator\Select</item>
<item name="checkbox" xsi:type="object">Magento\Catalog\Model\Product\Option\Validator\Select</item>
<item name="multiple" xsi:type="object">Magento\Catalog\Model\Product\Option\Validator\Select</item>
<item name="text" xsi:type="object">Magento\Catalog\Model\Product\Option\Validator\Text</item>
<item name="area" xsi:type="object">Magento\Catalog\Model\Product\Option\Validator\Text</item>
<item name="file" xsi:type="object">Magento\Catalog\Model\Product\Option\Validator\File</item>
</argument>
</arguments>
</type><type name="Magento\Catalog\Model\ProductTypes\Config">
<arguments>
<argument name="reader" xsi:type="object">Magento\Catalog\Model\ProductTypes\Config\Reader\Proxy</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Attribute\Config\Data">
<arguments>
<argument name="reader" xsi:type="object">Magento\Catalog\Model\Attribute\Config\Reader\Proxy</argument>
</arguments>
</type><type name="Magento\Catalog\Model\ProductOptions\Config">
<arguments>
<argument name="reader" xsi:type="object">Magento\Catalog\Model\ProductOptions\Config\Reader\Proxy</argument>
</arguments>
</type><type name="Magento\CatalogInventory\Model\Config\Backend\ShowOutOfStock">
<plugin name="showOutOfStockValueChanged" type="Magento\Catalog\Model\Plugin\ShowOutOfStockConfig"/>
</type><virtualType name="Magento\Catalog\Block\Category\Widget\Link" type="Magento\Catalog\Block\Widget\Link">
<arguments>
<argument name="entityResource" xsi:type="object">Magento\Catalog\Model\ResourceModel\Category</argument>
</arguments>
</virtualType><virtualType name="Magento\Catalog\Block\Product\Widget\Link" type="Magento\Catalog\Block\Widget\Link">
<arguments>
<argument name="entityResource" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product</argument>
</arguments>
</virtualType><type name="Magento\Framework\App\Rss\RssManagerInterface">
<arguments>
<argument name="dataProviders" xsi:type="array">
<item name="new_products" xsi:type="string">Magento\Catalog\Block\Rss\Product\NewProducts</item>
<item name="special_products" xsi:type="string">Magento\Catalog\Block\Rss\Product\Special</item>
<item name="category" xsi:type="string">Magento\Catalog\Block\Rss\Category</item>
<item name="order_status" xsi:type="string">Magento\Sales\Model\Rss\OrderStatus</item><item name="discounts" xsi:type="string">Magento\SalesRule\Block\Rss\Discounts</item><item name="wishlist" xsi:type="string">Magento\Wishlist\Model\Rss\Wishlist</item></argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\Option\Type\File">
<arguments>
<argument name="validatorInfo" xsi:type="object">Magento\Catalog\Model\Product\Option\Type\File\ValidatorInfo\Proxy</argument>
<argument name="validatorFile" xsi:type="object">Magento\Catalog\Model\Product\Option\Type\File\ValidatorFile\Proxy</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Attribute\Config">
<arguments>
<argument name="dataStorage" xsi:type="object">Magento\Catalog\Model\Attribute\Config\Data\Proxy</argument>
</arguments>
</type><virtualType name="Magento\Catalog\Model\Layer\Search\Context" type="Magento\Catalog\Model\Layer\Context">
<arguments>
<argument name="collectionProvider" xsi:type="object">Magento\Catalog\Model\Layer\Search\ItemCollectionProvider</argument>
<argument name="stateKey" xsi:type="object">Magento\Catalog\Model\Layer\Category\StateKey</argument>
<argument name="collectionFilter" xsi:type="object">Magento\Catalog\Model\Layer\Search\CollectionFilter</argument>
</arguments>
</virtualType><virtualType name="Magento\Catalog\Model\Layer\Category\Context" type="Magento\Catalog\Model\Layer\Context">
<arguments>
<argument name="collectionProvider" xsi:type="object">Magento\Catalog\Model\Layer\Category\ItemCollectionProvider</argument>
<argument name="stateKey" xsi:type="object">Magento\Catalog\Model\Layer\Category\StateKey</argument>
<argument name="collectionFilter" xsi:type="object">Magento\Catalog\Model\Layer\Category\CollectionFilter</argument>
</arguments>
</virtualType><type name="Magento\Catalog\Model\Layer\Search">
<arguments>
<argument name="context" xsi:type="object">Magento\Elasticsearch\Model\Layer\Search\Context</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Layer\Category">
<arguments>
<argument name="context" xsi:type="object">Magento\Elasticsearch\Model\Layer\Category\Context</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Layer\Filter\Dynamic\AlgorithmFactory">
<arguments>
<argument name="algorithms" xsi:type="array">
<item name="auto" xsi:type="string">Magento\Catalog\Model\Layer\Filter\Dynamic\Auto</item>
<item name="improved" xsi:type="string">Magento\Catalog\Model\Layer\Filter\Dynamic\Improved</item>
<item name="manual" xsi:type="string">Magento\Catalog\Model\Layer\Filter\Dynamic\Manual</item>
</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Layer\Resolver">
<arguments>
<argument name="layersPool" xsi:type="array">
<item name="category" xsi:type="string">Magento\Catalog\Model\Layer\Category</item>
<item name="search" xsi:type="string">Magento\Catalog\Model\Layer\Search</item>
</argument>
</arguments>
</type><type name="Magento\Catalog\Model\ResourceModel\Config">
<plugin name="productListingAttributesCaching" type="Magento\Catalog\Plugin\Model\ResourceModel\Config"/>
</type><preference for="Magento\Catalog\Api\ProductLinkTypeListInterface" type="Magento\Catalog\Model\Product\LinkTypeProvider"/><preference for="Magento\Catalog\Api\Data\ProductLinkAttributeInterface" type="Magento\Catalog\Model\ProductLink\Attribute"/><preference for="Magento\Catalog\Api\Data\ProductLinkTypeInterface" type="Magento\Catalog\Model\ProductLink\Type"/><preference for="Magento\Catalog\Api\ProductLinkManagementInterface" type="Magento\Catalog\Model\ProductLink\Management"/><preference for="Magento\Catalog\Api\Data\ProductLinkInterface" type="Magento\Catalog\Model\ProductLink\Link"/><preference for="Magento\Catalog\Api\CategoryLinkManagementInterface" type="Magento\Catalog\Model\CategoryLinkManagement"/><preference for="Magento\Catalog\Api\Data\ProductWebsiteLinkInterface" type="Magento\Catalog\Model\ProductWebsiteLink"/><preference for="Magento\Catalog\Api\ProductWebsiteLinkRepositoryInterface" type="Magento\Catalog\Model\ProductWebsiteLinkRepository"/><preference for="Magento\Catalog\Api\CategoryLinkRepositoryInterface" type="Magento\Catalog\Model\CategoryLinkRepository"/><preference for="Magento\Catalog\Api\Data\ProductCustomOptionInterface" type="Magento\Catalog\Model\Product\Option"/><preference for="Magento\Catalog\Api\ProductCustomOptionRepositoryInterface" type="Magento\Catalog\Model\Product\Option\Repository"/><preference for="Magento\Catalog\Api\Data\ProductCustomOptionTypeInterface" type="Magento\Catalog\Model\Product\Option\Type"/><preference for="Magento\Catalog\Api\ProductTierPriceManagementInterface" type="Magento\Catalog\Model\Product\TierPriceManagement"/><preference for="Magento\Catalog\Api\ScopedProductTierPriceManagementInterface" type="Magento\Catalog\Model\Product\ScopedTierPriceManagement"/><preference for="Magento\Catalog\Api\Data\ProductTierPriceInterface" type="Magento\Catalog\Model\Product\TierPrice"/><preference for="Magento\Catalog\Api\Data\CategoryProductLinkInterface" type="Magento\Catalog\Model\CategoryProductLink"/><preference for="Magento\Catalog\Api\ProductCustomOptionTypeListInterface" type="Magento\Catalog\Model\ProductOptions\TypeList"/><preference for="Magento\Catalog\Api\Data\ProductCustomOptionValuesInterface" type="Magento\Catalog\Model\Product\Option\Value"/><preference for="Magento\Catalog\Api\Data\CustomOptionInterface" type="Magento\Catalog\Model\CustomOptions\CustomOption"/><preference for="Magento\Catalog\Api\Data\ProductOptionInterface" type="Magento\Catalog\Model\ProductOption"/><preference for="Magento\Catalog\Api\Data\CategoryLinkInterface" type="Magento\Catalog\Model\CategoryLink"/><virtualType name="Magento\Catalog\Model\ResourceModel\Attribute\Collection" type="Magento\Eav\Model\ResourceModel\Entity\Attribute\Collection">
</virtualType><type name="Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend">
<plugin name="attributeValidation" type="Magento\Catalog\Plugin\Model\Attribute\Backend\AttributeValidation"/>
<plugin name="ConfigurableProduct::skipValidation" type="Magento\ConfigurableProduct\Plugin\Model\Attribute\Backend\AttributeValidation"/></type><type name="Magento\Catalog\Plugin\Model\Attribute\Backend\AttributeValidation">
<arguments>
<argument name="allowedEntityTypes" xsi:type="array">
<item name="product" xsi:type="string">Magento\Catalog\Api\Data\ProductInterface</item>
<item name="category" xsi:type="string">Magento\Catalog\Api\Data\CategoryInterface</item>
</argument>
</arguments>
</type><type name="Magento\Catalog\Model\CategoryRepository">
<arguments>
<argument name="categoryResource" xsi:type="object">Magento\Catalog\Model\ResourceModel\Category\Proxy</argument>
</arguments>
</type><type name="Magento\Catalog\Helper\Product\ConfigurationPool">
<arguments>
<argument name="instancesByType" xsi:type="array">
<item name="default" xsi:type="object">Magento\Catalog\Helper\Product\Configuration</item>
</argument>
</arguments>
</type><type name="Magento\Framework\Config\View">
<arguments>
<argument name="xpath" xsi:type="array">
<item name="image" xsi:type="array">
<item name="/view/media/images" xsi:type="array">
<item name="id" xsi:type="string">module</item>
</item>
<item name="/view/media/images/image" xsi:type="array">
<item name="id1" xsi:type="string">id</item>
<item name="id2" xsi:type="string">type</item>
</item>
</item>
<item name="video" xsi:type="array">
<item name="/view/media/videos" xsi:type="array">
<item name="id" xsi:type="string">module</item>
</item>
<item name="/view/media/videos/video" xsi:type="array">
<item name="id1" xsi:type="string">id</item>
<item name="id2" xsi:type="string">type</item>
</item>
</item></argument>
</arguments>
</type><type name="Magento\Framework\View\Xsd\Media\TypeDataExtractorPool">
<arguments>
<argument name="extractors" xsi:type="array">
<item name="images" xsi:type="object">Magento\Catalog\Model\ImageExtractor</item>
<item name="videos" xsi:type="object">Magento\ProductVideo\Model\VideoExtractor</item></argument>
</arguments>
</type><type name="Magento\Quote\Model\Quote\Item\Repository">
<arguments>
<argument name="cartItemProcessors" xsi:type="array">
<item name="custom_options" xsi:type="object">Magento\Catalog\Model\CustomOptions\CustomOptionProcessor\Proxy</item>
<item name="bundle" xsi:type="object">\Magento\Bundle\Model\CartItemProcessor\Proxy</item><item name="downloadable" xsi:type="object">Magento\Downloadable\Model\Quote\Item\CartItemProcessor\Proxy</item><item name="giftcard" xsi:type="object">Magento\GiftCard\Model\Quote\Item\CartItemProcessor\Proxy</item><item name="configurable" xsi:type="object">Magento\ConfigurableProduct\Model\Quote\Item\CartItemProcessor\Proxy</item><item name="grouped" xsi:type="object">Magento\GroupedProduct\Model\Quote\Item\CartItemProcessor\Proxy</item></argument>
</arguments>
</type><type name="Magento\Sales\Api\OrderItemRepositoryInterface">
<arguments>
<argument name="processorPool" xsi:type="array">
<item name="custom_options" xsi:type="object">Magento\Catalog\Model\ProductOptionProcessor</item>
<item name="bundle" xsi:type="object">Magento\Bundle\Model\ProductOptionProcessor</item><item name="downloadable" xsi:type="object">Magento\Downloadable\Model\ProductOptionProcessor</item><item name="giftcard" xsi:type="object">Magento\GiftCard\Model\ProductOptionProcessor</item><item name="configurable" xsi:type="object">Magento\ConfigurableProduct\Model\ProductOptionProcessor</item></argument>
</arguments>
<plugin name="get_gift_message" type="Magento\GiftMessage\Model\Plugin\OrderItemGet"/></type><type name="Magento\Sales\Model\Order\ProductOption">
<arguments>
<argument name="processorPool" xsi:type="array">
<item name="custom_options" xsi:type="object">Magento\Catalog\Model\ProductOptionProcessor</item>
<item name="bundle" xsi:type="object">Magento\Bundle\Model\ProductOptionProcessor</item><item name="downloadable" xsi:type="object">Magento\Downloadable\Model\ProductOptionProcessor</item><item name="giftcard" xsi:type="object">Magento\GiftCard\Model\ProductOptionProcessor</item><item name="configurable" xsi:type="object">Magento\ConfigurableProduct\Model\ProductOptionProcessor</item></argument>
</arguments>
</type><type name="Magento\Catalog\Model\Indexer\Category\Flat\SkipStaticColumnsProvider">
<arguments>
<argument name="skipStaticColumns" xsi:type="array">
<item name="entity_type_id" xsi:type="string">entity_type_id</item>
<item name="attribute_set_id" xsi:type="string">attribute_set_id</item>
<item name="row_id" xsi:type="string">row_id</item><item name="created_in" xsi:type="string">created_in</item><item name="updated_in" xsi:type="string">updated_in</item></argument>
</arguments>
</type><type name="Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitation" shared="false"><plugin name="isUsingPriceIndex" type="Magento\CatalogStaging\Model\Plugin\ResourceModel\Product\Collection\ProductLimitation"/></type><virtualType name="Magento\Catalog\EntityCreator\MetadataPool" type="Magento\Framework\EntityManager\MetadataPool">
<arguments>
<argument name="metadata" xsi:type="array">
<item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array">
<item name="entityContext" xsi:type="array">
<item name="store" xsi:type="string">Magento\Store\Model\DefaultStoreScopeProvider</item>
</item>
</item>
<item name="Magento\Catalog\Api\Data\CategoryInterface" xsi:type="array">
<item name="entityContext" xsi:type="array">
<item name="store" xsi:type="string">Magento\Store\Model\DefaultStoreScopeProvider</item>
</item>
</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Catalog\Model\Entity\CreationScopeResolver" type="Magento\Framework\Model\Entity\ScopeResolver">
<arguments>
<argument name="metadataPool" xsi:type="object">Magento\Catalog\EntityCreator\MetadataPool</argument>
</arguments>
</virtualType><virtualType name="Magento\Catalog\Model\ResourceModel\CreateHandler" type="Magento\Eav\Model\ResourceModel\CreateHandler">
<arguments>
<argument name="metadataPool" xsi:type="object">Magento\Catalog\EntityCreator\MetadataPool</argument>
<argument name="scopeResolver" xsi:type="object">Magento\Catalog\Model\Entity\CreationScopeResolver</argument>
</arguments>
</virtualType><virtualType name="Magento\Catalog\Model\ResourceModel\UpdateHandler" type="Magento\Eav\Model\ResourceModel\UpdateHandler">
<arguments>
<argument name="attributePersistor" xsi:type="object">Magento\Catalog\Model\ResourceModel\AttributePersistor</argument>
</arguments>
</virtualType><type name="Magento\Eav\Model\ResourceModel\ReadSnapshot">
<plugin name="catalogReadSnapshot" type="Magento\Catalog\Plugin\Model\ResourceModel\ReadSnapshotPlugin"/>
</type><preference for="Magento\Catalog\Model\ResourceModel\Product\LinkedProductSelectBuilderInterface" type="Magento\Catalog\Model\ResourceModel\Product\LinkedProductSelectBuilderComposite"/><type name="Magento\Catalog\Model\ResourceModel\Product\LinkedProductSelectBuilderComposite">
<arguments>
<argument name="linkedProductSelectBuilder" xsi:type="array">
<item name="basePrice" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\LinkedProductSelectBuilderByBasePrice</item>
<item name="specialPrice" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\LinkedProductSelectBuilderBySpecialPrice</item>
<item name="tierPrice" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\LinkedProductSelectBuilderByTierPrice</item>
<item name="indexPrice" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\LinkedProductSelectBuilderByIndexPrice</item>
<item name="catalogRulePrice" xsi:type="object">Magento\CatalogRule\Model\ResourceModel\Product\LinkedProductSelectBuilderByCatalogRulePrice</item></argument>
</arguments>
</type><virtualType name="Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\ProductFilterProcessor" type="Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor">
<arguments>
<argument name="customFilters" xsi:type="array">
<item name="category_id" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor\ProductCategoryFilter</item>
<item name="store" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor\ProductStoreFilter</item>
<item name="store_id" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor\ProductStoreFilter</item>
<item name="website_id" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor\ProductWebsiteFilter</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Catalog\Model\Api\SearchCriteria\ProductCollectionProcessor" type="Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor">
<arguments>
<argument name="processors" xsi:type="array">
<item name="filters" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\ProductFilterProcessor</item>
<item name="sorting" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\SortingProcessor</item>
<item name="pagination" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\PaginationProcessor</item>
</argument>
</arguments>
</virtualType><type name="Magento\Catalog\Model\ProductRepository">
<arguments>
<argument name="collectionProcessor" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\ProductCollectionProcessor</argument>
</arguments>
</type><type name="Magento\Catalog\Model\CategoryList">
<arguments>
<argument name="collectionProcessor" xsi:type="object">Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor</argument>
</arguments>
</type><type name="Magento\Catalog\Model\ProductRenderList">
<arguments>
<argument name="collectionProcessor" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\ProductCollectionProcessor</argument>
<argument name="productAttributes" xsi:type="array">
<item name="msrp" xsi:type="string">msrp</item>
<item name="msrp_display_price_type" xsi:type="string">msrp_display_actual_price_type</item>
</argument></arguments>
</type><type name="Magento\Quote\Model\Quote\Item\ToOrderItem">
<plugin name="copy_quote_files_to_order" type="Magento\Catalog\Model\Plugin\QuoteItemProductOption"/>
<plugin name="append_bundle_data_to_order" type="Magento\Bundle\Model\Plugin\QuoteItem"/><plugin name="append_gift_card_data_to_order" type="Magento\GiftCard\Model\Plugin\QuoteItem"/><plugin name="gift_registry_item_from_quote_item" type="Magento\GiftRegistry\Model\Plugin\QuoteItem"/><plugin name="gift_message_quote_item_conversion" type="Magento\GiftMessage\Model\Plugin\QuoteItem"/><plugin name="ava_vatcode_quote_to_order_item" type="ClassyLlama\AvaTax\Plugin\AvaVatcodeQuoteToOrderItem"/></type><preference for="Magento\Catalog\Model\ResourceModel\Product\BaseSelectProcessorInterface" type="Magento\Catalog\Model\ResourceModel\Product\CompositeWithWebsiteProcessor"/><type name="Magento\Catalog\Model\ResourceModel\Product\CompositeBaseSelectProcessor">
<arguments>
<argument name="baseSelectProcessors" xsi:type="array">
<item name="status" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\StatusBaseSelectProcessor</item>
<item name="stock_status" xsi:type="object">Magento\InventoryConfigurableProduct\Model\ResourceModel\Product\StockStatusBaseSelectProcessor</item></argument>
</arguments>
</type><virtualType name="Magento\Catalog\Model\ResourceModel\Product\CompositeWithWebsiteProcessor" type="Magento\Catalog\Model\ResourceModel\Product\CompositeBaseSelectProcessor">
<arguments>
<argument name="baseSelectProcessors" xsi:type="array">
<item name="website" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Website\SelectProcessor</item>
</argument>
</arguments>
</virtualType><type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\LinkedProductSelectBuilderByIndexPrice">
<arguments>
<argument name="baseSelectProcessor" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\CompositeBaseSelectProcessor</argument>
<argument name="priceTableResolver" xsi:type="object">Magento\Catalog\Model\Indexer\Product\Price\PriceTableResolver</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\Price\CostStorage">
<arguments>
<argument name="allowedProductTypes" xsi:type="array">
<item name="0" xsi:type="string">simple</item>
<item name="1" xsi:type="string">virtual</item>
<item name="2" xsi:type="string">downloadable</item></argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\Price\BasePriceStorage">
<arguments>
<argument name="allowedProductTypes" xsi:type="array">
<item name="0" xsi:type="string">simple</item>
<item name="1" xsi:type="string">virtual</item>
<item name="2" xsi:type="string">bundle</item>
<item name="3" xsi:type="string">downloadable</item></argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\Price\Validation\TierPriceValidator">
<arguments>
<argument name="allowedProductTypes" xsi:type="array">
<item name="0" xsi:type="string">simple</item>
<item name="1" xsi:type="string">virtual</item>
<item name="2" xsi:type="string">bundle</item>
<item name="3" xsi:type="string">downloadable</item></argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\Price\SpecialPriceStorage">
<arguments>
<argument name="allowedProductTypes" xsi:type="array">
<item name="0" xsi:type="string">simple</item>
<item name="1" xsi:type="string">virtual</item>
<item name="2" xsi:type="string">bundle</item><item name="3" xsi:type="string">downloadable</item></argument>
</arguments>
</type><type name="Magento\Catalog\Ui\DataProvider\Product\ProductRenderCollectorComposite">
<arguments>
<argument name="productProviders" xsi:type="array">
<item name="image" xsi:type="object">\Magento\Catalog\Ui\DataProvider\Product\Listing\Collector\Image</item>
<item name="price" xsi:type="object">\Magento\Catalog\Ui\DataProvider\Product\Listing\Collector\Price</item>
<item name="url" xsi:type="object">\Magento\Catalog\Ui\DataProvider\Product\Listing\Collector\Url</item>
<item name="additional_info" xsi:type="object">\Magento\Catalog\Ui\DataProvider\Product\Listing\Collector\AdditionalInfo</item>
<item name="bundle_price" xsi:type="object">\Magento\Bundle\Ui\DataProvider\Product\Listing\Collector\BundlePrice</item><item name="msrp_price" xsi:type="object">\Magento\Msrp\Ui\DataProvider\Product\Listing\Collector\MsrpPrice</item><item name="giftcard_price" xsi:type="object">\Magento\GiftCard\Ui\DataProvider\Product\Collector\Price</item><item name="wishlist_url" xsi:type="object">\Magento\Wishlist\Ui\DataProvider\Product\Collector\Button</item><item name="tax" xsi:type="object">Magento\Tax\Ui\DataProvider\Product\Listing\Collector\Tax</item><item name="weee" xsi:type="object">\Magento\Weee\Ui\DataProvider\Product\Listing\Collector\Weee</item><item name="review" xsi:type="object">\Magento\Review\Ui\DataProvider\Product\Listing\Collector\Review</item></argument>
</arguments>
</type><type name="Magento\Catalog\Model\FrontendStorageConfigurationPool">
<arguments>
<argument name="storageConfigurations" xsi:type="array">
<item name="recently_viewed_product" xsi:type="object">Magento\Catalog\Model\Widget\RecentlyViewedStorageConfiguration</item>
<item name="recently_compared_product" xsi:type="object">Magento\Catalog\Model\Widget\RecentlyComparedStorageConfiguration</item>
</argument>
</arguments>
</type><type name="Magento\Catalog\Ui\DataProvider\Product\Listing\Collector\Image">
<arguments>
<argument name="imageCodes" xsi:type="array">
<item name="widget_recently_viewed_grid" xsi:type="string">recently_viewed_products_grid_content_widget</item>
<item name="widget_recently_viewed_list" xsi:type="string">recently_viewed_products_list_content_widget</item>
<item name="widget_recently_viewed_sidebar" xsi:type="string">recently_viewed_products_images_names_widget</item>
<item name="widget_recently_compared_grid" xsi:type="string">recently_compared_products_grid_content_widget</item>
<item name="widget_recently_compared_list" xsi:type="string">recently_compared_products_list_content_widget</item>
<item name="widget_recently_compared_sidebar" xsi:type="string">recently_compared_products_images_names_widget</item>
</argument>
</arguments>
</type><preference for="Magento\Catalog\Pricing\Price\MinimalPriceCalculatorInterface" type="Magento\Catalog\Pricing\Price\MinimalTierPriceCalculator"/><type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\BatchSizeCalculator">
<arguments>
<argument name="batchRowsCount" xsi:type="array">
<item name="default" xsi:type="number">5000</item>
<item name="configurable" xsi:type="number">50000</item></argument>
<argument name="estimators" xsi:type="array">
<item name="default" xsi:type="object">Magento\Catalog\Model\Indexer\Price\BatchSizeManagement</item>
<item name="bundle" xsi:type="object">Magento\Catalog\Model\Indexer\Price\CompositeProductBatchSizeManagement</item><item name="configurable" xsi:type="object">Magento\Catalog\Model\Indexer\Price\CompositeProductBatchSizeManagement</item><item name="grouped" xsi:type="object">Magento\Catalog\Model\Indexer\Price\CompositeProductBatchSizeManagement</item></argument>
<argument name="batchSizeAdjusters" xsi:type="array">
<item name="bundle" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\CompositeProductBatchSizeAdjuster</item>
<item name="configurable" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\CompositeProductBatchSizeAdjuster</item><item name="grouped" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\CompositeProductBatchSizeAdjuster</item></argument></arguments>
</type><virtualType name="Magento\Catalog\Model\Indexer\Price\CompositeProductBatchSizeManagement" type="Magento\Framework\Indexer\BatchSizeManagement">
<arguments>
<argument name="rowSizeEstimator" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\CompositeProductRowSizeEstimator</argument>
</arguments>
</virtualType><virtualType name="Magento\Catalog\Model\Indexer\Price\BatchSizeManagement" type="Magento\Framework\Indexer\BatchSizeManagement">
<arguments>
<argument name="rowSizeEstimator" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\IndexTableRowSizeEstimator</argument>
</arguments>
</virtualType><type name="Magento\Catalog\Model\Indexer\Category\Product\Action\Full">
<arguments>
<argument name="batchRowsCount" xsi:type="number">100000</argument>
<argument name="batchSizeManagement" xsi:type="object">Magento\Catalog\Model\Indexer\CategoryProductBatchSize</argument>
</arguments>
</type><virtualType name="Magento\Catalog\Model\Indexer\CategoryProductBatchSize" type="Magento\Framework\Indexer\BatchSizeManagement">
<arguments>
<argument name="rowSizeEstimator" xsi:type="object">Magento\Catalog\Model\Indexer\Category\Product\RowSizeEstimator</argument>
</arguments>
</virtualType><type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\TemporaryTableStrategy" shared="false">
<arguments>
<argument name="strategy" xsi:type="object">Magento\Framework\Indexer\Table\Strategy</argument>
</arguments>
</type><type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\DefaultPrice">
<arguments>
<argument name="tableStrategy" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\TemporaryTableStrategy</argument>
<argument name="connectionName" xsi:type="string">indexer</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Indexer\Product\Eav\Action\Full">
<arguments>
<argument name="batchSizeCalculator" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Eav\BatchSizeCalculator</argument>
</arguments>
</type><type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Eav\Source">
<arguments>
<argument name="tableStrategy" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\TemporaryTableStrategy</argument>
<argument name="connectionName" xsi:type="string">indexer</argument>
</arguments>
</type><virtualType name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Eav\DecimalBatchSizeManagement" type="Magento\Framework\Indexer\BatchSizeManagement">
<arguments>
<argument name="rowSizeEstimator" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Eav\DecimalRowSizeEstimator</argument>
</arguments>
</virtualType><virtualType name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Eav\SourceBatchSizeManagement" type="Magento\Framework\Indexer\BatchSizeManagement">
<arguments>
<argument name="rowSizeEstimator" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Eav\SourceRowSizeEstimator</argument>
</arguments>
</virtualType><type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Eav\BatchSizeCalculator">
<arguments>
<argument name="batchSizes" xsi:type="array">
<item name="decimal" xsi:type="number">1000</item>
<item name="source" xsi:type="number">1000</item>
</argument>
<argument name="batchSizeManagers" xsi:type="array">
<item name="decimal" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Eav\DecimalBatchSizeManagement</item>
<item name="source" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Eav\SourceBatchSizeManagement</item>
</argument>
</arguments>
</type><type name="Magento\Framework\Data\CollectionModifier">
<arguments>
<argument name="conditions" xsi:type="array">
<item name="productVisibilityCondition" xsi:type="object">Magento\Catalog\Model\ProductVisibilityCondition</item>
<item name="stockStatusCondition" xsi:type="object">Magento\CatalogInventory\Model\ProductCollectionStockCondition</item></argument>
</arguments>
</type><type name="Magento\Catalog\Controller\Adminhtml\Product\Initialization\Helper">
<arguments>
<argument name="productRepository" xsi:type="object">Magento\Catalog\Api\ProductRepositoryInterface\Proxy</argument>
</arguments>
<plugin name="weeeAttributeOptionsProcess" type="Magento\Weee\Plugin\Catalog\Controller\Adminhtml\Product\Initialization\Helper\ProcessTaxAttribute"/></type><type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\TierPrice">
<arguments>
<argument name="connectionName" xsi:type="string">indexer</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\ConditionProcessor\ConditionBuilder\Factory">
<arguments>
<argument name="eavAttributeConditionBuilder" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\ConditionProcessor\ConditionBuilder\EavAttributeCondition</argument>
<argument name="nativeAttributeConditionBuilder" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\ConditionProcessor\ConditionBuilder\NativeAttributeCondition</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Indexer\Product\Price\DimensionCollectionFactory">
<arguments>
<argument name="dimensionProviders" xsi:type="array">
<!-- @see \Magento\Store\Model\Indexer\WebsiteDimensionProvider::DIMENSION_NAME -->
<item name="ws" xsi:type="object">Magento\Store\Model\Indexer\WebsiteDimensionProvider</item>
<!-- @see \Magento\Customer\Model\Indexer\CustomerGroupDimensionProvider::DIMENSION_NAME -->
<item name="cg" xsi:type="object">Magento\Customer\Model\Indexer\CustomerGroupDimensionProvider</item>
</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Indexer\Product\Price\Plugin\TableResolver">
<arguments>
<argument name="priceTableResolver" xsi:type="object">Magento\Catalog\Model\Indexer\Product\Price\PriceTableResolver\Proxy</argument>
<argument name="storeManager" xsi:type="object">Magento\Store\Model\StoreManagerInterface\Proxy</argument>
<argument name="context" xsi:type="object">Magento\Framework\App\Http\Context\Proxy</argument>
<!-- Unccomment after fix issue with Proxy generation -->
<!--<argument name="dimensionModeConfiguration" xsi:type="object">-->
<!--Magento\Catalog\Model\Indexer\Product\Price\DimensionModeConfiguration\Proxy-->
<!--</argument>-->
</arguments>
</type><type name="Magento\Catalog\Model\ResourceModel\Layer\Filter\Price">
<arguments>
<argument name="priceTableResolver" xsi:type="object">
Magento\Catalog\Model\Indexer\Product\Price\PriceTableResolver
</argument>
</arguments>
</type><type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\CustomOptionPriceModifier">
<arguments>
<argument name="tableStrategy" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\TemporaryTableStrategy</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Indexer\Product\Price\TableMaintainer">
<arguments>
<argument name="connectionName" xsi:type="string">indexer</argument>
<argument name="tableResolver" xsi:type="object">Magento\Framework\Indexer\ScopeResolver\IndexScopeResolver</argument>
</arguments>
</type><type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\BasePriceModifier">
<arguments>
<argument name="priceModifiers" xsi:type="array">
<item name="customOptionPriceModifier" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\CustomOptionPriceModifier</item>
<item name="catalogRulePriceModifier" xsi:type="object">Magento\CatalogRule\Model\Indexer\ProductPriceIndexModifier</item><item name="DisabledProductOptionPriceModifier" xsi:type="object">Magento\Bundle\Model\ResourceModel\Indexer\Price\DisabledProductOptionPriceModifier</item><item name="inventoryProductPriceIndexFilter" xsi:type="object">Magento\CatalogInventory\Model\Indexer\ProductPriceIndexFilter</item></argument>
</arguments>
</type><virtualType name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\VirtualProductPrice" type="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\SimpleProductPrice">
<arguments>
<argument name="productType" xsi:type="string">virtual</argument>
</arguments>
</virtualType><type name="Magento\Indexer\Console\Command\IndexerSetDimensionsModeCommand">
<arguments>
<argument name="dimensionSwitchers" xsi:type="array">
<item name="catalog_product_price" xsi:type="object">Magento\Catalog\Model\Indexer\Product\Price\ModeSwitcher</item>
<item name="catalogpermissions_category" xsi:type="object">Magento\CatalogPermissions\Model\Indexer\Category\ModeSwitcher</item></argument>
</arguments>
</type><type name="Magento\Indexer\Console\Command\IndexerShowDimensionsModeCommand">
<arguments>
<argument name="indexers" xsi:type="array">
<item name="catalog_product_price" xsi:type="string">catalog_product_price</item>
<item name="catalogpermissions_category" xsi:type="string">catalogpermissions_category</item></argument>
<argument name="optionalIndexers" xsi:type="array">
<item name="catalogpermissions_category" xsi:type="string">catalogpermissions_category</item>
</argument></arguments>
</type><type name="Magento\Catalog\Model\Product\Option\Type\Select">
<arguments>
<argument name="singleSelectionTypes" xsi:type="array">
<item name="drop_down" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_TYPE_DROP_DOWN</item>
<item name="radio" xsi:type="const">Magento\Catalog\Api\Data\ProductCustomOptionInterface::OPTION_TYPE_RADIO</item>
</argument>
</arguments>
</type><type name="Magento\Catalog\Model\ProductLink\Repository">
<arguments>
<argument name="entityCollectionProvider" xsi:type="object">Magento\Catalog\Model\ProductLink\CollectionProvider\Proxy</argument>
<argument name="linkInitializer" xsi:type="object">Magento\Catalog\Model\Product\Initialization\Helper\ProductLinks\Proxy</argument>
</arguments>
</type><type name="Magento\Catalog\Model\ProductLink\ProductLinkQuery">
<arguments>
<argument name="collectionProvider" xsi:type="object">Magento\Catalog\Model\ProductLink\CollectionProvider\Proxy</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\Attribute\LayoutUpdateManager">
<arguments>
<argument name="themeFactory" xsi:type="object">Magento\Framework\View\Design\Theme\FlyweightFactory\Proxy</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Category\Attribute\LayoutUpdateManager">
<arguments>
<argument name="themeFactory" xsi:type="object">Magento\Framework\View\Design\Theme\FlyweightFactory\Proxy</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Category\Attribute\Backend\LayoutUpdate">
<arguments>
<argument name="manager" xsi:type="object">Magento\Catalog\Model\Category\Attribute\LayoutUpdateManager\Proxy</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Category\Attribute\Source\LayoutUpdate">
<arguments>
<argument name="manager" xsi:type="object">Magento\Catalog\Model\Category\Attribute\LayoutUpdateManager\Proxy</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\Attribute\Backend\LayoutUpdate">
<arguments>
<argument name="manager" xsi:type="object">Magento\Catalog\Model\Product\Attribute\LayoutUpdateManager\Proxy</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\Attribute\Source\LayoutUpdate">
<arguments>
<argument name="manager" xsi:type="object">Magento\Catalog\Model\Product\Attribute\LayoutUpdateManager\Proxy</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\Configuration\Item\ItemResolverComposite">
<arguments>
<argument name="itemResolvers" xsi:type="array"><item name="configurable" xsi:type="string">Magento\ConfigurableProduct\Model\Product\Configuration\Item\ItemProductResolver</item><item name="grouped" xsi:type="string">Magento\GroupedProduct\Model\Product\Configuration\Item\ItemProductResolver</item></argument>
</arguments>
</type><type name="Magento\Catalog\Api\ProductRepositoryInterface">
<plugin name="remove_images_from_gallery_after_removing_product" type="Magento\Catalog\Plugin\RemoveImagesFromGalleryAfterRemovingProduct"/>
<plugin name="configurableProductSaveOptions" sortOrder="10" type="Magento\ConfigurableProduct\Model\Plugin\ProductRepositorySave"/></type><type name="Magento\Catalog\Observer\ImageResizeAfterProductSave">
<arguments>
<argument name="imageResizeScheduler" xsi:type="object">Magento\MediaStorage\Service\ImageResizeScheduler\Proxy</argument>
</arguments>
</type><type name="Magento\Eav\Model\ReservedAttributeChecker">
<arguments>
<argument name="validators" xsi:type="array">
<item name="catalog_product" xsi:type="array">
<item name="product_reserved_attribute_codes" xsi:type="object">\Magento\Catalog\Model\Product\ReservedAttributeCheckerAdapter</item>
</item>
</argument>
</arguments>
</type><type name="Magento\CatalogImportExport\Model\Export\RowCustomizer\Composite">
<arguments>
<argument name="customizers" xsi:type="array">
<item name="giftcardProduct" xsi:type="string">Magento\GiftCardImportExport\Model\Export\RowCustomizer</item>
<item name="bundleProduct" xsi:type="string">Magento\BundleImportExport\Model\Export\RowCustomizer</item><item name="configurableProduct" xsi:type="string">Magento\ConfigurableImportExport\Model\Export\RowCustomizer</item><item name="downloadableProduct" xsi:type="string">Magento\DownloadableImportExport\Model\Export\RowCustomizer</item><item name="groupedProduct" xsi:type="string">Magento\GroupedImportExport\Model\Export\RowCustomizer</item></argument>
</arguments>
</type><type name="Magento\Widget\Model\Config\Reader">
<arguments>
<argument name="fileName" xsi:type="string">widget.xml</argument>
<argument name="schemaLocator" xsi:type="object">Magento\Widget\Model\Config\SchemaLocator</argument>
<argument name="fileResolver" xsi:type="object">Magento\Widget\Model\Config\FileResolver</argument>
</arguments>
</type><type name="Magento\Widget\Model\Config\Data">
<arguments>
<argument name="reader" xsi:type="object">Magento\Widget\Model\Config\Reader\Proxy</argument>
<argument name="cacheId" xsi:type="string">widget_config</argument>
</arguments>
</type><type name="Magento\Widget\Model\ResourceModel\Layout\Update">
<arguments>
<argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Layout</argument>
</arguments>
</type><type name="Magento\Cms\Model\Template\FilterProvider">
<arguments>
<argument name="pageFilter" xsi:type="string">Magento\Widget\Model\Template\Filter</argument>
<argument name="blockFilter" xsi:type="string">Magento\Widget\Model\Template\Filter</argument>
</arguments>
</type><type name="Magento\Framework\View\Model\Layout\Merge">
<plugin name="widget-layout-update-plugin" type="Magento\Widget\Model\ResourceModel\Layout\Plugin" sortOrder="10"/>
</type><virtualType name="WidgetValidationState" type="\Magento\Framework\Config\ValidationState\Configurable">
<arguments>
<argument name="required" xsi:type="boolean">true</argument>
</arguments>
</virtualType><virtualType name="WidgetXmlValidator" type="\Magento\Framework\View\Model\Layout\Update\Validator">
<arguments>
<argument name="validationState" xsi:type="object">WidgetValidationState</argument>
</arguments>
</virtualType><virtualType name="WidgetXmlValidatorFactory" type="Magento\Framework\View\Model\Layout\Update\ValidatorFactory">
<arguments>
<argument name="instanceName" xsi:type="string">WidgetXmlValidator</argument>
</arguments>
</virtualType><type name="Magento\Widget\Model\Widget\Instance">
<arguments>
<argument name="xmlValidatorFactory" xsi:type="object">WidgetXmlValidatorFactory</argument>
</arguments>
</type><preference for="Magento\ImportExport\Model\Import\ConfigInterface" type="Magento\ImportExport\Model\Import\Config"/><preference for="Magento\ImportExport\Model\Export\ConfigInterface" type="Magento\ImportExport\Model\Export\Config"/><preference for="Magento\ImportExport\Model\Import\ErrorProcessing\ProcessingErrorAggregatorInterface" type="Magento\ImportExport\Model\Import\ErrorProcessing\ProcessingErrorAggregator"/><preference for="Magento\ImportExport\Model\Report\ReportProcessorInterface" type="Magento\ImportExport\Model\Report\Csv"/><preference for="Magento\ImportExport\Api\Data\ExportInfoInterface" type="Magento\ImportExport\Model\Export\Entity\ExportInfo"/><preference for="Magento\ImportExport\Api\Data\LocalizedExportInfoInterface" type="Magento\ImportExport\Model\Export\Entity\ExportInfo"/><preference for="Magento\ImportExport\Api\ExportManagementInterface" type="Magento\ImportExport\Model\Export\ExportManagement"/><type name="Magento\ImportExport\Model\Import\SampleFileProvider">
<arguments>
<argument name="samples" xsi:type="array">
<item name="advanced_pricing" xsi:type="string">Magento_ImportExport</item>
<item name="catalog_product" xsi:type="string">Magento_ImportExport</item>
<item name="customer" xsi:type="string">Magento_ImportExport</item>
<item name="customer_address" xsi:type="string">Magento_ImportExport</item>
<item name="customer_composite" xsi:type="string">Magento_ImportExport</item>
<item name="customer_finance" xsi:type="string">Magento_ImportExport</item>
<item name="stock_sources" xsi:type="string">Magento_InventoryImportExport</item></argument>
</arguments>
</type><type name="Magento\ImportExport\Model\LocalizedFileName">
<arguments>
<argument name="dateFormats" xsi:type="array">
<item name="Ymd_His" xsi:type="string">Ymd_His</item>
<item name="Y-m-d_H-i-s" xsi:type="string">Y-m-d_H-i-s</item></argument>
</arguments>
</type><preference for="Magento\AdminAdobeIms\Api\Data\ImsWebapiSearchResultsInterface" type="Magento\AdminAdobeIms\Model\ImsWebapiSearchResults"/><preference for="Magento\AdminAdobeIms\Api\ImsWebapiRepositoryInterface" type="Magento\AdminAdobeIms\Model\ImsWebapiRepository"/><preference for="Magento\AdminAdobeIms\Api\Data\ImsWebapiInterface" type="Magento\AdminAdobeIms\Model\ImsWebapi"/><type name="Magento\User\Controller\Adminhtml\Auth\Forgotpassword">
<plugin name="admin_forgot_password_plugin" type="Magento\AdminAdobeIms\Plugin\AdminForgotPasswordPlugin" sortOrder="1"/>
</type><type name="Magento\AdminAdobeIms\Service\ImsCommandValidationService">
<arguments>
<argument name="organizationIdRegex" xsi:type="string"><![CDATA[/^([A-Z0-9]{24})(@AdobeOrg)?$/i]]></argument>
<argument name="clientIdRegex" xsi:type="string"><![CDATA[/[^a-z_\-0-9]/i]]></argument>
<argument name="clientSecretRegex" xsi:type="string"><![CDATA[/[^a-z_\-0-9]/i]]></argument>
<argument name="twoFactorAuthRegex" xsi:type="string"><![CDATA[/^y/i]]></argument>
</arguments>
</type><type name="Magento\Captcha\Observer\CheckUserLoginBackendObserver">
<plugin name="captcha_check_user_login_backend_observer_plugin" type="Magento\AdminAdobeIms\Plugin\CheckUserLoginBackendObserverPlugin"/>
</type><type name="Magento\Captcha\Observer\ResetAttemptForBackendObserver">
<plugin name="captcha_reset_attempt_for_backend_observer_plugin" type="Magento\AdminAdobeIms\Plugin\ResetAttemptForBackendObserverPlugin"/>
</type><virtualType name="Magento\AdminAdobeIms\Logger\Handler" type="Magento\Framework\Logger\Handler\Base">
<arguments>
<argument name="fileName" xsi:type="string">/var/log/admin_adobe_ims.log</argument>
</arguments>
</virtualType><type name="Magento\AdminAdobeIms\Logger\AdminAdobeImsLogger">
<arguments>
<argument name="enabled" xsi:type="string">1</argument>
<argument name="name" xsi:type="string">admin_adobe_ims_logger</argument>
<argument name="handlers" xsi:type="array">
<item name="system" xsi:type="object">Magento\AdminAdobeIms\Logger\Handler</item>
</argument>
</arguments>
</type><type name="Magento\Backend\Model\Auth">
<plugin name="disable_admin_login_auth" type="Magento\AdminAdobeIms\Plugin\DisableAdminLoginAuthPlugin"/>
<plugin name="login_as_customer_admin_logout" type="Magento\LoginAsCustomer\Plugin\AdminLogoutPlugin"/></type><preference for="Magento\AdminAdobeIms\Api\TokenReaderInterface" type="Magento\AdminAdobeIms\Model\TokenReader"/><type name="Magento\Integration\Model\AdminTokenService">
<plugin name="admin_adobe_ims_admin_token_plugin" type="Magento\AdminAdobeIms\Plugin\AdminTokenPlugin"/>
</type><type name="Magento\Framework\Backup\Db\BackupFactory">
<arguments>
<argument name="backupInstanceName" xsi:type="string">Magento\Backup\Model\Backup</argument>
<argument name="backupDbInstanceName" xsi:type="string">Magento\Backup\Model\Db</argument>
</arguments>
</type><type name="Magento\Backup\Model\ResourceModel\Helper">
<arguments>
<argument name="modulePrefix" xsi:type="string">backup</argument>
</arguments>
</type><type name="Magento\CatalogRule\Model\ResourceModel\Rule">
<arguments>
<argument name="eventManager" xsi:type="object">Magento\Framework\Event\Manager\Proxy</argument>
</arguments>
</type><type name="Magento\CatalogRule\Model\ResourceModel\Rule\Collection" shared="false"/><type name="Magento\Catalog\Model\Product\PriceModifier\Composite">
<arguments>
<argument name="modifiers" xsi:type="array">
<item name="catalog_rule" xsi:type="string">Magento\CatalogRule\Model\Product\PriceModifier</item>
</argument>
</arguments>
</type><preference for="Magento\CatalogRule\Api\Data\RuleInterface" type="Magento\CatalogRule\Model\Rule"/><preference for="Magento\CatalogRule\Api\CatalogRuleRepositoryInterface" type="Magento\CatalogRule\Model\CatalogRuleRepository"/><virtualType name="catalogRuleSearchResult" type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult">
<arguments>
<argument name="mainTable" xsi:type="string">catalogrule</argument>
<argument name="resourceModel" xsi:type="string">\Magento\CatalogRule\Model\ResourceModel\Rule</argument>
</arguments>
</virtualType><type name="Magento\CatalogRule\Model\Rule\Condition\Combine">
<arguments>
<argument name="data" xsi:type="array">
<item name="form_name" xsi:type="string">catalog_rule_form</item>
</argument>
</arguments>
</type><type name="Magento\CatalogRule\Model\Rule\Condition\Product">
<arguments>
<argument name="data" xsi:type="array">
<item name="form_name" xsi:type="string">catalog_rule_form</item>
</argument>
</arguments>
</type><preference for="Magento\CatalogRule\Api\Data\ConditionInterface" type="Magento\CatalogRule\Model\Data\Condition"/><virtualType name="Magento\CatalogRule\Model\ResourceModel\Rule\AssociatedEntityMap" type="Magento\Framework\DataObject">
<arguments>
<argument name="data" xsi:type="array">
<item name="website" xsi:type="array">
<item name="associations_table" xsi:type="string">catalogrule_website</item>
<item name="rule_id_field" xsi:type="string">row_id</item>
<item name="entity_id_field" xsi:type="string">website_id</item>
</item>
<item name="customer_group" xsi:type="array">
<item name="associations_table" xsi:type="string">catalogrule_customer_group</item>
<item name="rule_id_field" xsi:type="string">row_id</item>
<item name="entity_id_field" xsi:type="string">customer_group_id</item>
</item>
</argument>
</arguments>
</virtualType><preference for="Magento\CatalogRule\Model\Indexer\IndexerTableSwapperInterface" type="Magento\CatalogRule\Model\Indexer\IndexerTableSwapper"/><type name="Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\PriceInterface">
<arguments>
<argument name="priceModifiers" xsi:type="array">
<item name="catalogRulePriceModifier" xsi:type="object">Magento\CatalogRule\Model\Indexer\ProductPriceIndexModifier</item>
<item name="inventoryProductPriceIndexFilter" xsi:type="object">Magento\CatalogInventory\Model\Indexer\ProductPriceIndexFilter</item></argument>
</arguments>
</type><virtualType name="CatalogRuleCustomConditionProvider" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\ConditionProcessor\CustomConditionProvider">
<arguments>
<argument name="customConditionProcessors" xsi:type="array">
<item name="category_ids" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\ConditionProcessor\ProductCategoryCondition</item>
</argument>
</arguments>
</virtualType><virtualType name="CatalogRuleAdvancedFilterProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\AdvancedFilterProcessor">
<arguments>
<argument name="defaultConditionProcessor" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\CollectionProcessor\ConditionProcessor\DefaultCondition</argument>
<argument name="customConditionProvider" xsi:type="object">CatalogRuleCustomConditionProvider</argument>
</arguments>
</virtualType><type name="Magento\CatalogRule\Model\ResourceModel\Product\ConditionsToCollectionApplier">
<arguments>
<argument name="searchCriteriaProcessor" xsi:type="object">CatalogRuleAdvancedFilterProcessor</argument>
</arguments>
</type><type name="Magento\CatalogRule\Model\Rule\Condition\MappableConditionsProcessor">
<arguments>
<argument name="customConditionProvider" xsi:type="object">CatalogRuleCustomConditionProvider</argument>
</arguments>
</type><preference for="Magento\Quote\Api\ShippingMethodManagementInterface" type="Magento\Quote\Model\ShippingMethodManagement"/><preference for="Magento\Quote\Api\ShipmentEstimationInterface" type="Magento\Quote\Model\ShippingMethodManagement"/><preference for="Magento\Quote\Api\Data\ShippingMethodInterface" type="Magento\Quote\Model\Cart\ShippingMethod"/><preference for="Magento\Quote\Api\BillingAddressManagementInterface" type="Magento\Quote\Model\BillingAddressManagement"/><preference for="Magento\Quote\Model\ShippingAddressManagementInterface" type="Magento\Quote\Model\ShippingAddressManagement"/><preference for="Magento\Quote\Model\MaskedQuoteIdToQuoteIdInterface" type="Magento\Quote\Model\MaskedQuoteIdToQuoteId"/><preference for="Magento\Quote\Model\QuoteIdToMaskedQuoteIdInterface" type="Magento\Quote\Model\QuoteIdToMaskedQuoteId"/><preference for="Magento\Quote\Api\Data\AddressInterface" type="Magento\Quote\Model\Quote\Address"/><preference for="Magento\Quote\Api\Data\CartItemInterface" type="Magento\Quote\Model\Quote\Item"/><preference for="Magento\Quote\Api\Data\CartInterface" type="Magento\Quote\Model\Quote"/><preference for="Magento\Quote\Api\CartItemRepositoryInterface" type="Magento\Quote\Model\Quote\Item\Repository"/><preference for="Magento\Quote\Api\CartRepositoryInterface" type="Magento\Quote\Model\QuoteRepository"/><preference for="Magento\Quote\Api\Data\CartSearchResultsInterface" type="Magento\Quote\Model\CartSearchResults"/><preference for="Magento\Quote\Api\PaymentMethodManagementInterface" type="Magento\Quote\Model\PaymentMethodManagement"/><preference for="Magento\Quote\Api\Data\PaymentInterface" type="Magento\Quote\Model\Quote\Payment"/><preference for="Magento\Quote\Api\CouponManagementInterface" type="Magento\Quote\Model\CouponManagement"/><preference for="Magento\Quote\Api\CartManagementInterface" type="Magento\Quote\Model\QuoteManagement"/><preference for="Magento\Quote\Api\CartTotalRepositoryInterface" type="Magento\Quote\Model\Cart\CartTotalRepository"/><preference for="Magento\Quote\Api\ChangeQuoteControlInterface" type="Magento\Quote\Model\ChangeQuoteControl"/><preference for="Magento\Quote\Api\CartTotalManagementInterface" type="Magento\Quote\Model\Cart\CartTotalManagement"/><preference for="Magento\Quote\Api\Data\TotalsInterface" type="Magento\Quote\Model\Cart\Totals"/><preference for="Magento\Quote\Api\Data\TotalSegmentInterface" type="Magento\Quote\Model\Cart\TotalSegment"/><preference for="Magento\Quote\Api\Data\TotalsItemInterface" type="Magento\Quote\Model\Cart\Totals\Item"/><preference for="Magento\Quote\Api\Data\CurrencyInterface" type="Magento\Quote\Model\Cart\Currency"/><preference for="Magento\Quote\Api\GuestCartManagementInterface" type="Magento\Quote\Model\GuestCart\GuestCartManagement"/><preference for="Magento\Quote\Api\GuestCartRepositoryInterface" type="Magento\Quote\Model\GuestCart\GuestCartRepository"/><preference for="Magento\Quote\Api\GuestCartItemRepositoryInterface" type="Magento\Quote\Model\GuestCart\GuestCartItemRepository"/><preference for="Magento\Quote\Api\GuestCouponManagementInterface" type="Magento\Quote\Model\GuestCart\GuestCouponManagement"/><preference for="Magento\Quote\Api\GuestPaymentMethodManagementInterface" type="Magento\Quote\Model\GuestCart\GuestPaymentMethodManagement"/><preference for="Magento\Quote\Api\GuestCartTotalRepositoryInterface" type="Magento\Quote\Model\GuestCart\GuestCartTotalRepository"/><preference for="Magento\Quote\Model\GuestCart\GuestShippingAddressManagementInterface" type="Magento\Quote\Model\GuestCart\GuestShippingAddressManagement"/><preference for="Magento\Quote\Api\GuestShippingMethodManagementInterface" type="Magento\Quote\Model\GuestCart\GuestShippingMethodManagement"/><preference for="Magento\Quote\Api\GuestShipmentEstimationInterface" type="Magento\Quote\Model\GuestCart\GuestShippingMethodManagement"/><preference for="Magento\Quote\Api\GuestBillingAddressManagementInterface" type="Magento\Quote\Model\GuestCart\GuestBillingAddressManagement"/><preference for="Magento\Quote\Api\GuestCartTotalManagementInterface" type="Magento\Quote\Model\GuestCart\GuestCartTotalManagement"/><preference for="Magento\Quote\Api\Data\EstimateAddressInterface" type="Magento\Quote\Model\EstimateAddress"/><preference for="Magento\Quote\Api\Data\ProductOptionInterface" type="Magento\Quote\Model\Quote\ProductOption"/><preference for="Magento\Quote\Model\ValidationRules\QuoteValidationRuleInterface" type="Magento\Quote\Model\ValidationRules\QuoteValidationComposite\Proxy"/><preference for="Magento\Quote\Model\QuoteMutexInterface" type="Magento\Quote\Model\QuoteMutex"/><preference for="Magento\Quote\Model\Quote\Item\Option\ComparatorInterface" type="Magento\Quote\Model\Quote\Item\Option\Comparator"/><type name="Magento\Quote\Model\QuoteRepository">
<arguments>
<argument name="quoteCollection" xsi:type="object">Magento\Quote\Model\ResourceModel\Quote\Collection\Proxy</argument>
</arguments>
<plugin name="multishipping_quote_repository" type="Magento\Multishipping\Plugin\MultishippingQuoteRepository"/></type><type name="Magento\Quote\Model\Quote\Address">
<arguments>
<argument name="addressConfig" xsi:type="object">Magento\Customer\Model\Address\Config\Proxy</argument>
</arguments>
<plugin name="convertQuoteAddressToCustomerAddress" type="Magento\CustomerCustomAttributes\Model\Plugin\ConvertQuoteAddressToCustomerAddress"/><plugin name="manage_assignment_of_pickup_location_to_quote_address" type="Magento\InventoryInStorePickupQuote\Plugin\Quote\Address\ManageAssignmentOfPickupLocationToQuoteAddress" sortOrder="20"/></type><virtualType name="QuoteAddressRelationsComposite" type="Magento\Framework\Model\ResourceModel\Db\VersionControl\RelationComposite">
<arguments>
<argument name="relationProcessors" xsi:type="array">
<item name="default" xsi:type="object">Magento\Quote\Model\Quote\Address\Relation</item>
</argument>
</arguments>
</virtualType><type name="Magento\Quote\Model\ResourceModel\Quote\Address">
<arguments>
<argument name="entityRelationComposite" xsi:type="object">QuoteAddressRelationsComposite</argument>
<argument name="connectionName" xsi:type="string">checkout</argument></arguments>
<plugin name="load_pickup_location_for_quote_address" type="Magento\InventoryInStorePickupQuote\Plugin\Quote\Address\LoadPickupLocationForQuoteAddress" sortOrder="30"/></type><virtualType name="QuoteRelationsComposite" type="Magento\Framework\Model\ResourceModel\Db\VersionControl\RelationComposite">
<arguments>
<argument name="relationProcessors" xsi:type="array">
<item name="default" xsi:type="object">Magento\Quote\Model\Quote\Relation</item>
<item name="custom_attribute" xsi:type="object">Magento\CustomerCustomAttributes\Model\Quote\Relation</item></argument>
</arguments>
</virtualType><type name="Magento\Quote\Model\ResourceModel\Quote">
<arguments>
<argument name="entityRelationComposite" xsi:type="object">QuoteRelationsComposite</argument>
<argument name="connectionName" xsi:type="string">checkout</argument></arguments>
<plugin name="substract_product_from_quotes" type="Magento\CatalogStaging\Plugin\Quote\SubstractProductFromQuotes" sortOrder="800"/></type><preference for="Magento\Quote\Api\Data\AddressAdditionalDataInterface" type="Magento\Quote\Model\AddressAdditionalData"/><preference for="Magento\Quote\Api\Data\TotalsAdditionalDataInterface" type="Magento\Quote\Model\Cart\TotalsAdditionalData"/><preference for="Magento\Quote\Model\Quote\Address\CustomAttributeListInterface" type="Magento\CustomerCustomAttributes\Model\Quote\Address\CustomAttributeList"/><preference for="Magento\Quote\Model\Quote\Address\FreeShippingInterface" type="Magento\OfflineShipping\Model\Quote\Address\FreeShipping"/><preference for="Magento\Quote\Model\GuestCart\GuestShippingMethodManagementInterface" type="Magento\Quote\Model\GuestCart\GuestShippingMethodManagement"/><preference for="Magento\Quote\Model\ShippingMethodManagementInterface" type="Magento\Quote\Model\ShippingMethodManagement"/><preference for="Magento\Quote\Api\Data\ShippingInterface" type="Magento\Quote\Model\Shipping"/><preference for="Magento\Quote\Api\Data\ShippingAssignmentInterface" type="Magento\Quote\Model\ShippingAssignment"/><preference for="Magento\Quote\Model\Product\QuoteItemsCleanerInterface" type="Magento\ScalableCheckout\Model\Product\QuoteItemsCleaner"/><type name="Magento\Catalog\Model\ResourceModel\Product">
<plugin name="clean_quote_items_after_product_delete" type="Magento\Quote\Model\Product\Plugin\RemoveQuoteItems"/>
<plugin name="update_quote_items_after_product_save" type="Magento\Quote\Model\Product\Plugin\UpdateQuoteItems"/>
<plugin name="catalogsearchFulltextProduct" type="Magento\CatalogSearch\Model\Indexer\Fulltext\Plugin\Product"/><plugin name="update_quote_items_after_giftcard_product_save" type="Magento\GiftCard\Plugin\Catalog\Model\ResourceModel\Product"/><plugin name="delete_source_items" type="Magento\InventoryCatalog\Plugin\Catalog\Model\ResourceModel\Product\DeleteSourceItemsPlugin"/><plugin name="process_source_items_after_product_save" type="Magento\InventoryCatalog\Plugin\Catalog\Model\ResourceModel\Product\ProcessSourceItemsPlugin"/><plugin name="process_reservations_after_product_save" type="Magento\InventorySales\Plugin\Catalog\Model\ResourceModel\Product\UpdateReservationsPlugin"/><plugin name="delete_reservations" type="Magento\InventorySales\Plugin\Catalog\Model\ResourceModel\Product\DeleteReservationsPlugin"/><arguments>
<argument name="uniqueValidator" xsi:type="object">Magento\CatalogStaging\Model\Product\Attribute\UniqueValidator</argument>
</arguments></type><type name="Magento\Catalog\Api\TierPriceStorageInterface">
<plugin name="update_quote_items_after_tier_prices_update" type="Magento\Quote\Model\Product\Plugin\UpdateQuote"/>
</type><type name="Magento\Catalog\Model\Product\Action">
<plugin name="quoteProductMassChange" type="Magento\Quote\Model\Product\Plugin\MarkQuotesRecollectMassDisabled"/>
<plugin name="ReindexUpdatedProducts" type="Magento\CatalogInventory\Model\Plugin\ReindexUpdatedProducts"/><plugin name="catalogsearchFulltextMassAction" type="Magento\CatalogSearch\Model\Indexer\Fulltext\Plugin\Product\Action"/><plugin name="update_url_rewrites_after_websites_update_plugin" type="Magento\CatalogUrlRewrite\Plugin\Catalog\Model\Product\UpdateProductWebsiteUrlRewrites"/><plugin name="catalogPermissionsProductMassChange" type="Magento\CatalogPermissions\Model\Indexer\Plugin\Product\Action"/><plugin name="stagingMassAttributesUpdate" type="Magento\CatalogStaging\Model\Plugin\Model\Product\ActionPlugin" sortOrder="1"/></type><type name="Magento\Quote\Model\ValidationRules\QuoteValidationComposite">
<arguments>
<argument name="validationRules" xsi:type="array">
<item name="AllowedCountryValidationRule" xsi:type="object">Magento\Quote\Model\ValidationRules\AllowedCountryValidationRule</item>
<item name="ShippingAddressValidationRule" xsi:type="object">Magento\Quote\Model\ValidationRules\ShippingAddressValidationRule</item>
<item name="ShippingMethodValidationRule" xsi:type="object">Magento\Quote\Model\ValidationRules\ShippingMethodValidationRule</item>
<item name="BillingAddressValidationRule" xsi:type="object">Magento\Quote\Model\ValidationRules\BillingAddressValidationRule</item>
<item name="PaymentMethodValidationRule" xsi:type="object">Magento\Quote\Model\ValidationRules\PaymentMethodValidationRule</item>
<item name="MinimumAmountValidationRule" xsi:type="object">Magento\Quote\Model\ValidationRules\MinimumAmountValidationRule</item>
<item name="InStorePickupQuoteValidationRule" xsi:type="object">Magento\InventoryInStorePickupQuote\Model\Quote\ValidationRule\InStorePickupQuoteValidationRule</item></argument>
</arguments>
</type><type name="Magento\Quote\Model\ValidationRules\AllowedCountryValidationRule">
<arguments>
<argument name="generalMessage" xsi:type="string" translatable="true">Some addresses can't be used due to the configurations for specific countries.</argument>
</arguments>
</type><type name="Magento\Quote\Model\ValidationRules\ShippingAddressValidationRule">
<arguments>
<argument name="generalMessage" xsi:type="string" translatable="true">Please check the shipping address information.</argument>
</arguments>
</type><type name="Magento\Quote\Model\ValidationRules\ShippingMethodValidationRule">
<arguments>
<argument name="generalMessage" xsi:type="string" translatable="true">The shipping method is missing. Select the shipping method and try again.</argument>
</arguments>
</type><type name="Magento\Quote\Model\ValidationRules\BillingAddressValidationRule">
<arguments>
<argument name="generalMessage" xsi:type="string" translatable="true">Please check the billing address information.</argument>
</arguments>
</type><type name="Magento\Quote\Model\ValidationRules\PaymentMethodValidationRule">
<arguments>
<argument name="generalMessage" xsi:type="string" translatable="true">Enter a valid payment method and try again.</argument>
</arguments>
</type><preference for="Magento\Payment\Api\Data\PaymentMethodInterface" type="Magento\Payment\Model\PaymentMethod"/><preference for="Magento\Payment\Api\Data\PaymentAdditionalInfoInterface" type="Magento\Payment\Model\PaymentAdditionalInfo"/><preference for="Magento\Payment\Api\PaymentMethodListInterface" type="Magento\Payment\Model\PaymentMethodList"/><preference for="Magento\Payment\Gateway\Validator\ResultInterface" type="Magento\Payment\Gateway\Validator\Result"/><preference for="Magento\Payment\Gateway\ConfigFactoryInterface" type="Magento\Payment\Gateway\Config\ConfigFactory"/><preference for="Magento\Payment\Gateway\Command\CommandManagerPoolInterface" type="Magento\Payment\Gateway\Command\CommandManagerPool"/><preference for="Magento\Payment\Gateway\Data\PaymentDataObjectFactoryInterface" type="Magento\Payment\Gateway\Data\PaymentDataObjectFactory"/><preference for="Magento\Payment\Gateway\ErrorMapper\ErrorMessageMapperInterface" type="Magento\Payment\Gateway\ErrorMapper\ErrorMessageMapper"/><type name="Magento\Payment\Model\Config\Reader">
<arguments>
<argument name="fileName" xsi:type="string">payment.xml</argument>
<argument name="converter" xsi:type="object">Magento\Payment\Model\Config\Converter</argument>
<argument name="schemaLocator" xsi:type="object">Magento\Payment\Model\Config\SchemaLocator</argument>
</arguments>
</type><virtualType name="Magento\Payment\Model\Config\Data" type="Magento\Framework\Config\Data">
<arguments>
<argument name="reader" xsi:type="object">Magento\Payment\Model\Config\Reader\Proxy</argument>
<argument name="cacheId" xsi:type="string">payment_config</argument>
</arguments>
</virtualType><type name="Magento\Payment\Model\Config">
<arguments>
<argument name="dataStorage" xsi:type="object">Magento\Payment\Model\Config\Data</argument>
</arguments>
</type><type name="Magento\Payment\Block\ConfigurableInfo">
<arguments>
<argument name="config" xsi:type="object">Magento\Payment\Gateway\Config\Config</argument>
</arguments>
</type><virtualType name="Magento\Payment\Gateway\ErrorMapper\VirtualSchemaLocator" type="Magento\Framework\Config\GenericSchemaLocator">
<arguments>
<argument name="moduleName" xsi:type="string">Magento_Payment</argument>
<argument name="schema" xsi:type="string">error_mapping.xsd</argument>
</arguments>
</virtualType><virtualType name="Magento\Payment\Gateway\ErrorMapper\VirtualConfigReader" type="Magento\Framework\Config\Reader\Filesystem">
<arguments>
<argument name="converter" xsi:type="object">Magento\Payment\Gateway\ErrorMapper\XmlToArrayConverter</argument>
<argument name="schemaLocator" xsi:type="object">Magento\Payment\Gateway\ErrorMapper\VirtualSchemaLocator</argument>
<argument name="fileName" xsi:type="string">error_mapping.xml</argument>
</arguments>
</virtualType><type name="Magento\Payment\Gateway\ErrorMapper\MappingData">
<arguments>
<argument name="reader" xsi:type="object">Magento\Payment\Gateway\ErrorMapper\VirtualConfigReader</argument>
<argument name="cacheId" xsi:type="string">payment_error_mapper</argument>
</arguments>
</type><type name="Magento\Payment\Gateway\ErrorMapper\ErrorMessageMapper">
<arguments>
<argument name="messageMapping" xsi:type="object">Magento\Payment\Gateway\ErrorMapper\NullMappingData</argument>
</arguments>
</type><virtualType name="Magento\Payment\Model\Method\VirtualDebug" type="Magento\Framework\Logger\Handler\Base">
<arguments>
<argument name="fileName" xsi:type="string">/var/log/payment.log</argument>
</arguments>
</virtualType><virtualType name="Magento\Payment\Model\Method\VirtualLogger" type="Magento\Framework\Logger\Monolog">
<arguments>
<argument name="handlers" xsi:type="array">
<item name="debug" xsi:type="object">Magento\Payment\Model\Method\VirtualDebug</item>
</argument>
</arguments>
</virtualType><type name="Magento\Payment\Model\Method\Logger">
<arguments>
<argument name="logger" xsi:type="object">Magento\Payment\Model\Method\VirtualLogger</argument>
</arguments>
</type><preference for="Magento\Sales\Api\Data\CreditmemoCommentInterface" type="Magento\Sales\Model\Order\Creditmemo\Comment"/><preference for="Magento\Sales\Api\Data\CreditmemoCommentSearchResultInterface" type="Magento\Sales\Model\ResourceModel\Order\Creditmemo\Comment\Collection"/><preference for="Magento\Sales\Api\Data\CreditmemoInterface" type="Magento\Sales\Model\Order\Creditmemo"/><preference for="Magento\Sales\Api\Data\CreditmemoItemInterface" type="Magento\Sales\Model\Order\Creditmemo\Item"/><preference for="Magento\Sales\Api\Data\CreditmemoItemSearchResultInterface" type="Magento\Sales\Model\ResourceModel\Order\Creditmemo\Item\Collection"/><preference for="Magento\Sales\Api\Data\CreditmemoSearchResultInterface" type="Magento\Sales\Model\ResourceModel\Order\Creditmemo\Collection"/><preference for="Magento\Sales\Api\Data\InvoiceCommentInterface" type="Magento\Sales\Model\Order\Invoice\Comment"/><preference for="Magento\Sales\Api\Data\InvoiceCommentSearchResultInterface" type="Magento\Sales\Model\ResourceModel\Order\Invoice\Comment\Collection"/><preference for="Magento\Sales\Api\Data\InvoiceInterface" type="Magento\Sales\Model\Order\Invoice"/><preference for="Magento\Sales\Api\Data\InvoiceItemInterface" type="Magento\Sales\Model\Order\Invoice\Item"/><preference for="Magento\Sales\Api\Data\InvoiceItemSearchResultInterface" type="Magento\Sales\Model\ResourceModel\Order\Invoice\Item\Collection"/><preference for="Magento\Sales\Api\Data\InvoiceSearchResultInterface" type="Magento\Sales\Model\ResourceModel\Order\Invoice\Collection"/><preference for="Magento\Sales\Api\Data\OrderAddressInterface" type="Magento\Sales\Model\Order\Address"/><preference for="Magento\Sales\Api\Data\OrderAddressSearchResultInterface" type="Magento\Sales\Model\ResourceModel\Order\Address\Collection"/><preference for="Magento\Sales\Api\Data\OrderInterface" type="Magento\Sales\Model\Order"/><preference for="Magento\Sales\Api\Data\OrderItemInterface" type="Magento\Sales\Model\Order\Item"/><preference for="Magento\Sales\Api\Data\OrderItemSearchResultInterface" type="Magento\Sales\Model\ResourceModel\Order\Item\Collection"/><preference for="Magento\Sales\Api\Data\OrderPaymentInterface" type="Magento\Sales\Model\Order\Payment"/><preference for="Magento\Sales\Api\Data\OrderPaymentSearchResultInterface" type="Magento\Sales\Model\ResourceModel\Order\Payment\Collection"/><preference for="Magento\Sales\Api\Data\OrderSearchResultInterface" type="Magento\Sales\Model\ResourceModel\Order\Collection"/><preference for="Magento\Sales\Api\Data\OrderStatusHistoryInterface" type="Magento\Sales\Model\Order\Status\History"/><preference for="Magento\Sales\Api\Data\OrderStatusHistorySearchResultInterface" type="Magento\Sales\Model\ResourceModel\Order\Status\History\Collection"/><preference for="Magento\Sales\Api\Data\ShipmentCommentInterface" type="Magento\Sales\Model\Order\Shipment\Comment"/><preference for="Magento\Sales\Api\Data\ShipmentCommentSearchResultInterface" type="Magento\Sales\Model\ResourceModel\Order\Shipment\Comment\Collection"/><preference for="Magento\Sales\Api\Data\ShipmentCreationArgumentsInterface" type="Magento\Sales\Model\Order\Shipment\CreationArguments"/><preference for="Magento\Sales\Api\Data\ShipmentInterface" type="Magento\Sales\Model\Order\Shipment"/><preference for="Magento\Sales\Api\Data\ShipmentItemCreationInterface" type="Magento\Sales\Model\Order\Shipment\ItemCreation"/><preference for="Magento\Sales\Api\Data\ShipmentItemInterface" type="Magento\Sales\Model\Order\Shipment\Item"/><preference for="Magento\Sales\Api\Data\ShipmentItemSearchResultInterface" type="Magento\Sales\Model\ResourceModel\Order\Shipment\Item\Collection"/><preference for="Magento\Sales\Api\Data\ShipmentSearchResultInterface" type="Magento\Sales\Model\ResourceModel\Order\Shipment\Collection"/><preference for="Magento\Sales\Api\Data\ShipmentTrackInterface" type="Magento\Sales\Model\Order\Shipment\Track"/><preference for="Magento\Sales\Api\Data\ShipmentTrackSearchResultInterface" type="Magento\Sales\Model\ResourceModel\Order\Shipment\Track\Collection"/><preference for="Magento\Sales\Api\Data\ShippingInterface" type="Magento\Sales\Model\Order\Shipping"/><preference for="Magento\Sales\Api\Data\ShippingAssignmentInterface" type="Magento\Sales\Model\Order\ShippingAssignment"/><preference for="Magento\Sales\Api\Data\TransactionInterface" type="Magento\Sales\Model\Order\Payment\Transaction"/><preference for="Magento\Sales\Api\Data\TransactionSearchResultInterface" type="Magento\Sales\Model\ResourceModel\Order\Payment\Transaction\Collection"/><preference for="Magento\Sales\Api\Data\TotalInterface" type="Magento\Sales\Model\Order\ShippingTotal"/><preference for="Magento\Sales\Api\CreditmemoCommentRepositoryInterface" type="Magento\Sales\Model\Order\Creditmemo\CommentRepository"/><preference for="Magento\Sales\Api\CreditmemoItemRepositoryInterface" type="Magento\Sales\Model\Order\Creditmemo\ItemRepository"/><preference for="Magento\Sales\Api\CreditmemoRepositoryInterface" type="Magento\Sales\Model\Order\CreditmemoRepository"/><preference for="Magento\Sales\Api\CreditmemoManagementInterface" type="Magento\Sales\Model\Service\CreditmemoService"/><preference for="Magento\Sales\Api\Data\CreditmemoCreationArgumentsInterface" type="Magento\Sales\Model\Order\Creditmemo\CreationArguments"/><preference for="Magento\Sales\Api\Data\CreditmemoItemCreationInterface" type="Magento\Sales\Model\Order\Creditmemo\ItemCreation"/><preference for="Magento\Sales\Api\InvoiceCommentRepositoryInterface" type="Magento\Sales\Model\Order\Invoice\CommentRepository"/><preference for="Magento\Sales\Api\InvoiceItemRepositoryInterface" type="Magento\Sales\Model\Order\Invoice\ItemRepository"/><preference for="Magento\Sales\Api\InvoiceRepositoryInterface" type="Magento\Sales\Model\Order\InvoiceRepository"/><preference for="Magento\Sales\Api\InvoiceManagementInterface" type="Magento\Sales\Model\Service\InvoiceService"/><preference for="Magento\Sales\Api\Data\InvoiceCreationArgumentsInterface" type="Magento\Sales\Model\Order\Invoice\CreationArguments"/><preference for="Magento\Sales\Api\Data\InvoiceItemCreationInterface" type="Magento\Sales\Model\Order\Invoice\ItemCreation"/><preference for="Magento\Sales\Api\Data\InvoiceCommentCreationInterface" type="Magento\Sales\Model\Order\Invoice\CommentCreation"/><preference for="Magento\Sales\Api\Data\ShipmentCommentCreationInterface" type="Magento\Sales\Model\Order\Shipment\CommentCreation"/><preference for="Magento\Sales\Api\Data\CreditmemoCommentCreationInterface" type="Magento\Sales\Model\Order\Creditmemo\CommentCreation"/><preference for="Magento\Sales\Api\OrderAddressRepositoryInterface" type="Magento\Sales\Model\Order\AddressRepository"/><preference for="Magento\Sales\Api\OrderCustomerManagementInterface" type="Magento\Sales\Model\Order\CustomerManagement"/><preference for="Magento\Sales\Api\OrderItemRepositoryInterface" type="Magento\Sales\Model\Order\ItemRepository"/><preference for="Magento\Sales\Api\OrderPaymentRepositoryInterface" type="Magento\Sales\Model\Order\Payment\Repository"/><preference for="Magento\Sales\Api\OrderRepositoryInterface" type="Magento\Sales\Model\OrderRepository"/><preference for="Magento\Sales\Api\OrderManagementInterface" type="Magento\Sales\Model\Service\OrderService"/><preference for="Magento\Sales\Api\OrderStatusHistoryRepositoryInterface" type="Magento\Sales\Model\Order\Status\HistoryRepository"/><preference for="Magento\Sales\Api\PaymentFailuresInterface" type="Magento\Sales\Model\Service\PaymentFailuresService"/><preference for="Magento\Sales\Api\ShipmentCommentRepositoryInterface" type="Magento\Sales\Model\Order\Shipment\CommentRepository"/><preference for="Magento\Sales\Api\ShipmentItemRepositoryInterface" type="Magento\Sales\Model\Order\Shipment\ItemRepository"/><preference for="Magento\Sales\Api\ShipmentRepositoryInterface" type="Magento\Sales\Model\Order\ShipmentRepository"/><preference for="Magento\Sales\Api\ShipmentManagementInterface" type="Magento\Sales\Model\Service\ShipmentService"/><preference for="Magento\Sales\Api\ShipmentTrackRepositoryInterface" type="Magento\Sales\Model\Order\Shipment\TrackRepository"/><preference for="Magento\Sales\Api\ShipOrderInterface" type="Magento\Sales\Model\ShipOrder"/><preference for="Magento\Sales\Api\TransactionRepositoryInterface" type="Magento\Sales\Model\Order\Payment\Transaction\Repository"/><preference for="Magento\Sales\Model\Order\Invoice\NotifierInterface" type="Magento\Sales\Model\Order\Invoice\Notifier"/><preference for="Magento\Sales\Model\Order\Shipment\NotifierInterface" type="Magento\Sales\Model\Order\Shipment\Notifier"/><preference for="Magento\Sales\Model\Order\PaymentAdapterInterface" type="Magento\Sales\Model\Order\PaymentAdapter"/><preference for="Magento\Sales\Model\Order\RefundAdapterInterface" type="Magento\Sales\Model\Order\RefundAdapter"/><preference for="Magento\Sales\Model\Order\Payment\Transaction\ManagerInterface" type="Magento\Sales\Model\Order\Payment\Transaction\Manager"/><preference for="Magento\Sales\Model\Order\Payment\Transaction\BuilderInterface" type="Magento\Sales\Model\Order\Payment\Transaction\Builder"/><preference for="Magento\Sales\Model\Order\Shipment\OrderRegistrarInterface" type="Magento\Sales\Model\Order\Shipment\OrderRegistrar"/><preference for="Magento\Sales\Model\Spi\CreditmemoCommentResourceInterface" type="Magento\Sales\Model\ResourceModel\Order\Creditmemo\Comment"/><preference for="Magento\Sales\Model\Spi\CreditmemoItemResourceInterface" type="Magento\Sales\Model\ResourceModel\Order\Creditmemo\Item"/><preference for="Magento\Sales\Model\Spi\CreditmemoResourceInterface" type="Magento\Sales\Model\ResourceModel\Order\Creditmemo"/><preference for="Magento\Sales\Model\Spi\InvoiceCommentResourceInterface" type="Magento\Sales\Model\ResourceModel\Order\Invoice\Comment"/><preference for="Magento\Sales\Model\Spi\InvoiceItemResourceInterface" type="Magento\Sales\Model\ResourceModel\Order\Invoice\Item"/><preference for="Magento\Sales\Model\Spi\InvoiceResourceInterface" type="Magento\Sales\Model\ResourceModel\Order\Invoice"/><preference for="Magento\Sales\Model\Spi\OrderAddressResourceInterface" type="Magento\Sales\Model\ResourceModel\Order\Address"/><preference for="Magento\Sales\Model\Spi\OrderItemResourceInterface" type="Magento\Sales\Model\ResourceModel\Order\Item"/><preference for="Magento\Sales\Model\Spi\OrderPaymentResourceInterface" type="Magento\Sales\Model\ResourceModel\Order\Payment"/><preference for="Magento\Sales\Model\Spi\OrderResourceInterface" type="Magento\Sales\Model\ResourceModel\Order"/><preference for="Magento\Sales\Model\Spi\OrderStatusHistoryResourceInterface" type="Magento\Sales\Model\ResourceModel\Order\Status\History"/><preference for="Magento\Sales\Model\Spi\ShipmentCommentResourceInterface" type="Magento\Sales\Model\ResourceModel\Order\Shipment\Comment"/><preference for="Magento\Sales\Model\Spi\ShipmentItemResourceInterface" type="Magento\Sales\Model\ResourceModel\Order\Shipment\Item"/><preference for="Magento\Sales\Model\Spi\ShipmentResourceInterface" type="Magento\Sales\Model\ResourceModel\Order\Shipment"/><preference for="Magento\Sales\Model\Spi\ShipmentTrackResourceInterface" type="Magento\Sales\Model\ResourceModel\Order\Shipment\Track"/><preference for="Magento\Sales\Model\Spi\TransactionResourceInterface" type="Magento\Sales\Model\ResourceModel\Order\Payment\Transaction"/><preference for="Magento\Sales\Model\ResourceModel\Order\CollectionFactoryInterface" type="Magento\Sales\Model\ResourceModel\Order\CollectionFactory"/><preference for="Magento\Sales\Api\InvoiceOrderInterface" type="Magento\Sales\Model\InvoiceOrder"/><preference for="Magento\Sales\Model\Order\OrderStateResolverInterface" type="Magento\Sales\Model\Order\StateResolver"/><preference for="Magento\Sales\Api\Data\ShipmentTrackCreationInterface" type="Magento\Sales\Model\Order\Shipment\TrackCreation"/><preference for="Magento\Sales\Api\Data\ShipmentPackageInterface" type="Magento\Sales\Model\Order\Shipment\Package"/><preference for="Magento\Sales\Api\Data\ShipmentPackageCreationInterface" type="Magento\Sales\Model\Order\Shipment\PackageCreation"/><preference for="Magento\Sales\Model\Order\OrderValidatorInterface" type="Magento\Sales\Model\Order\OrderValidator"/><preference for="Magento\Sales\Model\Order\Invoice\InvoiceValidatorInterface" type="Magento\Sales\Model\Order\Invoice\InvoiceValidator"/><preference for="Magento\Sales\Model\Order\Shipment\ShipmentValidatorInterface" type="Magento\Sales\Model\Order\Shipment\ShipmentValidator"/><preference for="Magento\Sales\Model\Order\Creditmemo\CreditmemoValidatorInterface" type="Magento\Sales\Model\Order\Creditmemo\CreditmemoValidator"/><preference for="Magento\Sales\Model\Order\Creditmemo\ItemCreationValidatorInterface" type="Magento\Sales\Model\Order\Creditmemo\ItemCreationValidator"/><preference for="Magento\Sales\Model\ValidatorResultInterface" type="Magento\Sales\Model\ValidatorResult"/><preference for="Magento\Sales\Model\Order\Validation\InvoiceOrderInterface" type="Magento\Sales\Model\Order\Validation\InvoiceOrder"/><preference for="Magento\Sales\Model\Order\Validation\RefundInvoiceInterface" type="Magento\Sales\Model\Order\Validation\RefundInvoice"/><preference for="Magento\Sales\Model\Order\Validation\RefundOrderInterface" type="Magento\Sales\Model\Order\Validation\RefundOrder"/><preference for="Magento\Sales\Model\Order\Validation\ShipOrderInterface" type="Magento\Sales\Model\Order\Validation\ShipOrder"/><preference for="Magento\Sales\Model\Order\Creditmemo\NotifierInterface" type="Magento\Sales\Model\Order\Creditmemo\Notifier"/><preference for="Magento\Sales\Api\RefundOrderInterface" type="Magento\Sales\Model\RefundOrder"/><preference for="Magento\Sales\Api\RefundInvoiceInterface" type="Magento\Sales\Model\RefundInvoice"/><preference for="Magento\Sales\Model\ResourceModel\Provider\NotSyncedDataProviderInterface" type="Magento\Sales\Model\ResourceModel\Provider\NotSyncedDataProvider"/><preference for="Magento\Sales\Model\ConfigInterface" type="Magento\Sales\Model\Config"/><preference for="Magento\Sales\Model\Order\Shipment\ShipmentItemsValidatorInterface" type="Magento\Sales\Model\Order\Shipment\ShipmentItemsValidator"/><preference for="Magento\Sales\Model\OrderMutexInterface" type="Magento\Sales\Model\OrderMutex"/><type name="Magento\Sales\Model\ResourceModel\Provider\NotSyncedDataProvider">
<arguments>
<argument name="providers" xsi:type="array">
<item name="default" xsi:type="string">Magento\Sales\Model\ResourceModel\Provider\UpdatedIdListProvider</item>
<item name="updated_at" xsi:type="string">Magento\Sales\Model\ResourceModel\Provider\UpdatedAtListProvider</item>
</argument>
</arguments>
</type><type name="Magento\Sales\Model\ResourceModel\Report" shared="false"/><type name="Magento\Sales\Model\Order\Pdf\Config\Reader">
<arguments>
<argument name="fileName" xsi:type="string">pdf.xml</argument>
<argument name="converter" xsi:type="object">Magento\Sales\Model\Order\Pdf\Config\Converter</argument>
<argument name="schemaLocator" xsi:type="object">Magento\Sales\Model\Order\Pdf\Config\SchemaLocator</argument>
</arguments>
</type><virtualType name="pdfConfigDataStorage" type="Magento\Framework\Config\Data">
<arguments>
<argument name="reader" xsi:type="object">Magento\Sales\Model\Order\Pdf\Config\Reader</argument>
<argument name="cacheId" xsi:type="string">sales_pdf_config</argument>
</arguments>
</virtualType><type name="Magento\Sales\Model\Order\Pdf\Config">
<arguments>
<argument name="dataStorage" xsi:type="object">pdfConfigDataStorage</argument>
</arguments>
</type><type name="Magento\Payment\Model\Checks\SpecificationFactory">
<arguments>
<argument name="mapping" xsi:type="array">
<item name="country" xsi:type="object">Magento\Payment\Model\Checks\CanUseForCountry</item>
<item name="currency" xsi:type="object">Magento\Payment\Model\Checks\CanUseForCurrency</item>
<item name="checkout" xsi:type="object">Magento\Payment\Model\Checks\CanUseCheckout</item>
<item name="internal" xsi:type="object">Magento\Payment\Model\Checks\CanUseInternal</item>
<item name="total" xsi:type="object">Magento\Payment\Model\Checks\TotalMinMax</item>
<item name="zero_total" xsi:type="object">Magento\Payment\Model\Checks\ZeroTotal</item>
</argument>
</arguments>
</type><type name="Magento\Sales\Model\Config\Data">
<arguments>
<argument name="reader" xsi:type="object">Magento\Sales\Model\Config\Reader\Proxy</argument>
</arguments>
</type><type name="Magento\Sales\Controller\Order\Creditmemo">
<plugin name="authentication" type="Magento\Sales\Controller\Order\Plugin\Authentication"/>
<plugin name="redirect_creditmemo" type="Magento\AsyncOrder\Plugin\Controller\Order\CustomerRedirectPlugin"/></type><type name="Magento\Sales\Controller\Order\History">
<plugin name="authentication" type="Magento\Sales\Controller\Order\Plugin\Authentication"/>
</type><type name="Magento\Sales\Controller\Order\Invoice">
<plugin name="authentication" type="Magento\Sales\Controller\Order\Plugin\Authentication"/>
<plugin name="redirect_invoice" type="Magento\AsyncOrder\Plugin\Controller\Order\CustomerRedirectPlugin"/></type><type name="Magento\Sales\Controller\Order\PrintAction">
<plugin name="authentication" type="Magento\Sales\Controller\Order\Plugin\Authentication"/>
<plugin name="redirect_print" type="Magento\AsyncOrder\Plugin\Controller\Order\CustomerRedirectPlugin"/></type><type name="Magento\Sales\Controller\Order\PrintCreditmemo">
<plugin name="authentication" type="Magento\Sales\Controller\Order\Plugin\Authentication"/>
<plugin name="redirect_print_creditmemo" type="Magento\AsyncOrder\Plugin\Controller\Order\CustomerRedirectPlugin"/></type><type name="Magento\Sales\Controller\Order\PrintInvoice">
<plugin name="authentication" type="Magento\Sales\Controller\Order\Plugin\Authentication"/>
<plugin name="redirect_print_invoice" type="Magento\AsyncOrder\Plugin\Controller\Order\CustomerRedirectPlugin"/></type><type name="Magento\Sales\Controller\Order\PrintShipment">
<plugin name="authentication" type="Magento\Sales\Controller\Order\Plugin\Authentication"/>
<plugin name="redirect_print_shipment" type="Magento\AsyncOrder\Plugin\Controller\Order\CustomerRedirectPlugin"/></type><type name="Magento\Sales\Controller\Order\Reorder">
<plugin name="authentication" type="Magento\Sales\Controller\Order\Plugin\Authentication"/>
<plugin name="redirect_reorder" type="Magento\AsyncOrder\Plugin\Controller\Order\CustomerRedirectPlugin"/></type><type name="Magento\Sales\Controller\Order\Shipment">
<plugin name="authentication" type="Magento\Sales\Controller\Order\Plugin\Authentication"/>
<plugin name="redirect_shipment" type="Magento\AsyncOrder\Plugin\Controller\Order\CustomerRedirectPlugin"/></type><type name="Magento\Sales\Controller\Order\View">
<plugin name="authentication" type="Magento\Sales\Controller\Order\Plugin\Authentication"/>
<plugin name="redirect_view_order" type="Magento\AsyncOrder\Plugin\Controller\Order\CustomerRedirectPlugin"/></type><type name="Magento\Sales\Model\EmailSenderHandler">
<arguments>
<argument name="modifyStartFromDate" xsi:type="string">-1 day</argument>
</arguments>
</type><virtualType name="SalesOrderIndexGridSyncRemove" type="Magento\Sales\Observer\GridSyncRemoveObserver">
<arguments>
<argument name="entityGrid" xsi:type="object">Magento\Sales\Model\ResourceModel\Order\Grid</argument>
</arguments>
</virtualType><virtualType name="SalesInvoiceIndexGridSyncRemove" type="Magento\Sales\Observer\GridSyncRemoveObserver">
<arguments>
<argument name="entityGrid" xsi:type="object">Magento\Sales\Model\ResourceModel\Order\Invoice\Grid</argument>
</arguments>
</virtualType><virtualType name="SalesShipmentIndexGridSyncRemove" type="Magento\Sales\Observer\GridSyncRemoveObserver">
<arguments>
<argument name="entityGrid" xsi:type="object">ShipmentGridAggregator</argument>
</arguments>
</virtualType><virtualType name="SalesCreditmemoIndexGridSyncRemove" type="Magento\Sales\Observer\GridSyncRemoveObserver">
<arguments>
<argument name="entityGrid" xsi:type="object">CreditmemoGridAggregator</argument>
</arguments>
</virtualType><virtualType name="SalesOrderIndexGridSyncInsert" type="Magento\Sales\Observer\GridSyncInsertObserver">
<arguments>
<argument name="entityGrid" xsi:type="object">Magento\Sales\Model\ResourceModel\Order\Grid</argument>
</arguments>
</virtualType><virtualType name="SalesInvoiceIndexGridSyncInsert" type="Magento\Sales\Observer\GridSyncInsertObserver">
<arguments>
<argument name="entityGrid" xsi:type="object">Magento\Sales\Model\ResourceModel\Order\Invoice\Grid</argument>
</arguments>
</virtualType><virtualType name="SalesShipmentIndexGridSyncInsert" type="Magento\Sales\Observer\GridSyncInsertObserver">
<arguments>
<argument name="entityGrid" xsi:type="object">ShipmentGridAggregator</argument>
</arguments>
</virtualType><virtualType name="SalesCreditmemoIndexGridSyncInsert" type="Magento\Sales\Observer\GridSyncInsertObserver">
<arguments>
<argument name="entityGrid" xsi:type="object">CreditmemoGridAggregator</argument>
</arguments>
</virtualType><virtualType name="SalesOrderIndexGridAsyncInsert" type="Magento\Sales\Model\GridAsyncInsert">
<arguments>
<argument name="entityGrid" xsi:type="object">Magento\Sales\Model\ResourceModel\Order\Grid</argument>
<argument name="globalConfig" xsi:type="object">Magento\AsyncOrder\Model\AsyncGlobalConfig</argument></arguments>
</virtualType><virtualType name="SalesInvoiceIndexGridAsyncInsert" type="Magento\Sales\Model\GridAsyncInsert">
<arguments>
<argument name="entityGrid" xsi:type="object">Magento\Sales\Model\ResourceModel\Order\Invoice\Grid</argument>
<argument name="globalConfig" xsi:type="object">Magento\AsyncOrder\Model\AsyncGlobalConfig</argument></arguments>
</virtualType><virtualType name="SalesShipmentIndexGridAsyncInsert" type="Magento\Sales\Model\GridAsyncInsert">
<arguments>
<argument name="entityGrid" xsi:type="object">ShipmentGridAggregator</argument>
<argument name="globalConfig" xsi:type="object">Magento\AsyncOrder\Model\AsyncGlobalConfig</argument></arguments>
</virtualType><virtualType name="SalesCreditmemoIndexGridAsyncInsert" type="Magento\Sales\Model\GridAsyncInsert">
<arguments>
<argument name="entityGrid" xsi:type="object">CreditmemoGridAggregator</argument>
<argument name="globalConfig" xsi:type="object">Magento\AsyncOrder\Model\AsyncGlobalConfig</argument></arguments>
</virtualType><virtualType name="SalesOrderIndexGridAsyncInsertObserver" type="Magento\Sales\Observer\GridAsyncInsertObserver">
<arguments>
<argument name="asyncInsert" xsi:type="object">SalesOrderIndexGridAsyncInsert</argument>
</arguments>
</virtualType><virtualType name="SalesInvoiceIndexGridAsyncInsertObserver" type="Magento\Sales\Observer\GridAsyncInsertObserver">
<arguments>
<argument name="asyncInsert" xsi:type="object">SalesInvoiceIndexGridAsyncInsert</argument>
</arguments>
</virtualType><virtualType name="SalesShipmentIndexGridAsyncInsertObserver" type="Magento\Sales\Observer\GridAsyncInsertObserver">
<arguments>
<argument name="asyncInsert" xsi:type="object">SalesShipmentIndexGridAsyncInsert</argument>
</arguments>
</virtualType><virtualType name="SalesCreditmemoIndexGridAsyncInsertObserver" type="Magento\Sales\Observer\GridAsyncInsertObserver">
<arguments>
<argument name="asyncInsert" xsi:type="object">SalesCreditmemoIndexGridAsyncInsert</argument>
</arguments>
</virtualType><virtualType name="SalesOrderIndexGridAsyncInsertCron" type="Magento\Sales\Cron\GridAsyncInsert">
<arguments>
<argument name="asyncInsert" xsi:type="object">SalesOrderIndexGridAsyncInsert</argument>
</arguments>
</virtualType><virtualType name="SalesInvoiceIndexGridAsyncInsertCron" type="Magento\Sales\Cron\GridAsyncInsert">
<arguments>
<argument name="asyncInsert" xsi:type="object">SalesInvoiceIndexGridAsyncInsert</argument>
</arguments>
</virtualType><virtualType name="SalesShipmentIndexGridAsyncInsertCron" type="Magento\Sales\Cron\GridAsyncInsert">
<arguments>
<argument name="asyncInsert" xsi:type="object">SalesShipmentIndexGridAsyncInsert</argument>
</arguments>
</virtualType><virtualType name="SalesCreditmemoIndexGridAsyncInsertCron" type="Magento\Sales\Cron\GridAsyncInsert">
<arguments>
<argument name="asyncInsert" xsi:type="object">SalesCreditmemoIndexGridAsyncInsert</argument>
</arguments>
</virtualType><virtualType name="SalesOrderSendEmails" type="Magento\Sales\Model\EmailSenderHandler">
<arguments>
<argument name="emailSender" xsi:type="object">Magento\Sales\Model\Order\Email\Sender\OrderSender</argument>
<argument name="entityResource" xsi:type="object">Magento\Sales\Model\ResourceModel\Order</argument>
<argument name="entityCollection" xsi:type="object" shared="false">Magento\Sales\Model\ResourceModel\Order\Collection</argument>
<argument name="identityContainer" xsi:type="object" shared="false">Magento\Sales\Model\Order\Email\Container\OrderIdentity</argument>
</arguments>
</virtualType><virtualType name="SalesOrderInvoiceSendEmails" type="Magento\Sales\Model\EmailSenderHandler">
<arguments>
<argument name="emailSender" xsi:type="object">Magento\Sales\Model\Order\Email\Sender\InvoiceSender</argument>
<argument name="entityResource" xsi:type="object">Magento\Sales\Model\ResourceModel\Order\Invoice</argument>
<argument name="entityCollection" xsi:type="object" shared="false">Magento\Sales\Model\ResourceModel\Order\Invoice\Collection</argument>
<argument name="identityContainer" xsi:type="object" shared="false">Magento\Sales\Model\Order\Email\Container\InvoiceIdentity</argument>
</arguments>
</virtualType><virtualType name="SalesOrderShipmentSendEmails" type="Magento\Sales\Model\EmailSenderHandler">
<arguments>
<argument name="emailSender" xsi:type="object">Magento\Sales\Model\Order\Email\Sender\ShipmentSender</argument>
<argument name="entityResource" xsi:type="object">Magento\Sales\Model\ResourceModel\Order\Shipment</argument>
<argument name="entityCollection" xsi:type="object" shared="false">Magento\Sales\Model\ResourceModel\Order\Shipment\Collection</argument>
<argument name="identityContainer" xsi:type="object" shared="false">Magento\Sales\Model\Order\Email\Container\ShipmentIdentity</argument>
</arguments>
</virtualType><virtualType name="SalesOrderCreditmemoSendEmails" type="Magento\Sales\Model\EmailSenderHandler">
<arguments>
<argument name="emailSender" xsi:type="object">Magento\Sales\Model\Order\Email\Sender\CreditmemoSender</argument>
<argument name="entityResource" xsi:type="object">Magento\Sales\Model\ResourceModel\Order\Creditmemo</argument>
<argument name="entityCollection" xsi:type="object" shared="false">Magento\Sales\Model\ResourceModel\Order\Creditmemo\Collection</argument>
<argument name="identityContainer" xsi:type="object" shared="false">Magento\Sales\Model\Order\Email\Container\CreditmemoIdentity</argument>
</arguments>
</virtualType><virtualType name="SalesOrderSendEmailsObserver" type="Magento\Sales\Observer\Virtual\SendEmails">
<arguments>
<argument name="emailSenderHandler" xsi:type="object" shared="false">SalesOrderSendEmails</argument>
</arguments>
</virtualType><virtualType name="SalesOrderInvoiceSendEmailsObserver" type="Magento\Sales\Observer\Virtual\SendEmails">
<arguments>
<argument name="emailSenderHandler" xsi:type="object" shared="false">SalesOrderInvoiceSendEmails</argument>
</arguments>
</virtualType><virtualType name="SalesOrderShipmentSendEmailsObserver" type="Magento\Sales\Observer\Virtual\SendEmails">
<arguments>
<argument name="emailSenderHandler" xsi:type="object" shared="false">SalesOrderShipmentSendEmails</argument>
</arguments>
</virtualType><virtualType name="SalesOrderCreditmemoSendEmailsObserver" type="Magento\Sales\Observer\Virtual\SendEmails">
<arguments>
<argument name="emailSenderHandler" xsi:type="object" shared="false">SalesOrderCreditmemoSendEmails</argument>
</arguments>
</virtualType><virtualType name="SalesOrderSendEmailsCron" type="Magento\Sales\Cron\SendEmails">
<arguments>
<argument name="emailSenderHandler" xsi:type="object" shared="false">SalesOrderSendEmails</argument>
</arguments>
</virtualType><virtualType name="SalesInvoiceSendEmailsCron" type="Magento\Sales\Cron\SendEmails">
<arguments>
<argument name="emailSenderHandler" xsi:type="object" shared="false">SalesOrderInvoiceSendEmails</argument>
</arguments>
</virtualType><virtualType name="SalesShipmentSendEmailsCron" type="Magento\Sales\Cron\SendEmails">
<arguments>
<argument name="emailSenderHandler" xsi:type="object" shared="false">SalesOrderShipmentSendEmails</argument>
</arguments>
</virtualType><virtualType name="SalesCreditmemoSendEmailsCron" type="Magento\Sales\Cron\SendEmails">
<arguments>
<argument name="emailSenderHandler" xsi:type="object" shared="false">SalesOrderCreditmemoSendEmails</argument>
</arguments>
</virtualType><type name="Magento\SalesSequence\Model\EntityPool">
<arguments>
<argument name="entities" xsi:type="array">
<item name="order" xsi:type="string">order</item>
<item name="invoice" xsi:type="string">invoice</item>
<item name="creditmemo" xsi:type="string">creditmemo</item>
<item name="shipment" xsi:type="string">shipment</item>
<item name="rma_item" xsi:type="string">rma_item</item></argument>
</arguments>
</type><type name="Magento\SalesSequence\Model\ResourceModel\Meta">
<arguments>
<argument name="connectionName" xsi:type="string">sales</argument>
</arguments>
</type><type name="Magento\SalesSequence\Model\ResourceModel\Profile">
<arguments>
<argument name="connectionName" xsi:type="string">sales</argument>
</arguments>
</type><type name="Magento\Sales\Model\ResourceModel\Report\Order\Createdat">
<arguments>
<argument name="connectionName" xsi:type="string">sales</argument>
</arguments>
</type><type name="Magento\Sales\Model\ResourceModel\Report\Bestsellers">
<arguments>
<argument name="connectionName" xsi:type="string">sales</argument>
<argument name="ignoredProductTypes" xsi:type="array">
<item name="configurable" xsi:type="const">Magento\ConfigurableProduct\Model\Product\Type\Configurable::TYPE_CODE</item>
<item name="grouped" xsi:type="const">Magento\GroupedProduct\Model\Product\Type\Grouped::TYPE_CODE</item></argument></arguments>
</type><type name="Magento\Sales\Model\ResourceModel\Order\Status">
<arguments>
<argument name="connectionName" xsi:type="string">sales</argument>
</arguments>
</type><virtualType name="OrderRelationsComposite" type="Magento\Framework\Model\ResourceModel\Db\VersionControl\RelationComposite">
<arguments>
<argument name="relationProcessors" xsi:type="array">
<item name="default" xsi:type="object">Magento\Sales\Model\ResourceModel\Order\Relation</item>
</argument>
</arguments>
</virtualType><type name="Magento\Sales\Model\ResourceModel\Order">
<arguments>
<argument name="entityRelationComposite" xsi:type="object">OrderRelationsComposite</argument>
</arguments>
<plugin sortOrder="1" name="classyllama_avatax_order_extension_attribute_persistence" type="ClassyLlama\AvaTax\Plugin\Model\ResourceModel\ExtensionAttributesPersistencePlugin"/></type><virtualType name="InvoiceRelationsComposite" type="Magento\Framework\Model\ResourceModel\Db\VersionControl\RelationComposite">
<arguments>
<argument name="relationProcessors" xsi:type="array">
<item name="default" xsi:type="object">Magento\Sales\Model\ResourceModel\Order\Invoice\Relation</item>
</argument>
</arguments>
</virtualType><type name="Magento\Sales\Model\ResourceModel\Order\Invoice">
<arguments>
<argument name="entityRelationComposite" xsi:type="object">InvoiceRelationsComposite</argument>
</arguments>
</type><virtualType name="ShipmentRelationsComposite" type="Magento\Framework\Model\ResourceModel\Db\VersionControl\RelationComposite">
<arguments>
<argument name="relationProcessors" xsi:type="array">
<item name="default" xsi:type="object">Magento\Sales\Model\ResourceModel\Order\Shipment\Relation</item>
</argument>
</arguments>
</virtualType><type name="Magento\Sales\Model\ResourceModel\Order\Shipment">
<arguments>
<argument name="entityRelationComposite" xsi:type="object">ShipmentRelationsComposite</argument>
</arguments>
<plugin name="SaveSourceForShipment" type="Magento\InventoryShipping\Plugin\Sales\ResourceModel\Order\Shipment\SaveSourceForShipmentPlugin"/><plugin name="LoadSourceForShipment" type="Magento\InventoryShipping\Plugin\Sales\ResourceModel\Order\Shipment\LoadSourceForShipmentPlugin"/><plugin name="DeleteSourceForShipment" type="Magento\InventoryShipping\Plugin\Sales\ResourceModel\Order\Shipment\DeleteSourceForShipmentPlugin"/></type><virtualType name="CreditmemoRelationsComposite" type="Magento\Framework\Model\ResourceModel\Db\VersionControl\RelationComposite">
<arguments>
<argument name="relationProcessors" xsi:type="array">
<item name="default" xsi:type="object">Magento\Sales\Model\ResourceModel\Order\Creditmemo\Relation</item>
</argument>
</arguments>
</virtualType><type name="Magento\Sales\Model\ResourceModel\Order\Creditmemo">
<arguments>
<argument name="entityRelationComposite" xsi:type="object">CreditmemoRelationsComposite</argument>
</arguments>
<plugin name="refundRewardPoints" type="Magento\Reward\Model\Plugin\RewardPointsRefund"/></type><virtualType name="Magento\Sales\Model\ResourceModel\Provider\NotSyncedOrderDataProvider" type="Magento\Sales\Model\ResourceModel\Provider\NotSyncedDataProvider">
<arguments>
<argument name="providers" xsi:type="array">
<item name="default" xsi:type="string">Magento\Sales\Model\ResourceModel\Provider\UpdatedIdListProvider</item>
<item name="updated_at" xsi:type="string">Magento\Sales\Model\ResourceModel\Provider\UpdatedAtListProvider</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Sales\Model\ResourceModel\Order\Grid" type="Magento\Sales\Model\ResourceModel\Grid">
<arguments>
<argument name="mainTableName" xsi:type="string">sales_order</argument>
<argument name="gridTableName" xsi:type="string">sales_order_grid</argument>
<argument name="orderIdField" xsi:type="string">sales_order.entity_id</argument>
<argument name="joins" xsi:type="array">
<item name="sales_shipping_address" xsi:type="array">
<item name="table" xsi:type="string">sales_order_address</item>
<item name="origin_column" xsi:type="string">shipping_address_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_billing_address" xsi:type="array">
<item name="table" xsi:type="string">sales_order_address</item>
<item name="origin_column" xsi:type="string">billing_address_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_order_payment" xsi:type="array">
<item name="table" xsi:type="string">sales_order_payment</item>
<item name="origin_column" xsi:type="string">entity_id</item>
<item name="target_column" xsi:type="string">parent_id</item>
</item>
<item name="inventory_pickup_location_order" xsi:type="array">
<item name="table" xsi:type="string">inventory_pickup_location_order</item>
<item name="origin_column" xsi:type="string">entity_id</item>
<item name="target_column" xsi:type="string">order_id</item>
</item></argument>
<argument name="columns" xsi:type="array">
<item name="entity_id" xsi:type="string">sales_order.entity_id</item>
<item name="status" xsi:type="string">sales_order.status</item>
<item name="store_id" xsi:type="string">sales_order.store_id</item>
<item name="store_name" xsi:type="string">sales_order.store_name</item>
<item name="customer_id" xsi:type="string">sales_order.customer_id</item>
<item name="base_grand_total" xsi:type="string">sales_order.base_grand_total</item>
<item name="base_total_paid" xsi:type="string">sales_order.base_total_paid</item>
<item name="grand_total" xsi:type="string">sales_order.grand_total</item>
<item name="total_paid" xsi:type="string">sales_order.total_paid</item>
<item name="increment_id" xsi:type="string">sales_order.increment_id</item>
<item name="base_currency_code" xsi:type="string">sales_order.base_currency_code</item>
<item name="order_currency_code" xsi:type="string">sales_order.order_currency_code</item>
<item name="shipping_name" xsi:type="object">ShippingNameAggregator</item>
<item name="billing_name" xsi:type="object">BillingNameAggregator</item>
<item name="created_at" xsi:type="string">sales_order.created_at</item>
<item name="updated_at" xsi:type="string">sales_order.updated_at</item>
<item name="billing_address" xsi:type="object">BillingAddressAggregator</item>
<item name="shipping_address" xsi:type="object">ShippingAddressAggregator</item>
<item name="shipping_information" xsi:type="string">sales_order.shipping_description</item>
<item name="customer_email" xsi:type="string">sales_order.customer_email</item>
<item name="customer_group" xsi:type="string">sales_order.customer_group_id</item>
<item name="subtotal" xsi:type="string">sales_order.base_subtotal</item>
<item name="shipping_and_handling" xsi:type="string">sales_order.base_shipping_amount</item>
<item name="customer_name" xsi:type="object">CustomerNameAggregator</item>
<item name="payment_method" xsi:type="string">sales_order_payment.method</item>
<item name="total_refunded" xsi:type="string">sales_order.total_refunded</item>
<item name="refunded_to_store_credit" xsi:type="string">sales_order.customer_bal_total_refunded</item><item name="pickup_location_code" xsi:type="string">inventory_pickup_location_order.pickup_location_code</item></argument>
<argument name="notSyncedDataProvider" xsi:type="object">Magento\Sales\Model\ResourceModel\Provider\NotSyncedOrderDataProvider</argument>
</arguments>
</virtualType><virtualType name="ShipmentGridAggregator" type="Magento\Sales\Model\ResourceModel\Grid">
<arguments>
<argument name="mainTableName" xsi:type="string">sales_shipment</argument>
<argument name="gridTableName" xsi:type="string">sales_shipment_grid</argument>
<argument name="orderIdField" xsi:type="string">sales_shipment.order_id</argument>
<argument name="joins" xsi:type="array">
<item name="sales_order" xsi:type="array">
<item name="table" xsi:type="string">sales_order</item>
<item name="origin_column" xsi:type="string">order_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_shipping_address" xsi:type="array">
<item name="table" xsi:type="string">sales_order_address</item>
<item name="origin_column" xsi:type="string">shipping_address_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_billing_address" xsi:type="array">
<item name="table" xsi:type="string">sales_order_address</item>
<item name="origin_column" xsi:type="string">billing_address_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_order_payment" xsi:type="array">
<item name="table" xsi:type="string">sales_order_payment</item>
<item name="origin_column" xsi:type="string">order_id</item>
<item name="target_column" xsi:type="string">parent_id</item>
</item>
</argument>
<argument name="columns" xsi:type="array">
<item name="entity_id" xsi:type="string">sales_shipment.entity_id</item>
<item name="increment_id" xsi:type="string">sales_shipment.increment_id</item>
<item name="store_id" xsi:type="string">sales_shipment.store_id</item>
<item name="order_increment_id" xsi:type="string">sales_order.increment_id</item>
<item name="order_created_at" xsi:type="string">sales_order.created_at</item>
<item name="customer_name" xsi:type="object">CustomerNameAggregator</item>
<item name="total_qty" xsi:type="string">sales_shipment.total_qty</item>
<item name="shipment_status" xsi:type="string">sales_shipment.shipment_status</item>
<item name="order_status" xsi:type="string">sales_order.status</item>
<item name="billing_address" xsi:type="object">BillingAddressAggregator</item>
<item name="shipping_address" xsi:type="object">ShippingAddressAggregator</item>
<item name="billing_name" xsi:type="object">BillingNameAggregator</item>
<item name="shipping_name" xsi:type="object">ShippingNameAggregator</item>
<item name="customer_email" xsi:type="string">sales_order.customer_email</item>
<item name="customer_group_id" xsi:type="string">sales_order.customer_group_id</item>
<item name="payment_method" xsi:type="string">sales_order_payment.method</item>
<item name="created_at" xsi:type="string">sales_shipment.created_at</item>
<item name="updated_at" xsi:type="string">sales_shipment.updated_at</item>
<item name="order_id" xsi:type="string">sales_shipment.order_id</item>
<item name="shipping_information" xsi:type="string">sales_order.shipping_description</item>
</argument>
</arguments>
</virtualType><virtualType name="CreditmemoGridAggregator" type="Magento\Sales\Model\ResourceModel\Grid">
<arguments>
<argument name="mainTableName" xsi:type="string">sales_creditmemo</argument>
<argument name="gridTableName" xsi:type="string">sales_creditmemo_grid</argument>
<argument name="orderIdField" xsi:type="string">sales_creditmemo.order_id</argument>
<argument name="joins" xsi:type="array">
<item name="sales_shipping_address" xsi:type="array">
<item name="table" xsi:type="string">sales_order_address</item>
<item name="origin_column" xsi:type="string">shipping_address_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_billing_address" xsi:type="array">
<item name="table" xsi:type="string">sales_order_address</item>
<item name="origin_column" xsi:type="string">billing_address_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_order" xsi:type="array">
<item name="table" xsi:type="string">sales_order</item>
<item name="origin_column" xsi:type="string">order_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_order_payment" xsi:type="array">
<item name="table" xsi:type="string">sales_order_payment</item>
<item name="origin_column" xsi:type="string">order_id</item>
<item name="target_column" xsi:type="string">parent_id</item>
</item>
</argument>
<argument name="columns" xsi:type="array">
<item name="entity_id" xsi:type="string">sales_creditmemo.entity_id</item>
<item name="increment_id" xsi:type="string">sales_creditmemo.increment_id</item>
<item name="created_at" xsi:type="string">sales_creditmemo.created_at</item>
<item name="updated_at" xsi:type="string">sales_creditmemo.updated_at</item>
<item name="order_id" xsi:type="string">sales_order.entity_id</item>
<item name="order_increment_id" xsi:type="string">sales_order.increment_id</item>
<item name="order_created_at" xsi:type="string">sales_order.created_at</item>
<item name="billing_name" xsi:type="object">BillingNameAggregator</item>
<item name="state" xsi:type="string">sales_creditmemo.state</item>
<item name="base_grand_total" xsi:type="string">sales_creditmemo.base_grand_total</item>
<item name="order_status" xsi:type="string">sales_order.status</item>
<item name="store_id" xsi:type="string">sales_creditmemo.store_id</item>
<item name="billing_address" xsi:type="object">BillingAddressAggregator</item>
<item name="shipping_address" xsi:type="object">ShippingAddressAggregator</item>
<item name="customer_name" xsi:type="object">CustomerNameAggregator</item>
<item name="customer_email" xsi:type="string">sales_order.customer_email</item>
<item name="customer_group_id" xsi:type="string">sales_order.customer_group_id</item>
<item name="payment_method" xsi:type="string">sales_order_payment.method</item>
<item name="shipping_information" xsi:type="string">sales_order.shipping_description</item>
<item name="subtotal" xsi:type="string">sales_creditmemo.subtotal</item>
<item name="shipping_and_handling" xsi:type="string">sales_creditmemo.shipping_amount</item>
<item name="adjustment_positive" xsi:type="string">sales_creditmemo.adjustment_positive</item>
<item name="adjustment_negative" xsi:type="string">sales_creditmemo.adjustment_negative</item>
<item name="order_base_grand_total" xsi:type="string">sales_order.base_grand_total</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Sales\Model\ResourceModel\Order\Invoice\Grid" type="Magento\Sales\Model\ResourceModel\Grid">
<arguments>
<argument name="mainTableName" xsi:type="string">sales_invoice</argument>
<argument name="gridTableName" xsi:type="string">sales_invoice_grid</argument>
<argument name="orderIdField" xsi:type="string">sales_invoice.order_id</argument>
<argument name="joins" xsi:type="array">
<item name="sales_order" xsi:type="array">
<item name="table" xsi:type="string">sales_order</item>
<item name="origin_column" xsi:type="string">order_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_shipping_address" xsi:type="array">
<item name="table" xsi:type="string">sales_order_address</item>
<item name="origin_column" xsi:type="string">shipping_address_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_billing_address" xsi:type="array">
<item name="table" xsi:type="string">sales_order_address</item>
<item name="origin_column" xsi:type="string">billing_address_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_order_payment" xsi:type="array">
<item name="table" xsi:type="string">sales_order_payment</item>
<item name="origin_column" xsi:type="string">order_id</item>
<item name="target_column" xsi:type="string">parent_id</item>
</item>
</argument>
<argument name="columns" xsi:type="array">
<item name="entity_id" xsi:type="string">sales_invoice.entity_id</item>
<item name="increment_id" xsi:type="string">sales_invoice.increment_id</item>
<item name="state" xsi:type="string">sales_invoice.state</item>
<item name="store_id" xsi:type="string">sales_invoice.store_id</item>
<item name="store_name" xsi:type="string">sales_order.store_name</item>
<item name="order_id" xsi:type="string">sales_invoice.order_id</item>
<item name="order_increment_id" xsi:type="string">sales_order.increment_id</item>
<item name="order_created_at" xsi:type="string">sales_order.created_at</item>
<item name="customer_name" xsi:type="object">CustomerNameAggregator</item>
<item name="customer_email" xsi:type="string">sales_order.customer_email</item>
<item name="customer_group_id" xsi:type="string">sales_order.customer_group_id</item>
<item name="payment_method" xsi:type="string">sales_order_payment.method</item>
<item name="store_currency_code" xsi:type="string">sales_invoice.store_currency_code</item>
<item name="order_currency_code" xsi:type="string">sales_invoice.order_currency_code</item>
<item name="base_currency_code" xsi:type="string">sales_invoice.base_currency_code</item>
<item name="global_currency_code" xsi:type="string">sales_invoice.global_currency_code</item>
<item name="billing_name" xsi:type="object">BillingNameAggregator</item>
<item name="billing_address" xsi:type="object">BillingAddressAggregator</item>
<item name="shipping_address" xsi:type="object">ShippingAddressAggregator</item>
<item name="shipping_information" xsi:type="string">sales_order.shipping_description</item>
<item name="subtotal" xsi:type="string">sales_invoice.base_subtotal</item>
<item name="shipping_and_handling" xsi:type="string">sales_invoice.base_shipping_amount</item>
<item name="base_grand_total" xsi:type="string">sales_invoice.base_grand_total</item>
<item name="grand_total" xsi:type="string">sales_invoice.grand_total</item>
<item name="created_at" xsi:type="string">sales_invoice.created_at</item>
<item name="updated_at" xsi:type="string">sales_invoice.updated_at</item>
</argument>
</arguments>
</virtualType><virtualType name="CustomerNameAggregator" type="Magento\Framework\DB\Sql\ConcatExpression">
<arguments>
<argument name="columns" xsi:type="array">
<item name="customer_firstname" xsi:type="array">
<item name="tableAlias" xsi:type="string">sales_order</item>
<item name="columnName" xsi:type="string">customer_firstname</item>
</item>
<item name="customer_lastname" xsi:type="array">
<item name="tableAlias" xsi:type="string">sales_order</item>
<item name="columnName" xsi:type="string">customer_lastname</item>
</item>
</argument>
</arguments>
</virtualType><virtualType name="ShippingNameAggregator" type="Magento\Framework\DB\Sql\ConcatExpression">
<arguments>
<argument name="columns" xsi:type="array">
<item name="firstname" xsi:type="array">
<item name="tableAlias" xsi:type="string">sales_shipping_address</item>
<item name="columnName" xsi:type="string">firstname</item>
</item>
<item name="lastname" xsi:type="array">
<item name="tableAlias" xsi:type="string">sales_shipping_address</item>
<item name="columnName" xsi:type="string">lastname</item>
</item>
</argument>
</arguments>
</virtualType><virtualType name="BillingNameAggregator" type="Magento\Framework\DB\Sql\ConcatExpression">
<arguments>
<argument name="columns" xsi:type="array">
<item name="firstname" xsi:type="array">
<item name="tableAlias" xsi:type="string">sales_billing_address</item>
<item name="columnName" xsi:type="string">firstname</item>
</item>
<item name="lastname" xsi:type="array">
<item name="tableAlias" xsi:type="string">sales_billing_address</item>
<item name="columnName" xsi:type="string">lastname</item>
</item>
</argument>
</arguments>
</virtualType><virtualType name="ShippingAddressAggregator" type="Magento\Framework\DB\Sql\ConcatExpression">
<arguments>
<argument name="columns" xsi:type="array">
<item name="company" xsi:type="array">
<item name="tableAlias" xsi:type="string">sales_shipping_address</item>
<item name="columnName" xsi:type="string">company</item>
</item>
<item name="street" xsi:type="array">
<item name="tableAlias" xsi:type="string">sales_shipping_address</item>
<item name="columnName" xsi:type="string">street</item>
</item>
<item name="city" xsi:type="array">
<item name="tableAlias" xsi:type="string">sales_shipping_address</item>
<item name="columnName" xsi:type="string">city</item>
</item>
<item name="region" xsi:type="array">
<item name="tableAlias" xsi:type="string">sales_shipping_address</item>
<item name="columnName" xsi:type="string">region</item>
</item>
<item name="postcode" xsi:type="array">
<item name="tableAlias" xsi:type="string">sales_shipping_address</item>
<item name="columnName" xsi:type="string">postcode</item>
</item>
</argument>
<argument name="separator" xsi:type="string">, </argument>
</arguments>
</virtualType><virtualType name="BillingAddressAggregator" type="Magento\Framework\DB\Sql\ConcatExpression">
<arguments>
<argument name="columns" xsi:type="array">
<item name="company" xsi:type="array">
<item name="tableAlias" xsi:type="string">sales_billing_address</item>
<item name="columnName" xsi:type="string">company</item>
</item>
<item name="street" xsi:type="array">
<item name="tableAlias" xsi:type="string">sales_billing_address</item>
<item name="columnName" xsi:type="string">street</item>
</item>
<item name="city" xsi:type="array">
<item name="tableAlias" xsi:type="string">sales_billing_address</item>
<item name="columnName" xsi:type="string">city</item>
</item>
<item name="region" xsi:type="array">
<item name="tableAlias" xsi:type="string">sales_billing_address</item>
<item name="columnName" xsi:type="string">region</item>
</item>
<item name="postcode" xsi:type="array">
<item name="tableAlias" xsi:type="string">sales_billing_address</item>
<item name="columnName" xsi:type="string">postcode</item>
</item>
</argument>
<argument name="separator" xsi:type="string">, </argument>
</arguments>
</virtualType><virtualType name="PaymentMethodSubSelect" type="Magento\Framework\DB\Sql\LookupExpression">
<arguments>
<argument name="targetTable" xsi:type="string">sales_order_payment</argument>
<argument name="targetColumn" xsi:type="string">method</argument>
<argument name="referenceColumns" xsi:type="array">
<item name="parent_id" xsi:type="array">
<item name="tableAlias" xsi:type="string">sales_order</item>
<item name="columnName" xsi:type="string">entity_id</item>
</item>
</argument>
</arguments>
</virtualType><type name="Magento\Sales\Model\ResourceModel\GridPool">
<arguments>
<argument name="grids" xsi:type="array">
<item name="order_grid" xsi:type="object">Magento\Sales\Model\ResourceModel\Order\Grid</item>
<item name="invoice_grid" xsi:type="object">Magento\Sales\Model\ResourceModel\Order\Invoice\Grid</item>
<item name="shipment_grid" xsi:type="object">ShipmentGridAggregator</item>
<item name="creditmemo_grid" xsi:type="object">CreditmemoGridAggregator</item>
</argument>
</arguments>
</type><virtualType name="Magento\Sales\Model\ResourceModel\Order\Invoice\Grid\Collection" type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult">
<arguments>
<argument name="mainTable" xsi:type="string">sales_invoice_grid</argument>
<argument name="resourceModel" xsi:type="string">Magento\Sales\Model\ResourceModel\Order\Invoice</argument>
</arguments>
</virtualType><type name="Magento\Sales\Model\Order\Config">
<arguments>
<argument name="state" xsi:type="object">Magento\Framework\App\State\Proxy</argument>
</arguments>
</type><virtualType name="orderMetadata" type="Magento\Sales\Model\ResourceModel\Metadata">
<arguments>
<argument name="resourceClassName" xsi:type="string">Magento\Sales\Model\ResourceModel\Order</argument>
<argument name="modelClassName" xsi:type="string">Magento\Sales\Model\Order</argument>
</arguments>
</virtualType><virtualType name="orderItemMetadata" type="Magento\Sales\Model\ResourceModel\Metadata">
<arguments>
<argument name="resourceClassName" xsi:type="string">Magento\Sales\Model\ResourceModel\Order\Item</argument>
<argument name="modelClassName" xsi:type="string">Magento\Sales\Model\Order\Item</argument>
</arguments>
</virtualType><virtualType name="invoiceMetadata" type="Magento\Sales\Model\ResourceModel\Metadata">
<arguments>
<argument name="resourceClassName" xsi:type="string">Magento\Sales\Model\ResourceModel\Order\Invoice</argument>
<argument name="modelClassName" xsi:type="string">Magento\Sales\Model\Order\Invoice</argument>
</arguments>
</virtualType><virtualType name="shipmentMetadata" type="Magento\Sales\Model\ResourceModel\Metadata">
<arguments>
<argument name="resourceClassName" xsi:type="string">Magento\Sales\Model\ResourceModel\Order\Shipment</argument>
<argument name="modelClassName" xsi:type="string">Magento\Sales\Model\Order\Shipment</argument>
</arguments>
</virtualType><virtualType name="creditmemoMetadata" type="Magento\Sales\Model\ResourceModel\Metadata">
<arguments>
<argument name="resourceClassName" xsi:type="string">Magento\Sales\Model\ResourceModel\Order\Creditmemo</argument>
<argument name="modelClassName" xsi:type="string">Magento\Sales\Model\Order\Creditmemo</argument>
</arguments>
</virtualType><virtualType name="transactionMetaData" type="Magento\Sales\Model\ResourceModel\Metadata">
<arguments>
<argument name="resourceClassName" xsi:type="string">Magento\Sales\Model\ResourceModel\Order\Payment\Transaction</argument>
<argument name="modelClassName" xsi:type="string">Magento\Sales\Model\Order\Payment\Transaction</argument>
</arguments>
</virtualType><virtualType name="paymentMetaData" type="Magento\Sales\Model\ResourceModel\Metadata">
<arguments>
<argument name="resourceClassName" xsi:type="string">Magento\Sales\Model\ResourceModel\Order\Payment</argument>
<argument name="modelClassName" xsi:type="string">Magento\Sales\Model\Order\Payment</argument>
</arguments>
</virtualType><virtualType name="orderAddressMetadata" type="Magento\Sales\Model\ResourceModel\Metadata">
<arguments>
<argument name="resourceClassName" xsi:type="string">Magento\Sales\Model\ResourceModel\Order\Address</argument>
<argument name="modelClassName" xsi:type="string">Magento\Sales\Model\Order\Address</argument>
</arguments>
</virtualType><type name="Magento\Sales\Model\OrderRepository">
<arguments>
<argument name="metadata" xsi:type="object">orderMetadata</argument>
</arguments>
<plugin name="add_sources_to_order" type="Ampersand\DisableStockReservation\Plugin\Model\OrderRepositoryPlugin" sortOrder="2"/></type><type name="Magento\Sales\Model\Order\ItemRepository">
<arguments>
<argument name="metadata" xsi:type="object">orderItemMetadata</argument>
</arguments>
</type><type name="Magento\Sales\Model\Order\InvoiceRepository">
<arguments>
<argument name="invoiceMetadata" xsi:type="object">invoiceMetadata</argument>
</arguments>
</type><type name="Magento\Sales\Model\Order\ShipmentRepository">
<arguments>
<argument name="metadata" xsi:type="object">shipmentMetadata</argument>
</arguments>
</type><type name="Magento\Sales\Model\Order\CreditmemoRepository">
<arguments>
<argument name="metadata" xsi:type="object">creditmemoMetadata</argument>
</arguments>
</type><type name="Magento\Sales\Model\Order\Payment\Transaction\Repository">
<arguments>
<argument name="metaData" xsi:type="object">transactionMetaData</argument>
</arguments>
</type><type name="Magento\Sales\Model\Order\Payment\Repository">
<arguments>
<argument name="metaData" xsi:type="object">paymentMetaData</argument>
</arguments>
</type><type name="Magento\Sales\Model\Order\AddressRepository">
<arguments>
<argument name="metadata" xsi:type="object">orderAddressMetadata</argument>
</arguments>
</type><type name="Magento\Sales\Model\Order\Payment\Operations\AuthorizeOperation">
<arguments>
<argument name="stateCommand" xsi:type="object">Magento\Sales\Model\Order\Payment\State\AuthorizeCommand</argument>
</arguments>
</type><type name="Magento\Sales\Model\Order\Payment\Operations\CaptureOperation">
<arguments>
<argument name="stateCommand" xsi:type="object">Magento\Sales\Model\Order\Payment\State\CaptureCommand</argument>
</arguments>
</type><type name="Magento\Sales\Model\Order\Payment\Operations\ProcessInvoiceOperation">
<arguments>
<argument name="stateCommand" xsi:type="object">Magento\Sales\Model\Order\Payment\State\CaptureCommand</argument>
</arguments>
</type><type name="Magento\Sales\Model\Order\Payment\Operations\OrderOperation">
<arguments>
<argument name="stateCommand" xsi:type="object">Magento\Sales\Model\Order\Payment\State\OrderCommand</argument>
</arguments>
</type><type name="Magento\Sales\Model\Order\Payment\Operations\RegisterCaptureNotificationOperation">
<arguments>
<argument name="stateCommand" xsi:type="object">Magento\Sales\Model\Order\Payment\State\RegisterCaptureNotificationCommand</argument>
</arguments>
</type><type name="Magento\Sales\Model\ResourceModel\Order\Tax\Item">
<arguments>
<argument name="connectionName" xsi:type="string">sales</argument>
</arguments>
</type><type name="Magento\Sales\Model\Order\Invoice\Notifier">
<arguments>
<argument name="senders" xsi:type="array">
<item name="email" xsi:type="object">Magento\Sales\Model\Order\Invoice\Sender\EmailSender</item>
</argument>
</arguments>
</type><type name="Magento\Sales\Model\Order\Shipment\Notifier">
<arguments>
<argument name="senders" xsi:type="array">
<item name="email" xsi:type="object">Magento\Sales\Model\Order\Shipment\Sender\EmailSender</item>
</argument>
</arguments>
</type><type name="Magento\Sales\Model\Order\Creditmemo\Notifier">
<arguments>
<argument name="senders" xsi:type="array">
<item name="email" xsi:type="object">Magento\Sales\Model\Order\Creditmemo\Sender\EmailSender</item>
</argument>
</arguments>
</type><type name="Magento\Sales\Model\ResourceModel\Order\Handler\Address">
<plugin name="addressUpdate" type="Magento\Sales\Model\Order\Invoice\Plugin\AddressUpdate"/>
</type><preference for="Magento\Sales\Api\OrderCustomerDelegateInterface" type="Magento\Sales\Model\Order\OrderCustomerDelegate"/><type name="Magento\Sales\Model\Order\Reorder\OrderedProductAvailabilityChecker">
<arguments>
<argument name="productAvailabilityChecks" xsi:type="array"><item name="configurable" xsi:type="object">Magento\ConfigurableProductSales\Model\Order\Reorder\OrderedProductAvailabilityChecker</item></argument>
</arguments>
</type><type name="Magento\Sales\Model\Order\StatusLabel">
<arguments>
<argument name="maskStatusesMapping" xsi:type="array">
<item name="frontend" xsi:type="array">
<item name="fraud" xsi:type="const">Magento\Sales\Model\Order::STATUS_FRAUD</item>
<item name="payment_review" xsi:type="const">Magento\Sales\Model\Order::STATE_PROCESSING</item>
</item>
</argument>
</arguments>
</type><preference for="Magento\Bundle\Api\ProductOptionTypeListInterface" type="Magento\Bundle\Model\OptionTypeList"/><preference for="Magento\Bundle\Api\Data\OptionTypeInterface" type="Magento\Bundle\Model\Source\Option\Type"/><preference for="Magento\Bundle\Api\ProductLinkManagementInterface" type="Magento\Bundle\Model\LinkManagement"/><preference for="Magento\Bundle\Api\Data\LinkInterface" type="Magento\Bundle\Model\Link"/><preference for="Magento\Bundle\Api\ProductOptionRepositoryInterface" type="Magento\Bundle\Model\OptionRepository"/><preference for="Magento\Bundle\Api\ProductOptionManagementInterface" type="Magento\Bundle\Model\OptionManagement"/><preference for="Magento\Bundle\Api\Data\OptionInterface" type="Magento\Bundle\Model\Option"/><preference for="Magento\Bundle\Api\Data\BundleOptionInterface" type="Magento\Bundle\Model\BundleOption"/><preference for="Magento\Bundle\Pricing\Adjustment\SelectionPriceListProviderInterface" type="Magento\Bundle\Pricing\Adjustment\DefaultSelectionPriceListProvider"/><type name="Magento\Bundle\Model\Source\Option\Type">
<arguments>
<argument name="options" xsi:type="array">
<item name="select" xsi:type="string">Drop-down</item>
<item name="radio" xsi:type="string">Radio Buttons</item>
<item name="checkbox" xsi:type="string">Checkbox</item>
<item name="multi" xsi:type="string">Multiple Select</item>
</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\CatalogPrice">
<arguments>
<argument name="priceModelPool" xsi:type="array">
<item name="bundle" xsi:type="string">Magento\Bundle\Model\Product\CatalogPrice</item>
<item name="giftcard" xsi:type="string">Magento\GiftCard\Model\Product\CatalogPrice</item><item name="grouped" xsi:type="string">Magento\GroupedProduct\Model\Product\CatalogPrice</item></argument>
</arguments>
</type><virtualType name="Magento\Bundle\Pricing\Adjustment\Collection" type="Magento\Framework\Pricing\Adjustment\Collection">
</virtualType><preference for="Magento\Bundle\Pricing\Adjustment\BundleCalculatorInterface" type="Magento\Bundle\Pricing\Adjustment\Calculator"/><virtualType name="Magento\Bundle\Pricing\PriceInfo" type="Magento\Framework\Pricing\PriceInfo\Base">
<arguments>
<argument name="adjustmentCollection" xsi:type="object">Magento\Bundle\Pricing\Adjustment\Collection</argument>
</arguments>
</virtualType><virtualType name="Magento\Bundle\Pricing\Price\Pool" type="Magento\Framework\Pricing\Price\Pool">
<arguments>
<argument name="prices" xsi:type="array">
<item name="regular_price" xsi:type="string">Magento\Bundle\Pricing\Price\BundleRegularPrice</item>
<item name="final_price" xsi:type="string">Magento\Bundle\Pricing\Price\FinalPrice</item>
<item name="tier_price" xsi:type="string">Magento\Bundle\Pricing\Price\TierPrice</item>
<item name="special_price" xsi:type="string">Magento\Bundle\Pricing\Price\SpecialPrice</item>
<item name="custom_option_price" xsi:type="string">Magento\Catalog\Pricing\Price\CustomOptionPrice</item>
<item name="base_price" xsi:type="string">Magento\Catalog\Pricing\Price\BasePrice</item>
<item name="configured_price" xsi:type="string">Magento\Bundle\Pricing\Price\ConfiguredPrice</item>
<item name="configured_regular_price" xsi:type="string">Magento\Bundle\Pricing\Price\ConfiguredRegularPrice</item>
<item name="bundle_option" xsi:type="string">Magento\Bundle\Pricing\Price\BundleOptionPrice</item>
<item name="bundle_option_regular_price" xsi:type="string">Magento\Bundle\Pricing\Price\BundleOptionRegularPrice</item>
<item name="catalog_rule_price" xsi:type="string">Magento\CatalogRule\Pricing\Price\CatalogRulePrice</item>
<item name="msrp_price" xsi:type="string">Magento\Msrp\Pricing\Price\MsrpPrice</item><item name="wishlist_configured_price" xsi:type="string">Magento\Bundle\Pricing\Price\ConfiguredPrice</item></argument>
</arguments>
</virtualType><virtualType name="Magento\Bundle\Pricing\Price\Collection" type="Magento\Framework\Pricing\Price\Collection">
<arguments>
<argument name="pool" xsi:type="object">Magento\Bundle\Pricing\Price\Pool</argument>
</arguments>
</virtualType><type name="Magento\Bundle\Pricing\Price\BundleRegularPrice">
<arguments>
<argument name="calculator" xsi:type="object">Magento\Bundle\Pricing\Adjustment\BundleCalculatorInterface</argument>
</arguments>
</type><type name="Magento\Bundle\Pricing\Price\FinalPrice">
<arguments>
<argument name="calculator" xsi:type="object">Magento\Bundle\Pricing\Adjustment\BundleCalculatorInterface</argument>
</arguments>
</type><type name="Magento\Catalog\Pricing\Price\ConfiguredPriceSelection">
<arguments>
<argument name="calculator" xsi:type="object">Magento\Bundle\Pricing\Adjustment\BundleCalculatorInterface</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\Attribute\Backend\Price">
<plugin name="bundle" type="Magento\Bundle\Model\Plugin\PriceBackend" sortOrder="100"/>
<plugin name="giftCardOpenAmount" type="Magento\GiftCard\Plugin\Catalog\Model\Product\Attribute\Backend\Price"/><plugin name="configurable" type="Magento\ConfigurableProduct\Model\Plugin\PriceBackend" sortOrder="100"/></type><type name="Magento\Sales\Model\Order\Item">
<plugin name="bundle" type="Magento\Bundle\Model\Sales\Order\Plugin\Item" sortOrder="100"/>
</type><type name="Magento\Bundle\Model\Product\Type">
<arguments>
<argument name="stockRegistry" xsi:type="object">Magento\CatalogInventory\Api\StockRegistryInterface\Proxy</argument>
<argument name="stockState" xsi:type="object">Magento\CatalogInventory\Api\StockStateInterface\Proxy</argument>
</arguments>
<plugin name="adapt_is_product_salable" type="Magento\InventoryBundleProduct\Plugin\Bundle\Model\Product\Type\AdaptIsSalablePlugin"/></type><type name="Magento\Bundle\Ui\DataProvider\Product\Listing\Collector\BundlePrice">
<arguments>
<argument name="excludeAdjustments" xsi:type="array">
<item name="weee" xsi:type="string">weee</item>
<item name="weee_tax" xsi:type="string">weee_tax</item>
</argument>
</arguments>
</type><type name="Magento\Bundle\Model\ResourceModel\Indexer\Price">
<arguments>
<argument name="tableStrategy" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\TemporaryTableStrategy</argument>
<argument name="connectionName" xsi:type="string">indexer</argument>
</arguments>
</type><type name="Magento\CatalogInventory\Model\Indexer\Stock\Action\Full">
<arguments>
<argument name="batchRowsCount" xsi:type="array">
<item name="bundle" xsi:type="number">136</item>
<item name="default" xsi:type="number">200</item></argument>
<argument name="batchSizeManagement" xsi:type="object">Magento\CatalogInventory\Model\Indexer\Stock\BatchSizeManagement</argument></arguments>
</type><type name="Magento\SalesRule\Model\Quote\ChildrenValidationLocator">
<arguments>
<argument name="productTypeChildrenValidationMap" xsi:type="array">
<item name="bundle" xsi:type="boolean">false</item>
<item name="configurable" xsi:type="boolean">false</item></argument>
</arguments>
</type><type name="Magento\Sales\Model\Order\Shipment\ShipmentItemsValidator">
<arguments>
<argument name="validators" xsi:type="array">
<item name="shipment_type" xsi:type="object">Magento\Bundle\Model\Sales\Order\Shipment\BundleShipmentTypeValidator</item>
</argument>
</arguments>
</type><type name="Magento\Quote\Model\Quote\Item\Option\Comparator">
<arguments>
<argument name="customComparators" xsi:type="array">
<item name="bundle_selection_attributes" xsi:type="object">Magento\Bundle\Model\Quote\Item\Option\BundleSelectionAttributesComparator</item>
</argument>
</arguments>
</type><type name="Magento\Quote\Model\QuoteManagement">
<plugin name="update_bundle_quote_item_options" type="Magento\Bundle\Plugin\Quote\UpdateBundleQuoteItemOptions" sortOrder="10"/>
</type><type name="Magento\Bundle\Model\ProductRelationsProcessorComposite">
<arguments>
<argument name="processors" xsi:type="array">
<item name="quote_recollect" xsi:type="object">Magento\Bundle\Model\QuoteRecollectProcessor</item>
</argument>
</arguments>
</type><type name="Magento\Bundle\Model\QuoteRecollectProcessor">
<arguments>
<argument name="comparisonFieldsTypeMapper" xsi:type="array">
<item name="sku" xsi:type="string">string</item>
<item name="price" xsi:type="string">float</item>
<item name="price_type" xsi:type="string">string</item>
<item name="qty" xsi:type="string">float</item>
<item name="selection_can_change_quantity" xsi:type="string">string</item>
</argument>
</arguments>
</type><type name="Magento\CatalogInventory\Observer\SaveInventoryDataObserver">
<arguments>
<argument name="parentItemProcessorPool" xsi:type="array">
<item name="bundle" xsi:type="object">Magento\Bundle\Model\Inventory\ParentItemProcessor</item>
<item name="configurable" xsi:type="object"> Magento\ConfigurableProduct\Model\Inventory\ParentItemProcessor</item><item name="grouped" xsi:type="object"> Magento\GroupedProduct\Model\Inventory\ParentItemProcessor</item></argument>
</arguments>
</type><preference for="Magento\Framework\GraphQl\Schema\SchemaGeneratorInterface" type="Magento\Framework\GraphQl\Schema\SchemaGenerator"/><preference for="Magento\Framework\GraphQl\Query\Resolver\ContextInterface" type="Magento\GraphQl\Model\Query\Resolver\Context"/><preference for="Magento\GraphQl\Model\Query\ContextInterface" type="Magento\GraphQl\Model\Query\Context"/><preference for="Magento\Framework\GraphQl\Schema\Type\Entity\MapperInterface" type="Magento\Framework\GraphQl\Schema\Type\Entity\DefaultMapper"/><preference for="Magento\Framework\GraphQl\Schema\Type\Enum\DataMapperInterface" type="Magento\Framework\GraphQl\Schema\Type\Enum\DefaultDataMapper"/><preference for="Magento\Framework\GraphQlSchemaStitching\GraphQlReader\TypeMetaReaderInterface" type="Magento\Framework\GraphQlSchemaStitching\GraphQlReader\TypeReaderComposite"/><preference for="Magento\GraphQl\Model\Query\ContextFactoryInterface" type="Magento\GraphQl\Model\Query\ContextFactory"/><preference for="Magento\GraphQl\Model\Query\ContextParametersInterface" type="Magento\GraphQl\Model\Query\ContextParameters"/><preference for="Magento\Framework\GraphQl\Query\Resolver\ArgumentsProcessorInterface" type="Magento\Framework\GraphQl\Query\Resolver\ArgumentsCompositeProcessor"/><preference for="Magento\GraphQl\Model\Query\Logger\LoggerInterface" type="Magento\GraphQl\Model\Query\Logger\LoggerPool"/><preference for="Magento\Framework\GraphQl\ConfigInterface" type="Magento\Framework\GraphQl\Config"/><preference for="Magento\Framework\GraphQl\Config\ConfigElementFactoryInterface" type="Magento\Framework\GraphQl\Config\ConfigElementFactory"/><type name="Magento\Framework\GraphQl\Config\ConfigElementFactory">
<arguments>
<argument name="factoryMapByConfigElementType" xsi:type="array">
<item name="graphql_interface" xsi:type="object">Magento\Framework\GraphQl\Config\Element\InterfaceFactory</item>
<item name="graphql_union" xsi:type="object">Magento\Framework\GraphQl\Config\Element\UnionFactory</item>
<item name="graphql_type" xsi:type="object">Magento\Framework\GraphQl\Config\Element\TypeFactory</item>
<item name="graphql_input" xsi:type="object">Magento\Framework\GraphQl\Config\Element\InputFactory</item>
<item name="graphql_enum" xsi:type="object">Magento\Framework\GraphQl\Config\Element\EnumFactory</item>
</argument>
</arguments>
</type><type name="Magento\Framework\GraphQl\Config">
<arguments>
<argument name="data" xsi:type="object">Magento\Framework\GraphQl\Config\Data</argument>
</arguments>
</type><virtualType name="Magento\Framework\GraphQl\Config\Data" type="Magento\Framework\Config\Data">
<arguments>
<argument name="reader" xsi:type="object">Magento\Framework\GraphQlSchemaStitching\Reader</argument>
<argument name="cacheId" xsi:type="string">Magento_Framework_GraphQlSchemaStitching_Config_Data</argument>
</arguments>
</virtualType><virtualType name="Magento\Framework\GraphQl\Config\SchemaLocator" type="Magento\Framework\Config\SchemaLocator">
<arguments>
<argument name="realPath" xsi:type="string">urn:magento:module:Magento_GraphQl:etc/graphql.xsd</argument>
</arguments>
</virtualType><virtualType name="Magento\Framework\GraphQlSchemaStitching\Reader" type="Magento\Framework\GraphQlSchemaStitching\Common\Reader">
<arguments>
<argument name="readers" xsi:type="array">
<item name="graphql_reader" xsi:type="object">Magento\Framework\GraphQlSchemaStitching\GraphQlReader</item>
<item name="productDynamicAttributeReader" xsi:type="object">Magento\CatalogGraphQl\Model\Config\AttributeReader</item><item name="categoryDynamicAttributeReader" xsi:type="object">Magento\CatalogGraphQl\Model\Config\CategoryAttributeReader</item><item name="productSortDynamicAttributeReader" xsi:type="object">Magento\CatalogGraphQl\Model\Config\SortAttributeReader</item><item name="productFilterDynamicAttributeReader" xsi:type="object">Magento\CatalogGraphQl\Model\Config\FilterAttributeReader</item></argument>
</arguments>
</virtualType><type name="Magento\Framework\GraphQl\Schema\Type\TypeRegistry">
<arguments>
<argument name="configToTypeMap" xsi:type="array">
<item name="Magento\Framework\GraphQl\Config\Element\Type" xsi:type="string">Magento\Framework\GraphQl\Schema\Type\Output\OutputTypeObject</item>
<item name="Magento\Framework\GraphQl\Config\Element\Input" xsi:type="string">Magento\Framework\GraphQl\Schema\Type\Input\InputObjectType</item>
<item name="Magento\Framework\GraphQl\Config\Element\InterfaceType" xsi:type="string">Magento\Framework\GraphQl\Schema\Type\Output\OutputInterfaceObject</item>
<item name="Magento\Framework\GraphQl\Config\Element\UnionType" xsi:type="string">Magento\Framework\GraphQl\Schema\Type\Output\OutputUnionObject</item>
<item name="Magento\Framework\GraphQl\Config\Element\Enum" xsi:type="string">Magento\Framework\GraphQl\Schema\Type\Enum\Enum</item>
</argument>
</arguments>
</type><type name="Magento\Framework\GraphQl\Schema\Type\Output\ElementMapper">
<arguments>
<argument name="formatter" xsi:type="object">Magento\Framework\GraphQl\Schema\Type\Output\ElementMapper\FormatterComposite</argument>
</arguments>
</type><type name="Magento\Framework\GraphQl\Schema\Type\Output\ElementMapper\FormatterComposite">
<arguments>
<argument name="formatters" xsi:type="array">
<item name="fields" xsi:type="object">Magento\Framework\GraphQl\Schema\Type\Output\ElementMapper\Formatter\Fields</item>
<item name="interfaces" xsi:type="object">Magento\Framework\GraphQl\Schema\Type\Output\ElementMapper\Formatter\Interfaces</item>
<item name="unions" xsi:type="object">Magento\Framework\GraphQl\Schema\Type\Output\ElementMapper\Formatter\Unions</item>
<item name="resolveType" xsi:type="object">Magento\Framework\GraphQl\Schema\Type\Output\ElementMapper\Formatter\ResolveType</item>
</argument>
</arguments>
</type><type name="Magento\Framework\GraphQlSchemaStitching\GraphQlReader\TypeReaderComposite">
<arguments>
<argument name="typeReaders" xsi:type="array">
<item name="union_type" xsi:type="object">Magento\Framework\GraphQlSchemaStitching\GraphQlReader\Reader\UnionType</item>
<item name="enum_type" xsi:type="object">Magento\Framework\GraphQlSchemaStitching\GraphQlReader\Reader\EnumType</item>
<item name="object_type" xsi:type="object">Magento\Framework\GraphQlSchemaStitching\GraphQlReader\Reader\ObjectType</item>
<item name="input_object_type" xsi:type="object">Magento\Framework\GraphQlSchemaStitching\GraphQlReader\Reader\InputObjectType</item>
<item name="interface_type" xsi:type="object">Magento\Framework\GraphQlSchemaStitching\GraphQlReader\Reader\InterfaceType</item>
</argument>
</arguments>
</type><type name="Magento\Framework\GraphQl\Query\QueryComplexityLimiter">
<arguments>
<argument name="queryDepth" xsi:type="number">20</argument>
<argument name="queryComplexity" xsi:type="number">300</argument>
</arguments>
</type><type name="Magento\GraphQl\Model\Query\Logger\LoggerPool">
<arguments>
<argument name="loggers" xsi:type="array">
<item name="newRelic" xsi:type="object">Magento\GraphQl\Model\Query\Logger\NewRelic</item>
</argument>
</arguments>
</type><type name="Magento\CatalogImportExport\Model\StockItemImporterInterface">
<plugin name="update_bundle_products_stock_item_status" type="Magento\BundleImportExport\Plugin\Import\Product\UpdateBundleProductsStockItemStatusPlugin" sortOrder="200" disabled="true"/>
<plugin name="update_configurable_products_stock_item_status" type="Magento\ConfigurableImportExport\Plugin\Import\Product\UpdateConfigurableProductsStockItemStatusPlugin" sortOrder="100" disabled="true"/><plugin name="update_grouped_product_stock_status_plugin" type="Magento\GroupedImportExport\Plugin\CatalogImportExport\Model\StockItemImporter\UpdateGroupedProductStockStatusPlugin"/><plugin name="update_bundle_products_stock_item_status_single_source_only" type="Magento\InventoryBundleImportExport\Plugin\Import\Product\UpdateBundleProductsStockItemStatusPlugin" sortOrder="200"/><plugin name="updateConfigurableProductsStockItemStatusInventory" type="Magento\InventoryImportExport\Plugin\Import\UpdateConfigurableProductsPlugin" sortOrder="100"/><plugin name="importStockItemDataForSourceItem" type="Magento\InventoryImportExport\Plugin\Import\SourceItemImporter"/></type><type name="Magento\BundleImportExport\Model\Import\Product\Type\Bundle\RelationsDataSaver">
<plugin name="sequence_application" type="Magento\BundleImportExportStaging\Plugin\BundleImportExport\Model\Import\Product\Type\Bundle\RelationsDataSaver"/>
</type><preference for="Magento\CatalogInventory\Api\Data\StockInterface" type="Magento\CatalogInventory\Model\Stock"/><preference for="Magento\CatalogInventory\Api\Data\StockItemInterface" type="Magento\CatalogInventory\Model\Stock\Item"/><preference for="Magento\CatalogInventory\Api\Data\StockStatusInterface" type="Magento\CatalogInventory\Model\Stock\Status"/><preference for="Magento\CatalogInventory\Api\Data\StockCollectionInterface" type="Magento\CatalogInventory\Model\ResourceModel\Stock\Collection"/><preference for="Magento\CatalogInventory\Api\Data\StockItemCollectionInterface" type="Magento\CatalogInventory\Model\ResourceModel\Stock\Item\Collection"/><preference for="Magento\CatalogInventory\Api\Data\StockStatusCollectionInterface" type="Magento\CatalogInventory\Model\ResourceModel\Stock\Status\Collection"/><preference for="Magento\CatalogInventory\Api\StockCriteriaInterface" type="Magento\CatalogInventory\Model\ResourceModel\Stock\StockCriteria"/><preference for="Magento\CatalogInventory\Api\StockItemCriteriaInterface" type="Magento\CatalogInventory\Model\ResourceModel\Stock\Item\StockItemCriteria"/><preference for="Magento\CatalogInventory\Api\StockStatusCriteriaInterface" type="Magento\CatalogInventory\Model\ResourceModel\Stock\Status\StockStatusCriteria"/><preference for="Magento\CatalogInventory\Api\StockConfigurationInterface" type="Magento\CatalogInventory\Model\Configuration"/><preference for="Magento\CatalogInventory\Api\StockManagementInterface" type="Magento\CatalogInventory\Model\StockManagement"/><preference for="Magento\CatalogInventory\Api\StockIndexInterface" type="Magento\CatalogInventory\Model\StockIndex"/><preference for="Magento\CatalogInventory\Api\StockRegistryInterface" type="Magento\CatalogInventory\Model\StockRegistry"/><preference for="Magento\CatalogInventory\Api\StockStateInterface" type="Magento\CatalogInventory\Model\StockState"/><preference for="Magento\CatalogInventory\Api\StockRepositoryInterface" type="Magento\CatalogInventory\Model\Stock\StockRepository"/><preference for="Magento\CatalogInventory\Api\StockItemRepositoryInterface" type="Magento\CatalogInventory\Model\Stock\StockItemRepository"/><preference for="Magento\CatalogInventory\Api\StockStatusRepositoryInterface" type="Magento\CatalogInventory\Model\Stock\StockStatusRepository"/><preference for="Magento\CatalogInventory\Model\Spi\StockRegistryProviderInterface" type="Magento\CatalogInventory\Model\StockRegistryProvider"/><preference for="Magento\CatalogInventory\Model\Spi\StockStateProviderInterface" type="Magento\CatalogInventory\Model\StockStateProvider"/><preference for="Magento\CatalogInventory\Model\ResourceModel\QtyCounterInterface" type="Magento\ScalableInventory\Model\ResourceModel\QtyCounterProxy"/><preference for="Magento\CatalogInventory\Model\ResourceModel\StockStatusFilterInterface" type="Magento\CatalogInventory\Model\ResourceModel\StockStatusFilter"/><preference for="Magento\CatalogInventory\Model\StockStatusApplierInterface" type="Magento\InventoryCatalog\Model\StockStatusApplier"/><type name="Magento\Catalog\Model\Product\Attribute\Repository">
<plugin name="filterCustomAttribute" type="Magento\CatalogInventory\Model\Plugin\FilterCustomAttribute"/>
<plugin name="process_extension_attributes" type="Magento\PageBuilder\Plugin\Catalog\Model\Product\Attribute\RepositoryPlugin"/></type><type name="Magento\Catalog\Model\FilterProductCustomAttribute">
<arguments>
<argument name="excludedList" xsi:type="array">
<item name="quantity_and_stock_status" xsi:type="string">quantity_and_stock_status</item>
</argument>
</arguments>
</type><type name="Magento\CatalogInventory\Observer\UpdateItemsStockUponConfigChangeObserver">
<arguments>
<argument name="resourceStockItem" xsi:type="object">Magento\CatalogInventory\Model\ResourceModel\Stock\Item\Proxy</argument>
</arguments>
</type><type name="Magento\Catalog\Block\Product\View">
<plugin name="quantityValidators" type="Magento\CatalogInventory\Block\Plugin\ProductView"/>
</type><type name="Magento\CatalogInventory\Model\Configuration">
<arguments>
<argument name="config" xsi:type="object">Magento\Catalog\Model\ProductTypes\Config\Proxy</argument>
</arguments>
<plugin name="out_of_stock_plugin" type="Magento\CatalogInventoryStaging\Model\Plugin\Configuration"/></type><type name="Magento\CatalogInventory\Setup\UpgradeData">
<arguments>
<argument name="indexerProcessor" xsi:type="object">Magento\CatalogInventory\Model\Indexer\Stock\Processor</argument>
</arguments>
</type><virtualType name="Magento\CatalogInventory\Model\Indexer\Stock\BatchSizeManagement" type="Magento\Framework\Indexer\BatchSizeManagement">
<arguments>
<argument name="rowSizeEstimator" xsi:type="object">Magento\CatalogInventory\Model\ResourceModel\Indexer\Stock\IndexTableRowSizeEstimator</argument>
</arguments>
</virtualType><virtualType name="Magento\CatalogInventory\Model\ResourceModel\Indexer\Stock\IndexTableRowSizeEstimator" type="Magento\Framework\Indexer\IndexTableRowSizeEstimator">
<arguments>
<argument name="rowMemorySize" xsi:type="number">100</argument>
</arguments>
</virtualType><type name="Magento\Catalog\Controller\Adminhtml\Product\Action\Attribute\Save">
<plugin name="massAction" type="Magento\CatalogInventory\Plugin\MassUpdateProductAttribute" disabled="true"/>
<plugin name="inventoryUpdate" type="Magento\InventoryCatalog\Plugin\Catalog\Controller\Adminhtml\Product\Action\Attribute\Save\ProcessInventoryPlugin"/></type><type name="Magento\CatalogInventory\Model\ResourceModel\Indexer\Stock\GetStatusExpression">
<arguments>
<argument name="statusExpressions" xsi:type="array">
<item name="default" xsi:type="object">Magento\InventoryCatalog\Model\ResourceModel\StockStatusExpressionForDefaultStock</item>
<item name="bundle" xsi:type="object">Magento\CatalogInventory\Model\ResourceModel\Indexer\Stock\StatusExpression\DefaultExpression</item><item name="grouped" xsi:type="object">Magento\CatalogInventory\Model\ResourceModel\Indexer\Stock\StatusExpression\DefaultExpression</item></argument>
</arguments>
</type><virtualType name="Magento\Checkout\Model\Session\Storage" type="Magento\Framework\Session\Storage">
<arguments>
<argument name="namespace" xsi:type="string">checkout</argument>
</arguments>
</virtualType><type name="Magento\Checkout\Model\Session">
<arguments>
<argument name="storage" xsi:type="object">Magento\Checkout\Model\Session\Storage</argument>
</arguments>
</type><preference for="Magento\Checkout\Api\GuestShippingInformationManagementInterface" type="Magento\Checkout\Model\GuestShippingInformationManagement"/><preference for="Magento\Checkout\Api\ShippingInformationManagementInterface" type="Magento\Checkout\Model\ShippingInformationManagement"/><preference for="Magento\Checkout\Api\Data\ShippingInformationInterface" type="Magento\Checkout\Model\ShippingInformation"/><preference for="Magento\Checkout\Api\Data\PaymentDetailsInterface" type="Magento\Checkout\Model\PaymentDetails"/><preference for="Magento\Checkout\Api\GuestPaymentInformationManagementInterface" type="Magento\Checkout\Model\GuestPaymentInformationManagement"/><preference for="Magento\Checkout\Api\PaymentInformationManagementInterface" type="Magento\Checkout\Model\PaymentInformationManagement"/><preference for="Magento\Checkout\Api\Data\TotalsInformationInterface" type="Magento\Checkout\Model\TotalsInformation"/><preference for="Magento\Checkout\Api\GuestTotalsInformationManagementInterface" type="Magento\Checkout\Model\GuestTotalsInformationManagement"/><preference for="Magento\Checkout\Api\TotalsInformationManagementInterface" type="Magento\Checkout\Model\TotalsInformationManagement"/><preference for="Magento\Checkout\Api\AgreementsValidatorInterface" type="Magento\CheckoutAgreements\Model\AgreementsValidator"/><preference for="Magento\Checkout\Model\Cart\RequestInfoFilterInterface" type="Magento\Checkout\Model\Cart\RequestInfoFilterComposite"/><type name="Magento\Checkout\Model\Cart\RequestInfoFilter">
<arguments>
<argument name="filterList" xsi:type="array">
<item name="form_key" xsi:type="string">form_key</item>
</argument>
</arguments>
</type><type name="Magento\Checkout\Model\Cart\RequestInfoFilterComposite">
<arguments>
<argument name="filters" xsi:type="array">
<item name="filter" xsi:type="object">Magento\Checkout\Model\Cart\RequestInfoFilter</item>
</argument>
</arguments>
</type><preference for="Magento\Checkout\Api\PaymentProcessingRateLimiterInterface" type="Magento\Checkout\Model\CaptchaPaymentProcessingRateLimiter"/><preference for="Magento\Checkout\Api\PaymentSavingRateLimiterInterface" type="Magento\Checkout\Model\CaptchaPaymentSavingRateLimiter"/><preference for="Magento\CardinalCommerce\Model\Response\JwtPayloadValidatorInterface" type="Magento\CardinalCommerce\Model\Response\JwtPayloadValidator"/><preference for="Magento\CardinalCommerce\Model\Response\JwtParserInterface" type="Magento\CardinalCommerce\Model\Response\JwtParser"/><type name="Magento\AdvancedCatalog\Model\Indexer\Table\Strategy" shared="false"/><preference for="Magento\Security\Model\ConfigInterface" type="Magento\Security\Model\Config"/><type name="Magento\Security\Model\SecurityManager">
<arguments>
<argument name="securityCheckers" xsi:type="array">
<item name="frequency" xsi:type="object">Magento\Security\Model\SecurityChecker\Frequency</item>
<item name="quantity" xsi:type="object">Magento\Security\Model\SecurityChecker\Quantity</item>
</argument>
</arguments>
</type><preference for="Magento\Security\Api\Data\UserExpirationInterface" type="Magento\Security\Model\UserExpiration"/><preference for="Magento\Search\Api\SearchInterface" type="Magento\Search\Model\Search"/><preference for="Magento\Framework\Search\EngineResolverInterface" type="Magento\Search\Model\EngineResolver"/><preference for="Magento\Search\Model\QueryFactoryInterface" type="Magento\Search\Model\QueryFactory"/><preference for="Magento\Search\Model\QueryInterface" type="Magento\Search\Model\Query"/><preference for="Magento\Search\Api\SynonymAnalyzerInterface" type="Magento\Search\Model\SynonymAnalyzer"/><type name="Magento\Search\Model\EngineResolver">
<arguments>
<argument name="path" xsi:type="string">catalog/search/engine</argument>
<argument name="scopeType" xsi:type="string">default</argument>
<argument name="engines" xsi:type="array">
<item name="elasticsearch5" xsi:type="string">elasticsearch5</item>
<item name="elasticsearch6" xsi:type="string">elasticsearch6</item><item name="elasticsearch7" xsi:type="string">elasticsearch7</item></argument><argument name="defaultEngine" xsi:type="string">elasticsearch7</argument></arguments>
</type><preference for="Magento\Search\Model\AutocompleteInterface" type="Magento\Search\Model\Autocomplete"/><preference for="Magento\Search\Model\Autocomplete\ItemInterface" type="Magento\Search\Model\Autocomplete\Item"/><preference for="Magento\Framework\Search\SearchEngineInterface" type="Magento\Search\Model\SearchEngine"/><virtualType name="Magento\Search\Model\ResourceModel\Synonyms\Grid\Collection" type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult">
<arguments>
<argument name="name" xsi:type="string">search_synonyms_grid_data_source</argument>
<argument name="primaryFieldName" xsi:type="string">group_id</argument>
<argument name="requestFieldName" xsi:type="string">id</argument>
<argument name="mainTable" xsi:type="string">search_synonyms</argument>
<argument name="resourceModel" xsi:type="string">Magento\Search\Model\ResourceModel\SynonymGroup</argument>
</arguments>
</virtualType><preference for="Magento\Search\Api\Data\SynonymGroupInterface" type="Magento\Search\Model\SynonymGroup"/><preference for="Magento\Search\Api\SynonymGroupRepositoryInterface" type="Magento\Search\Model\SynonymGroupRepository"/><preference for="Magento\Framework\Search\Adapter\Preprocessor\PreprocessorInterface" type="Magento\Search\Adapter\Query\Preprocessor\Synonyms"/><preference for="Magento\Framework\Search\SearchEngine\ConfigInterface" type="Magento\Search\Model\SearchEngine\Config"/><type name="Magento\Search\Model\SearchEngine\Config">
<arguments>
<argument name="dataStorage" xsi:type="object">Magento\Search\Model\SearchEngine\Config\Data</argument>
</arguments>
</type><preference for="Magento\Search\Setup\InstallConfigInterface" type="Magento\Search\Setup\CompositeInstallConfig"/><preference for="Magento\Search\Model\SearchEngine\ValidatorInterface" type="Magento\Search\Model\SearchEngine\Validator"/><type name="Magento\SalesArchive\Model\Observer">
<arguments>
<argument name="config" xsi:type="object">Magento\SalesArchive\Model\Config\Proxy</argument>
<argument name="backendData" xsi:type="object">Magento\Backend\Helper\Data\Proxy</argument>
</arguments>
</type><type name="Magento\SalesArchive\Model\ResourceModel\Order\Collection">
<arguments>
<argument name="mainTable" xsi:type="string">magento_sales_order_grid_archive</argument>
<argument name="resourceModel" xsi:type="string">Magento\Sales\Model\ResourceModel\Order</argument>
</arguments>
</type><virtualType name="Magento\SalesArchive\Model\ResourceModel\Order\Invoice\Collection" type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult">
<arguments>
<argument name="mainTable" xsi:type="string">magento_sales_invoice_grid_archive</argument>
<argument name="resourceModel" xsi:type="string">Magento\Sales\Model\ResourceModel\Order\Invoice</argument>
</arguments>
</virtualType><virtualType name="Magento\SalesArchive\Model\ResourceModel\Order\Shipment\Collection" type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult">
<arguments>
<argument name="mainTable" xsi:type="string">magento_sales_shipment_grid_archive</argument>
<argument name="resourceModel" xsi:type="string">Magento\Sales\Model\ResourceModel\Order\Shipment</argument>
</arguments>
</virtualType><virtualType name="Magento\SalesArchive\Model\ResourceModel\Order\Creditmemo\Collection" type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult">
<arguments>
<argument name="mainTable" xsi:type="string">magento_sales_creditmemo_grid_archive</argument>
<argument name="resourceModel" xsi:type="string">Magento\Sales\Model\ResourceModel\Order\Creditmemo</argument>
</arguments>
</virtualType><type name="Magento\Sales\Model\ResourceModel\Provider\Query\IdListBuilder">
<plugin name="process_archive_entities" type="Magento\SalesArchive\Plugin\ArchivedEntitiesProcessorPlugin"/>
</type><virtualType name="Magento\SalesArchive\Model\ResourceModel\Order\Grid" type="Magento\Sales\Model\ResourceModel\Grid">
<arguments>
<argument name="mainTableName" xsi:type="string">sales_order</argument>
<argument name="gridTableName" xsi:type="string">magento_sales_order_grid_archive</argument>
<argument name="orderIdField" xsi:type="string">sales_order.entity_id</argument>
<argument name="joins" xsi:type="array">
<item name="sales_shipping_address" xsi:type="array">
<item name="table" xsi:type="string">sales_order_address</item>
<item name="origin_column" xsi:type="string">shipping_address_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_billing_address" xsi:type="array">
<item name="table" xsi:type="string">sales_order_address</item>
<item name="origin_column" xsi:type="string">billing_address_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_order_payment" xsi:type="array">
<item name="table" xsi:type="string">sales_order_payment</item>
<item name="origin_column" xsi:type="string">entity_id</item>
<item name="target_column" xsi:type="string">parent_id</item>
</item>
</argument>
<argument name="columns" xsi:type="array">
<item name="entity_id" xsi:type="string">sales_order.entity_id</item>
<item name="status" xsi:type="string">sales_order.status</item>
<item name="store_id" xsi:type="string">sales_order.store_id</item>
<item name="store_name" xsi:type="string">sales_order.store_name</item>
<item name="customer_id" xsi:type="string">sales_order.customer_id</item>
<item name="base_grand_total" xsi:type="string">sales_order.base_grand_total</item>
<item name="base_total_paid" xsi:type="string">sales_order.base_total_paid</item>
<item name="grand_total" xsi:type="string">sales_order.grand_total</item>
<item name="total_paid" xsi:type="string">sales_order.total_paid</item>
<item name="increment_id" xsi:type="string">sales_order.increment_id</item>
<item name="base_currency_code" xsi:type="string">sales_order.base_currency_code</item>
<item name="order_currency_code" xsi:type="string">sales_order.order_currency_code</item>
<item name="shipping_name" xsi:type="object">ShippingNameAggregator</item>
<item name="billing_name" xsi:type="object">BillingNameAggregator</item>
<item name="created_at" xsi:type="string">sales_order.created_at</item>
<item name="updated_at" xsi:type="string">sales_order.updated_at</item>
<item name="billing_address" xsi:type="object">BillingAddressAggregator</item>
<item name="shipping_address" xsi:type="object">ShippingAddressAggregator</item>
<item name="shipping_information" xsi:type="string">sales_order.shipping_description</item>
<item name="customer_email" xsi:type="string">sales_order.customer_email</item>
<item name="customer_group" xsi:type="string">sales_order.customer_group_id</item>
<item name="subtotal" xsi:type="string">sales_order.base_subtotal</item>
<item name="shipping_and_handling" xsi:type="string">sales_order.base_shipping_amount</item>
<item name="customer_name" xsi:type="object">CustomerNameAggregator</item>
<item name="payment_method" xsi:type="string">sales_order_payment.method</item>
<item name="total_refunded" xsi:type="string">sales_order.total_refunded</item>
<item name="refunded_to_store_credit" xsi:type="string">sales_order.customer_bal_total_refunded</item></argument>
</arguments>
</virtualType><virtualType name="Magento\SalesArchive\Model\ResourceModel\Order\Invoice\Grid" type="Magento\Sales\Model\ResourceModel\Grid">
<arguments>
<argument name="mainTableName" xsi:type="string">sales_invoice</argument>
<argument name="gridTableName" xsi:type="string">magento_sales_invoice_grid_archive</argument>
<argument name="orderIdField" xsi:type="string">sales_invoice.order_id</argument>
<argument name="joins" xsi:type="array">
<item name="sales_order" xsi:type="array">
<item name="table" xsi:type="string">sales_order</item>
<item name="origin_column" xsi:type="string">order_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_shipping_address" xsi:type="array">
<item name="table" xsi:type="string">sales_order_address</item>
<item name="origin_column" xsi:type="string">shipping_address_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_billing_address" xsi:type="array">
<item name="table" xsi:type="string">sales_order_address</item>
<item name="origin_column" xsi:type="string">billing_address_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_order_payment" xsi:type="array">
<item name="table" xsi:type="string">sales_order_payment</item>
<item name="origin_column" xsi:type="string">order_id</item>
<item name="target_column" xsi:type="string">parent_id</item>
</item>
</argument>
<argument name="columns" xsi:type="array">
<item name="entity_id" xsi:type="string">sales_invoice.entity_id</item>
<item name="increment_id" xsi:type="string">sales_invoice.increment_id</item>
<item name="state" xsi:type="string">sales_invoice.state</item>
<item name="store_id" xsi:type="string">sales_invoice.store_id</item>
<item name="store_name" xsi:type="string">sales_order.store_name</item>
<item name="order_id" xsi:type="string">sales_invoice.order_id</item>
<item name="order_increment_id" xsi:type="string">sales_order.increment_id</item>
<item name="order_created_at" xsi:type="string">sales_order.created_at</item>
<item name="customer_name" xsi:type="object">CustomerNameAggregator</item>
<item name="customer_email" xsi:type="string">sales_order.customer_email</item>
<item name="customer_group_id" xsi:type="string">sales_order.customer_group_id</item>
<item name="payment_method" xsi:type="string">sales_order_payment.method</item>
<item name="store_currency_code" xsi:type="string">sales_invoice.store_currency_code</item>
<item name="order_currency_code" xsi:type="string">sales_invoice.order_currency_code</item>
<item name="base_currency_code" xsi:type="string">sales_invoice.base_currency_code</item>
<item name="global_currency_code" xsi:type="string">sales_invoice.global_currency_code</item>
<item name="billing_name" xsi:type="object">BillingNameAggregator</item>
<item name="billing_address" xsi:type="object">BillingAddressAggregator</item>
<item name="shipping_address" xsi:type="object">ShippingAddressAggregator</item>
<item name="shipping_information" xsi:type="string">sales_order.shipping_description</item>
<item name="subtotal" xsi:type="string">sales_order.base_subtotal</item>
<item name="shipping_and_handling" xsi:type="string">sales_order.base_shipping_amount</item>
<item name="base_grand_total" xsi:type="string">sales_invoice.base_grand_total</item>
<item name="grand_total" xsi:type="string">sales_invoice.grand_total</item>
<item name="created_at" xsi:type="string">sales_invoice.created_at</item>
<item name="updated_at" xsi:type="string">sales_invoice.updated_at</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\SalesArchive\Model\ResourceModel\Order\Shipment\Grid" type="Magento\Sales\Model\ResourceModel\Grid">
<arguments>
<argument name="mainTableName" xsi:type="string">sales_shipment</argument>
<argument name="gridTableName" xsi:type="string">magento_sales_shipment_grid_archive</argument>
<argument name="orderIdField" xsi:type="string">sales_shipment.order_id</argument>
<argument name="joins" xsi:type="array">
<item name="sales_order" xsi:type="array">
<item name="table" xsi:type="string">sales_order</item>
<item name="origin_column" xsi:type="string">order_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_shipping_address" xsi:type="array">
<item name="table" xsi:type="string">sales_order_address</item>
<item name="origin_column" xsi:type="string">shipping_address_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_billing_address" xsi:type="array">
<item name="table" xsi:type="string">sales_order_address</item>
<item name="origin_column" xsi:type="string">billing_address_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_order_payment" xsi:type="array">
<item name="table" xsi:type="string">sales_order_payment</item>
<item name="origin_column" xsi:type="string">order_id</item>
<item name="target_column" xsi:type="string">parent_id</item>
</item>
</argument>
<argument name="columns" xsi:type="array">
<item name="entity_id" xsi:type="string">sales_shipment.entity_id</item>
<item name="increment_id" xsi:type="string">sales_shipment.increment_id</item>
<item name="store_id" xsi:type="string">sales_shipment.store_id</item>
<item name="order_increment_id" xsi:type="string">sales_order.increment_id</item>
<item name="order_created_at" xsi:type="string">sales_order.created_at</item>
<item name="customer_name" xsi:type="object">CustomerNameAggregator</item>
<item name="total_qty" xsi:type="string">sales_shipment.total_qty</item>
<item name="shipment_status" xsi:type="string">sales_shipment.shipment_status</item>
<item name="order_status" xsi:type="string">sales_order.status</item>
<item name="billing_address" xsi:type="object">BillingAddressAggregator</item>
<item name="shipping_address" xsi:type="object">ShippingAddressAggregator</item>
<item name="billing_name" xsi:type="object">BillingNameAggregator</item>
<item name="shipping_name" xsi:type="object">ShippingNameAggregator</item>
<item name="customer_email" xsi:type="string">sales_order.customer_email</item>
<item name="customer_group_id" xsi:type="string">sales_order.customer_group_id</item>
<item name="payment_method" xsi:type="string">sales_order_payment.method</item>
<item name="created_at" xsi:type="string">sales_shipment.created_at</item>
<item name="updated_at" xsi:type="string">sales_shipment.updated_at</item>
<item name="order_id" xsi:type="string">sales_shipment.order_id</item>
<item name="shipping_information" xsi:type="string">sales_order.shipping_description</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\SalesArchive\Model\ResourceModel\Order\Creditmemo\Grid" type="Magento\Sales\Model\ResourceModel\Grid">
<arguments>
<argument name="mainTableName" xsi:type="string">sales_creditmemo</argument>
<argument name="gridTableName" xsi:type="string">magento_sales_creditmemo_grid_archive</argument>
<argument name="orderIdField" xsi:type="string">sales_creditmemo.order_id</argument>
<argument name="joins" xsi:type="array">
<item name="sales_shipping_address" xsi:type="array">
<item name="table" xsi:type="string">sales_order_address</item>
<item name="origin_column" xsi:type="string">shipping_address_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_billing_address" xsi:type="array">
<item name="table" xsi:type="string">sales_order_address</item>
<item name="origin_column" xsi:type="string">billing_address_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_order" xsi:type="array">
<item name="table" xsi:type="string">sales_order</item>
<item name="origin_column" xsi:type="string">order_id</item>
<item name="target_column" xsi:type="string">entity_id</item>
</item>
<item name="sales_order_payment" xsi:type="array">
<item name="table" xsi:type="string">sales_order_payment</item>
<item name="origin_column" xsi:type="string">order_id</item>
<item name="target_column" xsi:type="string">parent_id</item>
</item>
</argument>
<argument name="columns" xsi:type="array">
<item name="entity_id" xsi:type="string">sales_creditmemo.entity_id</item>
<item name="increment_id" xsi:type="string">sales_creditmemo.increment_id</item>
<item name="created_at" xsi:type="string">sales_creditmemo.created_at</item>
<item name="updated_at" xsi:type="string">sales_creditmemo.updated_at</item>
<item name="order_id" xsi:type="string">sales_order.entity_id</item>
<item name="order_increment_id" xsi:type="string">sales_order.increment_id</item>
<item name="order_created_at" xsi:type="string">sales_order.created_at</item>
<item name="billing_name" xsi:type="object">BillingNameAggregator</item>
<item name="state" xsi:type="string">sales_creditmemo.state</item>
<item name="base_grand_total" xsi:type="string">sales_creditmemo.base_grand_total</item>
<item name="order_status" xsi:type="string">sales_order.status</item>
<item name="store_id" xsi:type="string">sales_creditmemo.store_id</item>
<item name="billing_address" xsi:type="object">BillingAddressAggregator</item>
<item name="shipping_address" xsi:type="object">ShippingAddressAggregator</item>
<item name="customer_name" xsi:type="object">CustomerNameAggregator</item>
<item name="customer_email" xsi:type="string">sales_order.customer_email</item>
<item name="customer_group_id" xsi:type="string">sales_order.customer_group_id</item>
<item name="payment_method" xsi:type="string">sales_order_payment.method</item>
<item name="shipping_information" xsi:type="string">sales_order.shipping_description</item>
<item name="subtotal" xsi:type="string">sales_creditmemo.subtotal</item>
<item name="shipping_and_handling" xsi:type="string">sales_creditmemo.shipping_amount</item>
<item name="adjustment_positive" xsi:type="string">sales_creditmemo.adjustment_positive</item>
<item name="adjustment_negative" xsi:type="string">sales_creditmemo.adjustment_negative</item>
<item name="order_base_grand_total" xsi:type="string">sales_order.base_grand_total</item>
</argument>
</arguments>
</virtualType><virtualType name="SalesArchiveOrderIndexGridSyncInsert" type="Magento\SalesArchive\Observer\GridSyncInsertObserver">
<arguments>
<argument name="entityGrid" xsi:type="object">Magento\SalesArchive\Model\ResourceModel\Order\Grid</argument>
</arguments>
</virtualType><virtualType name="SalesArchiveInvoiceIndexGridSyncInsert" type="Magento\SalesArchive\Observer\GridSyncInsertObserver">
<arguments>
<argument name="entityGrid" xsi:type="object">Magento\SalesArchive\Model\ResourceModel\Order\Invoice\Grid</argument>
</arguments>
</virtualType><virtualType name="SalesArchiveShipmentIndexGridSyncInsert" type="Magento\SalesArchive\Observer\GridSyncInsertObserver">
<arguments>
<argument name="entityGrid" xsi:type="object">Magento\SalesArchive\Model\ResourceModel\Order\Shipment\Grid</argument>
</arguments>
</virtualType><virtualType name="SalesArchiveCreditmemoIndexGridSyncInsert" type="Magento\SalesArchive\Observer\GridSyncInsertObserver">
<arguments>
<argument name="entityGrid" xsi:type="object">Magento\SalesArchive\Model\ResourceModel\Order\Creditmemo\Grid</argument>
</arguments>
</virtualType><preference for="Magento\CatalogImportExport\Model\Export\RowCustomizerInterface" type="Magento\CatalogImportExport\Model\Export\RowCustomizer\Composite"/><preference for="Magento\CatalogImportExport\Model\StockItemImporterInterface" type="Magento\CatalogImportExport\Model\StockItemImporter"/><preference for="Magento\CatalogImportExport\Model\Export\ProductFilterInterface" type="Magento\CatalogImportExport\Model\Export\ProductFilters"/><type name="Magento\ImportExport\Model\Import">
<plugin name="catalogProductFlatIndexerImport" type="Magento\CatalogImportExport\Model\Indexer\Product\Flat\Plugin\Import"/>
<plugin name="invalidatePriceIndexerOnImport" type="Magento\CatalogImportExport\Model\Indexer\Product\Price\Plugin\Import"/>
<plugin name="invalidateStockIndexerOnImport" type="Magento\CatalogImportExport\Model\Indexer\Stock\Plugin\Import"/>
<plugin name="invalidateEavIndexerOnImport" type="Magento\CatalogImportExport\Model\Indexer\Product\Eav\Plugin\Import"/>
<plugin name="invalidateProductCategoryIndexerOnImport" type="Magento\CatalogImportExport\Model\Indexer\Product\Category\Plugin\Import"/>
<plugin name="invalidateCategoryProductIndexerOnImport" type="Magento\CatalogImportExport\Model\Indexer\Category\Product\Plugin\Import"/>
<plugin name="targetRuleImportInvalidate" type="Magento\TargetRule\Model\Indexer\TargetRule\Plugin\Import"/><arguments>
<argument name="filesystem" xsi:type="object">fullRemoteFilesystem</argument>
</arguments><plugin name="catalogPermissionImport" type="Magento\CatalogPermissions\Model\Indexer\Plugin\Import"/></type><type name="Magento\CatalogImportExport\Model\Import\Product\StockProcessor">
<arguments>
<argument name="indexers" xsi:type="array">
<item name="cataloginventory_stock" xsi:type="null"/>
</argument>
</arguments>
</type><type name="Magento\CatalogImportExport\Model\Import\Product\Validator">
<arguments>
<argument name="validators" xsi:type="array">
<item name="media" xsi:type="object">Magento\CatalogImportExport\Model\Import\Product\Validator\Media</item>
<item name="superProductsSku" xsi:type="object">Magento\CatalogImportExport\Model\Import\Product\Validator\SuperProductsSku</item>
<item name="tierPrice" xsi:type="object">Magento\CatalogImportExport\Model\Import\Product\Validator\TierPrice</item>
<item name="website" xsi:type="object">Magento\CatalogImportExport\Model\Import\Product\Validator\Website</item>
<item name="weight" xsi:type="object">Magento\CatalogImportExport\Model\Import\Product\Validator\Weight</item>
<item name="quantity" xsi:type="object">Magento\CatalogImportExport\Model\Import\Product\Validator\Quantity</item>
<item name="layout_update" xsi:type="object">Magento\CatalogImportExport\Model\Import\Product\Validator\LayoutUpdate</item>
<item name="layout_update_permissions" xsi:type="object">Magento\CatalogImportExport\Model\Import\Product\Validator\LayoutUpdatePermissions</item>
</argument>
</arguments>
</type><type name="Magento\CatalogImportExport\Model\Import\Product\Validator\LayoutUpdate">
<arguments>
<argument name="validationState" xsi:type="object">Magento\Framework\Config\ValidationState\Required</argument>
</arguments>
</type><type name="Magento\CatalogImportExport\Model\Export\ProductFilters">
<arguments>
<argument name="filters" xsi:type="array">
<item name="category_ids" xsi:type="object">Magento\CatalogImportExport\Model\Export\Product\CategoryFilter</item>
<item name="quantity_and_stock_status" xsi:type="object">Magento\CatalogImportExport\Model\Export\Product\StockStatusFilter</item>
<item name="website_ids" xsi:type="object">Magento\CatalogImportExport\Model\Export\Product\WebsiteFilter</item>
</argument>
</arguments>
</type><type name="Magento\CatalogImportExport\Model\Import\Product\LinkProcessor">
<arguments>
<argument name="linkNameToId" xsi:type="array">
<item name="_related_" xsi:type="const">Magento\Catalog\Model\Product\Link::LINK_TYPE_RELATED</item>
<item name="_crosssell_" xsi:type="const">Magento\Catalog\Model\Product\Link::LINK_TYPE_CROSSSELL</item>
<item name="_upsell_" xsi:type="const">Magento\Catalog\Model\Product\Link::LINK_TYPE_UPSELL</item>
</argument>
</arguments>
</type><type name="Magento\CatalogImportExport\Model\Import\Product">
<plugin name="staging-import-products" type="Magento\CatalogImportExportStaging\Model\Import\ProductPlugin"/>
<arguments>
<argument name="filesystem" xsi:type="object">fullRemoteFilesystem</argument>
</arguments></type><preference for="Magento\Framework\Search\Adapter\OptionsInterface" type="Magento\CatalogSearch\Model\Adapter\Options"/><preference for="Magento\CatalogSearch\Model\Indexer\IndexSwitcherInterface" type="Magento\CatalogSearch\Model\Indexer\IndexSwitcherProxy"/><preference for="Magento\CatalogSearch\Model\Adapter\Aggregation\RequestCheckerInterface" type="Magento\CatalogSearch\Model\Adapter\Aggregation\RequestCheckerComposite"/><preference for="Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection\SearchCriteriaResolverInterface" type="Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection\SearchCriteriaResolver"/><preference for="Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection\SearchResultApplierInterface" type="Magento\Elasticsearch\Model\ResourceModel\Fulltext\Collection\SearchResultApplier"/><preference for="Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection\TotalRecordsResolverInterface" type="Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection\TotalRecordsResolver"/><preference for="Magento\CatalogSearch\Model\Search\ItemCollectionProviderInterface" type="Magento\CatalogSearch\Model\Search\ItemCollectionProvider"/><preference for="Magento\Framework\Indexer\IndexStructureInterface" type="Magento\CatalogSearch\Model\Indexer\IndexStructure"/><preference for="Magento\CatalogSearch\Model\Search\Request\ModifierInterface" type="Magento\CatalogSearch\Model\Search\Request\ModifierComposite"/><type name="Magento\Catalog\Model\ResourceModel\Category">
<plugin name="catalogsearchFulltextCategory" type="Magento\CatalogSearch\Model\Indexer\Fulltext\Plugin\Category"/>
<plugin name="category_move_plugin" type="Magento\CatalogUrlRewrite\Model\Category\Plugin\Category\Move"/><plugin name="category_delete_plugin" type="Magento\CatalogUrlRewrite\Model\Category\Plugin\Category\Remove"/><plugin name="update_url_path_for_different_stores" type="Magento\CatalogUrlRewrite\Model\Category\Plugin\Category\UpdateUrlPath"/></type><type name="Magento\Catalog\Model\Indexer\Product\Category\Action\Rows">
<plugin name="catalogsearchFulltextCategoryAssignment" type="Magento\CatalogSearch\Model\Indexer\Fulltext\Plugin\Product\Category\Action\Rows"/>
</type><type name="Magento\Catalog\Model\ResourceModel\Attribute">
<plugin name="catalogsearchFulltextIndexerAttribute" type="Magento\CatalogSearch\Model\Indexer\Fulltext\Plugin\Attribute"/>
<plugin name="catalogsearchAttributeSearchWeightCache" type="Magento\CatalogSearch\Model\Attribute\SearchWeight"/>
<plugin name="updateElasticsearchIndexerMapping" type="Magento\Elasticsearch\Model\Indexer\Fulltext\Plugin\Category\Product\Attribute"/></type><type name="Magento\Framework\Search\EntityMetadata"/><virtualType name="Magento\Framework\Search\ProductEntityMetadata" type="Magento\Framework\Search\EntityMetadata">
<arguments>
<argument name="entityId" xsi:type="string">entity_id</argument>
</arguments>
</virtualType><type name="Magento\Framework\Search\Request\Config\FilesystemReader">
<plugin name="catalogSearchDynamicFields" type="Magento\CatalogSearch\Model\Search\ReaderPlugin"/>
<plugin name="productAttributesDynamicFields" type="Magento\CatalogGraphQl\Plugin\Search\Request\ConfigReader"/></type><preference for="Magento\Search\Model\SearchCollectionInterface" type="Magento\CatalogSearch\Model\ResourceModel\Search\Collection"/><type name="Magento\Catalog\Model\Layer\Search\CollectionFilter">
<plugin name="searchQuery" type="Magento\CatalogSearch\Model\Layer\Search\Plugin\CollectionFilter"/>
</type><virtualType name="Magento\CatalogSearch\Model\ResourceModel\Fulltext\CollectionFactory" type="Magento\Catalog\Model\ResourceModel\Product\CollectionFactory">
<arguments>
<argument name="instanceName" xsi:type="string">Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection</argument>
</arguments>
</virtualType><type name="Magento\CatalogSearch\Model\Layer\Category\ItemCollectionProvider">
<arguments>
<argument name="collectionFactory" xsi:type="object">Magento\CatalogSearch\Model\ResourceModel\Fulltext\CollectionFactory</argument>
</arguments>
</type><virtualType name="Magento\CatalogSearch\Model\ResourceModel\Fulltext\SearchCollection" type="Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection">
<arguments>
<argument name="searchRequestName" xsi:type="string">quick_search_container</argument>
</arguments>
</virtualType><virtualType name="Magento\CatalogSearch\Model\ResourceModel\Fulltext\SearchCollectionFactory" type="Magento\Catalog\Model\ResourceModel\Product\CollectionFactory">
<arguments>
<argument name="instanceName" xsi:type="string">Magento\CatalogSearch\Model\ResourceModel\Fulltext\SearchCollection</argument>
</arguments>
</virtualType><virtualType name="Magento\CatalogSearch\Model\Layer\Search\ItemCollectionProvider" type="Magento\Catalog\Model\Layer\Search\ItemCollectionProvider">
<arguments>
<argument name="collectionFactory" xsi:type="object">Magento\CatalogSearch\Model\ResourceModel\Fulltext\SearchCollectionFactory</argument>
</arguments>
</virtualType><virtualType name="Magento\CatalogSearch\Model\Advanced\ItemCollectionProvider" type="Magento\Catalog\Model\Layer\Search\ItemCollectionProvider">
<arguments>
<argument name="collectionFactory" xsi:type="object">Magento\CatalogSearch\Model\ResourceModel\Advanced\CollectionFactory</argument>
</arguments>
</virtualType><virtualType name="Magento\CatalogSearch\Model\ResourceModel\Advanced\CollectionFactory" type="Magento\Catalog\Model\ResourceModel\Product\CollectionFactory">
<arguments>
<argument name="instanceName" xsi:type="string">Magento\CatalogSearch\Model\ResourceModel\Advanced\Collection</argument>
</arguments>
</virtualType><type name="Magento\CatalogSearch\Model\Advanced">
<arguments>
<argument name="productCollectionFactory" xsi:type="object">Magento\CatalogSearch\Model\ResourceModel\Advanced\CollectionFactory</argument>
<argument name="collectionProvider" xsi:type="object">Magento\CatalogSearch\Model\Search\ItemCollectionProviderInterface</argument>
</arguments>
</type><virtualType name="Magento\CatalogSearch\Model\Layer\Category\Context" type="Magento\Catalog\Model\Layer\Category\Context">
<arguments>
<argument name="collectionProvider" xsi:type="object">Magento\CatalogSearch\Model\Layer\Category\ItemCollectionProvider</argument>
</arguments>
</virtualType><virtualType name="Magento\CatalogSearch\Model\Layer\Search\Context" type="Magento\Catalog\Model\Layer\Search\Context">
<arguments>
<argument name="collectionProvider" xsi:type="object">Magento\CatalogSearch\Model\Layer\Search\ItemCollectionProvider</argument>
<argument name="stateKey" xsi:type="object">Magento\CatalogSearch\Model\Layer\Search\StateKey</argument>
</arguments>
</virtualType><type name="Magento\Search\Model\Autocomplete">
<arguments>
<argument name="dataProviders" xsi:type="array">
<item name="10" xsi:type="object">Magento\CatalogSearch\Model\Autocomplete\DataProvider</item>
</argument>
</arguments>
</type><type name="Magento\Framework\Search\Adapter\Aggregation\AggregationResolver">
<arguments>
<argument name="resolvers" xsi:type="array">
<item name="catalogsearch_fulltext" xsi:type="object">Magento\CatalogSearch\Model\Adapter\Aggregation\AggregationResolver</item>
</argument>
</arguments>
</type><type name="Magento\CatalogSearch\Model\Search\RequestGenerator\GeneratorResolver">
<arguments>
<argument name="defaultGenerator" xsi:type="object">\Magento\CatalogSearch\Model\Search\RequestGenerator\General</argument>
<argument name="generators" xsi:type="array">
<item name="decimal" xsi:type="object">Magento\CatalogSearch\Model\Search\RequestGenerator\Decimal</item>
</argument>
</arguments>
</type><type name="Magento\CatalogSearch\Model\Adapter\Aggregation\RequestCheckerComposite">
<arguments>
<argument name="queryCheckers" xsi:type="array">
<item name="advanced_search_container" xsi:type="object">\Magento\CatalogSearch\Model\Adapter\Aggregation\Checker\Query\AdvancedSearch</item>
<item name="catalog_view_container" xsi:type="object">\Magento\CatalogSearch\Model\Adapter\Aggregation\Checker\Query\CatalogView</item>
</argument>
</arguments>
</type><type name="Magento\CatalogSearch\Model\Adapter\Aggregation\Checker\Query\AdvancedSearch">
<arguments>
<argument name="name" xsi:type="string">advanced_search_container</argument>
</arguments>
</type><type name="Magento\CatalogSearch\Model\Adapter\Aggregation\Checker\Query\CatalogView">
<arguments>
<argument name="name" xsi:type="string">catalog_view_container</argument>
</arguments>
</type><type name="Magento\CatalogSearch\Model\Indexer\Fulltext">
<arguments>
<argument name="dimensionProvider" xsi:type="object" shared="false">
Magento\Store\Model\StoreDimensionProvider
</argument>
</arguments>
</type><type name="Magento\CatalogSearch\Model\Indexer\Fulltext\Action\DataProvider">
<plugin name="stockedProductsFilterPlugin" type="Magento\CatalogSearch\Model\Indexer\Plugin\StockedProductsFilterPlugin" disabled="true"/>
<plugin name="stockedProductFilterByInventoryStockPlugin" type="Magento\InventoryElasticsearch\Plugin\CatalogSearch\Model\Indexer\Fulltext\Action\DataProvider\StockedProductFilterByInventoryStock"/></type><type name="Magento\CatalogSearch\Model\Indexer\Fulltext\Action\Full">
<arguments>
<!-- @deprecated parameter indexIteratorFactory has been deprecated and not in use now -->
<argument name="indexIteratorFactory" xsi:type="null"/>
</arguments>
</type><type name="Magento\CatalogSearch\Model\ResourceModel\Advanced\Collection">
<arguments>
<!-- @deprecated parameter requestBuilder has been deprecated and not in use now -->
<argument name="requestBuilder" xsi:type="null"/>
<!-- @deprecated parameter searchEngine has been deprecated and not in use now -->
<argument name="searchEngine" xsi:type="null"/>
<!-- @deprecated parameter temporaryStorageFactory has been deprecated and not in use now -->
<argument name="temporaryStorageFactory" xsi:type="null"/>
</arguments>
<plugin name="add_catalog_permissions_information" type="Magento\ElasticsearchCatalogPermissions\Plugin\AddCategoryPermissionsToCollection"/></type><type name="Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection">
<arguments>
<!-- @deprecated parameter catalogSearchData has been deprecated and not in use now -->
<argument name="catalogSearchData" xsi:type="null"/>
<!-- @deprecated parameter requestBuilder has been deprecated and not in use now -->
<argument name="requestBuilder" xsi:type="null"/>
<!-- @deprecated parameter searchEngine has been deprecated and not in use now -->
<argument name="searchEngine" xsi:type="null"/>
<!-- @deprecated parameter temporaryStorageFactory has been deprecated and not in use now -->
<argument name="temporaryStorageFactory" xsi:type="null"/>
</arguments>
<plugin name="can_show_price_in_layered_navigation_plugin" type="Magento\CatalogPermissions\Plugin\CatalogSearch\Model\ResourceModel\Fulltext\Collection"/><plugin name="loadPreview" type="Magento\CatalogStaging\Model\Plugin\ResourceModel\Product\Fulltext\Collection"/><plugin name="add_catalog_permissions_information" type="Magento\ElasticsearchCatalogPermissions\Plugin\AddCategoryPermissionsToFulltextCollection"/></type><type name="Magento\CatalogSearch\Model\Search\Request\ModifierComposite">
<arguments>
<argument name="modifiers" xsi:type="array">
<item name="search" xsi:type="object">Magento\CatalogSearch\Model\Search\Request\SearchModifier</item>
<item name="partial_search" xsi:type="object">Magento\CatalogSearch\Model\Search\Request\PartialSearchModifier</item>
<item name="match_queries" xsi:type="object">Magento\CatalogSearch\Model\Search\Request\MatchQueriesModifier</item>
</argument>
</arguments>
</type><type name="Magento\CatalogSearch\Model\Search\Request\MatchQueriesModifier">
<arguments>
<argument name="queries" xsi:type="array">
<item name="partial_search" xsi:type="array">
<item name="name" xsi:type="array">
<item name="analyzer" xsi:type="string">prefix_search</item>
</item>
<item name="sku" xsi:type="array">
<item name="analyzer" xsi:type="string">sku_prefix_search</item>
</item>
</item>
</argument>
</arguments>
</type><type name="Magento\Catalog\Block\Widget\Link">
<arguments>
<argument name="urlFinder" xsi:type="object">Magento\CatalogUrlRewrite\Model\Storage\DbStorage</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\Url">
<arguments>
<argument name="urlFinder" xsi:type="object">Magento\CatalogUrlRewrite\Model\Storage\DbStorage</argument>
</arguments>
</type><type name="Magento\UrlRewrite\Model\StorageInterface">
<plugin name="storage_plugin" type="Magento\CatalogUrlRewrite\Model\Category\Plugin\Storage"/>
</type><type name="Magento\CatalogUrlRewrite\Model\Storage\DbStorage">
<plugin name="dynamic_storage_plugin" type="Magento\CatalogUrlRewrite\Plugin\DynamicCategoryRewrites"/>
</type><type name="Magento\CatalogUrlRewrite\Model\Map\UrlRewriteFinder">
<arguments>
<argument name="urlRewriteClassNames" xsi:type="array">
<item name="product" xsi:type="string">Magento\CatalogUrlRewrite\Model\Map\DataProductUrlRewriteDatabaseMap</item>
<item name="category" xsi:type="string">Magento\CatalogUrlRewrite\Model\Map\DataCategoryUrlRewriteDatabaseMap</item>
</argument>
</arguments>
</type><type name="Magento\UrlRewrite\Model\CompositeUrlFinder">
<arguments>
<argument name="children" xsi:type="array">
<item name="catalog" xsi:type="array">
<item name="class" xsi:type="string">Magento\CatalogUrlRewrite\Model\Storage\DbStorage</item>
<item name="sortOrder" xsi:type="number">20</item>
</item>
<item name="default" xsi:type="array">
<item name="class" xsi:type="string">Magento\UrlRewrite\Model\Storage\DbStorage</item>
<item name="sortOrder" xsi:type="number">10</item>
</item></argument>
</arguments>
</type><type name="Magento\UrlRewrite\Model\UrlRewrite">
<arguments>
<argument name="entityToCacheTagMap" xsi:type="array">
<item name="product" xsi:type="const">Magento\Catalog\Model\Product::CACHE_TAG</item>
<item name="category" xsi:type="const">Magento\Catalog\Model\Category::CACHE_TAG</item>
<item name="cms-page" xsi:type="const">Magento\Cms\Model\Page::CACHE_TAG</item></argument>
</arguments>
</type><preference for="Magento\Framework\View\Element\UiComponent\ContainerInterface" type="Magento\Ui\Component\Wrapper\UiComponent"/><preference for="Magento\Framework\View\Element\UiComponent\Control\ActionPoolInterface" type="Magento\Ui\Component\Control\ActionPool"/><preference for="Magento\Framework\Data\Argument\InterpreterInterface" type="Magento\Framework\Data\Argument\Interpreter\Composite"/><preference for="Magento\Framework\Config\ConverterInterface" type="Magento\Framework\View\Element\UiComponent\Config\Converter"/><preference for="Magento\Framework\View\Element\UiComponent\Config\ManagerInterface" type="Magento\Ui\Model\Manager"/><preference for="Magento\Framework\View\Element\UiComponent\ContextInterface" type="Magento\Framework\View\Element\UiComponent\Context"/><preference for="Magento\Framework\View\Element\UiComponent\LayoutInterface" type="Magento\Framework\View\Layout\Generic"/><preference for="Magento\Ui\Api\Data\BookmarkSearchResultsInterface" type="Magento\Ui\Model\BookmarkSearchResults"/><preference for="Magento\Ui\Api\BookmarkRepositoryInterface" type="Magento\Ui\Model\ResourceModel\BookmarkRepository"/><preference for="Magento\Ui\Api\Data\BookmarkInterface" type="Magento\Ui\Model\Bookmark"/><preference for="Magento\Ui\Api\BookmarkManagementInterface" type="Magento\Ui\Model\BookmarkManagement"/><preference for="Magento\Framework\View\TemplateEngine\Xhtml\ResultInterface" type="Magento\Ui\TemplateEngine\Xhtml\Result"/><preference for="Magento\Framework\Api\Search\ReportingInterface" type="Magento\Framework\View\Element\UiComponent\DataProvider\Reporting"/><preference for="Magento\Ui\Config\ConverterInterface" type="Magento\Ui\Config\Converter\Composite"/><preference for="Magento\Ui\Config\Argument\ParserInterface" type="Magento\Ui\Config\Argument\Parser\Composite"/><preference for="Magento\Ui\DataProvider\Modifier\PoolInterface" type="Magento\Ui\DataProvider\Modifier\Pool"/><type name="Magento\Ui\TemplateEngine\Xhtml\Result" shared="false"/><type name="Magento\Framework\View\Element\UiComponent\TemplateAdapter" shared="false"/><type name="Magento\Framework\View\TemplateEngine\Xhtml">
<arguments>
<argument name="compilerFactory" xsi:type="object">Magento\Framework\View\TemplateEngine\Xhtml\UiCompilerFactory</argument>
</arguments>
</type><type name="Magento\Framework\View\Element\UiComponent\ContentType\ContentTypeFactory">
<arguments>
<argument name="types" xsi:type="array">
<item name="html" xsi:type="string">Magento\Framework\View\Element\UiComponent\ContentType\Html</item>
<item name="json" xsi:type="string">Magento\Framework\View\Element\UiComponent\ContentType\Json</item>
<item name="xml" xsi:type="string">Magento\Framework\View\Element\UiComponent\ContentType\Xml</item>
</argument>
</arguments>
</type><type name="Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Text">
<arguments>
<argument name="directivePool" xsi:type="array">
<item name="variable" xsi:type="object">Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Directive\Variable</item>
<item name="callableMethod" xsi:type="object">Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Directive\CallableMethod</item>
</argument>
</arguments>
</type><type name="Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Attribute">
<arguments>
<argument name="directivePool" xsi:type="array">
<item name="variable" xsi:type="object">Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Directive\Variable</item>
<item name="callableMethod" xsi:type="object">Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Directive\CallableMethod</item>
</argument>
</arguments>
</type><virtualType name="Magento\Framework\View\TemplateEngine\Xhtml\UiCompilerFactory" type="Magento\Framework\View\TemplateEngine\Xhtml\CompilerFactory">
<arguments>
<argument name="instanceName" xsi:type="string">Magento\Framework\View\TemplateEngine\Xhtml\UiCompiler</argument>
</arguments>
</virtualType><virtualType name="Magento\Framework\View\TemplateEngine\Xhtml\UiCompiler" type="Magento\Framework\View\TemplateEngine\Xhtml\Compiler" shared="false">
<arguments>
<argument name="compilerText" xsi:type="object">Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Text</argument>
<argument name="compilerAttribute" xsi:type="object">Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Attribute</argument>
<argument name="compilerCdata" xsi:type="object">Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Cdata</argument>
<argument name="compilerComment" xsi:type="object">Magento\Framework\View\TemplateEngine\Xhtml\Compiler\Comment</argument>
<argument name="elementCompilers" xsi:type="array">
<item name="render" xsi:type="object">Magento\Ui\TemplateEngine\Xhtml\Compiler\Element\Render</item>
<item name="content" xsi:type="object">Magento\Ui\TemplateEngine\Xhtml\Compiler\Element\Content</item>
<item name="form" xsi:type="object">Magento\Ui\TemplateEngine\Xhtml\Compiler\Element\Form</item>
</argument>
</arguments>
</virtualType><virtualType name="uiConfigurationDomMerger" type="Magento\Framework\View\Element\UiComponent\Config\DomMerger">
<arguments>
<argument name="schema" xsi:type="string">urn:magento:module:Magento_Ui:etc/ui_configuration.xsd</argument>
<argument name="contextXPath" xsi:type="array">
<item name="ui_context" xsi:type="string">/</item>
</argument>
<argument name="idAttributes" xsi:type="array">
<item name="attribute_name" xsi:type="string">name</item>
</argument>
</arguments>
</virtualType><type name="Magento\Ui\Config\Reader\Definition">
<arguments>
<argument name="fileName" xsi:type="string">etc/definition.xml</argument>
<argument name="converter" xsi:type="object">Magento\Ui\Config\Converter</argument>
<argument name="fileResolver" xsi:type="object">Magento\Ui\Config\Reader\FileResolver</argument>
<argument name="schemaLocator" xsi:type="object">Magento\Ui\Config\Reader\Definition\SchemaLocator</argument>
<argument name="idAttributes" xsi:type="array">
<item name="/components/(.*)/argument" xsi:type="string">name</item>
<item name="/components/(.*)/argument(/item)+" xsi:type="string">name</item>
</argument>
</arguments>
</type><type name="Magento\Ui\Config\Reader\DefinitionMap">
<arguments>
<argument name="fileName" xsi:type="string">etc/definition.map.xml</argument>
<argument name="converter" xsi:type="object">Magento\Ui\Config\Reader\DefinitionMap\Converter</argument>
<argument name="fileResolver" xsi:type="object">Magento\Ui\Config\Reader\FileResolver</argument>
<argument name="schemaLocator" xsi:type="object">Magento\Ui\Config\Reader\DefinitionMap\SchemaLocator</argument>
<argument name="idAttributes" xsi:type="array">
<item name="/components/component" xsi:type="string">name</item>
</argument>
</arguments>
</type><virtualType name="Magento\Ui\Config\Definition\Data" type="Magento\Framework\Config\Data">
<arguments>
<argument name="reader" xsi:type="object">Magento\Ui\Config\Reader\Definition</argument>
<argument name="cacheId" xsi:type="string">ui_component_definition_data_new</argument>
</arguments>
</virtualType><virtualType name="Magento\Ui\Config\DefinitionMap\Data" type="Magento\Framework\Config\Data">
<arguments>
<argument name="reader" xsi:type="object">Magento\Ui\Config\Reader\DefinitionMap</argument>
<argument name="cacheId" xsi:type="string">ui_component_definition_map_data</argument>
</arguments>
</virtualType><type name="Magento\Ui\Config\Converter">
<arguments>
<argument name="reader" xsi:type="object">Magento\Ui\Config\Reader\DefinitionMap</argument>
<argument name="parser" xsi:type="object">Magento\Ui\Config\Argument\Parser\Composite</argument>
</arguments>
</type><type name="Magento\Ui\Config\Reader">
<arguments>
<argument name="converter" xsi:type="object">Magento\Ui\Config\Converter</argument>
<argument name="fileResolver" xsi:type="object">Magento\Ui\Config\Reader\FileResolver</argument>
</arguments>
</type><type name="Magento\Ui\Config\Reader\Dom">
<arguments>
<argument name="schemaLocator" xsi:type="object">Magento\Ui\Config\Reader\SchemaLocator</argument>
</arguments>
</type><type name="Magento\Ui\Model\Manager">
<arguments>
<argument name="domMerger" xsi:type="object">uiConfigurationDomMerger</argument>
</arguments>
</type><virtualType name="uiTemplateDomMerger" type="Magento\Framework\View\Element\UiComponent\Config\DomMerger">
<arguments>
<argument name="schema" xsi:type="string">urn:magento:module:Magento_Ui:etc/ui_template.xsd</argument>
<argument name="contextXPath" xsi:type="array">
<item name="ui_context" xsi:type="string">/</item>
</argument>
<argument name="idAttributes" xsi:type="array">
<item name="attribute_name" xsi:type="string">name</item>
<item name="attribute_id" xsi:type="string">id</item>
</argument>
</arguments>
</virtualType><type name="Magento\Framework\View\Element\UiComponent\Config\Provider\Template">
<arguments>
<argument name="domMerger" xsi:type="object">uiTemplateDomMerger</argument>
</arguments>
</type><virtualType name="uiDefinitionDomMerger" type="Magento\Framework\View\Element\UiComponent\Config\DomMerger">
<arguments>
<argument name="schema" xsi:type="string">urn:magento:module:Magento_Ui:etc/ui_definition.xsd</argument>
<argument name="contextXPath" xsi:type="array">
<item name="ui_context" xsi:type="string">/components</item>
</argument>
<argument name="idAttributes" xsi:type="array">
<item name="attribute_name" xsi:type="string">name</item>
</argument>
<argument name="isMergeSimpleXMLElement" xsi:type="boolean">true</argument>
</arguments>
</virtualType><virtualType name="uiDefinitionFileCollector" type="Magento\Framework\View\Element\UiComponent\Config\FileCollector\AggregatedFileCollector">
<arguments>
<argument name="searchPattern" xsi:type="string">etc/definition.xml</argument>
</arguments>
</virtualType><virtualType name="uiDefinitionReader" type="Magento\Framework\View\Element\UiComponent\Config\Reader">
<arguments>
<argument name="fileCollector" xsi:type="object">uiDefinitionFileCollector</argument>
<argument name="domMerger" xsi:type="object">uiDefinitionDomMerger</argument>
</arguments>
</virtualType><type name="Magento\Framework\View\Element\UiComponent\Config\Provider\Component\Definition">
<arguments>
<argument name="uiReader" xsi:type="object">uiDefinitionReader</argument>
</arguments>
</type><type name="Magento\Framework\View\Element\UiComponent\DataProvider\FilterPool">
<arguments>
<argument name="appliers" xsi:type="array">
<item name="regular" xsi:type="object">Magento\Framework\View\Element\UiComponent\DataProvider\RegularFilter</item>
<item name="fulltext" xsi:type="object">Magento\Framework\View\Element\UiComponent\DataProvider\FulltextFilter</item>
</argument>
</arguments>
</type><type name="Magento\Framework\View\Layout\Pool">
<arguments>
<argument name="types" xsi:type="array">
<item name="generic" xsi:type="array">
<item name="class" xsi:type="string">Magento\Framework\View\Layout\Generic</item>
<item name="template" xsi:type="string">templates/layout/generic</item>
</item>
<item name="tabs" xsi:type="array">
<item name="class" xsi:type="string">Magento\Ui\Component\Layout\Tabs</item>
<item name="template" xsi:type="string">templates/layout/tabs</item>
</item>
</argument>
</arguments>
</type><type name="Magento\Framework\View\Layout\Generic">
<arguments>
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="component" xsi:type="string">Magento_Ui/js/form/components/html</item>
<item name="componentName" xsi:type="string">html_content</item>
<item name="panelComponentName" xsi:type="string">fieldset</item>
</item>
</argument>
</arguments>
</type><type name="Magento\Ui\Component\Layout\Tabs">
<arguments>
<argument name="data" xsi:type="array">
<item name="config" xsi:type="array">
<item name="component" xsi:type="string">Magento_Ui/js/form/components/html</item>
<item name="componentName" xsi:type="string">html_content</item>
</item>
</argument>
</arguments>
</type><virtualType name="arrayArgumentInterpreterProxy" type="Magento\Framework\Data\Argument\InterpreterInterface\Proxy">
<arguments>
<argument name="instanceName" xsi:type="string">Magento\Framework\Data\Argument\Interpreter\ArrayType</argument>
</arguments>
</virtualType><virtualType name="configurableObjectArgumentInterpreterProxy" type="Magento\Framework\Data\Argument\InterpreterInterface\Proxy">
<arguments>
<argument name="instanceName" xsi:type="string">Magento\Framework\View\Element\UiComponent\Argument\Interpreter\ConfigurableObject</argument>
</arguments>
</virtualType><type name="Magento\Framework\View\Element\UiComponent\Config\FileCollector\AggregatedFileCollector">
<arguments>
<argument name="collectorAggregated" xsi:type="object">uiComponentAggregatedCollector</argument>
</arguments>
</type><virtualType name="uiComponentAggregatedCollector" type="Magento\Framework\View\Layout\File\Collector\Aggregated">
<arguments>
<argument name="baseFiles" xsi:type="object">uiComponentAggregatedSourceBaseSorted</argument>
<argument name="themeFiles" xsi:type="object">uiComponentAggregatedSourceThemeSorted</argument>
<argument name="overrideBaseFiles" xsi:type="object">uiComponentAggregatedSourceOverrideBaseSorted</argument>
<argument name="overrideThemeFiles" xsi:type="object">uiComponentAggregatedSourceOverrideThemeSorted</argument>
</arguments>
</virtualType><virtualType name="uiComponentAggregatedSourceBase" type="Magento\Framework\View\File\Collector\Base">
<arguments>
<argument name="subDir" xsi:type="string">ui_component</argument>
</arguments>
</virtualType><virtualType shared="false" name="uiComponentAggregatedSourceBaseFiltered" type="Magento\Framework\View\File\Collector\Decorator\ModuleOutput">
<arguments>
<argument name="subject" xsi:type="object">uiComponentAggregatedSourceBase</argument>
</arguments>
</virtualType><virtualType name="uiComponentAggregatedSourceBaseSorted" type="Magento\Framework\View\File\Collector\Decorator\ModuleDependency">
<arguments>
<argument name="subject" xsi:type="object">uiComponentAggregatedSourceBaseFiltered</argument>
</arguments>
</virtualType><virtualType name="uiComponentAggregatedSourceTheme" type="Magento\Framework\View\File\Collector\ThemeModular">
<arguments>
<argument name="subDir" xsi:type="string">ui_component</argument>
</arguments>
</virtualType><virtualType name="uiComponentAggregatedSourceThemeFiltered" type="Magento\Framework\View\File\Collector\Decorator\ModuleOutput">
<arguments>
<argument name="subject" xsi:type="object">uiComponentAggregatedSourceTheme</argument>
</arguments>
</virtualType><virtualType name="uiComponentAggregatedSourceThemeSorted" type="Magento\Framework\View\File\Collector\Decorator\ModuleDependency">
<arguments>
<argument name="subject" xsi:type="object">uiComponentAggregatedSourceThemeFiltered</argument>
</arguments>
</virtualType><virtualType name="uiComponentAggregatedSourceOverrideBase" type="Magento\Framework\View\File\Collector\Override\Base">
<arguments>
<argument name="subDir" xsi:type="string">layout/override/base</argument>
</arguments>
</virtualType><virtualType name="uiComponentAggregatedSourceOverrideBaseFiltered" type="Magento\Framework\View\File\Collector\Decorator\ModuleOutput">
<arguments>
<argument name="subject" xsi:type="object">uiComponentAggregatedSourceOverrideBase</argument>
</arguments>
</virtualType><virtualType name="uiComponentAggregatedSourceOverrideBaseSorted" type="Magento\Framework\View\File\Collector\Decorator\ModuleDependency">
<arguments>
<argument name="subject" xsi:type="object">uiComponentAggregatedSourceOverrideBaseFiltered</argument>
</arguments>
</virtualType><virtualType name="uiComponentAggregatedSourceOverrideTheme" type="Magento\Framework\View\File\Collector\Override\ThemeModular">
<arguments>
<argument name="subDir" xsi:type="string">layout/override/theme</argument>
</arguments>
</virtualType><virtualType name="uiComponentAggregatedSourceOverrideThemeFiltered" type="Magento\Framework\View\File\Collector\Decorator\ModuleOutput">
<arguments>
<argument name="subject" xsi:type="object">uiComponentAggregatedSourceOverrideTheme</argument>
</arguments>
</virtualType><virtualType name="uiComponentAggregatedSourceOverrideThemeSorted" type="Magento\Framework\View\File\Collector\Decorator\ModuleDependency">
<arguments>
<argument name="subject" xsi:type="object">uiComponentAggregatedSourceOverrideThemeFiltered</argument>
</arguments>
</virtualType><virtualType name="uiComponentConfigFactory" type="Magento\Framework\Config\DataInterfaceFactory">
<arguments>
<argument xsi:type="string" name="instanceName">Magento\Ui\Config\Data</argument>
</arguments>
</virtualType><type name="Magento\Framework\View\Layout\Reader\UiComponent">
<arguments>
<argument name="uiConfigFactory" xsi:type="object">uiComponentConfigFactory</argument>
</arguments>
</type><virtualType name="uiComponentMapFactory" type="Magento\Framework\Config\DataInterfaceFactory">
<arguments>
<argument xsi:type="string" name="instanceName">Magento\Ui\Config\Data</argument>
</arguments>
</virtualType><type name="Magento\Framework\View\Element\UiComponentFactory">
<arguments>
<argument name="componentChildFactories" xsi:type="array">
<item name="Magento\Ui\Component\HtmlContent" xsi:type="object">Magento\Framework\View\Element\UiComponent\Factory\HtmlContentFactory\Proxy</item>
</argument>
<argument name="configFactory" xsi:type="object">uiComponentConfigFactory</argument>
<argument name="definitionData" xsi:type="object">Magento\Ui\Config\Reader\Definition\Data</argument>
<argument name="componentManager" xsi:type="object">Magento\Ui\Model\Manager\Proxy</argument>
</arguments>
</type><type name="Magento\Ui\Config\Argument\Parser\ArrayType">
<arguments>
<argument name="itemParser" xsi:type="object">Magento\Ui\Config\Argument\Parser\Composite\Proxy</argument>
</arguments>
</type><type name="Magento\Ui\Config\Argument\Parser\ConfigurableObjectType">
<arguments>
<argument name="argumentParser" xsi:type="object">Magento\Ui\Config\Argument\Parser\Composite\Proxy</argument>
</arguments>
</type><type name="Magento\Ui\Config\Argument\Parser\Composite">
<arguments>
<argument name="parsers" xsi:type="array">
<item name="array" xsi:type="object">Magento\Ui\Config\Argument\Parser\ArrayType</item>
<item name="configurableObject" xsi:type="object">Magento\Ui\Config\Argument\Parser\ConfigurableObjectType</item>
<item name="xpath" xsi:type="object">Magento\Ui\Config\Argument\Parser\XpathType</item>
<item name="converter" xsi:type="object">Magento\Ui\Config\Argument\Parser\ConverterType</item>
</argument>
<argument name="discriminator" xsi:type="string">xsi:type</argument>
</arguments>
</type><virtualType name="Magento\Ui\Config\Converter\Item\Proxy" type="Magento\Ui\Config\ConverterInterface\Proxy">
<arguments>
<argument name="instanceName" xsi:type="string">Magento\Ui\Config\Converter\Item</argument>
</arguments>
</virtualType><virtualType name="Magento\Ui\Config\Converter\Buttons\Proxy" type="Magento\Ui\Config\ConverterInterface\Proxy">
<arguments>
<argument name="instanceName" xsi:type="string">Magento\Ui\Config\Converter\Buttons</argument>
</arguments>
</virtualType><virtualType name="Magento\Ui\Config\Converter\Actions\Proxy" type="Magento\Ui\Config\ConverterInterface\Proxy">
<arguments>
<argument name="instanceName" xsi:type="string">Magento\Ui\Config\Converter\Actions</argument>
</arguments>
</virtualType><virtualType name="Magento\Ui\Config\Converter\StorageConfig\Proxy" type="Magento\Ui\Config\ConverterInterface\Proxy">
<arguments>
<argument name="instanceName" xsi:type="string">Magento\Ui\Config\Converter\StorageConfig</argument>
</arguments>
</virtualType><type name="Magento\Ui\Config\Converter\Composite">
<arguments>
<argument name="converters" xsi:type="array">
<item name="item" xsi:type="object">Magento\Ui\Config\Converter\Item\Proxy</item>
<item name="url" xsi:type="object">Magento\Ui\Config\Converter\Url</item>
<item name="deps" xsi:type="object">Magento\Ui\Config\Converter\Deps</item>
<item name="buttons" xsi:type="object">Magento\Ui\Config\Converter\Buttons\Proxy</item>
<item name="storageConfig" xsi:type="object">Magento\Ui\Config\Converter\StorageConfig\Proxy</item>
<item name="communication" xsi:type="object">Magento\Ui\Config\Converter\Communication</item>
<item name="htmlContent" xsi:type="object">Magento\Ui\Config\Converter\HtmlContent</item>
<item name="additionalClasses" xsi:type="object">Magento\Ui\Config\Converter\AdditionalClasses</item>
<item name="options" xsi:type="object">Magento\Ui\Config\Converter\Options</item>
<item name="actions" xsi:type="object">Magento\Ui\Config\Converter\Actions\Proxy</item>
<item name="urlTypes" xsi:type="object">Magento\Ui\Config\Converter\Actions\Proxy</item>
</argument>
<argument name="discriminator" xsi:type="string">type</argument>
</arguments>
</type><type name="Magento\Ui\Model\UiComponentTypeResolver">
<arguments>
<argument name="uiComponentTypeMap" xsi:type="array">
<item name="html" xsi:type="string">text/html</item>
<item name="json" xsi:type="string">application/json</item>
<item name="xml" xsi:type="string">application/xml</item>
</argument>
</arguments>
</type><preference for="Magento\CustomerCustomAttributes\Model\Customer\TemporaryFileStorageInterface" type="Magento\CustomerCustomAttributes\Model\Customer\TemporaryFileSessionStorage"/><type name="Magento\CustomerCustomAttributes\Helper\Data">
<arguments>
<argument name="customerAddress" xsi:type="object">Magento\CustomerCustomAttributes\Helper\Address\Proxy</argument>
<argument name="customerCustomer" xsi:type="object">Magento\CustomerCustomAttributes\Helper\Customer\Proxy</argument>
</arguments>
</type><type name="Magento\CustomerCustomAttributes\Model\ResourceModel\Sales\Order">
<arguments>
<argument name="connectionName" xsi:type="string">sales</argument>
</arguments>
</type><type name="Magento\CustomerCustomAttributes\Model\ResourceModel\Sales\Order\Address">
<arguments>
<argument name="connectionName" xsi:type="string">sales</argument>
</arguments>
</type><type name="Magento\Checkout\Block\Checkout\LayoutProcessor">
<arguments>
<argument name="options" xsi:type="object">Magento\CustomerCustomAttributes\Model\Options</argument>
</arguments>
</type><type name="Magento\Sales\Block\Adminhtml\Order\Create\Form\Address">
<arguments>
<argument name="options" xsi:type="object">Magento\CustomerCustomAttributes\Model\Options</argument>
</arguments>
</type><type name="Magento\Quote\Model\Quote\Address\ToOrderAddress">
<plugin name="convertQuoteAddressToOrderAddress" type="Magento\CustomerCustomAttributes\Model\Plugin\ConvertQuoteAddressToOrderAddress"/>
<plugin name="gift_registry_quote_address_to_order_address" type="Magento\GiftRegistry\Model\Plugin\ConvertQuoteAddressToOrderAddress"/></type><type name="Magento\Customer\Block\Widget\Name">
<plugin name="formatPrefixSuffixOptions" type="Magento\CustomerCustomAttributes\Plugin\FormatPrefixSuffixOptions"/>
</type><type name="Magento\Customer\Model\Address">
<plugin name="updateDataCustomerAddress" type="Magento\CustomerCustomAttributes\Model\Plugin\AddCustomAttributesToCustomerAddress"/>
</type><virtualType name="OrderAddressRelationsComposite" type="Magento\Framework\Model\ResourceModel\Db\VersionControl\RelationComposite">
<arguments>
<argument name="relationProcessors" xsi:type="array">
<item name="save_customer_custom_attributes" xsi:type="object">Magento\CustomerCustomAttributes\Model\ResourceModel\Sales\Address\Relation</item>
</argument>
</arguments>
</virtualType><type name="Magento\Sales\Model\ResourceModel\Order\Address">
<arguments>
<argument name="entityRelationComposite" xsi:type="object">OrderAddressRelationsComposite</argument>
</arguments>
</type><type name="Magento\Framework\Webapi\ServiceInputProcessor">
<arguments>
<argument name="customAttributePreprocessors" xsi:type="array">
<item name="file_processor" xsi:type="object">Magento\CustomerCustomAttributes\Model\Customer\Address\Attributes\Preprocessor\File</item>
<item name="multiselect_processor" xsi:type="object">Magento\CustomerCustomAttributes\Model\Customer\Address\Attributes\Preprocessor\Multiselect</item>
</argument>
</arguments>
</type><type name="Magento\CustomerCustomAttributes\Block\Checkout\LayoutProcessor">
<arguments>
<argument name="merger" xsi:type="object">Magento\CustomerCustomAttributes\Block\Checkout\AttributeMerger</argument>
</arguments>
</type><type name="Magento\CustomAttributeManagement\Block\Form">
<plugin name="set_customer_custom_attribute_for_company" type="Magento\CustomerCustomAttributes\Plugin\Customer\Block\Form\CustomerCustomAttributePlugin"/>
</type><type name="Magento\Checkout\Api\PaymentInformationManagementInterface">
<plugin name="process_billing_custom_customer_attributes" type="Magento\CustomerCustomAttributes\Model\Plugin\ProcessCustomerBillingAddressCustomAttributes"/>
<plugin name="validate-agreements" type="Magento\CheckoutAgreements\Model\Checkout\Plugin\Validation"/><plugin name="disable-place-order" type="Magento\CheckoutStaging\Plugin\PaymentInformationManagementPlugin"/><plugin name="ProcessPaymentVaultInformationManagement" type="Magento\Vault\Plugin\PaymentVaultInformationManagement"/><plugin name="AdyenPaymentInformationResetOrderId" type="Adyen\Payment\Plugin\PaymentInformationResetOrderId" sortOrder="10"/></type><type name="Magento\Checkout\Api\ShippingInformationManagementInterface">
<plugin name="process_shipping_custom_customer_attributes" type="Magento\CustomerCustomAttributes\Model\Plugin\ProcessCustomerShippingAddressCustomAttributes"/>
<plugin name="gift_registry_save_address" type="Magento\GiftRegistry\Model\Plugin\SaveAddress"/></type><type name="Magento\Checkout\Api\GuestPaymentInformationManagementInterface">
<plugin name="process_billing_custom_guest_attributes" type="Magento\CustomerCustomAttributes\Model\Plugin\ProcessGuestBillingAddressCustomAttributes"/>
<plugin name="validate-guest-agreements" type="Magento\CheckoutAgreements\Model\Checkout\Plugin\GuestValidation"/><plugin name="disable-guest-place-order" type="Magento\CheckoutStaging\Plugin\GuestPaymentInformationManagementPlugin"/><plugin name="GuestAdyenPaymentInformationResetOrderId" type="Adyen\Payment\Plugin\GuestPaymentInformationResetOrderId" sortOrder="10"/></type><type name="Magento\Checkout\Api\GuestShippingInformationManagementInterface">
<plugin name="process_shipping_custom_guest_attributes" type="Magento\CustomerCustomAttributes\Model\Plugin\ProcessGuestShippingAddressCustomAttributes"/>
</type><type name="Magento\CustomerCustomAttributes\Model\CustomerAddressCustomAttributesProcessor">
<arguments>
<argument name="processors" xsi:type="array">
<item name="array_type_of_value" xsi:type="object">
Magento\CustomerCustomAttributes\Model\Customer\Address\Attributes\Processors\ArrayTypeOfValue
</item>
</argument>
</arguments>
</type><virtualType name="CustomerFileAttribute" type="Magento\CustomerCustomAttributes\ViewModel\FileAttribute">
<arguments>
<argument name="uploadUrl" xsi:type="string">customer_custom_attributes/customer_file/upload</argument>
<argument name="entityType" xsi:type="string">customer</argument>
<argument name="downloadUrl" xsi:type="string">customer_custom_attributes/index/viewfile</argument>
</arguments>
</virtualType><virtualType name="AddressFileAttribute" type="Magento\CustomerCustomAttributes\ViewModel\FileAttribute">
<arguments>
<argument name="uploadUrl" xsi:type="string">customer_custom_attributes/address_file/upload</argument>
<argument name="entityType" xsi:type="string">customer_address</argument>
<argument name="downloadUrl" xsi:type="string">customer_custom_attributes/address_file/viewfile</argument>
</arguments>
</virtualType><virtualType name="CustomerFileDownload" type="Magento\CustomerCustomAttributes\Model\Customer\FileDownload">
<arguments>
<argument name="entityType" xsi:type="string">customer</argument>
</arguments>
</virtualType><virtualType name="AddressFileDownload" type="Magento\CustomerCustomAttributes\Model\Customer\FileDownload">
<arguments>
<argument name="entityType" xsi:type="string">customer_address</argument>
</arguments>
</virtualType><type name="Magento\CustomerCustomAttributes\Controller\Index\Viewfile">
<arguments>
<argument name="fileDownload" xsi:type="object">CustomerFileDownload</argument>
</arguments>
</type><type name="Magento\CustomerCustomAttributes\Controller\Address\File\Viewfile">
<arguments>
<argument name="fileDownload" xsi:type="object">AddressFileDownload</argument>
</arguments>
</type><type name="Magento\CustomerCustomAttributes\Model\Customer\TemporaryFileSessionStorage">
<arguments>
<argument name="session" xsi:type="object">Magento\Customer\Model\Session\Proxy</argument>
</arguments>
</type><preference for="\Magento\Msrp\Api\Data\ProductRender\MsrpPriceInfoInterface" type="\Magento\Msrp\Model\ProductRender\MsrpPriceInfo"/><preference for="\Magento\Msrp\Pricing\MsrpPriceCalculatorInterface" type="\Magento\Msrp\Pricing\MsrpPriceCalculator"/><type name="Magento\Msrp\Model\Product\Options" shared="true"/><type name="Magento\Msrp\Helper\Data" shared="true">
<arguments>
<argument name="productOptions" xsi:type="object">Magento\Msrp\Model\Product\Options\Proxy</argument>
</arguments>
</type><preference for="Magento\SalesRule\Api\RuleRepositoryInterface" type="Magento\SalesRule\Model\RuleRepository"/><preference for="Magento\SalesRule\Api\Data\RuleInterface" type="Magento\SalesRule\Model\Data\Rule"/><preference for="Magento\SalesRule\Api\Data\ConditionInterface" type="Magento\SalesRule\Model\Data\Condition"/><preference for="Magento\SalesRule\Api\Data\RuleSearchResultInterface" type="Magento\Framework\Api\SearchResults"/><preference for="Magento\SalesRule\Api\Data\RuleLabelInterface" type="Magento\SalesRule\Model\Data\RuleLabel"/><preference for="Magento\SalesRule\Api\Data\CouponInterface" type="Magento\SalesRule\Model\Coupon"/><preference for="Magento\SalesRule\Api\CouponRepositoryInterface" type="Magento\SalesRule\Model\CouponRepository"/><preference for="Magento\SalesRule\Model\Spi\CouponResourceInterface" type="Magento\SalesRule\Model\ResourceModel\Coupon"/><preference for="Magento\SalesRule\Api\Data\CouponSearchResultInterface" type="Magento\Framework\Api\SearchResults"/><preference for="Magento\SalesRule\Api\Data\CouponGenerationSpecInterface" type="Magento\SalesRule\Model\Data\CouponGenerationSpec"/><preference for="Magento\SalesRule\Api\Data\CouponMassDeleteResultInterface" type="Magento\SalesRule\Model\Data\CouponMassDeleteResult"/><preference for="Magento\SalesRule\Api\CouponManagementInterface" type="Magento\SalesRule\Model\Service\CouponManagementService"/><preference for="Magento\SalesRule\Api\Data\RuleDiscountInterface" type="Magento\SalesRule\Model\Data\RuleDiscount"/><preference for="Magento\SalesRule\Api\Data\DiscountDataInterface" type="Magento\SalesRule\Model\Data\DiscountData"/><preference for="Magento\SalesRule\Model\Spi\RuleQuoteRecollectTotalsInterface" type="Magento\SalesRule\Model\Rule\RuleQuoteRecollectTotalsOnDemand"/><preference for="Magento\SalesRule\Model\Spi\QuoteResetAppliedRulesInterface" type="Magento\SalesRule\Model\Rule\QuoteResetAppliedRules"/><type name="Magento\SalesRule\Helper\Coupon">
<arguments>
<argument name="couponParameters" xsi:type="array">
<item name="separator" xsi:type="string">-</item>
<item name="charset" xsi:type="array">
<item name="alphanum" xsi:type="string">ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789</item>
<item name="alpha" xsi:type="string">ABCDEFGHIJKLMNOPQRSTUVWXYZ</item>
<item name="num" xsi:type="string">0123456789</item>
</item>
</argument>
</arguments>
</type><type name="Magento\SalesRule\Model\ResourceModel\Rule\Collection" shared="false"><plugin name="aroundSetValidationFilter" type="Magento\AdvancedSalesRule\Model\ResourceModel\Plugin\Rule\Collection" sortOrder="500"/><plugin name="beforeSetValidationFilter" type="Magento\SalesRuleStaging\Model\ResourceModel\Plugin\Rule\Collection" sortOrder="100"/><arguments>
<argument name="versionManager" xsi:type="object">Magento\Staging\Model\VersionManager\Proxy</argument>
</arguments></type><type name="Magento\Quote\Model\Quote\Config">
<plugin name="append_sales_rule_keys_to_quote" type="Magento\SalesRule\Model\Plugin\QuoteConfigProductAttributes"/>
<plugin name="avatax_quote_model_quote_config" type="ClassyLlama\AvaTax\Plugin\Quote\Model\Quote\Config"/></type><type name="Magento\SalesRule\Model\ResourceModel\Report\Rule">
<arguments>
<argument name="connectionName" xsi:type="string">sales</argument>
</arguments>
</type><type name="Magento\SalesRule\Model\ResourceModel\Report\Rule\Createdat">
<arguments>
<argument name="connectionName" xsi:type="string">sales</argument>
</arguments>
</type><type name="Magento\SalesRule\Model\ResourceModel\Report\Rule\Updatedat">
<arguments>
<argument name="connectionName" xsi:type="string">sales</argument>
</arguments>
</type><type name="Magento\SalesRule\Model\Rule\Condition\Address">
<arguments>
<argument name="data" xsi:type="array">
<item name="form_name" xsi:type="string">sales_rule_form</item>
</argument>
</arguments>
</type><type name="Magento\SalesRule\Model\Rule\Condition\Combine">
<arguments>
<argument name="data" xsi:type="array">
<item name="form_name" xsi:type="string">sales_rule_form</item>
</argument>
</arguments>
</type><type name="Magento\SalesRule\Model\Rule\Condition\Product">
<arguments>
<argument name="data" xsi:type="array">
<item name="form_name" xsi:type="string">sales_rule_form</item>
</argument>
</arguments>
<plugin name="apply_rule_on_configurable_children" type="Magento\ConfigurableProduct\Plugin\SalesRule\Model\Rule\Condition\Product"/></type><type name="Magento\SalesRule\Model\Rule\Condition\Product\Combine">
<arguments>
<argument name="data" xsi:type="array">
<item name="form_name" xsi:type="string">sales_rule_form</item>
</argument>
</arguments>
</type><type name="Magento\SalesRule\Model\Rule\Condition\Product\Found">
<arguments>
<argument name="data" xsi:type="array">
<item name="form_name" xsi:type="string">sales_rule_form</item>
</argument>
</arguments>
</type><type name="Magento\SalesRule\Model\Rule\Condition\Product\Subselect">
<arguments>
<argument name="data" xsi:type="array">
<item name="form_name" xsi:type="string">sales_rule_form</item>
</argument>
</arguments>
</type><type name="Magento\SalesRule\Model\Rule\Customer">
<arguments>
<argument name="data" xsi:type="array">
<item name="form_name" xsi:type="string">sales_rule_form</item>
</argument>
</arguments>
</type><virtualType name="Magento\SalesRule\Model\ResourceModel\Rule\AssociatedEntityMap" type="Magento\Framework\DataObject">
<arguments>
<argument name="data" xsi:type="array">
<item name="website" xsi:type="array">
<item name="associations_table" xsi:type="string">salesrule_website</item>
<item name="rule_id_field" xsi:type="string">row_id</item>
<item name="entity_id_field" xsi:type="string">website_id</item>
</item>
<item name="customer_group" xsi:type="array">
<item name="associations_table" xsi:type="string">salesrule_customer_group</item>
<item name="rule_id_field" xsi:type="string">row_id</item>
<item name="entity_id_field" xsi:type="string">customer_group_id</item>
</item>
</argument>
</arguments>
</virtualType><type name="Magento\Quote\Model\Cart\CartTotalRepository">
<plugin name="coupon_label_plugin" type="Magento\SalesRule\Plugin\CartTotalRepository"/>
<plugin name="multishipping_shipping_addresses" type="Magento\Multishipping\Model\Cart\CartTotalRepositoryPlugin"/><plugin name="rewardTotal" type="Magento\Reward\Model\Plugin\CartTotalRepository"/><plugin name="avataxCustomsMessages" type="ClassyLlama\AvaTax\Model\Plugin\CartTotalRepository"/></type><type name="Magento\Sales\Model\Service\OrderService">
<plugin name="coupon_uses_decrement_plugin" type="Magento\SalesRule\Plugin\CouponUsagesDecrement"/>
<plugin name="inventory_sales_source_deduction_processor" type="Ampersand\DisableStockReservation\Plugin\SourceDeductionProcessor"/></type><type name="\Magento\Quote\Model\QuoteManagement">
<plugin name="coupon_uses_increment_plugin" type="Magento\SalesRule\Plugin\CouponUsagesIncrement" sortOrder="20"/>
<plugin name="validate_purchase_order_number" type="Magento\OfflinePayments\Plugin\ValidatePurchaseOrderNumber"/></type><preference for="Magento\SalesRule\Model\Spi\CodeLimitManagerInterface" type="Magento\SalesRule\Model\Coupon\CodeLimitManager"/><type name="Magento\SalesRule\Observer\RuleQuoteRecollectTotalsObserver">
<arguments>
<argument name="recollectTotals" xsi:type="object">Magento\SalesRule\Model\Rule\RuleQuoteRecollectTotalsAsync\Proxy</argument>
</arguments>
</type><preference for="Magento\Captcha\Api\CaptchaConfigPostProcessorInterface" type="Magento\Captcha\Model\Filter\CaptchaConfigPostProcessorComposite"/><type name="Magento\Captcha\Model\DefaultModel">
<arguments>
<argument name="session" xsi:type="object">Magento\Customer\Model\Session</argument>
</arguments>
</type><type name="Magento\Captcha\Observer\CheckUserCreateObserver">
<arguments>
<argument name="session" xsi:type="object">Magento\Customer\Model\Session</argument>
</arguments>
</type><type name="Magento\Captcha\Observer\CheckUserForgotPasswordBackendObserver">
<arguments>
<argument name="session" xsi:type="object">Magento\Customer\Model\Session</argument>
</arguments>
</type><type name="Magento\Captcha\Observer\CheckUserLoginObserver">
<arguments>
<argument name="session" xsi:type="object">Magento\Customer\Model\Session</argument>
</arguments>
</type><type name="Magento\Customer\Controller\Ajax\Login">
<plugin name="captcha_validation" type="Magento\Captcha\Model\Customer\Plugin\AjaxLogin" sortOrder="50"/>
</type><type name="Magento\Captcha\Model\Customer\Plugin\AjaxLogin">
<arguments>
<argument name="formIds" xsi:type="array">
<item name="user_login" xsi:type="string">user_login</item>
</argument>
</arguments>
</type><type name="Magento\Checkout\Block\Cart\Sidebar">
<plugin name="login_captcha" type="Magento\Captcha\Model\Cart\ConfigPlugin" sortOrder="50"/>
</type><type name="Magento\Captcha\Model\Filter\CaptchaConfigPostProcessorComposite">
<arguments>
<argument name="processors" xsi:type="array">
<item name="processor" xsi:type="object">Magento\Captcha\Model\Filter\QuoteDataConfigFilter</item>
</argument>
</arguments>
</type><type name="Magento\Captcha\Model\Filter\QuoteDataConfigFilter">
<arguments>
<argument name="filterList" xsi:type="array">
<item name="remote_ip" xsi:type="string">remote_ip</item>
<item name="x_forwarded_for" xsi:type="string">x_forwarded_for</item>
</argument>
</arguments>
</type><type name="Magento\Downloadable\Helper\Download">
<arguments>
<argument name="coreFileStorageDb" xsi:type="object">Magento\MediaStorage\Helper\File\Storage\Database\Proxy</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\CartConfiguration">
<plugin name="Downloadable" type="Magento\Downloadable\Model\Product\CartConfiguration\Plugin\Downloadable"/>
<plugin name="GiftCard" type="Magento\GiftCard\Model\Product\CartConfiguration\Plugin\GiftCard"/><plugin name="configurable_product" type="Magento\ConfigurableProduct\Model\Product\CartConfiguration\Plugin\Configurable" sortOrder="50"/><plugin name="isProductConfigured" type="Magento\GroupedProduct\Model\Product\Cart\Configuration\Plugin\Grouped"/></type><virtualType name="context_for_downloadable" type="Magento\Framework\View\Element\Template\Context">
<arguments>
<argument name="urlBuilder" xsi:type="object">Magento\Framework\Url</argument>
</arguments>
</virtualType><type name="Magento\Downloadable\Block\Sales\Order\Email\Items\Order\Downloadable">
<arguments>
<argument name="context" xsi:type="object">context_for_downloadable</argument>
</arguments>
</type><virtualType name="Magento\Downloadable\Pricing\Price\Pool" type="Magento\Framework\Pricing\Price\Pool">
<arguments>
<argument name="prices" xsi:type="array">
<item name="link_price" xsi:type="string">Magento\Downloadable\Pricing\Price\LinkPrice</item>
<item name="wishlist_configured_price" xsi:type="string">Magento\Wishlist\Pricing\ConfiguredPrice\Downloadable</item></argument>
<argument name="target" xsi:type="object">Magento\Catalog\Pricing\Price\Pool</argument>
</arguments>
</virtualType><virtualType name="Magento\Downloadable\Pricing\Price\Collection" type="Magento\Framework\Pricing\Price\Collection">
<arguments>
<argument name="pool" xsi:type="object">Magento\Downloadable\Pricing\Price\Pool</argument>
</arguments>
</virtualType><type name="Magento\Downloadable\Model\Product\TypeHandler\TypeHandler">
<arguments>
<argument name="handlers" xsi:type="array">
<item name="sample" xsi:type="object">Magento\Downloadable\Model\Product\TypeHandler\Sample</item>
<item name="link" xsi:type="object">Magento\Downloadable\Model\Product\TypeHandler\Link</item>
</argument>
</arguments>
</type><preference for="Magento\Downloadable\Api\LinkRepositoryInterface" type="Magento\Downloadable\Model\LinkRepository"/><preference for="Magento\Downloadable\Api\SampleRepositoryInterface" type="Magento\Downloadable\Model\SampleRepository"/><preference for="Magento\Downloadable\Api\Data\LinkInterface" type="Magento\Downloadable\Model\Link"/><preference for="Magento\Downloadable\Api\Data\SampleInterface" type="Magento\Downloadable\Model\Sample"/><preference for="Magento\Downloadable\Api\Data\File\ContentInterface" type="Magento\Downloadable\Model\File\Content"/><preference for="Magento\Downloadable\Api\Data\File\ContentUploaderInterface" type="Magento\Downloadable\Model\File\ContentUploader"/><preference for="Magento\Downloadable\Model\Product\TypeHandler\TypeHandlerInterface" type="Magento\Downloadable\Model\Product\TypeHandler\TypeHandler"/><preference for="Magento\Downloadable\Api\Data\DownloadableOptionInterface" type="Magento\Downloadable\Model\DownloadableOption"/><preference for="Magento\Downloadable\Api\DomainManagerInterface" type="Magento\Downloadable\Model\DomainManager"/><type name="Magento\Downloadable\Model\ResourceModel\Indexer\Price">
<arguments>
<argument name="tableStrategy" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\TemporaryTableStrategy</argument>
<argument name="connectionName" xsi:type="string">indexer</argument>
</arguments>
</type><preference for="Magento\Staging\Api\Data\UpdateInterface" type="Magento\Staging\Model\Update"/><preference for="Magento\Staging\Api\Data\UpdateSearchResultInterface" type="Magento\Staging\Model\ResourceModel\Update\Collection"/><preference for="Magento\Staging\Api\UpdateRepositoryInterface" type="Magento\Staging\Model\UpdateRepository"/><preference for="Magento\Staging\Model\VersionHistoryInterface" type="Magento\Staging\Model\Update\VersionHistory"/><preference for="Magento\Staging\Block\Adminhtml\Update\Entity\EntityProviderInterface" type="Magento\Staging\Block\Adminhtml\Update\Entity\DefaultEntityProvider"/><preference for="Magento\Framework\Event\ManagerInterface" type="Magento\Staging\Model\Event\Manager\Proxy"/><type name="Magento\Staging\Model\Event\Manager">
<arguments>
<argument name="bannedEvents" xsi:type="array"/>
<argument name="bannedObservers" xsi:type="array"/>
</arguments>
</type><type name="Magento\Staging\Model\Update\Grid\SearchResult">
<arguments>
<argument name="mainTable" xsi:type="string">staging_update</argument>
<argument name="resourceModel" xsi:type="string">Magento\Staging\Model\ResourceModel\Update</argument>
</arguments>
</type><type name="Magento\Framework\DB\Select\SelectRenderer">
<arguments>
<argument name="renderers" xsi:type="array">
<item name="distinct" xsi:type="array">
<item name="renderer" xsi:type="object">Magento\Framework\DB\Select\DistinctRenderer</item>
<item name="sort" xsi:type="string">100</item>
<item name="part" xsi:type="string">distinct</item>
</item>
<item name="columns" xsi:type="array">
<item name="renderer" xsi:type="object">Magento\Framework\DB\Select\ColumnsRenderer</item>
<item name="sort" xsi:type="string">200</item>
<item name="part" xsi:type="string">columns</item>
</item>
<item name="union" xsi:type="array">
<item name="renderer" xsi:type="object">Magento\Framework\DB\Select\UnionRenderer</item>
<item name="sort" xsi:type="string">300</item>
<item name="part" xsi:type="string">union</item>
</item>
<item name="from" xsi:type="array">
<item name="renderer" xsi:type="object">Magento\Staging\Model\Select\FromRenderer</item>
<item name="sort" xsi:type="string">400</item>
<item name="part" xsi:type="string">from</item>
</item>
<item name="where" xsi:type="array">
<item name="renderer" xsi:type="object">Magento\Framework\DB\Select\WhereRenderer</item>
<item name="sort" xsi:type="string">500</item>
<item name="part" xsi:type="string">where</item>
</item>
<item name="group" xsi:type="array">
<item name="renderer" xsi:type="object">Magento\Framework\DB\Select\GroupRenderer</item>
<item name="sort" xsi:type="string">600</item>
<item name="part" xsi:type="string">group</item>
</item>
<item name="having" xsi:type="array">
<item name="renderer" xsi:type="object">Magento\Framework\DB\Select\HavingRenderer</item>
<item name="sort" xsi:type="string">700</item>
<item name="part" xsi:type="string">having</item>
</item>
<item name="order" xsi:type="array">
<item name="renderer" xsi:type="object">Magento\Framework\DB\Select\OrderRenderer</item>
<item name="sort" xsi:type="string">800</item>
<item name="part" xsi:type="string">order</item>
</item>
<item name="limit" xsi:type="array">
<item name="renderer" xsi:type="object">Magento\Framework\DB\Select\LimitRenderer</item>
<item name="sort" xsi:type="string">900</item>
<item name="part" xsi:type="string">limitcount</item>
</item>
<item name="for_update" xsi:type="array">
<item name="renderer" xsi:type="object">Magento\Framework\DB\Select\ForUpdateRenderer</item>
<item name="sort" xsi:type="string">1000</item>
<item name="part" xsi:type="string">forupdate</item>
</item>
</argument>
</arguments>
</type><type name="Magento\Framework\DB\SelectFactory">
<arguments>
<argument name="selectRenderer" xsi:type="object">Magento\Framework\DB\Select\RendererProxy</argument>
<argument name="parts" xsi:type="array">
<item name="disable_staging_preview" xsi:type="boolean">false</item>
</argument>
</arguments>
</type><type name="Magento\Staging\Plugin\Framework\App\FrontController">
<arguments>
<argument name="auth" xsi:type="object">\Magento\Backend\Model\Auth\Proxy</argument>
</arguments>
</type><type name="Magento\Framework\App\FrontControllerInterface">
<plugin name="staging_preview_permissions_check" type="Magento\Staging\Plugin\Framework\App\FrontController"/>
<plugin name="configHash" type="Magento\Deploy\Model\Plugin\ConfigChangeDetector" sortOrder="50"/></type><type name="Magento\Webapi\Controller\Rest">
<plugin name="beforeRestDispatch" type="Magento\Staging\Plugin\RestPlugin"/>
</type><type name="Magento\PageCache\Model\Config">
<plugin name="staging_pagecache_bypass" type="Magento\Staging\Plugin\PageCache\Model\Config"/>
</type><type name="Magento\Store\Model\BaseUrlChecker">
<plugin name="staging_store_baseurl_check_bypass" type="Magento\Staging\Plugin\Store\Model\BaseUrlChecker"/>
</type><type name="Magento\Store\Controller\Store\SwitchAction">
<plugin name="staging_preview_store_switch_fixing" type="Magento\Staging\Plugin\Store\Controller\Store\SwitchAction"/>
</type><virtualType name="Magento\Framework\DB\UnversionedSelectFactory" type="Magento\Framework\DB\SelectFactory">
<arguments>
<argument name="parts" xsi:type="array">
<item name="disable_staging_preview" xsi:type="boolean">true</item>
</argument>
</arguments>
</virtualType><type name="Magento\Framework\DB\FieldDataConverter">
<arguments>
<argument name="selectFactory" xsi:type="object">Magento\Framework\DB\UnversionedSelectFactory</argument>
</arguments>
</type><type name="Magento\Framework\Url\RouteParamsPreprocessorComposite">
<arguments>
<argument name="routeParamsPreprocessors" xsi:type="array">
<item name="staging_preview" xsi:type="object">Magento\Staging\Model\Preview\RouteParamsPreprocessor</item>
</argument>
</arguments>
</type><type name="Magento\Framework\Setup\Declaration\Schema\DataSavior\TableSavior">
<arguments>
<argument name="selectFactory" xsi:type="object">Magento\Framework\DB\UnversionedSelectFactory</argument>
</arguments>
</type><type name="Magento\Framework\Setup\Declaration\Schema\DataSavior\ColumnSavior">
<arguments>
<argument name="selectFactory" xsi:type="object">Magento\Framework\DB\UnversionedSelectFactory</argument>
</arguments>
</type><type name="Magento\Framework\Url\ModifierComposite">
<arguments>
<argument name="modifiers" xsi:type="array">
<item name="staging_preview_base" xsi:type="object">Magento\Staging\Model\Url\BaseUrlModifier</item>
</argument>
</arguments>
</type><type name="Magento\Staging\Block\Adminhtml\Update\Upcoming">
<arguments>
<argument name="aclResourceAction" xsi:type="string">Magento_Staging::staging</argument>
</arguments>
</type><type name="Magento\Framework\EntityManager\OperationPool">
<arguments>
<argument name="operations" xsi:type="array">
<item name="default" xsi:type="array">
<item name="checkIfExists" xsi:type="string">Magento\Framework\EntityManager\Operation\CheckIfExists</item>
<item name="read" xsi:type="string">Magento\Framework\EntityManager\Operation\Read</item>
<item name="create" xsi:type="string">Magento\Framework\EntityManager\Operation\Create</item>
<item name="update" xsi:type="string">Magento\Framework\EntityManager\Operation\Update</item>
<item name="delete" xsi:type="string">Magento\Framework\EntityManager\Operation\Delete</item>
</item>
<item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array">
<item name="read" xsi:type="string">Magento\Framework\EntityManager\Operation\Read</item>
<item name="create" xsi:type="string">Magento\Staging\Model\Operation\Create</item>
<item name="update" xsi:type="string">Magento\Staging\Model\Operation\Update</item>
<item name="delete" xsi:type="string">Magento\Staging\Model\Operation\Delete</item>
</item><item name="Magento\Catalog\Api\Data\CategoryInterface" xsi:type="array">
<item name="create" xsi:type="string">Magento\Staging\Model\Operation\Create</item>
<item name="update" xsi:type="string">Magento\Staging\Model\Operation\Update</item>
<item name="delete" xsi:type="string">Magento\Staging\Model\Operation\Delete</item>
</item><item name="Magento\SalesRule\Api\Data\RuleInterface" xsi:type="array">
<item name="read" xsi:type="string">Magento\Framework\EntityManager\Operation\Read</item>
<item name="create" xsi:type="string">Magento\Staging\Model\Operation\Create</item>
<item name="update" xsi:type="string">Magento\Staging\Model\Operation\Update</item>
<item name="delete" xsi:type="string">Magento\Staging\Model\Operation\Delete</item>
</item><item name="Magento\CatalogRule\Api\Data\RuleInterface" xsi:type="array">
<item name="read" xsi:type="string">Magento\Framework\EntityManager\Operation\Read</item>
<item name="create" xsi:type="string">Magento\CatalogRuleStaging\Model\Operation\Create</item>
<item name="update" xsi:type="string">Magento\Staging\Model\Operation\Update</item>
<item name="delete" xsi:type="string">Magento\Staging\Model\Operation\Delete</item>
</item><item name="Magento\AsynchronousOperations\Api\Data\OperationListInterface" xsi:type="array">
<item name="checkIfExists" xsi:type="string">Magento\AsynchronousOperations\Model\ResourceModel\Operation\CheckIfExists</item>
<item name="create" xsi:type="string">Magento\AsynchronousOperations\Model\ResourceModel\Operation\Create</item>
</item><item name="Magento\Cms\Api\Data\PageInterface" xsi:type="array">
<item name="create" xsi:type="string">Magento\Staging\Model\Operation\Create</item>
<item name="update" xsi:type="string">Magento\Staging\Model\Operation\Update</item>
<item name="delete" xsi:type="string">Magento\Staging\Model\Operation\Delete</item>
</item><item name="Magento\Cms\Api\Data\BlockInterface" xsi:type="array">
<item name="create" xsi:type="string">Magento\Staging\Model\Operation\Create</item>
<item name="update" xsi:type="string">Magento\Staging\Model\Operation\Update</item>
<item name="delete" xsi:type="string">Magento\Staging\Model\Operation\Delete</item>
</item><item name="Magento\Bundle\Api\Data\OptionInterface" xsi:type="array">
<item name="update" xsi:type="string">Magento\BundleStaging\Model\EntityManager\Operation\Update</item>
<item name="updateCheckIfExists" xsi:type="string">Magento\BundleStaging\Model\EntityManager\Operation\Update\CheckIfExists</item>
<item name="updateUpdate" xsi:type="string">Magento\Framework\EntityManager\Operation\Update</item>
<item name="updateCreate" xsi:type="string">Magento\BundleStaging\Model\EntityManager\Operation\Update\Create</item>
</item><item name="Magento\Bundle\Model\Selection" xsi:type="array">
<item name="update" xsi:type="string">Magento\BundleStaging\Model\EntityManager\Operation\Update</item>
<item name="updateCheckIfExists" xsi:type="string">Magento\BundleStaging\Model\EntityManager\Operation\Update\CheckIfExists</item>
<item name="updateUpdate" xsi:type="string">Magento\Framework\EntityManager\Operation\Update</item>
<item name="updateCreate" xsi:type="string">Magento\BundleStaging\Model\EntityManager\Operation\Update\Create</item>
</item></argument>
</arguments>
</type><type name="Magento\Staging\Model\Operation\Update\TemporaryUpdateProcessorPool">
<arguments>
<argument name="processors" xsi:type="array">
<item name="default" xsi:type="string">Magento\Staging\Model\Operation\Update\DefaultTemporaryUpdateProcessor</item>
<item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="string">Magento\CatalogStaging\Model\Product\Operation\Update\TemporaryUpdateProcessor</item><item name="Magento\SalesRule\Api\Data\RuleInterface" xsi:type="string">Magento\SalesRuleStaging\Model\Operation\Update\TemporaryUpdateProcessor</item></argument>
</arguments>
</type><type name="Magento\Staging\Model\Operation\Update\PermanentUpdateProcessorPool">
<arguments>
<argument name="processors" xsi:type="array">
<item name="default" xsi:type="string">Magento\Staging\Model\Operation\Update\DefaultPermanentUpdateProcessor</item>
</argument>
</arguments>
</type><type name="Magento\Staging\Model\Entity\Update\Action\TransactionPool">
<arguments>
<argument name="transactionPool" xsi:type="array">
<item name="update_action_delete_save" xsi:type="string">Magento\Staging\Model\Entity\Update\Action\Delete\SaveAction</item>
<item name="update_action_save_save" xsi:type="string">Magento\Staging\Model\Entity\Update\Action\Save\SaveAction</item>
</argument>
</arguments>
</type><type name="Magento\Staging\Model\Entity\Builder">
<arguments>
<argument name="strategies" xsi:type="array">
<item name="default" xsi:type="string">Magento\Staging\Model\Entity\Builder\DefaultBuilder</item>
<item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="string">Magento\CatalogStaging\Model\Product\Builder</item><item name="Magento\Catalog\Api\Data\CategoryInterface" xsi:type="string">Magento\CatalogStaging\Model\Category\Builder</item></argument>
</arguments>
</type><type name="Magento\Framework\View\Element\Template\Context">
<arguments>
<argument name="cacheState" xsi:type="object">Magento\Staging\Model\CacheState</argument>
</arguments>
</type><type name="Magento\Staging\Model\CacheState">
<arguments>
<argument name="cacheTypes" xsi:type="array">
<item name="block_html" xsi:type="boolean">false</item>
</argument>
</arguments>
</type><type name="Magento\Framework\Setup\Declaration\Schema\Operations\AddColumn">
<arguments>
<argument name="triggers" xsi:type="array">
<item name="migrateDataFromSameTable" xsi:type="object">Magento\Framework\Setup\Declaration\Schema\Db\MySQL\DDL\Triggers\MigrateDataFrom</item>
<item name="migrateSequneceColumnData" xsi:type="object">Magento\Staging\Setup\Declaration\Schema\Db\MySQL\DDL\Triggers\MigrateSequenceColumnData</item>
</argument>
</arguments>
</type><type name="Magento\Framework\Setup\Declaration\Schema\Operations\CreateTable">
<arguments>
<argument name="columnTriggers" xsi:type="array">
<item name="migrateSequneceColumnData" xsi:type="object">Magento\Staging\Setup\Declaration\Schema\Db\MySQL\DDL\Triggers\MigrateSequenceColumnData</item>
</argument>
</arguments>
</type><type name="Magento\Staging\Model\Preview\RouteParamsPreprocessor">
<arguments>
<argument name="versionManager" xsi:type="object">Magento\Staging\Model\VersionManager\Proxy</argument>
<argument name="requestSigner" xsi:type="object">\Magento\Staging\Model\Preview\RequestSigner\Proxy</argument>
</arguments>
</type><type name="Magento\Staging\Plugin\Store\Model\StoreResolver">
<arguments>
<argument name="versionManager" xsi:type="object">Magento\Staging\Model\VersionManager\Proxy</argument>
</arguments>
</type><type name="Magento\Staging\Model\UpdateRepository">
<arguments>
<argument name="periodSyncScheduler" xsi:type="object">Magento\Staging\Model\Entity\PeriodSync\Scheduler\Proxy</argument>
</arguments>
</type><preference for="Magento\GiftCard\Api\Data\GiftcardAmountInterface" type="Magento\GiftCard\Model\Giftcard\Amount"/><preference for="Magento\GiftCard\Api\Data\GiftCardOptionInterface" type="Magento\GiftCard\Model\Giftcard\Option"/><virtualType name="Magento\GiftCard\Model\ResourceModel\Helper" type="Magento\Eav\Model\ResourceModel\Helper">
<arguments>
<argument name="modulePrefix" xsi:type="string">Eav</argument>
</arguments>
</virtualType><type name="Magento\GiftCard\Model\Source\Open">
<arguments>
<argument name="resourceHelper" xsi:type="object">Magento\GiftCard\Model\ResourceModel\Helper</argument>
</arguments>
</type><type name="Magento\Wishlist\Block\Catalog\Product\View\AddTo\Wishlist">
<plugin name="getWishlistOptions" type="Magento\GiftCard\Block\Product\View\Plugin"/>
</type><type name="Magento\Wishlist\Block\Item\Configure">
<plugin name="getWishlistOptions" type="Magento\GiftCard\Block\Product\View\Plugin"/>
</type><type name="Magento\GiftRegistry\Helper\Data">
<plugin name="getWishlistOptions" type="Magento\GiftCard\Helper\GiftRegistry\Plugin"/>
</type><type name="Magento\GiftCard\Helper\Data">
<arguments>
<argument name="layout" xsi:type="object">Magento\Framework\View\LayoutInterface\Proxy</argument>
</arguments>
</type><virtualType name="Magento\GiftCard\Pricing\Price\Collection" type="Magento\Framework\Pricing\Price\Collection">
<arguments>
<argument name="pool" xsi:type="object">Magento\GiftCard\Pricing\Price\Pool</argument>
</arguments>
</virtualType><virtualType name="Magento\GiftCard\Pricing\Price\Pool" type="Magento\Framework\Pricing\Price\Pool">
<arguments>
<argument name="prices" xsi:type="array">
<item name="regular_price" xsi:type="string">Magento\Catalog\Pricing\Price\RegularPrice</item>
<item name="final_price" xsi:type="string">Magento\GiftCard\Pricing\Price\FinalPrice</item>
<item name="tier_price" xsi:type="string">Magento\Catalog\Pricing\Price\TierPrice</item>
<item name="special_price" xsi:type="string">Magento\Catalog\Pricing\Price\SpecialPrice</item>
<item name="msrp_price" xsi:type="string">Magento\Msrp\Pricing\Price\MsrpPrice</item>
<item name="custom_option_price" xsi:type="string">Magento\Catalog\Pricing\Price\CustomOptionPrice</item>
<item name="base_price" xsi:type="string">Magento\Catalog\Pricing\Price\BasePrice</item>
<item name="configured_price" xsi:type="string">Magento\GiftCard\Pricing\Price\ConfiguredPrice</item>
<item name="configured_regular_price" xsi:type="string">Magento\Bundle\Pricing\Price\ConfiguredRegularPrice</item>
<item name="bundle_option" xsi:type="string">Magento\Bundle\Pricing\Price\BundleOptionPrice</item>
<item name="bundle_option_regular_price" xsi:type="string">Magento\Bundle\Pricing\Price\BundleOptionRegularPrice</item>
<item name="wishlist_configured_price" xsi:type="string">Magento\GiftCard\Pricing\Price\ConfiguredPrice</item>
</argument>
</arguments>
</virtualType><type name="Magento\SalesRule\Model\Validator\Pool">
<arguments>
<argument name="validators" xsi:type="array">
<item name="discount" xsi:type="array">
<item name="giftcard_validator" xsi:type="object">Magento\GiftCard\Model\Validator\Discount</item>
</item>
</argument>
</arguments>
</type><type name="Magento\GiftCard\Model\ResourceModel\Indexer\Price">
<arguments>
<argument name="tableStrategy" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\TemporaryTableStrategy</argument>
<argument name="connectionName" xsi:type="string">indexer</argument>
</arguments>
</type><preference for="Magento\Wishlist\Model\AuthenticationStateInterface" type="Magento\PersistentHistory\Model\WishlistAuthenticationState"/><preference for="Magento\Wishlist\Controller\WishlistProviderInterface" type="Magento\Wishlist\Controller\WishlistProvider"/><type name="Magento\Wishlist\Model\ResourceModel\Item\Collection\Grid">
<arguments>
<argument name="resource" xsi:type="object">Magento\Wishlist\Model\ResourceModel\Item</argument>
</arguments>
</type><type name="Magento\Wishlist\Helper\Data">
<arguments>
<argument name="customerSession" xsi:type="object">Magento\Customer\Model\Session\Proxy</argument>
</arguments>
</type><type name="Magento\Wishlist\Controller\AbstractIndex">
<plugin name="authentication" type="Magento\Wishlist\Controller\Index\Plugin" sortOrder="10"/>
</type><virtualType name="Magento\Wishlist\Block\Context" type="Magento\Catalog\Block\Product\Context">
<arguments>
<argument name="wishlistHelper" xsi:type="object">Magento\Wishlist\Helper\Rss</argument>
</arguments>
</virtualType><virtualType name="Magento\ConfigurableProduct\Pricing\Price\Pool" type="Magento\Framework\Pricing\Price\Pool">
<arguments>
<argument name="prices" xsi:type="array">
<item name="wishlist_configured_price" xsi:type="string">Magento\Wishlist\Pricing\ConfiguredPrice\ConfigurableProduct</item>
<item name="regular_price" xsi:type="string">Magento\ConfigurableProduct\Pricing\Price\ConfigurableRegularPrice</item><item name="final_price" xsi:type="string">Magento\ConfigurableProduct\Pricing\Price\FinalPrice</item></argument>
<argument name="target" xsi:type="object">Magento\Catalog\Pricing\Price\Pool</argument></arguments>
</virtualType><virtualType name="Magento\GroupedProduct\Pricing\Price\Pool" type="Magento\Framework\Pricing\Price\Pool">
<arguments>
<argument name="prices" xsi:type="array">
<item name="wishlist_configured_price" xsi:type="string">Magento\GroupedProduct\Pricing\Price\ConfiguredPrice</item>
<item name="final_price" xsi:type="string">Magento\GroupedProduct\Pricing\Price\FinalPrice</item><item name="configured_price" xsi:type="string">Magento\GroupedProduct\Pricing\Price\ConfiguredPrice</item><item name="configured_regular_price" xsi:type="string">Magento\GroupedProduct\Pricing\Price\ConfiguredRegularPrice</item></argument>
<argument name="target" xsi:type="object">Magento\Catalog\Pricing\Price\Pool</argument></arguments>
</virtualType><type name="Magento\Catalog\Ui\DataProvider\Product\Listing\DataProvider">
<plugin name="wishlistSettingsDataProvider" type="Magento\Wishlist\Plugin\Ui\DataProvider\WishlistSettings"/>
<plugin name="taxSettingsProvider" type="Magento\Tax\Plugin\Ui\DataProvider\TaxSettings"/><plugin name="weeeSettingsProvider" type="Magento\Weee\Plugin\Ui\DataProvider\WeeeSettings"/></type><preference for="Magento\Wishlist\Model\ResourceModel\Item\Product\CollectionBuilderInterface" type="Magento\Wishlist\Model\ResourceModel\Item\Product\CollectionBuilder"/><preference for="Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product\CollectionProcessorInterface" type="Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product\CompositeCollectionProcessor"/><preference for="Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product\CollectionPostProcessorInterface" type="Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product\CompositeCollectionPostProcessor"/><preference for="Magento\CatalogGraphQl\Model\Resolver\Categories\DataProvider\Category\CollectionProcessorInterface" type="Magento\CatalogGraphQl\Model\Resolver\Categories\DataProvider\Category\CompositeCollectionProcessor"/><type name="Magento\EavGraphQl\Model\Resolver\Query\Type">
<arguments>
<argument name="customTypes" xsi:type="array">
<item name="media_gallery" xsi:type="string">ProductMediaGallery</item>
</argument>
</arguments>
</type><type name="Magento\Framework\GraphQl\Query\FieldTranslator">
<arguments>
<argument name="translationMap" xsi:type="array">
<item name="new_from_date" xsi:type="string">news_from_date</item>
<item name="new_to_date" xsi:type="string">news_to_date</item>
<item name="ship_bundle_items" xsi:type="string">shipment_type</item><item name="dynamic_price" xsi:type="string">price_type</item><item name="dynamic_sku" xsi:type="string">sku_type</item><item name="dynamic_weight" xsi:type="string">weight_type</item></argument>
</arguments>
</type><type name="Magento\Framework\GraphQl\Query\Resolver\Argument\FieldEntityAttributesPool">
<arguments>
<argument name="attributesInstances" xsi:type="array">
<item name="products" xsi:type="object">Magento\CatalogGraphQl\Model\Resolver\Products\FilterArgument\ProductEntityAttributesForAst</item>
<item name="categoryList" xsi:type="object">Magento\CatalogGraphQl\Model\Category\CategoryFilterAttributesForAst</item>
<item name="pickupLocations" xsi:type="object">Magento\InventoryInStorePickupGraphQl\Model\Resolver\PickupLocations\FilterArgument\PickupLocationsAttributesForAst</item></argument>
</arguments>
</type><type name="Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product\CompositeCollectionProcessor">
<arguments>
<argument name="collectionProcessors" xsi:type="array">
<item name="attributes" xsi:type="object">Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product\CollectionProcessor\AttributeProcessor</item>
<item name="extensible" xsi:type="object">Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product\CollectionProcessor\ExtensibleEntityProcessor</item>
<item name="required" xsi:type="object">Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product\CollectionProcessor\RequiredColumnsProcessor</item>
<item name="search" xsi:type="object">Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product\CollectionProcessor\SearchCriteriaProcessor</item>
<item name="stock" xsi:type="object">Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product\CollectionProcessor\StockProcessor</item>
<item name="visibility" xsi:type="object">Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product\CollectionProcessor\VisibilityStatusProcessor</item>
<item name="mediaGallery" xsi:type="object">Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product\CollectionProcessor\MediaGalleryProcessor</item>
</argument>
</arguments>
<plugin name="applyCategoryPermissionsOnProductProcessor" type="\Magento\CatalogPermissionsGraphQl\Plugin\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product\CompositeCollectionProcessorPlugin" disabled="false"/></type><type name="Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product\CompositeCollectionPostProcessor">
<arguments>
<argument name="collectionPostProcessors" xsi:type="array">
<item name="default" xsi:type="object">Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product\CollectionPostProcessor</item>
<item name="disabled_product_option" xsi:type="object">Magento\BundleGraphQl\Model\Resolver\Products\DataProvider\Product\DisabledProductOptionPostProcessor</item></argument>
</arguments>
</type><type name="Magento\CatalogGraphQl\Model\Resolver\Categories\DataProvider\Category\CompositeCollectionProcessor">
<arguments>
<argument name="collectionProcessors" xsi:type="array">
<item name="catalog" xsi:type="object">Magento\CatalogGraphQl\Model\Resolver\Categories\DataProvider\Category\CollectionProcessor\CatalogProcessor</item>
<item name="customerGroup" xsi:type="object">Magento\CatalogPermissionsGraphQl\Model\Resolver\Categories\DataProvider\Category\CollectionProcessor\ApplyPermissionsOnCategory</item></argument>
</arguments>
</type><type name="Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Product\CollectionProcessor\SearchCriteriaProcessor">
<arguments>
<argument name="searchCriteriaApplier" xsi:type="object">Magento\Catalog\Model\Api\SearchCriteria\ProductCollectionProcessor</argument>
</arguments>
</type><type name="Magento\Framework\GraphQl\Query\Resolver\ArgumentsCompositeProcessor">
<arguments>
<argument name="processors" xsi:type="array">
<item name="category_uid" xsi:type="object">Magento\CatalogGraphQl\Model\Resolver\Products\Query\CategoryUidArgsProcessor</item>
<item name="category_uids" xsi:type="object">Magento\CatalogGraphQl\Model\Category\CategoryUidsArgsProcessor</item>
<item name="parent_category_uids" xsi:type="object">Magento\CatalogGraphQl\Model\Category\ParentCategoryUidsArgsProcessor</item>
<item name="cart_item_id" xsi:type="object">Magento\QuoteGraphQl\Model\CartItem\CartItemUidArgsProcessor</item><item name="cart_items_id" xsi:type="object">Magento\QuoteGraphQl\Model\CartItem\CartItemsUidArgsProcessor</item></argument>
</arguments>
</type><type name="Magento\CatalogGraphQl\Plugin\Search\Request\ConfigReader">
<arguments>
<argument name="exactMatchAttributes" xsi:type="array">
<item name="sku" xsi:type="string">sku</item>
<item name="url_key" xsi:type="string">url_key</item></argument>
</arguments>
</type><preference type="\Magento\CatalogGraphQl\Model\Resolver\Product\Price\Provider" for="\Magento\CatalogGraphQl\Model\Resolver\Product\Price\ProviderInterface"/><preference type="Magento\CatalogStagingGraphQl\Model\Products\Query\PreviewFilter" for="Magento\CatalogGraphQl\Model\Resolver\Products\Query\ProductQueryInterface"/><type name="\Magento\CatalogGraphQl\Model\Resolver\Product\BatchProductLinks">
<arguments>
<argument name="linkTypes" xsi:type="array">
<item name="related" xsi:type="string">related</item>
<item name="upsell" xsi:type="string">upsell</item>
<item name="crosssell" xsi:type="string">crosssell</item>
<item name="associated" xsi:type="string">associated</item></argument>
</arguments>
</type><type name="Magento\CatalogGraphQl\Model\Resolver\Categories\DataProvider\Category\CollectionProcessor\CatalogProcessor">
<arguments>
<argument name="collectionProcessor" xsi:type="object">Magento\Eav\Model\Api\SearchCriteria\CollectionProcessor</argument>
</arguments>
</type><type name="Magento\MediaStorage\Helper\File\Storage">
<arguments>
<argument name="storage" xsi:type="object">Magento\MediaStorage\Model\File\Storage\Proxy</argument>
</arguments>
</type><type name="Magento\MediaStorage\Helper\File\Storage\Database">
<arguments>
<argument name="fileStorage" xsi:type="object">Magento\MediaStorage\Model\File\Storage\File\Proxy</argument>
</arguments>
</type><type name="Magento\Framework\View\Asset\MergeService">
<plugin name="cleanMergedJsCss" type="Magento\MediaStorage\Model\Asset\Plugin\CleanMergedJsCss"/>
</type><type name="Magento\MediaStorage\Console\Command\ImagesResizeCommand">
<arguments>
<argument name="imageResizeScheduler" xsi:type="object">Magento\MediaStorage\Service\ImageResizeScheduler\Proxy</argument>
</arguments>
</type><virtualType name="robotsResultPage" type="Magento\Framework\View\Result\Page">
<arguments>
<argument name="template" xsi:type="string">Magento_Robots::robots.phtml</argument>
</arguments>
</virtualType><virtualType name="robotsResultPageFactory" type="Magento\Framework\View\Result\PageFactory">
<arguments>
<argument name="instanceName" xsi:type="string">robotsResultPage</argument>
</arguments>
</virtualType><type name="Magento\Robots\Controller\Index\Index">
<arguments>
<argument name="resultPageFactory" xsi:type="object">robotsResultPageFactory</argument>
</arguments>
</type><preference for="Magento\ConfigurableProduct\Api\ConfigurableProductManagementInterface" type="Magento\ConfigurableProduct\Model\ConfigurableProductManagement"/><preference for="Magento\ConfigurableProduct\Api\LinkManagementInterface" type="Magento\ConfigurableProduct\Model\LinkManagement"/><preference for="Magento\ConfigurableProduct\Api\OptionRepositoryInterface" type="Magento\ConfigurableProduct\Model\OptionRepository"/><preference for="Magento\ConfigurableProduct\Api\Data\OptionInterface" type="Magento\ConfigurableProduct\Model\Product\Type\Configurable\Attribute"/><preference for="Magento\ConfigurableProduct\Api\Data\OptionValueInterface" type="Magento\ConfigurableProduct\Model\Product\Type\Configurable\OptionValue"/><preference for="Magento\ConfigurableProduct\Api\Data\ConfigurableItemOptionValueInterface" type="Magento\ConfigurableProduct\Model\Quote\Item\ConfigurableItemOptionValue"/><preference for="Magento\ConfigurableProduct\Pricing\Price\PriceResolverInterface" type="Magento\ConfigurableProduct\Pricing\Price\ConfigurablePriceResolver"/><preference for="Magento\ConfigurableProduct\Pricing\Price\ConfigurableOptionsProviderInterface" type="Magento\ConfigurableProduct\Pricing\Price\ConfigurableOptionsProvider"/><preference for="Magento\ConfigurableProduct\Pricing\Price\LowestPriceOptionsProviderInterface" type="Magento\ConfigurableProduct\Pricing\Price\LowestPriceOptionsProvider"/><preference for="Magento\ConfigurableProduct\Model\AttributeOptionProviderInterface" type="Magento\ConfigurableProduct\Model\AttributeOptionProvider"/><preference for="Magento\ConfigurableProduct\Model\ResourceModel\Attribute\OptionSelectBuilderInterface" type="Magento\ConfigurableProduct\Model\ResourceModel\Attribute\OptionSelectBuilder"/><preference for="Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\OptionsIndexerInterface" type="Magento\InventoryConfigurableProduct\Pricing\Price\Indexer\OptionsIndexer"/><preference for="Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\OptionsSelectBuilderInterface" type="Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\OptionsSelectBuilder"/><preference for="Magento\ConfigurableProduct\Pricing\Price\ConfigurableOptionsFilterInterface" type="Magento\ConfigurableProduct\Pricing\Price\ConfigurableOptionsCompositeFilter"/><type name="Magento\CatalogInventory\Model\Quote\Item\QuantityValidator\Initializer\Option">
<plugin name="configurable_product" type="Magento\ConfigurableProduct\Model\Quote\Item\QuantityValidator\Initializer\Option\Plugin\ConfigurableProduct" sortOrder="50"/>
</type><type name="Magento\Sales\Model\Order\Admin\Item">
<plugin name="configurable_product" type="Magento\ConfigurableProduct\Model\Order\Admin\Item\Plugin\Configurable" sortOrder="50"/>
</type><type name="Magento\Catalog\Helper\Product\Configuration">
<plugin name="configurable_product" type="Magento\ConfigurableProduct\Helper\Product\Configuration\Plugin" sortOrder="50"/>
<plugin name="grouped_options" type="Magento\GroupedProduct\Helper\Product\Configuration\Plugin\Grouped"/></type><type name="Magento\ConfigurableProduct\Plugin\Model\Attribute\Backend\AttributeValidation">
<arguments>
<argument name="unskippableAttributes" xsi:type="array">
<item name="custom_layout_update" xsi:type="string">custom_layout_update</item>
</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Entity\Product\Attribute\Group\AttributeMapperInterface">
<plugin name="configurable_product" type="Magento\ConfigurableProduct\Model\Entity\Product\Attribute\Group\AttributeMapper\Plugin" sortOrder="50"/>
</type><type name="Magento\Catalog\Model\Attribute\LockValidatorComposite">
<arguments>
<argument name="validators" xsi:type="array">
<item name="configurable" xsi:type="string">Magento\ConfigurableProduct\Model\Attribute\LockValidator</item>
</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\Type">
<plugin name="configurable_output" type="Magento\ConfigurableProduct\Model\Product\Type\Plugin"/>
<plugin name="grouped_output" type="Magento\GroupedProduct\Model\Product\Type\Plugin"/></type><virtualType name="Magento\ConfigurableProduct\Pricing\Price\Collection" type="Magento\Framework\Pricing\Price\Collection">
<arguments>
<argument name="pool" xsi:type="object">Magento\ConfigurableProduct\Pricing\Price\Pool</argument>
</arguments>
</virtualType><virtualType name="ConfigurableFinalPriceResolver" type="Magento\ConfigurableProduct\Pricing\Price\ConfigurablePriceResolver">
<arguments>
<argument name="priceResolver" xsi:type="object">Magento\ConfigurableProduct\Pricing\Price\FinalPriceResolver</argument>
</arguments>
</virtualType><type name="Magento\ConfigurableProduct\Pricing\Price\FinalPrice">
<arguments>
<argument name="priceResolver" xsi:type="object">ConfigurableFinalPriceResolver</argument>
</arguments>
</type><virtualType name="ConfigurableRegularPriceResolver" type="Magento\ConfigurableProduct\Pricing\Price\ConfigurablePriceResolver">
<arguments>
<argument name="priceResolver" xsi:type="object">Magento\ConfigurableProduct\Pricing\Price\RegularPriceResolver</argument>
</arguments>
</virtualType><type name="Magento\ConfigurableProduct\Pricing\Price\ConfigurableRegularPrice">
<arguments>
<argument name="priceResolver" xsi:type="object">ConfigurableRegularPriceResolver</argument>
</arguments>
</type><type name="Magento\ProductVideo\Block\Product\View\Gallery">
<plugin name="product_video_gallery" type="Magento\ConfigurableProduct\Block\Plugin\Product\Media\Gallery"/>
</type><type name="Magento\ConfigurableProduct\Model\Product\Type\Configurable">
<arguments>
<argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Collection</argument>
</arguments>
<plugin name="add_swatch_attributes_to_configurable" type="Magento\Swatches\Model\Plugin\Configurable"/></type><type name="Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable">
<arguments>
<argument name="attributeOptionProvider" xsi:type="object">Magento\ConfigurableProduct\Model\AttributeOptionProvider\Proxy</argument>
</arguments>
</type><type name="Magento\ConfigurableProduct\Observer\HideUnsupportedAttributeTypes">
<arguments>
<argument name="supportedTypes" xsi:type="array">
<item name="select" xsi:type="string">select</item>
<item name="swatch_visual" xsi:type="string">swatch_visual</item><item name="swatch_text" xsi:type="string">swatch_text</item></argument>
</arguments>
</type><type name="Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\Configurable">
<arguments>
<argument name="tableStrategy" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\TemporaryTableStrategy</argument>
<argument name="connectionName" xsi:type="string">indexer</argument>
<argument name="baseSelectProcessor" xsi:type="object">Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\BaseStockStatusSelectProcessor</argument>
</arguments>
</type><type name="Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\OptionsSelectBuilder">
<arguments>
<argument name="selectProcessor" xsi:type="object">Magento\InventoryConfigurableProduct\Pricing\Price\Indexer\BaseStockStatusSelectProcessor</argument>
<argument name="connectionName" xsi:type="string">indexer</argument>
</arguments>
</type><type name="Magento\ConfigurableProduct\Plugin\Model\ResourceModel\Product">
<arguments>
<argument name="productIndexer" xsi:type="object">Magento\Catalog\Model\Indexer\Product\Full</argument>
</arguments>
</type><type name="Magento\ConfigurableProduct\Pricing\Price\LowestPriceOptionsProvider">
<arguments>
<argument name="linkedProductSelectBuilder" xsi:type="object">Magento\ConfigurableProduct\Model\ResourceModel\Product\LinkedProductSelectBuilder</argument>
</arguments>
</type><type name="Magento\ConfigurableProduct\Model\ResourceModel\Product\LinkedProductSelectBuilder">
<arguments>
<argument name="baseSelectProcessor" xsi:type="object">Magento\InventoryConfigurableProduct\Pricing\Price\LowestPriceOptionsProvider\StockStatusBaseSelectProcessor</argument>
<argument name="linkedProductSelectBuilder" xsi:type="object">Magento\Catalog\Model\ResourceModel\Product\Indexer\LinkedProductSelectBuilderByIndexPrice</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\Pricing\Renderer\SalableResolver">
<plugin name="configurable" type="Magento\ConfigurableProduct\Plugin\Catalog\Model\Product\Pricing\Renderer\SalableResolver"/>
</type><type name="Magento\Tax\Model\Sales\Total\Quote\CommonTaxCollector">
<plugin name="apply_tax_class_id" type="Magento\ConfigurableProduct\Plugin\Tax\Model\Sales\Total\Quote\CommonTaxCollector"/>
</type><type name="Magento\Eav\Model\Entity\Attribute\Group">
<arguments>
<argument name="reservedSystemNames" xsi:type="array">
<item name="configurable" xsi:type="string">configurable</item>
</argument>
</arguments>
</type><type name="Magento\ConfigurableProduct\Model\Plugin\Frontend\UsedProductsCache">
<arguments>
<argument name="cache" xsi:type="object">Magento\Framework\App\Cache\Type\Collection</argument>
</arguments>
<arguments>
<argument name="serializer" xsi:type="object">Magento\Framework\Serialize\Serializer\Json</argument>
</arguments>
</type><type name="Magento\CatalogInventory\Model\ResourceModel\Stock\Item">
<plugin name="updateStockChangedAuto" type="Magento\ConfigurableProduct\Model\Plugin\UpdateStockChangedAuto"/>
<plugin name="update_source_item_at_legacy_stock_item_save" type="Magento\InventoryCatalog\Plugin\CatalogInventory\UpdateSourceItemAtLegacyStockItemSavePlugin"/><plugin name="update_source_stock_for_configurable_product" type="Magento\InventoryConfigurableProduct\Plugin\CatalogInventory\UpdateSourceItemAtLegacyStockItemSavePlugin"/></type><preference for="Magento\GiftRegistry\Api\ShippingMethodManagementInterface" type="Magento\GiftRegistry\Model\ShippingMethodManagement"/><preference for="Magento\GiftRegistry\Api\GuestCart\ShippingMethodManagementInterface" type="Magento\GiftRegistry\Model\GuestCart\ShippingMethodManagement"/><preference for="Magento\GiftRegistry\Model\Item\Collection\FilterInterface" type="Magento\GiftRegistry\Model\Item\Collection\CompositeFilter"/><type name="Magento\GiftRegistry\Model\ResourceModel\Helper">
<arguments>
<argument name="modulePrefix" xsi:type="string">giftregistry</argument>
</arguments>
</type><type name="Magento\GiftRegistry\Model\Config\Data">
<arguments>
<argument name="reader" xsi:type="object">Magento\GiftRegistry\Model\Config\Reader\Proxy</argument>
</arguments>
</type><type name="Magento\Quote\Model\Quote">
<plugin name="gift_registry_update_quote_item" type="Magento\GiftRegistry\Model\Plugin\UpdateQuoteItem"/>
<plugin name="remove_store_credit_after_product_delete" type="Magento\CustomerBalance\Plugin\Model\Quote\ResetCustomerBalanceUsage"/></type><preference for="Magento\CheckoutAgreements\Api\CheckoutAgreementsRepositoryInterface" type="Magento\CheckoutAgreements\Model\CheckoutAgreementsRepository"/><preference for="Magento\CheckoutAgreements\Api\Data\AgreementInterface" type="Magento\CheckoutAgreements\Model\Agreement"/><preference for="Magento\CheckoutAgreements\Api\CheckoutAgreementsListInterface" type="Magento\CheckoutAgreements\Model\CheckoutAgreementsList"/><type name="Magento\CheckoutAgreements\Model\AgreementsValidator">
<arguments>
<argument name="list" xsi:type="array">
<item name="checkoutagreements" xsi:type="object">\Magento\CheckoutAgreements\Model\AgreementsProvider</item>
</argument>
</arguments>
</type><type name="Magento\CheckoutAgreements\Model\CheckoutAgreementsList">
<arguments>
<argument name="collectionProcessor" xsi:type="object">Magento\CheckoutAgreements\Model\Api\SearchCriteria\CollectionProcessor</argument>
</arguments>
</type><virtualType name="Magento\CheckoutAgreements\Model\Api\SearchCriteria\CollectionProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor">
<arguments>
<argument name="processors" xsi:type="array">
<item name="filters" xsi:type="object">Magento\CheckoutAgreements\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor</item>
<item name="sorting" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\SortingProcessor</item>
<item name="pagination" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\PaginationProcessor</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\CheckoutAgreements\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\FilterProcessor">
<arguments>
<argument name="customFilters" xsi:type="array">
<item name="store_id" xsi:type="object">Magento\CheckoutAgreements\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor\StoreFilter</item>
</argument>
</arguments>
</virtualType><type name="Magento\Quote\Api\CartRepositoryInterface">
<plugin name="save_fake_quota_in_preview" type="Magento\CheckoutStaging\Plugin\SavePreviewQuotaPlugin"/>
<plugin name="remove_in_store_pickup_data" type="Magento\InventoryInStorePickupMultishipping\Plugin\Quote\RemoveInStorePickupDataInMultishippingModePlugin"/></type><type name="Magento\ScalableCheckout\Console\Command\SplitQuote">
<arguments>
<argument name="tables" xsi:type="array">
<item name="quote_preview" xsi:type="string">quote_preview</item>
<item name="magento_customercustomattributes_sales_flat_quote" xsi:type="string">magento_customercustomattributes_sales_flat_quote</item><item name="magento_customercustomattributes_sales_flat_quote_address" xsi:type="string">magento_customercustomattributes_sales_flat_quote_address</item><item name="quote_shipping_rate" xsi:type="string">quote_shipping_rate</item><item name="quote_address_item" xsi:type="string">quote_address_item</item><item name="quote_item_option" xsi:type="string">quote_item_option</item><item name="quote_payment" xsi:type="string">quote_payment</item><item name="quote_item" xsi:type="string">quote_item</item><item name="quote_address" xsi:type="string">quote_address</item><item name="quote_id_mask" xsi:type="string">quote_id_mask</item><item name="quote" xsi:type="string">quote</item></argument>
</arguments>
</type><preference for="Magento\MediaGalleryUiApi\Api\ConfigInterface" type="Magento\MediaGalleryUi\Model\Config"/><preference for="Magento\MediaGalleryUiApi\Api\Data\InsertImageDataInterface" type="\Magento\MediaGalleryUi\Model\InsertImageData"/><virtualType name="mediaGallerySearchResult" type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult">
<arguments>
<argument name="mainTable" xsi:type="string">media_gallery_asset_grid</argument>
<argument name="resourceModel" xsi:type="string">Magento\MediaGalleryUi\Model\ResourceModel\Grid\Asset</argument>
</arguments>
</virtualType><type name="Magento\MediaGallerySynchronizationApi\Model\ImportFilesComposite">
<plugin name="createMediaGalleryThumbnails" type="Magento\MediaGalleryUi\Plugin\CreateThumbnails"/>
<arguments>
<argument name="importers" xsi:type="array">
<item name="10" xsi:type="object">Magento\MediaGallerySynchronization\Model\ImportMediaAsset</item>
<item name="20" xsi:type="object">Magento\MediaGallerySynchronizationMetadata\Model\ImportKeywords</item></argument>
</arguments></type><preference for="Magento\VersionsCms\Model\Hierarchy\ConfigInterface" type="Magento\VersionsCms\Model\Hierarchy\Config"/><preference for="Magento\VersionsCms\Api\Data\HierarchyNodeSearchResultsInterface" type="Magento\Framework\Api\SearchResults"/><preference for="Magento\VersionsCms\Api\Data\HierarchyNodeInterface" type="Magento\VersionsCms\Model\Hierarchy\Node"/><preference for="Magento\VersionsCms\Api\HierarchyNodeRepositoryInterface" type="Magento\VersionsCms\Model\Hierarchy\NodeRepository"/><preference for="Magento\VersionsCms\Model\CurrentNodeResolverInterface" type="Magento\VersionsCms\Model\CurrentNodeResolver"/><type name="Magento\VersionsCms\Model\Hierarchy\Config">
<arguments>
<argument name="reader" xsi:type="object">Magento\VersionsCms\Model\Hierarchy\Config\Reader\Proxy</argument>
</arguments>
</type><type name="Magento\VersionsCms\Model\Hierarchy\NodeRepository">
<arguments>
<argument name="collectionProcessor" xsi:type="object">Magento\VersionsCms\Api\SearchCriteria\HierarchyNodeCollectionProcessor</argument>
</arguments>
</type><virtualType name="Magento\VersionsCms\Api\SearchCriteria\HierarchyNodeCollectionProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor">
<arguments>
<argument name="processors" xsi:type="array">
<item name="filters" xsi:type="object">Magento\VersionsCms\Model\Api\SearchCriteria\CollectionProcessor\HierarchyNodeFilterProcessor</item>
<item name="sorting" xsi:type="object">Magento\VersionsCms\Model\Api\SearchCriteria\CollectionProcessor\HierarchyNodeSortingProcessor</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\VersionsCms\Model\Api\SearchCriteria\CollectionProcessor\HierarchyNodeFilterProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\FilterProcessor">
<arguments>
<argument name="customFilters" xsi:type="array">
<item name="store_id" xsi:type="object">Magento\VersionsCms\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor\HierarchyNodeStoreFilter</item>
</argument>
<argument name="fieldMapping" xsi:type="array">
<item name="page_id" xsi:type="string">main_table.page_id</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\VersionsCms\Model\Api\SearchCriteria\CollectionProcessor\HierarchyNodeSortingProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\SortingProcessor">
<arguments>
<argument name="fieldMapping" xsi:type="array">
<item name="page_id" xsi:type="string">main_table.page_id</item>
</argument>
</arguments>
</virtualType><type name="Magento\Cms\Model\ResourceModel\Page">
<plugin name="cms_url_rewrite_plugin" type="Magento\CmsUrlRewrite\Plugin\Cms\Model\ResourceModel\Page"/>
</type><type name="Magento\UrlRewriteGraphQl\Model\Resolver\UrlRewrite\CustomUrlLocator">
<arguments>
<argument name="urlLocators" xsi:type="array">
<item name="homePageUrlLocator" xsi:type="object">Magento\CmsUrlRewriteGraphQl\Model\Resolver\UrlRewrite\HomePageUrlLocator</item>
</argument>
</arguments>
</type><type name="Magento\UrlRewriteGraphQl\Model\Resolver\UrlRewrite\UrlResolverIdentity">
<arguments>
<argument name="urlResolverIdentities" xsi:type="array">
<item name="cms_page" xsi:type="object">Magento\CmsUrlRewriteGraphQl\Model\Resolver\UrlRewrite\CmsUrlResolverIdentity</item>
<item name="product" xsi:type="object">Magento\CatalogUrlRewriteGraphQl\Model\Resolver\UrlRewrite\CatalogUrlResolverIdentity</item><item name="category" xsi:type="object">Magento\CatalogUrlRewriteGraphQl\Model\Resolver\UrlRewrite\CatalogUrlResolverIdentity</item></argument>
</arguments>
</type><type name="Magento\UrlRewriteGraphQl\Model\DataProvider\EntityDataProviderComposite">
<arguments>
<argument name="dataProviders" xsi:type="array">
<item name="cms_page" xsi:type="object">Magento\CmsUrlRewriteGraphQl\Model\DataProvider\UrlRewrite\Page</item>
<item name="category" xsi:type="object">Magento\CatalogUrlRewriteGraphQl\Model\DataProvider\UrlRewrite\CatalogTreeDataProvider</item><item name="product" xsi:type="object">Magento\CatalogUrlRewriteGraphQl\Model\DataProvider\UrlRewrite\ProductDataProvider</item></argument>
</arguments>
</type><preference for="Magento\Integration\Api\IntegrationServiceInterface" type="Magento\Integration\Model\IntegrationService"/><preference for="Magento\Integration\Api\AuthorizationServiceInterface" type="Magento\Integration\Model\AuthorizationService"/><preference for="Magento\Integration\Api\OauthServiceInterface" type="Magento\Integration\Model\OauthService"/><preference for="Magento\Framework\Oauth\ConsumerInterface" type="Magento\Integration\Model\Oauth\Consumer"/><preference for="Magento\Framework\Oauth\NonceGeneratorInterface" type="Magento\Integration\Model\Oauth\Nonce\Generator"/><preference for="Magento\Framework\Oauth\TokenProviderInterface" type="Magento\Integration\Model\Oauth\Token\Provider"/><preference for="Magento\Integration\Api\CustomerTokenServiceInterface" type="Magento\Integration\Model\CustomerTokenService"/><preference for="Magento\Integration\Api\AdminTokenServiceInterface" type="Magento\Integration\Model\AdminTokenService"/><preference for="Magento\Integration\Model\Oauth\Token\RequestLog\ReaderInterface" type="Magento\Integration\Model\ResourceModel\Oauth\Token\RequestLog"/><preference for="Magento\Integration\Model\Oauth\Token\RequestLog\WriterInterface" type="Magento\Integration\Model\ResourceModel\Oauth\Token\RequestLog"/><type name="Magento\Integration\Model\Oauth\Nonce\Generator">
<arguments>
<argument name="date" xsi:type="object">Magento\Framework\Stdlib\DateTime\DateTime\Proxy</argument>
</arguments>
</type><type name="Magento\Integration\Model\Oauth\Token\Provider">
<arguments>
<argument name="date" xsi:type="object">Magento\Framework\Stdlib\DateTime\DateTime\Proxy</argument>
</arguments>
</type><type name="Magento\Integration\Api\IntegrationServiceInterface">
<plugin name="webapiIntegrationService" type="Magento\Integration\Model\Plugin\Integration"/>
</type><type name="Magento\User\Model\User">
<plugin name="revokeTokensFromInactiveAdmins" type="Magento\Integration\Plugin\Model\AdminUser"/>
</type><type name="Magento\Customer\Model\Customer">
<plugin name="revokeTokensFromInactiveCustomers" type="Magento\Integration\Plugin\Model\CustomerUser"/>
</type><type name="Magento\Integration\Model\CompositeUserTokenValidator">
<arguments>
<argument name="validators" xsi:type="array">
<item name="expiration" xsi:type="object">Magento\Integration\Model\UserToken\ExpirationValidator</item>
<item name="jwt_revoked" xsi:type="object">Magento\JwtUserToken\Model\RevokedValidator</item></argument>
</arguments>
</type><preference for="Magento\Integration\Api\Data\UserTokenParametersInterface" type="Magento\Integration\Model\UserToken\UserTokenParameters"/><preference for="Magento\Integration\Api\UserTokenValidatorInterface" type="Magento\Integration\Model\CompositeUserTokenValidator"/><preference for="Magento\Integration\Api\UserTokenIssuerInterface" type="Magento\JwtUserToken\Model\Issuer"/><preference for="Magento\Integration\Api\UserTokenReaderInterface" type="Magento\Integration\Model\CompositeTokenReader"/><preference for="Magento\Integration\Api\UserTokenRevokerInterface" type="Magento\JwtUserToken\Model\Revoker"/><type name="Magento\Integration\Model\CompositeTokenReader">
<arguments>
<argument name="readers" xsi:type="array">
<item name="5" xsi:type="object">Magento\Integration\Model\OpaqueToken\Reader</item>
<item name="10" xsi:type="object">Magento\JwtUserToken\Model\Reader</item></argument>
</arguments>
</type><type name="Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable\Product\Collection">
<plugin name="catalogRulePriceForConfigurableProduct" type="Magento\CatalogRuleConfigurable\Plugin\ConfigurableProduct\Model\ResourceModel\AddCatalogRulePrice"/>
</type><preference for="Magento\QuoteGraphQl\Model\CartItem\DataProvider\CustomizableOptionValueInterface" type="Magento\QuoteGraphQl\Model\CartItem\DataProvider\CustomizableOptionValue\Composite"/><preference for="Magento\QuoteGraphQl\Model\CartItem\DataProvider\Processor\ItemDataProcessorInterface" type="Magento\QuoteGraphQl\Model\CartItem\DataProvider\Processor\ItemDataCompositeProcessor"/><type name="Magento\QuoteGraphQl\Model\Resolver\CartItemTypeResolver">
<arguments>
<argument name="supportedTypes" xsi:type="array">
<item name="simple" xsi:type="string">SimpleCartItem</item>
<item name="virtual" xsi:type="string">VirtualCartItem</item>
<item name="configurable" xsi:type="string">ConfigurableCartItem</item>
<item name="downloadable" xsi:type="string">DownloadableCartItem</item>
<item name="bundle" xsi:type="string">BundleCartItem</item><item name="giftcard" xsi:type="string">GiftCardCartItem</item></argument>
</arguments>
</type><type name="Magento\QuoteGraphQl\Model\CartItem\DataProvider\CustomizableOptionValue\Composite">
<arguments>
<argument name="customizableOptionValues" xsi:type="array">
<item name="field" xsi:type="string">Magento\QuoteGraphQl\Model\CartItem\DataProvider\CustomizableOptionValue\Text</item>
<item name="date" xsi:type="string">Magento\QuoteGraphQl\Model\CartItem\DataProvider\CustomizableOptionValue\Text</item>
<item name="time" xsi:type="string">Magento\QuoteGraphQl\Model\CartItem\DataProvider\CustomizableOptionValue\Text</item>
<item name="date_time" xsi:type="string">Magento\QuoteGraphQl\Model\CartItem\DataProvider\CustomizableOptionValue\Text</item>
<item name="area" xsi:type="string">Magento\QuoteGraphQl\Model\CartItem\DataProvider\CustomizableOptionValue\Text</item>
<item name="drop_down" xsi:type="string">Magento\QuoteGraphQl\Model\CartItem\DataProvider\CustomizableOptionValue\Dropdown</item>
<item name="radio" xsi:type="string">Magento\QuoteGraphQl\Model\CartItem\DataProvider\CustomizableOptionValue\Dropdown</item>
<item name="checkbox" xsi:type="string">Magento\QuoteGraphQl\Model\CartItem\DataProvider\CustomizableOptionValue\Multiple</item>
<item name="multiple" xsi:type="string">Magento\QuoteGraphQl\Model\CartItem\DataProvider\CustomizableOptionValue\Multiple</item>
</argument>
</arguments>
</type><type name="Magento\QuoteGraphQl\Model\Resolver\AvailablePaymentMethods">
<arguments>
<argument name="informationShipping" xsi:type="object">Magento\Quote\Api\ShippingMethodManagementInterface</argument>
</arguments>
</type><type name="Magento\Framework\App\PageCache\Identifier">
<plugin name="core-app-area-design-exception-plugin" type="Magento\PageCache\Model\App\CacheIdentifierPlugin" sortOrder="10"/>
</type><type name="Magento\Framework\App\PageCache\Cache">
<plugin name="fpc-type-plugin" type="Magento\PageCache\Model\App\PageCachePlugin"/>
</type><type name="Magento\PageCache\Controller\Block">
<arguments>
<argument name="layoutCacheKey" xsi:type="object">Magento\Framework\View\Layout\LayoutCacheKeyInterface</argument>
</arguments>
</type><type name="Magento\Framework\App\Cache\RuntimeStaleCacheStateModifier">
<arguments>
<argument name="cacheTypes" xsi:type="array">
<item name="full_page_cache" xsi:type="const">Magento\PageCache\Model\Cache\Type::TYPE_IDENTIFIER</item>
</argument>
</arguments>
</type><preference for="Magento\PageCache\Model\VclGeneratorInterface" type="Magento\PageCache\Model\Varnish\VclGenerator"/><preference for="Magento\PageCache\Model\VclTemplateLocatorInterface" type="Magento\PageCache\Model\Varnish\VclTemplateLocator"/><preference for="Magento\PageCache\Model\Spi\PageCacheTagsPreprocessorInterface" type="Magento\PageCache\Model\PageCacheTagsPreprocessorComposite"/><preference for="Magento\Contact\Model\MailInterface" type="Magento\Contact\Model\Mail"/><preference for="Magento\Contact\Model\ConfigInterface" type="Magento\Contact\Model\Config"/><preference for="Magento\Framework\Stdlib\CookieManagerInterface" type="Magento\Framework\Stdlib\Cookie\PhpCookieManager"/><preference for="Magento\Cron\Model\ConfigInterface" type="Magento\Cron\Model\Config"/><preference for="Magento\Framework\Shell\CommandRendererInterface" type="Magento\Framework\Shell\CommandRenderer"/><preference for="Magento\Framework\Crontab\CrontabManagerInterface" type="Magento\Framework\Crontab\CrontabManager"/><preference for="Magento\Framework\Crontab\TasksProviderInterface" type="Magento\Framework\Crontab\TasksProvider"/><type name="Magento\Config\Model\Config\Structure\Converter">
<plugin name="cron_backend_config_structure_converter_plugin" type="Magento\Cron\Model\Backend\Config\Structure\Converter"/>
</type><virtualType name="Magento\Cron\Model\VirtualLoggerHandler" type="Magento\Framework\Logger\Handler\Base">
<arguments>
<argument name="fileName" xsi:type="string">/var/log/cron.log</argument>
</arguments>
</virtualType><virtualType name="Magento\Cron\Model\VirtualLogger" type="Magento\Framework\Logger\Monolog">
<arguments>
<argument name="handlers" xsi:type="array">
<item name="system" xsi:type="object">Magento\Cron\Model\VirtualLoggerHandler</item>
</argument>
</arguments>
</virtualType><virtualType name="shellBackground" type="Magento\Framework\Shell">
<arguments>
<argument name="commandRenderer" xsi:type="object">Magento\Framework\Shell\CommandRendererBackground</argument>
</arguments>
</virtualType><type name="Magento\Cron\Observer\ProcessCronQueueObserver">
<arguments>
<argument name="shell" xsi:type="object">shellBackground</argument>
<argument name="logger" xsi:type="object">Magento\Cron\Model\VirtualLogger</argument>
</arguments>
</type><type name="Magento\Framework\Crontab\CrontabManagerInterface">
<arguments>
<argument name="shell" xsi:type="object">Magento\Framework\App\Shell</argument>
</arguments>
</type><type name="Magento\Framework\Crontab\TasksProviderInterface">
<arguments>
<argument name="tasks" xsi:type="array">
<item name="cronMagento" xsi:type="array">
<item name="command" xsi:type="string">{magentoRoot}bin/magento cron:run | grep -v "Ran jobs by schedule" >> {magentoLog}magento.cron.log</item>
<item name="optional" xsi:type="boolean">false</item>
</item>
</argument>
</arguments>
</type><preference for="Magento\Cron\Model\DeadlockRetrierInterface" type="Magento\Cron\Model\DeadlockRetrier"/><preference for="Magento\Csp\Api\CspRendererInterface" type="Magento\Csp\Model\CspRenderer"/><type name="Magento\Csp\Model\PolicyRendererPool">
<arguments>
<argument name="renderers" xsi:type="array">
<item name="header" xsi:type="object">Magento\Csp\Model\Policy\Renderer\SimplePolicyHeaderRenderer</item>
</argument>
</arguments>
</type><preference for="Magento\Csp\Api\PolicyCollectorInterface" type="Magento\Csp\Model\CompositePolicyCollector"/><preference for="Magento\Csp\Model\Collector\MergerInterface" type="Magento\Csp\Model\Collector\CompositeMerger"/><type name="Magento\Csp\Model\Collector\CompositeMerger">
<arguments>
<argument name="mergers" xsi:type="array">
<item name="fetch" xsi:type="object">Magento\Csp\Model\Collector\FetchPolicyMerger</item>
<item name="flag" xsi:type="object">Magento\Csp\Model\Collector\FlagPolicyMerger</item>
<item name="plugins" xsi:type="object">Magento\Csp\Model\Collector\PluginTypesPolicyMerger</item>
<item name="sandbox" xsi:type="object">Magento\Csp\Model\Collector\SandboxPolicyMerger</item>
</argument>
</arguments>
</type><type name="Magento\Csp\Model\CompositePolicyCollector">
<arguments>
<argument name="collectors" xsi:type="array">
<item name="config" xsi:type="object" sortOrder="1">Magento\Csp\Model\Collector\ConfigCollector\Proxy</item>
<item name="whitelist" xsi:type="object" sortOrder="2">Magento\Csp\Model\Collector\CspWhitelistXmlCollector\Proxy</item>
<item name="controller" xsi:type="object" sortOrder="100">Magento\Csp\Model\Collector\ControllerCollector\Proxy</item>
<item name="dynamic" xsi:type="object" sortOrder="3">Magento\Csp\Model\Collector\DynamicCollector\Proxy</item>
</argument>
<argument name="mergers" xsi:type="array">
<item name="composite" xsi:type="object">Magento\Csp\Model\Collector\MergerInterface</item>
</argument>
</arguments>
</type><type name="Magento\Csp\Model\Collector\Config\PolicyReaderPool">
<arguments>
<argument name="readers" xsi:type="array">
<item name="fetch" xsi:type="object">Magento\Csp\Model\Collector\Config\FetchPolicyReader</item>
<item name="plugin_types" xsi:type="object">Magento\Csp\Model\Collector\Config\PluginTypesPolicyReader</item>
<item name="sandbox" xsi:type="object">Magento\Csp\Model\Collector\Config\SandboxPolicyReader</item>
<item name="flag" xsi:type="object">Magento\Csp\Model\Collector\Config\FlagPolicyReader</item>
</argument>
</arguments>
</type><preference for="Magento\Csp\Api\ModeConfigManagerInterface" type="Magento\Csp\Model\Mode\ConfigManager"/><type name="Magento\Csp\Model\Collector\CspWhitelistXml\Reader">
<arguments>
<argument name="converter" xsi:type="object">Magento\Csp\Model\Collector\CspWhitelistXml\Converter</argument>
<argument name="schemaLocator" xsi:type="object">Magento\Csp\Model\Collector\CspWhitelistXml\SchemaLocator</argument>
<argument name="fileResolver" xsi:type="object">Magento\Csp\Model\Collector\CspWhitelistXml\FileResolver</argument>
<argument name="fileName" xsi:type="string">csp_whitelist.xml</argument>
</arguments>
</type><type name="Magento\Csp\Model\Collector\CspWhitelistXmlCollector">
<arguments>
<argument name="configReader" xsi:type="object">Magento\Csp\Model\Collector\CspWhitelistXml\Data</argument>
</arguments>
</type><type name="Magento\Csp\Model\Collector\CspWhitelistXml\Data">
<arguments>
<argument name="reader" xsi:type="object">Magento\Csp\Model\Collector\CspWhitelistXml\Reader\Proxy</argument>
</arguments>
</type><preference for="Magento\Csp\Api\InlineUtilInterface" type="Magento\Csp\Helper\InlineUtil"/><type name="Magento\Csp\Plugin\TemplateRenderingPlugin">
<arguments>
<argument name="util" xsi:type="object">Magento\Csp\Api\InlineUtilInterface\Proxy</argument>
</arguments>
</type><type name="Magento\Framework\View\TemplateEngine\Php">
<arguments>
<argument name="blockVariables" xsi:type="array">
<item name="csp" xsi:type="object">Magento\Csp\Api\InlineUtilInterface\Proxy</item>
<item name="secureRenderer" xsi:type="object">Magento\Framework\View\Helper\SecureHtmlRenderer\Proxy</item>
<item name="escaper" xsi:type="object">Magento\Framework\Escaper</item>
<item name="localeFormatter" xsi:type="object">Magento\Framework\Locale\LocaleFormatter</item>
</argument>
</arguments>
<plugin name="Amasty_Base::AddEscaperToPhpRenderer" type="Amasty\Base\Plugin\Framework\View\TemplateEngine\Php" sortOrder="10"/></type><type name="Magento\Framework\App\RouterInterface">
<plugin name="csp_aware_plugin" type="Magento\Csp\Plugin\CspAwareControllerPlugin"/>
</type><type name="Magento\Framework\View\Helper\SecureHtmlRenderer">
<arguments>
<argument name="processors" xsi:type="array">
<item name="csp" xsi:type="object">Magento\Csp\Helper\InlineUtil\Proxy</item>
</argument>
</arguments>
</type><type name="Magento\Csp\Observer\Render">
<arguments>
<argument name="cspRenderer" xsi:type="object">Magento\Csp\Api\CspRendererInterface</argument>
</arguments>
</type><type name="Magento\Csp\Model\BlockCache">
<arguments>
<argument name="cache" xsi:type="object">configured_block_cache</argument>
<argument name="serializer" xsi:type="object">Magento\Framework\Serialize\Serializer\Serialize</argument>
</arguments>
</type><type name="Magento\Framework\View\Element\Context">
<arguments>
<argument name="cache" xsi:type="object">Magento\Csp\Model\BlockCache</argument>
</arguments>
</type><type name="Magento\AdvancedCheckout\Helper\Data">
<arguments>
<argument name="cart" xsi:type="object">Magento\AdvancedCheckout\Model\Cart\Proxy</argument>
<argument name="catalogConfig" xsi:type="object">Magento\Catalog\Model\Config\Proxy</argument>
<argument name="session" xsi:type="object">Magento\Customer\Model\Session\Proxy</argument>
<argument name="customerSession" xsi:type="object">Magento\Customer\Model\Session\Proxy</argument>
<argument name="checkoutSession" xsi:type="object">Magento\Checkout\Model\Session\Proxy</argument>
<argument name="scopeConfig" xsi:type="object">Magento\Framework\App\Config\ScopeConfigInterface\Proxy</argument>
</arguments>
</type><preference for="Magento\AdvancedCheckout\Model\IsProductInStockInterface" type="Magento\AdvancedCheckout\Model\IsProductInStock"/><preference for="\Magento\AdvancedCheckout\Model\AreProductsSalableForRequestedQtyInterface" type="\Magento\AdvancedCheckout\Model\AreProductsSalableForRequestedQty"/><preference for="Magento\Analytics\ReportXml\ConfigInterface" type="Magento\Analytics\ReportXml\Config"/><preference for="Magento\Analytics\Model\ConfigInterface" type="Magento\Analytics\Model\Config"/><preference for="Magento\Analytics\Model\ReportWriterInterface" type="Magento\Analytics\Model\ReportWriter"/><preference for="Magento\Analytics\Api\LinkProviderInterface" type="Magento\Analytics\Model\LinkProvider"/><preference for="Magento\Analytics\Api\Data\LinkInterface" type="Magento\Analytics\Model\Link"/><preference for="Magento\Analytics\Model\Connector\Http\ClientInterface" type="Magento\Analytics\Model\Connector\Http\Client\Curl"/><preference for="Magento\Analytics\Model\ExportDataHandlerInterface" type="Magento\Analytics\Model\ExportDataHandlerNotification"/><preference for="Magento\Analytics\Model\Connector\Http\ConverterInterface" type="Magento\Analytics\Model\Connector\Http\JsonConverter"/><type name="Magento\Analytics\Model\Connector">
<arguments>
<argument name="commands" xsi:type="array">
<item name="signUp" xsi:type="string">Magento\Analytics\Model\Connector\SignUpCommand</item>
<item name="update" xsi:type="string">Magento\Analytics\Model\Connector\UpdateCommand</item>
<item name="notifyDataChanged" xsi:type="string">Magento\Analytics\Model\Connector\NotifyDataChangedCommand</item>
</argument>
</arguments>
</type><type name="Magento\Analytics\ReportXml\Config">
<arguments>
<argument name="data" xsi:type="object">Magento\Analytics\ReportXml\Config\Data</argument>
</arguments>
</type><virtualType name="Magento\Analytics\ReportXml\Config\Data" type="Magento\Framework\Config\Data">
<arguments>
<argument name="reader" xsi:type="object">Magento\Analytics\ReportXml\Config\Reader</argument>
<argument name="cacheId" xsi:type="string">Magento_Analytics_ReportXml_CacheId</argument>
</arguments>
</virtualType><virtualType name="Magento\Analytics\ReportXml\Config\SchemaLocator" type="Magento\Framework\Config\SchemaLocator">
<arguments>
<argument name="realPath" xsi:type="string">urn:magento:module:Magento_Analytics:etc/reports.xsd</argument>
</arguments>
</virtualType><virtualType name="Magento\Analytics\ReportXml\Config\Reader\Xml" type="Magento\Framework\Config\Reader\Filesystem">
<arguments>
<argument name="converter" xsi:type="object">Magento\Analytics\ReportXml\Config\Converter\Xml</argument>
<argument name="schemaLocator" xsi:type="object">Magento\Analytics\ReportXml\Config\SchemaLocator</argument>
<argument name="fileName" xsi:type="string">reports.xml</argument>
<argument name="idAttributes" xsi:type="array">
<item name="/config/report" xsi:type="string">name</item>
<item name="/config/report/source/link-source" xsi:type="array">
<item name="name" xsi:type="string">name</item>
<item name="alias" xsi:type="string">alias</item>
</item>
<item name="/config/report/source/attribute" xsi:type="string">name</item>
<item name="/config/report/source/link-source/attribute" xsi:type="string">name</item>
<!-- filter conditions for main source-->
<item name="/config/report/source(/filter)+" xsi:type="string">glue</item>
<item name="/config/report/source(/filter)+/condition" xsi:type="array">
<item name="attribute" xsi:type="string">attribute</item>
<item name="operator" xsi:type="string">operator</item>
</item>
<!-- filter conditions for joined source-->
<item name="/config/report/source/link-source(/filter)+" xsi:type="string">glue</item>
<item name="/config/report/source/link-source(/filter)+/condition" xsi:type="array">
<item name="attribute" xsi:type="string">attribute</item>
<item name="operator" xsi:type="string">operator</item>
</item>
<!-- join conditions for joined source-->
<item name="/config/report/source/link-source/using" xsi:type="string">glue</item>
<item name="/config/report/source/link-source/using/condition" xsi:type="array">
<item name="attribute" xsi:type="string">attribute</item>
<item name="operator" xsi:type="string">operator</item>
</item>
<item name="/config/report/source/link-source/using(/filter)+" xsi:type="string">glue</item>
<item name="/config/report/source/link-source/using(/filter)+/condition" xsi:type="array">
<item name="attribute" xsi:type="string">attribute</item>
<item name="operator" xsi:type="string">operator</item>
</item>
</argument>
</arguments>
</virtualType><type name="Magento\Analytics\ReportXml\Config\Reader">
<arguments>
<argument name="readers" xsi:type="array">
<item name="xml" xsi:type="object">Magento\Analytics\ReportXml\Config\Reader\Xml</item>
</argument>
</arguments>
</type><type name="Magento\Analytics\Model\Config">
<arguments>
<argument name="data" xsi:type="object">Magento\Analytics\Model\Config\Data</argument>
</arguments>
</type><virtualType name="Magento\Analytics\Model\Config\Data" type="Magento\Framework\Config\Data">
<arguments>
<argument name="reader" xsi:type="object">Magento\Analytics\Model\Config\Reader</argument>
<argument name="cacheId" xsi:type="string">Magento_Analytics_CacheId</argument>
</arguments>
</virtualType><virtualType name="Magento\Analytics\Model\Config\SchemaLocator" type="Magento\Framework\Config\SchemaLocator">
<arguments>
<argument name="realPath" xsi:type="string">urn:magento:module:Magento_Analytics:etc/analytics.xsd</argument>
</arguments>
</virtualType><virtualType name="Magento\Analytics\Model\Config\Reader\Xml" type="Magento\Framework\Config\Reader\Filesystem">
<arguments>
<argument name="converter" xsi:type="object">Magento\Analytics\ReportXml\Config\Converter\Xml</argument>
<argument name="schemaLocator" xsi:type="object">Magento\Analytics\Model\Config\SchemaLocator</argument>
<argument name="fileName" xsi:type="string">analytics.xml</argument>
<argument name="idAttributes" xsi:type="array">
<item name="/config/file" xsi:type="string">name</item>
</argument>
</arguments>
</virtualType><type name="Magento\Analytics\ReportXml\QueryFactory">
<arguments>
<argument name="assemblers" xsi:type="array">
<item name="from" xsi:type="object">Magento\Analytics\ReportXml\DB\Assembler\FromAssembler</item>
<item name="filter" xsi:type="object">Magento\Analytics\ReportXml\DB\Assembler\FilterAssembler</item>
<item name="join" xsi:type="object">Magento\Analytics\ReportXml\DB\Assembler\JoinAssembler</item>
</argument>
</arguments>
</type><type name="Magento\Analytics\Model\Config\Reader">
<arguments>
<argument name="readers" xsi:type="array">
<item name="xml" xsi:type="object">Magento\Analytics\Model\Config\Reader\Xml</item>
</argument>
</arguments>
</type><type name="Magento\Analytics\Model\StoreConfigurationProvider">
<arguments>
<argument name="configPaths" xsi:type="array">
<item name="0" xsi:type="string">web/unsecure/base_url</item>
<item name="1" xsi:type="string">currency/options/base</item>
<item name="2" xsi:type="string">general/locale/timezone</item>
<item name="3" xsi:type="string">general/country/default</item>
<item name="4" xsi:type="string">carriers/dhl/title</item>
<item name="5" xsi:type="string">carriers/dhl/active</item>
<item name="6" xsi:type="string">carriers/fedex/title</item>
<item name="7" xsi:type="string">carriers/fedex/active</item>
<item name="8" xsi:type="string">carriers/flatrate/title</item>
<item name="9" xsi:type="string">carriers/flatrate/active</item>
<item name="10" xsi:type="string">carriers/tablerate/title</item>
<item name="11" xsi:type="string">carriers/tablerate/active</item>
<item name="12" xsi:type="string">carriers/freeshipping/title</item>
<item name="13" xsi:type="string">carriers/freeshipping/active</item>
<item name="14" xsi:type="string">carriers/ups/title</item>
<item name="15" xsi:type="string">carriers/ups/active</item>
<item name="16" xsi:type="string">carriers/usps/title</item>
<item name="17" xsi:type="string">carriers/usps/active</item>
<item name="18" xsi:type="string">payment/free/title</item>
<item name="19" xsi:type="string">payment/free/active</item>
<item name="20" xsi:type="string">payment/checkmo/title</item>
<item name="21" xsi:type="string">payment/checkmo/active</item>
<item name="22" xsi:type="string">payment/purchaseorder/title</item>
<item name="23" xsi:type="string">payment/purchaseorder/active</item>
<item name="24" xsi:type="string">payment/banktransfer/title</item>
<item name="25" xsi:type="string">payment/banktransfer/active</item>
<item name="26" xsi:type="string">payment/cashondelivery/title</item>
<item name="27" xsi:type="string">payment/cashondelivery/active</item>
<item name="28" xsi:type="string">payment/paypal_billing_agreement/title</item>
<item name="29" xsi:type="string">payment/paypal_billing_agreement/active</item>
<item name="30" xsi:type="string">analytics/general/vertical</item>
<item name="1000" xsi:type="string">cms/pagebuilder/enabled</item><item name="1001" xsi:type="string">cms/pagebuilder/google_maps_api_key</item><item name="1002" xsi:type="string">cms/pagebuilder/column_grid_default</item><item name="1003" xsi:type="string">cms/pagebuilder/column_grid_max</item></argument>
</arguments>
</type><type name="Magento\Analytics\Model\Config\Source\Vertical">
<arguments>
<argument name="verticals" xsi:type="array">
<item name="0" xsi:type="string" translatable="true">Apps and Games</item>
<item name="1" xsi:type="string" translatable="true">Athletic/Sporting Goods</item>
<item name="2" xsi:type="string" translatable="true">Art and Design</item>
<item name="3" xsi:type="string" translatable="true">Auto Parts</item>
<item name="4" xsi:type="string" translatable="true">Baby/Children’s Apparel, Gear and Toys</item>
<item name="5" xsi:type="string" translatable="true">Beauty and Cosmetics</item>
<item name="6" xsi:type="string" translatable="true">Books, Music and Magazines</item>
<item name="7" xsi:type="string" translatable="true">Crafts and Stationery</item>
<item name="8" xsi:type="string" translatable="true">Consumer Electronics</item>
<item name="9" xsi:type="string" translatable="true">Deal Site</item>
<item name="10" xsi:type="string" translatable="true">Fashion Apparel and Accessories</item>
<item name="11" xsi:type="string" translatable="true">Food, Beverage and Grocery</item>
<item name="12" xsi:type="string" translatable="true">Home Goods and Furniture</item>
<item name="13" xsi:type="string" translatable="true">Home Improvement</item>
<item name="14" xsi:type="string" translatable="true">Jewelry and Watches</item>
<item name="15" xsi:type="string" translatable="true">Mass Merchant</item>
<item name="16" xsi:type="string" translatable="true">Office Supplies</item>
<item name="17" xsi:type="string" translatable="true">Outdoor and Camping Gear</item>
<item name="18" xsi:type="string" translatable="true">Pet Goods</item>
<item name="19" xsi:type="string" translatable="true">Pharma and Medical Devices</item>
<item name="20" xsi:type="string" translatable="true">Technology B2B</item>
<item name="21" xsi:type="string" translatable="true">Other</item>
</argument>
</arguments>
</type><type name="Magento\Config\Model\Config\Backend\Baseurl">
<plugin name="updateAnalyticsSubscription" type="Magento\Analytics\Model\Plugin\BaseUrlConfigPlugin"/>
</type><virtualType name="SignUpResponseResolver" type="Magento\Analytics\Model\Connector\Http\ResponseResolver">
<arguments>
<argument name="responseHandlers" xsi:type="array">
<item name="201" xsi:type="object">\Magento\Analytics\Model\Connector\ResponseHandler\SignUp</item>
</argument>
</arguments>
</virtualType><virtualType name="UpdateResponseResolver" type="Magento\Analytics\Model\Connector\Http\ResponseResolver">
<arguments>
<argument name="responseHandlers" xsi:type="array">
<item name="201" xsi:type="object">Magento\Analytics\Model\Connector\ResponseHandler\Update</item>
<item name="401" xsi:type="object">Magento\Analytics\Model\Connector\ResponseHandler\ReSignUp</item>
</argument>
</arguments>
</virtualType><virtualType name="OtpResponseResolver" type="Magento\Analytics\Model\Connector\Http\ResponseResolver">
<arguments>
<argument name="responseHandlers" xsi:type="array">
<item name="201" xsi:type="object">Magento\Analytics\Model\Connector\ResponseHandler\OTP</item>
<item name="401" xsi:type="object">Magento\Analytics\Model\Connector\ResponseHandler\ReSignUp</item>
</argument>
</arguments>
</virtualType><virtualType name="NotifyDataChangedResponseResolver" type="Magento\Analytics\Model\Connector\Http\ResponseResolver">
<arguments>
<argument name="responseHandlers" xsi:type="array">
<item name="401" xsi:type="object">Magento\Analytics\Model\Connector\ResponseHandler\ReSignUp</item>
</argument>
</arguments>
</virtualType><type name="Magento\Analytics\Model\Connector\SignUpCommand">
<arguments>
<argument name="responseResolver" xsi:type="object">SignUpResponseResolver</argument>
</arguments>
</type><type name="Magento\Analytics\Model\Connector\UpdateCommand">
<arguments>
<argument name="responseResolver" xsi:type="object">UpdateResponseResolver</argument>
</arguments>
</type><type name="Magento\Analytics\Model\Connector\OTPRequest">
<arguments>
<argument name="responseResolver" xsi:type="object">OtpResponseResolver</argument>
</arguments>
</type><type name="Magento\Analytics\Model\Connector\NotifyDataChangedCommand">
<arguments>
<argument name="responseResolver" xsi:type="object">NotifyDataChangedResponseResolver</argument>
</arguments>
</type><type name="Magento\Analytics\ReportXml\ConnectionFactory">
<arguments>
<argument name="connectionFactory" xsi:type="object">Magento\Framework\Model\ResourceModel\Type\Db\ConnectionFactory</argument>
</arguments>
</type><type name="Magento\Integration\Model\Validator\BearerTokenValidator">
<plugin name="allow_bearer_token" type="Magento\Analytics\Plugin\BearerTokenValidatorPlugin"/>
</type><preference for="Magento\Payment\Model\Cart\SalesModel\Order" type="Magento\CustomerBalance\Model\Cart\SalesModel\Order"/><preference for="Magento\Payment\Model\Cart\SalesModel\Quote" type="Magento\CustomerBalance\Model\Cart\SalesModel\Quote"/><preference for="Magento\CustomerBalance\Api\BalanceManagementInterface" type="Magento\CustomerBalance\Model\BalanceManagement"/><type name="Magento\Framework\Module\Manager">
<arguments>
<argument name="outputConfigPaths" xsi:type="array">
<item name="Magento_CustomerBalance" xsi:type="const">Magento\CustomerBalance\Helper\Data::XML_PATH_ENABLED</item>
<item name="Magento_Reward" xsi:type="const">Magento\Reward\Helper\Data::XML_PATH_ENABLED</item></argument>
</arguments>
</type><type name="Magento\Quote\Model\Quote\TotalsCollector">
<plugin name="quoteCustomerSegmentUpdater" type="Magento\CustomerBalance\Model\Plugin\TotalsCollector"/>
<plugin name="quoteGiftCardAmountUpdater" type="Magento\GiftCardAccount\Model\Plugin\TotalsCollector"/><plugin name="in-store-pickup-set-shipping-description" type="Magento\InventoryInStorePickupQuote\Plugin\Quote\Address\SetShippingDescription"/><plugin name="quoteRewardAmountUpdater" type="Magento\Reward\Model\Plugin\TotalsCollector"/></type><type name="Magento\Sales\Api\OrderRepositoryInterface">
<plugin name="get_customer_balance" type="Magento\CustomerBalance\Model\Plugin\OrderRepository"/>
<plugin name="save_order_tax" type="Magento\Tax\Model\Plugin\OrderSave"/><plugin name="gift_card_account" type="Magento\GiftCardAccount\Model\Plugin\OrderRepository"/><plugin name="save_gift_message" type="Magento\GiftMessage\Model\Plugin\OrderSave"/><plugin name="get_gift_message" type="Magento\GiftMessage\Model\Plugin\OrderGet"/><plugin name="get_order_gift_wrapping" type="Magento\GiftWrapping\Model\Plugin\OrderGiftWrapping"/><plugin name="get_order_item_gift_wrapping" type="Magento\GiftWrapping\Model\Plugin\OrderItemGiftWrapping"/><plugin name="get_pickup_location_for_order" type="Magento\InventoryInStorePickupSales\Plugin\Sales\Order\GetPickupLocationForOrderPlugin"/><plugin name="save_pickup_location_for_order" type="Magento\InventoryInStorePickupSales\Plugin\Sales\Order\SavePickupLocationForOrderPlugin"/><plugin name="rewardCreditmemoUpdater" type="Magento\Reward\Model\Plugin\OrderRepository"/></type><type name="Magento\Sales\Api\InvoiceRepositoryInterface">
<plugin name="get_customer_balance" type="Magento\CustomerBalance\Model\Plugin\InvoiceRepository"/>
<plugin name="gift_card_account" type="Magento\GiftCardAccount\Model\Plugin\InvoiceRepository"/><plugin name="get_invoice_gift_wrapping" type="Magento\GiftWrapping\Model\Plugin\InvoiceGiftWrapping"/></type><type name="Magento\Sales\Api\CreditmemoRepositoryInterface">
<plugin name="get_customer_balance" type="Magento\CustomerBalance\Model\Plugin\CreditmemoRepository"/>
<plugin name="gift_card_account" type="Magento\GiftCardAccount\Model\Plugin\CreditmemoRepository"/><plugin name="get_credit_memo_gift_wrapping" type="Magento\GiftWrapping\Model\Plugin\CreditMemoGiftWrapping"/><plugin name="deduct_source_item_quantity_on_refund" type="Magento\InventorySales\Plugin\Sales\OrderManagement\DeductSourceItemQuantityOnRefundPlugin"/></type><type name="Magento\Sales\Model\Order">
<plugin name="can_creditmemo_with_store_credit" type="Magento\CustomerBalance\Plugin\CreditMemoResolver"/>
<plugin name="express_order_invoice" type="Magento\Paypal\Plugin\OrderCanInvoice"/></type><type name="Magento\CustomerSegment\Helper\Data">
<arguments>
<argument name="segmentCollection" xsi:type="object">Magento\CustomerSegment\Model\ResourceModel\Segment\Collection</argument>
</arguments>
</type><type name="Magento\CustomerSegment\Model\Customer">
<arguments>
<argument name="visitor" xsi:type="object">Magento\Customer\Model\Visitor\Proxy</argument>
<argument name="customerSession" xsi:type="object">Magento\Customer\Model\Session\Proxy</argument>
</arguments>
</type><type name="Magento\CustomerSegment\Observer\ProcessEventGenericObserver">
<arguments>
<argument name="eventDataObjectNames" xsi:type="array">
<item name="customer_login" xsi:type="string">customer</item>
</argument>
</arguments>
</type><type name="Magento\CatalogWidget\Model\Rule\Condition\Combine">
<arguments>
<argument name="excludedAttributes" xsi:type="array">
<item name="0" xsi:type="string">quantity_and_stock_status</item>
</argument>
</arguments>
</type><type name="Magento\Customer\Model\AuthenticationInterface">
<plugin name="authenticateRehash" type="Migration\Plugin\Customer\Model\AuthenticationPlugin"/>
</type><type name="Magento\Deploy\Model\Deployer">
<arguments>
<argument name="alternativeSources" xsi:type="array">
<item name="css" xsi:type="object">AlternativeSourceProcessors</item>
</argument>
</arguments>
</type><type name="Magento\Deploy\Model\Deploy\LocaleDeploy">
<arguments>
<argument name="alternativeSources" xsi:type="array">
<item name="css" xsi:type="object">AlternativeSourceProcessors</item>
</argument>
</arguments>
</type><type name="Magento\Deploy\Console\Command\App\ConfigImportCommand">
<arguments>
<argument name="adminhtmlAreaProcessor" xsi:type="object">Magento\Config\Console\Command\EmulatedAdminhtmlAreaProcessor\Proxy</argument>
<argument name="areaList" xsi:type="object">Magento\Framework\App\AreaList\Proxy</argument>
</arguments>
</type><type name="Magento\Deploy\Model\Filesystem">
<arguments>
<argument name="shell" xsi:type="object">Magento\Framework\App\Shell</argument>
</arguments>
</type><type name="Magento\Deploy\Console\Command\App\SensitiveConfigSet\CollectorFactory">
<arguments>
<argument name="types" xsi:type="array">
<item name="interactive" xsi:type="string">Magento\Deploy\Console\Command\App\SensitiveConfigSet\InteractiveCollector</item>
<item name="simple" xsi:type="string">Magento\Deploy\Console\Command\App\SensitiveConfigSet\SimpleCollector</item>
</argument>
</arguments>
</type><preference for="Magento\Deploy\Package\BundleInterface" type="Magento\Deploy\Package\Bundle\RequireJs"/><type name="Magento\Deploy\Source\SourcePool">
<arguments>
<argument name="sources" xsi:type="array">
<item name="lib" xsi:type="object">Magento\Deploy\Source\Lib</item>
<item name="modules" xsi:type="object">Magento\Deploy\Source\Modules</item>
<item name="themes" xsi:type="object">Magento\Deploy\Source\Themes</item>
</argument>
</arguments>
</type><type name="Magento\Deploy\Package\Package">
<arguments>
<argument name="preProcessors" xsi:type="array">
<item name="less" xsi:type="object">Magento\Deploy\Package\Processor\PreProcessor\Less</item>
<item name="css" xsi:type="object">Magento\Deploy\Package\Processor\PreProcessor\Css</item>
</argument>
<argument name="postProcessors" xsi:type="array">
<item name="map" xsi:type="object">Magento\Deploy\Package\Processor\PostProcessor\Map</item>
<item name="cssUrls" xsi:type="object">Magento\Deploy\Package\Processor\PostProcessor\CssUrls</item>
</argument>
</arguments>
</type><preference for="Magento\Framework\Logger\Handler\Debug" type="Magento\Developer\Model\Logger\Handler\Debug"/><preference for="Magento\Framework\Logger\Handler\Syslog" type="Magento\Developer\Model\Logger\Handler\Syslog"/><type name="Magento\Framework\View\Result\Page">
<arguments>
<argument name="pageConfigRendererFactory" xsi:type="object">Magento\Developer\Model\View\Page\Config\RendererFactory</argument>
</arguments>
</type><type name="Magento\Developer\Console\Command\XmlCatalogGenerateCommand">
<arguments>
<argument name="formats" xsi:type="array">
<item name="phpstorm" xsi:type="object">Magento\Developer\Model\XmlCatalog\Format\PhpStorm</item>
<item name="vscode" xsi:type="object">Magento\Developer\Model\XmlCatalog\Format\VsCode</item>
</argument>
</arguments>
</type><type name="Magento\Developer\Model\View\Page\Config\RendererFactory">
<arguments>
<argument name="rendererTypes" xsi:type="array">
<item name="client_side_compilation" xsi:type="string">Magento\Developer\Model\View\Page\Config\ClientSideLessCompilation\Renderer</item>
<item name="server_side_compilation" xsi:type="string">Magento\Framework\View\Page\Config\Renderer</item>
</argument>
</arguments>
</type><virtualType name="AssetMaterializationStrategyFactoryForSourceThemeDeploy" type="Magento\Framework\App\View\Asset\MaterializationStrategy\Factory">
<arguments>
<argument name="strategiesList" xsi:type="array">
<item name="symlink" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink</item>
<item name="copy" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item>
</argument>
</arguments>
</virtualType><virtualType name="AssetPublisherForSymlink" type="Magento\Framework\App\View\Asset\Publisher">
<arguments>
<argument name="materializationStrategyFactory" xsi:type="object">AssetMaterializationStrategyFactoryForSourceThemeDeploy</argument>
</arguments>
</virtualType><virtualType name="FileGeneratorPublicationDecoratorForSourceThemeDeploy" type="Magento\Developer\Model\Css\PreProcessor\FileGenerator\PublicationDecorator">
<arguments>
<argument name="hasRelatedPublishing" xsi:type="boolean">true</argument>
<argument name="assetRepository" xsi:type="object">AssetRepositoryForSourceThemeDeploy</argument>
<argument name="assetPublisher" xsi:type="object">AssetPublisherForSymlink</argument>
</arguments>
</virtualType><virtualType name="PreProcessorInstructionImportForSourceThemeDeploy" type="Magento\Framework\Css\PreProcessor\Instruction\Import">
<arguments>
<argument name="relatedFileGenerator" xsi:type="object">FileGeneratorPublicationDecoratorForSourceThemeDeploy</argument>
</arguments>
</virtualType><virtualType name="AssetPreProcessorPoolForSourceThemeDeploy" type="Magento\Framework\View\Asset\PreProcessor\Pool">
<arguments>
<argument name="preprocessors" xsi:type="array">
<item name="less" xsi:type="array">
<item name="magento_import" xsi:type="array">
<item name="class" xsi:type="string">Magento\Framework\Css\PreProcessor\Instruction\MagentoImport</item>
</item>
<item name="import" xsi:type="array">
<item name="after" xsi:type="string">magento_import</item>
<item name="class" xsi:type="string">PreProcessorInstructionImportForSourceThemeDeploy</item>
</item>
</item>
</argument>
</arguments>
</virtualType><virtualType name="AssetSourceForSourceThemeDeploy" type="Magento\Framework\View\Asset\Source">
<arguments>
<argument name="preProcessorPool" xsi:type="object">AssetPreProcessorPoolForSourceThemeDeploy</argument>
</arguments>
</virtualType><virtualType name="AssetRepositoryForSourceThemeDeploy" type="Magento\Framework\View\Asset\Repository">
<arguments>
<argument name="assetSource" xsi:type="object">AssetSourceForSourceThemeDeploy</argument>
</arguments>
</virtualType><type name="Magento\Developer\Console\Command\SourceThemeDeployCommand">
<arguments>
<argument name="assetPublisher" xsi:type="object">AssetPublisherForSymlink</argument>
<argument name="assetRepository" xsi:type="object">AssetRepositoryForSourceThemeDeploy</argument>
</arguments>
</type><virtualType name="cssMinificationAdapter" type="Magento\Framework\Code\Minifier\Adapter\Css\CSSmin"/><virtualType name="jsMinificationAdapter" type="Magento\Framework\Code\Minifier\Adapter\Js\JShrink"/><virtualType name="cssMinificationProcessor" type="Magento\Framework\View\Asset\PreProcessor\Minify">
<arguments>
<argument name="adapter" xsi:type="object">cssMinificationAdapter</argument>
</arguments>
</virtualType><virtualType name="jsMinificationProcessor" type="Magento\Framework\View\Asset\PreProcessor\Minify">
<arguments>
<argument name="adapter" xsi:type="object">jsMinificationAdapter</argument>
</arguments>
</virtualType><virtualType name="FileGeneratorPublicationDecoratorForBaseFlow" type="Magento\Developer\Model\Css\PreProcessor\FileGenerator\PublicationDecorator">
<arguments>
<argument name="hasRelatedPublishing" xsi:type="boolean">false</argument>
<argument name="assetPublisher" xsi:type="object">AssetPublisherForSymlink</argument>
</arguments>
</virtualType><virtualType name="PreProcessorInstructionImportForBaseFlow" type="Magento\Framework\Css\PreProcessor\Instruction\Import">
<arguments>
<argument name="relatedFileGenerator" xsi:type="object">FileGeneratorPublicationDecoratorForBaseFlow</argument>
</arguments>
</virtualType><type name="Magento\Developer\Model\View\Asset\PreProcessor\FrontendCompilation">
<arguments>
<argument name="alternativeSource" xsi:type="object">AlternativeSourceProcessors</argument>
<argument name="lockerProcess" xsi:type="object">Magento\Framework\View\Asset\LockerProcess</argument>
<argument name="lockName" xsi:type="string">frontend-compilation-source</argument>
</arguments>
</type><type name="Magento\Developer\Model\View\Asset\PreProcessor\PreprocessorStrategy">
<arguments>
<argument name="alternativeSource" xsi:type="object">AlternativeSourceProcessors</argument>
</arguments>
</type><virtualType name="AssetPreProcessorPool" type="Magento\Framework\View\Asset\PreProcessor\Pool">
<arguments>
<argument name="preprocessors" xsi:type="array">
<item name="less" xsi:type="array">
<item name="magento_import" xsi:type="array">
<item name="class" xsi:type="string">Magento\Framework\Css\PreProcessor\Instruction\MagentoImport</item>
</item>
<item name="import" xsi:type="array">
<item name="after" xsi:type="string">magento_import</item>
<item name="class" xsi:type="string">PreProcessorInstructionImportForBaseFlow</item>
</item>
</item>
<item name="css" xsi:type="array">
<item name="preprocessorStrategy" xsi:type="array">
<item name="class" xsi:type="string">Magento\Developer\Model\View\Asset\PreProcessor\PreprocessorStrategy</item>
</item>
<item name="variable_notation" xsi:type="array">
<item name="after" xsi:type="string">preprocessorStrategy</item>
<item name="class" xsi:type="string">Magento\Framework\View\Asset\PreProcessor\VariableNotation</item>
</item>
<item name="module_notation" xsi:type="array">
<item name="after" xsi:type="string">variable_notation</item>
<item name="class" xsi:type="string">Magento\Framework\View\Asset\PreProcessor\ModuleNotation</item>
</item>
<item name="css_min" xsi:type="array">
<item name="after" xsi:type="string">module_notation</item>
<item name="class" xsi:type="string">cssMinificationProcessor</item>
</item>
</item>
<item name="js" xsi:type="array">
<item name="js_min" xsi:type="array">
<item name="class" xsi:type="string">jsMinificationProcessor</item>
</item>
<item name="js_translation" xsi:type="array">
<item name="class" xsi:type="string">Magento\Translation\Model\Js\PreProcessor</item>
</item></item>
<item name="json" xsi:type="array">
<item name="json_generation" xsi:type="array">
<item name="class" xsi:type="string">Magento\Translation\Model\Json\PreProcessor</item>
</item>
</item></argument>
</arguments>
</virtualType><type name="Magento\Framework\View\Asset\Source">
<arguments>
<argument name="preProcessorPool" xsi:type="object">AssetPreProcessorPool</argument>
</arguments>
</type><type name="Magento\Framework\Css\PreProcessor\Instruction\MagentoImport">
<arguments>
<argument name="fileSource" xsi:type="object">Magento\Framework\Css\PreProcessor\File\Collector\Aggregated</argument>
</arguments>
</type><type name="Magento\Framework\Css\PreProcessor\File\Collector\Aggregated">
<arguments>
<argument name="libraryFiles" xsi:type="object">Magento\Framework\Css\PreProcessor\File\Collector\Library</argument>
<argument name="baseFiles" xsi:type="object">cssSourceBaseFilesSorted</argument>
<argument name="overriddenBaseFiles" xsi:type="object">cssSourceOverriddenBaseFiles</argument>
</arguments>
</type><virtualType name="cssSourceBaseFilesSorted" type="Magento\Framework\View\File\Collector\Decorator\ModuleDependency">
<arguments>
<argument name="subject" xsi:type="object">cssSourceBaseFilesFiltered</argument>
</arguments>
</virtualType><virtualType name="cssSourceBaseFilesFiltered" type="Magento\Framework\View\File\Collector\Decorator\ModuleOutput">
<arguments>
<argument name="subject" xsi:type="object">cssSourceBaseFiles</argument>
</arguments>
</virtualType><virtualType name="cssSourceBaseFiles" type="Magento\Framework\View\File\Collector\Base">
<arguments>
<argument name="subDir" xsi:type="string">web</argument>
</arguments>
</virtualType><virtualType name="cssSourceOverriddenBaseFiles" type="Magento\Framework\View\File\Collector\Override\Base">
<arguments>
<argument name="subDir" xsi:type="string">web</argument>
</arguments>
</virtualType><type name="Magento\Developer\Model\TemplateEngine\Plugin\DebugHints">
<arguments>
<argument name="debugHintsPath" xsi:type="string">dev/debug/template_hints_storefront</argument>
<argument name="debugHintsWithParam" xsi:type="string">dev/debug/template_hints_storefront_show_with_parameter</argument>
<argument name="debugHintsParameter" xsi:type="string">dev/debug/template_hints_parameter_value</argument>
</arguments>
</type><type name="Magento\Checkout\Block\Cart\LayoutProcessor">
<plugin name="checkout_cart_shipping_dhl" type="Magento\Dhl\Model\Plugin\Checkout\Block\Cart\Shipping"/>
<plugin name="checkout_cart_shipping_plugin" type="Magento\OfflineShipping\Model\Plugin\Checkout\Block\Cart\Shipping"/></type><preference for="Magento\TargetRule\Model\ResourceModel\Index\IndexInterface" type="Magento\TargetRule\Model\ResourceModel\Index\Index"/><virtualType name="Magento\TargetRule\Model\ResourceModel\RelatedIndex" type="Magento\TargetRule\Model\ResourceModel\Index\Index">
<arguments>
<argument name="type" xsi:type="string">1</argument>
</arguments>
</virtualType><virtualType name="Magento\TargetRule\Model\ResourceModel\UpsellIndex" type="Magento\TargetRule\Model\ResourceModel\Index\Index">
<arguments>
<argument name="type" xsi:type="string">2</argument>
</arguments>
</virtualType><virtualType name="Magento\TargetRule\Model\ResourceModel\CrosssellIndex" type="Magento\TargetRule\Model\ResourceModel\Index\Index">
<arguments>
<argument name="type" xsi:type="string">3</argument>
</arguments>
</virtualType><type name="Magento\TargetRule\Model\ResourceModel\IndexPool">
<arguments>
<argument name="types" xsi:type="array">
<item name="1" xsi:type="string">Magento\TargetRule\Model\ResourceModel\RelatedIndex</item>
<item name="2" xsi:type="string">Magento\TargetRule\Model\ResourceModel\UpsellIndex</item>
<item name="3" xsi:type="string">Magento\TargetRule\Model\ResourceModel\CrosssellIndex</item>
</argument>
</arguments>
</type><type name="Magento\TargetRule\Model\Index">
<arguments>
<argument name="session" xsi:type="object">Magento\Customer\Model\Session\Proxy</argument>
</arguments>
</type><type name="Magento\TargetRule\Model\ResourceModel\Index">
<arguments>
<argument name="session" xsi:type="object">Magento\Customer\Model\Session\Proxy</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Category">
<plugin name="targetRuleCategoryInvalidate" type="Magento\TargetRule\Model\Indexer\TargetRule\Plugin\Category"/>
<plugin name="categoryChange" type="Magento\CatalogPermissions\Model\Indexer\Plugin\Category"/><plugin name="catalogStagingCategoryPlugin" type="Magento\CatalogStaging\Plugin\Model\Category"/></type><type name="Magento\CustomerSegment\Model\Segment">
<plugin name="targetRuleCustomerSegmentInvalidate" type="Magento\TargetRule\Model\Indexer\TargetRule\Plugin\CustomerSegment"/>
</type><type name="Magento\TargetRule\Model\Indexer\TargetRule\AbstractProcessor">
<arguments>
<argument name="statusContainer" xsi:type="object" shared="true">Magento\TargetRule\Model\Indexer\TargetRule\Status\Container</argument>
</arguments>
</type><preference for="Magento\AdvancedRule\Model\Condition\FilterGroupInterface" type="Magento\AdvancedRule\Model\Condition\FilterGroup"/><preference for="Magento\AdvancedRule\Model\Condition\FilterInterface" type="Magento\AdvancedRule\Model\Condition\Filter"/><preference for="Magento\AdvancedSearch\Model\Client\ClientFactoryInterface" type="Magento\AdvancedSearch\Model\Client\ClientFactory"/><type name="Magento\AdvancedSearch\Block\Recommendations">
<arguments>
<argument name="searchDataProvider" xsi:type="object">Magento\AdvancedSearch\Model\Recommendations\DataProvider</argument>
<argument name="title" xsi:type="string" translatable="true">Related search terms</argument>
</arguments>
</type><type name="Magento\AdvancedSearch\Block\Suggestions">
<arguments>
<argument name="searchDataProvider" xsi:type="object">Magento\AdvancedSearch\Model\SuggestedQueries</argument>
<argument name="title" xsi:type="string" translatable="true">Did you mean</argument>
</arguments>
</type><type name="Magento\AdvancedSearch\Model\Client\ClientResolver">
<arguments>
<argument name="path" xsi:type="const">Magento\CatalogSearch\Model\ResourceModel\EngineInterface::CONFIG_ENGINE_PATH</argument>
<argument name="scopeType" xsi:type="const">\Magento\Store\Model\ScopeInterface::SCOPE_STORE</argument>
<argument name="clientFactories" xsi:type="array">
<item name="elasticsearch5" xsi:type="string">\Magento\Elasticsearch\Elasticsearch5\Model\Client\ElasticsearchFactory</item>
<item name="elasticsearch6" xsi:type="string">\Magento\Elasticsearch6\Model\Client\ElasticsearchFactory</item><item name="elasticsearch7" xsi:type="string">\Magento\Elasticsearch7\Model\Client\ElasticsearchFactory</item></argument><argument name="clientOptions" xsi:type="array">
<item name="elasticsearch5" xsi:type="string">Magento\Elasticsearch\Model\Config</item>
<item name="elasticsearch6" xsi:type="string">\Magento\Elasticsearch\Model\Config</item><item name="elasticsearch7" xsi:type="string">\Magento\Elasticsearch\Model\Config</item></argument></arguments>
</type><type name="Magento\AdvancedSearch\Model\SuggestedQueries">
<arguments>
<argument name="data" xsi:type="array">
<item name="mysql" xsi:type="string">Magento\AdvancedSearch\Model\DataProvider\Suggestions</item>
<item name="elasticsearch5" xsi:type="string">Magento\Elasticsearch\Model\DataProvider\Suggestions</item><item name="elasticsearch6" xsi:type="string">Magento\Elasticsearch6\Model\DataProvider\Suggestions</item><item name="elasticsearch7" xsi:type="string">Magento\Elasticsearch7\Model\DataProvider\Suggestions</item></argument>
</arguments>
</type><type name="Magento\AdvancedSearch\Model\ResourceModel\Index">
<arguments>
<argument name="tableResolver" xsi:type="object">
Magento\Catalog\Model\Indexer\Product\Price\PriceTableResolver
</argument>
</arguments>
</type><preference for="Magento\AdvancedSearch\Model\Adapter\DataMapper\AdditionalFieldsProviderInterface" type="Magento\AdvancedSearch\Model\Adapter\DataMapper\AdditionalFieldsProvider"/><preference for="Magento\Elasticsearch\Model\Adapter\FieldMapperInterface" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\FieldMapperResolver"/><preference for="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\ResolverInterface" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver"/><preference for="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\ResolverInterface" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\CompositeResolver"/><preference for="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\ResolverInterface" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\IndexResolver"/><preference for="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\ConverterInterface" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\Converter"/><preference for="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\ConverterInterface" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter"/><preference for="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProviderInterface" type="categoryPermissionsCompositeFieldProvider"/><preference for="Magento\Framework\Search\Dynamic\DataProviderInterface" type="Magento\Elasticsearch\SearchAdapter\Dynamic\DataProvider"/><preference for="Magento\Elasticsearch\Model\DataProvider\Base\GetSuggestionFrequencyInterface" type="Magento\Elasticsearch\Model\DataProvider\Base\GetSuggestionFrequency"/><type name="Magento\Catalog\Model\Indexer\Category\Product\Action\Rows">
<plugin name="catalogsearchFulltextProductAssignment" type="Magento\Elasticsearch\Model\Indexer\Fulltext\Plugin\Category\Product\Action\Rows"/>
</type><type name="Magento\Elasticsearch\Model\Config">
<arguments>
<argument name="engineList" xsi:type="array">
<item name="elasticsearch5" xsi:type="string">elasticsearch5</item>
<item name="elasticsearch6" xsi:type="string">elasticsearch6</item><item name="elasticsearch7" xsi:type="string">elasticsearch7</item></argument>
</arguments>
</type><virtualType name="Magento\Elasticsearch\Model\Layer\Search\Context" type="Magento\Catalog\Model\Layer\Search\Context">
<arguments>
<argument name="collectionProvider" xsi:type="object">elasticsearchLayerSearchItemCollectionProvider</argument>
<argument name="stateKey" xsi:type="object">Magento\CatalogSearch\Model\Layer\Search\StateKey</argument>
</arguments>
</virtualType><virtualType name="Magento\Elasticsearch\Model\Layer\Category\Context" type="Magento\Catalog\Model\Layer\Category\Context">
<arguments>
<argument name="collectionProvider" xsi:type="object">elasticsearchLayerCategoryItemCollectionProvider</argument>
</arguments>
</virtualType><virtualType name="elasticsearchFulltextSearchCollection" type="Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection">
<arguments>
<argument name="searchRequestName" xsi:type="string">quick_search_container</argument>
<argument name="searchCriteriaResolverFactory" xsi:type="object">elasticsearchSearchCriteriaResolverFactory</argument>
<argument name="searchResultApplierFactory" xsi:type="object">elasticsearchSearchResultApplier\Factory</argument>
<argument name="totalRecordsResolverFactory" xsi:type="object">elasticsearchTotalRecordsResolver\Factory</argument>
<argument name="defaultFilterStrategyApplyChecker" xsi:type="object">Magento\Elasticsearch\Model\ResourceModel\Fulltext\Collection\DefaultFilterStrategyApplyChecker</argument>
</arguments>
</virtualType><virtualType name="elasticsearchFulltextSearchCollectionFactory" type="Magento\CatalogSearch\Model\ResourceModel\Fulltext\SearchCollectionFactory">
<arguments>
<argument name="instanceName" xsi:type="string">elasticsearchFulltextSearchCollection</argument>
</arguments>
</virtualType><virtualType name="elasticsearchLayerSearchItemCollectionProvider" type="Magento\Elasticsearch\Model\Layer\Search\ItemCollectionProvider">
<arguments>
<argument name="factories" xsi:type="array">
<item name="mysql" xsi:type="object">Magento\CatalogSearch\Model\ResourceModel\Fulltext\SearchCollectionFactory</item>
<item name="elasticsearch5" xsi:type="object">elasticsearchFulltextSearchCollectionFactory</item>
<item name="elasticsearch6" xsi:type="object">elasticsearchFulltextSearchCollectionFactory</item><item name="elasticsearch7" xsi:type="object">elasticsearchFulltextSearchCollectionFactory</item></argument>
</arguments>
</virtualType><virtualType name="elasticsearchCategoryCollection" type="Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection">
<arguments>
<argument name="searchRequestName" xsi:type="string">catalog_view_container</argument>
<argument name="searchCriteriaResolverFactory" xsi:type="object">elasticsearchSearchCriteriaResolverFactory</argument>
<argument name="searchResultApplierFactory" xsi:type="object">elasticsearchSearchResultApplier\Factory</argument>
<argument name="totalRecordsResolverFactory" xsi:type="object">elasticsearchTotalRecordsResolver\Factory</argument>
<argument name="defaultFilterStrategyApplyChecker" xsi:type="object">Magento\Elasticsearch\Model\ResourceModel\Fulltext\Collection\DefaultFilterStrategyApplyChecker</argument>
</arguments>
</virtualType><virtualType name="elasticsearchCategoryCollectionFactory" type="Magento\CatalogSearch\Model\ResourceModel\Fulltext\SearchCollectionFactory">
<arguments>
<argument name="instanceName" xsi:type="string">elasticsearchCategoryCollection</argument>
</arguments>
</virtualType><virtualType name="elasticsearchLayerCategoryItemCollectionProvider" type="Magento\Elasticsearch\Model\Layer\Category\ItemCollectionProvider">
<arguments>
<argument name="factories" xsi:type="array">
<item name="mysql" xsi:type="object">Magento\CatalogSearch\Model\ResourceModel\Fulltext\CollectionFactory</item>
<item name="elasticsearch5" xsi:type="object">elasticsearchCategoryCollectionFactory</item>
<item name="elasticsearch6" xsi:type="object">elasticsearchCategoryCollectionFactory</item><item name="elasticsearch7" xsi:type="object">elasticsearchCategoryCollectionFactory</item></argument>
</arguments>
</virtualType><virtualType name="elasticsearchAdvancedCollection" type="Magento\CatalogSearch\Model\ResourceModel\Advanced\Collection">
<arguments>
<argument name="searchRequestName" xsi:type="string">advanced_search_container</argument>
<argument name="searchCriteriaResolverFactory" xsi:type="object">elasticsearchSearchCriteriaResolverFactory</argument>
<argument name="searchResultApplierFactory" xsi:type="object">elasticsearchSearchResultApplier\Factory</argument>
<argument name="totalRecordsResolverFactory" xsi:type="object">elasticsearchTotalRecordsResolver\Factory</argument>
<argument name="defaultFilterStrategyApplyChecker" xsi:type="object">Magento\Elasticsearch\Model\ResourceModel\Fulltext\Collection\DefaultFilterStrategyApplyChecker</argument>
</arguments>
</virtualType><virtualType name="elasticsearchAdvancedCollectionFactory" type="Magento\CatalogSearch\Model\ResourceModel\Advanced\CollectionFactory">
<arguments>
<argument name="instanceName" xsi:type="string">elasticsearchAdvancedCollection</argument>
</arguments>
</virtualType><type name="Magento\CatalogSearch\Model\Search\ItemCollectionProvider">
<arguments>
<argument name="factories" xsi:type="array">
<item name="elasticsearch5" xsi:type="object">elasticsearchAdvancedCollectionFactory</item>
<item name="elasticsearch6" xsi:type="object">elasticsearchAdvancedCollectionFactory</item><item name="elasticsearch7" xsi:type="object">elasticsearchAdvancedCollectionFactory</item><item name="default" xsi:type="object">elasticsearchAdvancedCollectionFactory</item></argument>
</arguments>
</type><type name="Magento\CatalogSearch\Model\Advanced\ProductCollectionPrepareStrategyProvider">
<arguments>
<argument name="strategies" xsi:type="array">
<item name="default" xsi:type="object">Magento\Elasticsearch\Model\Advanced\ProductCollectionPrepareStrategy</item>
<item name="elasticsearch5" xsi:type="object">Magento\Elasticsearch\Model\Advanced\ProductCollectionPrepareStrategy</item>
<item name="elasticsearch6" xsi:type="object">Magento\Elasticsearch\Model\Advanced\ProductCollectionPrepareStrategy</item><item name="elasticsearch7" xsi:type="object">Magento\Elasticsearch\Model\Advanced\ProductCollectionPrepareStrategy</item></argument>
</arguments>
</type><virtualType name="elasticsearchSearchCriteriaResolverFactory" type="Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection\SearchCriteriaResolverFactory">
<arguments>
<argument name="instanceName" xsi:type="string">Magento\Elasticsearch\Model\ResourceModel\Fulltext\Collection\SearchCriteriaResolver</argument>
</arguments>
</virtualType><virtualType name="elasticsearchSearchResultApplier\Factory" type="Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection\SearchResultApplierFactory">
<arguments>
<argument name="instanceName" xsi:type="string">Magento\Elasticsearch\Model\ResourceModel\Fulltext\Collection\SearchResultApplier</argument>
</arguments>
</virtualType><virtualType name="elasticsearchTotalRecordsResolver\Factory" type="Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection\TotalRecordsResolverFactory">
<arguments>
<argument name="instanceName" xsi:type="string">Magento\Elasticsearch\Model\ResourceModel\Fulltext\Collection\TotalRecordsResolver</argument>
</arguments>
</virtualType><type name="Magento\Elasticsearch\Model\Adapter\FieldMapper\FieldMapperResolver">
<arguments>
<argument name="fieldMappers" xsi:type="array">
<item name="product" xsi:type="string">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\ProductFieldMapperProxy</item>
</argument>
</arguments>
</type><virtualType name="additionalFieldsProviderForElasticsearch" type="Magento\AdvancedSearch\Model\Adapter\DataMapper\AdditionalFieldsProvider">
<arguments>
<argument name="fieldsProviders" xsi:type="array">
<item name="categories" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\BatchDataMapper\CategoryFieldsProviderProxy</item>
<item name="prices" xsi:type="object">Magento\Elasticsearch\Model\Adapter\BatchDataMapper\PriceFieldsProvider</item>
</argument>
</arguments>
</virtualType><type name="Magento\Elasticsearch\Model\Adapter\BatchDataMapper\ProductDataMapper">
<arguments>
<argument name="additionalFieldsProvider" xsi:type="object">additionalFieldsProviderForElasticsearch</argument>
<argument name="filterableAttributeTypes" xsi:type="array">
<item name="boolean" xsi:type="string">boolean</item>
<item name="multiselect" xsi:type="string">multiselect</item>
<item name="select" xsi:type="string">select</item>
</argument>
</arguments>
</type><preference for="Magento\Elasticsearch\Model\Adapter\BatchDataMapperInterface" type="Magento\Elasticsearch\Model\Adapter\BatchDataMapper\DataMapperResolver"/><type name="Magento\Elasticsearch\Model\Adapter\BatchDataMapper\DataMapperFactory">
<arguments>
<argument name="dataMappers" xsi:type="array">
<item name="product" xsi:type="string">Magento\Elasticsearch\Model\Adapter\BatchDataMapper\ProductDataMapper</item>
</argument>
</arguments>
</type><preference for="Magento\Elasticsearch\Model\Adapter\Index\BuilderInterface" type="Magento\Elasticsearch\Model\Adapter\Index\Builder"/><preference for="Magento\Elasticsearch\Model\Adapter\Index\Config\EsConfigInterface" type="Magento\Elasticsearch\Model\Adapter\Index\Config\EsConfig"/><type name="Magento\Search\Model\Adminhtml\System\Config\Source\Engine">
<arguments>
<argument name="engines" xsi:type="array">
<item sortOrder="10" name="elasticsearch5" xsi:type="string">Elasticsearch 5.0+ (Deprecated)</item>
<item sortOrder="20" name="elasticsearch6" xsi:type="string">Elasticsearch 6.x (Deprecated)</item><item sortOrder="30" name="elasticsearch7" xsi:type="string">Elasticsearch 7</item></argument>
</arguments>
</type><type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\BatchDataMapper\CategoryFieldsProviderProxy">
<arguments>
<argument name="categoryFieldsProviders" xsi:type="array">
<item name="elasticsearch5" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\BatchDataMapper\CategoryFieldsProvider</item>
<item name="elasticsearch6" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\BatchDataMapper\CategoryFieldsProvider</item><item name="elasticsearch7" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\BatchDataMapper\CategoryFieldsProvider</item></argument>
</arguments>
</type><type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\ProductFieldMapperProxy">
<arguments>
<argument name="productFieldMappers" xsi:type="array">
<item name="elasticsearch5" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\ProductFieldMapper</item>
<item name="elasticsearch6" xsi:type="object">Magento\Elasticsearch6\Model\Adapter\FieldMapper\ProductFieldMapper</item><item name="elasticsearch7" xsi:type="object">Magento\Elasticsearch7\Model\Adapter\FieldMapper\ProductFieldMapper</item></argument>
</arguments>
</type><type name="Magento\CatalogSearch\Model\Indexer\IndexerHandlerFactory">
<arguments>
<argument name="handlers" xsi:type="array">
<item name="elasticsearch5" xsi:type="string">Magento\Elasticsearch\Model\Indexer\IndexerHandler</item>
<item name="elasticsearch6" xsi:type="string">Magento\Elasticsearch\Model\Indexer\IndexerHandler</item><item name="elasticsearch7" xsi:type="string">Magento\Elasticsearch\Model\Indexer\IndexerHandler</item></argument>
</arguments>
</type><type name="Magento\CatalogSearch\Model\Indexer\IndexStructureFactory">
<arguments>
<argument name="structures" xsi:type="array">
<item name="elasticsearch5" xsi:type="string">Magento\Elasticsearch\Model\Indexer\IndexStructure</item>
<item name="elasticsearch6" xsi:type="string">Magento\Elasticsearch\Model\Indexer\IndexStructure</item><item name="elasticsearch7" xsi:type="string">Magento\Elasticsearch\Model\Indexer\IndexStructure</item></argument>
</arguments>
</type><type name="Magento\CatalogSearch\Model\ResourceModel\EngineProvider">
<arguments>
<argument name="engines" xsi:type="array">
<item name="elasticsearch5" xsi:type="string">Magento\Elasticsearch\Model\ResourceModel\Engine</item>
<item name="elasticsearch6" xsi:type="string">Magento\Elasticsearch\Model\ResourceModel\Engine</item><item name="elasticsearch7" xsi:type="string">Magento\Elasticsearch\Model\ResourceModel\Engine</item></argument>
</arguments>
</type><type name="Magento\Search\Model\AdapterFactory">
<arguments>
<argument name="adapters" xsi:type="array">
<item name="elasticsearch5" xsi:type="string">Magento\Elasticsearch\Elasticsearch5\SearchAdapter\Adapter</item>
<item name="elasticsearch6" xsi:type="string">Magento\Elasticsearch\Elasticsearch5\SearchAdapter\Adapter</item><item name="elasticsearch7" xsi:type="string">\Magento\Elasticsearch7\SearchAdapter\Adapter</item></argument>
</arguments>
</type><virtualType name="Magento\Elasticsearch\SearchAdapter\ProductEntityMetadata" type="Magento\Framework\Search\EntityMetadata">
<arguments>
<argument name="entityId" xsi:type="string">_id</argument>
</arguments>
</virtualType><type name="Magento\Elasticsearch\SearchAdapter\DocumentFactory">
<arguments>
<argument name="entityMetadata" xsi:type="object">Magento\Elasticsearch\SearchAdapter\ProductEntityMetadata</argument>
</arguments>
</type><type name="Magento\Elasticsearch\SearchAdapter\ConnectionManager">
<arguments>
<argument name="clientFactory" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Client\ClientFactoryProxy</argument>
<argument name="clientConfig" xsi:type="object">Magento\Elasticsearch\Model\Config</argument>
</arguments>
</type><virtualType name="Magento\Elasticsearch\Elasticsearch5\SearchAdapter\ConnectionManager" type="Magento\Elasticsearch\SearchAdapter\ConnectionManager">
<arguments>
<argument name="clientFactory" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Client\ClientFactoryProxy</argument>
<argument name="clientConfig" xsi:type="object">Magento\Elasticsearch\Model\Config</argument>
</arguments>
</virtualType><virtualType name="Magento\Elasticsearch\Elasticsearch5\Model\Client\ElasticsearchFactory" type="Magento\AdvancedSearch\Model\Client\ClientFactory">
<arguments>
<argument name="clientClass" xsi:type="string">Magento\Elasticsearch\Elasticsearch5\Model\Client\Elasticsearch</argument>
</arguments>
</virtualType><type name="Magento\Elasticsearch\Elasticsearch5\Model\Client\ClientFactoryProxy">
<arguments>
<argument name="clientFactories" xsi:type="array">
<item name="elasticsearch5" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Client\ElasticsearchFactory</item>
<item name="elasticsearch6" xsi:type="object">Magento\Elasticsearch6\Model\Client\ElasticsearchFactory</item><item name="elasticsearch7" xsi:type="object">Magento\Elasticsearch7\Model\Client\ElasticsearchFactory</item></argument>
</arguments>
</type><type name="Magento\Elasticsearch\Elasticsearch5\SearchAdapter\Adapter">
<arguments>
<argument name="connectionManager" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\SearchAdapter\ConnectionManager</argument>
</arguments>
</type><type name="Magento\Framework\Search\Dynamic\IntervalFactory">
<arguments>
<argument name="intervals" xsi:type="array">
<item name="elasticsearch5" xsi:type="string">Magento\Elasticsearch\Elasticsearch5\SearchAdapter\Aggregation\Interval</item>
<item name="elasticsearch6" xsi:type="string">Magento\Elasticsearch\Elasticsearch5\SearchAdapter\Aggregation\Interval</item><item name="elasticsearch7" xsi:type="string">Magento\Elasticsearch\Elasticsearch5\SearchAdapter\Aggregation\Interval</item></argument>
</arguments>
</type><type name="Magento\Framework\Search\Dynamic\DataProviderFactory">
<arguments>
<argument name="dataProviders" xsi:type="array">
<item name="elasticsearch5" xsi:type="string">Magento\Elasticsearch\SearchAdapter\Dynamic\DataProvider</item>
<item name="elasticsearch6" xsi:type="string">Magento\Elasticsearch\SearchAdapter\Dynamic\DataProvider</item><item name="elasticsearch7" xsi:type="string">Magento\Elasticsearch\SearchAdapter\Dynamic\DataProvider</item></argument>
</arguments>
</type><type name="Magento\Elasticsearch\SearchAdapter\Aggregation\Builder">
<arguments>
<argument name="dataProviderContainer" xsi:type="array">
<item name="catalogsearch_fulltext" xsi:type="object">Magento\Elasticsearch\SearchAdapter\Dynamic\DataProvider</item>
</argument>
<argument name="aggregationContainer" xsi:type="array">
<item name="termBucket" xsi:type="object">Magento\Elasticsearch\SearchAdapter\Aggregation\Builder\Term</item>
<item name="dynamicBucket" xsi:type="object">Magento\Elasticsearch\SearchAdapter\Aggregation\Builder\Dynamic</item>
</argument>
</arguments>
</type><type name="Magento\Framework\Indexer\Config\DependencyInfoProvider">
<plugin name="indexerDependencyUpdaterPlugin" type="Magento\Elasticsearch\Model\Indexer\Plugin\DependencyUpdaterPlugin"/>
</type><type name="Magento\Elasticsearch\SearchAdapter\Query\Preprocessor\Stopwords">
<arguments>
<argument name="stopwordsModule" xsi:type="string">Magento_Elasticsearch</argument>
<argument name="stopwordsDirectory" xsi:type="string">stopwords</argument>
</arguments>
</type><virtualType name="Magento\Elasticsearch\Model\Adapter\Index\Config\Reader" type="Magento\Framework\Config\Reader\Filesystem">
<arguments>
<argument name="converter" xsi:type="object">Magento\Elasticsearch\Model\Adapter\Index\Config\Converter</argument>
<argument name="schemaLocator" xsi:type="object">Magento\Elasticsearch\Model\Adapter\Index\Config\SchemaLocator</argument>
<argument name="fileName" xsi:type="string">esconfig.xml</argument>
</arguments>
</virtualType><type name="Magento\Elasticsearch\Model\Adapter\Index\Config\EsConfig">
<arguments>
<argument name="reader" xsi:type="object">Magento\Elasticsearch\Model\Adapter\Index\Config\Reader</argument>
<argument name="cacheId" xsi:type="string">elasticsearch_index_config</argument>
</arguments>
</type><type name="Magento\Elasticsearch\SearchAdapter\Dynamic\DataProvider">
<arguments>
<argument name="indexerId" xsi:type="const">\Magento\CatalogSearch\Model\Indexer\Fulltext::INDEXER_ID</argument>
</arguments>
</type><type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\BatchDataMapper\CategoryFieldsProvider">
<arguments>
<argument name="fieldNameResolver" xsi:type="object">elasticsearch5FieldNameResolver</argument>
</arguments>
</type><type name="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver">
<arguments>
<argument name="items" xsi:type="array">
<item name="notEav" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\NotEavAttribute</item>
<item name="special" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\SpecialAttribute</item>
<item name="price" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\Price</item>
<item name="categoryName" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CategoryName</item>
<item name="position" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\Position</item>
<item name="default" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\DefaultResolver</item>
</argument>
</arguments>
</type><virtualType name="elasticsearch5FieldNameResolver" type="\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver">
<arguments>
<argument name="items" xsi:type="array">
<item name="notEav" xsi:type="object" sortOrder="10">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\NotEavAttribute</item>
<item name="special" xsi:type="object" sortOrder="20">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\SpecialAttribute</item>
<item name="price" xsi:type="object" sortOrder="30">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\Price</item>
<item name="categoryName" xsi:type="object" sortOrder="40">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CategoryName</item>
<item name="position" xsi:type="object" sortOrder="50">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\Position</item>
<item name="default" xsi:type="object" sortOrder="100">elasticsearch5FieldNameDefaultResolver</item>
</argument>
</arguments>
</virtualType><virtualType name="elasticsearch5FieldNameDefaultResolver" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\DefaultResolver">
<arguments>
<argument name="fieldTypeResolver" xsi:type="object">\Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\CompositeResolver</argument>
<argument name="fieldTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter</argument>
</arguments>
</virtualType><type name="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\CompositeResolver">
<arguments>
<argument name="items" xsi:type="array">
<item name="integer" xsi:type="object" sortOrder="10">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\IntegerType</item>
<item name="datetime" xsi:type="object" sortOrder="20">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\DateTimeType</item>
<item name="float" xsi:type="object" sortOrder="30">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\FloatType</item>
<item name="default" xsi:type="object" sortOrder="100">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\DefaultResolver</item>
</argument>
</arguments>
</type><type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\CompositeResolver">
<arguments>
<argument name="items" xsi:type="array">
<item name="keyword" xsi:type="object" sortOrder="10">\Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\KeywordType</item>
<item name="integer" xsi:type="object" sortOrder="20">\Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\IntegerType</item>
<item name="datetime" xsi:type="object" sortOrder="30">elasticsearch5FieldTypeDateTimeResolver</item>
<item name="float" xsi:type="object" sortOrder="40">elasticsearch5FieldTypeFloatResolver</item>
<item name="default" xsi:type="object" sortOrder="100">elasticsearch5FieldTypeDefaultResolver</item>
</argument>
</arguments>
</type><type name="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\CompositeFieldProvider">
<arguments>
<argument name="providers" xsi:type="array">
<item name="static" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\StaticField</item>
<item name="dynamic" xsi:type="object">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\DynamicField</item>
</argument>
</arguments>
</type><virtualType name="elasticsearch5FieldProvider" type="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\CompositeFieldProvider">
<arguments>
<argument name="providers" xsi:type="array">
<item name="static" xsi:type="object">elasticsearch5StaticFieldProvider</item>
<item name="dynamic" xsi:type="object">elasticsearch5DynamicFieldProvider</item>
</argument>
</arguments>
</virtualType><virtualType name="elasticsearch5StaticFieldProvider" type="\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\StaticField">
<arguments>
<argument name="fieldTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter</argument>
<argument name="indexTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\Converter</argument>
<argument name="fieldIndexResolver" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\IndexResolver</argument>
<argument name="fieldTypeResolver" xsi:type="object">\Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\CompositeResolver</argument>
<argument name="fieldNameResolver" xsi:type="object">elasticsearch5FieldNameResolver</argument>
</arguments>
</virtualType><virtualType name="elasticsearch5DynamicFieldProvider" type="\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\DynamicField">
<arguments>
<argument name="fieldTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter</argument>
<argument name="indexTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\Converter</argument>
</arguments>
</virtualType><type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\KeywordType">
<arguments>
<argument name="fieldTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter</argument>
</arguments>
</type><type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\IntegerType">
<arguments>
<argument name="fieldTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter</argument>
</arguments>
</type><virtualType name="elasticsearch5FieldTypeDateTimeResolver" type="\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\DateTimeType">
<arguments>
<argument name="fieldTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter</argument>
</arguments>
</virtualType><virtualType name="elasticsearch5FieldTypeFloatResolver" type="\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\FloatType">
<arguments>
<argument name="fieldTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter</argument>
</arguments>
</virtualType><virtualType name="elasticsearch5FieldTypeDefaultResolver" type="\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\DefaultResolver">
<arguments>
<argument name="fieldTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter</argument>
</arguments>
</virtualType><type name="Magento\Elasticsearch\Model\Adapter\Elasticsearch">
<arguments>
<argument name="staticFieldProvider" xsi:type="object">elasticsearch5StaticFieldProvider</argument>
</arguments>
</type><type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\ProductFieldMapper">
<arguments>
<argument name="fieldProvider" xsi:type="object">elasticsearch5FieldProvider</argument>
<argument name="fieldNameResolver" xsi:type="object">elasticsearch5FieldNameResolver</argument>
</arguments>
</type><type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\IndexResolver">
<arguments>
<argument name="converter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldIndex\Converter</argument>
<argument name="fieldTypeConverter" xsi:type="object">Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Converter</argument>
<argument name="fieldTypeResolver" xsi:type="object">\Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\Product\FieldProvider\FieldType\Resolver\CompositeResolver</argument>
</arguments>
</type><type name="Magento\Search\Model\Search\PageSizeProvider">
<arguments>
<argument name="pageSizeBySearchEngine" xsi:type="array">
<item name="elasticsearch5" xsi:type="number">10000</item>
<item name="elasticsearch6" xsi:type="number">10000</item><item name="elasticsearch7" xsi:type="number">10000</item></argument>
</arguments>
</type><type name="Magento\Elasticsearch\SearchAdapter\Query\ValueTransformerPool">
<arguments>
<argument name="valueTransformers" xsi:type="array">
<item name="default" xsi:type="object">Magento\Elasticsearch\SearchAdapter\Query\ValueTransformer\TextTransformer</item>
<item name="date" xsi:type="object">Magento\Elasticsearch\SearchAdapter\Query\ValueTransformer\DateTransformer</item>
<item name="float" xsi:type="object">Magento\Elasticsearch\SearchAdapter\Query\ValueTransformer\FloatTransformer</item>
<item name="double" xsi:type="object">Magento\Elasticsearch\SearchAdapter\Query\ValueTransformer\FloatTransformer</item>
<item name="integer" xsi:type="object">Magento\Elasticsearch\SearchAdapter\Query\ValueTransformer\IntegerTransformer</item>
</argument>
</arguments>
</type><type name="Magento\Elasticsearch\SearchAdapter\Query\ValueTransformer\TextTransformer">
<arguments>
<argument name="preprocessors" xsi:type="array">
<item name="stopwordsPreprocessor" xsi:type="object">Magento\Elasticsearch\SearchAdapter\Query\Preprocessor\Stopwords</item>
</argument>
</arguments>
</type><type name="Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\StaticField">
<arguments>
<argument name="excludedAttributes" xsi:type="array">
<item name="price" xsi:type="string">price</item>
</argument>
</arguments>
</type><type name="Magento\Elasticsearch\Setup\InstallConfig">
<arguments>
<argument name="searchConfigMapping" xsi:type="array">
<item name="elasticsearch-host" xsi:type="string">elasticsearch5_server_hostname</item>
<item name="elasticsearch-port" xsi:type="string">elasticsearch5_server_port</item>
<item name="elasticsearch-timeout" xsi:type="string">elasticsearch5_server_timeout</item>
<item name="elasticsearch-index-prefix" xsi:type="string">elasticsearch5_index_prefix</item>
<item name="elasticsearch-enable-auth" xsi:type="string">elasticsearch5_enable_auth</item>
<item name="elasticsearch-username" xsi:type="string">elasticsearch5_username</item>
<item name="elasticsearch-password" xsi:type="string">elasticsearch5_password</item>
</argument>
</arguments>
</type><type name="Magento\Search\Setup\CompositeInstallConfig">
<arguments>
<argument name="installConfigList" xsi:type="array">
<item name="elasticsearch5" xsi:type="object">Magento\Elasticsearch\Setup\InstallConfig</item>
<item name="elasticsearch6" xsi:type="object">Magento\Elasticsearch6\Setup\InstallConfig</item><item name="elasticsearch7" xsi:type="object">Magento\Elasticsearch7\Setup\InstallConfig</item></argument>
</arguments>
</type><type name="Magento\Search\Model\SearchEngine\Validator">
<arguments>
<argument name="excludedEngineList" xsi:type="array">
<item name="elasticsearch" xsi:type="string">Elasticsearch 2</item>
</argument>
<argument name="engineValidators" xsi:type="array">
<item name="elasticsearch5" xsi:type="object">Magento\Elasticsearch\Setup\Validator</item>
<item name="elasticsearch6" xsi:type="object">Magento\Elasticsearch\Setup\Validator</item><item name="elasticsearch7" xsi:type="object">Magento\Elasticsearch\Setup\Validator</item></argument>
</arguments>
</type><type name="Magento\Elasticsearch\Model\Indexer\Fulltext\Plugin\Category\Product\Attribute">
<arguments>
<argument name="dimensionProvider" xsi:type="object" shared="false">Magento\Store\Model\StoreDimensionProvider</argument>
</arguments>
</type><type name="Magento\Search\Model\ResourceModel\SynonymGroup">
<plugin name="synonymReaderPlugin" type="Magento\Elasticsearch\Model\Indexer\Fulltext\Plugin\Search\Model\SynonymReaderPlugin"/>
</type><type name="Magento\Elasticsearch\Model\Indexer\IndexerHandler">
<arguments>
<argument name="cacheContext" xsi:type="object">Magento\Framework\Indexer\CacheContext\Proxy</argument>
</arguments>
</type><virtualType name="Magento\Elasticsearch6\Model\Client\ElasticsearchFactory" type="Magento\AdvancedSearch\Model\Client\ClientFactory">
<arguments>
<argument name="clientClass" xsi:type="string">Magento\Elasticsearch6\Model\Client\Elasticsearch</argument>
</arguments>
</virtualType><type name="Magento\Elasticsearch6\Model\Client\Elasticsearch">
<arguments>
<argument name="fieldsMappingPreprocessors" xsi:type="array">
<item name="elasticsearch6_copy_searchable_fields_to_search_field" xsi:type="object">Magento\Elasticsearch\Model\Adapter\FieldMapper\CopySearchableFieldsToSearchField</item>
<item name="elasticsearch6_add_default_search_field" xsi:type="object">Magento\Elasticsearch\Model\Adapter\FieldMapper\AddDefaultSearchField</item>
</argument>
</arguments>
</type><virtualType name="Magento\Elasticsearch6\Model\DataProvider\Suggestions" type="Magento\Elasticsearch\Model\DataProvider\Base\Suggestions">
<arguments>
<argument name="fieldProvider" xsi:type="object">elasticsearch5FieldProvider</argument>
</arguments>
</virtualType><virtualType name="elasticsearch6FieldNameResolver" type="\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CompositeResolver">
<arguments>
<argument name="items" xsi:type="array">
<item name="notEav" xsi:type="object" sortOrder="10">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\NotEavAttribute</item>
<item name="special" xsi:type="object" sortOrder="20">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\SpecialAttribute</item>
<item name="price" xsi:type="object" sortOrder="30">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\Price</item>
<item name="categoryName" xsi:type="object" sortOrder="40">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\CategoryName</item>
<item name="position" xsi:type="object" sortOrder="50">\Magento\Elasticsearch\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\Position</item>
<item name="default" xsi:type="object" sortOrder="100">\Magento\Elasticsearch6\Model\Adapter\FieldMapper\Product\FieldProvider\FieldName\Resolver\DefaultResolver</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Elasticsearch6\Model\Adapter\FieldMapper\ProductFieldMapper" type="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\ProductFieldMapper">
<arguments>
<argument name="fieldProvider" xsi:type="object">elasticsearch5FieldProvider</argument>
<argument name="fieldNameResolver" xsi:type="object">elasticsearch6FieldNameResolver</argument>
</arguments>
</virtualType><virtualType name="Magento\Elasticsearch6\Setup\InstallConfig" type="Magento\Elasticsearch\Setup\InstallConfig">
<arguments>
<argument name="searchConfigMapping" xsi:type="array">
<item name="elasticsearch-host" xsi:type="string">elasticsearch6_server_hostname</item>
<item name="elasticsearch-port" xsi:type="string">elasticsearch6_server_port</item>
<item name="elasticsearch-timeout" xsi:type="string">elasticsearch6_server_timeout</item>
<item name="elasticsearch-index-prefix" xsi:type="string">elasticsearch6_index_prefix</item>
<item name="elasticsearch-enable-auth" xsi:type="string">elasticsearch6_enable_auth</item>
<item name="elasticsearch-username" xsi:type="string">elasticsearch6_username</item>
<item name="elasticsearch-password" xsi:type="string">elasticsearch6_password</item>
</argument>
</arguments>
</virtualType><preference for="Magento\WebsiteRestriction\Model\ConfigInterface" type="Magento\WebsiteRestriction\Model\Config"/><type name="Magento\WebsiteRestriction\Model\Config">
<arguments>
<argument name="reader" xsi:type="object">Magento\WebsiteRestriction\Model\Config\Reader\Proxy</argument>
</arguments>
</type><type name="Magento\CatalogGraphQl\DataProvider\Product\SearchCriteriaBuilder">
<plugin name="product_search_criteria_filter" type="Magento\ElasticsearchCatalogPermissionsGraphQl\Plugin\CatalogGraphQl\ProductSearchCriteriaFilter"/>
</type><preference for="Magento\Framework\Mail\TemplateInterface" type="Magento\Email\Model\Template"/><preference for="Magento\Framework\Mail\Template\FactoryInterface" type="Magento\Framework\Mail\Template\Factory"/><preference for="Magento\Framework\Mail\TransportInterface" type="Magento\Email\Model\Transport"/><preference for="Magento\Framework\Mail\MessageInterface" type="Magento\Framework\Mail\Message"/><preference for="Magento\Framework\Mail\Template\SenderResolverInterface" type="Magento\Email\Model\Template\SenderResolver"/><type name="Magento\Email\Model\BackendTemplate">
<arguments>
<argument name="urlModel" xsi:type="object" shared="false">Magento\Backend\Model\Url</argument>
</arguments>
</type><type name="Magento\Email\Model\Template">
<arguments>
<argument name="urlModel" xsi:type="object">Magento\Framework\Url</argument>
</arguments>
</type><type name="Magento\Framework\Mail\TransportInterface">
<plugin name="WindowsSmtpConfig" type="Magento\Email\Model\Plugin\WindowsSmtpConfig"/>
<plugin name="EmailDisable" type="Magento\Email\Model\Mail\TransportInterfacePlugin"/>
</type><type name="Magento\Email\Model\AbstractTemplate">
<plugin name="EmailTemplateLinkUrl" type="Magento\Email\Model\Plugin\GetUrl"/>
</type><type name="Magento\Framework\Filter\Template">
<arguments>
<argument name="directiveProcessors" xsi:type="array">
<item name="depend" sortOrder="100" xsi:type="object">Magento\Framework\Filter\DirectiveProcessor\DependDirective</item>
<item name="if" sortOrder="200" xsi:type="object">Magento\Framework\Filter\DirectiveProcessor\IfDirective</item>
<item name="template" sortOrder="300" xsi:type="object">Magento\Framework\Filter\DirectiveProcessor\TemplateDirective</item>
<item name="legacy" sortOrder="400" xsi:type="object">Magento\Framework\Filter\DirectiveProcessor\LegacyDirective</item>
</argument>
</arguments>
</type><type name="Magento\Framework\Filter\DirectiveProcessor\Filter\FilterPool">
<arguments>
<argument name="filters" xsi:type="array">
<item name="nl2br" xsi:type="object">Magento\Framework\Filter\DirectiveProcessor\Filter\NewlineToBreakFilter</item>
<item name="escape" xsi:type="object">Magento\Framework\Filter\DirectiveProcessor\Filter\EscapeFilter</item>
</argument>
</arguments>
</type><type name="\Magento\EncryptionKey\Setup\Patch\Data\SodiumChachaPatch">
<arguments>
<argument name="structure" xsi:type="object">Magento\Config\Model\Config\Structure\Proxy</argument>
</arguments>
</type><type name="Magento\Theme\Model\Favicon\Favicon">
<plugin name="enterprise_favicon" type="Magento\Enterprise\Model\Plugin\Favicon"/>
</type><preference for="Magento\Framework\App\ProductMetadataInterface" type="Magento\Enterprise\Model\ProductMetadata"/><type name="Magento\Shipping\Block\DataProviders\Tracking\DeliveryDateTitle">
<plugin name="update_delivery_date_title" type="Magento\Fedex\Plugin\Block\DataProviders\Tracking\ChangeTitle"/>
<plugin name="ups_update_delivery_date_title" type="Magento\Ups\Plugin\Block\DataProviders\Tracking\ChangeTitle"/></type><type name="Magento\Shipping\Block\Tracking\Popup">
<plugin name="update_delivery_date_value" type="Magento\Fedex\Plugin\Block\Tracking\PopupDeliveryDate"/>
</type><preference for="Magento\Tax\Api\TaxRuleRepositoryInterface" type="Magento\Tax\Model\TaxRuleRepository"/><preference for="Magento\Tax\Api\TaxCalculationInterface" type="Magento\Tax\Model\TaxCalculation"/><type name="Magento\Tax\Helper\Data">
<arguments>
<argument name="taxConfig" xsi:type="object">Magento\Tax\Model\Config\Proxy</argument>
</arguments>
</type><type name="Magento\Tax\Model\ResourceModel\Calculation">
<arguments>
<argument name="taxData" xsi:type="object">Magento\Tax\Helper\Data\Proxy</argument>
</arguments>
</type><type name="Magento\Framework\Pricing\Adjustment\Pool">
<arguments>
<argument name="adjustments" xsi:type="array">
<item name="tax" xsi:type="array">
<item name="className" xsi:type="string">Magento\Tax\Pricing\Adjustment</item>
<item name="sortOrder" xsi:type="string">20</item>
</item>
<item name="weee" xsi:type="array">
<item name="className" xsi:type="string">Magento\Weee\Pricing\Adjustment</item>
<item name="sortOrder" xsi:type="string">25</item>
</item><item name="weee_tax" xsi:type="array">
<item name="className" xsi:type="string">Magento\Weee\Pricing\TaxAdjustment</item>
<item name="sortOrder" xsi:type="string">35</item>
</item></argument>
</arguments>
</type><preference for="Magento\Tax\Api\Data\TaxRateSearchResultsInterface" type="Magento\Tax\Model\TaxRateSearchResults"/><preference for="Magento\Tax\Api\Data\TaxClassSearchResultsInterface" type="Magento\Tax\Model\TaxClassSearchResults"/><preference for="Magento\Tax\Api\OrderTaxManagementInterface" type="Magento\Tax\Model\Sales\Order\TaxManagement"/><preference for="Magento\Tax\Api\Data\OrderTaxDetailsAppliedTaxInterface" type="Magento\Tax\Model\Sales\Order\Tax"/><preference for="Magento\Tax\Api\Data\OrderTaxDetailsInterface" type="Magento\Tax\Model\Sales\Order\Details"/><preference for="Magento\Tax\Api\Data\OrderTaxDetailsItemInterface" type="Magento\Sales\Model\Order\Tax\Item"/><preference for="Magento\Tax\Api\TaxClassManagementInterface" type="Magento\Tax\Model\TaxClass\Management"/><preference for="Magento\Tax\Api\TaxClassRepositoryInterface" type="Magento\Tax\Model\TaxClass\Repository"/><preference for="Magento\Tax\Api\Data\TaxClassInterface" type="Magento\Tax\Model\ClassModel"/><preference for="Magento\Tax\Api\Data\TaxRuleInterface" type="Magento\Tax\Model\Calculation\Rule"/><preference for="Magento\Tax\Api\Data\TaxRuleSearchResultsInterface" type="Magento\Tax\Model\TaxRuleSearchResults"/><preference for="Magento\Tax\Api\TaxRateManagementInterface" type="Magento\Tax\Model\TaxRateManagement"/><preference for="Magento\Tax\Api\TaxRateRepositoryInterface" type="Magento\Tax\Model\Calculation\RateRepository"/><preference for="Magento\Tax\Api\Data\TaxRateTitleInterface" type="Magento\Tax\Model\Calculation\Rate\Title"/><preference for="Magento\Tax\Api\Data\TaxRateInterface" type="Magento\Tax\Model\Calculation\Rate"/><preference for="Magento\Tax\Api\Data\QuoteDetailsInterface" type="Magento\Tax\Model\Sales\Quote\QuoteDetails"/><preference for="Magento\Tax\Api\Data\QuoteDetailsItemInterface" type="Magento\Tax\Model\Sales\Quote\ItemDetails"/><preference for="Magento\Tax\Api\Data\TaxClassKeyInterface" type="Magento\Tax\Model\TaxClass\Key"/><preference for="Magento\Tax\Api\Data\AppliedTaxInterface" type="Magento\Tax\Model\TaxDetails\AppliedTax"/><preference for="Magento\Tax\Api\Data\AppliedTaxRateInterface" type="Magento\Tax\Model\TaxDetails\AppliedTaxRate"/><preference for="Magento\Tax\Api\Data\TaxDetailsInterface" type="Magento\Tax\Model\TaxDetails\TaxDetails"/><preference for="Magento\Tax\Api\Data\TaxDetailsItemInterface" type="Magento\Tax\Model\TaxDetails\ItemDetails"/><preference for="Magento\Tax\Api\Data\GrandTotalDetailsInterface" type="Magento\Tax\Model\Calculation\GrandTotalDetails"/><preference for="Magento\Tax\Api\Data\GrandTotalRatesInterface" type="Magento\Tax\Model\Calculation\GrandTotalRates"/><preference for="Magento\Tax\Api\TaxAddressManagerInterface" type="Magento\Tax\Model\TaxAddressManager"/><type name="Magento\Quote\Model\Quote\Address\ToOrder">
<plugin name="add_tax_to_order" type="Magento\Tax\Model\Quote\ToOrderConverter"/>
<plugin name="set_pickup_location_to_order_during_address_conversion" type="Magento\InventoryInStorePickupQuote\Plugin\Quote\SetPickupLocationToOrder" sortOrder="20"/></type><type name="Magento\Quote\Model\Cart\TotalsConverter">
<plugin name="add_tax_details" type="Magento\Tax\Model\Quote\GrandTotalDetailsPlugin" sortOrder="1"/>
<plugin name="giftCardAmountTotal" type="Magento\GiftCardAccount\Model\Plugin\TotalsConverter"/><plugin name="gift_wrapping_total" type="Magento\GiftWrapping\Model\Plugin\TotalsConverter"/><plugin sortOrder="2" name="classy_llama_ava_tax_grand_total_details_sorter" type="ClassyLlama\AvaTax\Plugin\Model\Quote\GrandTotalDetailsSorter"/></type><type name="Magento\Tax\Model\ResourceModel\Report\Tax\Createdat">
<arguments>
<argument name="connectionName" xsi:type="string">sales</argument>
</arguments>
</type><type name="Magento\Tax\Model\ResourceModel\Report\Tax\Updatedat">
<arguments>
<argument name="connectionName" xsi:type="string">sales</argument>
</arguments>
</type><type name="Magento\Tax\Model\ResourceModel\Sales\Order\Tax">
<arguments>
<argument name="connectionName" xsi:type="string">sales</argument>
</arguments>
</type><type name="Magento\Tax\Model\TaxRuleRepository">
<arguments>
<argument name="collectionProcessor" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\TaxRuleCollectionProcessor</argument>
</arguments>
</type><type name="Magento\Tax\Model\Calculation\RateRepository">
<arguments>
<argument name="collectionProcessor" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\TaxRateCollectionProcessor</argument>
</arguments>
</type><virtualType name="Magento\Tax\Model\Api\SearchCriteria\TaxRateCollectionProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor">
<arguments>
<argument name="processors" xsi:type="array">
<item name="filters" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\CollectionProcessor\TaxRateFilterProcessor</item>
<item name="sorting" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\SortingProcessor</item>
<item name="pagination" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\PaginationProcessor</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Tax\Model\Api\SearchCriteria\CollectionProcessor\TaxRateFilterProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\FilterProcessor">
<arguments>
<argument name="fieldMapping" xsi:type="array">
<item name="tax_calculation_rate_id" xsi:type="string">main_table.tax_calculation_rate_id</item>
<item name="tax_country_id" xsi:type="string">main_table.tax_country_id</item>
<item name="tax_region_id" xsi:type="string">main_table.tax_region_id</item>
<item name="code" xsi:type="string">main_table.code</item>
<item name="rate" xsi:type="string">main_table.rate</item>
<item name="zip_is_range" xsi:type="string">main_table.zip_is_range</item>
<item name="zip_from" xsi:type="string">main_table.zip_from</item>
<item name="zip_to" xsi:type="string">main_table.zip_to</item>
<item name="region_name" xsi:type="string">region_table.code</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Tax\Model\Api\SearchCriteria\CollectionProcessor\TaxRuleJoinProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\JoinProcessor">
<arguments>
<argument name="customJoins" xsi:type="array">
<item name="rate.tax_calculation_rate_id" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\JoinProcessor\Rate</item>
<item name="rc.code" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\JoinProcessor\RateCode</item>
<item name="ctc.customer_tax_class_id" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\JoinProcessor\CustomerTaxClass</item>
<item name="ptc.product_tax_class_id" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\JoinProcessor\ProductTaxClass</item>
<item name="cd.customer_tax_class_id" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\JoinProcessor\CalculationData</item>
<item name="cd.product_tax_class_id" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\JoinProcessor\CalculationData</item>
</argument>
<argument name="fieldMapping" xsi:type="array">
<item name="id" xsi:type="string">tax_calculation_rule_id</item>
<item name="tax_rate_ids" xsi:type="string">tax_calculation_rate_id</item>
<item name="customer_tax_class_ids" xsi:type="string">cd.customer_tax_class_id</item>
<item name="product_tax_class_ids" xsi:type="string">cd.product_tax_class_id</item>
<item name="tax_calculation_rate_id" xsi:type="string">rate.tax_calculation_rate_id</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Tax\Model\Api\SearchCriteria\CollectionProcessor\TaxRuleSortingProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\SortingProcessor">
<arguments>
<argument name="fieldMapping" xsi:type="array">
<item name="id" xsi:type="string">tax_calculation_rule_id</item>
<item name="code" xsi:type="string">main_table.code</item>
<item name="tax_rate_ids" xsi:type="string">tax_calculation_rate_id</item>
<item name="customer_tax_class_ids" xsi:type="string">cd.customer_tax_class_id</item>
<item name="product_tax_class_ids" xsi:type="string">cd.product_tax_class_id</item>
<item name="tax_calculation_rate_id" xsi:type="string">rate.tax_calculation_rate_id</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Tax\Model\Api\SearchCriteria\CollectionProcessor\TaxRuleFilterProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\FilterProcessor">
<arguments>
<argument name="fieldMapping" xsi:type="array">
<item name="id" xsi:type="string">tax_calculation_rule_id</item>
<item name="code" xsi:type="string">main_table.code</item>
<item name="tax_rate_ids" xsi:type="string">tax_calculation_rate_id</item>
<item name="customer_tax_class_ids" xsi:type="string">cd.customer_tax_class_id</item>
<item name="product_tax_class_ids" xsi:type="string">cd.product_tax_class_id</item>
<item name="tax_calculation_rate_id" xsi:type="string">rate.tax_calculation_rate_id</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\Tax\Model\Api\SearchCriteria\TaxRuleCollectionProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor">
<arguments>
<argument name="processors" xsi:type="array">
<item name="joins" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\CollectionProcessor\TaxRuleJoinProcessor</item>
<item name="filters" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\CollectionProcessor\TaxRuleFilterProcessor</item>
<item name="sorting" xsi:type="object">Magento\Tax\Model\Api\SearchCriteria\CollectionProcessor\TaxRuleSortingProcessor</item>
<item name="pagination" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\PaginationProcessor</item>
</argument>
</arguments>
</virtualType><type name="Magento\GiftCardAccount\Model\Pool">
<arguments>
<argument name="giftCardCodeParams" xsi:type="array">
<item name="separator" xsi:type="string">-</item>
<item name="charset" xsi:type="array">
<item name="alphanum" xsi:type="string">ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789</item>
<item name="alpha" xsi:type="string">ABCDEFGHIJKLMNOPQRSTUVWXYZ</item>
<item name="num" xsi:type="string">0123456789</item>
</item>
</argument>
</arguments>
</type><type name="Magento\Sales\Controller\Adminhtml\Order\Edit\Index">
<plugin name="order_edit" type="Magento\GiftCardAccount\Controller\Adminhtml\Order\Edit\Plugin" sortOrder="10"/>
</type><preference for="Magento\GiftCardAccount\Api\Data\GiftCardAccountInterface" type="Magento\GiftCardAccount\Model\Giftcardaccount"/><preference for="Magento\GiftCardAccount\Api\GiftCardAccountRepositoryInterface" type="Magento\GiftCardAccount\Model\GiftCardAccountRepository"/><preference for="Magento\GiftCardAccount\Api\GiftCardAccountManagementInterface" type="Magento\GiftCardAccount\Model\Service\GiftCardAccountManagement"/><preference for="Magento\GiftCardAccount\Model\Spi\GiftCardAccountResourceInterface" type="Magento\GiftCardAccount\Model\ResourceModel\Giftcardaccount"/><preference for="Magento\GiftCardAccount\Api\GuestGiftCardAccountManagementInterface" type="Magento\GiftCardAccount\Model\GuestCart\GiftCardAccountManagement"/><preference for="Magento\GiftCardAccount\Api\Data\GiftCardAccountSearchResultInterface" type="Magento\Framework\Api\SearchResults"/><preference for="Magento\GiftCardAccount\Model\Spi\UsageAttemptsManagerInterface" type="Magento\GiftCardAccount\Model\UsageAttempt\UsageAttemptsManager"/><preference for="Magento\GiftCardAccount\Model\Spi\UsageAttemptFactoryInterface" type="Magento\GiftCardAccount\Model\UsageAttempt\UsageAttemptFactory"/><preference for="Magento\GiftCardAccount\Model\Spi\GiftCardAccountManagerInterface" type="Magento\GiftCardAccount\Model\Manager"/><preference for="Magento\GiftCardAccount\Api\GiftCardRedeemerInterface" type="Magento\GiftCardAccount\Model\Redeemer"/><preference for="Magento\Sitemap\Model\SitemapItemInterface" type="Magento\Sitemap\Model\SitemapItem"/><preference for="Magento\Sitemap\Model\ItemProvider\ItemProviderInterface" type="Magento\Sitemap\Model\ItemProvider\Composite"/><preference for="Magento\Sitemap\Model\SitemapConfigReaderInterface" type="Magento\Sitemap\Model\SitemapConfigReader"/><type name="Magento\Sitemap\Model\Sitemap">
<arguments>
<argument name="resource" xsi:type="object">Magento\Sitemap\Model\ResourceModel\Sitemap</argument>
<argument name="filesystem" xsi:type="object">fullRemoteFilesystem</argument></arguments>
</type><type name="Magento\Sitemap\Model\ItemProvider\Composite">
<arguments>
<argument name="itemProviders" xsi:type="array">
<item name="storeUrlProvider" xsi:type="object">Magento\Sitemap\Model\ItemProvider\StoreUrl</item>
<item name="categoryProvider" xsi:type="object">Magento\Sitemap\Model\ItemProvider\Category</item>
<item name="cmsPageProvider" xsi:type="object">Magento\Sitemap\Model\ItemProvider\CmsPage</item>
<item name="productProvider" xsi:type="object">Magento\Sitemap\Model\ItemProvider\Product</item>
</argument>
</arguments>
</type><type name="Magento\Sitemap\Model\ItemProvider\StoreUrl">
<arguments>
<argument name="configReader" xsi:type="object">Magento\Sitemap\Model\ItemProvider\StoreUrlConfigReader</argument>
</arguments>
</type><type name="Magento\Sitemap\Model\ItemProvider\Category">
<arguments>
<argument name="configReader" xsi:type="object">Magento\Sitemap\Model\ItemProvider\CategoryConfigReader</argument>
</arguments>
</type><type name="Magento\Sitemap\Model\ItemProvider\Product">
<arguments>
<argument name="configReader" xsi:type="object">Magento\Sitemap\Model\ItemProvider\ProductConfigReader</argument>
</arguments>
</type><type name="Magento\Sitemap\Model\ItemProvider\CmsPage">
<arguments>
<argument name="configReader" xsi:type="object">Magento\Sitemap\Model\ItemProvider\CmsPageConfigReader</argument>
</arguments>
</type><type name="Magento\CatalogEvent\Model\Event" shared="false"/><preference for="Magento\GiftMessage\Api\CartRepositoryInterface" type="Magento\GiftMessage\Model\CartRepository"/><preference for="Magento\GiftMessage\Api\ItemRepositoryInterface" type="Magento\GiftMessage\Model\ItemRepository"/><preference for="Magento\GiftMessage\Api\GuestCartRepositoryInterface" type="Magento\GiftMessage\Model\GuestCartRepository"/><preference for="Magento\GiftMessage\Api\GuestItemRepositoryInterface" type="Magento\GiftMessage\Model\GuestItemRepository"/><preference for="Magento\GiftMessage\Api\OrderRepositoryInterface" type="Magento\GiftMessage\Model\OrderRepository"/><preference for="Magento\GiftMessage\Api\OrderItemRepositoryInterface" type="Magento\GiftMessage\Model\OrderItemRepository"/><preference for="Magento\GiftMessage\Api\Data\MessageInterface" type="Magento\GiftMessage\Model\Message"/><type name="Magento\GiftMessage\Model\Plugin\QuoteItem" shared="false"/><preference for="Magento\UrlRewrite\Model\StorageInterface" type="Magento\UrlRewrite\Model\Storage\DbStorage"/><preference for="Magento\UrlRewrite\Model\UrlFinderInterface" type="Magento\UrlRewrite\Model\Storage\DbStorage"/><preference for="Magento\UrlRewrite\Model\UrlPersistInterface" type="Magento\UrlRewrite\Model\Storage\DbStorage"/><virtualType name="Magento\UrlRewrite\Ui\Component\UrlRewrite\DataProvider\SearchResult" type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult">
<arguments>
<argument name="mainTable" xsi:type="string">url_rewrite</argument>
<argument name="resourceModel" xsi:type="string">Magento\UrlRewrite\Model\ResourceModel\UrlRewrite</argument>
<argument name="identifierName" xsi:type="string">url_rewrite_id</argument>
</arguments>
</virtualType><preference for="Magento\GiftWrapping\Api\WrappingRepositoryInterface" type="Magento\GiftWrapping\Model\WrappingRepository"/><preference for="Magento\GiftWrapping\Api\Data\WrappingInterface" type="Magento\GiftWrapping\Model\Wrapping"/><preference for="Magento\GiftWrapping\Api\Data\WrappingSearchResultsInterface" type="Magento\Framework\Api\SearchResults"/><type name="Magento\GiftWrapping\Model\WrappingRepository">
<arguments>
<argument name="collectionProcessor" xsi:type="object">Magento\GiftWrapping\Api\SearchCriteria\WrappingCollectionProcessor</argument>
</arguments>
</type><virtualType name="Magento\GiftWrapping\Api\SearchCriteria\WrappingCollectionProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor">
<arguments>
<argument name="processors" xsi:type="array">
<item name="filters" xsi:type="object">Magento\GiftWrapping\Model\Api\SearchCriteria\CollectionProcessor\WrappingFilterProcessor</item>
</argument>
</arguments>
</virtualType><virtualType name="Magento\GiftWrapping\Model\Api\SearchCriteria\CollectionProcessor\WrappingFilterProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\FilterProcessor">
<arguments>
<argument name="customFilters" xsi:type="array">
<item name="website_ids" xsi:type="object">Magento\GiftWrapping\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor\WrappingWebsitesFilter</item>
<item name="status" xsi:type="object">Magento\GiftWrapping\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor\WrappingStatusFilter</item>
<item name="store_id" xsi:type="object">Magento\GiftWrapping\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor\WrappingStoreFilter</item>
</argument>
</arguments>
</virtualType><type name="Magento\GoogleAdwords\Observer\SetConversionValueObserver">
<arguments>
<argument name="collection" xsi:type="object">Magento\Sales\Model\ResourceModel\Order\Collection\Proxy</argument>
</arguments>
</type><type name="Magento\Banner\Model\Config">
<arguments>
<argument name="bannerTypes" xsi:type="array">
<item name="content" xsi:type="string" translatable="true">Content Area</item>
<item name="footer" xsi:type="string" translatable="true">Footer</item>
<item name="header" xsi:type="string" translatable="true">Header</item>
<item name="leftcol" xsi:type="string" translatable="true">Left Column</item>
<item name="rightcol" xsi:type="string" translatable="true">Right Column</item>
</argument>
</arguments>
</type><virtualType name="storeColumn" type="Magento\Store\Ui\Component\Listing\Column\Store">
<arguments>
<argument name="storeKey" xsi:type="string">stores</argument>
</arguments>
</virtualType><preference for="Magento\AsyncOrder\Api\AsyncPaymentInformationCustomerPublisherInterface" type="Magento\AsyncOrder\Model\AsyncPaymentInformationCustomerPublisher"/><preference for="Magento\AsyncOrder\Api\AsyncPaymentInformationGuestPublisherInterface" type="Magento\AsyncOrder\Model\AsyncPaymentInformationGuestPublisher"/><preference for="Magento\AsyncOrder\Api\Data\AsyncOrderMessageInterface" type="Magento\AsyncOrder\Model\Entity\AsyncOrderMessage"/><preference for="Magento\AsyncOrder\Api\Data\OrderInterface" type="Magento\AsyncOrder\Model\Order"/><type name="Magento\AsyncOrder\Model\OrderManagement">
<arguments>
<argument name="paymentMethods" xsi:type="array">
<item name="hosted_pro" xsi:type="string">hosted_pro</item>
<item name="payflow_advanced" xsi:type="string">payflow_advanced</item>
<item name="payflow_link" xsi:type="string">payflow_link</item>
</argument>
</arguments>
</type><type name="Magento\Backend\Block\Dashboard\Orders\Grid">
<plugin name="orders_grid_plugin" type="Magento\AsyncOrder\Plugin\Block\Dashboard\Orders\Grid" sortOrder="50"/>
</type><type name="Magento\Sales\Helper\Guest">
<plugin name="redirect_guest_on_received_order" type="Magento\AsyncOrder\Plugin\Helper\GuestPlugin"/>
</type><type name="Magento\Sales\Observer\GridSyncInsertObserver">
<arguments>
<argument name="globalConfig" xsi:type="object">Magento\AsyncOrder\Model\AsyncGlobalConfig</argument>
</arguments>
</type><type name="Magento\Sales\Model\OrderIncrementIdChecker">
<plugin name="after_increment_id_check" type="Magento\AsyncOrder\Plugin\Model\OrderIncrementIdCheckerPlugin" sortOrder="50"/>
</type><type name="Magento\Sales\Model\Order\OrderCustomerExtractor">
<plugin name="after_extract" type="Magento\AsyncOrder\Plugin\Model\OrderCustomerExtractorPlugin" sortOrder="50"/>
</type><type name="Magento\CheckoutStaging\Plugin\PaymentInformationManagementPlugin">
<arguments>
<argument name="quoteRepository" xsi:type="object">Magento\AsyncOrder\Model\CartRepository</argument>
</arguments>
</type><type name="Magento\CheckoutStaging\Plugin\GuestPaymentInformationManagementPlugin">
<arguments>
<argument name="cartRepository" xsi:type="object">Magento\AsyncOrder\Model\CartRepository</argument>
</arguments>
</type><type name="Magento\AsyncOrder\Model\CustomerOrderProcessor">
<arguments>
<argument name="customerPaymentInformationManagement" xsi:type="object">asyncCustomerPaymentInformationManagement</argument>
</arguments>
</type><virtualType name="asyncCustomerPaymentInformationManagement" type="Magento\Checkout\Model\PaymentInformationManagement">
<arguments>
<argument name="cartRepository" xsi:type="object">Magento\AsyncOrder\Model\CartRepository</argument>
</arguments>
</virtualType><type name="Magento\AsyncOrder\Model\GuestOrderProcessor">
<arguments>
<argument name="guestPaymentInformationManagement" xsi:type="object">asyncGuestPaymentInformationManagement</argument>
</arguments>
</type><virtualType name="asyncGuestPaymentInformationManagement" type="Magento\Checkout\Model\GuestPaymentInformationManagement">
<arguments>
<argument name="cartRepository" xsi:type="object">Magento\AsyncOrder\Model\CartRepository</argument>
</arguments>
</virtualType><type name="Magento\Checkout\Model\PaymentInformationManagement">
<arguments>
<argument name="cartManagement" xsi:type="object">asyncCartManagement</argument>
</arguments>
</type><type name="Magento\Quote\Model\GuestCart\GuestCartManagement">
<arguments>
<argument name="quoteManagement" xsi:type="object">asyncCartManagement</argument>
</arguments>
</type><virtualType name="asyncCartManagement" type="Magento\Quote\Model\QuoteManagement">
<arguments>
<argument name="quoteRepository" xsi:type="object">Magento\AsyncOrder\Model\CartRepository</argument>
</arguments>
</virtualType><type name="Magento\Payment\Observer\SalesOrderBeforeSaveObserver">
<plugin name="skip_order_payment_verification" type="Magento\AsyncOrder\Plugin\OrderPaymentVerificationPlugin"/>
</type><preference for="Magento\GroupedProduct\Api\Data\GroupedOptionsInterface" type="Magento\GroupedProduct\Model\Quote\Item\GroupedOptions"/><type name="Magento\Quote\Model\Quote\Item\RelatedProducts">
<arguments>
<argument name="relatedProductTypes" xsi:type="array">
<item name="grouped" xsi:type="const">Magento\GroupedProduct\Model\Product\Type\Grouped::TYPE_CODE</item>
</argument>
</arguments>
</type><virtualType name="Magento\GroupedProduct\Pricing\Price\Collection" type="Magento\Framework\Pricing\Price\Collection">
<arguments>
<argument name="pool" xsi:type="object">Magento\GroupedProduct\Pricing\Price\Pool</argument>
</arguments>
</virtualType><type name="Magento\Catalog\Model\Product\Initialization\Helper\ProductLinks">
<plugin name="GroupedProduct" type="Magento\GroupedProduct\Model\Product\Initialization\Helper\ProductLinks\Plugin\Grouped"/>
</type><type name="Magento\Catalog\Model\ResourceModel\Product\Link">
<plugin name="groupedProductLinkProcessor" type="Magento\GroupedProduct\Model\ResourceModel\Product\Link\RelationPersister"/>
</type><type name="Magento\CatalogInventory\Plugin\MassUpdateProductAttribute">
<arguments>
<argument name="parentItemProcessorPool" xsi:type="array">
<item name="grouped" xsi:type="object"> Magento\GroupedProduct\Model\Inventory\ParentItemProcessor</item>
</argument>
</arguments>
</type><type name="Magento\GroupedProduct\Model\Product\Type\Grouped">
<plugin name="outOfStockFilter" type="Magento\GroupedCatalogInventory\Plugin\OutOfStockFilter"/>
</type><type name="Magento\CatalogGraphQl\Model\Resolver\Products\Query\Filter">
<arguments>
<argument name="postProcessors" xsi:type="array">
<item name="grouped_processor" xsi:type="object">Magento\GroupedProductGraphQl\Model\Resolver\Products\Query\GroupedItemsPostProcessor</item>
</argument>
</arguments>
</type><preference for="\Magento\VisualMerchandiser\Api\RuleFactoryPoolInterface" type="\Magento\VisualMerchandiser\Model\RuleFactoryPool"/><type name="\Magento\VisualMerchandiser\Model\RuleFactoryPool">
<arguments>
<argument name="rules" xsi:type="array">
<item name="Boolean" xsi:type="object">\Magento\VisualMerchandiser\Model\Rules\Rule\BooleanFactory</item>
<item name="CategoryId" xsi:type="object">\Magento\VisualMerchandiser\Model\Rules\Rule\CategoryIdFactory</item>
<item name="CreatedAt" xsi:type="object">\Magento\VisualMerchandiser\Model\Rules\Rule\CreatedAtFactory</item>
<item name="DaysAgo" xsi:type="object">\Magento\VisualMerchandiser\Model\Rules\Rule\DaysAgoFactory</item>
<item name="Literal" xsi:type="object">\Magento\VisualMerchandiser\Model\Rules\Rule\LiteralFactory</item>
<item name="QuantityAndStockStatus" xsi:type="object">\Magento\VisualMerchandiser\Model\Rules\Rule\QuantityAndStockStatusFactory</item>
<item name="Source" xsi:type="object">\Magento\VisualMerchandiser\Model\Rules\Rule\SourceFactory</item>
<item name="UpdatedAt" xsi:type="object">\Magento\VisualMerchandiser\Model\Rules\Rule\UpdatedAtFactory</item>
</argument>
</arguments>
</type><preference for="Magento\RemoteStorage\Driver\Adapter\Cache\CacheInterface" type="Magento\RemoteStorage\Driver\Adapter\Cache\Generic"/><preference for="Magento\RemoteStorage\Driver\Adapter\CachedAdapterInterface" type="Magento\RemoteStorage\Driver\Adapter\CachedAdapter"/><preference for="Magento\RemoteStorage\Driver\Adapter\MetadataProviderInterface" type="Magento\RemoteStorage\Driver\Adapter\MetadataProvider"/><preference for="Magento\RemoteStorage\Driver\Adapter\MetadataProviderFactoryInterface" type="Magento\RemoteStorage\Driver\Adapter\MetadataProviderFactory"/><preference for="Magento\Framework\Filesystem\DriverPool" type="Magento\RemoteStorage\Driver\DriverPool"/><preference for="Magento\Framework\File\Uploader" type="Magento\RemoteStorage\Model\File\Uploader"/><virtualType name="remoteWriteFactory" type="Magento\Framework\Filesystem\Directory\WriteFactory">
<arguments>
<argument name="driverPool" xsi:type="object">Magento\RemoteStorage\Driver\DriverPool</argument>
</arguments>
</virtualType><virtualType name="remoteReadFactory" type="Magento\Framework\Filesystem\Directory\ReadFactory">
<arguments>
<argument name="driverPool" xsi:type="object">Magento\RemoteStorage\Driver\DriverPool</argument>
</arguments>
</virtualType><type name="Magento\RemoteStorage\Filesystem">
<arguments>
<argument name="writeFactory" xsi:type="object">
Magento\RemoteStorage\Model\Filesystem\Directory\WriteFactory
</argument>
<argument name="readFactory" xsi:type="object">remoteReadFactory</argument>
</arguments>
</type><virtualType name="customRemoteFilesystem" type="Magento\RemoteStorage\Filesystem">
<arguments>
<argument name="directoryCodes" xsi:type="array">
<item name="media" xsi:type="const">Magento\Framework\App\Filesystem\DirectoryList::MEDIA</item>
<item name="var_import_export" xsi:type="const">Magento\Framework\App\Filesystem\DirectoryList::VAR_IMPORT_EXPORT</item>
</argument>
</arguments>
</virtualType><virtualType name="fullRemoteFilesystem" type="Magento\RemoteStorage\Filesystem"/><virtualType name="stdFilesystem" type="Magento\Framework\Filesystem"/><preference for="Magento\Framework\Filesystem" type="customRemoteFilesystem"/><type name="Magento\Framework\Filesystem\Directory\TargetDirectory">
<arguments>
<argument name="filesystem" xsi:type="object">fullRemoteFilesystem</argument>
<argument name="driverCode" xsi:type="const">Magento\RemoteStorage\Driver\DriverPool::REMOTE</argument>
</arguments>
</type><type name="Magento\Sitemap\Controller\Adminhtml\Sitemap\Save">
<arguments>
<argument name="filesystem" xsi:type="object">fullRemoteFilesystem</argument>
</arguments>
</type><type name="Magento\Sitemap\Block\Adminhtml\Grid\Renderer\Link">
<arguments>
<argument name="filesystem" xsi:type="object">fullRemoteFilesystem</argument>
</arguments>
</type><type name="Magento\Sitemap\Controller\Adminhtml\Sitemap\Delete">
<arguments>
<argument name="filesystem" xsi:type="object">fullRemoteFilesystem</argument>
</arguments>
</type><type name="Magento\Framework\App\MaintenanceMode">
<arguments>
<argument name="filesystem" xsi:type="object">fullRemoteFilesystem</argument>
</arguments>
<plugin name="amqp_maintenance_mode" type="Magento\MessageQueue\Model\Plugin\ResourceModel\Lock"/></type><type name="Magento\MediaStorage\Model\File\Storage\SynchronizationFactory">
<plugin name="remoteMediaStorageSynchronizationFactory" type="Magento\RemoteStorage\Plugin\File\Storage\SynchronizationFactory"/>
</type><type name="Magento\MediaGalleryMetadata\Model\IptcEmbed">
<plugin name="remoteIptcEmbed" type="Magento\RemoteStorage\Plugin\MediaGalleryMetadata\IptcEmbed"/>
</type><type name="Magento\MediaGalleryMetadata\Model\ExifReader">
<plugin name="remoteExifReader" type="Magento\RemoteStorage\Plugin\MediaGalleryMetadata\ExifReader"/>
</type><type name="Magento\MediaGallerySynchronization\Model\Filesystem\GetFileInfo">
<plugin name="remoteGetFileInfo" type="Magento\RemoteStorage\Plugin\Filesystem\GetFileInfo"/>
</type><type name="Magento\Framework\Data\Collection\Filesystem">
<arguments>
<argument name="filesystem" xsi:type="object">fullRemoteFilesystem</argument>
</arguments>
</type><type name="Magento\Framework\File\Mime">
<arguments>
<argument name="filesystem" xsi:type="object">fullRemoteFilesystem</argument>
</arguments>
</type><type name="Magento\Framework\File\Name">
<arguments>
<argument name="filesystem" xsi:type="object">fullRemoteFilesystem</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Product\Option\Type\File\ExistingValidate">
<plugin name="remoteValidatorInfo" type="Magento\RemoteStorage\Plugin\ExistingValidate" sortOrder="10"/>
</type><type name="Magento\Framework\Image\Adapter\AbstractAdapter">
<plugin name="remoteImageFile" type="Magento\RemoteStorage\Plugin\Image" sortOrder="10"/>
</type><type name="Magento\Framework\Archive\Zip">
<plugin name="remoteZipArchive" type="Magento\RemoteStorage\Plugin\Zip" sortOrder="10"/>
</type><type name="Magento\Catalog\Model\Category\FileInfo">
<arguments>
<argument name="filesystem" xsi:type="object">fullRemoteFilesystem</argument>
</arguments>
</type><type name="Magento\ImportExport\Model\Import\ImageDirectoryBaseProvider">
<arguments>
<argument name="filesystem" xsi:type="object">fullRemoteFilesystem</argument>
</arguments>
</type><type name="Magento\ImportExport\Helper\Report">
<arguments>
<argument name="filesystem" xsi:type="object">fullRemoteFilesystem</argument>
</arguments>
</type><type name="Magento\CatalogImportExport\Model\Import\Uploader">
<arguments>
<argument name="filesystem" xsi:type="object">fullRemoteFilesystem</argument>
</arguments>
</type><type name="Magento\DownloadableImportExport\Helper\Uploader">
<arguments>
<argument name="filesystem" xsi:type="object">fullRemoteFilesystem</argument>
</arguments>
</type><type name="Magento\RemoteStorage\Model\Synchronizer">
<arguments>
<argument name="filesystem" xsi:type="object">customRemoteFilesystem</argument>
</arguments>
</type><preference for="Magento\CatalogPermissions\App\ConfigInterface" type="Magento\CatalogPermissions\App\Config"/><preference for="Magento\CatalogPermissions\Model\Indexer\UpdateIndexInterface" type="Magento\CatalogPermissions\Model\Indexer\InvalidateIndex"/><type name="Magento\CatalogPermissions\Helper\Data">
<arguments>
<argument name="customerSession" xsi:type="object">Magento\Customer\Model\Session\Proxy</argument>
</arguments>
</type><type name="Magento\Catalog\Model\Layer\FilterList">
<plugin name="catalogPermissionsFilterListRemovePrice" type="Magento\CatalogPermissions\Model\Plugin\Catalog\Model\Layer\FilterList"/>
</type><type name="Magento\CatalogPermissions\Model\Indexer\Plugin\MviewState">
<arguments>
<argument name="state" xsi:type="object" shared="false">Magento\Framework\Mview\View\StateInterface</argument>
<argument name="changelog" xsi:type="object" shared="false">Magento\Framework\Mview\View\ChangelogInterface</argument>
</arguments>
</type><type name="Magento\CatalogPermissions\Model\Indexer\Plugin\Category">
<arguments>
<argument name="authorization" xsi:type="object">Magento\Framework\AuthorizationInterface\Proxy</argument>
</arguments>
</type><type name="Magento\Framework\Pricing\Render\PriceBox">
<plugin name="can_show_price_plugin" type="Magento\CatalogPermissions\Plugin\Framework\Pricing\Render\CanShowPricePlugin"/>
<plugin name="price_box_staging_plugin" type="Magento\CatalogStaging\Plugin\Catalog\Pricing\Render\PriceBox"/></type><preference for="Magento\InstantPurchase\Model\InstantPurchaseInterface" type="Magento\InstantPurchase\Model\InstantPurchaseChooser"/><preference for="Magento\InstantPurchase\Model\PaymentMethodChoose\PaymentTokenChooserInterface" type="Magento\InstantPurchase\Model\PaymentMethodChoose\LastCreatedPaymentTokenChooser"/><preference for="Magento\InstantPurchase\Model\ShippingAddressChoose\ShippingAddressChooserInterface" type="Magento\InstantPurchase\Model\ShippingAddressChoose\DefaultShippingAddressChooser"/><preference for="Magento\InstantPurchase\Model\BillingAddressChoose\BillingAddressChooserInterface" type="Magento\InstantPurchase\Model\BillingAddressChoose\DefaultBillingAddressChooser"/><preference for="Magento\InstantPurchase\Model\ShippingMethodChoose\ShippingMethodChooserInterface" type="Magento\InstantPurchase\Model\ShippingMethodChoose\CheapestMethodChooser"/><preference for="Magento\InstantPurchase\PaymentMethodIntegration\AvailabilityCheckerInterface" type="Magento\InstantPurchase\PaymentMethodIntegration\StaticAvailabilityChecker"/><preference for="Magento\InstantPurchase\PaymentMethodIntegration\PaymentTokenFormatterInterface" type="Magento\InstantPurchase\PaymentMethodIntegration\SimplePaymentTokenFormatter"/><preference for="Magento\InstantPurchase\PaymentMethodIntegration\PaymentAdditionalInformationProviderInterface" type="Magento\InstantPurchase\PaymentMethodIntegration\StaticAdditionalInformationProvider"/><type name="Magento\InstantPurchase\Model\ShippingMethodChoose\DeferredShippingMethodChooserPool">
<arguments>
<argument name="choosers" xsi:type="array">
<item name="cheapest" xsi:type="object">Magento\InstantPurchase\Model\ShippingMethodChoose\CheapestMethodDeferredChooser</item>
</argument>
</arguments>
</type><preference for="Magento\InventoryApi\Api\SourceRepositoryInterface" type="Magento\Inventory\Model\SourceRepository"/><preference for="Magento\InventoryApi\Api\Data\SourceInterface" type="Magento\Inventory\Model\Source"/><preference for="Magento\InventoryApi\Api\Data\SourceCarrierLinkInterface" type="Magento\Inventory\Model\SourceCarrierLink"/><preference for="Magento\InventoryApi\Api\Data\SourceSearchResultsInterface" type="Magento\Inventory\Model\SourceSearchResults"/><preference for="Magento\InventoryApi\Api\GetSourcesAssignedToStockOrderedByPriorityInterface" type="Magento\Inventory\Model\Source\Command\GetSourcesAssignedToStockOrderedByPriorityCache"/><preference for="Magento\InventoryApi\Api\GetSourceItemsBySkuInterface" type="Magento\Inventory\Model\SourceItem\Command\GetSourceItemsBySku"/><preference for="Magento\InventoryApi\Model\GetSourceCodesBySkusInterface" type="Magento\Inventory\Model\GetSourceCodesBySkus"/><preference for="Magento\InventoryApi\Model\SourceCarrierLinkManagementInterface" type="Magento\Inventory\Model\SourceCarrierLinkManagement"/><preference for="Magento\Inventory\Model\Source\Command\GetInterface" type="Magento\Inventory\Model\Source\Command\Get"/><preference for="Magento\Inventory\Model\Source\Command\GetListInterface" type="Magento\Inventory\Model\Source\Command\GetList"/><preference for="Magento\Inventory\Model\Source\Command\SaveInterface" type="Magento\Inventory\Model\Source\Command\Save"/><type name="Magento\InventoryApi\Model\SourceValidatorChain">
<arguments>
<argument name="validators" xsi:type="array">
<item name="name" xsi:type="object">Magento\Inventory\Model\Source\Validator\NameValidator</item>
<item name="code" xsi:type="object">Magento\Inventory\Model\Source\Validator\CodeValidator</item>
<item name="postcode" xsi:type="object">Magento\Inventory\Model\Source\Validator\PostcodeValidator</item>
<item name="country" xsi:type="object">Magento\Inventory\Model\Source\Validator\CountryValidator</item>
<item name="default_source_disable_validator" xsi:type="object">Magento\InventoryCatalog\Model\Source\Validator\DefaultSourceDisableValidator</item><item name="city" xsi:type="object">Magento\InventoryInStorePickup\Model\Source\Validator\CityValidator</item><item name="street" xsi:type="object">Magento\InventoryInStorePickup\Model\Source\Validator\StreetValidator</item><item name="phone" xsi:type="object">Magento\InventoryInStorePickup\Model\Source\Validator\PhoneValidator</item><item name="default_source_use_as_pickup_location_validator" xsi:type="object">Magento\InventoryInStorePickup\Model\Source\Validator\DefaultSourceUseForPickupLocationValidator</item><item name="carrier_links" xsi:type="object">Magento\InventoryShipping\Model\Source\Validator\CarrierLinksValidator</item></argument>
</arguments>
</type><preference for="Magento\InventoryApi\Api\SourceItemRepositoryInterface" type="Magento\Inventory\Model\SourceItemRepository"/><preference for="Magento\InventoryApi\Api\SourceItemsSaveInterface" type="Magento\Inventory\Model\SourceItem\Command\SourceItemsSave"/><preference for="Magento\InventoryApi\Api\SourceItemsDeleteInterface" type="Magento\Inventory\Model\SourceItem\Command\SourceItemsDelete"/><preference for="Magento\InventoryApi\Api\Data\SourceItemInterface" type="Magento\Inventory\Model\SourceItem"/><preference for="Magento\InventoryApi\Api\Data\SourceItemSearchResultsInterface" type="Magento\Inventory\Model\SourceItemSearchResults"/><preference for="Magento\Inventory\Model\SourceItem\Command\GetListInterface" type="Magento\Inventory\Model\SourceItem\Command\GetList"/><type name="Magento\Inventory\Model\SourceItem\Validator\StatusValidator">
<arguments>
<argument name="allowedSourceItemStatuses" xsi:type="array">
<item xsi:type="const" name="in_stock">Magento\InventoryApi\Api\Data\SourceItemInterface::STATUS_IN_STOCK</item>
<item xsi:type="const" name="out_of_stock">Magento\InventoryApi\Api\Data\SourceItemInterface::STATUS_OUT_OF_STOCK</item>
</argument>
</arguments>
</type><type name="Magento\InventoryApi\Model\SourceItemValidatorChain">
<arguments>
<argument name="validators" xsi:type="array">
<item name="sku" xsi:type="object">Magento\Inventory\Model\SourceItem\Validator\SkuValidator</item>
<item name="source_code" xsi:type="object">Magento\Inventory\Model\SourceItem\Validator\SourceCodeValidator</item>
<item name="quantity" xsi:type="object">Magento\Inventory\Model\SourceItem\Validator\QuantityValidator</item>
<item name="status" xsi:type="object">Magento\Inventory\Model\SourceItem\Validator\StatusValidator</item>
<item name="shipmentType" xsi:type="object">Magento\InventoryBundleProduct\Model\SourceItem\Validator\ShipmentTypeValidator</item></argument>
</arguments>
</type><preference for="Magento\InventoryApi\Api\StockRepositoryInterface" type="Magento\Inventory\Model\StockRepository"/><preference for="Magento\InventoryApi\Api\Data\StockInterface" type="Magento\Inventory\Model\Stock"/><preference for="Magento\InventoryApi\Api\Data\StockSearchResultsInterface" type="Magento\Inventory\Model\StockSearchResults"/><preference for="Magento\Inventory\Model\Stock\Command\DeleteByIdInterface" type="Magento\Inventory\Model\Stock\Command\DeleteById"/><preference for="Magento\Inventory\Model\Stock\Command\GetInterface" type="Magento\Inventory\Model\Stock\Command\GetCache"/><preference for="Magento\Inventory\Model\Stock\Command\GetListInterface" type="Magento\Inventory\Model\Stock\Command\GetList"/><preference for="Magento\Inventory\Model\Stock\Command\SaveInterface" type="Magento\Inventory\Model\Stock\Command\Save"/><type name="Magento\InventoryApi\Model\StockValidatorChain">
<arguments>
<argument name="validators" xsi:type="array">
<item name="name" xsi:type="object">Magento\Inventory\Model\Stock\Validator\NameValidator</item>
<item name="sales_channels" xsi:type="object">Magento\InventorySales\Model\Stock\Validator\SalesChannelsValidator</item></argument>
</arguments>
</type><preference for="Magento\InventoryApi\Api\Data\StockSourceLinkInterface" type="Magento\Inventory\Model\StockSourceLink"/><preference for="Magento\InventoryApi\Api\Data\StockSourceLinkSearchResultsInterface" type="Magento\Inventory\Model\StockSourceLinkSearchResults"/><preference for="Magento\InventoryApi\Api\GetStockSourceLinksInterface" type="Magento\Inventory\Model\StockSourceLink\Command\GetStockSourceLinks"/><preference for="Magento\InventoryApi\Api\StockSourceLinksSaveInterface" type="Magento\Inventory\Model\StockSourceLink\Command\StockSourceLinksSave"/><preference for="Magento\InventoryApi\Api\StockSourceLinksDeleteInterface" type="Magento\Inventory\Model\StockSourceLink\Command\StockSourceLinksDelete"/><type name="Magento\InventoryApi\Model\StockSourceLinkValidatorChain">
<arguments>
<argument name="validators" xsi:type="array">
<item name="source_code" xsi:type="object">Magento\Inventory\Model\StockSourceLink\Validator\SourceCodeValidator</item>
<item name="stock_id" xsi:type="object">Magento\Inventory\Model\StockSourceLink\Validator\StockIdValidator</item>
<item name="priority" xsi:type="object">Magento\Inventory\Model\StockSourceLink\Validator\PriorityValidator</item>
<item name="default_stock_default_source" xsi:type="object">
Magento\InventoryCatalog\Model\StockSourceLink\Validator\AssignToDefaultStockDefaultSourceValidator
</item></argument>
</arguments>
</type><type name="Magento\Inventory\Model\StockSourceLink\Validator\StockSourceLinksValidator">
<arguments>
<argument name="stockSourceLinkValidator" xsi:type="object">Magento\InventoryApi\Model\StockSourceLinkValidatorChain</argument>
</arguments>
</type><preference for="Magento\InventoryApi\Model\IsProductAssignedToStockInterface" type="Magento\Inventory\Model\ResourceModel\IsProductAssignedToStock"/><type name="Magento\Inventory\Model\ResourceModel\IsProductAssignedToStock">
<plugin name="cache_product_stock_assignment_check" type="Magento\Inventory\Plugin\Inventory\Model\ResourceModel\IsProductAssignedToStockCache"/>
</type><type name="Magento\Setup\Fixtures\FixtureRegistry">
<arguments>
<argument name="fixtures" xsi:type="array">
<item name="stocks" xsi:type="string">Magento\Inventory\Test\Performance\Fixtures\Stocks</item>
</argument>
</arguments>
</type><type name="Magento\AdvancedCheckout\Model\AreProductsSalableForRequestedQty">
<plugin name="inventory_advanced_checkout_is_in_stock" type="Magento\InventoryAdvancedCheckout\Plugin\Model\AreProductsSalablePlugin"/>
</type><preference for="Magento\InventoryApi\Model\StockSourceLinkValidatorInterface" type="Magento\InventoryApi\Model\StockSourceLinkValidatorChain"/><preference for="Magento\InventoryApi\Model\StockValidatorInterface" type="Magento\InventoryApi\Model\StockValidatorChain"/><preference for="Magento\InventoryApi\Model\SourceItemValidatorInterface" type="Magento\InventoryApi\Model\SourceItemValidatorChain"/><preference for="Magento\InventoryApi\Model\SourceValidatorInterface" type="Magento\InventoryApi\Model\SourceValidatorChain"/><type name="Magento\BundleImportExport\Model\Import\Product\Type\Bundle">
<plugin name="process_shipment_type_plugin" type="Magento\InventoryBundleImportExport\Plugin\BundleImportExport\Model\Import\Product\Type\Bundle\ProcessShipmentTypePlugin"/>
</type><type name="Magento\InventoryConfigurationApi\Model\IsSourceItemManagementAllowedForProductTypeInterface">
<plugin name="disable_bundle_type" type="Magento\InventoryBundleProduct\Plugin\InventoryConfigurationApi\IsSourceItemManagementAllowedForProductType\DisableBundleTypePlugin"/>
<plugin name="disable_grouped_type" type="Magento\InventoryGroupedProduct\Plugin\InventoryConfigurationApi\IsSourceItemManagementAllowedForProductType\DisableGroupedTypePlugin"/></type><type name="Magento\Bundle\Model\ResourceModel\Selection\Collection">
<plugin name="adapt_add_quantity_filter" type="Magento\InventoryBundleProduct\Plugin\Bundle\Model\ResourceModel\Selection\Collection\AdaptAddQuantityFilterPlugin"/>
</type><type name="Magento\Bundle\Api\ProductLinkManagementInterface">
<plugin name="validate_source_items_before_add_bundle_selection" type="Magento\InventoryBundleProduct\Plugin\Bundle\Model\LinkManagement\ValidateSourceItemsBeforeAddBundleSelectionPlugin"/>
<plugin name="validate_source_items_before_save_bundle_selection" type="Magento\InventoryBundleProduct\Plugin\Bundle\Model\LinkManagement\ValidateSourceItemsBeforeSaveBundleSelectionPlugin"/>
<plugin name="reindex_source_items_after_add_bundle_selection" type="Magento\InventoryBundleProductIndexer\Plugin\Bundle\Model\LinkManagement\ReindexSourceItemsAfterAddBundleSelectionPlugin"/><plugin name="reindex_source_items_after_save_bundle_selection" type="Magento\InventoryBundleProductIndexer\Plugin\Bundle\Model\LinkManagement\ReindexSourceItemsAfterSaveBundleSelectionPlugin"/><plugin name="reindex_source_items_after_remove_bundle_selection" type="Magento\InventoryBundleProductIndexer\Plugin\Bundle\Model\LinkManagement\ReindexSourceItemsAfterRemoveBundleSelectionPlugin"/></type><type name="Magento\CatalogInventory\Helper\Stock">
<plugin name="adapt_assign_stock_status_to_bundle_product" type="Magento\InventoryBundleProduct\Plugin\CatalogInventory\Helper\Stock\AdaptAssignStatusToProductPlugin"/>
<plugin name="adapt_add_in_stock_filter_to_collection" type="Magento\InventoryCatalog\Plugin\CatalogInventory\Helper\Stock\AdaptAddInStockFilterToCollectionPlugin"/><plugin name="adapt_add_stock_status_to_products" type="Magento\InventoryCatalog\Plugin\CatalogInventory\Helper\Stock\AdaptAddStockStatusToProductsPlugin"/><plugin name="adapt_assign_status_to_product" type="Magento\InventoryCatalog\Plugin\CatalogInventory\Helper\Stock\AdaptAssignStatusToProductPlugin"/></type><type name="Magento\Inventory\Model\SourceItem\Command\DecrementSourceItemQty">
<plugin name="update_parent_bundle_product_stock_status_in_legacy_stock" type="Magento\InventoryBundleProduct\Plugin\InventoryApi\UpdateParentStockStatusInLegacyStockPlugin" sortOrder="100"/>
<plugin name="synchronize_legacy_catalog_inventory_at_source_item_decrement_quantity" type="Magento\InventoryCatalog\Plugin\InventoryApi\SynchronizeLegacyStockAfterDecrementStockPlugin" sortOrder="50"/><plugin name="update_parent_configurable_product_stock_status_in_legacy_stock" type="Magento\InventoryConfigurableProduct\Plugin\InventoryApi\UpdateParentStockStatusInLegacyStockPlugin"/><plugin name="reindex_after_decrement_source_item_quantity" type="Magento\InventoryIndexer\Plugin\InventoryApi\ReindexAfterDecrementSourceItemQty"/><plugin name="update_parent_grouped_product_stock_status_in_legacy_stock" type="Magento\InventoryGroupedProduct\Plugin\InventoryApi\UpdateParentStockStatusInLegacyStockPlugin" sortOrder="101"/></type><type name="Magento\InventoryIndexer\Indexer\Stock\Strategy\Sync">
<plugin name="bundle_product_index_full" type="Magento\InventoryBundleProductIndexer\Plugin\InventoryIndexer\Indexer\Stock\Strategy\Sync\ReindexFullPlugin"/>
<plugin name="bundle_product_index_list" type="Magento\InventoryBundleProductIndexer\Plugin\InventoryIndexer\Indexer\Stock\Strategy\Sync\ReindexListPlugin"/>
<plugin name="update_product_prices_plugin" type="Magento\InventoryCatalog\Plugin\InventoryIndexer\Indexer\Stock\Strategy\Sync\PriceIndexUpdatePlugin"/><plugin name="configurable_product_full_index" type="Magento\InventoryConfigurableProductIndexer\Plugin\InventoryIndexer\Indexer\Stock\Strategy\Sync\ReindexFullPlugin"/><plugin name="configurable_product_index_list" type="Magento\InventoryConfigurableProductIndexer\Plugin\InventoryIndexer\Indexer\Stock\Strategy\Sync\ReindexListPlugin"/><plugin name="grouped_product_index_list" type="Magento\InventoryGroupedProductIndexer\Plugin\InventoryIndexer\Indexer\Stock\Strategy\Sync\ReindexListPlugin"/><plugin name="grouped_product_index_full" type="Magento\InventoryGroupedProductIndexer\Plugin\InventoryIndexer\Indexer\Stock\Strategy\Sync\ReindexFullPlugin"/><plugin name="invalidate_products_cache" type="Magento\InventoryCache\Plugin\InventoryIndexer\Indexer\Stock\Strategy\Sync\CacheFlush"/></type><type name="Magento\InventoryIndexer\Indexer\SourceItem\Strategy\Sync">
<plugin name="bundle_product_index" type="Magento\InventoryBundleProductIndexer\Plugin\InventoryIndexer\Indexer\SourceItem\Strategy\Sync\SourceItemIndexerPlugin" sortOrder="20"/>
<plugin name="priceIndexUpdater" type="Magento\InventoryCatalog\Plugin\InventoryIndexer\Indexer\SourceItem\Strategy\Sync\PriceIndexUpdater"/><plugin name="fulltextIndexUpdater" type="Magento\InventoryCatalogSearch\Plugin\InventoryIndexer\Indexer\SourceItem\Strategy\Sync\FulltextIndexUpdater" sortOrder="10"/><plugin name="configurable_product_index" type="Magento\InventoryConfigurableProductIndexer\Plugin\InventoryIndexer\Indexer\SourceItem\Strategy\Sync\SourceItemIndexerPlugin" sortOrder="10"/><plugin name="grouped_product_index" type="Magento\InventoryGroupedProductIndexer\Plugin\InventoryIndexer\Indexer\SourceItem\Strategy\Sync\SourceItemIndexerPlugin"/><plugin name="invalidate_products_cache" type="Magento\InventoryCache\Plugin\InventoryIndexer\Indexer\SourceItem\Strategy\Sync\CacheFlush"/></type><type name="Magento\InventoryBundleProductIndexer\Indexer\Stock\StockIndexer">
<arguments>
<argument name="indexHandler" xsi:type="object">Magento\InventoryIndexer\Indexer\IndexHandler</argument>
<argument name="indexStructure" xsi:type="object">Magento\InventoryIndexer\Indexer\IndexStructure</argument>
</arguments>
</type><type name="Magento\InventoryBundleProductIndexer\Indexer\SourceItem\SourceItemIndexer">
<arguments>
<argument name="indexHandler" xsi:type="object">Magento\InventoryIndexer\Indexer\IndexHandler</argument>
<argument name="indexStructure" xsi:type="object">Magento\InventoryIndexer\Indexer\IndexStructure</argument>
</arguments>
</type><preference for="Magento\InventoryCatalogApi\Api\DefaultStockProviderInterface" type="Magento\InventoryCatalog\Model\DefaultStockProvider"/><preference for="Magento\InventoryCatalogApi\Api\DefaultSourceProviderInterface" type="Magento\InventoryCatalog\Model\DefaultSourceProvider"/><preference for="Magento\InventoryCatalogApi\Model\GetProductIdsBySkusInterface" type="Magento\InventoryCatalog\Model\GetProductIdsBySkusCache"/><preference for="Magento\InventoryCatalogApi\Model\GetProductTypesBySkusInterface" type="Magento\InventoryCatalog\Model\ResourceModel\GetProductTypesBySkusCache"/><preference for="Magento\InventoryCatalogApi\Model\GetSkusByProductIdsInterface" type="Magento\InventoryCatalog\Model\GetSkusByProductIdsCache"/><preference for="Magento\InventoryCatalogApi\Model\GetParentSkusOfChildrenSkusInterface" type="Magento\InventoryCatalog\Model\GetParentSkusOfChildrenSkus"/><preference for="Magento\InventoryCatalogApi\Model\IsSingleSourceModeInterface" type="Magento\InventoryCatalog\Model\IsSingleSourceModeCache"/><preference for="Magento\InventoryCatalogApi\Model\SourceItemsProcessorInterface" type="Magento\InventoryCatalog\Model\SourceItemsProcessor"/><type name="Magento\InventoryApi\Api\StockRepositoryInterface">
<plugin name="prevent_default_stock_deleting" type="Magento\InventoryCatalog\Plugin\InventoryApi\StockRepository\PreventDeleting\DefaultStockPlugin"/>
<plugin name="load_sales_channels_on_get_list" type="Magento\InventorySales\Plugin\InventoryApi\StockRepository\LoadSalesChannelsOnGetListPlugin"/><plugin name="load_sales_channels_on_get" type="Magento\InventorySales\Plugin\InventoryApi\StockRepository\LoadSalesChannelsOnGetPlugin"/><plugin name="save_sales_channels_links" type="Magento\InventorySales\Plugin\InventoryApi\StockRepository\SaveSalesChannelsLinksPlugin" sortOrder="20"/><plugin name="prevent_deleting_assigned_to_sales_channels_stock" type="Magento\InventorySales\Plugin\InventoryApi\StockRepository\PreventDeletingAssignedToSalesChannelsStockPlugin"/></type><type name="Magento\InventoryApi\Api\SourceItemsSaveInterface">
<plugin name="set_data_to_legacy_catalog_inventory_at_source_items_save" type="Magento\InventoryCatalog\Plugin\InventoryApi\SetDataToLegacyCatalogInventoryAtSourceItemsSavePlugin"/>
<plugin name="update_configurable_product_parent_stock_status" type="Magento\InventoryConfigurableProduct\Plugin\InventoryApi\UpdateConfigurableProductParentStockStatus"/><plugin name="reindex_after_source_items_save" type="Magento\InventoryIndexer\Plugin\InventoryApi\ReindexAfterSourceItemsSavePlugin"/></type><type name="Magento\CatalogInventory\Model\Indexer\ProductPriceIndexFilter">
<plugin name="change_select_for_price_modifier" type="Magento\InventoryCatalog\Plugin\CatalogInventory\Model\Indexer\ModifySelectInProductPriceIndexFilter"/>
</type><type name="Magento\InventoryApi\Api\SourceItemsDeleteInterface">
<plugin name="set_to_zero_legacy_catalog_inventory_at_source_items_delete" type="Magento\InventoryCatalog\Plugin\InventoryApi\SetToZeroLegacyCatalogInventoryAtSourceItemsDeletePlugin"/>
<plugin name="reindex_after_source_items_delete" type="Magento\InventoryIndexer\Plugin\InventoryApi\ReindexAfterSourceItemsDeletePlugin"/><plugin name="inventory_low_quantity_notification_source_item_delete" type="Magento\InventoryLowQuantityNotification\Plugin\InventoryApi\SourceItemsDeleteInterfacePlugin"/></type><type name="Magento\CatalogInventory\Model\ResourceModel\QtyCounterInterface">
<plugin name="update_source_item_at_legacy_qty_counter" type="Magento\InventoryCatalog\Plugin\CatalogInventory\UpdateSourceItemAtLegacyQtyCounterPlugin"/>
</type><type name="Magento\CatalogInventory\Model\ResourceModel\Stock\Status">
<plugin name="adapt_add_stock_data_to_collection" type="Magento\InventoryCatalog\Plugin\CatalogInventory\Model\ResourceModel\Stock\Status\AdaptAddStockDataToCollectionPlugin"/>
<plugin name="adapt_add_stock_status_to_select" type="Magento\InventoryCatalog\Plugin\CatalogInventory\Model\ResourceModel\Stock\Status\AdaptAddStockStatusToSelectPlugin"/>
<plugin name="adapt_add_is_in_stock_filter_to_collection" type="Magento\InventoryCatalog\Plugin\CatalogInventory\Model\ResourceModel\Stock\Status\AdaptAddIsInStockFilterToCollectionPlugin"/>
</type><type name="Magento\InventorySalesApi\Api\GetStockBySalesChannelInterface">
<plugin name="adapt_stock_resolver_to_admin_website" type="Magento\InventoryCatalog\Plugin\InventorySalesApi\StockResolver\AdaptStockResolverToAdminWebsitePlugin"/>
</type><type name="Magento\InventoryApi\Api\StockSourceLinksDeleteInterface">
<plugin name="prevent_delete_default_stock_links" type="Magento\InventoryCatalog\Plugin\InventoryApi\StockSourceLinksDelete\PreventDeleteDefaultStockLinksPlugin"/>
<plugin name="invalidate_after_stock_source_links_delete" type="Magento\InventoryIndexer\Plugin\InventoryApi\InvalidateAfterStockSourceLinksDeletePlugin"/></type><type name="Magento\InventoryCatalog\Setup\Operation\UpdateInventorySourceItem">
<arguments>
<argument name="tableNameSourceItem" xsi:type="const">Magento\Inventory\Model\ResourceModel\SourceItem::TABLE_NAME_SOURCE_ITEM</argument>
</arguments>
</type><type name="Magento\InventoryCatalog\Model\UpdateSourceItemBasedOnLegacyStockItem">
<arguments>
<argument name="sourceItemsSave" xsi:type="object">Magento\Inventory\Model\SourceItem\Command\SourceItemsSaveWithoutLegacySynchronization</argument>
</arguments>
</type><type name="Magento\Inventory\Model\SourceItem\Command\SourceItemsSaveWithoutLegacySynchronization">
<plugin name="set_data_to_legacy_catalog_inventory_at_source_items_save" disabled="true"/>
</type><type name="Magento\CatalogInventory\Api\StockRegistryInterface">
<plugin name="adapt_get_stock_status" type="Magento\InventoryCatalog\Plugin\CatalogInventory\Api\StockRegistry\AdaptGetStockStatusPlugin"/>
<plugin name="adapt_get_stock_status_by_sku" type="Magento\InventoryCatalog\Plugin\CatalogInventory\Api\StockRegistry\AdaptGetStockStatusBySkuPlugin"/>
<plugin name="adapt_get_product_stock_status" type="Magento\InventoryCatalog\Plugin\CatalogInventory\Api\StockRegistry\AdaptGetProductStockStatusPlugin"/>
<plugin name="adapt_get_product_stock_status_by_sku" type="Magento\InventoryCatalog\Plugin\CatalogInventory\Api\StockRegistry\AdaptGetProductStockStatusBySkuPlugin"/>
<plugin name="adapt_update_product_stock_status_by_sku" type="Magento\InventoryCatalog\Plugin\CatalogInventory\Api\StockRegistry\AdaptUpdateStockStatusBySkuPlugin"/>
<plugin name="inventory_catalog_add_qty_to_legacy_stock" type="Magento\InventoryCatalog\Plugin\CatalogInventory\Api\StockRegistry\SetQtyToLegacyStock"/>
<plugin name="inventory_catalog_add_qty_to_legacy_stock_configurable" type="Magento\InventoryConfigurableProduct\Plugin\CatalogInventory\Api\StockRegistry\SetQtyToLegacyStock"/></type><preference for="Magento\InventoryCatalogApi\Api\BulkSourceAssignInterface" type="Magento\InventoryCatalog\Model\BulkSourceAssign"/><preference for="Magento\InventoryCatalogApi\Api\BulkSourceUnassignInterface" type="Magento\InventoryCatalog\Model\BulkSourceUnassign"/><preference for="Magento\InventoryCatalogApi\Api\BulkInventoryTransferInterface" type="Magento\InventoryCatalog\Model\BulkInventoryTransfer"/><preference for="Magento\InventoryCatalogApi\Api\BulkPartialInventoryTransferInterface" type="Magento\InventoryCatalog\Model\BulkPartialInventoryTransfer"/><preference for="Magento\InventoryCatalogApi\Api\Data\PartialInventoryTransferItemInterface" type="Magento\InventoryCatalog\Model\PartialInventoryTransferItem"/><type name="\Magento\InventoryCatalogApi\Model\BulkSourceAssignValidatorChain">
<arguments>
<argument name="validators" xsi:type="array">
<item name="sources" xsi:type="object">Magento\InventoryCatalog\Model\Source\Validator\Bulk\AssignSourcesValidator</item>
</argument>
</arguments>
</type><type name="\Magento\InventoryCatalogApi\Model\BulkSourceUnassignValidatorChain">
<arguments>
<argument name="validators" xsi:type="array">
<item name="sources" xsi:type="object">Magento\InventoryCatalog\Model\Source\Validator\Bulk\UnassignSourcesValidator</item>
</argument>
</arguments>
</type><type name="\Magento\InventoryCatalogApi\Model\BulkInventoryTransferValidatorChain">
<arguments>
<argument name="validators" xsi:type="array">
<item name="sources" xsi:type="object">Magento\InventoryCatalog\Model\Source\Validator\Bulk\TransferSourceValidator</item>
</argument>
</arguments>
</type><type name="\Magento\InventoryCatalogApi\Model\PartialInventoryTransferValidatorChain">
<arguments>
<argument name="validators" xsi:type="array">
<item name="sources" xsi:type="object">Magento\InventoryCatalog\Model\Source\Validator\PartialTransferSourceValidator</item>
<item name="items" xsi:type="object">Magento\InventoryCatalog\Model\Source\Validator\PartialTransferItemsValidator</item>
</argument>
</arguments>
</type><type name="Magento\Catalog\Controller\Adminhtml\Product\Initialization\StockDataFilter">
<plugin name="allow_negative_min_qty" type="Magento\InventoryCatalog\Plugin\Catalog\Controller\Adminhtml\Product\Initialization\StockDataFilter\AllowNegativeMinQtyPlugin"/>
</type><type name="Magento\CatalogInventory\Api\Data\StockItemInterface">
<plugin name="adapt_min_qty_to_backorders" type="Magento\InventoryCatalog\Plugin\CatalogInventory\Api\Data\StockItemInterface\AdaptMinQtyToBackordersPlugin"/>
</type><type name="Magento\CatalogInventory\Model\Spi\StockStateProviderInterface">
<plugin name="adapt_verify_stock_to_negative_min_qty" type="Magento\InventoryCatalog\Plugin\CatalogInventory\Model\Spi\StockStateProvider\AdaptVerifyStockToNegativeMinQtyPlugin"/>
<plugin name="check_quote_item_qty" type="Magento\InventorySales\Plugin\StockStateProvider\CheckQuoteItemQtyPlugin" sortOrder="20"/></type><type name="Magento\CatalogInventory\Model\ResourceModel\StockStatusFilterInterface">
<plugin name="inventory_catalog_stock_status_filter" type="Magento\InventoryCatalog\Plugin\CatalogInventory\Model\ResourceModel\StockStatusFilterPlugin"/>
</type><type name="Magento\CatalogInventory\Model\Source\Stock">
<plugin name="inventory_catalog_add_sort_by_stock_qty_to_collection" type="Magento\InventoryCatalog\Plugin\CatalogInventory\Model\Source\StockPlugin"/>
</type><type name="Magento\Catalog\Block\Product\ProductList\Toolbar">
<plugin name="update_toolbar_count" type="Magento\InventoryCatalog\Plugin\Catalog\Block\ProductList\UpdateToolbarCount"/>
</type><preference for="Magento\InventorySalesApi\Api\Data\SalesChannelInterface" type="Magento\InventorySales\Model\SalesChannel"/><preference for="Magento\InventorySalesApi\Model\GetAssignedSalesChannelsForStockInterface" type="Magento\InventorySales\Model\GetAssignedSalesChannelsForStock"/><preference for="Magento\InventorySalesApi\Model\ReplaceSalesChannelsForStockInterface" type="Magento\InventorySales\Model\ResourceModel\ReplaceSalesChannelsDataForStock"/><preference for="Magento\InventorySalesApi\Model\GetAssignedStockIdForWebsiteInterface" type="Magento\InventorySales\Model\ResourceModel\GetAssignedStockIdForWebsiteCache"/><preference for="Magento\InventorySalesApi\Model\DeleteSalesChannelToStockLinkInterface" type="Magento\InventorySales\Model\ResourceModel\DeleteSalesChannelToStockLink"/><preference for="Magento\InventorySalesApi\Api\StockResolverInterface" type="Magento\InventorySales\Model\StockResolver"/><preference for="Magento\InventorySalesApi\Api\GetStockBySalesChannelInterface" type="Magento\InventorySales\Model\GetStockBySalesChannelCache"/><type name="Magento\CatalogInventory\Api\StockStateInterface">
<plugin name="check_quote_item_qty" type="Magento\InventorySales\Plugin\StockState\CheckQuoteItemQtyPlugin"/>
<plugin name="suggest_qty" type="Magento\InventorySales\Plugin\StockState\SuggestQtyPlugin"/>
</type><type name="Magento\InventoryReservationsApi\Model\AppendReservationsInterface">
<plugin name="prevent_append_reservation_on_not_manage_items_in_stock" type="Magento\InventorySales\Plugin\InventoryReservationsApi\PreventAppendReservationOnNotManageItemsInStockPlugin"/>
</type><preference for="Magento\InventorySalesApi\Api\Data\ItemToSellInterface" type="Magento\InventorySales\Model\ItemToSell"/><preference for="Magento\InventorySalesApi\Api\Data\SalesEventInterface" type="Magento\InventorySales\Model\SalesEvent"/><preference for="Magento\InventorySalesApi\Api\PlaceReservationsForSalesEventInterface" type="Magento\InventorySales\Model\PlaceReservationsForSalesEvent"/><preference for="Magento\InventorySalesApi\Api\GetProductSalableQtyInterface" type="Magento\InventorySales\Model\GetProductSalableQty"/><preference for="Magento\InventorySalesApi\Model\GetStockItemDataInterface" type="Magento\InventoryIndexer\Model\ResourceModel\GetStockItemData"/><preference for="Magento\InventorySales\Model\ResourceModel\IsStockItemSalableCondition\GetIsStockItemSalableConditionInterface" type="Magento\InventorySales\Model\ResourceModel\IsStockItemSalableCondition\IsStockItemSalableConditionChain"/><preference for="Magento\InventorySalesApi\Model\GetIsQtySalableInterface" type="Magento\InventorySales\Model\GetIsQtySalable"/><preference for="Magento\InventorySalesApi\Model\GetSalableQtyInterface" type="Magento\InventorySales\Model\GetSalableQty"/><type name="Magento\InventorySales\Model\ResourceModel\IsStockItemSalableCondition\IsStockItemSalableConditionChain">
<arguments>
<argument name="conditions" xsi:type="array">
<item name="backorders" xsi:type="object">Magento\InventorySales\Model\ResourceModel\IsStockItemSalableCondition\BackordersCondition</item>
<item name="manage_stock" xsi:type="object">Magento\InventorySales\Model\ResourceModel\IsStockItemSalableCondition\ManageStockCondition</item>
<!-- min_qty condition includes source_item_status check (need to proper work of min_qty) -->
<item name="min_qty" xsi:type="object">Magento\InventorySales\Model\ResourceModel\IsStockItemSalableCondition\MinQtyStockWithReservationsCondition</item>
<item name="non_existing_legacy_sku" xsi:type="object">Magento\InventorySales\Model\ResourceModel\IsStockItemSalableCondition\SkuIsAbsentInCatalogCondition</item>
</argument>
</arguments>
</type><preference for="Magento\InventorySalesApi\Api\AreProductsSalableInterface" type="Magento\InventorySales\Model\AreProductsSalable"/><preference for="Magento\InventorySalesApi\Api\IsProductSalableInterface" type="Magento\InventorySales\Model\IsProductSalableCondition\IsProductSalableConditionChain"/><type name="Magento\InventorySales\Model\IsProductSalableCondition\IsProductSalableConditionChain">
<arguments>
<argument name="conditions" xsi:type="array">
<item name="stock_item_is_in_stock" xsi:type="array">
<item name="required" xsi:type="boolean">true</item>
<item name="object" xsi:type="object">Magento\InventorySales\Model\IsProductSalableCondition\IsSetInStockStatusForCompositeProductCondition</item>
</item>
<item name="is_any_source_item_in_stock" xsi:type="array">
<item name="required" xsi:type="boolean">true</item>
<item name="object" xsi:type="object">Magento\InventorySales\Model\IsProductSalableCondition\IsAnySourceItemInStockCondition</item>
</item>
<item name="back_order" xsi:type="array">
<item name="sort_order" xsi:type="number">10</item>
<item name="object" xsi:type="object">Magento\InventorySales\Model\IsProductSalableCondition\BackOrderCondition</item>
</item>
<item name="manage_stock" xsi:type="array">
<item name="sort_order" xsi:type="number">20</item>
<item name="object" xsi:type="object">Magento\InventorySales\Model\IsProductSalableCondition\ManageStockCondition</item>
</item>
<item name="is_salable_with_reservations" xsi:type="array">
<item name="sort_order" xsi:type="number">30</item>
<item name="object" xsi:type="object">Magento\InventorySales\Model\IsProductSalableCondition\IsSalableWithReservationsCondition</item>
</item>
</argument>
</arguments>
</type><preference for="Magento\InventorySalesApi\Api\IsProductSalableForRequestedQtyInterface" type="IsProductSalableForRequestedQtyConditionChainOnAddToCart"/><preference for="Magento\InventorySalesApi\Api\AreProductsSalableForRequestedQtyInterface" type="Magento\InventorySales\Model\AreProductsSalableForRequestedQty"/><virtualType name="IsProductSalableForRequestedQtyConditionChainOnAddToCart" type="Magento\InventorySales\Model\IsProductSalableForRequestedQtyCondition\IsProductSalableForRequestedQtyConditionChain">
<arguments>
<argument name="conditions" xsi:type="array">
<item name="is_correct_qty" xsi:type="array">
<item name="required" xsi:type="boolean">true</item>
<item name="object" xsi:type="object">Magento\InventorySales\Model\IsProductSalableForRequestedQtyCondition\IsCorrectQtyCondition</item>
</item>
<item name="is_any_source_item_in_stock" xsi:type="array">
<item name="required" xsi:type="boolean">true</item>
<item name="object" xsi:type="object">Magento\InventorySales\Model\IsProductSalableForRequestedQtyCondition\IsAnySourceItemInStockCondition</item>
</item>
<item name="back_order" xsi:type="array">
<item name="sort_order" xsi:type="number">10</item>
<item name="object" xsi:type="object">Magento\InventorySales\Model\IsProductSalableForRequestedQtyCondition\BackOrderCondition</item>
</item>
<item name="manage_stock" xsi:type="array">
<item name="sort_order" xsi:type="number">20</item>
<item name="object" xsi:type="object">Magento\InventorySales\Model\IsProductSalableForRequestedQtyCondition\ManageStockCondition</item>
</item>
<item name="is_salable_with_reservations" xsi:type="array">
<item name="sort_order" xsi:type="number">30</item>
<item name="object" xsi:type="object">Magento\InventorySales\Model\IsProductSalableForRequestedQtyCondition\IsSalableWithReservationsCondition</item>
</item>
</argument>
</arguments>
</virtualType><preference for="Magento\InventorySalesApi\Api\Data\ProductSalableResultInterface" type="Magento\InventorySales\Model\IsProductSalableForRequestedQtyCondition\ProductSalableResult"/><preference for="Magento\InventorySalesApi\Api\Data\ProductSalabilityErrorInterface" type="Magento\InventorySales\Model\IsProductSalableForRequestedQtyCondition\ProductSalabilityError"/><virtualType name="IsProductSalableForRequestedQtyConditionChainOnPlaceOrder" type="Magento\InventorySales\Model\IsProductSalableForRequestedQtyCondition\IsProductSalableForRequestedQtyConditionChain">
<arguments>
<argument name="conditions" xsi:type="array">
<item name="back_order" xsi:type="array">
<item name="sort_order" xsi:type="number">10</item>
<item name="object" xsi:type="object">Magento\InventorySales\Model\IsProductSalableForRequestedQtyCondition\BackOrderCondition</item>
</item>
<item name="manage_stock" xsi:type="array">
<item name="sort_order" xsi:type="number">20</item>
<item name="object" xsi:type="object">Magento\InventorySales\Model\IsProductSalableForRequestedQtyCondition\ManageStockCondition</item>
</item>
<item name="is_salable_with_reservations" xsi:type="array">
<item name="sort_order" xsi:type="number">30</item>
<item name="object" xsi:type="object">Magento\InventorySales\Model\IsProductSalableForRequestedQtyCondition\IsSalableWithReservationsCondition</item>
</item>
</argument>
</arguments>
</virtualType><type name="Magento\InventorySales\Model\AreProductsSalableForRequestedQty">
<arguments>
<argument name="isProductSalableForRequestedQty" xsi:type="object">IsProductSalableForRequestedQtyConditionChainOnPlaceOrder</argument>
</arguments>
</type><type name="Magento\CatalogInventory\Model\StockManagement">
<plugin name="process_back_item_qty" type="Magento\InventorySales\Plugin\CatalogInventory\StockManagement\ProcessBackItemQtyPlugin"/>
<plugin name="process_revert_products_sale" type="Magento\InventorySales\Plugin\CatalogInventory\StockManagement\ProcessRevertProductsSalePlugin"/>
</type><type name="Magento\CatalogInventory\Api\RegisterProductSaleInterface">
<plugin name="process_register_products_sale" type="Magento\InventorySales\Plugin\CatalogInventory\StockManagement\ProcessRegisterProductsSalePlugin"/>
</type><type name="Magento\Sales\Api\OrderManagementInterface">
<plugin name="inventory_reservations_placement" type="Magento\InventorySales\Plugin\Sales\OrderManagement\AppendReservationsAfterOrderPlacementPlugin"/>
</type><preference for="Magento\InventorySalesApi\Model\ReturnProcessor\Request\ItemsToRefundInterface" type="Magento\InventorySales\Model\ReturnProcessor\Request\ItemsToRefund"/><preference for="Magento\InventorySalesApi\Model\ReturnProcessor\ProcessRefundItemsInterface" type="Magento\InventorySales\Model\ReturnProcessor\ProcessRefundItems"/><type name="Magento\SalesInventory\Model\Order\ReturnProcessor">
<plugin name="process_return_product_qty_on_credit_memo" type="Magento\InventorySales\Plugin\SalesInventory\ProcessReturnQtyOnCreditMemoPlugin"/>
</type><type name="Magento\InventorySalesApi\Model\ReturnProcessor\GetSourceDeductedOrderItemsChain">
<arguments>
<argument name="sourceDeductedItemsSelector" xsi:type="array">
<item name="source_deducted__virtual_invoice_items" xsi:type="object">Magento\InventorySales\Model\ReturnProcessor\GetInvoicedItemsPerSourceByPriority</item>
<item name="source_deducted_shipping_items" xsi:type="object">Magento\InventoryShipping\Model\ReturnProcessor\GetShippedItemsPerSourceByPriority</item></argument>
</arguments>
</type><preference for="Magento\InventorySalesApi\Model\StockByWebsiteIdResolverInterface" type="Magento\InventorySales\Model\StockByWebsiteIdResolver"/><type name="Magento\InventorySales\Plugin\Store\Model\ResourceModel\Website\AssignWebsiteToDefaultStockPlugin">
<arguments>
<argument name="getAssignedStockIdForWebsite" xsi:type="object">Magento\InventorySales\Model\ResourceModel\GetAssignedStockIdForWebsite</argument>
</arguments>
</type><type name="Magento\InventoryConfigurationApi\Api\GetStockItemConfigurationInterface">
<plugin name="load_stock_item_is_in_stock" type="Magento\InventoryCatalog\Plugin\InventoryConfigurationApi\GetStockItemConfiguration\LoadIsInStockPlugin"/>
</type><preference for="Magento\InventorySalesApi\Model\GetSkuFromOrderItemInterface" type="Magento\InventorySales\Model\GetSkuFromOrderItem"/><preference for="Magento\InventorySalesApi\Api\Data\IsProductSalableForRequestedQtyRequestInterface" type="Magento\InventorySales\Model\IsProductSalableForRequestedQtyRequest"/><preference for="Magento\InventorySalesApi\Api\Data\IsProductSalableForRequestedQtyResultInterface" type="Magento\InventorySales\Model\IsProductSalableForRequestedQtyResult"/><preference for="Magento\InventorySalesApi\Api\Data\IsProductSalableResultInterface" type="Magento\InventorySales\Model\IsProductSalableResult"/><preference for="Magento\InventoryCatalogApi\Model\BulkSourceAssignValidatorInterface" type="Magento\InventoryCatalogApi\Model\BulkSourceAssignValidatorChain"/><preference for="Magento\InventoryCatalogApi\Model\BulkSourceUnassignValidatorInterface" type="Magento\InventoryCatalogApi\Model\BulkSourceUnassignValidatorChain"/><preference for="Magento\InventoryCatalogApi\Model\BulkInventoryTransferValidatorInterface" type="Magento\InventoryCatalogApi\Model\BulkInventoryTransferValidatorChain"/><preference for="Magento\InventoryCatalogApi\Model\PartialInventoryTransferValidatorInterface" type="Magento\InventoryCatalogApi\Model\PartialInventoryTransferValidatorChain"/><type name="Magento\CatalogSearch\Model\Indexer\Fulltext\Action\GetSearchableProductsSelect">
<plugin name="stock_filters_by_child_products" type="Magento\InventoryCatalogSearch\Plugin\CatalogSearch\Model\Indexer\ChildProductFilterByInventoryStockPlugin"/>
</type><type name="Magento\InventoryCatalogSearch\Model\Indexer\FilterProductByStock">
<arguments>
<argument name="selectModifiersPool" xsi:type="array">
<item name="bundleSelectModifier" xsi:type="object">Magento\InventoryCatalogSearchBundleProduct\Model\CatalogSearch\Indexer\BundleChildStockStatusModifier</item>
<item name="configurableSelectModifier" xsi:type="object">Magento\InventoryCatalogSearchConfigurableProduct\Model\CatalogSearch\Indexer\ConfigurableChildStockStatusModifier</item></argument>
</arguments>
</type><type name="Magento\InventorySalesApi\Model\GetSkuFromOrderItemInterface">
<plugin name="get_configurable_option_sku_from_order" type="Magento\InventoryConfigurableProduct\Plugin\Sales\GetSkuFromOrderItem"/>
</type><type name="Magento\CatalogInventory\Observer\ParentItemProcessorInterface">
<plugin name="adapt_parent_stock_processor" type="Magento\InventoryConfigurableProduct\Plugin\CatalogInventory\Observer\ParentItemProcessor\AdaptParentItemProcessorPlugin"/>
</type><type name="Magento\InventoryIndexer\Indexer\Stock\IndexDataProviderByStockId">
<arguments>
<argument name="selectBuilders" xsi:type="array">
<item name="configurable" xsi:type="object">Magento\InventoryConfigurableProductIndexer\Indexer\SelectBuilder</item>
<item name="default" xsi:type="object">Magento\InventoryIndexer\Indexer\SelectBuilder</item></argument>
</arguments>
</type><type name="Magento\InventoryConfigurableProductIndexer\Indexer\SourceItem\SourceItemIndexer">
<arguments>
<argument name="indexHandler" xsi:type="object">Magento\InventoryIndexer\Indexer\IndexHandler</argument>
<argument name="indexStructure" xsi:type="object">Magento\InventoryIndexer\Indexer\IndexStructure</argument>
<argument name="batchSize" xsi:type="string">100</argument>
</arguments>
</type><type name="Magento\InventoryConfigurableProductIndexer\Indexer\Stock\StockIndexer">
<arguments>
<argument name="indexHandler" xsi:type="object">Magento\InventoryIndexer\Indexer\IndexHandler</argument>
<argument name="indexStructure" xsi:type="object">Magento\InventoryIndexer\Indexer\IndexStructure</argument>
<argument name="batchSize" xsi:type="string">100</argument>
</arguments>
</type><type name="Magento\InventoryConfigurableProductIndexer\Indexer\SourceItem\SiblingSkuListInStockProvider">
<arguments>
<argument name="tableNameSourceItem" xsi:type="const">Magento\Inventory\Model\ResourceModel\SourceItem::TABLE_NAME_SOURCE_ITEM</argument>
<argument name="tableNameStockSourceLink" xsi:type="const">Magento\Inventory\Model\ResourceModel\StockSourceLink::TABLE_NAME_STOCK_SOURCE_LINK</argument>
</arguments>
</type><preference for="Magento\InventoryConfigurationApi\Api\GetStockItemConfigurationInterface" type="Magento\InventoryConfiguration\Model\GetStockItemConfiguration"/><preference for="Magento\InventoryConfigurationApi\Api\SaveStockItemConfigurationInterface" type="Magento\InventoryConfiguration\Model\SaveStockItemConfiguration"/><preference for="Magento\InventoryConfigurationApi\Api\Data\StockItemConfigurationInterface" type="Magento\InventoryConfiguration\Model\StockItemConfiguration"/><preference for="Magento\InventoryConfigurationApi\Model\IsSourceItemManagementAllowedForProductTypeInterface" type="Magento\InventoryConfiguration\Model\IsSourceItemManagementAllowedForProductType"/><preference for="Magento\InventoryConfigurationApi\Model\IsSourceItemManagementAllowedForSkuInterface" type="Magento\InventoryConfiguration\Model\IsSourceItemManagementAllowedForSku"/><preference for="Magento\InventoryConfigurationApi\Model\GetAllowedProductTypesForSourceItemManagementInterface" type="Magento\InventoryConfiguration\Model\GetAllowedProductTypesForSourceItemManagement"/><type name="Magento\CatalogInventory\Model\System\Config\Backend\Minqty">
<plugin name="allow_negative_min_qty_in_config" type="Magento\InventoryConfiguration\Plugin\CatalogInventory\Model\System\Config\Backend\Minqty\AllowNegativeMinQtyInConfigPlugin"/>
</type><type name="Magento\InventoryConfiguration\Model\GetLegacyStockItem">
<plugin name="cache_legacy_stock_item" type="Magento\InventoryConfiguration\Plugin\InventoryConfiguration\Model\GetLegacyStockItemCache"/>
</type><preference for="Magento\InventoryDistanceBasedSourceSelectionApi\Api\GetDistanceProviderCodeInterface" type="Magento\InventoryDistanceBasedSourceSelection\Model\GetDistanceProviderCode"/><preference for="Magento\InventoryDistanceBasedSourceSelectionApi\Api\Data\LatLngInterface" type="Magento\InventoryDistanceBasedSourceSelection\Model\LatLng"/><type name="Magento\InventorySourceSelectionApi\Model\SourceSelectionService">
<arguments>
<argument name="sourceSelectionMethods" xsi:type="array">
<item name="distance" xsi:type="string">Magento\InventoryDistanceBasedSourceSelection\Model\Algorithms\DistanceBasedAlgorithm</item>
<item name="priority" xsi:type="string">Magento\InventorySourceSelection\Model\Algorithms\PriorityBasedAlgorithm</item></argument>
</arguments>
</type><type name="Magento\InventorySourceSelectionApi\Model\GetSourceSelectionAlgorithmList">
<arguments>
<argument name="availableAlgorithms" xsi:type="array">
<item name="distance" xsi:type="array">
<item xsi:type="string" name="code">distance</item>
<item xsi:type="string" name="title" translatable="true">Distance Priority</item>
<item xsi:type="string" name="description" translatable="true">Algorithm which provides Source Selections based on shipping address distance from the source</item>
</item>
<item name="priority" xsi:type="array">
<item xsi:type="string" name="code">priority</item>
<item xsi:type="string" name="title" translatable="true">Source Priority</item>
<item xsi:type="string" name="description" translatable="true">Algorithm which provides Source Selections based on predefined priority of Source</item>
</item></argument>
</arguments>
</type><type name="Magento\InventoryDistanceBasedSourceSelectionApi\Model\GetDistance">
<arguments>
<argument name="providers" xsi:type="array">
<item name="google" xsi:type="object">Magento\InventoryDistanceBasedSourceSelection\Model\DistanceProvider\GoogleMap\GetDistance</item>
<item name="offline" xsi:type="object">Magento\InventoryDistanceBasedSourceSelection\Model\DistanceProvider\Offline\GetDistance</item>
</argument>
</arguments>
</type><type name="Magento\InventoryDistanceBasedSourceSelectionApi\Model\GetLatLngFromAddress">
<arguments>
<argument name="providers" xsi:type="array">
<item name="google" xsi:type="object">Magento\InventoryDistanceBasedSourceSelection\Model\DistanceProvider\GoogleMap\GetLatLngFromAddress</item>
<item name="offline" xsi:type="object">Magento\InventoryDistanceBasedSourceSelection\Model\DistanceProvider\Offline\GetLatLngFromAddress</item>
</argument>
</arguments>
</type><type name="Magento\InventoryDistanceBasedSourceSelectionApi\Model\GetLatsLngsFromAddress">
<arguments>
<argument name="providers" xsi:type="array">
<item name="google" xsi:type="object">Magento\InventoryDistanceBasedSourceSelection\Model\DistanceProvider\GoogleMap\GetLatsLngsFromAddress</item>
<item name="offline" xsi:type="object">Magento\InventoryDistanceBasedSourceSelection\Model\DistanceProvider\Offline\GetLatsLngsFromAddress</item>
</argument>
</arguments>
</type><type name="Magento\InventoryApi\Api\SourceRepositoryInterface">
<plugin sortOrder="10" name="updateSourceLatitudeAndLongitude" type="Magento\InventoryDistanceBasedSourceSelection\Plugin\FillSourceLatitudeAndLongitude"/>
<plugin name="invalidate_after_enabling_or_disabling_source" type="Magento\InventoryIndexer\Plugin\InventoryApi\InvalidateAfterEnablingOrDisablingSourcePlugin"/><plugin name="load_in_store_pickup_on_get_list" type="Magento\InventoryInStorePickup\Plugin\InventoryApi\SourceRepository\LoadInStorePickupOnGetListPlugin"/><plugin name="load_in_store_pickup_on_get" type="Magento\InventoryInStorePickup\Plugin\InventoryApi\SourceRepository\LoadInStorePickupOnGetPlugin"/><plugin name="save_in_store_pickup_links" type="Magento\InventoryInStorePickup\Plugin\InventoryApi\SourceRepository\SaveInStorePickupPlugin"/></type><type name="Magento\InventoryDistanceBasedSourceSelection\Model\ImportGeoNames">
<arguments>
<argument name="geoNamesBaseUrl" xsi:type="string">http://download.geonames.org/export/zip/</argument>
</arguments>
</type><preference for="Magento\InventoryDistanceBasedSourceSelectionApi\Api\GetDistanceInterface" type="Magento\InventoryDistanceBasedSourceSelectionApi\Model\GetDistance"/><preference for="Magento\InventoryDistanceBasedSourceSelectionApi\Api\GetLatLngFromAddressInterface" type="Magento\InventoryDistanceBasedSourceSelectionApi\Model\GetLatLngFromAddress"/><preference for="Magento\InventoryDistanceBasedSourceSelectionApi\Api\GetLatsLngsFromAddressInterface" type="Magento\InventoryDistanceBasedSourceSelectionApi\Model\GetLatsLngsFromAddress"/><preference for="Magento\InventoryMultiDimensionalIndexerApi\Model\IndexHandlerInterface" type="Magento\InventoryIndexer\Indexer\IndexHandler"/><preference for="Magento\InventoryMultiDimensionalIndexerApi\Model\IndexStructureInterface" type="Magento\InventoryIndexer\Indexer\IndexStructure"/><type name="Magento\InventoryIndexer\Indexer\SourceItem\SourceItemReindexStrategy">
<arguments>
<argument name="strategies" xsi:type="array">
<item name="async" xsi:type="string">Magento\InventoryIndexer\Indexer\SourceItem\Strategy\Async</item>
<item name="sync" xsi:type="string">Magento\InventoryIndexer\Indexer\SourceItem\Strategy\Sync</item>
</argument>
</arguments>
</type><type name="Magento\InventoryIndexer\Indexer\Stock\StockReindexStrategy">
<arguments>
<argument name="strategies" xsi:type="array">
<item name="async" xsi:type="string">Magento\InventoryIndexer\Indexer\Stock\Strategy\Async</item>
<item name="sync" xsi:type="string">Magento\InventoryIndexer\Indexer\Stock\Strategy\Sync</item>
</argument>
</arguments>
</type><type name="Magento\InventoryIndexer\Indexer\IndexHandler">
<arguments>
<argument name="batchSize" xsi:type="string">100</argument>
</arguments>
</type><type name="Magento\InventoryIndexer\Indexer\SourceItem\SourceItemIndexer">
<arguments>
<argument name="indexStructureHandler" xsi:type="object">Magento\InventoryIndexer\Indexer\IndexStructure</argument>
<argument name="indexHandler" xsi:type="object">Magento\InventoryIndexer\Indexer\IndexHandler</argument>
</arguments>
</type><type name="Magento\InventoryIndexer\Indexer\Stock\StockIndexer">
<arguments>
<argument name="indexStructureHandler" xsi:type="object">Magento\InventoryIndexer\Indexer\IndexStructure</argument>
<argument name="indexHandler" xsi:type="object">Magento\InventoryIndexer\Indexer\IndexHandler</argument>
</arguments>
</type><type name="Magento\InventoryIndexer\Model\ResourceModel\GetProductIdsBySourceItemIds">
<arguments>
<argument name="productTableName" xsi:type="string">catalog_product_entity</argument>
</arguments>
</type><type name="Magento\InventoryIndexer\Indexer\SelectBuilder">
<arguments>
<argument name="productTableName" xsi:type="string">catalog_product_entity</argument>
</arguments>
</type><type name="Magento\InventoryApi\Api\StockSourceLinksSaveInterface">
<plugin name="invalidate_after_stock_source_links_save" type="Magento\InventoryIndexer\Plugin\InventoryApi\InvalidateAfterStockSourceLinksSavePlugin"/>
</type><preference for="Magento\InventoryIndexer\Model\StockIndexTableNameResolverInterface" type="Magento\InventoryIndexer\Model\StockIndexTableNameResolver"/><type name="Magento\InventoryIndexer\Model\StockIndexTableNameResolver">
<arguments>
<argument name="dimensionName" xsi:type="string">stock_</argument>
</arguments>
</type><type name="Magento\InventorySales\Model\PlaceReservationsForSalesEvent">
<plugin name="schedule_reservation_place" type="Magento\InventoryIndexer\Plugin\InventorySales\EnqueueAfterPlaceReservationsForSalesEvent"/>
</type><type name="Magento\InventoryIndexer\Model\ResourceModel\GetProductIdsByStockIds">
<arguments>
<argument name="productTableName" xsi:type="string">catalog_product_entity</argument>
</arguments>
</type><virtualType name="Magento\InventoryIndexer\Model\AreProductsSalable" type="Magento\InventorySales\Model\AreProductsSalable">
<arguments>
<argument name="isProductSalable" xsi:type="object">Magento\InventoryIndexer\Model\IsProductSalable</argument>
</arguments>
</virtualType><type name="Magento\InventoryIndexer\Indexer\SourceItem\GetSalableStatuses">
<arguments>
<argument name="areProductsSalable" xsi:type="object">Magento\InventoryIndexer\Model\AreProductsSalable</argument>
</arguments>
</type><preference for="Magento\InventorySalesApi\Model\ReturnProcessor\GetSourceDeductedOrderItemsInterface" type="Magento\InventorySalesApi\Model\ReturnProcessor\GetSourceDeductedOrderItemsChain"/><type name="Magento\InventoryCatalog\Model\UpdateInventory">
<plugin name="updateParentLegacyStockStatus" type="Magento\InventoryGroupedProduct\Plugin\InventoryCatalog\Model\UpdateParentStockStatusPlugin"/>
</type><type name="Magento\Catalog\Model\Product\Link">
<plugin name="process_source_items_after_save_links" type="Magento\InventoryGroupedProductAdminUi\Plugin\Catalog\Model\Product\Link\ProcessSourceItemsAfterSaveAssociatedLinks"/>
</type><type name="Magento\InventoryGroupedProductIndexer\Indexer\Stock\StockIndexer">
<arguments>
<argument name="indexHandler" xsi:type="object">Magento\InventoryIndexer\Indexer\IndexHandler</argument>
<argument name="indexStructure" xsi:type="object">Magento\InventoryIndexer\Indexer\IndexStructure</argument>
</arguments>
</type><type name="Magento\InventoryGroupedProductIndexer\Indexer\SourceItem\SourceItemIndexer">
<arguments>
<argument name="indexHandler" xsi:type="object">Magento\InventoryIndexer\Indexer\IndexHandler</argument>
<argument name="indexStructure" xsi:type="object">Magento\InventoryIndexer\Indexer\IndexStructure</argument>
</arguments>
</type><type name="Magento\InventoryGroupedProductIndexer\Indexer\SourceItem\SiblingSkuListInStockProvider">
<arguments>
<argument name="tableNameSourceItem" xsi:type="const">Magento\Inventory\Model\ResourceModel\SourceItem::TABLE_NAME_SOURCE_ITEM</argument>
<argument name="tableNameStockSourceLink" xsi:type="const">Magento\Inventory\Model\ResourceModel\StockSourceLink::TABLE_NAME_STOCK_SOURCE_LINK</argument>
</arguments>
</type><preference for="Magento\InventoryImportExport\Model\Import\Validator\ValidatorInterface" type="Magento\InventoryImportExport\Model\Import\Validator\ValidatorChain"/><type name="Magento\InventoryImportExport\Model\Import\Validator\ValidatorChain">
<arguments>
<argument name="validators" xsi:type="array">
<item name="sku" xsi:type="object">Magento\InventoryImportExport\Model\Import\Validator\SkuValidator</item>
<item name="source" xsi:type="object">Magento\InventoryImportExport\Model\Import\Validator\SourceValidator</item>
<item name="qty" xsi:type="object">Magento\InventoryImportExport\Model\Import\Validator\QtyValidator</item>
</argument>
</arguments>
</type><type name="Magento\InventoryImportExport\Model\Import\Sources">
<arguments>
<argument name="commands" xsi:type="array">
<item name="delete" xsi:type="object">Magento\InventoryImportExport\Model\Import\Command\Delete</item>
<item name="append" xsi:type="object">Magento\InventoryImportExport\Model\Import\Command\Append</item>
<item name="replace" xsi:type="object">Magento\InventoryImportExport\Model\Import\Command\Replace</item>
</argument>
</arguments>
</type><preference for="Magento\InventoryImportExport\Model\Export\SourceItemCollectionFactoryInterface" type="Magento\InventoryImportExport\Model\Export\SourceItemCollectionFactory"/><preference for="Magento\InventoryImportExport\Model\Export\ColumnProviderInterface" type="Magento\InventoryImportExport\Model\Export\ColumnProvider"/><type name="Magento\InventoryImportExport\Model\Export\FilterProcessorAggregator">
<arguments>
<argument name="handler" xsi:type="array">
<item name="int" xsi:type="object">Magento\InventoryImportExport\Model\Export\Filter\IntFilter</item>
<!-- IntFilter is also used for 'decimal' type -->
<item name="decimal" xsi:type="object">Magento\InventoryImportExport\Model\Export\Filter\IntFilter</item>
<item name="varchar" xsi:type="object">Magento\InventoryImportExport\Model\Export\Filter\VarcharFilter</item>
</argument>
</arguments>
</type><preference for="Magento\InventoryInStorePickupApi\Model\SearchCriteriaResolverInterface" type="Magento\InventoryInStorePickupApi\Model\SearchCriteriaResolverChain"/><preference for="Magento\InventoryInStorePickupApi\Model\SearchResult\ExtractorInterface" type="Magento\InventoryInStorePickupApi\Model\SearchResult\Extractor"/><type name="Magento\InventoryInStorePickupApi\Model\Mapper">
<arguments>
<argument name="map" xsi:type="array">
<item name="source_code" xsi:type="string">pickup_location_code</item>
<item name="email" xsi:type="string">email</item>
<item name="fax" xsi:type="string">fax</item>
<item name="contact_name" xsi:type="string">contact_name</item>
<item name="description" xsi:type="string">description</item>
<item name="latitude" xsi:type="string">latitude</item>
<item name="longitude" xsi:type="string">longitude</item>
<item name="country_id" xsi:type="string">country_id</item>
<item name="region_id" xsi:type="string">region_id</item>
<item name="region" xsi:type="string">region</item>
<item name="city" xsi:type="string">city</item>
<item name="street" xsi:type="string">street</item>
<item name="postcode" xsi:type="string">postcode</item>
<item name="phone" xsi:type="string">phone</item>
<item name="extension_attributes.frontend_name" xsi:type="string">name</item><item name="extension_attributes.frontend_description" xsi:type="string">description</item></argument>
<argument name="preProcessors" xsi:type="array">
<item name="extension_attributes.frontend_description" xsi:type="object">Magento\InventoryInStorePickup\Model\PickupLocation\Mapper\PreProcessor\FrontendDescription</item>
</argument></arguments>
</type><type name="Magento\InventoryInStorePickupApi\Model\SearchCriteria\SearchCriteriaBuilderDecorator">
<arguments>
<argument name="criteriaBuilder" shared="false" xsi:type="object">Magento\Framework\Api\SearchCriteriaBuilder</argument>
</arguments>
</type><preference for="Magento\InventorySourceSelectionApi\Api\GetSourceSelectionAlgorithmListInterface" type="Magento\InventorySourceSelectionApi\Model\GetSourceSelectionAlgorithmList"/><preference for="Magento\InventorySourceSelectionApi\Api\SourceSelectionServiceInterface" type="Magento\InventorySourceSelectionApi\Model\SourceSelectionService"/><preference for="Magento\InventorySourceSelectionApi\Model\GetSourceItemQtyAvailableInterface" type="Magento\InventorySourceSelectionApi\Model\GetSourceItemQtyAvailableService"/><type name="Magento\InventorySourceSelectionApi\Model\Algorithms\Result\GetDefaultSortedSourcesResult">
<arguments>
<!-- Argument searchCriteriaBuilder is deprecated and it should not be used anymore -->
<argument name="searchCriteriaBuilder" xsi:type="null"/>
<!-- Argument sourceItemRepository is deprecated and it should not be used anymore -->
<argument name="sourceItemRepository" xsi:type="null"/>
</arguments>
</type><preference for="Magento\InventoryInStorePickupApi\Api\Data\PickupLocationInterface" type="Magento\InventoryInStorePickup\Model\PickupLocation"/><preference for="Magento\InventoryInStorePickupApi\Api\GetPickupLocationsInterface" type="Magento\InventoryInStorePickup\Model\GetPickupLocations"/><preference for="Magento\InventoryInStorePickupApi\Model\GetPickupLocationInterface" type="Magento\InventoryInStorePickup\Model\GetPickupLocation"/><preference for="Magento\InventoryInStorePickupApi\Api\Data\SearchResultInterface" type="Magento\InventoryInStorePickup\Model\SearchResult"/><preference for="Magento\InventoryInStorePickupApi\Model\SearchResult\ExtractStrategyInterface" type="Magento\InventoryInStorePickup\Model\SearchResult\ExtractStrategy"/><type name="Magento\InventoryInStorePickupApi\Model\SearchCriteriaResolverInterface">
<arguments>
<argument name="resolvers" xsi:type="array">
<item name="resolve-default-filters" xsi:type="object">Magento\InventoryInStorePickup\Model\SearchCriteria\ResolveDefaultFilters</item>
<item name="resolve-filter-set" xsi:type="object">Magento\InventoryInStorePickup\Model\SearchCriteria\ResolveFilters</item>
<item name="resolve-distance-filter" xsi:type="object">Magento\InventoryInStorePickup\Model\SearchCriteria\ResolveArea</item>
<item name="resolve-scope-filter" xsi:type="object">Magento\InventoryInStorePickup\Model\SearchCriteria\ResolveScopeFilter</item>
<item name="resolve-meta" xsi:type="object">Magento\InventoryInStorePickup\Model\SearchCriteria\ResolveMeta</item>
<item name="resolve-products-assignment-intersection" xsi:type="object">Magento\InventoryInStorePickup\Model\SearchCriteria\ResolveIntersection</item>
</argument>
</arguments>
</type><preference for="Magento\InventoryInStorePickupApi\Api\Data\SearchRequest\AreaInterface" type="Magento\InventoryInStorePickup\Model\SearchRequest\Area"/><preference for="Magento\InventoryInStorePickupApi\Api\Data\SearchRequest\FiltersInterface" type="Magento\InventoryInStorePickup\Mod