Query Metrics
67
Database Queries
20
Different statements
133.26 ms
Query time
0
Invalid entities
2807
Managed entities
Grouped Statements
| Time▼ | Count | Info |
|---|---|---|
|
38.54 ms (28.92%) |
1 |
SELECT s0_.code AS code_0, s0_.tree_left AS tree_left_1, s0_.tree_right AS tree_right_2, s0_.tree_level AS tree_level_3, s0_.position AS position_4, s0_.enabled AS enabled_5, s0_.id AS id_6, s0_.created_at AS created_at_7, s0_.updated_at AS updated_at_8, s0_.menu AS menu_9, s0_.code AS code_10, s0_.tree_left AS tree_left_11, s0_.tree_right AS tree_right_12, s0_.tree_level AS tree_level_13, s0_.position AS position_14, s0_.enabled AS enabled_15, s0_.id AS id_16, s0_.created_at AS created_at_17, s0_.updated_at AS updated_at_18, s0_.menu AS menu_19, s1_.name AS name_20, s1_.slug AS slug_21, s1_.description AS description_22, s1_.id AS id_23, s1_.locale AS locale_24, s2_.code AS code_25, s2_.tree_left AS tree_left_26, s2_.tree_right AS tree_right_27, s2_.tree_level AS tree_level_28, s2_.position AS position_29, s2_.enabled AS enabled_30, s2_.id AS id_31, s2_.created_at AS created_at_32, s2_.updated_at AS updated_at_33, s2_.menu AS menu_34, s0_.tree_root AS tree_root_35, s0_.parent_id AS parent_id_36, s1_.translatable_id AS translatable_id_37, s2_.tree_root AS tree_root_38, s2_.parent_id AS parent_id_39 FROM sylius_taxon s0_ LEFT JOIN sylius_taxon_translation s1_ ON s0_.id = s1_.translatable_id LEFT JOIN sylius_taxon s2_ ON s0_.id = s2_.parent_id AND (s2_.menu = 1) WHERE s1_.locale = ? AND s0_.tree_root = ? ORDER BY s0_.id ASC, s2_.position ASC, s2_.id ASC
Parameters:
[ "fr_FR" 1 ] |
|
30.20 ms (22.66%) |
1 |
SELECT COUNT(*) AS dctrn_count FROM (SELECT DISTINCT id_4 FROM (SELECT s0_.code AS code_0, s0_.created_at AS created_at_1, s0_.updated_at AS updated_at_2, s0_.enabled AS enabled_3, s0_.id AS id_4, s0_.variant_selection_method AS variant_selection_method_5, s0_.average_rating AS average_rating_6, s1_.name AS name_7, s1_.slug AS slug_8, s1_.description AS description_9, s1_.meta_keywords AS meta_keywords_10, s1_.meta_description AS meta_description_11, s1_.id AS id_12, s1_.short_description AS short_description_13, s1_.fullTitle AS fullTitle_14, s1_.metaTitle AS metaTitle_15, s1_.locale AS locale_16, s2_.position AS position_17, s2_.id AS id_18, s3_.code AS code_19, s3_.created_at AS created_at_20, s3_.updated_at AS updated_at_21, s3_.position AS position_22, s3_.enabled AS enabled_23, s3_.id AS id_24, s3_.version AS version_25, s3_.on_hold AS on_hold_26, s3_.on_hand AS on_hand_27, s3_.tracked AS tracked_28, s3_.width AS width_29, s3_.height AS height_30, s3_.depth AS depth_31, s3_.weight AS weight_32, s3_.shipping_required AS shipping_required_33, s3_.reference AS reference_34, s3_.barCode AS barCode_35, s3_.recurring AS recurring_36, s3_.recurring_times AS recurring_times_37, s3_.recurring_interval AS recurring_interval_38, s4_.price AS price_39, s4_.original_price AS original_price_40, s4_.minimum_price AS minimum_price_41, s4_.lowest_price_before_discount AS lowest_price_before_discount_42, s4_.channel_code AS channel_code_43, s4_.id AS id_44 FROM sylius_product s0_ INNER JOIN sylius_product_translation s1_ ON s0_.id = s1_.translatable_id AND (s1_.locale = ?) INNER JOIN sylius_product_taxon s2_ ON s0_.id = s2_.product_id INNER JOIN sylius_taxon s5_ ON s2_.taxon_id = s5_.id INNER JOIN sylius_product_variant s3_ ON s0_.id = s3_.product_id INNER JOIN sylius_channel_pricing s4_ ON s3_.id = s4_.product_variant_id WHERE s5_.tree_left >= ? AND s5_.tree_right <= ? AND s5_.tree_root = ? AND EXISTS (SELECT 1 FROM sylius_product_channels s6_ WHERE s6_.product_id = s0_.id AND s6_.channel_id IN (?)) AND s0_.enabled = ? AND s4_.channel_code = ? AND (s3_.position IN (SELECT min(s7_.position) AS sclr_45 FROM sylius_product s8_ INNER JOIN sylius_product_variant s7_ ON s8_.id = s7_.product_id WHERE s8_.id = s0_.id AND s7_.enabled = ?)) ORDER BY s4_.price DESC, s0_.id ASC, s2_.id ASC, s3_.position ASC, s3_.id ASC, s4_.id ASC) dctrn_result) dctrn_table
Parameters:
[ "fr_FR" 1027 1028 1 4 1 "WEB_EUR" 1 ] |
|
28.40 ms (21.31%) |
1 |
SELECT DISTINCT id_4 FROM (SELECT DISTINCT id_4, price_39 FROM (SELECT s0_.code AS code_0, s0_.created_at AS created_at_1, s0_.updated_at AS updated_at_2, s0_.enabled AS enabled_3, s0_.id AS id_4, s0_.variant_selection_method AS variant_selection_method_5, s0_.average_rating AS average_rating_6, s1_.name AS name_7, s1_.slug AS slug_8, s1_.description AS description_9, s1_.meta_keywords AS meta_keywords_10, s1_.meta_description AS meta_description_11, s1_.id AS id_12, s1_.short_description AS short_description_13, s1_.fullTitle AS fullTitle_14, s1_.metaTitle AS metaTitle_15, s1_.locale AS locale_16, s2_.position AS position_17, s2_.id AS id_18, s3_.code AS code_19, s3_.created_at AS created_at_20, s3_.updated_at AS updated_at_21, s3_.position AS position_22, s3_.enabled AS enabled_23, s3_.id AS id_24, s3_.version AS version_25, s3_.on_hold AS on_hold_26, s3_.on_hand AS on_hand_27, s3_.tracked AS tracked_28, s3_.width AS width_29, s3_.height AS height_30, s3_.depth AS depth_31, s3_.weight AS weight_32, s3_.shipping_required AS shipping_required_33, s3_.reference AS reference_34, s3_.barCode AS barCode_35, s3_.recurring AS recurring_36, s3_.recurring_times AS recurring_times_37, s3_.recurring_interval AS recurring_interval_38, s4_.price AS price_39, s4_.original_price AS original_price_40, s4_.minimum_price AS minimum_price_41, s4_.lowest_price_before_discount AS lowest_price_before_discount_42, s4_.channel_code AS channel_code_43, s4_.id AS id_44, s5_.code AS code_45, s5_.tree_left AS tree_left_46, s5_.tree_right AS tree_right_47, s5_.tree_level AS tree_level_48, s5_.position AS position_49, s5_.enabled AS enabled_50, s5_.id AS id_51, s5_.created_at AS created_at_52, s5_.updated_at AS updated_at_53, s5_.menu AS menu_54 FROM sylius_product s0_ INNER JOIN sylius_product_translation s1_ ON s0_.id = s1_.translatable_id AND (s1_.locale = ?) INNER JOIN sylius_product_taxon s2_ ON s0_.id = s2_.product_id INNER JOIN sylius_taxon s5_ ON s2_.taxon_id = s5_.id INNER JOIN sylius_product_variant s3_ ON s0_.id = s3_.product_id INNER JOIN sylius_channel_pricing s4_ ON s3_.id = s4_.product_variant_id WHERE s5_.tree_left >= ? AND s5_.tree_right <= ? AND s5_.tree_root = ? AND EXISTS (SELECT 1 FROM sylius_product_channels s6_ WHERE s6_.product_id = s0_.id AND s6_.channel_id IN (?)) AND s0_.enabled = ? AND s4_.channel_code = ? AND (s3_.position IN (SELECT min(s7_.position) AS sclr_55 FROM sylius_product s8_ INNER JOIN sylius_product_variant s7_ ON s8_.id = s7_.product_id WHERE s8_.id = s0_.id AND s7_.enabled = ?)) ORDER BY s2_.id ASC, s3_.position ASC, s3_.id ASC, s4_.id ASC) dctrn_result_inner ORDER BY price_39 DESC, id_4 ASC) dctrn_result LIMIT 9
Parameters:
[ "fr_FR" 1027 1028 1 4 1 "WEB_EUR" 1 ] |
|
6.76 ms (5.07%) |
1 |
SELECT s0_.code AS code_0, s0_.tree_left AS tree_left_1, s0_.tree_right AS tree_right_2, s0_.tree_level AS tree_level_3, s0_.position AS position_4, s0_.enabled AS enabled_5, s0_.id AS id_6, s0_.created_at AS created_at_7, s0_.updated_at AS updated_at_8, s0_.menu AS menu_9, s1_.name AS name_10, s1_.slug AS slug_11, s1_.description AS description_12, s1_.id AS id_13, s1_.locale AS locale_14, s2_.code AS code_15, s2_.tree_left AS tree_left_16, s2_.tree_right AS tree_right_17, s2_.tree_level AS tree_level_18, s2_.position AS position_19, s2_.enabled AS enabled_20, s2_.id AS id_21, s2_.created_at AS created_at_22, s2_.updated_at AS updated_at_23, s2_.menu AS menu_24, s0_.tree_root AS tree_root_25, s0_.parent_id AS parent_id_26, s1_.translatable_id AS translatable_id_27, s2_.tree_root AS tree_root_28, s2_.parent_id AS parent_id_29 FROM sylius_taxon s0_ LEFT JOIN sylius_taxon_translation s1_ ON s0_.id = s1_.translatable_id INNER JOIN sylius_taxon s3_ ON s0_.parent_id = s3_.id LEFT JOIN sylius_taxon s2_ ON s0_.id = s2_.parent_id WHERE s1_.locale = ? AND s0_.enabled = ? AND s0_.menu = ? AND s3_.code = ? ORDER BY s0_.position ASC, s0_.id ASC, s2_.position ASC, s2_.id ASC
Parameters:
[ "fr_FR" 1 1 "categorie" ] |
|
5.99 ms (4.50%) |
9 |
SELECT t0.code AS code_1, t0.created_at AS created_at_2, t0.updated_at AS updated_at_3, t0.position AS position_4, t0.enabled AS enabled_5, t0.id AS id_6, t0.version AS version_7, t0.on_hold AS on_hold_8, t0.on_hand AS on_hand_9, t0.tracked AS tracked_10, t0.width AS width_11, t0.height AS height_12, t0.depth AS depth_13, t0.weight AS weight_14, t0.shipping_required AS shipping_required_15, t0.reference AS reference_16, t0.barCode AS barCode_17, t0.recurring AS recurring_18, t0.recurring_times AS recurring_times_19, t0.recurring_interval AS recurring_interval_20, t0.product_id AS product_id_21, t0.tax_category_id AS tax_category_id_22, t0.shipping_category_id AS shipping_category_id_23, t0.availabilityDelay_id AS availabilityDelay_id_24 FROM sylius_product_variant t0 WHERE t0.product_id = ? AND t0.enabled = ? ORDER BY t0.position ASC, t0.id ASC LIMIT 1
Parameters:
[ 1627 1 ] |
|
3.37 ms (2.53%) |
9 |
SELECT t0.type AS type_1, t0.path AS path_2, t0.id AS id_3, t0.position AS position_4, t0.owner_id AS owner_id_5 FROM sylius_product_image t0 WHERE t0.owner_id = ? ORDER BY t0.position ASC, t0.id ASC
Parameters:
[
1627
]
|
|
3.18 ms (2.39%) |
9 |
SELECT t0.code AS code_1, t0.id AS id_2, t0.option_id AS option_id_3 FROM sylius_product_option_value t0 INNER JOIN sylius_product_variant_option_value ON t0.id = sylius_product_variant_option_value.option_value_id WHERE sylius_product_variant_option_value.variant_id = ? ORDER BY t0.id ASC
Parameters:
[
3143
]
|
|
2.92 ms (2.19%) |
9 |
SELECT t0.code AS code_1, t0.name AS name_2, t0.start_date AS start_date_3, t0.end_date AS end_date_4, t0.enabled AS enabled_5, t0.priority AS priority_6, t0.exclusive AS exclusive_7, t0.state AS state_8, t0.id AS id_9 FROM sylius_catalog_promotion t0 INNER JOIN sylius_channel_pricing_catalog_promotions ON t0.id = sylius_channel_pricing_catalog_promotions.catalog_promotion_id WHERE sylius_channel_pricing_catalog_promotions.channel_pricing_id = ? ORDER BY t0.id ASC
Parameters:
[
3143
]
|
|
2.47 ms (1.85%) |
4 |
SELECT s0_.code AS code_0, s0_.tree_left AS tree_left_1, s0_.tree_right AS tree_right_2, s0_.tree_level AS tree_level_3, s0_.position AS position_4, s0_.enabled AS enabled_5, s0_.id AS id_6, s0_.created_at AS created_at_7, s0_.updated_at AS updated_at_8, s0_.menu AS menu_9, s1_.name AS name_10, s1_.slug AS slug_11, s1_.description AS description_12, s1_.id AS id_13, s1_.locale AS locale_14, s0_.tree_root AS tree_root_15, s0_.parent_id AS parent_id_16, s1_.translatable_id AS translatable_id_17 FROM sylius_taxon s0_ INNER JOIN sylius_taxon_translation s1_ ON s0_.id = s1_.translatable_id WHERE s0_.enabled = ? AND s1_.slug = ? AND s1_.locale = ? ORDER BY s0_.id ASC
Parameters:
[ 1 "accessoires-de-cuisine-boite-hermetique-en-verre-pebbly-1551" "fr_FR" ] |
|
2.41 ms (1.81%) |
1 |
SELECT s0_.code AS code_0, s0_.created_at AS created_at_1, s0_.updated_at AS updated_at_2, s0_.enabled AS enabled_3, s0_.id AS id_4, s0_.variant_selection_method AS variant_selection_method_5, s0_.average_rating AS average_rating_6, s1_.name AS name_7, s1_.slug AS slug_8, s1_.description AS description_9, s1_.meta_keywords AS meta_keywords_10, s1_.meta_description AS meta_description_11, s1_.id AS id_12, s1_.short_description AS short_description_13, s1_.fullTitle AS fullTitle_14, s1_.metaTitle AS metaTitle_15, s1_.locale AS locale_16, s2_.position AS position_17, s2_.id AS id_18, s3_.code AS code_19, s3_.created_at AS created_at_20, s3_.updated_at AS updated_at_21, s3_.position AS position_22, s3_.enabled AS enabled_23, s3_.id AS id_24, s3_.version AS version_25, s3_.on_hold AS on_hold_26, s3_.on_hand AS on_hand_27, s3_.tracked AS tracked_28, s3_.width AS width_29, s3_.height AS height_30, s3_.depth AS depth_31, s3_.weight AS weight_32, s3_.shipping_required AS shipping_required_33, s3_.reference AS reference_34, s3_.barCode AS barCode_35, s3_.recurring AS recurring_36, s3_.recurring_times AS recurring_times_37, s3_.recurring_interval AS recurring_interval_38, s4_.price AS price_39, s4_.original_price AS original_price_40, s4_.minimum_price AS minimum_price_41, s4_.lowest_price_before_discount AS lowest_price_before_discount_42, s4_.channel_code AS channel_code_43, s4_.id AS id_44, s0_.main_taxon_id AS main_taxon_id_45, s0_.product_type_id AS product_type_id_46, s1_.translatable_id AS translatable_id_47, s2_.product_id AS product_id_48, s2_.taxon_id AS taxon_id_49, s3_.product_id AS product_id_50, s3_.tax_category_id AS tax_category_id_51, s3_.shipping_category_id AS shipping_category_id_52, s3_.availabilityDelay_id AS availabilityDelay_id_53, s4_.product_variant_id AS product_variant_id_54 FROM sylius_product s0_ INNER JOIN sylius_product_translation s1_ ON s0_.id = s1_.translatable_id AND (s1_.locale = ?) INNER JOIN sylius_product_taxon s2_ ON s0_.id = s2_.product_id INNER JOIN sylius_taxon s5_ ON s2_.taxon_id = s5_.id INNER JOIN sylius_product_variant s3_ ON s0_.id = s3_.product_id INNER JOIN sylius_channel_pricing s4_ ON s3_.id = s4_.product_variant_id WHERE s5_.tree_left >= ? AND s5_.tree_right <= ? AND s5_.tree_root = ? AND EXISTS (SELECT 1 FROM sylius_product_channels s6_ WHERE s6_.product_id = s0_.id AND s6_.channel_id IN (?)) AND s0_.enabled = ? AND s4_.channel_code = ? AND (s3_.position IN (SELECT min(s7_.position) AS sclr_55 FROM sylius_product s8_ INNER JOIN sylius_product_variant s7_ ON s8_.id = s7_.product_id WHERE s8_.id = s0_.id AND s7_.enabled = ?)) AND s0_.id IN (?, ?, ?, ?, ?, ?, ?, ?, ?) ORDER BY s4_.price DESC, s0_.id ASC, s2_.id ASC, s3_.position ASC, s3_.id ASC, s4_.id ASC
Parameters:
[ "fr_FR" 1027 1028 1 4 1 "WEB_EUR" 1 1627 1629 1623 1624 1621 1628 1631 1626 1630 ] |
|
1.60 ms (1.20%) |
6 |
SELECT t0.code AS code_1, t0.name AS name_2, t0.type AS type_3, t0.id AS id_4 FROM sylius_cms_section t0 INNER JOIN sylius_cms_section_pages ON t0.id = sylius_cms_section_pages.section_id WHERE sylius_cms_section_pages.page_id = ?
Parameters:
[
897
]
|
|
1.47 ms (1.10%) |
6 |
SELECT t0.slug AS slug_1, t0.meta_keywords AS meta_keywords_2, t0.meta_description AS meta_description_3, t0.title AS title_4, t0.teaser_title AS teaser_title_5, t0.teaser_content AS teaser_content_6, t0.id AS id_7, t0.locale AS locale_8, t0.translatable_id AS translatable_id_9, t0.teaser_image_id AS teaser_image_id_10 FROM sylius_cms_page_translation t0 WHERE t0.translatable_id = ? AND t0.locale = ? LIMIT 1
Parameters:
[ 897 "fr_FR" ] |
|
1.15 ms (0.86%) |
2 |
SELECT s0_.code AS code_0, s0_.name AS name_1, s0_.template AS template_2, s0_.enabled AS enabled_3, s0_.id AS id_4 FROM sylius_cms_block s0_ LEFT JOIN sylius_cms_block_channels s2_ ON s0_.id = s2_.block_id LEFT JOIN sylius_channel s1_ ON s1_.id = s2_.channel_id WHERE s0_.code = ? AND s0_.enabled = 1 AND s1_.code = ? ORDER BY s0_.id ASC
Parameters:
[ "header-info-message" "WEB_EUR" ] |
|
0.97 ms (0.73%) |
2 |
SELECT t0.type AS type_1, t0.configuration AS configuration_2, t0.locale AS locale_3, t0.id AS id_4, t0.block_id AS block_id_5, t0.page_id AS page_id_6 FROM sylius_cms_content_configuration t0 WHERE t0.block_id = ? ORDER BY t0.id ASC
Parameters:
[
2
]
|
|
0.92 ms (0.69%) |
1 |
SELECT t0.code AS code_1, t0.enabled AS enabled_2, t0.name AS name_3, t0.template AS template_4, t0.created_at AS created_at_5, t0.updated_at AS updated_at_6, t0.publish_at AS publish_at_7, t0.id AS id_8, t0.footer AS footer_9 FROM sylius_cms_page t0 WHERE t0.footer = ? AND t0.enabled = ?
Parameters:
[ 1 1 ] |
|
0.71 ms (0.54%) |
1 |
SELECT t0.code AS code_1, t0.created_at AS created_at_2, t0.updated_at AS updated_at_3, t0.id AS id_4 FROM sylius_currency t0 INNER JOIN sylius_channel_currencies ON t0.id = sylius_channel_currencies.currency_id WHERE sylius_channel_currencies.channel_id = ? ORDER BY t0.id ASC
Parameters:
[
4
]
|
|
0.69 ms (0.52%) |
1 |
SELECT t0.code AS code_1, t0.name AS name_2, t0.color AS color_3, t0.description AS description_4, t0.enabled AS enabled_5, t0.hostname AS hostname_6, t0.created_at AS created_at_7, t0.updated_at AS updated_at_8, t0.id AS id_9, t0.theme_name AS theme_name_10, t0.tax_calculation_strategy AS tax_calculation_strategy_11, t0.contact_email AS contact_email_12, t0.contact_phone_number AS contact_phone_number_13, t0.skipping_shipping_step_allowed AS skipping_shipping_step_allowed_14, t0.skipping_payment_step_allowed AS skipping_payment_step_allowed_15, t0.account_verification_required AS account_verification_required_16, t0.shipping_address_in_checkout_required AS shipping_address_in_checkout_required_17, t0.default_locale_id AS default_locale_id_18, t19.code AS code_20, t19.created_at AS created_at_21, t19.updated_at AS updated_at_22, t19.id AS id_23, t0.base_currency_id AS base_currency_id_24, t25.code AS code_26, t25.created_at AS created_at_27, t25.updated_at AS updated_at_28, t25.id AS id_29, t0.default_tax_zone_id AS default_tax_zone_id_30, t0.menu_taxon_id AS menu_taxon_id_31, t0.shop_billing_data_id AS shop_billing_data_id_32, t0.channel_price_history_config_id AS channel_price_history_config_id_33 FROM sylius_channel t0 INNER JOIN sylius_locale t19 ON t0.default_locale_id = t19.id INNER JOIN sylius_currency t25 ON t0.base_currency_id = t25.id WHERE t0.hostname = ? AND t0.enabled = ? ORDER BY t0.id ASC LIMIT 1
Parameters:
[ "sylius-cuisinstore.preprod.eu" 1 ] |
|
0.63 ms (0.48%) |
1 |
SELECT t0.code AS code_1, t0.created_at AS created_at_2, t0.updated_at AS updated_at_3, t0.id AS id_4 FROM sylius_locale t0 INNER JOIN sylius_channel_locales ON t0.id = sylius_channel_locales.locale_id WHERE sylius_channel_locales.channel_id = ?
Parameters:
[
4
]
|
|
0.46 ms (0.35%) |
1 |
SELECT t0.type AS type_1, t0.path AS path_2, t0.id AS id_3, t0.owner_id AS owner_id_4 FROM sylius_taxon_image t0 WHERE t0.owner_id = ? ORDER BY t0.id ASC
Parameters:
[
515
]
|
|
0.41 ms (0.31%) |
1 |
SELECT t0.code AS code_1, t0.name AS name_2, t0.template AS template_3, t0.enabled AS enabled_4, t0.id AS id_5 FROM sylius_cms_block t0 WHERE t0.code = ? AND t0.enabled = ? LIMIT 1
Parameters:
[ "footer-expert" 1 ] |
Database Connections
| Name | Service |
|---|---|
| default | doctrine.dbal.default_connection |
Entity Managers
| Name | Service |
|---|---|
| default | doctrine.orm.default_entity_manager |
Second Level Cache
Second Level Cache is not enabled.
Managed Entities
default entity manager
| Class | Amount of managed objects |
|---|---|
| App\Entity\Taxonomy\Taxon | 1354 |
| App\Entity\Taxonomy\TaxonTranslation | 1354 |
| App\Entity\Product\ProductImage | 23 |
| App\Entity\Product\ProductVariant | 11 |
| App\Entity\Channel\ChannelPricing | 11 |
| App\Entity\Product\Product | 9 |
| App\Entity\Product\ProductTranslation | 9 |
| App\Entity\Product\ProductTaxon | 9 |
| App\Entity\Cms\Page | 6 |
| Sylius\CmsPlugin\Entity\PageTranslation | 6 |
| Sylius\CmsPlugin\Entity\Collection | 5 |
| Sylius\CmsPlugin\Entity\Block | 2 |
| Sylius\CmsPlugin\Entity\ContentConfiguration | 2 |
| App\Entity\Channel\Channel | 1 |
| App\Entity\Channel\ShopBillingData | 1 |
| App\Entity\Channel\ChannelPriceHistoryConfig | 1 |
| App\Entity\Locale\Locale | 1 |
| App\Entity\Currency\Currency | 1 |
| App\Entity\Product\ProductAvailabilityDelay | 1 |