From 65c8ea5d9f29871914f1baceffbc9083cf3f632d Mon Sep 17 00:00:00 2001 From: Filip Sobol Date: Fri, 20 Aug 2021 17:17:49 +0200 Subject: [PATCH 01/53] Update the docs after 2.4 release (#6217) --- packages/core/docs/general/installation.md | 2 +- .../core/docs/integrate/integration-guide.md | 20 +------------------ 2 files changed, 2 insertions(+), 20 deletions(-) diff --git a/packages/core/docs/general/installation.md b/packages/core/docs/general/installation.md index 8bf3019aba..3c3dd670f8 100644 --- a/packages/core/docs/general/installation.md +++ b/packages/core/docs/general/installation.md @@ -2,7 +2,7 @@ ## Prerequisites -Before proceeding, make sure you have [Node 10+](https://nodejs.org/en/), [Yarn 1](https://classic.yarnpkg.com/lang/en/) and [Git](https://git-scm.com/) installed. +Before proceeding, make sure you have [Node 10+](https://nodejs.org/en/) and [Yarn 1](https://classic.yarnpkg.com/lang/en/) installed. ## Using Vue Storefront CLI diff --git a/packages/core/docs/integrate/integration-guide.md b/packages/core/docs/integrate/integration-guide.md index 2ad4a556c7..957d158317 100644 --- a/packages/core/docs/integrate/integration-guide.md +++ b/packages/core/docs/integrate/integration-guide.md @@ -86,25 +86,7 @@ Once the new repository is ready, clone it locally. **Before you start making changes and installing dependencies**, let's update the name of the packages and integrations. Doing it now prevents issues with linking dependencies later. -Search for all instances of these strings (in this order) and change them to match your integration: - -- `@vue-storefront/boilerplate-theme`, -- `@vue-storefront/boilerplate-api`, -- `@vue-storefront/boilerplate`. - -For the sake of example and simplicity, let's assume our eCommerce platform is called **Sloth**. From now on, we will refer to these packages as: - -- `@sloth/theme`, -- `@sloth/api`, -- `@sloth/sloth`. - -:::tip -It's a convention to name a `composables` package using the platform's name because this is the package that developers use the most when creating a shop. Example of this is `@vue-storefront/commercetools`, `@vue-storefront/magento` and `@vue-storefront/shopify`. -::: - -Open `packages/composables/nuxt/plugin.js` and change `boilerplate` to the name of your integration. This name should not contain any special characters nor spaces. In our case, it's lowercase `sloth`. - -Open `packages/theme/middleware.config.js` and change `boilerplate` to the same name. +Open the "Search and Replace" tool inside your code editor and replace all instances of `<% INTEGRATION %>` with the name of your project or platform. The name must be in lowercase, without spaces or any special characters. ### Install dependencies From 4acbd6e74ec89adf716bb75f2bc62f82f060777d Mon Sep 17 00:00:00 2001 From: Filip Sobol Date: Mon, 23 Aug 2021 13:03:00 +0200 Subject: [PATCH 02/53] Remove CLI preview image, because it's outdated (#6223) --- packages/core/docs/general/installation.md | 4 ---- packages/core/docs/images/cli.jpg | Bin 25501 -> 0 bytes 2 files changed, 4 deletions(-) delete mode 100644 packages/core/docs/images/cli.jpg diff --git a/packages/core/docs/general/installation.md b/packages/core/docs/general/installation.md index 3c3dd670f8..98ad830707 100644 --- a/packages/core/docs/general/installation.md +++ b/packages/core/docs/general/installation.md @@ -14,10 +14,6 @@ npx @vue-storefront/cli init ``` Enter the name of the project and select the backend platform you wish to use. -
- Vue Storefront CLI -
- Once selected, the CLI creates the project files in the directory matching your project name. The only thing left is to go to this directory in the terminal and install the dependencies: ```bash diff --git a/packages/core/docs/images/cli.jpg b/packages/core/docs/images/cli.jpg deleted file mode 100644 index fb7918f140b6648f196172ebd80ce00452443f54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25501 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 From 39dabf2ef8bd99d9892738723987d9ad1519309a Mon Sep 17 00:00:00 2001 From: Filip Sobol Date: Mon, 23 Aug 2021 14:32:49 +0200 Subject: [PATCH 03/53] [Docs] Update Integrations page and optimize SVG logos (#6220) --- packages/core/docs/.vuepress/integrations.js | 51 +++++++++++++++++- .../public/integrations-logos/auth0.svg | 2 +- .../integrations-logos/constructor-io.svg | 1 + .../public/integrations-logos/opencart.svg | 1 + .../public/integrations-logos/sap.svg | 1 + .../public/integrations-logos/vendure.png | Bin 0 -> 9403 bytes .../public/integrations-logos/woocommerce.svg | 1 + .../commercetools/composables/use-facet.md | 2 +- packages/core/docs/commercetools/use-facet.md | 2 +- packages/core/docs/general/enterprise.md | 8 ++- packages/core/docs/integrations/README.md | 14 ++++- packages/core/docs/integrations/adyen.md | 2 +- .../core/docs/integrations/bazaarvoice.md | 2 +- .../core/docs/integrations/redis-cache.md | 2 +- 14 files changed, 77 insertions(+), 12 deletions(-) create mode 100644 packages/core/docs/.vuepress/public/integrations-logos/constructor-io.svg create mode 100644 packages/core/docs/.vuepress/public/integrations-logos/opencart.svg create mode 100644 packages/core/docs/.vuepress/public/integrations-logos/sap.svg create mode 100644 packages/core/docs/.vuepress/public/integrations-logos/vendure.png create mode 100644 packages/core/docs/.vuepress/public/integrations-logos/woocommerce.svg diff --git a/packages/core/docs/.vuepress/integrations.js b/packages/core/docs/.vuepress/integrations.js index 13c026eafc..a876150c0c 100644 --- a/packages/core/docs/.vuepress/integrations.js +++ b/packages/core/docs/.vuepress/integrations.js @@ -53,6 +53,16 @@ const INTEGRATIONS = { { name: 'Vue Storefront', link: 'https://vuestorefront.io/' }, ] }, + { + name: 'SAP Commerce Cloud', + link: '', + image: '/v2/integrations-logos/sap.svg', + status: STATUSES.WIP, + availability: AVAILABILITY.ENTERPRISE, + maintainedBy: [ + { name: 'Vue Storefront', link: 'https://vuestorefront.io/' }, + ] + }, { name: 'Spryker', link: 'https://docs.vuestorefront.io/spryker', @@ -107,6 +117,30 @@ const INTEGRATIONS = { { name: 'BitBag', link: 'https://bitbag.io/' }, ] }, + { + name: 'WooCommerce', + link: '', + image: '/v2/integrations-logos/woocommerce.svg', + status: STATUSES.WIP, + availability: AVAILABILITY.OPEN_SOURCE, + maintainedBy: [] + }, + { + name: 'OpenCart', + link: '', + image: '/v2/integrations-logos/opencart.svg', + status: STATUSES.WIP, + availability: AVAILABILITY.OPEN_SOURCE, + maintainedBy: [] + }, + { + name: 'Vendure', + link: '', + image: '/v2/integrations-logos/vendure.png', + status: STATUSES.WIP, + availability: AVAILABILITY.OPEN_SOURCE, + maintainedBy: [] + } ], other: [ { @@ -238,7 +272,7 @@ const INTEGRATIONS = { maintainedBy: [ { name: 'Vue Storefront', link: 'https://vuestorefront.io/' }, ], - categories: [ CATEGORIES.AUTH ], + categories: [ CATEGORIES.CMS ], compatibility: [] }, { @@ -250,7 +284,7 @@ const INTEGRATIONS = { maintainedBy: [ { name: 'Vue Storefront', link: 'https://vuestorefront.io/' }, ], - categories: [ CATEGORIES.AUTH ], + categories: [ CATEGORIES.CMS ], compatibility: [] }, { @@ -277,6 +311,19 @@ const INTEGRATIONS = { categories: [ CATEGORIES.SEARCH ], compatibility: [] }, + + { + name: 'Constructor.io', + link: '', + image: '/v2/integrations-logos/constructor-io.svg', + status: STATUSES.BETA, + availability: AVAILABILITY.ENTERPRISE, + maintainedBy: [ + { name: 'Vue Storefront', link: 'https://vuestorefront.io/' }, + ], + categories: [ CATEGORIES.SEARCH ], + compatibility: [] + }, { name: 'Adobe Experience Manager', link: '', diff --git a/packages/core/docs/.vuepress/public/integrations-logos/auth0.svg b/packages/core/docs/.vuepress/public/integrations-logos/auth0.svg index fc107dc8cb..2766105944 100644 --- a/packages/core/docs/.vuepress/public/integrations-logos/auth0.svg +++ b/packages/core/docs/.vuepress/public/integrations-logos/auth0.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/core/docs/.vuepress/public/integrations-logos/constructor-io.svg b/packages/core/docs/.vuepress/public/integrations-logos/constructor-io.svg new file mode 100644 index 0000000000..4bdd3398e8 --- /dev/null +++ b/packages/core/docs/.vuepress/public/integrations-logos/constructor-io.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/core/docs/.vuepress/public/integrations-logos/opencart.svg b/packages/core/docs/.vuepress/public/integrations-logos/opencart.svg new file mode 100644 index 0000000000..cf05d79ebd --- /dev/null +++ b/packages/core/docs/.vuepress/public/integrations-logos/opencart.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/core/docs/.vuepress/public/integrations-logos/sap.svg b/packages/core/docs/.vuepress/public/integrations-logos/sap.svg new file mode 100644 index 0000000000..36c74abebb --- /dev/null +++ b/packages/core/docs/.vuepress/public/integrations-logos/sap.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/core/docs/.vuepress/public/integrations-logos/vendure.png b/packages/core/docs/.vuepress/public/integrations-logos/vendure.png new file mode 100644 index 0000000000000000000000000000000000000000..76f79d1455d5bce1416882967268ddaf689c82c5 GIT binary patch literal 9403 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 literal 0 HcmV?d00001 diff --git a/packages/core/docs/.vuepress/public/integrations-logos/woocommerce.svg b/packages/core/docs/.vuepress/public/integrations-logos/woocommerce.svg new file mode 100644 index 0000000000..17f67f7eb1 --- /dev/null +++ b/packages/core/docs/.vuepress/public/integrations-logos/woocommerce.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/core/docs/commercetools/composables/use-facet.md b/packages/core/docs/commercetools/composables/use-facet.md index 3f52bf78e5..e59e0ebd92 100644 --- a/packages/core/docs/commercetools/composables/use-facet.md +++ b/packages/core/docs/commercetools/composables/use-facet.md @@ -3,7 +3,7 @@ :::warning This feature is a part of our commercial offering but also exists in the Open Source version of our commercetools integration. -Open Source implementation relies on GraphQL API (internally using `getProduct` and `getCategory` composables), which doesn't provide full faceting capabilities as does the dedicated REST-based faceting API offered in our Enterprise version. Please [contact our team](https://www.vuestorefront.io/contact/sales) if you'd like to get access to it. +Open Source implementation relies on GraphQL API (internally using `getProduct` and `getCategory` composables), which doesn't provide full faceting capabilities as does the dedicated REST-based faceting API offered in our Enterprise version. Please [contact our Sales team](https://www.vuestorefront.io/contact/sales) if you'd like to get access to it. ::: ## Features diff --git a/packages/core/docs/commercetools/use-facet.md b/packages/core/docs/commercetools/use-facet.md index c69e5d4800..856c0282df 100644 --- a/packages/core/docs/commercetools/use-facet.md +++ b/packages/core/docs/commercetools/use-facet.md @@ -3,7 +3,7 @@ :::warning This feature is a part of our commercial offering but also exists in the Open Source version of our commercetools integration. -Open Source implementation relies on GraphQL API (internally using `getProduct` and `getCategory` composables), which doesn't provide full faceting capabilities as does the dedicated REST-based faceting API offered in our Enterprise version. Please [contact our team](https://www.vuestorefront.io/contact/sales) if you'd like to get access to it. +Open Source implementation relies on GraphQL API (internally using `getProduct` and `getCategory` composables), which doesn't provide full faceting capabilities as does the dedicated REST-based faceting API offered in our Enterprise version. Please [contact our Sales team](https://www.vuestorefront.io/contact/sales) if you'd like to get access to it. ::: ## Features diff --git a/packages/core/docs/general/enterprise.md b/packages/core/docs/general/enterprise.md index 7c27912b45..0900c37755 100644 --- a/packages/core/docs/general/enterprise.md +++ b/packages/core/docs/general/enterprise.md @@ -4,18 +4,22 @@ Vue Storefront Enterprise is a commercial offering from the Vue Storefront core team built on top of the Open Source product. Its goal is to give you all the tools you need to launch your shop and provide you with ready-to-use integrations that will reduce the development time and cost of your project. -## What are the differences between Open Source and Enterprise versions? +## Differences between Open Source and Enterprise versions In Enterprise Edition you're getting everything that's in our Open Source. On top of that we also provide: - access to [Vue Storefront Cloud](https://www.vuestorefront.io/cloud); -- additional integrations with third-party services; +- additional [integrations](./integrations/) with third-party services; - extended integration with eCommerce platform with advanced features. Everything with badge in the documentation is only available for our Enterprise customers. You can learn more about our commercial offering on the [Enterprise](https://www.vuestorefront.io/enterprise) page. +## How to get access to Vue Storefront Enterprise + +If you'd like to use Vue Storefront Enterprise in your project, please [contact our Sales team](https://www.vuestorefront.io/contact/sales). + ## How to use Vue Storefront Enterprise Enterprise packages within `@vsf-enterprise` scope are part of our private registry. To make use of them, create a `.npmrc` file in the root of your project with the following content: diff --git a/packages/core/docs/integrations/README.md b/packages/core/docs/integrations/README.md index e65e91c254..9f1f6c4ecb 100644 --- a/packages/core/docs/integrations/README.md +++ b/packages/core/docs/integrations/README.md @@ -1,10 +1,14 @@ # Integrations -Click on the integration tile to read its documentation. +This page lists Vue Storefront 2 integrations created by the Vue Storefront team or our partners. If integration you are interested in isn't listed below, [contact our Sales team](https://www.vuestorefront.io/contact/sales) or core team on our [Discord](https://discord.vuestorefront.io) server. + +:::tip Vue Storefront Enterprise +Packages marked as `Enterprise` are part of the [Vue Storefront Enterprise](/general/enterprise.html) offering. +::: ## eCommerce platforms -> Packages marked as `Enterprise` are part of Vue Storefront Enterprise offering and packages without `From Core Team` badge are created and maintained by our partners. +Below you can find a list of integrations with eCommerce platforms. These integrations are the backbone of every Vue Storefront project. ->This feature is part of the Enterprise version. Please [contact our team](https://www.vuestorefront.io/contact/sales) if you'd like to use it in your project. +>This feature is part of the Enterprise version. Please [contact our Sales team](https://www.vuestorefront.io/contact/sales) if you'd like to use it in your project. ## Introduction diff --git a/packages/core/docs/integrations/bazaarvoice.md b/packages/core/docs/integrations/bazaarvoice.md index 6e92d19d62..a89d7b1ea2 100644 --- a/packages/core/docs/integrations/bazaarvoice.md +++ b/packages/core/docs/integrations/bazaarvoice.md @@ -1,7 +1,7 @@ # Bazaarvoice ::: warning Paid feature -This feature is part of the Enterprise version. Please [contact our team](https://www.vuestorefront.io/contact/sales) if you'd like to use it in your project. +This feature is part of the Enterprise version. Please [contact our Sales team](https://www.vuestorefront.io/contact/sales) if you'd like to use it in your project. ::: ## Introduction diff --git a/packages/core/docs/integrations/redis-cache.md b/packages/core/docs/integrations/redis-cache.md index d82aa33aa4..00249a5076 100644 --- a/packages/core/docs/integrations/redis-cache.md +++ b/packages/core/docs/integrations/redis-cache.md @@ -1,7 +1,7 @@ # Redis cache ::: warning Paid feature -This feature is part of the Enterprise version. Please [contact our team](https://www.vuestorefront.io/contact/sales) if you'd like to use it in your project. +This feature is part of the Enterprise version. Please [contact our Sales team](https://www.vuestorefront.io/contact/sales) if you'd like to use it in your project. ::: ## Introduction From a3f6cbd88e33e551175336e11ca3fd4db330cbe7 Mon Sep 17 00:00:00 2001 From: Filip Sobol Date: Mon, 23 Aug 2021 15:57:12 +0200 Subject: [PATCH 04/53] [Docs] Add "Added in 1.3" badges to useForgotPassword and useStore in commercetools --- .../core/docs/commercetools/composables/use-forgot-password.md | 2 +- packages/core/docs/commercetools/composables/use-store.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/docs/commercetools/composables/use-forgot-password.md b/packages/core/docs/commercetools/composables/use-forgot-password.md index 9f55d92bdf..b829450f3d 100644 --- a/packages/core/docs/commercetools/composables/use-forgot-password.md +++ b/packages/core/docs/commercetools/composables/use-forgot-password.md @@ -1,4 +1,4 @@ -# `useForgotPassword` +# `useForgotPassword` ## Features diff --git a/packages/core/docs/commercetools/composables/use-store.md b/packages/core/docs/commercetools/composables/use-store.md index 00bc048118..0596802bd2 100644 --- a/packages/core/docs/commercetools/composables/use-store.md +++ b/packages/core/docs/commercetools/composables/use-store.md @@ -1,4 +1,4 @@ -# `useStore` +# `useStore` ## Features From 7f3e1a202cc264d1113c46a495bf8040723486f6 Mon Sep 17 00:00:00 2001 From: Filip Sobol Date: Mon, 23 Aug 2021 16:14:40 +0200 Subject: [PATCH 05/53] [Docs] Add Odoo to Integrations page (#6224) --- packages/core/docs/.vuepress/integrations.js | 12 +++++++++++- .../.vuepress/public/integrations-logos/odoo.svg | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 packages/core/docs/.vuepress/public/integrations-logos/odoo.svg diff --git a/packages/core/docs/.vuepress/integrations.js b/packages/core/docs/.vuepress/integrations.js index a876150c0c..5617289a51 100644 --- a/packages/core/docs/.vuepress/integrations.js +++ b/packages/core/docs/.vuepress/integrations.js @@ -140,6 +140,16 @@ const INTEGRATIONS = { status: STATUSES.WIP, availability: AVAILABILITY.OPEN_SOURCE, maintainedBy: [] + }, + { + name: 'Odoo', + link: '', + image: '/v2/integrations-logos/odoo.svg', + status: STATUSES.WIP, + availability: AVAILABILITY.OPEN_SOURCE, + maintainedBy: [ + { name: 'OdooGap', link: 'https://www.odoogap.com/' } + ] } ], other: [ @@ -309,7 +319,7 @@ const INTEGRATIONS = { { name: 'Vue Storefront', link: 'https://vuestorefront.io/' }, ], categories: [ CATEGORIES.SEARCH ], - compatibility: [] + compatibility: [ 'commercetools' ] }, { diff --git a/packages/core/docs/.vuepress/public/integrations-logos/odoo.svg b/packages/core/docs/.vuepress/public/integrations-logos/odoo.svg new file mode 100644 index 0000000000..e7b82f7b9b --- /dev/null +++ b/packages/core/docs/.vuepress/public/integrations-logos/odoo.svg @@ -0,0 +1 @@ + \ No newline at end of file From 519041be0bbf6df14ab7063c3934060702be4356 Mon Sep 17 00:00:00 2001 From: ljedrasik Date: Fri, 20 Aug 2021 09:59:22 +0200 Subject: [PATCH 06/53] Export missing methods for api-extractor --- packages/commercetools/api-client/src/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/commercetools/api-client/src/index.ts b/packages/commercetools/api-client/src/index.ts index b97523d7d5..24e65c1e88 100644 --- a/packages/commercetools/api-client/src/index.ts +++ b/packages/commercetools/api-client/src/index.ts @@ -1,5 +1,6 @@ import * as cartActions from './helpers/cart/actions'; +export * from './api'; export * from './fragments'; export * from './types/Api'; export * from './types/GraphQL'; From aa6bd27076686148b373da279281d45ba589a3d5 Mon Sep 17 00:00:00 2001 From: ljedrasik Date: Fri, 20 Aug 2021 11:59:13 +0200 Subject: [PATCH 07/53] Add api-extractor-data file --- packages/commercetools/api-client/api-extractor.json | 2 +- packages/commercetools/api-client/src/api-extractor-data.ts | 4 ++++ packages/commercetools/api-client/src/index.ts | 1 - 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 packages/commercetools/api-client/src/api-extractor-data.ts diff --git a/packages/commercetools/api-client/api-extractor.json b/packages/commercetools/api-client/api-extractor.json index 746ad8ecec..19fe4cc85b 100644 --- a/packages/commercetools/api-client/api-extractor.json +++ b/packages/commercetools/api-client/api-extractor.json @@ -1,6 +1,6 @@ { "extends": "../../api-extractor.base.json", - "mainEntryPointFilePath": "./lib/index.d.ts", + "mainEntryPointFilePath": "./lib/api-extractor-data.d.ts", "dtsRollup": { "untrimmedFilePath": "./lib/.d.ts" }, diff --git a/packages/commercetools/api-client/src/api-extractor-data.ts b/packages/commercetools/api-client/src/api-extractor-data.ts new file mode 100644 index 0000000000..8bf0c8bcc6 --- /dev/null +++ b/packages/commercetools/api-client/src/api-extractor-data.ts @@ -0,0 +1,4 @@ +import * as apiMethods from './api'; + +export * from './index'; +export { apiMethods }; diff --git a/packages/commercetools/api-client/src/index.ts b/packages/commercetools/api-client/src/index.ts index 24e65c1e88..b97523d7d5 100644 --- a/packages/commercetools/api-client/src/index.ts +++ b/packages/commercetools/api-client/src/index.ts @@ -1,6 +1,5 @@ import * as cartActions from './helpers/cart/actions'; -export * from './api'; export * from './fragments'; export * from './types/Api'; export * from './types/GraphQL'; From a280bf6a1232bba8600cbbe7667a70eaf4077ab9 Mon Sep 17 00:00:00 2001 From: Filip Sobol Date: Tue, 24 Aug 2021 13:59:05 +0200 Subject: [PATCH 08/53] Update Vendure maintainers (#6230) --- packages/core/docs/.vuepress/integrations.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/core/docs/.vuepress/integrations.js b/packages/core/docs/.vuepress/integrations.js index 5617289a51..5687e1df5c 100644 --- a/packages/core/docs/.vuepress/integrations.js +++ b/packages/core/docs/.vuepress/integrations.js @@ -139,7 +139,9 @@ const INTEGRATIONS = { image: '/v2/integrations-logos/vendure.png', status: STATUSES.WIP, availability: AVAILABILITY.OPEN_SOURCE, - maintainedBy: [] + maintainedBy: [ + { name: 'Jakub Andrzejewski', link: 'https://www.linkedin.com/in/jakub-andrzejewski/' }, + ] }, { name: 'Odoo', From 2052b2e659f7f777a5d5b0fa12d814c45989ff1d Mon Sep 17 00:00:00 2001 From: Filip Sobol Date: Wed, 25 Aug 2021 12:35:33 +0200 Subject: [PATCH 09/53] Fix typings generation, update API references and CT Composables pages (#6235) --- package.json | 5 +- .../api-client/src/api-extractor-data.ts | 11 + .../composables/api-extractor.json | 10 + .../composables/src/getters/storeGetters.ts | 16 - .../commercetools/composables/src/index.ts | 12 + .../composables/src/useStore/factoryParams.ts | 3 - packages/core/cache/api-extractor.json | 10 + packages/core/cache/src/index.ts | 11 + packages/core/cache/tsconfig.json | 3 +- packages/core/core/src/index.ts | 12 +- packages/core/core/src/types.ts | 2 +- .../docs/.vuepress/components/PersonTile.vue | 4 +- packages/core/docs/.vuepress/config.js | 30 +- .../commercetools/composables/use-billing.md | 91 +-- .../commercetools/composables/use-cart.md | 530 +++++++++--------- .../commercetools/composables/use-category.md | 118 ++-- .../commercetools/composables/use-facet.md | 211 ++++--- .../composables/use-forgot-password.md | 192 +++---- .../composables/use-make-order.md | 138 ++--- .../commercetools/composables/use-product.md | 173 +++--- .../commercetools/composables/use-review.md | 142 +++-- .../composables/use-shipping-provider.md | 108 ++-- .../commercetools/composables/use-shipping.md | 89 +-- .../commercetools/composables/use-store.md | 158 ++++-- .../composables/use-user-billing.md | 401 +++++++------ .../composables/use-user-order.md | 358 ++++++------ .../composables/use-user-shipping.md | 419 +++++++------- .../commercetools/composables/use-user.md | 166 +++--- .../commercetools/composables/use-wishlist.md | 357 ++++++------ .../commercetools/enterprise/use-wishlist.md | 1 - packages/core/docs/integrate/cache-driver.md | 2 +- packages/core/docs/integrate/cms.md | 2 +- .../core/docs/integrate/integration-guide.md | 2 +- packages/core/docs/package.json | 15 +- packages/core/middleware/api-extractor.json | 10 + packages/core/middleware/package.json | 2 +- packages/core/middleware/src/index.ts | 10 + 37 files changed, 1979 insertions(+), 1845 deletions(-) create mode 100644 packages/commercetools/composables/api-extractor.json create mode 100644 packages/core/cache/api-extractor.json create mode 100644 packages/core/middleware/api-extractor.json diff --git a/package.json b/package.json index 1292cc64d1..23e7292eef 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,10 @@ "scripts": { "build:docs": "cd packages/core/docs && yarn build", "dev:docs": "cd packages/core/docs && yarn dev", - "build:core": "cd packages/core/core && yarn build && cd ../middleware && yarn build", + "build:core": "yarn build:core:core && yarn build:core:cache && yarn build:core:middleware", + "build:core:core": "cd packages/core/core && yarn build", + "build:core:cache": "cd packages/core/cache && yarn build", + "build:core:middleware": "cd packages/core/middleware && yarn build", "build:spr:api-client": "cd packages/spryker/api-client && yarn build", "build:spr:composables": "cd packages/spryker/composables && yarn build", "build:spr:tools": "yarn build:core && yarn build:spr:api-client && yarn build:spr:composables", diff --git a/packages/commercetools/api-client/src/api-extractor-data.ts b/packages/commercetools/api-client/src/api-extractor-data.ts index 8bf0c8bcc6..fb829ad5a2 100644 --- a/packages/commercetools/api-client/src/api-extractor-data.ts +++ b/packages/commercetools/api-client/src/api-extractor-data.ts @@ -1,3 +1,14 @@ +/** + * `api-client` for commercetools integration for Vue Storefront 2. + * + * @remarks + * The `@vue-storefront/commercetools-api` library includes everything needed to fetch data from the + * commercetools eCommerce platform. This includes API client configuration, API endpoints, and + * GraphQL types and fragments. + * + * @packageDocumentation + */ + import * as apiMethods from './api'; export * from './index'; diff --git a/packages/commercetools/composables/api-extractor.json b/packages/commercetools/composables/api-extractor.json new file mode 100644 index 0000000000..746ad8ecec --- /dev/null +++ b/packages/commercetools/composables/api-extractor.json @@ -0,0 +1,10 @@ +{ + "extends": "../../api-extractor.base.json", + "mainEntryPointFilePath": "./lib/index.d.ts", + "dtsRollup": { + "untrimmedFilePath": "./lib/.d.ts" + }, + "docModel": { + "apiJsonFilePath": "/core/docs/commercetools/api-reference/.api.json" + } +} diff --git a/packages/commercetools/composables/src/getters/storeGetters.ts b/packages/commercetools/composables/src/getters/storeGetters.ts index aea1a64e93..6716d46a9f 100644 --- a/packages/commercetools/composables/src/getters/storeGetters.ts +++ b/packages/commercetools/composables/src/getters/storeGetters.ts @@ -3,10 +3,6 @@ import { Store, Channel, Address } from '../types/GraphQL'; import { StoresData } from '../types'; import { FilterCriteriaRecord, Localized, filterArrayByCriteriaRecord } from '../helpers/internals'; -/** - * Types - */ - interface StoreFilterCriteria { store?: FilterCriteriaRecord; channel?: FilterCriteriaRecord @@ -16,10 +12,6 @@ type StoreChannelSetKeys = 'distributionChannels' | 'supplyChannels'; -/** - * Helpers - */ - function mapToAddress(address: Address): AgnosticAddress { return { addressLine1: `${address?.country ?? ''} ${address?.city ?? ''} ${address?.postalCode ?? ''}`.trim(), @@ -94,10 +86,6 @@ function gainAgnosticStoreItems (criteria?: FilterCriteriaRecord) { }; } -/** - * Getters - */ - function getItems (stores: StoresData, criteria: StoreFilterCriteria = {}): AgnosticStore[] { return filterArrayByCriteriaRecord( stores?.results, @@ -109,10 +97,6 @@ function getSelected (stores: StoresData): AgnosticStore | undefined { return getItems(stores, { store: { key: (stores?._selectedStore ?? '') }})[0]; } -/** - * Export - */ - const storeGetters: UseStoreGetters = { getItems, getSelected diff --git a/packages/commercetools/composables/src/index.ts b/packages/commercetools/composables/src/index.ts index 8973a4b7b8..6de189ce7a 100644 --- a/packages/commercetools/composables/src/index.ts +++ b/packages/commercetools/composables/src/index.ts @@ -1,3 +1,14 @@ +/** + * `composables` for commercetools integration for Vue Storefront 2. + * + * @remarks + * The `@vue-storefront/commercetools` library includes everything needed to fetch data from the + * Server Middleware and display them in agnostic and formatted form. This includes composables + * and getters. + * + * @packageDocumentation + */ + /* istanbul ignore file */ import { track } from '@vue-storefront/core'; @@ -21,3 +32,4 @@ export { useForgotPassword, useForgotPasswordFactoryParams } from './useForgotPa export { useStore, useStoreFactoryParams } from './useStore'; export * from './getters'; +export * from './types'; diff --git a/packages/commercetools/composables/src/useStore/factoryParams.ts b/packages/commercetools/composables/src/useStore/factoryParams.ts index 8f361b27b1..22fee3e1bd 100644 --- a/packages/commercetools/composables/src/useStore/factoryParams.ts +++ b/packages/commercetools/composables/src/useStore/factoryParams.ts @@ -16,7 +16,6 @@ export interface CtUseStoreFactoryParams extends UseStoreFactoryParams } -// Load param async function load (context: Context, params: UseStoreFactoryLoadParamArguments): Promise { const { api, config } = context.$ct; const { customQuery } = params; @@ -27,14 +26,12 @@ async function load (context: Context, params: UseStoreFactoryLoadParamArguments }; } -// Change param async function change (context: Context, { store }: UseStoreFactoryChangeParamArguments) { context.$ct.config.storeService.changeCurrentStore(`${store.key}`); window.location.reload(); return null as StoresData; } -// eslint-disable-next-line @typescript-eslint/no-unused-vars async function changeChannel (context: Context, { channel }: UseStoreFactoryChangeChannelParamArguments) { context.$ct.config.storeService.changeCurrentStore(`${(channel.distributtionChannel || 'null')}-${(channel.supplyChannel || 'null')}`); window.location.reload(); diff --git a/packages/core/cache/api-extractor.json b/packages/core/cache/api-extractor.json new file mode 100644 index 0000000000..f12f30fd57 --- /dev/null +++ b/packages/core/cache/api-extractor.json @@ -0,0 +1,10 @@ +{ + "extends": "../../api-extractor.base.json", + "mainEntryPointFilePath": "./lib/index.d.ts", + "dtsRollup": { + "untrimmedFilePath": "./lib/.d.ts" + }, + "docModel": { + "apiJsonFilePath": "/core/docs/core/api-reference/.api.json" + } +} diff --git a/packages/core/cache/src/index.ts b/packages/core/cache/src/index.ts index 82854a63d0..ae79785686 100644 --- a/packages/core/cache/src/index.ts +++ b/packages/core/cache/src/index.ts @@ -1,3 +1,14 @@ +/** + * Core Vue Storefront 2 library for enabling Server Side Rendering (SSR) cache. + * + * @remarks + * The `@vue-storefront/cache` library is a Nuxt.js module, that is core piece required + * to enable Server Side Rendering (SSR) cache in Vue Storefront 2. It uses drivers + * to integration with specific caching solutions. + * + * @packageDocumentation + */ + export { default as useCache } from './composables/useCache'; export enum CacheTagPrefix { diff --git a/packages/core/cache/tsconfig.json b/packages/core/cache/tsconfig.json index 8e25bb39b6..e99af1d9fc 100644 --- a/packages/core/cache/tsconfig.json +++ b/packages/core/cache/tsconfig.json @@ -16,5 +16,6 @@ "strict": false, "allowJs": true }, - "exclude": ["node_modules", "**/*.spec.ts"] + "exclude": ["node_modules", "**/*.spec.ts"], + "include": ["src"], } diff --git a/packages/core/core/src/index.ts b/packages/core/core/src/index.ts index 5d32902b0c..3720a4b3c6 100644 --- a/packages/core/core/src/index.ts +++ b/packages/core/core/src/index.ts @@ -1,5 +1,15 @@ -/* istanbul ignore file */ +/** + * Core Vue Storefront 2 library. + * + * @remarks + * The `@vue-storefront/core` library is a core of the whole Vue Storefront 2 application. + * It defines common interfaces for all eCommerce integrations, factories for creating + * composables, logger, SSR helpers and more. + * + * @packageDocumentation + */ +/* istanbul ignore file */ export * from './utils'; export * from './factories'; export * from './types'; diff --git a/packages/core/core/src/types.ts b/packages/core/core/src/types.ts index faac76f20f..bac41aa852 100644 --- a/packages/core/core/src/types.ts +++ b/packages/core/core/src/types.ts @@ -901,7 +901,7 @@ export interface UseStoreFactoryLoadParamArguments { export interface UseStoreFactoryParams extends FactoryParams { load(context: Context, params: UseStoreFactoryLoadParamArguments): Promise - change(context: Context, parmas: UseStoreFactoryChangeParamArguments): Promise + change(context: Context, params: UseStoreFactoryChangeParamArguments): Promise } export interface UseStoreInterface { change(params: UseStoreFactoryChangeParamArguments): Promise; diff --git a/packages/core/docs/.vuepress/components/PersonTile.vue b/packages/core/docs/.vuepress/components/PersonTile.vue index 610566b060..809e421c26 100644 --- a/packages/core/docs/.vuepress/components/PersonTile.vue +++ b/packages/core/docs/.vuepress/components/PersonTile.vue @@ -3,13 +3,13 @@
{{ name }}
{{ company }}
-
Slack: @{{ slack }}
+
Discord: {{ discord }}
diff --git a/packages/core/docs/.vuepress/config.js b/packages/core/docs/.vuepress/config.js index 36f546cddf..8ea495c111 100644 --- a/packages/core/docs/.vuepress/config.js +++ b/packages/core/docs/.vuepress/config.js @@ -164,29 +164,29 @@ module.exports = { title: 'Composables', collapsable: false, children: [ - ['/commercetools/composables/use-product', 'useProduct'], - ['/commercetools/composables/use-review', 'useReview '], - ['/commercetools/composables/use-user', 'useUser'], - ['/commercetools/composables/use-user-shipping', 'useUserShipping'], - ['/commercetools/composables/use-user-billing', 'useUserBilling'], - ['/commercetools/composables/use-user-order', 'useUserOrder'], - ['/commercetools/composables/use-facet', 'useFacet'], + ['/commercetools/composables/use-billing', 'useBilling'], ['/commercetools/composables/use-cart', 'useCart'], - ['/commercetools/composables/use-wishlist', 'useWishlist'], ['/commercetools/composables/use-category', 'useCategory'], - ['/commercetools/composables/use-shipping', 'useShipping'], - ['/commercetools/composables/use-shipping-provider', 'useShippingProvider'], - ['/commercetools/composables/use-billing', 'useBilling'], - ['/commercetools/composables/use-make-order', 'useMakeOrder'], + ['/commercetools/composables/use-facet', 'useFacet'], ['/commercetools/composables/use-forgot-password', 'useForgotPassword'], - ['/commercetools/composables/use-store', 'useStore'] + ['/commercetools/composables/use-make-order', 'useMakeOrder'], + ['/commercetools/composables/use-product', 'useProduct'], + ['/commercetools/composables/use-review', 'useReview'], + ['/commercetools/composables/use-shipping-provider', 'useShippingProvider'], + ['/commercetools/composables/use-shipping', 'useShipping'], + ['/commercetools/composables/use-store', 'useStore'], + ['/commercetools/composables/use-user-billing', 'useUserBilling'], + ['/commercetools/composables/use-user-order', 'useUserOrder'], + ['/commercetools/composables/use-user-shipping', 'useUserShipping'], + ['/commercetools/composables/use-user', 'useUser'], + ['/commercetools/composables/use-wishlist', 'useWishlist'] ] }, { - title: 'API Client', + title: 'API Reference', collapsable: false, children: [ - ['/commercetools/api-reference/', 'Methods reference'] + ['/commercetools/api-reference/', 'API Reference'] ] }, { diff --git a/packages/core/docs/commercetools/composables/use-billing.md b/packages/core/docs/commercetools/composables/use-billing.md index 619dbf6bf9..3107680865 100644 --- a/packages/core/docs/commercetools/composables/use-billing.md +++ b/packages/core/docs/commercetools/composables/use-billing.md @@ -13,11 +13,11 @@ - `customQuery?: CustomQuery` -```ts -type CustomQuery = { - getBasicProfile: string -} -``` + ```ts + type CustomQuery = { + getBasicProfile: string + } + ``` - `save` - function for saving billing address. This method accepts a single `saveParams` object. The `saveParams` has the following options: @@ -25,47 +25,52 @@ type CustomQuery = { - `customQuery?: CustomQuery` -```ts -type Address = { - __typename?: "Address"; - id?: Maybe; - title?: Maybe; - salutation?: Maybe; - firstName?: Maybe; - lastName?: Maybe; - streetName?: Maybe; - streetNumber?: Maybe; - additionalStreetInfo?: Maybe; - postalCode?: Maybe; - city?: Maybe; - region?: Maybe; - state?: Maybe; - country: Scalars["Country"]; - company?: Maybe; - department?: Maybe; - building?: Maybe; - apartment?: Maybe; - pOBox?: Maybe; - contactInfo: AddressContactInfo; - phone?: Maybe; - email?: Maybe; - additionalAddressInfo?: Maybe; - externalId?: Maybe; - key?: Maybe; -}; -type CustomQuery = { - updateCart: string -} -``` + ```ts + type Address = { + __typename?: "Address"; + id?: Maybe; + title?: Maybe; + salutation?: Maybe; + firstName?: Maybe; + lastName?: Maybe; + streetName?: Maybe; + streetNumber?: Maybe; + additionalStreetInfo?: Maybe; + postalCode?: Maybe; + city?: Maybe; + region?: Maybe; + state?: Maybe; + country: Scalars["Country"]; + company?: Maybe; + department?: Maybe; + building?: Maybe; + apartment?: Maybe; + pOBox?: Maybe; + contactInfo: AddressContactInfo; + phone?: Maybe; + email?: Maybe; + additionalAddressInfo?: Maybe; + externalId?: Maybe; + key?: Maybe; + }; + + type CustomQuery = { + updateCart: string + } + ``` + - `billing: Address` - a main data object that contains a billing address. + - `loading: boolean` - a reactive object containing information about loading state of your `load` or `save` method. + - `error: UseBillingErrors` - a reactive object containing the error message, if `load` or `save` failed for any reason. -```ts -interface UseBillingErrors { - load?: Error; - save?: Error; -} -``` + + ```ts + interface UseBillingErrors { + load?: Error; + save?: Error; + } + ``` ## Getters diff --git a/packages/core/docs/commercetools/composables/use-cart.md b/packages/core/docs/commercetools/composables/use-cart.md index e7f448875e..c55484984a 100644 --- a/packages/core/docs/commercetools/composables/use-cart.md +++ b/packages/core/docs/commercetools/composables/use-cart.md @@ -13,61 +13,61 @@ - `cart: Cart` - a main data object. -```ts -type Cart = { - __typename?: "Cart"; - customerId?: Maybe; - customer?: Maybe; - customerEmail?: Maybe; - anonymousId?: Maybe; - lineItems: Array; - customLineItems: Array; - totalPrice: Money; - taxedPrice?: Maybe; - shippingAddress?: Maybe
; - billingAddress?: Maybe
; - inventoryMode: InventoryMode; - taxMode: TaxMode; - taxRoundingMode: RoundingMode; - taxCalculationMode: TaxCalculationMode; - customerGroup?: Maybe; - customerGroupRef?: Maybe; - country?: Maybe; - shippingInfo?: Maybe; - discountCodes: Array; - refusedGifts: Array; - refusedGiftsRefs: Array; - paymentInfo?: Maybe; - locale?: Maybe; - shippingRateInput?: Maybe; - origin: CartOrigin; - storeRef?: Maybe; - store?: Maybe; - itemShippingAddresses: Array
; - cartState: CartState; - customFieldsRaw?: Maybe>; - customFields?: Maybe; - custom?: Maybe; - deleteDaysAfterLastModification?: Maybe; - id: Scalars["String"]; - version: Scalars["Long"]; - createdAt: Scalars["DateTime"]; - lastModifiedAt: Scalars["DateTime"]; - createdBy?: Maybe; - lastModifiedBy?: Maybe; - customFieldList?: Maybe>; -} -``` + ```ts + type Cart = { + __typename?: "Cart"; + customerId?: Maybe; + customer?: Maybe; + customerEmail?: Maybe; + anonymousId?: Maybe; + lineItems: Array; + customLineItems: Array; + totalPrice: Money; + taxedPrice?: Maybe; + shippingAddress?: Maybe
; + billingAddress?: Maybe
; + inventoryMode: InventoryMode; + taxMode: TaxMode; + taxRoundingMode: RoundingMode; + taxCalculationMode: TaxCalculationMode; + customerGroup?: Maybe; + customerGroupRef?: Maybe; + country?: Maybe; + shippingInfo?: Maybe; + discountCodes: Array; + refusedGifts: Array; + refusedGiftsRefs: Array; + paymentInfo?: Maybe; + locale?: Maybe; + shippingRateInput?: Maybe; + origin: CartOrigin; + storeRef?: Maybe; + store?: Maybe; + itemShippingAddresses: Array
; + cartState: CartState; + customFieldsRaw?: Maybe>; + customFields?: Maybe; + custom?: Maybe; + deleteDaysAfterLastModification?: Maybe; + id: Scalars["String"]; + version: Scalars["Long"]; + createdAt: Scalars["DateTime"]; + lastModifiedAt: Scalars["DateTime"]; + createdBy?: Maybe; + lastModifiedBy?: Maybe; + customFieldList?: Maybe>; + } + ``` - `load` - function required to fetch cart from a server or create brand new if it doesn't exist. This method accepts a single `params` object. The `params` has the following option: - `customQuery?: customQuery` - -```ts -type CustomQuery = { - getBasicProfile: string -} -``` + + ```ts + type CustomQuery = { + getBasicProfile: string + } + ``` - `addItem` - function for adding products to the cart. This method accepts a single `params` object. The `params` has the following options: @@ -77,26 +77,26 @@ type CustomQuery = { - `customQuery?: customQuery` -```ts -type ProductVariant = { - __typename?: "ProductVariant"; - id: Scalars["Int"]; - key?: Maybe; - sku?: Maybe; - prices?: Maybe>; - price?: Maybe; - images: Array; - assets: Array; - availability?: Maybe; - attributesRaw: Array; - attributes: ProductType; - attributeList: Array; -} - -type CustomQuery = { - updateCart: string -} -``` + ```ts + type ProductVariant = { + __typename?: "ProductVariant"; + id: Scalars["Int"]; + key?: Maybe; + sku?: Maybe; + prices?: Maybe>; + price?: Maybe; + images: Array; + assets: Array; + availability?: Maybe; + attributesRaw: Array; + attributes: ProductType; + attributeList: Array; + } + + type CustomQuery = { + updateCart: string + } + ``` - `updateItemQty` - function for updating quantity of a product that is already in the cart. This method accepts a single `params` object. The `params` has the following options: @@ -106,106 +106,106 @@ type CustomQuery = { - `customQuery?: CustomQuery` -```ts -type LineItem = { - __typename?: "LineItem"; - id: Scalars["String"]; - productId: Scalars["String"]; - name?: Maybe; - nameAllLocales: Array; - productSlug?: Maybe; - productType?: Maybe; - productTypeRef?: Maybe; - variant?: Maybe; - price: ProductPrice; - taxedPrice?: Maybe; - totalPrice?: Maybe; - quantity: Scalars["Long"]; - state: Array; - taxRate?: Maybe; - supplyChannel?: Maybe; - supplyChannelRef?: Maybe; - distributionChannel?: Maybe; - distributionChannelRef?: Maybe; - discountedPricePerQuantity: Array; - lineItemMode: LineItemMode; - priceMode: LineItemPriceMode; - customFieldsRaw?: Maybe>; - customFields?: Maybe; - custom?: Maybe; - shippingDetails?: Maybe; - inventoryMode?: Maybe; - customFieldList?: Maybe>; -} + ```ts + type LineItem = { + __typename?: "LineItem"; + id: Scalars["String"]; + productId: Scalars["String"]; + name?: Maybe; + nameAllLocales: Array; + productSlug?: Maybe; + productType?: Maybe; + productTypeRef?: Maybe; + variant?: Maybe; + price: ProductPrice; + taxedPrice?: Maybe; + totalPrice?: Maybe; + quantity: Scalars["Long"]; + state: Array; + taxRate?: Maybe; + supplyChannel?: Maybe; + supplyChannelRef?: Maybe; + distributionChannel?: Maybe; + distributionChannelRef?: Maybe; + discountedPricePerQuantity: Array; + lineItemMode: LineItemMode; + priceMode: LineItemPriceMode; + customFieldsRaw?: Maybe>; + customFields?: Maybe; + custom?: Maybe; + shippingDetails?: Maybe; + inventoryMode?: Maybe; + customFieldList?: Maybe>; + } + + type CustomQuery = { + updateCart: string + } + ``` -type CustomQuery = { - updateCart: string -} -``` - - `removeItem` - function for removing a product that currently is in the cart. This method accepts a single `params` object. The `params` has the following options: - `product: LineItem` - + - `customQuery?: CustomQuery` - -```ts -type LineItem = { - __typename?: "LineItem"; - id: Scalars["String"]; - productId: Scalars["String"]; - name?: Maybe; - nameAllLocales: Array; - productSlug?: Maybe; - productType?: Maybe; - productTypeRef?: Maybe; - variant?: Maybe; - price: ProductPrice; - taxedPrice?: Maybe; - totalPrice?: Maybe; - quantity: Scalars["Long"]; - state: Array; - taxRate?: Maybe; - supplyChannel?: Maybe; - supplyChannelRef?: Maybe; - distributionChannel?: Maybe; - distributionChannelRef?: Maybe; - discountedPricePerQuantity: Array; - lineItemMode: LineItemMode; - priceMode: LineItemPriceMode; - customFieldsRaw?: Maybe>; - customFields?: Maybe; - custom?: Maybe; - shippingDetails?: Maybe; - inventoryMode?: Maybe; - customFieldList?: Maybe>; -} -type CustomQuery = { - updateCart: string -} -``` - + ```ts + type LineItem = { + __typename?: "LineItem"; + id: Scalars["String"]; + productId: Scalars["String"]; + name?: Maybe; + nameAllLocales: Array; + productSlug?: Maybe; + productType?: Maybe; + productTypeRef?: Maybe; + variant?: Maybe; + price: ProductPrice; + taxedPrice?: Maybe; + totalPrice?: Maybe; + quantity: Scalars["Long"]; + state: Array; + taxRate?: Maybe; + supplyChannel?: Maybe; + supplyChannelRef?: Maybe; + distributionChannel?: Maybe; + distributionChannelRef?: Maybe; + discountedPricePerQuantity: Array; + lineItemMode: LineItemMode; + priceMode: LineItemPriceMode; + customFieldsRaw?: Maybe>; + customFields?: Maybe; + custom?: Maybe; + shippingDetails?: Maybe; + inventoryMode?: Maybe; + customFieldList?: Maybe>; + } + + type CustomQuery = { + updateCart: string + } + ``` + - `isInCart` - function for checking if a product is currently in the cart. This method accepts a single `params` object. The `params` has the following option: - `product: ProductVariant` - -```ts -type ProductVariant = { - __typename?: "ProductVariant"; - id: Scalars["Int"]; - key?: Maybe; - sku?: Maybe; - prices?: Maybe>; - price?: Maybe; - images: Array; - assets: Array; - availability?: Maybe; - attributesRaw: Array; - attributes: ProductType; - attributeList: Array; -} -``` + + ```ts + type ProductVariant = { + __typename?: "ProductVariant"; + id: Scalars["Int"]; + key?: Maybe; + sku?: Maybe; + prices?: Maybe>; + price?: Maybe; + images: Array; + assets: Array; + availability?: Maybe; + attributesRaw: Array; + attributes: ProductType; + attributeList: Array; + } + ``` - `clear` - function for removing all items currently stored in cart. @@ -215,11 +215,11 @@ type ProductVariant = { - `customQuery?: CustomQuery` -```ts -type CustomQuery = { - updateCart: string -} -``` + ```ts + type CustomQuery = { + updateCart: string + } + ``` - `removeCoupon` - function for removing coupon applied to cart. This method accepts a single `params` object. The `params` has the following options: @@ -227,34 +227,34 @@ type CustomQuery = { - `customQuery?: CustomQuery` -```ts -interface AgnosticCoupon { - id: string; - name: string; - code: string; - value: number; -} - -type CustomQuery = { - updateCart: string -} -``` + ```ts + interface AgnosticCoupon { + id: string; + name: string; + code: string; + value: number; + } + + type CustomQuery = { + updateCart: string + } + ``` - `loading: boolean` - a reactive object containing information about loading state of the cart. - `error: UseCartErrors` - reactive object containing the error message, if some properties failed for any reason. -```ts -interface UseCartErrors { - addItem: Error; - removeItem: Error; - updateItemQty: Error; - load: Error; - clear: Error; - applyCoupon: Error; - removeCoupon: Error; -} -``` + ```ts + interface UseCartErrors { + addItem: Error; + removeItem: Error; + updateItemQty: Error; + load: Error; + clear: Error; + applyCoupon: Error; + removeCoupon: Error; + } + ``` ## Getters @@ -284,87 +284,87 @@ interface UseCartErrors { - `getDiscounts` - returns all discounts. -```ts -interface CartGetters { - getTotals: (cart: Cart) => AgnosticTotals; - getShippingPrice: (cart: Cart) => number; - getItems: (cart: Cart) => LineItem; - getItemName: (product: LineItem) => string; - getItemImage: (product: LineItem) => string; - getItemPrice: (product: LineItem) => AgnosticPrice; - getItemQty: (product: LineItem) => number; - getItemAttributes: (product: LineItem, filterByAttributeName?: Array) => Record; - getItemSku: (product: LineItem) => string; - getTotalItems: (cart: Cart) => number; - getFormattedPrice: (price: number) => string; - getCoupons: (cart: Cart) => AgnosticCoupon[]; - getDiscounts: (cart: Cart) => AgnosticDiscount[]; -} + ```ts + interface CartGetters { + getTotals: (cart: Cart) => AgnosticTotals; + getShippingPrice: (cart: Cart) => number; + getItems: (cart: Cart) => LineItem; + getItemName: (product: LineItem) => string; + getItemImage: (product: LineItem) => string; + getItemPrice: (product: LineItem) => AgnosticPrice; + getItemQty: (product: LineItem) => number; + getItemAttributes: (product: LineItem, filterByAttributeName?: Array) => Record; + getItemSku: (product: LineItem) => string; + getTotalItems: (cart: Cart) => number; + getFormattedPrice: (price: number) => string; + getCoupons: (cart: Cart) => AgnosticCoupon[]; + getDiscounts: (cart: Cart) => AgnosticDiscount[]; + } -type LineItem = { - __typename?: "LineItem"; - id: Scalars["String"]; - productId: Scalars["String"]; - name?: Maybe; - nameAllLocales: Array; - productSlug?: Maybe; - productType?: Maybe; - productTypeRef?: Maybe; - variant?: Maybe; - price: ProductPrice; - taxedPrice?: Maybe; - totalPrice?: Maybe; - quantity: Scalars["Long"]; - state: Array; - taxRate?: Maybe; - supplyChannel?: Maybe; - supplyChannelRef?: Maybe; - distributionChannel?: Maybe; - distributionChannelRef?: Maybe; - discountedPricePerQuantity: Array; - lineItemMode: LineItemMode; - priceMode: LineItemPriceMode; - customFieldsRaw?: Maybe>; - customFields?: Maybe; - custom?: Maybe; - shippingDetails?: Maybe; - inventoryMode?: Maybe; - customFieldList?: Maybe>; -} + type LineItem = { + __typename?: "LineItem"; + id: Scalars["String"]; + productId: Scalars["String"]; + name?: Maybe; + nameAllLocales: Array; + productSlug?: Maybe; + productType?: Maybe; + productTypeRef?: Maybe; + variant?: Maybe; + price: ProductPrice; + taxedPrice?: Maybe; + totalPrice?: Maybe; + quantity: Scalars["Long"]; + state: Array; + taxRate?: Maybe; + supplyChannel?: Maybe; + supplyChannelRef?: Maybe; + distributionChannel?: Maybe; + distributionChannelRef?: Maybe; + discountedPricePerQuantity: Array; + lineItemMode: LineItemMode; + priceMode: LineItemPriceMode; + customFieldsRaw?: Maybe>; + customFields?: Maybe; + custom?: Maybe; + shippingDetails?: Maybe; + inventoryMode?: Maybe; + customFieldList?: Maybe>; + } -interface AgnosticTotals { - total: number; - subtotal: number; - special?: number; - [x: string]: unknown; -} + interface AgnosticTotals { + total: number; + subtotal: number; + special?: number; + [x: string]: unknown; + } -interface AgnosticPrice { - regular: number | null; - special?: number | null; -} + interface AgnosticPrice { + regular: number | null; + special?: number | null; + } -interface AgnosticAttribute { - name?: string; - value: string | Record; - label: string; -} + interface AgnosticAttribute { + name?: string; + value: string | Record; + label: string; + } -interface AgnosticCoupon { - id: string; - name: string; - code: string; - value: number; -} + interface AgnosticCoupon { + id: string; + name: string; + code: string; + value: number; + } -interface AgnosticDiscount { - id: string; - name: string; - description: string; - value: number; - code?: string; -} -``` + interface AgnosticDiscount { + id: string; + name: string; + description: string; + value: number; + code?: string; + } + ``` ## Example diff --git a/packages/core/docs/commercetools/composables/use-category.md b/packages/core/docs/commercetools/composables/use-category.md index a2878a2094..07f1655802 100644 --- a/packages/core/docs/commercetools/composables/use-category.md +++ b/packages/core/docs/commercetools/composables/use-category.md @@ -15,79 +15,79 @@ - `customQuery?: CustomQuery` -```ts -type CustomQuery = { - categories: string -} -``` + ```ts + type CustomQuery = { + categories: string + } + ``` - `categories: Category[]` - a main data object that contains an array of categories fetched by `search` method. -```ts -type Category = { - __typename?: "Category"; - id: Scalars["String"]; - key?: Maybe; - version: Scalars["Long"]; - name?: Maybe; - nameAllLocales: Array; - description?: Maybe; - descriptionAllLocales?: Maybe>; - slug?: Maybe; - slugAllLocales: Array; - ancestorsRef: Array; - ancestors: Array; - parentRef?: Maybe; - parent?: Maybe; - orderHint: Scalars["String"]; - externalId?: Maybe; - metaTitle?: Maybe; - metaKeywords?: Maybe; - metaDescription?: Maybe; - productCount: Scalars["Int"]; - stagedProductCount: Scalars["Int"]; - childCount: Scalars["Int"]; - children?: Maybe>; - createdAt: Scalars["DateTime"]; - lastModifiedAt: Scalars["DateTime"]; - assets: Array; - customFieldsRaw?: Maybe>; - customFields?: Maybe; - custom?: Maybe; - createdBy?: Maybe; - lastModifiedBy?: Maybe; - customFieldList?: Maybe>; -} -``` + ```ts + type Category = { + __typename?: "Category"; + id: Scalars["String"]; + key?: Maybe; + version: Scalars["Long"]; + name?: Maybe; + nameAllLocales: Array; + description?: Maybe; + descriptionAllLocales?: Maybe>; + slug?: Maybe; + slugAllLocales: Array; + ancestorsRef: Array; + ancestors: Array; + parentRef?: Maybe; + parent?: Maybe; + orderHint: Scalars["String"]; + externalId?: Maybe; + metaTitle?: Maybe; + metaKeywords?: Maybe; + metaDescription?: Maybe; + productCount: Scalars["Int"]; + stagedProductCount: Scalars["Int"]; + childCount: Scalars["Int"]; + children?: Maybe>; + createdAt: Scalars["DateTime"]; + lastModifiedAt: Scalars["DateTime"]; + assets: Array; + customFieldsRaw?: Maybe>; + customFields?: Maybe; + custom?: Maybe; + createdBy?: Maybe; + lastModifiedBy?: Maybe; + customFieldList?: Maybe>; + } + ``` - `loading: boolean` - a reactive object containing information about loading state of your `search` method. - `error: UseCategoryErrors` - reactive object containing the error message, if `search` failed for any reason. -```ts -interface UseCategoryErrors { - search: Error; -} -``` + ```ts + interface UseCategoryErrors { + search: Error; + } + ``` ## Getters - `getTree` - returns category tree. -```ts -interface CategoryGetters { - getTree: (category: Category) => AgnosticCategoryTree | null; -} + ```ts + interface CategoryGetters { + getTree: (category: Category) => AgnosticCategoryTree | null; + } -interface AgnosticCategoryTree { - label: string; - slug?: string; - items: AgnosticCategoryTree[]; - isCurrent: boolean; - count?: number; - [x: string]: unknown; -} -``` + interface AgnosticCategoryTree { + label: string; + slug?: string; + items: AgnosticCategoryTree[]; + isCurrent: boolean; + count?: number; + [x: string]: unknown; + } + ``` ## Example diff --git a/packages/core/docs/commercetools/composables/use-facet.md b/packages/core/docs/commercetools/composables/use-facet.md index e59e0ebd92..f0ccbfabdd 100644 --- a/packages/core/docs/commercetools/composables/use-facet.md +++ b/packages/core/docs/commercetools/composables/use-facet.md @@ -24,19 +24,19 @@ For more information about faceting, please refer to [this page](../composables/ - `search` - function for searching and classifying records, allowing users to browse the catalog data. It accepts a single object as a parameter with following signature: -```ts -interface AgnosticFacetSearchParams { - categorySlug?: string; - rootCatSlug?: string; - term?: string; - page?: number; - itemsPerPage?: number; - sort?: string; - filters?: Record; - metadata?: any; - [x: string]: any; -} -``` + ```ts + interface AgnosticFacetSearchParams { + categorySlug?: string; + rootCatSlug?: string; + term?: string; + page?: number; + itemsPerPage?: number; + sort?: string; + filters?: Record; + metadata?: any; + [x: string]: any; + } + ``` - `result` - reactive data object containing the response from the backend. @@ -44,11 +44,11 @@ interface AgnosticFacetSearchParams { - `error` - reactive object containing the error message, if `search` failed for any reason. -```ts -interface UseFacetErrors { - search: Error; -} -``` + ```ts + interface UseFacetErrors { + search: Error; + } + ``` ## Getters Because the `result` property is a raw response with some additional properties, it's recommended to use `facetGetters` for accessing any data from it. It includes the following helper functions: @@ -67,105 +67,104 @@ Because the `result` property is a raw response with some additional properties, - `getBreadcrumbs` - returns breadcrumbs information. + ```ts + interface FacetsGetters { + getAll: (searchData: SearchData, criteria?: string[]) => AgnosticFacet[]; + getGrouped: (searchData: SearchData, criteria?: string[]) => AgnosticGroupedFacet[]; + getCategoryTree: (searchData: SearchData) => AgnosticCategoryTree; + getSortOptions: (searchData: SearchData) => AgnosticSort; + getProducts: (searchData: SearchData) => ProductVariant[]; + getPagination: (searchData: SearchData) => AgnosticPagination; + getBreadcrumbs: (searchData: SearchData) => AgnosticBreadcrumb[]; + } -```ts -interface FacetsGetters { - getAll: (searchData: SearchData, criteria?: string[]) => AgnosticFacet[]; - getGrouped: (searchData: SearchData, criteria?: string[]) => AgnosticGroupedFacet[]; - getCategoryTree: (searchData: SearchData) => AgnosticCategoryTree; - getSortOptions: (searchData: SearchData) => AgnosticSort; - getProducts: (searchData: SearchData) => ProductVariant[]; - getPagination: (searchData: SearchData) => AgnosticPagination; - getBreadcrumbs: (searchData: SearchData) => AgnosticBreadcrumb[]; -} - -interface AgnosticFacet { - type: string; - id: string; - value: any; - attrName?: string; - count?: number; - selected?: boolean; - metadata?: any; -} + interface AgnosticFacet { + type: string; + id: string; + value: any; + attrName?: string; + count?: number; + selected?: boolean; + metadata?: any; + } -interface AgnosticGroupedFacet { - id: string; - label: string; - count?: number; - options: AgnosticFacet[]; -} + interface AgnosticGroupedFacet { + id: string; + label: string; + count?: number; + options: AgnosticFacet[]; + } -interface AgnosticCategoryTree { - label: string; - slug?: string; - items: AgnosticCategoryTree[]; - isCurrent: boolean; - count?: number; - [x: string]: unknown; -} + interface AgnosticCategoryTree { + label: string; + slug?: string; + items: AgnosticCategoryTree[]; + isCurrent: boolean; + count?: number; + [x: string]: unknown; + } -interface AgnosticSort { - options: AgnosticFacet[]; - selected: string; -} + interface AgnosticSort { + options: AgnosticFacet[]; + selected: string; + } -type SearchData = FacetSearchResult + type SearchData = FacetSearchResult -interface FacetSearchResult { - data; - input: AgnosticFacetSearchParams; -} + interface FacetSearchResult { + data; + input: AgnosticFacetSearchParams; + } -interface AgnosticFacetSearchParams { - categorySlug?: string; - rootCatSlug?: string; - term?: string; - page?: number; - itemsPerPage?: number; - sort?: string; - filters?: Record; - metadata?: any; - [x: string]: any; -} + interface AgnosticFacetSearchParams { + categorySlug?: string; + rootCatSlug?: string; + term?: string; + page?: number; + itemsPerPage?: number; + sort?: string; + filters?: Record; + metadata?: any; + [x: string]: any; + } -interface AgnosticPagination { - currentPage: number; - totalPages: number; - totalItems: number; - itemsPerPage: number; - pageOptions: number[]; -} + interface AgnosticPagination { + currentPage: number; + totalPages: number; + totalItems: number; + itemsPerPage: number; + pageOptions: number[]; + } -interface AgnosticBreadcrumb { - text: string; - link: string; -} + interface AgnosticBreadcrumb { + text: string; + link: string; + } -interface FacetResultsData { - products: ProductVariant[]; - categories: Category[]; - facets: Record; - total: number; - perPageOptions: number[]; - itemsPerPage: number; -} + interface FacetResultsData { + products: ProductVariant[]; + categories: Category[]; + facets: Record; + total: number; + perPageOptions: number[]; + itemsPerPage: number; + } -type ProductVariant = { - __typename?: "ProductVariant"; - id: Scalars["Int"]; - key?: Maybe; - sku?: Maybe; - prices?: Maybe>; - price?: Maybe; - images: Array; - assets: Array; - availability?: Maybe; - attributesRaw: Array; - attributes: ProductType; - attributeList: Array; -} -``` + type ProductVariant = { + __typename?: "ProductVariant"; + id: Scalars["Int"]; + key?: Maybe; + sku?: Maybe; + prices?: Maybe>; + price?: Maybe; + images: Array; + assets: Array; + availability?: Maybe; + attributesRaw: Array; + attributes: ProductType; + attributeList: Array; + } + ``` ## Configuration diff --git a/packages/core/docs/commercetools/composables/use-forgot-password.md b/packages/core/docs/commercetools/composables/use-forgot-password.md index b829450f3d..6cf8ca27d8 100644 --- a/packages/core/docs/commercetools/composables/use-forgot-password.md +++ b/packages/core/docs/commercetools/composables/use-forgot-password.md @@ -15,15 +15,15 @@ - `customQuery?: CustomQuery` -```typescript -interface ResetPasswordParams { - email: string; -} - -type CustomQuery = { - customerCreatePasswordResetToken: string -} -``` + ```typescript + interface ResetPasswordParams { + email: string; + } + + type CustomQuery = { + customerCreatePasswordResetToken: string + } + ``` - `setNew` - function to set new user password after `request`. When invoked, it requests data from the API and populates the `result` object. This method accepts a single `params` object with the following properties: @@ -31,16 +31,16 @@ type CustomQuery = { - `customQuery?: CustomQuery` -```typescript -interface SetNewPasswordParams { - tokenValue: string; - newPassword: string; -} + ```typescript + interface SetNewPasswordParams { + tokenValue: string; + newPassword: string; + } -type CustomQuery = { - customerResetPassword: string -} -``` + type CustomQuery = { + customerResetPassword: string + } + ``` - `token: string` - reactive data string containing the reset token. @@ -48,12 +48,12 @@ type CustomQuery = { - `error: UseForgotPasswordErrors` - reactive object containing the error message, if `setNew` or `request` failed for any reason. -```ts -interface UseForgotPasswordErrors { - request: Error; - setNew: Error; -} -``` + ```ts + interface UseForgotPasswordErrors { + request: Error; + setNew: Error; + } + ``` ## Getters @@ -61,78 +61,78 @@ interface UseForgotPasswordErrors { - `isPasswordChanged` - returns a boolean value of a password set status. -```ts -interface ForgotPasswordGetters { - getResetPasswordToken: (result: ForgotPasswordResult) => string - isPasswordChanged: (result: ForgotPasswordResult) => boolean -} - -interface ForgotPasswordResult { - resetPasswordResult: CreatePasswordResetTokenResponse; - setNewPasswordResult: ResetPasswordResponse; -} - -type CreatePasswordResetTokenResponse = QueryResponse<'customerCreatePasswordResetToken', CustomerPasswordToken>; - -type ResetPasswordResponse = QueryResponse<'customerResetPassword', Customer>; - -type CustomerPasswordToken = { - customerId: Scalars["String"]; - expiresAt: Scalars["DateTime"]; - value: Scalars["String"]; - id: Scalars["String"]; - version: Scalars["Long"]; - createdAt: Scalars["DateTime"]; - lastModifiedAt: Scalars["DateTime"]; - createdBy?: Maybe; - lastModifiedBy?: Maybe; -} - -type Customer = Versioned & { - __typename?: "Customer"; - customerNumber?: Maybe; - email: Scalars["String"]; - password: Scalars["String"]; - addresses: Array
; - defaultShippingAddressId?: Maybe; - defaultBillingAddressId?: Maybe; - shippingAddressIds: Array; - billingAddressIds: Array; - isEmailVerified: Scalars["Boolean"]; - customerGroupRef?: Maybe; - externalId?: Maybe; - key?: Maybe; - firstName?: Maybe; - lastName?: Maybe; - middleName?: Maybe; - title?: Maybe; - locale?: Maybe; - salutation?: Maybe; - dateOfBirth?: Maybe; - companyName?: Maybe; - vatId?: Maybe; - customerGroup?: Maybe; - defaultShippingAddress?: Maybe
; - defaultBillingAddress?: Maybe
; - shippingAddresses: Array
; - billingAddresses: Array
; - storesRef: Array; - stores: Array; - /** This field contains non-typed data. Consider using `customFields` as a typed alternative. */ - customFieldsRaw?: Maybe>; - /** This field would contain type data */ - customFields?: Maybe; - custom?: Maybe; - id: Scalars["String"]; - version: Scalars["Long"]; - createdAt: Scalars["DateTime"]; - lastModifiedAt: Scalars["DateTime"]; - createdBy?: Maybe; - lastModifiedBy?: Maybe; - /** Custom fields are returned as a list instead of an object structure. */ - customFieldList?: Maybe>; -}; -``` + ```ts + interface ForgotPasswordGetters { + getResetPasswordToken: (result: ForgotPasswordResult) => string + isPasswordChanged: (result: ForgotPasswordResult) => boolean + } + + interface ForgotPasswordResult { + resetPasswordResult: CreatePasswordResetTokenResponse; + setNewPasswordResult: ResetPasswordResponse; + } + + type CreatePasswordResetTokenResponse = QueryResponse<'customerCreatePasswordResetToken', CustomerPasswordToken>; + + type ResetPasswordResponse = QueryResponse<'customerResetPassword', Customer>; + + type CustomerPasswordToken = { + customerId: Scalars["String"]; + expiresAt: Scalars["DateTime"]; + value: Scalars["String"]; + id: Scalars["String"]; + version: Scalars["Long"]; + createdAt: Scalars["DateTime"]; + lastModifiedAt: Scalars["DateTime"]; + createdBy?: Maybe; + lastModifiedBy?: Maybe; + } + + type Customer = Versioned & { + __typename?: "Customer"; + customerNumber?: Maybe; + email: Scalars["String"]; + password: Scalars["String"]; + addresses: Array
; + defaultShippingAddressId?: Maybe; + defaultBillingAddressId?: Maybe; + shippingAddressIds: Array; + billingAddressIds: Array; + isEmailVerified: Scalars["Boolean"]; + customerGroupRef?: Maybe; + externalId?: Maybe; + key?: Maybe; + firstName?: Maybe; + lastName?: Maybe; + middleName?: Maybe; + title?: Maybe; + locale?: Maybe; + salutation?: Maybe; + dateOfBirth?: Maybe; + companyName?: Maybe; + vatId?: Maybe; + customerGroup?: Maybe; + defaultShippingAddress?: Maybe
; + defaultBillingAddress?: Maybe
; + shippingAddresses: Array
; + billingAddresses: Array
; + storesRef: Array; + stores: Array; + /** This field contains non-typed data. Consider using `customFields` as a typed alternative. */ + customFieldsRaw?: Maybe>; + /** This field would contain type data */ + customFields?: Maybe; + custom?: Maybe; + id: Scalars["String"]; + version: Scalars["Long"]; + createdAt: Scalars["DateTime"]; + lastModifiedAt: Scalars["DateTime"]; + createdBy?: Maybe; + lastModifiedBy?: Maybe; + /** Custom fields are returned as a list instead of an object structure. */ + customFieldList?: Maybe>; + }; + ``` ## Example diff --git a/packages/core/docs/commercetools/composables/use-make-order.md b/packages/core/docs/commercetools/composables/use-make-order.md index 7e7259443f..d4e4ce8b27 100644 --- a/packages/core/docs/commercetools/composables/use-make-order.md +++ b/packages/core/docs/commercetools/composables/use-make-order.md @@ -10,80 +10,82 @@ - `customQuery?: CustomQuery` -```ts -type CustomQuery = { - createMyOrderFromCart: string -} -``` + ```ts + type CustomQuery = { + createMyOrderFromCart: string + } + ``` + - `order: Order` - a main data object that contains a made order. -```ts -type Order = Versioned & { - __typename?: "Order"; - customerId?: Maybe; - customer?: Maybe; - customerEmail?: Maybe; - anonymousId?: Maybe; - lineItems: Array; - customLineItems: Array; - totalPrice: Money; - taxedPrice?: Maybe; - shippingAddress?: Maybe
; - billingAddress?: Maybe
; - inventoryMode: InventoryMode; - taxMode: TaxMode; - taxRoundingMode: RoundingMode; - taxCalculationMode: TaxCalculationMode; - customerGroup?: Maybe; - customerGroupRef?: Maybe; - country?: Maybe; - shippingInfo?: Maybe; - discountCodes: Array; - refusedGifts: Array; - refusedGiftsRefs: Array; - paymentInfo?: Maybe; - locale?: Maybe; - shippingRateInput?: Maybe; - origin: CartOrigin; - storeRef?: Maybe; - store?: Maybe; - itemShippingAddresses: Array
; - completedAt?: Maybe; - orderNumber?: Maybe; - orderState: OrderState; - stateRef?: Maybe; - state?: Maybe; - shipmentState?: Maybe; - paymentState?: Maybe; - syncInfo: Array; - returnInfo: Array; - lastMessageSequenceNumber: Scalars["Long"]; - cartRef?: Maybe; - cart?: Maybe; - /** This field contains non-typed data. Consider using `customFields` as a typed alternative. */ - customFieldsRaw?: Maybe>; - /** This field would contain type data */ - customFields?: Maybe; - custom?: Maybe; - id: Scalars["String"]; - version: Scalars["Long"]; - createdAt: Scalars["DateTime"]; - lastModifiedAt: Scalars["DateTime"]; - createdBy?: Maybe; - lastModifiedBy?: Maybe; - /** Custom fields are returned as a list instead of an object structure. */ - customFieldList?: Maybe>; -}; -``` + + ```ts + type Order = Versioned & { + __typename?: "Order"; + customerId?: Maybe; + customer?: Maybe; + customerEmail?: Maybe; + anonymousId?: Maybe; + lineItems: Array; + customLineItems: Array; + totalPrice: Money; + taxedPrice?: Maybe; + shippingAddress?: Maybe
; + billingAddress?: Maybe
; + inventoryMode: InventoryMode; + taxMode: TaxMode; + taxRoundingMode: RoundingMode; + taxCalculationMode: TaxCalculationMode; + customerGroup?: Maybe; + customerGroupRef?: Maybe; + country?: Maybe; + shippingInfo?: Maybe; + discountCodes: Array; + refusedGifts: Array; + refusedGiftsRefs: Array; + paymentInfo?: Maybe; + locale?: Maybe; + shippingRateInput?: Maybe; + origin: CartOrigin; + storeRef?: Maybe; + store?: Maybe; + itemShippingAddresses: Array
; + completedAt?: Maybe; + orderNumber?: Maybe; + orderState: OrderState; + stateRef?: Maybe; + state?: Maybe; + shipmentState?: Maybe; + paymentState?: Maybe; + syncInfo: Array; + returnInfo: Array; + lastMessageSequenceNumber: Scalars["Long"]; + cartRef?: Maybe; + cart?: Maybe; + /** This field contains non-typed data. Consider using `customFields` as a typed alternative. */ + customFieldsRaw?: Maybe>; + /** This field would contain type data */ + customFields?: Maybe; + custom?: Maybe; + id: Scalars["String"]; + version: Scalars["Long"]; + createdAt: Scalars["DateTime"]; + lastModifiedAt: Scalars["DateTime"]; + createdBy?: Maybe; + lastModifiedBy?: Maybe; + /** Custom fields are returned as a list instead of an object structure. */ + customFieldList?: Maybe>; + }; + ``` - `loading: boolean` - a reactive object containing information about loading state of your `make` method. - `error: UseMakeOrderErrors` - a reactive object containing the error message, if `load` or `save` failed for any reason. -```ts -interface UseMakeOrderErrors { - make?: Error; -} -``` + ```ts + interface UseMakeOrderErrors { + make?: Error; + } + ``` ## Getters diff --git a/packages/core/docs/commercetools/composables/use-product.md b/packages/core/docs/commercetools/composables/use-product.md index 7df7a88e71..d71cc46178 100644 --- a/packages/core/docs/commercetools/composables/use-product.md +++ b/packages/core/docs/commercetools/composables/use-product.md @@ -12,51 +12,52 @@ - `customQuery?: CustomQuery` -```ts -interface ProductsSearchParams { - perPage?: number; - page?: number; - sort?: any; - term?: any; - filters?: Record; - catId?: string | string[]; - skus?: string[]; - slug?: string; - id?: string; -} + ```ts + interface ProductsSearchParams { + perPage?: number; + page?: number; + sort?: any; + term?: any; + filters?: Record; + catId?: string | string[]; + skus?: string[]; + slug?: string; + id?: string; + } + + type CustomQuery = { + products: string + } + ``` -type CustomQuery = { - products: string -} -``` - `products: ProductVariant[]` - a main data object that contains an array of products fetched by `search` method. -```ts -type ProductVariant = { - __typename?: "ProductVariant"; - id: Scalars["Int"]; - key?: Maybe; - sku?: Maybe; - prices?: Maybe>; - price?: Maybe; - images: Array; - assets: Array; - availability?: Maybe; - attributesRaw: Array; - attributes: ProductType; - attributeList: Array; -} -``` + ```ts + type ProductVariant = { + __typename?: "ProductVariant"; + id: Scalars["Int"]; + key?: Maybe; + sku?: Maybe; + prices?: Maybe>; + price?: Maybe; + images: Array; + assets: Array; + availability?: Maybe; + attributesRaw: Array; + attributes: ProductType; + attributeList: Array; + } + ``` - `loading: boolean` - a reactive object containing information about loading state of your `search` method. - `error: UseProductErrors` - reactive object containing the error message, if `search` failed for any reason. -```ts -interface UseProductErrors { - search: Error; -} -``` + ```ts + interface UseProductErrors { + search: Error; + } + ``` ## Getters @@ -86,60 +87,60 @@ interface UseProductErrors { - `getAverageRating` - returns average rating from all reviews. -```ts -interface ProductGetters { - getName: (product: ProductVariant | Readonly) => string; - getSlug: (product: ProductVariant | Readonly) => string; - getPrice: (product: ProductVariant | Readonly) => AgnosticPrice; - getGallery: (product: ProductVariant) => AgnosticMediaGalleryItem[]; - getCoverImage: (product: ProductVariant) => string; - getFiltered: (products: ProductVariant[], filters: ProductVariantFilters | any = {}) => ProductVariant[]; - getAttributes: (products: ProductVariant[] | ProductVariant, filterByAttributeName?: string[]) => Record; - getDescription: (product: ProductVariant) => string; - getCategoryIds: (product: ProductVariant) => string[]; - getId: (product: ProductVariant) => string; - getFormattedPrice: (price: number) => string; - getTotalReviews: (product: ProductVariant) => number; - getAverageRating: (product: ProductVariant) => number; -} + ```ts + interface ProductGetters { + getName: (product: ProductVariant | Readonly) => string; + getSlug: (product: ProductVariant | Readonly) => string; + getPrice: (product: ProductVariant | Readonly) => AgnosticPrice; + getGallery: (product: ProductVariant) => AgnosticMediaGalleryItem[]; + getCoverImage: (product: ProductVariant) => string; + getFiltered: (products: ProductVariant[], filters: ProductVariantFilters | any = {}) => ProductVariant[]; + getAttributes: (products: ProductVariant[] | ProductVariant, filterByAttributeName?: string[]) => Record; + getDescription: (product: ProductVariant) => string; + getCategoryIds: (product: ProductVariant) => string[]; + getId: (product: ProductVariant) => string; + getFormattedPrice: (price: number) => string; + getTotalReviews: (product: ProductVariant) => number; + getAverageRating: (product: ProductVariant) => number; + } -interface AgnosticPrice { - regular: number | null; - special?: number | null; -} + interface AgnosticPrice { + regular: number | null; + special?: number | null; + } -interface AgnosticMediaGalleryItem { - small: string; - normal: string; - big: string; -} + interface AgnosticMediaGalleryItem { + small: string; + normal: string; + big: string; + } -interface AgnosticAttribute { - name?: string; - value: string | Record; - label: string; -} + interface AgnosticAttribute { + name?: string; + value: string | Record; + label: string; + } -type ProductVariant = { - __typename?: "ProductVariant"; - id: Scalars["Int"]; - key?: Maybe; - sku?: Maybe; - prices?: Maybe>; - price?: Maybe; - images: Array; - assets: Array; - availability?: Maybe; - attributesRaw: Array; - attributes: ProductType; - attributeList: Array; -} + type ProductVariant = { + __typename?: "ProductVariant"; + id: Scalars["Int"]; + key?: Maybe; + sku?: Maybe; + prices?: Maybe>; + price?: Maybe; + images: Array; + assets: Array; + availability?: Maybe; + attributesRaw: Array; + attributes: ProductType; + attributeList: Array; + } -interface ProductVariantFilters { - master?: boolean; - attributes?: Record; -} -``` + interface ProductVariantFilters { + master?: boolean; + attributes?: Record; + } + ``` ## Examples diff --git a/packages/core/docs/commercetools/composables/use-review.md b/packages/core/docs/commercetools/composables/use-review.md index 828cb6f0a5..696ef39d8e 100644 --- a/packages/core/docs/commercetools/composables/use-review.md +++ b/packages/core/docs/commercetools/composables/use-review.md @@ -16,63 +16,60 @@ - `search` - function for fetching review data. When invoked, it requests data from the API and populates `reviews` property. This method accepts a single params object. The `params` has the following option: - - `searchParams: ReviewSearchParams` + - `productId: string` + + - `limit?: number` + + - `offset?: number` - `customQuery?: CustomQuery` -```typescript -interface ReviewSearchParams { - productId: string; - limit?: number; - offset?: number; -} - -type CustomQuery = { - reviews: string -} -``` + ```typescript + type CustomQuery = { + reviews: string + } + ``` - `addReview` - function for posting new review. When invoked, it submits data to the API and populates `reviews` property with updated information. This method accepts a single params object. The `params` has the following options: - - `params: ReviewAddParams` + - `productId: string` + + - `limit?: number` + + - `offset?: number` + + - `draft: ReviewDraft` - `customQuery?: CustomQuery` -```typescript -interface ReviewAddParams { - productId: string; - limit?: number; - offset?: number; - draft: ReviewDraft; -} - -interface ReviewDraft { - authorName: string; - text: string; - rating: number; -} - -type CustomQuery = { - addReview: string -} -``` + ```typescript + interface ReviewDraft { + authorName: string; + text: string; + rating: number; + } + + type CustomQuery = { + addReview: string + } + ``` - `reviews: Review[]` - reactive data object containing the response from the backend. -```ts -type Review = any; -``` + ```ts + type Review = any; + ``` - `loading: boolean` - reactive object containing information about loading state of `search` and `addReview` methods. - `error: UseReviewErrors` - reactive object containing the error message, if `search` or `addReview` failed for any reason. -```ts -interface UseReviewErrors { - search: Error; - addReview: Error; -} -``` + ```ts + interface UseReviewErrors { + search: Error; + addReview: Error; + } + ``` ## Getters @@ -96,38 +93,38 @@ interface UseReviewErrors { - `getReviewDate` - returns creation date from an individual review item. -```typescript -interface ReviewGetters { - getItems: (review: ReviewResponse) => Review[]; - getTotalReviews: (review: ReviewResponse) => number; - getAverageRating: (review: ReviewResponse) => number; - getRatesCount: (review: ReviewResponse) => AgnosticRateCount[]; - getReviewsPage: (review: ReviewResponse) => number; - getReviewId: (item: Review) => string; - getReviewAuthor: (item: Review) => string; - getReviewMessage: (item: Review) => string; - getReviewRating: (item: Review) => number; - getReviewDate: (item: Review) => string; -} - -type ReviewResponse = { - results: Review[], - total: number; - limit: number; - offset: number; - averageRating: number; - ratingsDistribution: { - [rating: number]: number; - }; -} - -type Review = any; - -interface AgnosticRateCount { - rate: number; - count: number; -} -``` + ```typescript + interface ReviewGetters { + getItems: (review: ReviewResponse) => Review[]; + getTotalReviews: (review: ReviewResponse) => number; + getAverageRating: (review: ReviewResponse) => number; + getRatesCount: (review: ReviewResponse) => AgnosticRateCount[]; + getReviewsPage: (review: ReviewResponse) => number; + getReviewId: (item: Review) => string; + getReviewAuthor: (item: Review) => string; + getReviewMessage: (item: Review) => string; + getReviewRating: (item: Review) => number; + getReviewDate: (item: Review) => string; + } + + type ReviewResponse = { + results: Review[], + total: number; + limit: number; + offset: number; + averageRating: number; + ratingsDistribution: { + [rating: number]: number; + }; + } + + type Review = any; + + interface AgnosticRateCount { + rate: number; + count: number; + } + ``` ## Example @@ -144,7 +141,6 @@ export default { error } = useReview(''); - // If you're using Nuxt or any other framework for Universal Vue apps onSSR(async () => { await search({ productId: '' }); }); diff --git a/packages/core/docs/commercetools/composables/use-shipping-provider.md b/packages/core/docs/commercetools/composables/use-shipping-provider.md index a8a6205128..ee7fea76cf 100644 --- a/packages/core/docs/commercetools/composables/use-shipping-provider.md +++ b/packages/core/docs/commercetools/composables/use-shipping-provider.md @@ -13,11 +13,11 @@ - `customQuery?: CustomQuery` -```ts -type CustomQuery = { - getBasicProfile: string -} -``` + ```ts + type CustomQuery = { + getBasicProfile: string + } + ``` - `save` - function for selecting shipping method. This method accepts a single `saveParams` object. The `saveParams` has the following options: @@ -25,61 +25,63 @@ type CustomQuery = { - `customQuery?: CustomQuery` -```ts -type ShippingMethod = Versioned & { - __typename?: "ShippingMethod"; - id: Scalars["String"]; - version: Scalars["Long"]; - name: Scalars["String"]; - description?: Maybe; - zoneRates: Array; - isDefault: Scalars["Boolean"]; - predicate?: Maybe; - createdAt: Scalars["DateTime"]; - lastModifiedAt: Scalars["DateTime"]; - key?: Maybe; - lastModifiedBy?: Maybe; - createdBy?: Maybe; - taxCategoryRef?: Maybe; - taxCategory?: Maybe; -}; - -type CustomQuery = { - updateCart: string -} -``` + ```ts + type ShippingMethod = Versioned & { + __typename?: "ShippingMethod"; + id: Scalars["String"]; + version: Scalars["Long"]; + name: Scalars["String"]; + description?: Maybe; + zoneRates: Array; + isDefault: Scalars["Boolean"]; + predicate?: Maybe; + createdAt: Scalars["DateTime"]; + lastModifiedAt: Scalars["DateTime"]; + key?: Maybe; + lastModifiedBy?: Maybe; + createdBy?: Maybe; + taxCategoryRef?: Maybe; + taxCategory?: Maybe; + }; + + type CustomQuery = { + updateCart: string + } + ``` + - `state: ShippingProviderState` - a main data object that contains a shipping method -```ts -interface ShippingProviderState { - response: ShippingInfo -} -type ShippingInfo = { - __typename?: "ShippingInfo"; - shippingMethodName: Scalars["String"]; - price: Money; - shippingRate: ShippingRate; - taxRate?: Maybe; - taxCategory?: Maybe; - deliveries: Array; - discountedPrice?: Maybe; - taxedPrice?: Maybe; - shippingMethodState: ShippingMethodState; - shippingMethod?: Maybe; - shippingMethodRef?: Maybe; -}; -``` + ```ts + interface ShippingProviderState { + response: ShippingInfo + } + + type ShippingInfo = { + __typename?: "ShippingInfo"; + shippingMethodName: Scalars["String"]; + price: Money; + shippingRate: ShippingRate; + taxRate?: Maybe; + taxCategory?: Maybe; + deliveries: Array; + discountedPrice?: Maybe; + taxedPrice?: Maybe; + shippingMethodState: ShippingMethodState; + shippingMethod?: Maybe; + shippingMethodRef?: Maybe; + }; + ``` - `loading: boolean` - a reactive object containing information about loading state of your `load` or `save` method. - `error: UseShippingProviderErrors` - a reactive object containing the error message, if `load` or `save` failed for any reason. -```ts -interface UseShippingProviderErrors { - load?: Error; - save?: Error; -} -``` + ```ts + interface UseShippingProviderErrors { + load?: Error; + save?: Error; + } + ``` ## Getters diff --git a/packages/core/docs/commercetools/composables/use-shipping.md b/packages/core/docs/commercetools/composables/use-shipping.md index f5505ec97d..7dc6975fd9 100644 --- a/packages/core/docs/commercetools/composables/use-shipping.md +++ b/packages/core/docs/commercetools/composables/use-shipping.md @@ -13,11 +13,11 @@ - `customQuery?: CustomQuery` -```ts -type CustomQuery = { - getBasicProfile: string -} -``` + ```ts + type CustomQuery = { + getBasicProfile: string + } + ``` - `save` - function for saving shipping address. This method accepts a single `saveParams` object. The `saveParams` has the following options: @@ -25,51 +25,52 @@ type CustomQuery = { - `customQuery?: CustomQuery` -```ts -type Address = { - __typename?: "Address"; - id?: Maybe; - title?: Maybe; - salutation?: Maybe; - firstName?: Maybe; - lastName?: Maybe; - streetName?: Maybe; - streetNumber?: Maybe; - additionalStreetInfo?: Maybe; - postalCode?: Maybe; - city?: Maybe; - region?: Maybe; - state?: Maybe; - country: Scalars["Country"]; - company?: Maybe; - department?: Maybe; - building?: Maybe; - apartment?: Maybe; - pOBox?: Maybe; - contactInfo: AddressContactInfo; - phone?: Maybe; - email?: Maybe; - additionalAddressInfo?: Maybe; - externalId?: Maybe; - key?: Maybe; -}; - -type CustomQuery = { - updateCart: string -} -``` + ```ts + type Address = { + __typename?: "Address"; + id?: Maybe; + title?: Maybe; + salutation?: Maybe; + firstName?: Maybe; + lastName?: Maybe; + streetName?: Maybe; + streetNumber?: Maybe; + additionalStreetInfo?: Maybe; + postalCode?: Maybe; + city?: Maybe; + region?: Maybe; + state?: Maybe; + country: Scalars["Country"]; + company?: Maybe; + department?: Maybe; + building?: Maybe; + apartment?: Maybe; + pOBox?: Maybe; + contactInfo: AddressContactInfo; + phone?: Maybe; + email?: Maybe; + additionalAddressInfo?: Maybe; + externalId?: Maybe; + key?: Maybe; + }; + + type CustomQuery = { + updateCart: string + } + ``` + - `shipping: Address` - a main data object that contains a shipping address. - `loading: boolean` - a reactive object containing information about loading state of your `load` or `save` method. - `error: UseShippingErrors` - a reactive object containing the error message, if `load` or `save` failed for any reason. -```ts -interface UseShippingErrors { - load?: Error; - save?: Error; -} -``` + ```ts + interface UseShippingErrors { + load?: Error; + save?: Error; + } + ``` ## Getters diff --git a/packages/core/docs/commercetools/composables/use-store.md b/packages/core/docs/commercetools/composables/use-store.md index 0596802bd2..97a76e179c 100644 --- a/packages/core/docs/commercetools/composables/use-store.md +++ b/packages/core/docs/commercetools/composables/use-store.md @@ -13,74 +13,140 @@ - `customQuery?: CustomQuery` -```ts -type CustomQuery = { - [key: string]: string -} -``` + ```ts + type CustomQuery = { + [key: string]: string + } + ``` - `change` - function for changing and saving selected store / channel. This method accepts a single params object. The params has the following options: - `currentStore: AgnosticStore` + - `store: AgnosticStore` + - `customQuery?: CustomQuery` -```ts -interface AgnosticStore { - name: string; - id: string; - description?: string; - locales?: AgnosticLocale[]; - currencies?: AgnosticCurrency[] - address?: AgnosticAddress; - geoLocation?: AgnosticGeoLocation; - [x: string]: unknown; -} -``` + ```ts + interface AgnosticStore { + name: string; + id: string; + description?: string; + locales?: AgnosticLocale[]; + currencies?: AgnosticCurrency[] + address?: AgnosticAddress; + geoLocation?: AgnosticGeoLocation; + [x: string]: unknown; + } + ``` - `response` - a main data object that contains loaded stores data. -```ts -type StoreQueryResult = { - offset: Scalars["Int"]; - count: Scalars["Int"]; - total: Scalars["Long"]; - results: Array; -}; - -export type Store = { - id: Scalars["String"]; - version: Scalars["Long"]; - key: Scalars["String"]; - name?: Maybe; - nameAllLocales?: Maybe>; - languages?: Maybe>; - createdAt: Scalars["DateTime"]; - lastModifiedAt: Scalars["DateTime"]; - createdBy?: Maybe; - lastModifiedBy?: Maybe; - distributionChannels: Array; - supplyChannels: Array; -}; -``` + ```ts + type StoreQueryResult = { + offset: Scalars["Int"]; + count: Scalars["Int"]; + total: Scalars["Long"]; + results: Array; + }; + + export type Store = { + id: Scalars["String"]; + version: Scalars["Long"]; + key: Scalars["String"]; + name?: Maybe; + nameAllLocales?: Maybe>; + languages?: Maybe>; + createdAt: Scalars["DateTime"]; + lastModifiedAt: Scalars["DateTime"]; + createdBy?: Maybe; + lastModifiedBy?: Maybe; + distributionChannels: Array; + supplyChannels: Array; + }; + ``` - `loading: boolean` - a reactive object containing information about loading state of your `load` method. - `error: UseShippingErrors` - a reactive object containing the error message, if `load` or `save` failed for any reason. -```ts -export interface UseStoreErrors { - load: Error | null; - change: Error | null; -} -``` + ```ts + export interface UseStoreErrors { + load: Error | null; + change: Error | null; + } + ``` ## Getters +`storeGetter` object contains following methods: + - `getItems` - returns list of stores as `AgnosticStore` array. - `getSelected` - returns selected store as `AgnosticStore`. + +Related references: + - [storeGetter](/commercetools/api-reference/commercetools.storegetters.html) + - [UseStoreGetters](/core/api-reference/core.usestoregetters.html) + - [StoresData](/commercetools/api-reference/commercetools.storesdata.html) + + ```typescript + export interface useStoreGetters { + getItems(stores: StoresData, criteria?: CRITERIA): AgnosticStore[]; + getSelected(stores: StoresData): AgnosticStore | undefined + } + + export interface StoresData extends StoreQueryResult { + _selectedStore: string; + } + + export type StoreQueryResult = { + __typename?: "StoreQueryResult"; + offset: Scalars["Int"]; + count: Scalars["Int"]; + total: Scalars["Long"]; + results: Array; + } + + export interface AgnosticStore { + name: string; + id: string; + description?: string; + locales?: AgnosticLocale[]; + currencies?: AgnosticCurrency[] + address?: AgnosticAddress; + geoLocation?: AgnosticGeoLocation; + [x: string]: unknown; + } + + export interface AgnosticLocale { + code: string; + label: string; + [x: string]: unknown; + } + + export interface AgnosticCurrency { + code: string; + label: string; + prefixSign: boolean; + sign: string; + [x: string]: unknown; + } + + export interface AgnosticAddress { + addressLine1: string; + addressLine2: string; + [x: string]: unknown; + } + + export interface AgnosticGeoLocation { + type: string; + coordinates?: unknown; + [x: string]: unknown; + } + ``` + ## Example ```js diff --git a/packages/core/docs/commercetools/composables/use-user-billing.md b/packages/core/docs/commercetools/composables/use-user-billing.md index 8eb94cf0c7..0602e78fce 100644 --- a/packages/core/docs/commercetools/composables/use-user-billing.md +++ b/packages/core/docs/commercetools/composables/use-user-billing.md @@ -20,25 +20,25 @@ - `customQuery?: customQuery` -```typescript -interface BillingAddressAddParams { - address: { - firstName: string; - lastName: string; - streetName: string; - postalCode: string; - city: string; - state: string; - country: string; - apartment: string; - phone: string; - isDefault?: boolean; - } -} -type customQuery = { - addBillingAddress: string -} -``` + ```typescript + interface BillingAddressAddParams { + address: { + firstName: string; + lastName: string; + streetName: string; + postalCode: string; + city: string; + state: string; + country: string; + apartment: string; + phone: string; + isDefault?: boolean; + } + } + type customQuery = { + addBillingAddress: string + } + ``` - `deleteAddress` - function for deleting existing billing address. This method accepts a single `params` object. The `params` has the following options: @@ -46,16 +46,16 @@ type customQuery = { - `customQuery?: customQuery` -```typescript -interface BillingAddressDeleteParams { - address: { - id: string; - } -} -type customQuery = { - deleteBillingAddress: string -} -``` + ```typescript + interface BillingAddressDeleteParams { + address: { + id: string; + } + } + type customQuery = { + deleteBillingAddress: string + } + ``` - `updateAddress` - function for updating existing billing address. This method accepts a single `params` object. The `params` has the following options: @@ -63,26 +63,26 @@ type customQuery = { - `customQuery?: customQuery` -```typescript -interface BillingAddressUpdateParams { - address: { - id: string; - firstName: string; - lastName: string; - streetName: string; - postalCode: string; - city: string; - state: string; - country: string; - apartment: string; - phone: string; - isDefault?: boolean; - } -} -type customQuery = { - updateBillingAddress: string -} -``` + ```typescript + interface BillingAddressUpdateParams { + address: { + id: string; + firstName: string; + lastName: string; + streetName: string; + postalCode: string; + city: string; + state: string; + country: string; + apartment: string; + phone: string; + isDefault?: boolean; + } + } + type customQuery = { + updateBillingAddress: string + } + ``` - `setDefaultAddress` - function for settings an existing billing address as default. This method accepts a single `params` object. The `params` has the following options: @@ -90,63 +90,64 @@ type customQuery = { - `customQuery?: customQuery` -```typescript -interface BillingAddressSetDefaultParams { - address: { - id: string; - } -} -type customQuery = { - setDefaultBillingAddress: string -} -``` + ```typescript + interface BillingAddressSetDefaultParams { + address: { + id: string; + } + } + type customQuery = { + setDefaultBillingAddress: string + } + ``` + - `billing: User` - reactive data object containing response from the backend. -```ts -type Customer = { - __typename?: "Customer"; - customerNumber?: Maybe; - email: Scalars["String"]; - password: Scalars["String"]; - addresses: Array
; - defaultShippingAddressId?: Maybe; - defaultBillingAddressId?: Maybe; - shippingAddressIds: Array; - billingAddressIds: Array; - isEmailVerified: Scalars["Boolean"]; - customerGroupRef?: Maybe; - externalId?: Maybe; - key?: Maybe; - firstName?: Maybe; - lastName?: Maybe; - middleName?: Maybe; - title?: Maybe; - locale?: Maybe; - salutation?: Maybe; - dateOfBirth?: Maybe; - companyName?: Maybe; - vatId?: Maybe; - customerGroup?: Maybe; - defaultShippingAddress?: Maybe
; - defaultBillingAddress?: Maybe
; - shippingAddresses: Array
; - billingAddresses: Array
; - storesRef: Array; - stores: Array; - customFieldsRaw?: Maybe>; - customFields?: Maybe; - custom?: Maybe; - id: Scalars["String"]; - version: Scalars["Long"]; - createdAt: Scalars["DateTime"]; - lastModifiedAt: Scalars["DateTime"]; - createdBy?: Maybe; - lastModifiedBy?: Maybe; - customFieldList?: Maybe>; -} - -type User = Customer; -``` + ```ts + type Customer = { + __typename?: "Customer"; + customerNumber?: Maybe; + email: Scalars["String"]; + password: Scalars["String"]; + addresses: Array
; + defaultShippingAddressId?: Maybe; + defaultBillingAddressId?: Maybe; + shippingAddressIds: Array; + billingAddressIds: Array; + isEmailVerified: Scalars["Boolean"]; + customerGroupRef?: Maybe; + externalId?: Maybe; + key?: Maybe; + firstName?: Maybe; + lastName?: Maybe; + middleName?: Maybe; + title?: Maybe; + locale?: Maybe; + salutation?: Maybe; + dateOfBirth?: Maybe; + companyName?: Maybe; + vatId?: Maybe; + customerGroup?: Maybe; + defaultShippingAddress?: Maybe
; + defaultBillingAddress?: Maybe
; + shippingAddresses: Array
; + billingAddresses: Array
; + storesRef: Array; + stores: Array; + customFieldsRaw?: Maybe>; + customFields?: Maybe; + custom?: Maybe; + id: Scalars["String"]; + version: Scalars["Long"]; + createdAt: Scalars["DateTime"]; + lastModifiedAt: Scalars["DateTime"]; + createdBy?: Maybe; + lastModifiedBy?: Maybe; + customFieldList?: Maybe>; + } + + type User = Customer; + ``` - `loading: boolean` - reactive object containing information about loading state of `load`, `addAddress`, `deleteAddress`, `updateAddress` and `setDefaultAddress` methods. @@ -190,103 +191,102 @@ type User = Customer; - `isDefault` - return information if address is current default. -```typescript + ```typescript + interface UserBillingGetters { + getAddresses: (billing: User, criteria?: Record) => BillingAddress[]; + getDefault: (billing: User) => BillingAddress; + getTotal: (billing: User) => number; + getId: (address: BillingAddress) => string | number; + getPostCode: (address: BillingAddress) => string; + getStreetName: (address: BillingAddress) => string; + getStreetNumber: (address: BillingAddress) => string | number; + getCity: (address: BillingAddress) => string; + getFirstName: (address: BillingAddress) => string; + getLastName: (address: BillingAddress) => string; + getCountry: (address: BillingAddress) => string; + getPhone: (address: BillingAddress) => string; + getEmail: (address: BillingAddress) => string; + getProvince: (address: BillingAddress) => string; + getCompanyName: (address: BillingAddress) => string; + getTaxNumber: (address: BillingAddress) => string; + getApartmentNumber: (address: BillingAddress) => string | number; + isDefault: (address: BillingAddress) => boolean; + } -interface UserBillingGetters { - getAddresses: (billing: User, criteria?: Record) => BillingAddress[]; - getDefault: (billing: User) => BillingAddress; - getTotal: (billing: User) => number; - getId: (address: BillingAddress) => string | number; - getPostCode: (address: BillingAddress) => string; - getStreetName: (address: BillingAddress) => string; - getStreetNumber: (address: BillingAddress) => string | number; - getCity: (address: BillingAddress) => string; - getFirstName: (address: BillingAddress) => string; - getLastName: (address: BillingAddress) => string; - getCountry: (address: BillingAddress) => string; - getPhone: (address: BillingAddress) => string; - getEmail: (address: BillingAddress) => string; - getProvince: (address: BillingAddress) => string; - getCompanyName: (address: BillingAddress) => string; - getTaxNumber: (address: BillingAddress) => string; - getApartmentNumber: (address: BillingAddress) => string | number; - isDefault: (address: BillingAddress) => boolean; -} - -type Customer = { - __typename?: "Customer"; - customerNumber?: Maybe; - email: Scalars["String"]; - password: Scalars["String"]; - addresses: Array
; - defaultShippingAddressId?: Maybe; - defaultBillingAddressId?: Maybe; - shippingAddressIds: Array; - billingAddressIds: Array; - isEmailVerified: Scalars["Boolean"]; - customerGroupRef?: Maybe; - externalId?: Maybe; - key?: Maybe; - firstName?: Maybe; - lastName?: Maybe; - middleName?: Maybe; - title?: Maybe; - locale?: Maybe; - salutation?: Maybe; - dateOfBirth?: Maybe; - companyName?: Maybe; - vatId?: Maybe; - customerGroup?: Maybe; - defaultShippingAddress?: Maybe
; - defaultBillingAddress?: Maybe
; - shippingAddresses: Array
; - billingAddresses: Array
; - storesRef: Array; - stores: Array; - customFieldsRaw?: Maybe>; - customFields?: Maybe; - custom?: Maybe; - id: Scalars["String"]; - version: Scalars["Long"]; - createdAt: Scalars["DateTime"]; - lastModifiedAt: Scalars["DateTime"]; - createdBy?: Maybe; - lastModifiedBy?: Maybe; - customFieldList?: Maybe>; -} - -type User = Customer; - -type Address = { - __typename?: "Address"; - id?: Maybe; - title?: Maybe; - salutation?: Maybe; - firstName?: Maybe; - lastName?: Maybe; - streetName?: Maybe; - streetNumber?: Maybe; - additionalStreetInfo?: Maybe; - postalCode?: Maybe; - city?: Maybe; - region?: Maybe; - state?: Maybe; - country: Scalars["Country"]; - company?: Maybe; - department?: Maybe; - building?: Maybe; - apartment?: Maybe; - pOBox?: Maybe; - contactInfo: AddressContactInfo; - additionalAddressInfo?: Maybe; - externalId?: Maybe; - key?: Maybe; -} - -type BillingAddress = Address & { - isDefault?: boolean; -} -``` + type Customer = { + __typename?: "Customer"; + customerNumber?: Maybe; + email: Scalars["String"]; + password: Scalars["String"]; + addresses: Array
; + defaultShippingAddressId?: Maybe; + defaultBillingAddressId?: Maybe; + shippingAddressIds: Array; + billingAddressIds: Array; + isEmailVerified: Scalars["Boolean"]; + customerGroupRef?: Maybe; + externalId?: Maybe; + key?: Maybe; + firstName?: Maybe; + lastName?: Maybe; + middleName?: Maybe; + title?: Maybe; + locale?: Maybe; + salutation?: Maybe; + dateOfBirth?: Maybe; + companyName?: Maybe; + vatId?: Maybe; + customerGroup?: Maybe; + defaultShippingAddress?: Maybe
; + defaultBillingAddress?: Maybe
; + shippingAddresses: Array
; + billingAddresses: Array
; + storesRef: Array; + stores: Array; + customFieldsRaw?: Maybe>; + customFields?: Maybe; + custom?: Maybe; + id: Scalars["String"]; + version: Scalars["Long"]; + createdAt: Scalars["DateTime"]; + lastModifiedAt: Scalars["DateTime"]; + createdBy?: Maybe; + lastModifiedBy?: Maybe; + customFieldList?: Maybe>; + } + + type User = Customer; + + type Address = { + __typename?: "Address"; + id?: Maybe; + title?: Maybe; + salutation?: Maybe; + firstName?: Maybe; + lastName?: Maybe; + streetName?: Maybe; + streetNumber?: Maybe; + additionalStreetInfo?: Maybe; + postalCode?: Maybe; + city?: Maybe; + region?: Maybe; + state?: Maybe; + country: Scalars["Country"]; + company?: Maybe; + department?: Maybe; + building?: Maybe; + apartment?: Maybe; + pOBox?: Maybe; + contactInfo: AddressContactInfo; + additionalAddressInfo?: Maybe; + externalId?: Maybe; + key?: Maybe; + } + + type BillingAddress = Address & { + isDefault?: boolean; + } + ``` ## Example @@ -304,7 +304,6 @@ export default { updateAddress } = useUserBilling(); - // If you're using Nuxt or any other framework for Universal Vue apps onSSR(async () => { await load(); }); diff --git a/packages/core/docs/commercetools/composables/use-user-order.md b/packages/core/docs/commercetools/composables/use-user-order.md index 83d9680deb..44aa1fe31c 100644 --- a/packages/core/docs/commercetools/composables/use-user-order.md +++ b/packages/core/docs/commercetools/composables/use-user-order.md @@ -8,89 +8,81 @@ - `searchOrders` - a main querying function that is used to query user's order history from eCommerce platform and populate the `orders` object with the result. This method accepts a single params object. The `params` has the following options: - - `searchParams: OrderSearchParams` + - `id?: string` + + - `page?: number` + + - `perPage?: number` - `customQuery?: customQuery` - -```ts -type OrderSearchParams = { - id?: string; - page?: number; - perPage?: number; -} - -type CustomQuery = { - getMyOrders: string -} -``` - `orders: OrderQueryResult` - a main data object that contains an array of orders fetched by `searchOrders` method and total number of orders. -```ts -type Order = { - __typename?: "Order"; - customerId?: Maybe; - customer?: Maybe; - customerEmail?: Maybe; - anonymousId?: Maybe; - lineItems: Array; - customLineItems: Array; - totalPrice: Money; - taxedPrice?: Maybe; - shippingAddress?: Maybe
; - billingAddress?: Maybe
; - inventoryMode: InventoryMode; - taxMode: TaxMode; - taxRoundingMode: RoundingMode; - taxCalculationMode: TaxCalculationMode; - customerGroup?: Maybe; - customerGroupRef?: Maybe; - country?: Maybe; - shippingInfo?: Maybe; - discountCodes: Array; - refusedGifts: Array; - refusedGiftsRefs: Array; - paymentInfo?: Maybe; - locale?: Maybe; - shippingRateInput?: Maybe; - origin: CartOrigin; - storeRef?: Maybe; - store?: Maybe; - itemShippingAddresses: Array
; - completedAt?: Maybe; - orderNumber?: Maybe; - orderState: OrderState; - stateRef?: Maybe; - state?: Maybe; - shipmentState?: Maybe; - paymentState?: Maybe; - syncInfo: Array; - returnInfo: Array; - lastMessageSequenceNumber: Scalars["Long"]; - cartRef?: Maybe; - cart?: Maybe; - customFieldsRaw?: Maybe>; - customFields?: Maybe; - custom?: Maybe; - id: Scalars["String"]; - version: Scalars["Long"]; - createdAt: Scalars["DateTime"]; - lastModifiedAt: Scalars["DateTime"]; - createdBy?: Maybe; - lastModifiedBy?: Maybe; - customFieldList?: Maybe>; -} -``` + ```ts + type Order = { + __typename?: "Order"; + customerId?: Maybe; + customer?: Maybe; + customerEmail?: Maybe; + anonymousId?: Maybe; + lineItems: Array; + customLineItems: Array; + totalPrice: Money; + taxedPrice?: Maybe; + shippingAddress?: Maybe
; + billingAddress?: Maybe
; + inventoryMode: InventoryMode; + taxMode: TaxMode; + taxRoundingMode: RoundingMode; + taxCalculationMode: TaxCalculationMode; + customerGroup?: Maybe; + customerGroupRef?: Maybe; + country?: Maybe; + shippingInfo?: Maybe; + discountCodes: Array; + refusedGifts: Array; + refusedGiftsRefs: Array; + paymentInfo?: Maybe; + locale?: Maybe; + shippingRateInput?: Maybe; + origin: CartOrigin; + storeRef?: Maybe; + store?: Maybe; + itemShippingAddresses: Array
; + completedAt?: Maybe; + orderNumber?: Maybe; + orderState: OrderState; + stateRef?: Maybe; + state?: Maybe; + shipmentState?: Maybe; + paymentState?: Maybe; + syncInfo: Array; + returnInfo: Array; + lastMessageSequenceNumber: Scalars["Long"]; + cartRef?: Maybe; + cart?: Maybe; + customFieldsRaw?: Maybe>; + customFields?: Maybe; + custom?: Maybe; + id: Scalars["String"]; + version: Scalars["Long"]; + createdAt: Scalars["DateTime"]; + lastModifiedAt: Scalars["DateTime"]; + createdBy?: Maybe; + lastModifiedBy?: Maybe; + customFieldList?: Maybe>; + } + ``` - `loading: boolean` - a reactive object containing information about loading state of your `searchOrders` method. - `error: UseUserOrderErrors` - reactive object containing the error message, if some properties failed for any reason. -```ts -interface UseUserOrderErrors { - search: Error; -} -``` + ```ts + interface UseUserOrderErrors { + search: Error; + } + ``` ## Getters @@ -116,116 +108,116 @@ interface UseUserOrderErrors { - `getOrdersTotal` - returns total number of orders (not affected by pgaination limit). -```ts -interface UserOrderGetters { - getDate: (order: Order) => string; - getId: (order: Order) => string; - getStatus: (order: Order) => AgnosticOrderStatus; - getPrice: (order: Order) => number; - getItems: (order: Order) => LineItem[]; - getItemSku: (item: LineItem) => string; - getItemName: (item: LineItem) => string; - getItemQty: (item: LineItem) => number; - getItemPrice: (item: LineItem) => number; - getFormattedPrice: (price: number) => string; - getOrdersTotal: (orders: OrderQueryResult) => number; -} - -type Order = { - __typename?: "Order"; - customerId?: Maybe; - customer?: Maybe; - customerEmail?: Maybe; - anonymousId?: Maybe; - lineItems: Array; - customLineItems: Array; - totalPrice: Money; - taxedPrice?: Maybe; - shippingAddress?: Maybe
; - billingAddress?: Maybe
; - inventoryMode: InventoryMode; - taxMode: TaxMode; - taxRoundingMode: RoundingMode; - taxCalculationMode: TaxCalculationMode; - customerGroup?: Maybe; - customerGroupRef?: Maybe; - country?: Maybe; - shippingInfo?: Maybe; - discountCodes: Array; - refusedGifts: Array; - refusedGiftsRefs: Array; - paymentInfo?: Maybe; - locale?: Maybe; - shippingRateInput?: Maybe; - origin: CartOrigin; - storeRef?: Maybe; - store?: Maybe; - itemShippingAddresses: Array
; - completedAt?: Maybe; - orderNumber?: Maybe; - orderState: OrderState; - stateRef?: Maybe; - state?: Maybe; - shipmentState?: Maybe; - paymentState?: Maybe; - syncInfo: Array; - returnInfo: Array; - lastMessageSequenceNumber: Scalars["Long"]; - cartRef?: Maybe; - cart?: Maybe; - customFieldsRaw?: Maybe>; - customFields?: Maybe; - custom?: Maybe; - id: Scalars["String"]; - version: Scalars["Long"]; - createdAt: Scalars["DateTime"]; - lastModifiedAt: Scalars["DateTime"]; - createdBy?: Maybe; - lastModifiedBy?: Maybe; - customFieldList?: Maybe>; -} - -enum AgnosticOrderStatus { - Open = 'Open', - Pending = 'Pending', - Confirmed = 'Confirmed', - Shipped = 'Shipped', - Complete = 'Complete', - Cancelled = 'Cancelled', - Refunded = 'Refunded' -} - -type LineItem = { - __typename?: "LineItem"; - id: Scalars["String"]; - productId: Scalars["String"]; - name?: Maybe; - nameAllLocales: Array; - productSlug?: Maybe; - productType?: Maybe; - productTypeRef?: Maybe; - variant?: Maybe; - price: ProductPrice; - taxedPrice?: Maybe; - totalPrice?: Maybe; - quantity: Scalars["Long"]; - state: Array; - taxRate?: Maybe; - supplyChannel?: Maybe; - supplyChannelRef?: Maybe; - distributionChannel?: Maybe; - distributionChannelRef?: Maybe; - discountedPricePerQuantity: Array; - lineItemMode: LineItemMode; - priceMode: LineItemPriceMode; - customFieldsRaw?: Maybe>; - customFields?: Maybe; - custom?: Maybe; - shippingDetails?: Maybe; - inventoryMode?: Maybe; - customFieldList?: Maybe>; -} -``` + ```ts + interface UserOrderGetters { + getDate: (order: Order) => string; + getId: (order: Order) => string; + getStatus: (order: Order) => AgnosticOrderStatus; + getPrice: (order: Order) => number; + getItems: (order: Order) => LineItem[]; + getItemSku: (item: LineItem) => string; + getItemName: (item: LineItem) => string; + getItemQty: (item: LineItem) => number; + getItemPrice: (item: LineItem) => number; + getFormattedPrice: (price: number) => string; + getOrdersTotal: (orders: OrderQueryResult) => number; + } + + type Order = { + __typename?: "Order"; + customerId?: Maybe; + customer?: Maybe; + customerEmail?: Maybe; + anonymousId?: Maybe; + lineItems: Array; + customLineItems: Array; + totalPrice: Money; + taxedPrice?: Maybe; + shippingAddress?: Maybe
; + billingAddress?: Maybe
; + inventoryMode: InventoryMode; + taxMode: TaxMode; + taxRoundingMode: RoundingMode; + taxCalculationMode: TaxCalculationMode; + customerGroup?: Maybe; + customerGroupRef?: Maybe; + country?: Maybe; + shippingInfo?: Maybe; + discountCodes: Array; + refusedGifts: Array; + refusedGiftsRefs: Array; + paymentInfo?: Maybe; + locale?: Maybe; + shippingRateInput?: Maybe; + origin: CartOrigin; + storeRef?: Maybe; + store?: Maybe; + itemShippingAddresses: Array
; + completedAt?: Maybe; + orderNumber?: Maybe; + orderState: OrderState; + stateRef?: Maybe; + state?: Maybe; + shipmentState?: Maybe; + paymentState?: Maybe; + syncInfo: Array; + returnInfo: Array; + lastMessageSequenceNumber: Scalars["Long"]; + cartRef?: Maybe; + cart?: Maybe; + customFieldsRaw?: Maybe>; + customFields?: Maybe; + custom?: Maybe; + id: Scalars["String"]; + version: Scalars["Long"]; + createdAt: Scalars["DateTime"]; + lastModifiedAt: Scalars["DateTime"]; + createdBy?: Maybe; + lastModifiedBy?: Maybe; + customFieldList?: Maybe>; + } + + enum AgnosticOrderStatus { + Open = 'Open', + Pending = 'Pending', + Confirmed = 'Confirmed', + Shipped = 'Shipped', + Complete = 'Complete', + Cancelled = 'Cancelled', + Refunded = 'Refunded' + } + + type LineItem = { + __typename?: "LineItem"; + id: Scalars["String"]; + productId: Scalars["String"]; + name?: Maybe; + nameAllLocales: Array; + productSlug?: Maybe; + productType?: Maybe; + productTypeRef?: Maybe; + variant?: Maybe; + price: ProductPrice; + taxedPrice?: Maybe; + totalPrice?: Maybe; + quantity: Scalars["Long"]; + state: Array; + taxRate?: Maybe; + supplyChannel?: Maybe; + supplyChannelRef?: Maybe; + distributionChannel?: Maybe; + distributionChannelRef?: Maybe; + discountedPricePerQuantity: Array; + lineItemMode: LineItemMode; + priceMode: LineItemPriceMode; + customFieldsRaw?: Maybe>; + customFields?: Maybe; + custom?: Maybe; + shippingDetails?: Maybe; + inventoryMode?: Maybe; + customFieldList?: Maybe>; + } + ``` ## Example diff --git a/packages/core/docs/commercetools/composables/use-user-shipping.md b/packages/core/docs/commercetools/composables/use-user-shipping.md index 5b4505c830..11bd913f92 100644 --- a/packages/core/docs/commercetools/composables/use-user-shipping.md +++ b/packages/core/docs/commercetools/composables/use-user-shipping.md @@ -20,25 +20,25 @@ - `customQuery?: customQuery` -```typescript -interface ShippingAddressAddParams { - address: { - firstName: string; - lastName: string; - streetName: string; - postalCode: string; - city: string; - state: string; - country: string; - apartment: string; - phone: string; - isDefault?: boolean; - } -} -type customQuery = { - addShippingAddress: string -} -``` + ```typescript + interface ShippingAddressAddParams { + address: { + firstName: string; + lastName: string; + streetName: string; + postalCode: string; + city: string; + state: string; + country: string; + apartment: string; + phone: string; + isDefault?: boolean; + } + } + type customQuery = { + addShippingAddress: string + } + ``` - `deleteAddress` - function for deleting existing shipping address. This method accepts a single `params` object. The `params` has the following options: @@ -46,16 +46,16 @@ type customQuery = { - `customQuery?: customQuery` -```typescript -interface ShippingAddressDeleteParams { - address: { - id: string; - } -} -type customQuery = { - deleteShippingAddress: string -} -``` + ```typescript + interface ShippingAddressDeleteParams { + address: { + id: string; + } + } + type customQuery = { + deleteShippingAddress: string + } + ``` - `updateAddress` - function for updating existing shipping address. This method accepts a single `params` object. The `params` has the following options: @@ -63,26 +63,26 @@ type customQuery = { - `customQuery?: customQuery` -```typescript -interface ShippingAddressUpdateParams { - address: { - id: string; - firstName: string; - lastName: string; - streetName: string; - postalCode: string; - city: string; - state: string; - country: string; - apartment: string; - phone: string; - isDefault?: boolean; - } -} -type customQuery = { - updateShippingAddress: string -} -``` + ```typescript + interface ShippingAddressUpdateParams { + address: { + id: string; + firstName: string; + lastName: string; + streetName: string; + postalCode: string; + city: string; + state: string; + country: string; + apartment: string; + phone: string; + isDefault?: boolean; + } + } + type customQuery = { + updateShippingAddress: string + } + ``` - `setDefaultAddress` - function for settings an existing shipping address as default. This method accepts a single `params` object. The `params` has the following options: @@ -90,78 +90,78 @@ type customQuery = { - `customQuery?: customQuery` -```typescript -interface ShippingAddressSetDefaultParams { - address: { - id: string; - } -} -type customQuery = { - setDefaultShippingAddress: string -} -``` + ```typescript + interface ShippingAddressSetDefaultParams { + address: { + id: string; + } + } + type customQuery = { + setDefaultShippingAddress: string + } + ``` - `shipping: User` - reactive data object containing response from the backend. -```ts -type Customer = { - __typename?: "Customer"; - customerNumber?: Maybe; - email: Scalars["String"]; - password: Scalars["String"]; - addresses: Array
; - defaultShippingAddressId?: Maybe; - defaultBillingAddressId?: Maybe; - shippingAddressIds: Array; - billingAddressIds: Array; - isEmailVerified: Scalars["Boolean"]; - customerGroupRef?: Maybe; - externalId?: Maybe; - key?: Maybe; - firstName?: Maybe; - lastName?: Maybe; - middleName?: Maybe; - title?: Maybe; - locale?: Maybe; - salutation?: Maybe; - dateOfBirth?: Maybe; - companyName?: Maybe; - vatId?: Maybe; - customerGroup?: Maybe; - defaultShippingAddress?: Maybe
; - defaultBillingAddress?: Maybe
; - shippingAddresses: Array
; - billingAddresses: Array
; - storesRef: Array; - stores: Array; - customFieldsRaw?: Maybe>; - customFields?: Maybe; - custom?: Maybe; - id: Scalars["String"]; - version: Scalars["Long"]; - createdAt: Scalars["DateTime"]; - lastModifiedAt: Scalars["DateTime"]; - createdBy?: Maybe; - lastModifiedBy?: Maybe; - customFieldList?: Maybe>; -} - -type User = Customer; -``` + ```ts + type Customer = { + __typename?: "Customer"; + customerNumber?: Maybe; + email: Scalars["String"]; + password: Scalars["String"]; + addresses: Array
; + defaultShippingAddressId?: Maybe; + defaultBillingAddressId?: Maybe; + shippingAddressIds: Array; + billingAddressIds: Array; + isEmailVerified: Scalars["Boolean"]; + customerGroupRef?: Maybe; + externalId?: Maybe; + key?: Maybe; + firstName?: Maybe; + lastName?: Maybe; + middleName?: Maybe; + title?: Maybe; + locale?: Maybe; + salutation?: Maybe; + dateOfBirth?: Maybe; + companyName?: Maybe; + vatId?: Maybe; + customerGroup?: Maybe; + defaultShippingAddress?: Maybe
; + defaultBillingAddress?: Maybe
; + shippingAddresses: Array
; + billingAddresses: Array
; + storesRef: Array; + stores: Array; + customFieldsRaw?: Maybe>; + customFields?: Maybe; + custom?: Maybe; + id: Scalars["String"]; + version: Scalars["Long"]; + createdAt: Scalars["DateTime"]; + lastModifiedAt: Scalars["DateTime"]; + createdBy?: Maybe; + lastModifiedBy?: Maybe; + customFieldList?: Maybe>; + } + + type User = Customer; + ``` - `loading: boolean` - reactive object containing information about loading state of `load`, `addAddress`, `deleteAddress`, `updateAddress` and `setDefaultAddress` methods. - `error: UseUserShippingErrors` - reactive object containing the error message, if some properties failed for any reason. -```ts -interface UseUserShippingErrors { - addAddress: Error; - deleteAddress: Error; - updateAddress: Error; - load: Error; - setDefaultAddress: Error; -} -``` + ```ts + interface UseUserShippingErrors { + addAddress: Error; + deleteAddress: Error; + updateAddress: Error; + load: Error; + setDefaultAddress: Error; + } + ``` ## Getters @@ -201,102 +201,102 @@ interface UseUserShippingErrors { - `isDefault` - return information if address is current default. -```typescript -interface UserShippingGetters { - getAddresses: (shipping: User, criteria?: Record) => ShippingAddress[]; - getDefault: (shipping: User) => ShippingAddress; - getTotal: (shipping: User) => number; - getId: (address: ShippingAddress) => string | number; - getPostCode: (address: ShippingAddress) => string; - getStreetName: (address: ShippingAddress) => string; - getStreetNumber: (address: ShippingAddress) => string | number; - getCity: (address: ShippingAddress) => string; - getFirstName: (address: ShippingAddress) => string; - getLastName: (address: ShippingAddress) => string; - getCountry: (address: ShippingAddress) => string; - getPhone: (address: ShippingAddress) => string; - getEmail: (address: ShippingAddress) => string; - getProvince: (address: ShippingAddress) => string; - getCompanyName: (address: ShippingAddress) => string; - getTaxNumber: (address: ShippingAddress) => string; - getApartmentNumber: (address: ShippingAddress) => string | number; - isDefault: (address: ShippingAddress) => boolean; -} - -type Customer = { - __typename?: "Customer"; - customerNumber?: Maybe; - email: Scalars["String"]; - password: Scalars["String"]; - addresses: Array
; - defaultShippingAddressId?: Maybe; - defaultBillingAddressId?: Maybe; - shippingAddressIds: Array; - billingAddressIds: Array; - isEmailVerified: Scalars["Boolean"]; - customerGroupRef?: Maybe; - externalId?: Maybe; - key?: Maybe; - firstName?: Maybe; - lastName?: Maybe; - middleName?: Maybe; - title?: Maybe; - locale?: Maybe; - salutation?: Maybe; - dateOfBirth?: Maybe; - companyName?: Maybe; - vatId?: Maybe; - customerGroup?: Maybe; - defaultShippingAddress?: Maybe
; - defaultBillingAddress?: Maybe
; - shippingAddresses: Array
; - billingAddresses: Array
; - storesRef: Array; - stores: Array; - customFieldsRaw?: Maybe>; - customFields?: Maybe; - custom?: Maybe; - id: Scalars["String"]; - version: Scalars["Long"]; - createdAt: Scalars["DateTime"]; - lastModifiedAt: Scalars["DateTime"]; - createdBy?: Maybe; - lastModifiedBy?: Maybe; - customFieldList?: Maybe>; -} - -type User = Customer; - -type Address = { - __typename?: "Address"; - id?: Maybe; - title?: Maybe; - salutation?: Maybe; - firstName?: Maybe; - lastName?: Maybe; - streetName?: Maybe; - streetNumber?: Maybe; - additionalStreetInfo?: Maybe; - postalCode?: Maybe; - city?: Maybe; - region?: Maybe; - state?: Maybe; - country: Scalars["Country"]; - company?: Maybe; - department?: Maybe; - building?: Maybe; - apartment?: Maybe; - pOBox?: Maybe; - contactInfo: AddressContactInfo; - additionalAddressInfo?: Maybe; - externalId?: Maybe; - key?: Maybe; -} - -type ShippingAddress = Address & { - isDefault?: boolean; -} -``` + ```typescript + interface UserShippingGetters { + getAddresses: (shipping: User, criteria?: Record) => ShippingAddress[]; + getDefault: (shipping: User) => ShippingAddress; + getTotal: (shipping: User) => number; + getId: (address: ShippingAddress) => string | number; + getPostCode: (address: ShippingAddress) => string; + getStreetName: (address: ShippingAddress) => string; + getStreetNumber: (address: ShippingAddress) => string | number; + getCity: (address: ShippingAddress) => string; + getFirstName: (address: ShippingAddress) => string; + getLastName: (address: ShippingAddress) => string; + getCountry: (address: ShippingAddress) => string; + getPhone: (address: ShippingAddress) => string; + getEmail: (address: ShippingAddress) => string; + getProvince: (address: ShippingAddress) => string; + getCompanyName: (address: ShippingAddress) => string; + getTaxNumber: (address: ShippingAddress) => string; + getApartmentNumber: (address: ShippingAddress) => string | number; + isDefault: (address: ShippingAddress) => boolean; + } + + type Customer = { + __typename?: "Customer"; + customerNumber?: Maybe; + email: Scalars["String"]; + password: Scalars["String"]; + addresses: Array
; + defaultShippingAddressId?: Maybe; + defaultBillingAddressId?: Maybe; + shippingAddressIds: Array; + billingAddressIds: Array; + isEmailVerified: Scalars["Boolean"]; + customerGroupRef?: Maybe; + externalId?: Maybe; + key?: Maybe; + firstName?: Maybe; + lastName?: Maybe; + middleName?: Maybe; + title?: Maybe; + locale?: Maybe; + salutation?: Maybe; + dateOfBirth?: Maybe; + companyName?: Maybe; + vatId?: Maybe; + customerGroup?: Maybe; + defaultShippingAddress?: Maybe
; + defaultBillingAddress?: Maybe
; + shippingAddresses: Array
; + billingAddresses: Array
; + storesRef: Array; + stores: Array; + customFieldsRaw?: Maybe>; + customFields?: Maybe; + custom?: Maybe; + id: Scalars["String"]; + version: Scalars["Long"]; + createdAt: Scalars["DateTime"]; + lastModifiedAt: Scalars["DateTime"]; + createdBy?: Maybe; + lastModifiedBy?: Maybe; + customFieldList?: Maybe>; + } + + type User = Customer; + + type Address = { + __typename?: "Address"; + id?: Maybe; + title?: Maybe; + salutation?: Maybe; + firstName?: Maybe; + lastName?: Maybe; + streetName?: Maybe; + streetNumber?: Maybe; + additionalStreetInfo?: Maybe; + postalCode?: Maybe; + city?: Maybe; + region?: Maybe; + state?: Maybe; + country: Scalars["Country"]; + company?: Maybe; + department?: Maybe; + building?: Maybe; + apartment?: Maybe; + pOBox?: Maybe; + contactInfo: AddressContactInfo; + additionalAddressInfo?: Maybe; + externalId?: Maybe; + key?: Maybe; + } + + type ShippingAddress = Address & { + isDefault?: boolean; + } + ``` ## Example @@ -314,7 +314,6 @@ export default { updateAddress } = useUserShipping(); - // If you're using Nuxt or any other framework for Universal Vue apps onSSR(async () => { await load(); }); diff --git a/packages/core/docs/commercetools/composables/use-user.md b/packages/core/docs/commercetools/composables/use-user.md index 77496c3b54..0b9a5f72ff 100644 --- a/packages/core/docs/commercetools/composables/use-user.md +++ b/packages/core/docs/commercetools/composables/use-user.md @@ -16,86 +16,86 @@ If you want to fetch/save other user data you should use the following composabl - `user` - reactive object containing information about current user. -```ts -type Customer = { - __typename?: "Customer"; - customerNumber?: Maybe; - email: Scalars["String"]; - password: Scalars["String"]; - addresses: Array
; - defaultShippingAddressId?: Maybe; - defaultBillingAddressId?: Maybe; - shippingAddressIds: Array; - billingAddressIds: Array; - isEmailVerified: Scalars["Boolean"]; - customerGroupRef?: Maybe; - externalId?: Maybe; - key?: Maybe; - firstName?: Maybe; - lastName?: Maybe; - middleName?: Maybe; - title?: Maybe; - locale?: Maybe; - salutation?: Maybe; - dateOfBirth?: Maybe; - companyName?: Maybe; - vatId?: Maybe; - customerGroup?: Maybe; - defaultShippingAddress?: Maybe
; - defaultBillingAddress?: Maybe
; - shippingAddresses: Array
; - billingAddresses: Array
; - storesRef: Array; - stores: Array; - customFieldsRaw?: Maybe>; - customFields?: Maybe; - custom?: Maybe; - id: Scalars["String"]; - version: Scalars["Long"]; - createdAt: Scalars["DateTime"]; - lastModifiedAt: Scalars["DateTime"]; - createdBy?: Maybe; - lastModifiedBy?: Maybe; - customFieldList?: Maybe>; -} -``` + ```ts + type Customer = { + __typename?: "Customer"; + customerNumber?: Maybe; + email: Scalars["String"]; + password: Scalars["String"]; + addresses: Array
; + defaultShippingAddressId?: Maybe; + defaultBillingAddressId?: Maybe; + shippingAddressIds: Array; + billingAddressIds: Array; + isEmailVerified: Scalars["Boolean"]; + customerGroupRef?: Maybe; + externalId?: Maybe; + key?: Maybe; + firstName?: Maybe; + lastName?: Maybe; + middleName?: Maybe; + title?: Maybe; + locale?: Maybe; + salutation?: Maybe; + dateOfBirth?: Maybe; + companyName?: Maybe; + vatId?: Maybe; + customerGroup?: Maybe; + defaultShippingAddress?: Maybe
; + defaultBillingAddress?: Maybe
; + shippingAddresses: Array
; + billingAddresses: Array
; + storesRef: Array; + stores: Array; + customFieldsRaw?: Maybe>; + customFields?: Maybe; + custom?: Maybe; + id: Scalars["String"]; + version: Scalars["Long"]; + createdAt: Scalars["DateTime"]; + lastModifiedAt: Scalars["DateTime"]; + createdBy?: Maybe; + lastModifiedBy?: Maybe; + customFieldList?: Maybe>; + } + ``` - `updateUser` - function for updating user data. When invoked, it submits data to the API and populates user property with updated information. This method accepts a single `params` object. The `params` has the following option: - `user: UPDATE_USER_PARAMS` -```ts -interface UPDATE_USER_PARAMS { - email: string; - password: string; - firstName?: string; - lastName?: string; -} -``` + ```ts + interface UPDATE_USER_PARAMS { + email: string; + password: string; + firstName?: string; + lastName?: string; + } + ``` - `register: UseUserRegisterParams` - function for creating a new user. When invoked, it submits new user data to the API and saves them. This method accepts a single `params` object. The `params` has the following option: - `user: UseUserRegisterParams` -```ts -interface UseUserRegisterParams { - email: string; - password: string; - firstName?: string; - lastName?: string; -} -``` + ```ts + interface UseUserRegisterParams { + email: string; + password: string; + firstName?: string; + lastName?: string; + } + ``` - `login: UseUserLoginParams` - function for log in a user based on a username and password. This method accepts a single `params` object. The `params` has the following option: - `user: UseUserLoginParams` -```ts -interface UseUserLoginParams { - username: string; - password: string; -} -``` + ```ts + interface UseUserLoginParams { + username: string; + password: string; + } + ``` - `logout` - function for logout a user. @@ -111,16 +111,16 @@ interface UseUserLoginParams { - `error: UseUserErrors` - reactive object containing the error message, if some properties failed for any reason. -```ts -interface UseUserErrors { - updateUser: Error; - register: Error; - login: Error; - logout: Error; - changePassword: Error; - load: Error; -} -``` + ```ts + interface UseUserErrors { + updateUser: Error; + register: Error; + login: Error; + logout: Error; + changePassword: Error; + load: Error; + } + ``` ## Getters @@ -132,14 +132,14 @@ interface UseUserErrors { - `getEmailAddress` - returns user email address. -```ts -interface UserGetters { - getFirstName: (user: Customer) => string; - getLastName: (user: Customer) => string; - getFullName: (user: Customer) => string; - getEmailAddress: (user: Customer) => string; -} -``` + ```ts + interface UserGetters { + getFirstName: (user: Customer) => string; + getLastName: (user: Customer) => string; + getFullName: (user: Customer) => string; + getEmailAddress: (user: Customer) => string; + } + ``` ## Example diff --git a/packages/core/docs/commercetools/composables/use-wishlist.md b/packages/core/docs/commercetools/composables/use-wishlist.md index dbf2a4b790..c190baabe6 100644 --- a/packages/core/docs/commercetools/composables/use-wishlist.md +++ b/packages/core/docs/commercetools/composables/use-wishlist.md @@ -15,43 +15,43 @@ - `wishlist: Wishlist` - a main data object. -```ts -type ShoppingList = { - __typename?: "ShoppingList"; - key?: Maybe; - name?: Maybe; - nameAllLocales: Array; - description?: Maybe; - descriptionAllLocales?: Maybe>; - slug?: Maybe; - slugAllLocales?: Maybe>; - customerRef?: Maybe; - customer?: Maybe; - anonymousId?: Maybe; - lineItems: Array; - textLineItems: Array; - custom?: Maybe; - deleteDaysAfterLastModification?: Maybe; - id: Scalars["String"]; - version: Scalars["Long"]; - createdAt: Scalars["DateTime"]; - lastModifiedAt: Scalars["DateTime"]; - createdBy?: Maybe; - lastModifiedBy?: Maybe; -} - -type Wishlist = ShoppingList; -``` + ```ts + type ShoppingList = { + __typename?: "ShoppingList"; + key?: Maybe; + name?: Maybe; + nameAllLocales: Array; + description?: Maybe; + descriptionAllLocales?: Maybe>; + slug?: Maybe; + slugAllLocales?: Maybe>; + customerRef?: Maybe; + customer?: Maybe; + anonymousId?: Maybe; + lineItems: Array; + textLineItems: Array; + custom?: Maybe; + deleteDaysAfterLastModification?: Maybe; + id: Scalars["String"]; + version: Scalars["Long"]; + createdAt: Scalars["DateTime"]; + lastModifiedAt: Scalars["DateTime"]; + createdBy?: Maybe; + lastModifiedBy?: Maybe; + } + + type Wishlist = ShoppingList; + ``` - `load` - function used to retrieve wishlist products. When invoked, it requests data from the API and populates `wishlist` property. This method accepts a single `params` object. The `params` has the following option: - `customQuery?: CustomQuery` -```ts -type CustomQuery = { - createMyShoppingList: string -} -``` + ```ts + type CustomQuery = { + createMyShoppingList: string + } + ``` - `addItem` - function used to add new product to wishlist. When invoked, it submits data to the API and populates `wishlist` property with updated information. This method accepts a single `params` object. The `params` has the following options: @@ -59,26 +59,26 @@ type CustomQuery = { - `customQuery?: customQuery` -```ts -type ProductVariant = { - __typename?: "ProductVariant"; - id: Scalars["Int"]; - key?: Maybe; - sku?: Maybe; - prices?: Maybe>; - price?: Maybe; - images: Array; - assets: Array; - availability?: Maybe; - attributesRaw: Array; - attributes: ProductType; - attributeList: Array; -} - -type CustomQuery = { - updateShoppingList: string -} -``` + ```ts + type ProductVariant = { + __typename?: "ProductVariant"; + id: Scalars["Int"]; + key?: Maybe; + sku?: Maybe; + prices?: Maybe>; + price?: Maybe; + images: Array; + assets: Array; + availability?: Maybe; + attributesRaw: Array; + attributes: ProductType; + attributeList: Array; + } + + type CustomQuery = { + updateShoppingList: string + } + ``` - `removeItem` - function that removes products from the wishlist. It submits data to the API and populates updated `wishlist` property. This method accepts a single `params` object. The `params` has the following options: @@ -86,42 +86,42 @@ type CustomQuery = { - `customQuery?: customQuery` -```ts -type LineItem = { - __typename?: "LineItem"; - id: Scalars["String"]; - productId: Scalars["String"]; - name?: Maybe; - nameAllLocales: Array; - productSlug?: Maybe; - productType?: Maybe; - productTypeRef?: Maybe; - variant?: Maybe; - price: ProductPrice; - taxedPrice?: Maybe; - totalPrice?: Maybe; - quantity: Scalars["Long"]; - state: Array; - taxRate?: Maybe; - supplyChannel?: Maybe; - supplyChannelRef?: Maybe; - distributionChannel?: Maybe; - distributionChannelRef?: Maybe; - discountedPricePerQuantity: Array; - lineItemMode: LineItemMode; - priceMode: LineItemPriceMode; - customFieldsRaw?: Maybe>; - customFields?: Maybe; - custom?: Maybe; - shippingDetails?: Maybe; - inventoryMode?: Maybe; - customFieldList?: Maybe>; -} - -type CustomQuery = { - updateShoppingList: string -} -``` + ```ts + type LineItem = { + __typename?: "LineItem"; + id: Scalars["String"]; + productId: Scalars["String"]; + name?: Maybe; + nameAllLocales: Array; + productSlug?: Maybe; + productType?: Maybe; + productTypeRef?: Maybe; + variant?: Maybe; + price: ProductPrice; + taxedPrice?: Maybe; + totalPrice?: Maybe; + quantity: Scalars["Long"]; + state: Array; + taxRate?: Maybe; + supplyChannel?: Maybe; + supplyChannelRef?: Maybe; + distributionChannel?: Maybe; + distributionChannelRef?: Maybe; + discountedPricePerQuantity: Array; + lineItemMode: LineItemMode; + priceMode: LineItemPriceMode; + customFieldsRaw?: Maybe>; + customFields?: Maybe; + custom?: Maybe; + shippingDetails?: Maybe; + inventoryMode?: Maybe; + customFieldList?: Maybe>; + } + + type CustomQuery = { + updateShoppingList: string + } + ``` - `clear` - function that removes all products from the wishlist and populates clear `wishlist` property. @@ -129,35 +129,35 @@ type CustomQuery = { - `product: ProductVariant` -```ts -type ProductVariant = { - __typename?: "ProductVariant"; - id: Scalars["Int"]; - key?: Maybe; - sku?: Maybe; - prices?: Maybe>; - price?: Maybe; - images: Array; - assets: Array; - availability?: Maybe; - attributesRaw: Array; - attributes: ProductType; - attributeList: Array; -} -``` + ```ts + type ProductVariant = { + __typename?: "ProductVariant"; + id: Scalars["Int"]; + key?: Maybe; + sku?: Maybe; + prices?: Maybe>; + price?: Maybe; + images: Array; + assets: Array; + availability?: Maybe; + attributesRaw: Array; + attributes: ProductType; + attributeList: Array; + } + ``` - `loading: boolean` - a reactive object containing information about loading state of the cart. - `error: UseWishlistErrors` - reactive object containing the error message, if some properties failed for any reason. -```ts -interface UseWishlistErrors { - addItem: Error; - removeItem: Error; - load: Error; - clear: Error; -} -``` + ```ts + interface UseWishlistErrors { + addItem: Error; + removeItem: Error; + load: Error; + clear: Error; + } + ``` ## Getters @@ -181,73 +181,73 @@ interface UseWishlistErrors { - `getFormattedPrice` - returns price in formatted manner taking into account local specifics. -```typescript -interface WishlistGetters { - getTotals: (wishlist: Wishlist) => AgnosticTotals; - getItems: (wishlist: Wishlist) => ShoppingListLineItem[]; - getItemName: (product: ShoppingListLineItem) => string; - getItemImage: (product: ShoppingListLineItem) => string; - getItemPrice: (product: ShoppingListLineItem) => AgnosticPrice; - getItemQty: (product: ShoppingListLineItem) => number; - getItemAttributes: (product: ShoppingListLineItem, filterByAttributeName?: string[]) => ({}); - getItemSku: (product: ShoppingListLineItem) => string; - getTotalItems: (wishlist: Wishlist) => number; - getFormattedPrice: (price: number) => string; -}; + ```typescript + interface WishlistGetters { + getTotals: (wishlist: Wishlist) => AgnosticTotals; + getItems: (wishlist: Wishlist) => ShoppingListLineItem[]; + getItemName: (product: ShoppingListLineItem) => string; + getItemImage: (product: ShoppingListLineItem) => string; + getItemPrice: (product: ShoppingListLineItem) => AgnosticPrice; + getItemQty: (product: ShoppingListLineItem) => number; + getItemAttributes: (product: ShoppingListLineItem, filterByAttributeName?: string[]) => ({}); + getItemSku: (product: ShoppingListLineItem) => string; + getTotalItems: (wishlist: Wishlist) => number; + getFormattedPrice: (price: number) => string; + }; + + interface AgnosticTotals { + total: number; + subtotal: number; + special?: number; + [x: string]: unknown; + } -interface AgnosticTotals { - total: number; - subtotal: number; - special?: number; - [x: string]: unknown; -} - -interface AgnosticPrice { - regular: number | null; - special?: number | null; -} - -type Wishlist = { - __typename?: "ShoppingList"; - key?: Maybe; - name?: Maybe; - nameAllLocales: Array; - description?: Maybe; - descriptionAllLocales?: Maybe>; - slug?: Maybe; - slugAllLocales?: Maybe>; - customerRef?: Maybe; - customer?: Maybe; - anonymousId?: Maybe; - lineItems: Array; - textLineItems: Array; - custom?: Maybe; - deleteDaysAfterLastModification?: Maybe; - id: Scalars["String"]; - version: Scalars["Long"]; - createdAt: Scalars["DateTime"]; - lastModifiedAt: Scalars["DateTime"]; - createdBy?: Maybe; - lastModifiedBy?: Maybe; -} - -type ShoppingListLineItem = { - __typename?: "ShoppingListLineItem"; - id: Scalars["String"]; - productId: Scalars["String"]; - variantId?: Maybe; - productTypeRef: Reference; - productType: ProductTypeDefinition; - quantity: Scalars["Int"]; - addedAt: Scalars["DateTime"]; - name?: Maybe; - nameAllLocales: Array; - deactivatedAt?: Maybe; - custom?: Maybe; - productSlug?: Maybe; - variant?: Maybe; -} -``` + interface AgnosticPrice { + regular: number | null; + special?: number | null; + } + + type Wishlist = { + __typename?: "ShoppingList"; + key?: Maybe; + name?: Maybe; + nameAllLocales: Array; + description?: Maybe; + descriptionAllLocales?: Maybe>; + slug?: Maybe; + slugAllLocales?: Maybe>; + customerRef?: Maybe; + customer?: Maybe; + anonymousId?: Maybe; + lineItems: Array; + textLineItems: Array; + custom?: Maybe; + deleteDaysAfterLastModification?: Maybe; + id: Scalars["String"]; + version: Scalars["Long"]; + createdAt: Scalars["DateTime"]; + lastModifiedAt: Scalars["DateTime"]; + createdBy?: Maybe; + lastModifiedBy?: Maybe; + } + + type ShoppingListLineItem = { + __typename?: "ShoppingListLineItem"; + id: Scalars["String"]; + productId: Scalars["String"]; + variantId?: Maybe; + productTypeRef: Reference; + productType: ProductTypeDefinition; + quantity: Scalars["Int"]; + addedAt: Scalars["DateTime"]; + name?: Maybe; + nameAllLocales: Array; + deactivatedAt?: Maybe; + custom?: Maybe; + productSlug?: Maybe; + variant?: Maybe; + } + ``` ## Example @@ -261,7 +261,6 @@ export default { const wishlistItems = computed(() => wishlistGetters.getItems()); - // If you're using Nuxt or any other framework for Universal Vue apps onSSR(async () => { await loadWishlist(); }); diff --git a/packages/core/docs/commercetools/enterprise/use-wishlist.md b/packages/core/docs/commercetools/enterprise/use-wishlist.md index 43df020340..02f9b3bd14 100644 --- a/packages/core/docs/commercetools/enterprise/use-wishlist.md +++ b/packages/core/docs/commercetools/enterprise/use-wishlist.md @@ -102,7 +102,6 @@ export default { const wishlistItems = computed(() => wishlistGetters.getItems()); - // If you're using Nuxt or any other framework for Universal Vue apps onSSR(async () => { await loadWishlist(); }); diff --git a/packages/core/docs/integrate/cache-driver.md b/packages/core/docs/integrate/cache-driver.md index a1bac62625..6e40cfa514 100644 --- a/packages/core/docs/integrate/cache-driver.md +++ b/packages/core/docs/integrate/cache-driver.md @@ -1,7 +1,7 @@ # Integrating cache driver ::: warning Want to build an integration? -If you want to integrate with Vue Storefront, please **contact the core team on our [slack](https://slack.vuestorefront.io)** first. We are eager to help you with building it and ensuring its high quality! Building the integration together with the core team is the best way to keep its quality high and make it officially recommended once it's done. +If you want to integrate with Vue Storefront, don't hesitate to get in touch with the core team on our [Discord](https://discord.vuestorefront.io/) server. We are eager to help you to ensure its high quality and maybe even officially recommend it 😉 ::: ## Introduction diff --git a/packages/core/docs/integrate/cms.md b/packages/core/docs/integrate/cms.md index 1942aadc4f..d40e7c381b 100644 --- a/packages/core/docs/integrate/cms.md +++ b/packages/core/docs/integrate/cms.md @@ -1,7 +1,7 @@ # Integrating CMS ::: warning Want to build an integration? -If you want to integrate with Vue Storefront, please **contact the core team on our [slack](https://slack.vuestorefront.io)** first. We are eager to help you with building it and ensuring its high quality! Building the integration together with the core team is the best way to keep its quality high and make it officially recommended once it's done. +If you want to integrate with Vue Storefront, don't hesitate to get in touch with the core team on our [Discord](https://discord.vuestorefront.io/) server. We are eager to help you to ensure its high quality and maybe even officially recommend it 😉 ::: ## What is needed diff --git a/packages/core/docs/integrate/integration-guide.md b/packages/core/docs/integrate/integration-guide.md index 957d158317..39ca5ebb64 100644 --- a/packages/core/docs/integrate/integration-guide.md +++ b/packages/core/docs/integrate/integration-guide.md @@ -5,7 +5,7 @@ The application does not reload automatically after saving the changes in Server ::: ::: warning Want to build an integration? -If you want to integrate with Vue Storefront, please **contact the core team on our [Discord](https://discord.vuestorefront.io) server**. We are eager to help you to ensure its high quality and maybe even officially recommend it 😉 +If you want to integrate with Vue Storefront, don't hesitate to get in touch with the core team on our [Discord](https://discord.vuestorefront.io/) server. We are eager to help you to ensure its high quality and maybe even officially recommend it 😉 ::: ## Introduction diff --git a/packages/core/docs/package.json b/packages/core/docs/package.json index 2893c7b9df..1aa48b9176 100644 --- a/packages/core/docs/package.json +++ b/packages/core/docs/package.json @@ -7,12 +7,17 @@ "scripts": { "dev": "yarn build:core && yarn build:ct && vuepress dev", "build": "yarn build:core && yarn build:ct && NODE_OPTIONS=--max_old_space_size=4096 vuepress build", - "build:core": "yarn core-api-ref && yarn core-api-ref-md", - "build:ct": "yarn ct-api-ref && yarn ct-api-ref-md", - "core-api-ref": "cd ../core && api-extractor run --local", - "core-api-ref-md": "api-documenter markdown --i core/api-reference --o core/api-reference", + + "core-cache-ref": "cd ../cache && api-extractor run --local", + "core-core-ref": "cd ../core && api-extractor run --local", + "core-middleware-ref": "cd ../middleware && api-extractor run --local", + "core-ref-md": "api-documenter markdown --i core/api-reference --o core/api-reference", + "build:core": "yarn core-cache-ref && yarn core-core-ref && yarn core-middleware-ref && yarn core-ref-md", + "ct-api-ref": "cd ../../commercetools/api-client && api-extractor run --local", - "ct-api-ref-md": "api-documenter markdown --i commercetools/api-reference --o commercetools/api-reference" + "ct-comp-ref": "cd ../../commercetools/composables && api-extractor run --local", + "ct-ref-md": "api-documenter markdown --i commercetools/api-reference --o commercetools/api-reference", + "build:ct": "yarn ct-api-ref && yarn ct-comp-ref && yarn ct-ref-md" }, "devDependencies": { "@vue-storefront/commercetools-api": "~1.2.0", diff --git a/packages/core/middleware/api-extractor.json b/packages/core/middleware/api-extractor.json new file mode 100644 index 0000000000..f12f30fd57 --- /dev/null +++ b/packages/core/middleware/api-extractor.json @@ -0,0 +1,10 @@ +{ + "extends": "../../api-extractor.base.json", + "mainEntryPointFilePath": "./lib/index.d.ts", + "dtsRollup": { + "untrimmedFilePath": "./lib/.d.ts" + }, + "docModel": { + "apiJsonFilePath": "/core/docs/core/api-reference/.api.json" + } +} diff --git a/packages/core/middleware/package.json b/packages/core/middleware/package.json index 07e4718168..ac8d609c1a 100644 --- a/packages/core/middleware/package.json +++ b/packages/core/middleware/package.json @@ -4,7 +4,7 @@ "description": "", "main": "lib/index.cjs.js", "module": "lib/index.es.js", - "types": "lib/src/index.d.ts", + "types": "lib/index.d.ts", "scripts": { "build": "rimraf lib && rollup -c", "prepublish": "yarn build" diff --git a/packages/core/middleware/src/index.ts b/packages/core/middleware/src/index.ts index f94bdb51cb..4588b86e3d 100644 --- a/packages/core/middleware/src/index.ts +++ b/packages/core/middleware/src/index.ts @@ -1 +1,11 @@ +/** + * Core Vue Storefront 2 library for Server Middieware. + * + * @remarks + * The `@vue-storefront/middleware` library is a Nuxt.js module, that is core piece + * required to create Server Middleware in Vue Storefront 2. + * + * @packageDocumentation + */ + export * from './createServer'; From 7bc0dd90984bbacb18240ebfbdf0b530368c2f43 Mon Sep 17 00:00:00 2001 From: Filip Sobol Date: Wed, 25 Aug 2021 13:03:44 +0200 Subject: [PATCH 10/53] Fix docs build (#6238) --- packages/core/docs/Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/core/docs/Dockerfile b/packages/core/docs/Dockerfile index ca186e726b..f0cab02fda 100644 --- a/packages/core/docs/Dockerfile +++ b/packages/core/docs/Dockerfile @@ -5,8 +5,7 @@ WORKDIR /var/www COPY . . RUN yarn install \ - && yarn build:core \ - && yarn build:ct:api-client + && yarn build:ct:tools RUN cd packages/core/docs \ && yarn install \ From d6493eb62dde1992671a3649707973d1b803f095 Mon Sep 17 00:00:00 2001 From: igorwojciechowski Date: Mon, 30 Aug 2021 14:55:57 +0200 Subject: [PATCH 11/53] Docs grammar and typos check (#6064) --- .../components/CommerceIntegrationLinks.vue | 2 +- packages/core/docs/advanced/architecture.md | 2 +- packages/core/docs/advanced/context.md | 8 +- .../advanced/extending-graphql-queries.md | 10 +-- .../docs/advanced/internationalization.md | 12 +-- packages/core/docs/advanced/logging.md | 16 ++-- packages/core/docs/advanced/performance.md | 10 +-- .../core/docs/advanced/server-middleware.md | 24 +++--- packages/core/docs/advanced/ssr-cache.md | 10 +-- .../commercetools/authorization-strategy.md | 2 +- .../commercetools/composables/use-cart.md | 16 ++-- .../commercetools/composables/use-category.md | 6 +- .../commercetools/composables/use-facet.md | 6 +- .../composables/use-make-order.md | 2 +- .../commercetools/composables/use-product.md | 6 +- .../commercetools/composables/use-review.md | 2 +- .../composables/use-shipping-provider.md | 4 +- .../commercetools/composables/use-shipping.md | 6 +- .../composables/use-user-billing.md | 16 ++-- .../composables/use-user-order.md | 10 +-- .../composables/use-user-shipping.md | 10 +-- .../commercetools/composables/use-user.md | 18 ++--- .../commercetools/composables/use-wishlist.md | 36 ++++----- .../core/docs/commercetools/configuration.md | 25 +++--- .../commercetools/enterprise/use-wishlist.md | 34 ++++---- .../commercetools/extensions/user-groups.md | 12 +-- .../docs/commercetools/getting-started.md | 10 +-- .../core/docs/commercetools/maintainers.md | 2 +- packages/core/docs/commercetools/use-facet.md | 4 +- packages/core/docs/composables/use-cart.md | 2 +- packages/core/docs/composables/use-user.md | 2 +- .../core/docs/composables/use-wishlist.md | 2 +- packages/core/docs/contributing/README.md | 6 +- .../contributing/api-design-philosophy.md | 30 +++---- .../docs/contributing/creating-changelog.md | 6 +- .../contributing/server-side-rendering.md | 20 ++--- packages/core/docs/contributing/themes.md | 22 ++--- packages/core/docs/core/composables.md | 29 ++++--- packages/core/docs/core/getting-started.md | 12 +-- packages/core/docs/core/use-cart.md | 26 +++--- packages/core/docs/core/use-product.md | 8 +- packages/core/docs/core/use-wishlist.md | 18 ++--- .../docs/core/utils/server-side-rendering.md | 12 +-- packages/core/docs/enterprise/feature-list.md | 80 +++++++++---------- packages/core/docs/general/enterprise.md | 4 +- packages/core/docs/general/installation.md | 2 +- packages/core/docs/general/key-concepts.md | 8 +- packages/core/docs/general/where-to-start.md | 8 +- packages/core/docs/guide/authentication.md | 4 +- packages/core/docs/guide/cart-and-wishlist.md | 14 ++-- packages/core/docs/guide/checkout.md | 8 +- packages/core/docs/guide/composables.md | 10 +-- packages/core/docs/guide/configuration.md | 8 +- packages/core/docs/guide/getters.md | 6 +- packages/core/docs/guide/theme.md | 2 +- packages/core/docs/guide/user-profile.md | 10 +-- packages/core/docs/integrate/cache-driver.md | 2 +- packages/core/docs/integrate/cms.md | 13 +-- packages/core/docs/integrations/adyen.md | 24 +++--- .../core/docs/integrations/bazaarvoice.md | 14 ++-- packages/core/docs/shopify/README.md | 2 +- packages/core/docs/shopify/checkout.md | 33 ++++---- packages/core/docs/shopify/configuration.md | 6 +- packages/core/docs/shopify/getting-started.md | 7 +- packages/core/docs/shopify/use-cart.md | 13 +-- packages/core/docs/shopify/use-category.md | 12 +-- packages/core/docs/shopify/use-content.md | 10 +-- packages/core/docs/shopify/use-product.md | 10 +-- packages/core/docs/shopify/use-search.md | 10 +-- packages/core/docs/shopify/use-user-order.md | 10 +-- packages/core/docs/shopify/use-user.md | 24 +++--- 71 files changed, 430 insertions(+), 440 deletions(-) diff --git a/packages/core/docs/.vuepress/components/CommerceIntegrationLinks.vue b/packages/core/docs/.vuepress/components/CommerceIntegrationLinks.vue index 00f5be9a97..21533c5f4b 100644 --- a/packages/core/docs/.vuepress/components/CommerceIntegrationLinks.vue +++ b/packages/core/docs/.vuepress/components/CommerceIntegrationLinks.vue @@ -4,7 +4,7 @@
  • diff --git a/packages/core/docs/advanced/architecture.md b/packages/core/docs/advanced/architecture.md index 9d4f973911..405cbb4def 100644 --- a/packages/core/docs/advanced/architecture.md +++ b/packages/core/docs/advanced/architecture.md @@ -1,7 +1,7 @@ # Architecture ::: tip Don't get scared! -This diagram shows a lot of useful information but it's not mandatory to understand all these relations to confidently work with Vue Storefront. +This diagram shows a lot of useful information, but it's not mandatory to understand all these relations to work with Vue Storefront confidently. ::: diff --git a/packages/core/docs/advanced/context.md b/packages/core/docs/advanced/context.md index c9d2319002..5e34c6574d 100644 --- a/packages/core/docs/advanced/context.md +++ b/packages/core/docs/advanced/context.md @@ -1,8 +1,8 @@ # Context API -The application context is essential when it comes to sharing something across the app. A runtime config, current connection to the API, API tokens, user session, and everything else that's related to the current request should be stored within the context. +The application context is essential when it comes to sharing data across the app. It stores a runtime config, current connection to the API, API tokens, user session, and everything else related to the current request. -The common solution that may come to your mind in such a case is using one global object to store everything you need in the app. However, by doing this you would be sharing data not only over the app but also across all of the incoming requests. That would cause lots of issues and your app won't be able to handle ordinary traffic. +The common solution that may come to your mind is using one global object to store everything. However, by doing this, you would share data across all incoming requests. That would cause issues such as session leaks. ## Context data structure @@ -39,7 +39,7 @@ $other.client.get('/othet-integration'); ## Context plugin -If for some reason you don't want to use integration Nuxt modules, you have to configure the integration by yourself. For that purpose, each integration exposes an integration plugin: +If you don't want to use integration Nuxt modules, you have to configure the integration yourself. For that purpose, each integration exposes an integration plugin: ```js // plugins/integration.js @@ -52,7 +52,7 @@ export default integrationPlugin(({ app, integration }) => { }); ``` -Each integration has a predefined set of API functions, that sometimes you may want to override. A `configure` function gives you that ability as well. When you pass your new API function, or use a name of the existing one, the Vue Storefront will automatically apply it to the app. +Each integration has a predefined set of API functions that sometimes you may want to override. A `configure` function gives you that ability as well. When you pass your new API function or use the name of an existing one, the Vue Storefront will automatically apply it to the app. ```js // plugins/integration.js diff --git a/packages/core/docs/advanced/extending-graphql-queries.md b/packages/core/docs/advanced/extending-graphql-queries.md index f478607553..e304ad1088 100644 --- a/packages/core/docs/advanced/extending-graphql-queries.md +++ b/packages/core/docs/advanced/extending-graphql-queries.md @@ -4,11 +4,11 @@ The application does not reload automatically after saving the changes in Server Middleware. Due to this, you have to restart the application manually. We are working on enabling Hot Reloading in future updates. ::: -If your integration uses GraphQL API, you may want to change the default query or mutation that is being sent. That's quite a common case for fetching additional or custom fields. Vue Storefront provides the mechanism for this called "custom queries". +If your integration uses GraphQL API, you may want to change the default query or mutation sent. That's quite a common case for fetching additional or custom fields. Vue Storefront provides the mechanism for this called "custom queries". -Since the communication with the API goes through our middleware, all queries also are defined there. To customize or even entirely override the original (default) queries you need to follow two steps. +Since the communication with the API goes through our middleware, all queries also are defined there. To customize or even entirely override the original (default) queries, you need to follow two steps. -Firstly, you need to pass a `customQuery` parameter to the method that triggers the call to the API. It's an object where the keys are the name of the default queries and values are the name of the custom query that overrides them. Additionally, there is a special parameter called `metadata` which allows you to optionally pass additional parameters to your custom query that will be accessible in the custom query function. +Firstly, you need to pass a `customQuery` parameter to the method that triggers the call to the API. It's an object where the keys are the name of the default queries and values are the name of the custom query that overrides them. Additionally, a special parameter called `metadata` allows you to optionally pass additional parameters to your custom query that will be accessible in the custom query function. ```ts const { search } = useProduct(); @@ -31,7 +31,7 @@ Custom query functions have the arguments: - default variables (`variables`) passed to the query, - additional parameters passed from the front-end (`metadata`). -This function must always return an object with `query` and `variables` keys, while in the body you can do anything you want with those parameters - you can modify them or change to the new ones. +This function must always return an object with `query` and `variables` keys, while in the body, you can do anything you want with those parameters - you can modify them or change to the new ones. Every custom query is registered in the `middleware.config.js` file: @@ -57,7 +57,7 @@ module.exports = { }; ``` -In the example above we only modified some `variables` that are passed to the custom query. However, we can also change the default GraphQL query: +In the example above, we only modified some `variables` passed to the custom query. However, we can also change the default GraphQL query: ```js // middleware.config.js diff --git a/packages/core/docs/advanced/internationalization.md b/packages/core/docs/advanced/internationalization.md index 816742e98d..f9b6a476e0 100644 --- a/packages/core/docs/advanced/internationalization.md +++ b/packages/core/docs/advanced/internationalization.md @@ -1,9 +1,9 @@ # Internationalization -If you're building a shop for an international brand you want it to be translated to different languages and using different currencies. In this document, you will learn how we're approaching internationalization in Vue Storefront and how to configure your application to use it. +If you're building a shop for an international brand, you likely want it translated to different languages and using different currencies. In this document, you will learn how we're approaching internationalization in Vue Storefront and how to configure your application to use it. ::: warning i18n is not multi-tenancy! -This document explains only how to make a single shop instance available for multiple countries. If you need to build a system for multiple tenants we suggest creating an instance of Vue Storefront for each tenant and sharing common resources through an NPM package. +This document explains only how to make a single shop instance available for multiple countries. If you need to build a system for multiple tenants, we suggest creating an instance of Vue Storefront for each tenant and sharing common resources through an NPM package. ::: ## How it works by default? @@ -13,12 +13,12 @@ By default, we are using [`nuxt-i18n`](https://i18n.nuxtjs.org/) module for hand In the theme `nuxt-i18n` is using `$t('key')` to translate strings and `$n(number)` to add the currency sign. You can find the translation keys in the `lang` directory of your project and configuration for currencies in `nuxt.config.js`. ::: tip -Even though the module is included in the default theme, it's not required and [you can always get rid of it.](#configuring-modules-separately) and handle i18n differently. +Even though the module is included in the default theme, it's not required. You can [disable it](#configuring-modules-separately) and handle internationalization yourself. ::: -In order to provide a unified way of configuring i18n across the application for different modules and integrations, we have introduced the field `i18n` in each module's configuration. It has the same format as `nuxt-i18n` options. You can add any configuration there and it will be propagated to all other Vue Storefront modules. +To provide a unified way of configuring i18n across the application for different modules and integrations, we have introduced the `i18n` field in each module's configuration. It has the same format as the `nuxt-i18n` options. You can add any configuration there, and it will be propagated to all other Vue Storefront modules. -All Vue Storefront integrations have `useNuxtI18nModule` property set to `true`. It means that they will use the same configuration as you provided for `nuxt-i18n` in `i18n` field of your `nuxt.config.js` +All Vue Storefront integrations have `useNuxtI18nModule` property set to `true`. It means that they will use the same configuration as you provided for `nuxt-i18n` in the `i18n` field of your `nuxt.config.js`. ```js // nuxt.config.js @@ -54,7 +54,7 @@ i18n: { ## Configuring modules separately -You always can provide your own i18n configuration just for a specific module by setting `useNuxtI18nModule` to false. +You can provide your own i18n configuration just for a specific module by setting `useNuxtI18nModule` to `false`. ```js [ diff --git a/packages/core/docs/advanced/logging.md b/packages/core/docs/advanced/logging.md index b7f7e019a2..a46e2cf072 100644 --- a/packages/core/docs/advanced/logging.md +++ b/packages/core/docs/advanced/logging.md @@ -1,10 +1,10 @@ # Logging -In Vue Storefront we're providing all the debugging information, warnings, and errors from composables out of the box so you won't miss anything that happens inside your application. In this document, you will learn how to use our logger in your application and how to connect it with external services. +In Vue Storefront, we're providing all the debugging information, warnings, and errors from composables out of the box so you won't miss anything that happens inside your application. In this document, you will learn how to use our logger in your application and how to connect it with external services. ## Using logger in your app -To make use of the Vue Storefront logger, simply import it from the core and use one of 4 available types of messages +To use Vue Storefront logger, import it from the core and use one of 4 available types of messages. ```js import { Logger } from '@vue-storefront/core'; @@ -19,12 +19,12 @@ Logger.debug('debug message'); Configuration of logger happens through the `logger` property of `@vue-storefront/nuxt` module. -You can set the `verbosity` level which tells the app what do you want to log and what communications you want to ignore. By default, we have the following verbosity levels: +You can set the `verbosity` level, which tells the app what do you want to log and what communications you want to ignore. By default, we have the following verbosity levels: - `debug` - log everything, including debug calls, information, warnings, and errors (all of the logger functions can be called), - `info` - log information, warnings, and errors (debug function calling is skipped), - `warn` - log warnings and errors (debug and info functions are skipped), -- `error` - log only errors (debug, warn and info functions are skipped), +- `error` - log only errors (debug, warn, and info functions are skipped), - `none` - don't log anything. ```js @@ -38,7 +38,7 @@ You can set the `verbosity` level which tells the app what do you want to log an ]; ``` -If not explicitly changed, logging level depends on the current environment variable `NODE_ENV`: +If not explicitly changed, the logging level depends on the current environment variable `NODE_ENV`: - `development` or `dev` defaults to `warn`, - `production` or `prod` defaults to `error`, @@ -47,9 +47,9 @@ If not explicitly changed, logging level depends on the current environment vari ## Writing custom loggers -By default, we're printing all the events happening in the app in the console but you can easily write a new logger and use a third-party library (like [consola](https://github.com/nuxt-contrib/consola)) or pass the logs to the external service like [Sentry](https://sentry.io/welcome/) +By default, we're printing all the events happening in the app in the console, but you can easily write a new logger and use a third-party library (like [consola](https://github.com/nuxt-contrib/consola)) or pass the logs to the external service like [Sentry](https://sentry.io/welcome/). -To override the default logger, pass a function to the `logger.customLogger` property of `@vue-storefront/nuxt` module. This function returns the logger object and as an argument, you have access to the `verbosity` level: +To override the default logger, pass a function to the `logger.customLogger` property of the `@vue-storefront/nuxt` module. This function returns the logger object, and as an argument, you have access to the `verbosity` level: ```js [ @@ -76,7 +76,7 @@ To override the default logger, pass a function to the `logger.customLogger` pro ``` ::: details Configuring logger outside Vue Storefront Nuxt module -If for some reason you can't configure logger through `@vue-storefront/nuxt` module you can explicitly use `registerLogger` function: +If you can't configure logger through the `@vue-storefront/nuxt` module, you can explicitly use the `registerLogger` function: ```ts import { registerLogger } from '@vue-storefront/core'; diff --git a/packages/core/docs/advanced/performance.md b/packages/core/docs/advanced/performance.md index 23e43c180a..ec9ca84118 100644 --- a/packages/core/docs/advanced/performance.md +++ b/packages/core/docs/advanced/performance.md @@ -1,6 +1,6 @@ # Performance -This document will walk you through performance configuration options for `@vue-storefront/nuxt` package and allow you to easily reduce size of your app and improve performance. +This document will walk you through performance configuration options for the `@vue-storefront/nuxt` package to reduce the size of your app and improve performance. ## Configuration @@ -24,15 +24,15 @@ This document will walk you through performance configuration options for `@vue- ### HTTP2 Push -`httpPush` option (_enabled by default_) leverages [`http2` option in Nuxt.js](https://nuxtjs.org/docs/2.x/configuration-glossary/configuration-render#http2). It's configured to automatically push all JavaScript files needed for the current page. If you want to override this behaviour, you can disable this option and use Nuxt.js configuration instead. +The `httpPush` option (_enabled by default_) leverages [`http2` option in Nuxt.js](https://nuxtjs.org/docs/2.x/configuration-glossary/configuration-render#http2). It's configured to push all JavaScript files needed for the current page automatically. If you want to override this behavior, you can disable this option and use the Nuxt.js configuration instead. -If you can't use HTTP2, you can disable this option. In this case, Nuxt.js will still `preload` these scripts, which is only slightly slower than HTTP2 push. +If you can't use HTTP2, you can disable this option. In this case, Nuxt.js will still `preload` these scripts, which is only slightly slower than the HTTP2 push. ### PurgeCSS `purgeCSS` option (_disabled by default_) uses [`nuxt-purgecss` plugin](https://github.com/Developmint/nuxt-purgecss) to remove unused CSS and accepts the same options, with two differences: -* when `enabled` is set to `false`, plugin will not be registered at all, not only be disabled, +* when `enabled` is set to `false`, the plugin will not be registered at all, not only be disabled * `**/*.vue` is added to `paths` array to detect all `.vue` files in your project, including those from `_theme` directory. Without this, some styles used on the page would also be removed. @@ -46,4 +46,4 @@ Because PurgeCSS looks for whole class names in files, it may remove styles for ### Using StorefrontUI -`@vue-storefront/nuxt` module automatically detects if you have `@storefront-ui/vue` installed and if so, registers [`@nuxtjs/style-resources` module](https://github.com/nuxt-community/style-resources-module). It automatically registers all variables, mixins and functions from StorefrontUI, which means you don't have to import them. **_Importing SCSS files from StorefrontUI might duplicate some styles, significantly increasing your bundle size and impact performance._** +`@vue-storefront/nuxt` module automatically detects if you have `@storefront-ui/vue` installed and, if so, registers [`@nuxtjs/style-resources` module](https://github.com/nuxt-community/style-resources-module). It automatically registers all variables, mixins, and functions from StorefrontUI, which means you don't have to import them. **_Importing SCSS files from StorefrontUI might duplicate some styles, significantly increasing your bundle size and impact performance._** diff --git a/packages/core/docs/advanced/server-middleware.md b/packages/core/docs/advanced/server-middleware.md index 06281275a2..0b12494b22 100644 --- a/packages/core/docs/advanced/server-middleware.md +++ b/packages/core/docs/advanced/server-middleware.md @@ -4,15 +4,15 @@ The application does not reload automatically after saving the changes in Server Middleware. Due to this, you have to restart the application manually. We are working on enabling Hot Reloading in future updates. ::: -## What is Vue Storefront Middleware and why we need it? +## What is Vue Storefront Middleware, and why we need it? -The Vue Storefront middleware is an Express proxy that takes the requests from the front-end, translates them to a given integration, and calls related API-client. +The Vue Storefront middleware is an Express proxy that takes the requests from the front end, translates them to a given integration, and calls related API-client. We have implemented it for a variety of reasons. First of all, it allows us to provide a proven way of extensibility. As a developer, you have control of the requests and responses in the given platform with [extensions](/advanced/server-middleware.html#extending-integrations)) -All platform credentials are stored only on the server side and not exposed to the frontend part of your application. +All platform credentials are stored only on the server side and not exposed to the front-end part of your application. Performance optimizations - since we moved the networking layer to the server-side, the final code shipped to the browser is way smaller, which impacts the initial loading time. @@ -26,7 +26,7 @@ The way it works represents the following diagram: The API-client is being called only on the middleware, but you still can access it on the front-end side - how is that possible? -When you access an API-client on the front-end side, you are accessing actually a stub, instead of a real API-client instance. This stub makes a call to the middleware ([Remote Procedure Call](https://en.wikipedia.org/wiki/Remote_procedure_call)), and asks for loading a specific integration and executing a function you are asking for. +When you access an API-client on the front-end side, you are accessing a stub instead of a real API-client instance. This stub makes a call to the middleware ([Remote Procedure Call](https://en.wikipedia.org/wiki/Remote_procedure_call)) and asks for loading a specific integration and executing a function you are asking for. For example, the following code: ```js @@ -35,9 +35,9 @@ context.$ct.getProduct({ id: 1 }) Generates the request to our middleware: - `POST / api/ct/getProduct` - a http call, where `ct` is a tag name of integation and `getProduct` is the name of a function needs to be called -- `http body` - the body of HTTP request we are sending array of arguments +- `http body` - the body of HTTP request we are sending an array of arguments -Middleware reads tag name of integration and the function name that needs to be called, executes it, and sends a response back to the browser as if it was transferred using a direct connection. +Middleware reads the tag name of integration and the function name that needs to be called, executes it, and sends a response back to the browser as if it was transferred using a direct connection. ## Configuration @@ -56,12 +56,12 @@ module.exports = { }; ``` -Each entry under the `integrations` section starts with a tag name of given integration, and contains an object with the following fields: +Each entry under the `integrations` section starts with a tag name of given integration and contains an object with the following fields: - `location` - points to the package of the API-client, related to given integration (server entry point) - `configuration` - contains a configuration of given integration, such as credentials and others - `extensions` - a function that returns a extensions (jump to the next section) -- `customQueries` - section that contains custom queries (graphql only) +- `customQueries` - a section that contains custom queries (GraphQL only) ## Extending Integrations @@ -96,9 +96,9 @@ const extension = { - `extendApp` - a function that gives you access to the express.js app - `hooks` - defines lifecycle hooks of API-client - `hooks:beforeCreate` - called before API-client creates a connection, takes the given configuration as an argument, and must return the configuration. Here you can attach something else to the configuration or even change it. -- `hooks:afterCreate` - Similar to the previous one, but called after the connection has been created. It also returns a configuration and you can change it. -- `hooks:beforeCall` - called before each API-client function. We have access to the configuration, function name, and its arguments. This function must return the arguments and based on the input parameters we can change it. -- `hooks:afterCall` - called after each API-client function.We have access to the configuration, function name, and its arguments. This function must return the response and based on the input parameters we can attach something to it. +- `hooks:afterCreate` - Similar to the previous one, but called after the connection has been created. It also returns a configuration, and you can change it. +- `hooks:beforeCall` - called before each API-client function. We have access to the configuration, function name, and its arguments. This function must return the arguments, and based on the input parameters we can change it. +- `hooks:afterCall` - called after each API-client function. We have access to the configuration, function name, and its arguments. This function must return the response, and based on the input parameters we can attach something to it. To register a created extension, we have to add it do the middleware config file: @@ -126,7 +126,7 @@ module.exports = { By default, Vue Storefront middleware is running within the Nuxt.js process. Sometimes there is a need to disconnect it from the app and run it as a separate and independent instance (process). -Since it's just an Express application, you can do this, by creating a `middleware.js` file: +Since it's just an Express application, you can do this by creating a `middleware.js` file: ```js const { createServer } = require('@vue-storefront/middleware'); diff --git a/packages/core/docs/advanced/ssr-cache.md b/packages/core/docs/advanced/ssr-cache.md index 18c6257470..e3317f1cd8 100644 --- a/packages/core/docs/advanced/ssr-cache.md +++ b/packages/core/docs/advanced/ssr-cache.md @@ -2,7 +2,7 @@ ## Introduction -Caching allows saving pages rendered on the server for later use, to avoid computationally expensive rendering from scratch when possible. This is especially useful when the application has pages that require a lot of computation, make many API calls, or change infrequently. It not only reduces the load on the server but also greatly improves performance. +Caching allows saving pages rendered on the server for later use to avoid computationally expensive rendering from scratch when possible. This is especially useful when the application has pages that require a lot of computation, make many API calls, or change infrequently. It not only reduces the load on the server but also significantly improves performance. Caching SSR output in Vue Storefront requires two packages: * `@vue-storefront/cache` - Nuxt.js module, that does the heavy lifting. It registers required plugins, creates [invalidation endpoint](#invalidating-tags), and hooks into the render cycle. @@ -61,7 +61,7 @@ Refer to the [Tags](#tags) section for more information. ## How it works? -When the page is requested, the cache driver checks if there is an already rendered page in the cache matching the current route. If there is, it will serve the cached version. Otherwise, the current page will be rendered on the server and served to the user, but if it contains tags, the result will be saved in the cache and used for subsequent requests. +When the page is requested, the cache driver checks if there is an already rendered page in the cache matching the current route. If the rendered page exists, the cache driver will serve the cached version. Otherwise, the current page will be rendered on the server and served to the user, but if it contains tags, the result will be saved in the cache and used for subsequent requests.
    Server Side Rendering request flow @@ -81,12 +81,12 @@ A typical category page would have tags for: When at least one tag associated with the given page is [invalidated](#invalidating-tags), the whole page is removed from the cache and will be rendered from scratch on the next request. For example, if one of the products is modified or disabled, we should invalidate cache for pages where this product is visible: * Product page for this particular product. -* Other product pages, where this product is listed (upsell or cross-sell). +* Other product pages where this product is listed (upsell or cross-sell). * Homepage, if the product is displayed in the carousel or listed as a popular item. * Category page, where this product is listed. -* Search page, where this product is part of the results. +* Search page where this product is part of the results. -Additionally, all modifiers changing what is displayed on the page, such as pagination, filtering, and sorting options should be added as URL queries (for example `?sort=price-up&size=36&page=3`). This will cause different modifier combinations to be treated as different routes, and thus, cached separately. +Additionally, all modifiers changing what is displayed on the page, such as pagination, filtering, and sorting options, should be added as URL queries (for example, `?sort=price-up&size=36&page=3`). This will cause different modifier combinations to be treated as different routes, and thus, cached separately. ::: warning Don't use tags on pages, components, or composables specific to the current user, such as user profile pages or cart components. diff --git a/packages/core/docs/commercetools/authorization-strategy.md b/packages/core/docs/commercetools/authorization-strategy.md index 67fae57d0f..06ad90031b 100644 --- a/packages/core/docs/commercetools/authorization-strategy.md +++ b/packages/core/docs/commercetools/authorization-strategy.md @@ -1,5 +1,5 @@ # Authorization -We are following [HTTP Authorization guide](https://docs.commercetools.com/api/authorization) from Commercetools documentation and using their library - [TokenProvider](https://commercetools.github.io/nodejs/sdk/api/sdkAuth.html). A token is stored in the cookie as we access it both the client and server side. +We are following [HTTP Authorization guide](https://docs.commercetools.com/api/authorization) from commercetools documentation and using their library - [TokenProvider](https://commercetools.github.io/nodejs/sdk/api/sdkAuth.html). A token is stored in the cookie as we access it on both the client and the server-side. You can read more about Authentication in Vue Storefront [here](/guide/authentication.html). \ No newline at end of file diff --git a/packages/core/docs/commercetools/composables/use-cart.md b/packages/core/docs/commercetools/composables/use-cart.md index c55484984a..682ae0c1bc 100644 --- a/packages/core/docs/commercetools/composables/use-cart.md +++ b/packages/core/docs/commercetools/composables/use-cart.md @@ -7,7 +7,7 @@ * load cart information, * add, update and remove items in the cart, * applying and removing coupons, -* checking if product is already added to the cart. +* checking if the product is already added to the cart. ## API @@ -59,7 +59,7 @@ } ``` -- `load` - function required to fetch cart from a server or create brand new if it doesn't exist. This method accepts a single `params` object. The `params` has the following option: +- `load` - function required to fetch cart from a server or create a brand new if it doesn't exist. This method accepts a single `params` object. The `params` has the following option: - `customQuery?: customQuery` @@ -98,7 +98,7 @@ } ``` -- `updateItemQty` - function for updating quantity of a product that is already in the cart. This method accepts a single `params` object. The `params` has the following options: +- `updateItemQty` - function for updating a quantity of a product already in the cart. This method accepts a single `params` object. The `params` has the following options: - `product: LineItem` @@ -207,9 +207,9 @@ } ``` -- `clear` - function for removing all items currently stored in cart. +- `clear` - a function for removing all items currently stored in the cart. -- `applyCoupon` - function for applying coupon to cart. This method accepts a single `params` object. The `params` has the following options: +- `applyCoupon` - a function for applying a coupon to the cart. This method accepts a single `params` object. The `params` has the following options: - `couponCode: string` @@ -221,7 +221,7 @@ } ``` -- `removeCoupon` - function for removing coupon applied to cart. This method accepts a single `params` object. The `params` has the following options: +- `removeCoupon` - a function for removing a coupon applied to the cart. This method accepts a single `params` object. The `params` has the following options: - `couponCode: string` @@ -240,9 +240,9 @@ } ``` -- `loading: boolean` - a reactive object containing information about loading state of the cart. +- `loading: boolean` - a reactive object containing information about the loading state of the cart. -- `error: UseCartErrors` - reactive object containing the error message, if some properties failed for any reason. +- `error: UseCartErrors` - reactive object containing the error message if some properties failed for any reason. ```ts interface UseCartErrors { diff --git a/packages/core/docs/commercetools/composables/use-category.md b/packages/core/docs/commercetools/composables/use-category.md index 07f1655802..645baf132a 100644 --- a/packages/core/docs/commercetools/composables/use-category.md +++ b/packages/core/docs/commercetools/composables/use-category.md @@ -6,7 +6,7 @@ ## API -- `search` - a main querying function that is used to query categories from eCommerce platform and populate the `categories` object with the result. Every time you invoke this function API request is made. This method accepts a single `params` object. The `params` has the following options: +- `search` - the main querying function used to query categories from the eCommerce platform and populate the `categories` object with the result. Every time you invoke this function API request is made. This method accepts a single `params` object. The `params` has the following options: - `searchParams` @@ -21,7 +21,7 @@ } ``` -- `categories: Category[]` - a main data object that contains an array of categories fetched by `search` method. +- `categories: Category[]` - the main data object that contains an array of categories fetched by `search` method. ```ts type Category = { @@ -60,7 +60,7 @@ } ``` -- `loading: boolean` - a reactive object containing information about loading state of your `search` method. +- `loading: boolean` - a reactive object containing information about the loading state of your `search` method. - `error: UseCategoryErrors` - reactive object containing the error message, if `search` failed for any reason. diff --git a/packages/core/docs/commercetools/composables/use-facet.md b/packages/core/docs/commercetools/composables/use-facet.md index f0ccbfabdd..dd5026244b 100644 --- a/packages/core/docs/commercetools/composables/use-facet.md +++ b/packages/core/docs/commercetools/composables/use-facet.md @@ -1,9 +1,9 @@ # `useFacet` :::warning -This feature is a part of our commercial offering but also exists in the Open Source version of our commercetools integration. +This feature is a part of our commercial offering but also exists in the open-source version of our commercetools integration. -Open Source implementation relies on GraphQL API (internally using `getProduct` and `getCategory` composables), which doesn't provide full faceting capabilities as does the dedicated REST-based faceting API offered in our Enterprise version. Please [contact our Sales team](https://www.vuestorefront.io/contact/sales) if you'd like to get access to it. +The open-source implementation relies on GraphQL API (internally using `getProduct` and `getCategory` composables), which doesn't provide full faceting capabilities as does the dedicated REST-based faceting API offered in our Enterprise version. Please [contact our Sales team](https://www.vuestorefront.io/contact/sales) if you'd like to get access to it. ::: ## Features @@ -42,7 +42,7 @@ For more information about faceting, please refer to [this page](../composables/ - `loading` - reactive object containing information about the loading state of `search`. -- `error` - reactive object containing the error message, if `search` failed for any reason. +- `error` - reactive object containing the error message if `search` failed for any reason. ```ts interface UseFacetErrors { diff --git a/packages/core/docs/commercetools/composables/use-make-order.md b/packages/core/docs/commercetools/composables/use-make-order.md index d4e4ce8b27..c0d0d06ca8 100644 --- a/packages/core/docs/commercetools/composables/use-make-order.md +++ b/packages/core/docs/commercetools/composables/use-make-order.md @@ -77,7 +77,7 @@ }; ``` -- `loading: boolean` - a reactive object containing information about loading state of your `make` method. +- `loading: boolean` - a reactive object containing information about the loading state of your `make` method. - `error: UseMakeOrderErrors` - a reactive object containing the error message, if `load` or `save` failed for any reason. diff --git a/packages/core/docs/commercetools/composables/use-product.md b/packages/core/docs/commercetools/composables/use-product.md index d71cc46178..bba8f9f3ba 100644 --- a/packages/core/docs/commercetools/composables/use-product.md +++ b/packages/core/docs/commercetools/composables/use-product.md @@ -6,7 +6,7 @@ ## API -- `search` - a main querying function that is used to query products from eCommerce platform and populate the `products` object with the result. Every time you invoke this function API request is made. This method accepts a single `params` object. The `params` has the following options: +- `search` - the main querying function used to query products from the eCommerce platform and populate the `products` object with the result. Every time you invoke this function API request is made. This method accepts a single `params` object. The `params` has the following options: - `searchParams: ProductsSearchParams` @@ -30,7 +30,7 @@ } ``` -- `products: ProductVariant[]` - a main data object that contains an array of products fetched by `search` method. +- `products: ProductVariant[]` - the main data object that contains an array of products fetched by `search` method. ```ts type ProductVariant = { @@ -49,7 +49,7 @@ } ``` -- `loading: boolean` - a reactive object containing information about loading state of your `search` method. +- `loading: boolean` - a reactive object containing information about the loading state of your `search` method. - `error: UseProductErrors` - reactive object containing the error message, if `search` failed for any reason. diff --git a/packages/core/docs/commercetools/composables/use-review.md b/packages/core/docs/commercetools/composables/use-review.md index 696ef39d8e..299c20aceb 100644 --- a/packages/core/docs/commercetools/composables/use-review.md +++ b/packages/core/docs/commercetools/composables/use-review.md @@ -1,6 +1,6 @@ # `useReview` -> This feature is a part of our commercial offering and does not exist in Open Source version of commercetools integration. Read more about a Vue Storefront Enterprise Cloud [here](https://www.vuestorefront.io/enterprise) +> This feature is a part of our commercial offering and does not exist in the open-source version of commercetools integration. Read more about a Vue Storefront Enterprise Cloud [here](https://www.vuestorefront.io/enterprise) ## Features diff --git a/packages/core/docs/commercetools/composables/use-shipping-provider.md b/packages/core/docs/commercetools/composables/use-shipping-provider.md index ee7fea76cf..a220ec61eb 100644 --- a/packages/core/docs/commercetools/composables/use-shipping-provider.md +++ b/packages/core/docs/commercetools/composables/use-shipping-provider.md @@ -19,7 +19,7 @@ } ``` -- `save` - function for selecting shipping method. This method accepts a single `saveParams` object. The `saveParams` has the following options: +- `save` - a function for selecting a shipping method. This method accepts a single `saveParams` object. The `saveParams` has the following options: - `shippingMethod: ShippingMethod` @@ -72,7 +72,7 @@ }; ``` -- `loading: boolean` - a reactive object containing information about loading state of your `load` or `save` method. +- `loading: boolean` - a reactive object containing information about the loading state of your `load` or `save` method. - `error: UseShippingProviderErrors` - a reactive object containing the error message, if `load` or `save` failed for any reason. diff --git a/packages/core/docs/commercetools/composables/use-shipping.md b/packages/core/docs/commercetools/composables/use-shipping.md index 7dc6975fd9..1c71e5a071 100644 --- a/packages/core/docs/commercetools/composables/use-shipping.md +++ b/packages/core/docs/commercetools/composables/use-shipping.md @@ -59,11 +59,11 @@ } ``` -- `shipping: Address` - a main data object that contains a shipping address. +- `shipping: Address` - the main data object that contains a shipping address. -- `loading: boolean` - a reactive object containing information about loading state of your `load` or `save` method. +- `loading: boolean` - a reactive object containing information about the loading state of your `load` or `save` method. -- `error: UseShippingErrors` - a reactive object containing the error message, if `load` or `save` failed for any reason. +- `error: UseShippingErrors` - a reactive object containing the error message if `load` or `save` failed for any reason. ```ts interface UseShippingErrors { diff --git a/packages/core/docs/commercetools/composables/use-user-billing.md b/packages/core/docs/commercetools/composables/use-user-billing.md index 0602e78fce..3ed79ad17d 100644 --- a/packages/core/docs/commercetools/composables/use-user-billing.md +++ b/packages/core/docs/commercetools/composables/use-user-billing.md @@ -1,6 +1,6 @@ # `useUserBilling` -> This feature is a part of our commercial offering and does not exist in Open Source version of commercetools integration. Read more about a Vue Storefront Enterprise Cloud [here](https://www.vuestorefront.io/enterprise) +> This feature is a part of our commercial offering and does not exist in the open-source version of commercetools integration. Read more about a Vue Storefront Enterprise Cloud [here](https://www.vuestorefront.io/enterprise) ## Features @@ -40,7 +40,7 @@ } ``` -- `deleteAddress` - function for deleting existing billing address. This method accepts a single `params` object. The `params` has the following options: +- `deleteAddress` - a function for deleting existing billing address. This method accepts a single `params` object. The `params` has the following options: - `address: BillingAddressDeleteParams` @@ -57,7 +57,7 @@ } ``` -- `updateAddress` - function for updating existing billing address. This method accepts a single `params` object. The `params` has the following options: +- `updateAddress` - a function for updating existing billing address. This method accepts a single `params` object. The `params` has the following options: - `address: BillingAddressUpdateParams` @@ -84,7 +84,7 @@ } ``` -- `setDefaultAddress` - function for settings an existing billing address as default. This method accepts a single `params` object. The `params` has the following options: +- `setDefaultAddress` - a function for settings an existing billing address as default. This method accepts a single `params` object. The `params` has the following options: - `address: BillingAddressSetDefaultParams` @@ -101,7 +101,7 @@ } ``` -- `billing: User` - reactive data object containing response from the backend. +- `billing: User` - a reactive data object containing response from the backend. ```ts type Customer = { @@ -149,9 +149,9 @@ type User = Customer; ``` -- `loading: boolean` - reactive object containing information about loading state of `load`, `addAddress`, `deleteAddress`, `updateAddress` and `setDefaultAddress` methods. +- `loading: boolean` - a reactive object containing information about loading state of `load`, `addAddress`, `deleteAddress`, `updateAddress` and `setDefaultAddress` methods. -- `error: UseUserBillingErrors` - reactive object containing the error message, if some properties failed for any reason. +- `error: UseUserBillingErrors` - a reactive object containing the error message if some properties failed for any reason. ## Getters @@ -159,7 +159,7 @@ - `getDefault` - returns a default billing address. -- `getTotal` - returns total number of billing addresses user has. +- `getTotal` - returns a total number of billing addresses the user has. - `getId` - returns id from an individual address. diff --git a/packages/core/docs/commercetools/composables/use-user-order.md b/packages/core/docs/commercetools/composables/use-user-order.md index 44aa1fe31c..44b699f985 100644 --- a/packages/core/docs/commercetools/composables/use-user-order.md +++ b/packages/core/docs/commercetools/composables/use-user-order.md @@ -2,11 +2,11 @@ ## Features -`useUserOrder` composable is responsible, as it's name suggests for interactions with user's order history from your eCommerce. +`useUserOrder` composable is responsible for interactions with customer order history from your eCommerce backend. ## API -- `searchOrders` - a main querying function that is used to query user's order history from eCommerce platform and populate the `orders` object with the result. This method accepts a single params object. The `params` has the following options: +- `searchOrders` - the main querying function used to query user order history from the eCommerce platform and populate the `orders` object with the result. This method accepts a single params object. The `params` has the following options: - `id?: string` @@ -16,7 +16,7 @@ - `customQuery?: customQuery` -- `orders: OrderQueryResult` - a main data object that contains an array of orders fetched by `searchOrders` method and total number of orders. +- `orders: OrderQueryResult` - the main data object that contains an array of orders fetched by the `searchOrders` method and total number of orders. ```ts type Order = { @@ -74,9 +74,9 @@ } ``` -- `loading: boolean` - a reactive object containing information about loading state of your `searchOrders` method. +- `loading: boolean` - a reactive object containing information about the loading state of your `searchOrders` method. -- `error: UseUserOrderErrors` - reactive object containing the error message, if some properties failed for any reason. +- `error: UseUserOrderErrors` - reactive object containing the error message if some properties failed for any reason. ```ts interface UseUserOrderErrors { diff --git a/packages/core/docs/commercetools/composables/use-user-shipping.md b/packages/core/docs/commercetools/composables/use-user-shipping.md index 11bd913f92..8df274b9d4 100644 --- a/packages/core/docs/commercetools/composables/use-user-shipping.md +++ b/packages/core/docs/commercetools/composables/use-user-shipping.md @@ -1,6 +1,6 @@ # `useUserShipping` -> This feature is a part of our commercial offering and does not exist in Open Source version of commercetools integration. Read more about a Vue Storefront Enterprise Cloud [here](https://www.vuestorefront.io/enterprise) +> This feature is a part of our commercial offering and does not exist in the open-source version of commercetools integration. Read more about a Vue Storefront Enterprise Cloud [here](https://www.vuestorefront.io/enterprise) ## Features @@ -101,7 +101,7 @@ } ``` -- `shipping: User` - reactive data object containing response from the backend. +- `shipping: User` - a reactive data object containing a response from the backend. ```ts type Customer = { @@ -149,9 +149,9 @@ type User = Customer; ``` -- `loading: boolean` - reactive object containing information about loading state of `load`, `addAddress`, `deleteAddress`, `updateAddress` and `setDefaultAddress` methods. +- `loading: boolean` - a reactive object containing information about loading state of `load`, `addAddress`, `deleteAddress`, `updateAddress` and `setDefaultAddress` methods. -- `error: UseUserShippingErrors` - reactive object containing the error message, if some properties failed for any reason. +- `error: UseUserShippingErrors` - a reactive object containing the error message if some properties failed for any reason. ```ts interface UseUserShippingErrors { @@ -169,7 +169,7 @@ - `getDefault` - returns a default shipping address. -- `getTotal` - returns total number of shipping addresses user has. +- `getTotal` - returns the total number of shipping addresses the user has. - `getId` - returns id from an individual address. diff --git a/packages/core/docs/commercetools/composables/use-user.md b/packages/core/docs/commercetools/composables/use-user.md index 0b9a5f72ff..5c2345bcf7 100644 --- a/packages/core/docs/commercetools/composables/use-user.md +++ b/packages/core/docs/commercetools/composables/use-user.md @@ -5,7 +5,7 @@ `useUser` composable can be used to: - manage user authentication -- manage authentication data like email address, login or password. +- manage authentication data like email address, login, or password. If you want to fetch/save other user data you should use the following composables: - [`useUserBilling`](./use-user-billing.md) @@ -14,7 +14,7 @@ If you want to fetch/save other user data you should use the following composabl ## API -- `user` - reactive object containing information about current user. +- `user` - reactive object containing information about the current user. ```ts type Customer = { @@ -60,7 +60,7 @@ If you want to fetch/save other user data you should use the following composabl } ``` -- `updateUser` - function for updating user data. When invoked, it submits data to the API and populates user property with updated information. This method accepts a single `params` object. The `params` has the following option: +- `updateUser` - a function for updating user data. When invoked, it submits data to the API and populates user property with updated information. This method accepts a single `params` object. The `params` has the following option: - `user: UPDATE_USER_PARAMS` @@ -73,7 +73,7 @@ If you want to fetch/save other user data you should use the following composabl } ``` -- `register: UseUserRegisterParams` - function for creating a new user. When invoked, it submits new user data to the API and saves them. This method accepts a single `params` object. The `params` has the following option: +- `register: UseUserRegisterParams` - a function for creating a new user. When invoked, it submits new user data to the API and saves them. This method accepts a single `params` object. The `params` has the following option: - `user: UseUserRegisterParams` @@ -97,19 +97,19 @@ If you want to fetch/save other user data you should use the following composabl } ``` -- `logout` - function for logout a user. +- `logout` - a function for logging out the user. -- `changePassword` - function for changing user password. This method accepts a single `params` object. The `params` has the following options: +- `changePassword` - a function for changing user password. This method accepts a single `params` object. The `params` has the following options: - `currentPassword: string` - `newPassword: string` -- `loading: boolean` - reactive object containing information about loading state of `user`. +- `loading: boolean` - a reactive object containing information about loading state of `user`. -- `isAuthenticated: boolean` - checks if user is authenticated or not. +- `isAuthenticated: boolean` - checks if the user is authenticated or not. -- `error: UseUserErrors` - reactive object containing the error message, if some properties failed for any reason. +- `error: UseUserErrors` - a reactive object containing the error message if some properties failed for any reason. ```ts interface UseUserErrors { diff --git a/packages/core/docs/commercetools/composables/use-wishlist.md b/packages/core/docs/commercetools/composables/use-wishlist.md index c190baabe6..c624cacdd8 100644 --- a/packages/core/docs/commercetools/composables/use-wishlist.md +++ b/packages/core/docs/commercetools/composables/use-wishlist.md @@ -1,15 +1,15 @@ # `useWishlist` -> This feature is a part of our commercial offering and does not exist in Open Source version of commercetools integration. Read more about a Vue Storefront Enterprise Cloud [here](https://www.vuestorefront.io/enterprise) +> This feature is a part of our commercial offering and does not exist in the open-source version of commercetools integration. Read more about a Vue Storefront Enterprise Cloud [here](https://www.vuestorefront.io/enterprise) ## Features -`useWishlist` composable is responsible, for integrating with wishlist from Commercetools. It allows to: +`useWishlist` composable is responsible for integrating with a wishlist from commercetools. It allows to: -- fetch products from wishlist -- add products to wishlist -- remove products from wishlist -- check if product is on wishlist +- fetch products from the wishlist +- add products to the wishlist +- remove products from the wishlist +- check if a product is on the wishlist ## API @@ -43,7 +43,7 @@ type Wishlist = ShoppingList; ``` -- `load` - function used to retrieve wishlist products. When invoked, it requests data from the API and populates `wishlist` property. This method accepts a single `params` object. The `params` has the following option: +- `load` - a function used to retrieve wishlist products. When invoked, it requests data from the API and populates `wishlist` property. This method accepts a single `params` object. The `params` has the following option: - `customQuery?: CustomQuery` @@ -53,7 +53,7 @@ } ``` -- `addItem` - function used to add new product to wishlist. When invoked, it submits data to the API and populates `wishlist` property with updated information. This method accepts a single `params` object. The `params` has the following options: +- `addItem` - a function used to add a new product to the wishlist. When invoked, it submits data to the API and populates `wishlist` property with updated information. This method accepts a single `params` object. The `params` has the following options: - `product: ProductVariant` @@ -80,7 +80,7 @@ } ``` -- `removeItem` - function that removes products from the wishlist. It submits data to the API and populates updated `wishlist` property. This method accepts a single `params` object. The `params` has the following options: +- `removeItem` - a function that removes products from the wishlist. It submits data to the API and populates the updated `wishlist` property. This method accepts a single `params` object. The `params` has the following options: - `product: LineItem` @@ -123,9 +123,9 @@ } ``` -- `clear` - function that removes all products from the wishlist and populates clear `wishlist` property. +- `clear` - a function that removes all products from the wishlist and populates clear `wishlist` property. -- `isInWishlist` - function that checks if product is on the wishlist. It returns boolean value. This method accepts a single `params` object. The `params` has the following option: +- `isInWishlist` - a function that checks if a product is on the wishlist. It returns boolean value. This method accepts a single `params` object. The `params` has the following option: - `product: ProductVariant` @@ -161,15 +161,15 @@ ## Getters -- `getItems` - returns list of products on wishlist +- `getItems` - returns list of products on the wishlist -- `getItemName` - returns product's name from wishlist. +- `getItemName` - returns product's name from the wishlist. -- `getItemImage` - returns product's image from wishlist. +- `getItemImage` - returns product's image from the wishlist. -- `getItemPrice` - returns product's price from wishlist. +- `getItemPrice` - returns product's price from the wishlist. -- `getItemQty` - returns quantity of product which is on wishlist. +- `getItemQty` - returns a quantity of product which is on the wishlist. - `getItemAttributes` - returns product variant attribute chosen by its name. @@ -177,9 +177,9 @@ - `getTotals` - returns price of products. -- `getTotalItems` - returns amount of all items that are currently on wishlist. +- `getTotalItems` - returns an amount of all items that are currently on the wishlist. -- `getFormattedPrice` - returns price in formatted manner taking into account local specifics. +- `getFormattedPrice` - returns price in a formatted manner, taking into account local specifics. ```typescript interface WishlistGetters { diff --git a/packages/core/docs/commercetools/configuration.md b/packages/core/docs/commercetools/configuration.md index 143f1016f6..9ff2b6f22f 100644 --- a/packages/core/docs/commercetools/configuration.md +++ b/packages/core/docs/commercetools/configuration.md @@ -1,13 +1,12 @@ # Configuration - -Commercetools configuration is located in two places: +The commercetools configuration is located in two places: - nuxt.config.js is a place where you're configuring properties related only to the frontend part of your application. -- middleware.config.js is a place where you're configuring the Commercetools SDK, Apollo and extensions. You will put there API keys, integration configurations, custom GraphQL queries and new API endpoints. +- middleware.config.js is a place where you're configuring the commercetools SDK, Apollo, and extensions. You will put there API keys, integration configurations, custom GraphQL queries, and new API endpoints. -## Nuxt Commercetools configuration +## Nuxt commercetools configuration ```js // nuxt.config.js @@ -20,7 +19,7 @@ Commercetools configuration is located in two places: - `useNuxtI18nConfig` - when this property is set to true, `@vue-storefront/commercetools/nuxt` package will use `i18n` config object provided in `nuxt.config.js`. When set to false, `i18n` config should be declared directly inside this package configuration. You can read more about `i18n` config in Vue Storefront [here](../advanced/internationalization.md) -## Middleware Commercetools configuration +## Middleware commercetools configuration You can read more about middleware configuration in Vue Storefront [here](../advanced/server-middleware.html#configuration) @@ -50,14 +49,14 @@ module.exports = { ### `api` -- `uri` - link to your Commercetools GraphQL API instance. -- `authHost` - link to Commercetools Authentication Server. It is used to request an access token from commercetools OAuth 2.0 service. To choose the nearest service, please visit [Commercetools hosts list](https://docs.commercetools.com/api/authorization) -- `projectKey` - name of your Commercetools project, i.e. `my-awesome-vsf-project` -- `clientId` - unique Commercetools Client ID. Visit [Commercetools documentation](https://docs.commercetools.com/tutorials/getting-started#creating-an-api-client) for more details about creating an API Client -- `clientSecret` - Commercetools secret API key. Visit [Commercetools documentation](https://docs.commercetools.com/tutorials/getting-started#creating-an-api-client) for more details about creating an API Client -- `scopes` - The scope constrains the endpoints to which a client has access, and whether a client has read or write access to an endpoint. Visit [Commercetools documentation](https://docs.commercetools.com/api/scopes#top) for more details about Scopes. +- `uri` - link to your commercetools GraphQL API instance. +- `authHost` - link to commercetools Authentication Server. It is used to request an access token from commercetools OAuth 2.0 service. To choose the nearest service, please visit [commercetools hosts list](https://docs.commercetools.com/api/authorization) +- `projectKey` - name of your commercetools project, i.e. `my-awesome-vsf-project` +- `clientId` - unique commercetools Client ID. Visit [commercetools documentation](https://docs.commercetools.com/tutorials/getting-started#creating-an-api-client) for more details about creating an API Client +- `clientSecret` - commercetools secret API key. Visit [commercetools documentation](https://docs.commercetools.com/tutorials/getting-started#creating-an-api-client) for more details about creating an API Client +- `scopes` - The scope constrains the endpoints to which a client has access and whether a client has read or write access to an endpoint. Visit [commercetools documentation](https://docs.commercetools.com/api/scopes#top) for more details about Scopes. -By default, the internationalization settings, such as `currency`, `locale`, and `country` are loaded from cookies. To override this behavior you can set those properties inside the `configuration` section. +By default, the internationalization settings, such as `currency`, `locale`, and `country` are loaded from cookies. To override this behavior, you can set those properties inside the `configuration` section. ```js // middleware.config.js @@ -79,7 +78,7 @@ module.exports = { ### `acceptLanguage` -An array of possible locales Commercetools will use. You can read more about Commercetools internationalization configuration [here](https://docs.commercetools.com/api/projects/orders-import#language-filtering) +An array of possible locales commercetools will use. You can read more about the commercetools internationalization configuration [here](https://docs.commercetools.com/api/projects/orders-import#language-filtering) ```js acceptLanguage: ['en-gb', 'en-us'] diff --git a/packages/core/docs/commercetools/enterprise/use-wishlist.md b/packages/core/docs/commercetools/enterprise/use-wishlist.md index 02f9b3bd14..8478f2f4c9 100644 --- a/packages/core/docs/commercetools/enterprise/use-wishlist.md +++ b/packages/core/docs/commercetools/enterprise/use-wishlist.md @@ -1,5 +1,5 @@ --- -platform: Commercetools +platform: commercetools --- # Wishlist @@ -8,30 +8,30 @@ platform: Commercetools ## Features -`useWishlist` composition API function is responsible, for integrating with wishlist from Commercetools. It allows to: +`useWishlist` composition API function is responsible for integrating with the wishlist from commercetools. It allows to: -- fetch products from wishlist -- add products to wishlist -- remove products from wishlist -- check if product is on wishlist +- fetch products from the wishlist +- add products to the wishlist +- remove products from the wishlist +- check if a product is on the wishlist ## API -`useWishlist` contains following properties: +`useWishlist` contains the following properties: -- `load` - function used to retrieve wishlist products. When invoked, it requests data from the API and populates `wishlist` property. +- `load` - a function used to retrieve wishlist products. When invoked, it requests data from the API and populates the `wishlist` property. -- `addToWishlist` - function used to add new product to wishlist. When invoked, it submits data to the API and populates `wishlist` property with updated information. +- `addToWishlist` - a function used to add new product to wishlist. When invoked, it submits data to the API and populates the `wishlist` property with updated information. -- `removeFromWishlist` - function that removes products from the wishlist. It submits data to the API and populates updated `wishlist` property. +- `removeFromWishlist` - a function that removes products from the wishlist. It submits data to the API and populates the updated `wishlist` property. -- `clearWishlist` - function that removes all products from the wishlist and populates clear `wishlist` property. +- `clearWishlist` - a function that removes all products from the wishlist and populates clear `wishlist` property. -- `isInWishlist` - function that checks if product is on the wishlist. It returns boolean value. +- `isInWishlist` - a function that checks if a product is on the wishlist. It returns a boolean value. ## Getters -Because `wishlist` property is a raw response with some additional properties, it's recommended to use `wishlistGetters` for accessing any data from it. It includes following helper functions: +Because `wishlist` property is a raw response with some additional properties, it's recommended to use `wishlistGetters` for accessing any data from it. It includes the following helper functions: - `getWishlistItems` - returns list of products on wishlist @@ -41,17 +41,17 @@ Because `wishlist` property is a raw response with some additional properties, i - `getWishlistItemPrice` - returns product's price from wishlist. -- `getWishlistItemQty` - returns quantity of product which is on wishlist. +- `getWishlistItemQty` - returns the quantity of a product that is on the wishlist. - `getWishlistItemAttributes` - returns product variant attribute chosen by its name. - `getWishlistItemSku` - returns product's SKU code. -- `getWishlistShippingPrice` - returns price of products. +- `getWishlistShippingPrice` - returns a price of products. -- `getWishlistTotalItems` - returns amount of all items that are currently on wishlist. +- `getWishlistTotalItems` - returns an amount of all items that are currently on the wishlist. -- `getFormattedPrice` - returns price in formatted manner taking into account local specifics. +- `getFormattedPrice` - returns price in a formatted manner, taking into account local specifics. Interface for the above getter looks like this: diff --git a/packages/core/docs/commercetools/extensions/user-groups.md b/packages/core/docs/commercetools/extensions/user-groups.md index 3560a85db1..1745c9e57c 100644 --- a/packages/core/docs/commercetools/extensions/user-groups.md +++ b/packages/core/docs/commercetools/extensions/user-groups.md @@ -1,10 +1,10 @@ # `User groups` -> This feature is a part of our commercial offering and does not exist in Open Source version of commercetools integration. Read more about a Vue Storefront Enterprise Cloud [here](https://www.vuestorefront.io/enterprise) +> This feature is a part of our commercial offering and does not exist in the open-source version of commercetools integration. Read more about a Vue Storefront Enterprise Cloud [here](https://www.vuestorefront.io/enterprise) ## Features -User groups is the feature commonly used to assign dedicated benefits, such as discounts, price rules, special prices to the specific type of customers, instead of each individual customer separately. +User groups is a feature commonly used to assign dedicated benefits, such as discounts, price rules, and special prices to the specific type of customers, instead of each individual customer separately. ## API @@ -19,13 +19,13 @@ type UpdateResult = MutationResponse<'customer', Customer> - `addCustomerToGroup: (customer: CustomerIdentifier, group: ResourceIdentifierInput) => Promise` - adds user to the group - `removeCustomerFromGroup: (customer: CustomerIdentifier) => Promise` - removes user from the group -- `setup` - it configures the api client within the enterprise package. It expects the fully configured apollo client, so we recommend to configure the original api-client first and pass this configuration to the enterprise package (example below). +- `setup` - it configures the API client within the enterprise package. It expects the fully configured apollo client, so we recommend configuring the original API-client first and pass this configuration to the enterprise package (example below). ## Example -We strongly recommend to use these functions in our middleware as they require wider permissions. Using it purely on the front-end side affects security. +We strongly recommend using these functions in our middleware as they require wider permissions. Using it purely on the front-end side affects security. -In order to create our middleware, firstly you have to register your middleware in the configuration: +In order to create our middleware, firstly, you have to register your middleware in the configuration: ```js import customerGroupsMiddleware from './customerGroupsMiddleware' @@ -76,4 +76,4 @@ export default (app) => { }; ``` -Please note that we configure the API client from scratch, because we should use a different one for the server-side communication with the different scopes and permissions. +Please note that we configure the API client from scratch because we should use a different one for the server-side communication with the different scopes and permissions. diff --git a/packages/core/docs/commercetools/getting-started.md b/packages/core/docs/commercetools/getting-started.md index 4dfdcf073a..a68492f7e0 100644 --- a/packages/core/docs/commercetools/getting-started.md +++ b/packages/core/docs/commercetools/getting-started.md @@ -1,13 +1,13 @@ # Getting started -## Configuring your Commercetools integration +## Configuring your commercetools integration -If you [generated your project from our CLI](/general/getting-started.html) your shop will be connected to our demo Commercetools instance. +If you [generated your project from our CLI](/general/getting-started.html) your shop will be connected to our demo commercetools instance. If you haven't generated your project just to play with Vue Storefront and understand its capabilities the first thing you should do after setting it up is changing the credentials to point into your instance. -You can generate credentials for Commercetools API in Commercetools Merchant Center by going into: +You can generate credentials for commercetools API in commercetools Merchant Center by going into: _Settings > API clients > "Create new api Client"_ and picking _"Mobile & single-page application client"_ template. @@ -33,8 +33,8 @@ Then paste these credentials into `ct` config object inside `integrations` in `m } ``` -There is plenty of other configuration options and you can check them [here](./configuration.md) +There is plenty of other configuration options, and you can check them [here](./configuration.md) ## Configuring other integrations -Depending on the configuration and if you're using Enterprise version you could have additional integrations to set up. You will find their configurations in `middleware.config.js` +Depending on the configuration and version of Vue Storefront used, you could have additional integrations to set up. You will find their settings in `middleware.config.js` diff --git a/packages/core/docs/commercetools/maintainers.md b/packages/core/docs/commercetools/maintainers.md index 8b7112aa72..58519aaa8e 100644 --- a/packages/core/docs/commercetools/maintainers.md +++ b/packages/core/docs/commercetools/maintainers.md @@ -1,6 +1,6 @@ # Maintainers and support -The Commercetools integration is developed and maintained by **Vue Storefront core team**. +The commercetools integration is developed and maintained by **Vue Storefront core team**. ## Support diff --git a/packages/core/docs/commercetools/use-facet.md b/packages/core/docs/commercetools/use-facet.md index 856c0282df..e2f523423a 100644 --- a/packages/core/docs/commercetools/use-facet.md +++ b/packages/core/docs/commercetools/use-facet.md @@ -1,7 +1,7 @@ # `useFacet` :::warning -This feature is a part of our commercial offering but also exists in the Open Source version of our commercetools integration. +This feature is a part of our commercial offering but also exists in the open-source version of our commercetools integration. Open Source implementation relies on GraphQL API (internally using `getProduct` and `getCategory` composables), which doesn't provide full faceting capabilities as does the dedicated REST-based faceting API offered in our Enterprise version. Please [contact our Sales team](https://www.vuestorefront.io/contact/sales) if you'd like to get access to it. ::: @@ -42,7 +42,7 @@ interface AgnosticFacetSearchParams { - `loading` - reactive object containing information about the loading state of `search`. -- `error` - reactive object containing the error message, if `search` failed for any reason. +- `error` - reactive object containing the error message if `search` failed for any reason. ```ts interface UseFacetErrors { diff --git a/packages/core/docs/composables/use-cart.md b/packages/core/docs/composables/use-cart.md index ce0a2b44c1..f37de360f4 100644 --- a/packages/core/docs/composables/use-cart.md +++ b/packages/core/docs/composables/use-cart.md @@ -3,7 +3,7 @@ ## When to use it? Use `useCart` to: -- fetch current cart +- fetch the current cart - add/remove/change quantity of cart items - apply/remove discount coupons - check if a product is already in the cart diff --git a/packages/core/docs/composables/use-user.md b/packages/core/docs/composables/use-user.md index 04fb3d30ec..69b7111962 100644 --- a/packages/core/docs/composables/use-user.md +++ b/packages/core/docs/composables/use-user.md @@ -4,7 +4,7 @@ Use `useUser` to: - manage user authentication -- manage authentication data like email address, login or password. +- manage authentication data like email address, login, or password. If you want to fetch/save other user data you should use the following composables: - [`useUserBilling`](./use-user-billing.md) diff --git a/packages/core/docs/composables/use-wishlist.md b/packages/core/docs/composables/use-wishlist.md index 171d2f2f0e..d1a9ae88d0 100644 --- a/packages/core/docs/composables/use-wishlist.md +++ b/packages/core/docs/composables/use-wishlist.md @@ -5,7 +5,7 @@ Use `useWishlist` to: - fetch current wishlist - add/remove/change quantity of wishlist items -- check if a product is already in the wishlist +- check if a product is already on the wishlist ## How to use it in your project? diff --git a/packages/core/docs/contributing/README.md b/packages/core/docs/contributing/README.md index 79c99f7a97..caaae978f9 100644 --- a/packages/core/docs/contributing/README.md +++ b/packages/core/docs/contributing/README.md @@ -1,12 +1,12 @@ # Contributing -If you want to contribute into Vue Storefront Next you should: +If you want to contribute to Vue Storefront 2 you should: -1. Pick an issue from [our GitHub](https://github.com/DivanteLtd/vue-storefront/) with a `Next` label +1. Pick an issue from [our GitHub](https://github.com/vuestorefront/vue-storefront/) with a `Next` label 2. Comment on the issues that you'd like to work on it. 3. Fork our repository and create a new branch where you will develop the issue. 4. When you finish work on your issue, follow this [instruction](/contributing/creating-changelog) to create information regarding this issue for our changelog. 5. Propose a Pull Request with title following [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) -6. Wait for review of a core team member. We will write down our suggestions to your Pull Request or just merge it. +6. Wait for a review of a core team member. We will write down our suggestions to your Pull Request or just merge it. Thank you for your involvement! \ No newline at end of file diff --git a/packages/core/docs/contributing/api-design-philosophy.md b/packages/core/docs/contributing/api-design-philosophy.md index 2a4cbc7d76..498e457e98 100644 --- a/packages/core/docs/contributing/api-design-philosophy.md +++ b/packages/core/docs/contributing/api-design-philosophy.md @@ -1,17 +1,17 @@ # Vue Storefront API Design Philosophy -While designing something so complex as Vue Storefront it's vital to set up rules that will guide us when designing APIs. The purpose of those rules is to make sure that problems ale solved in a similar, predictable and consistent to understand way which will highly contribute to the learning curve of the framework itself. +While designing something so complex as Vue Storefront, it's vital to set up rules that will guide us when designing APIs. The purpose of those rules is to make sure that problems are solved in a similar, predictable, and consistent to understand way, which will highly contribute to the learning curve of the framework itself. ## General rules -1. We build **simple**, **declarative** and **general-purpose** APIs that are not tied to implementation details or a specific solution to a problem. That way we can ensure that our APIs will remain general-purpose and won't break on updates even if we do heavy changes in the underlying business logic. -2. API Surface should be possibly minimal. If there is a feature that can be achieved with already existing APIs we shouldn't add new ones just to make it simplier. -3. Focus on good defaults and embracing [convention over configuration](https://en.wikipedia.org/wiki/Convention_over_configuration) paradigm. Every API should work as it is for most of the use cases and have ability to be configured for other ones. -4. If you introduce a new, commonly used feature (like cache) try to provide a default configuration out of the box and let users customize it so they don't have to configure for the most common use cases, only for custom ones. This approach will dreastically reduce the number of boilerplate code users has to write. +1. We build **simple**, **declarative**, and **general-purpose** APIs that are not tied to implementation details or a specific solution to a problem. That way, we can ensure that our APIs will remain general-purpose and will not break on updates even if we do heavy changes in the underlying business logic. +2. API Surface should be possibly minimal. If there is a feature that can be achieved with already existing APIs, we shouldn't add new ones just to make it simpler. +3. Focus on good defaults and embracing [convention over configuration](https://en.wikipedia.org/wiki/Convention_over_configuration) paradigm. Every API should work as it is for most of the use cases and have the ability to be configured for other ones. +4. If you introduce a new, commonly used feature (like cache), try to provide a default configuration out of the box and let users customize it, so they don't have to configure for the most common use cases, only for custom ones. This approach will drastically reduce the number of boilerplate code users has to write. ```js -import { ueProduct } from '@vue-storefront/{eCommerce}' +import { useProduct } from '@vue-storefront/{INTEGRATION}' import { cacheManager } from '@vue-storefront/core' const { search } = useProduct() @@ -25,7 +25,7 @@ cacheManager.setTags((tags) => { return tags }) ``` -5. APIs should not limit the users. If we can't fulfill all use cases with parameters we should provide extension points so users can do this by themselves. +5. APIs should not limit the users. If we can't fulfill all use cases with parameters, we should provide extension points so users can do this by themselves. 6. Same code should work on every platform (excluding specific object properties and search params) 7. Follow Domain-Driven Design principles. Try to keep everything related to a specific domain within its composable. ``` @@ -57,18 +57,18 @@ const removeFromCart = async (product: CART_ITEM, customQuery?: CustomQuery) => logger: customLogger }] ``` -10. If a feature is platform-specific and not shared across whole application provide integration through its config/nuxt module. +10. If a feature is platform-specific and not shared across the whole application, provide integration through its config/nuxt module. 11. Provide a core interface for every feature, no matter if its paid or not (implementation can be paid, the way of implementing this feature by the user has to be always provided) ## Composables -We try to cover each subdomain of the eCommerce domain with a dedicated composable. For example we have a composable for Users Management domain, inventory domain, product catalog domain etc. If you have to add a new feature always think about business domain it correlates to and based on that decide if it should be a new composable or an existing one. +We try to cover each subdomain of the eCommerce domain with a dedicated composable. For example, we have a composable for Users Management domain, inventory domain, product catalog domain, etc. If you have to add a new feature, always think about the business domain it correlates to and, based on that, decide if it should be a new composable or an existing one. -If composables share the same category/prefix it means that they most likely also share the same context eg. `useUserOrder` `useUserShipping` `useUserBilling` are all subcomposables of `useUser` and their content depends on this composable. +If composables share the same category/prefix, it means that they most likely also share the same context, e.g., `useUserOrder` `useUserShipping` `useUserBilling` are all sub-composables of `useUser`, and their content depends on this composable. -Each composable has usually 3 pieces: -- main data object (eg `products`) -- supportive data object/s (eg `loading`, `error`) +Each composable usually has three pieces: +- main data object (e.g. `products`) +- supportive data object/s (e.g. `loading`, `error`) - search/load function (eg `search`) ```js @@ -77,5 +77,5 @@ const { search, products, loading, erro } = useProduct() ### search or load As a rule of thumb use -- `search` when you have to pass some search parameters (eg. in products search) -- `load` when you just have to load some content based on cookies/local storage etc (eg. cart load) \ No newline at end of file +- `search` when you have to pass some search parameters (e.g., in products search) +- `load` when you just have to load some content based on cookies/local storage etc. (e.g., cart load) \ No newline at end of file diff --git a/packages/core/docs/contributing/creating-changelog.md b/packages/core/docs/contributing/creating-changelog.md index 9a71f0ba45..5993196024 100644 --- a/packages/core/docs/contributing/creating-changelog.md +++ b/packages/core/docs/contributing/creating-changelog.md @@ -6,8 +6,8 @@ There are just a few steps to do in order to create the changelog. ## Steps -1. Go to folder `/changelog`, create a `.js` file, and give it the same name as a number of your current issue from GitHub. For example `4523.js` -2. Copy this code below, paste it inside your `.js` file and fill it in with your data +1. Go to folder `/changelog`, create a `.js` file, and give it the same name as a number of your current issue from GitHub. For example, `4523.js`. +2. Copy this code below, paste it inside your `.js` file and fill it in with your data. ```js module.exports = { @@ -26,7 +26,7 @@ module.exports = { linkToGitHubAccount: "link to your github account", } ``` -3. Save all changes and that's all +3. Save all changes. @@ -92,7 +92,8 @@ export default ({ ``` -Inside your application you'll also need to register your UI components that willing to render. +Inside your application, you'll also need to register the UI components +to render. ## Usage example in the real application diff --git a/packages/core/docs/integrations/adyen.md b/packages/core/docs/integrations/adyen.md index b1fa9dd40c..d3221cd7cd 100644 --- a/packages/core/docs/integrations/adyen.md +++ b/packages/core/docs/integrations/adyen.md @@ -121,13 +121,13 @@ type PaymentAndOrder = Payment & { order: Order } 5. Add an `origin` to the allowed origins in Adyen's dashboard. You can do it in the same place where you looked for the `clientKey`. -6. Commercetools shares [Adyen integration](https://github.com/commercetools/commercetools-adyen-integration). We recommend to deploy it as a Google Function or an AWS Lambda. Make sure to configure and deploy both [extension](https://github.com/commercetools/commercetools-adyen-integration/tree/master/extension) and [notification](https://github.com/commercetools/commercetools-adyen-integration/tree/master/notification) module. Check readme of [the repository](https://github.com/commercetools/commercetools-adyen-integration) for details. +6. commercetools shares [Adyen integration](https://github.com/commercetools/commercetools-adyen-integration). We recommend deploying it as a Google Function or an AWS Lambda. Make sure to configure and deploy both [extension](https://github.com/commercetools/commercetools-adyen-integration/tree/master/extension) and [notification](https://github.com/commercetools/commercetools-adyen-integration/tree/master/notification) module. Check readme of [the repository](https://github.com/commercetools/commercetools-adyen-integration) for details. :::warning Bigger permissions for extensions -As you can see in `commercetools-adyen-integration` repository, commercetools recommends to use `manage_project` scope for both notification and extension module. +As you can see in `commercetools-adyen-integration` repository, commercetools recommends using `manage_project` scope for both notification and extension module. ::: -7. Use `PaymentAdyenProvider.vue` as a last step of the checkout process. This component will mount Adyen's Web Drop In and handle payment process for you. +7. Use `PaymentAdyenProvider.vue` as a last step of the checkout process. This component will mount Adyen's Web Drop-In and handle payment process for you. ```vue void` - Called after we got an error from either Adyen or our API. ## Placing an order -If the transaction is authorized, the server's controller for `payAndOrder`/`submitAdditionalPaymentDetails` will place an order in Commercetools and apply the `order` object to the response. Thanks to that, we have only one request from the client to both finalize/authorize a payment and make an order. +If the transaction is authorized, the server's controller for `payAndOrder`/`submitAdditionalPaymentDetails` will place an order in commercetools and apply the `order` object to the response. Thanks to that, we have only one request from the client to both finalize/authorize the payment and make an order. ## Checkout.com Adyen's module isn't compatible with [Checkout.com's module](https://github.com/vuestorefront/checkout-com). @@ -233,17 +233,17 @@ Open the `Network` tab in the browser's devtools. Each payment request will have `ctApi.apiHost` property inside your `middleware.config.js` contains wrong path. It should be `https://.com/` instead of `https://.com//graphql` ### Error: The type with the key 'ctp-adyen-integration-web-components-payment-type' was not found -You have to add new types and extension to commercetools as described on these pages: +You have to add new types and extensions to commercetools as described on these pages: - [Extension Module](https://github.com/commercetools/commercetools-adyen-integration/blob/master/extension/docs/HowToRun.md#commercetools-project-requirements), - [Notification Module](https://github.com/commercetools/commercetools-adyen-integration/blob/master/notification/docs/HowToRun.md#commercetools-project-requirements). For more information, see the 6th step of the [Adyen's installation guide](./adyen.html#installation). -### Klarna Pay Later does not work for United States +### Klarna Pay Later does not work for the United States Klarna Pay Later is not supported in the United States. However, sometimes it is added when you enable Klarna in Adyen's dashboard. If you have this problem, contact Adyen's support to remove it. ### 3DS2 Auth doesn't work in one environment -There might be a situation when you can finish 3DS2 Auth in the local environment but not in the other, like staging. When this happens, make sure to change `origin` in the `middleware.config.js` from `http://localhost:3000` to the URL of your staging environment. +There might be a situation when you can finish 3DS2 Auth in the local environment but not in the other, like staging. When this happens, make sure to change `origin` in the `middleware.config.js` from `http://localhost:3000` to the URL of your staging environment. -### Structure of DetailsRequest contains the following unknown fields... +### Structure of DetailsRequest contains the following unknown fields Update extension and notification modules to the [newest available version](https://github.com/commercetools/commercetools-adyen-integration/releases) by updating the tag in `extension.Dockerfile` and `notification.Dockerfile`. diff --git a/packages/core/docs/integrations/bazaarvoice.md b/packages/core/docs/integrations/bazaarvoice.md index a89d7b1ea2..769b36f783 100644 --- a/packages/core/docs/integrations/bazaarvoice.md +++ b/packages/core/docs/integrations/bazaarvoice.md @@ -8,7 +8,7 @@ This feature is part of the Enterprise version. Please [contact our Sales team]( This package provides integration with [Bazaarvoice](https://www.bazaarvoice.com/). -Bazaarvoice (BV) provides two SDKs to integrate with their platform - `bvapi.js` and `bv.js`. The latter is recommended because of the performance improvements and this is what is package uses under the hood. +Bazaarvoice (BV) provides two SDKs to integrate with their platform - `bvapi.js` and `bv.js`. The latter is recommended because of the performance improvements, and this is what is package uses under the hood. We recommend reading [this documentation page](https://knowledge.bazaarvoice.com/wp-content/conversations-prr/en_US/display/integrating_content_bv_js.html) before using the package. @@ -53,12 +53,12 @@ export default { ``` * `clientName` - the lowercase name of the client provided by Bazaarvoice. -* `siteId` - the ID of the zone coming from Bazaarvoice configuration hub. Defaults to `main_site`. +* `siteId` - the ID of the zone coming from the Bazaarvoice configuration hub. Defaults to `main_site`. * `environment` - the deployment environment. Valid values are `production` and `staging`. Defaults to `staging`. -* `locale` - the locale used by the library, eg. `en_US`. +* `locale` - the locale used by the library, e.g. `en_US`. -::: warning Domain white list -For security reasons, Bazaarvoice uses a white list of allowed domains. +::: warning Domain allowlist +For security reasons, Bazaarvoice uses an allowlist of allowed domains. ::: ::: tip Use localhost @@ -101,7 +101,7 @@ Questions component displays questions and answers provided by the customers reg #### `BvRatingSummary` -The rating summary component (also called "fast stars") displays average rating, the total number of reviews, and rating distribution when hovered. +The rating summary component (also called "fast stars") displays the average rating, the total number of reviews, and rating distribution when hovered. ```html diff --git a/packages/core/docs/shopify/README.md b/packages/core/docs/shopify/README.md index 9492143b55..eb4dd7e017 100755 --- a/packages/core/docs/shopify/README.md +++ b/packages/core/docs/shopify/README.md @@ -8,4 +8,4 @@ This page only contains the documentation specific to Shopify integration. For m If you want to preview our product, feel free to visit our [demo](https://shopify-pwa.aureatelabs.com/) application. -You can also support us by contributing [here](https://github.com/vuestorefront/shopify). \ No newline at end of file +You can also support us by contributing [here](https://github.com/vuestorefront/shopify). diff --git a/packages/core/docs/shopify/checkout.md b/packages/core/docs/shopify/checkout.md index 4a6dadc9a8..70bde9cd7f 100644 --- a/packages/core/docs/shopify/checkout.md +++ b/packages/core/docs/shopify/checkout.md @@ -1,17 +1,16 @@ # Checkout Flow -This tutorial shows a Shopify integrator how Storefront API are used in the lifecycle of an order, including creating - cart, preparing for checkout and more order-related tasks. +This tutorial shows a Shopify integrator how Storefront API is used in the lifecycle of an order, including creating + cart, preparing for checkout, and more order-related tasks. #### Before you begin -Let's know more about the Shopify Storefront API. Storefront API gives you full creative control to add Shopify -buying experiences anywhere your customers are, including websites, apps, and video games. Access product -information, create customer orders, and check out purchases programmatically. +Let's get to know more about the Shopify Storefront API. Storefront API gives you full creative control to add Shopify +buying experiences anywhere your customers are, including websites, apps, and video games. Access product information, create customers' orders, and check out purchases programmatically. The Storefront API is composed of the following: -**Customers** - Information about customers in Shopify such as their shipping address and display name. +**Customers** - Information about customers in Shopify, such as their shipping address and display name. -**Nodes** - Set of Shopify Storefront API root nodes, including Checkouts, Collections, Orders, Payments etc. See a +**Nodes** - Set of Shopify Storefront API root nodes, including Checkouts, Collections, Orders, Payments, etc. See a complete list of nodes [here.](https://shopify.dev/docs/storefront-api/reference/object) **Shops** - Shop information such as billing address, currency code, and domain. @@ -23,11 +22,11 @@ Using the Storefront API, you can: * Create new customers or modify existing ones, including address information. * Allow customers to select unique product options. -This **5-step** tutorial generally takes 30 minutes to understand complete lifecycle of checkout. +This **5-step** tutorial generally takes 30 minutes to understand the complete lifecycle of checkout. ### Step 1: Get Product -Retrieve the product information from Shopify store. Use the `useProduct` composable method to retrieve product by -handle (url key) or product id. +Retrieve the product information from Shopify store. Use the `useProduct` composable method to retrieve products by +handle (URL key) or product id. This example fetch a single product by handle. ```typescript @@ -108,9 +107,9 @@ export default { * [useCart](/shopify/use-cart) provides additional information about the cart. ### Step 4: Go to Checkout -In this step, redirect the customer on Shopify checkout page to complete the order. +In this step, redirect the customer to Shopify checkout page to complete the order. -First, obtain the checkout URL from cart object. +First, obtain the checkout URL from the cart object. ```javascript const { cart, loadCart } = useCart(); @@ -127,12 +126,12 @@ First, obtain the checkout URL from cart object. }; ``` -The checkout URL look like the following: +The checkout URL looks like the following: ```javascript const checkoutUrl = 'https://shopify-pwa.aureatelabs.com/40719024288/checkouts/9882505fd32f9432c5b72e213ed0d7b8'; ``` -Now, add the following link on cart page. +Now, add the following link to the cart page. ```Vue -``` - -## Removing items and changing their quantity - -To remove an item from the cart, use `removeItem` method, and similarly to update quantity, use `updateItemQty` method: - -```vue - - - -``` - -## Checking if an item is in the cart - -To check if a specific product configuration is already in the cart, pass it to `isInCart` method: - -```js -import { computed } from '@vue/composition-api'; -import { useCart } from '{INTEGRATION}'; - -export default { - props: { - products: { - type: Array, - required: true - } - }, - setup() { - const { isInCart } = useCart(); - - return { - isInCart - }; - } -}; - -``` - -## Removing all cart items at once - -To clear cart items (without deleting the cart itself), use `clear` method. - -```vue - - -``` - - -## Applying and removing discount coupons - -You can apply promotional coupons to your cart with `applyCoupon` and remove them with `removeCoupon` method: - -```vue - - -``` +Customer's cart can be loaded using `useWishlist` composable and data can be accessed using `wishlistGetters`. ## Loading and creating the wishlist @@ -253,7 +8,7 @@ The `load` method will load your cart from the server or create a new one if it ```vue -``` From bdc90e75566ec85dacd8eb5883e48d73051f929a Mon Sep 17 00:00:00 2001 From: Filip Sobol Date: Wed, 6 Oct 2021 08:56:45 +0200 Subject: [PATCH 34/53] chore(docs): update Shopify link (#6422) --- packages/core/docs/.vuepress/integrations.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/docs/.vuepress/integrations.js b/packages/core/docs/.vuepress/integrations.js index 370977269d..6f68022507 100644 --- a/packages/core/docs/.vuepress/integrations.js +++ b/packages/core/docs/.vuepress/integrations.js @@ -75,7 +75,7 @@ const INTEGRATIONS = { }, { name: 'Shopify', - link: '/v2/shopify', + link: 'https://docs.vuestorefront.io/shopify', image: 'https://uploads-ssl.webflow.com/5e90e5cd5f86784ad554a3c2/5ed627658b992c5c98014d1c_Shopify_logo_2018%201.svg', status: STATUSES.STABLE, availability: AVAILABILITY.OPEN_SOURCE, From 8a57e0b2f65b51add091bae6dce896bd9de90970 Mon Sep 17 00:00:00 2001 From: Filip Sobol Date: Wed, 6 Oct 2021 15:20:22 +0200 Subject: [PATCH 35/53] Generate OpenGraph image for docs during the build (#6428) * [Docs] Automatically generate og:image * Update * Update * Update --- packages/core/docs/.vuepress/config.js | 4 +- .../core/docs/.vuepress/plugins/meta/index.js | 114 + .../plugins/meta/logo-horizontal.png | Bin 0 -> 19398 bytes .../.vuepress/plugins/meta/logo-vertical.png | Bin 0 -> 14725 bytes .../core/docs/.vuepress/plugins/meta/logo.png | Bin 0 -> 23839 bytes .../docs/.vuepress/plugins/meta/template.html | 57 + packages/core/docs/package.json | 1 + yarn.lock | 4670 ++++++++--------- 8 files changed, 2434 insertions(+), 2412 deletions(-) create mode 100644 packages/core/docs/.vuepress/plugins/meta/index.js create mode 100644 packages/core/docs/.vuepress/plugins/meta/logo-horizontal.png create mode 100644 packages/core/docs/.vuepress/plugins/meta/logo-vertical.png create mode 100644 packages/core/docs/.vuepress/plugins/meta/logo.png create mode 100644 packages/core/docs/.vuepress/plugins/meta/template.html diff --git a/packages/core/docs/.vuepress/config.js b/packages/core/docs/.vuepress/config.js index bb0c1f9c33..8af07b0649 100644 --- a/packages/core/docs/.vuepress/config.js +++ b/packages/core/docs/.vuepress/config.js @@ -1,3 +1,4 @@ +const { resolve } = require('path'); const { STATUSES, AVAILABILITY, CATEGORIES, INTEGRATIONS } = require('./integrations'); const GTM_TAG = 'GTM-WMDC3CP'; @@ -76,7 +77,8 @@ module.exports = { } ], '@vuepress/active-header-links', - '@vuepress/search' + '@vuepress/search', + resolve(__dirname, './plugins/meta/index.js') ], /** diff --git a/packages/core/docs/.vuepress/plugins/meta/index.js b/packages/core/docs/.vuepress/plugins/meta/index.js new file mode 100644 index 0000000000..b106dad9dc --- /dev/null +++ b/packages/core/docs/.vuepress/plugins/meta/index.js @@ -0,0 +1,114 @@ +const { resolve } = require('path'); +const { readFileSync, existsSync, mkdirSync } = require('fs'); +const nodeHtmlToImage = require('node-html-to-image'); + +/** + * Name of the fallback image, when title is not available + */ +const FALLBACK_PATH = 'fallback.jpg'; + +/** + * Vue Storefront logo buffer + */ +const VSF_LOGO_BUFFER = new Buffer + .from(readFileSync(resolve(__dirname,'./logo-horizontal.png'))) + .toString('base64'); + + /** + * Helper function to fill PAGES array + */ +function pageToContent({ outDir, title, fileName }) { + return { + title, + image: `data:image/jpeg;base64,${ VSF_LOGO_BUFFER }`, + output: resolve(outDir, fileName), + type: 'jpeg', + selector: '.banner' + }; +} + +module.exports = (options, context) => { + if (!context.isProd) { + return; + } + + return { + name: 'vue-storefront-meta', + + async generated() { + const outDir = resolve(context.outDir, './og-images'); + + const fallback = pageToContent({ + outDir, + title: 'Vue Storefront documentation', + fileName: FALLBACK_PATH + }); + + const pages = context.pages + .filter(({ title }) => Boolean(title)) + .map(page => pageToContent({ + outDir, + title: page.title, + fileName: `${ page.key }.jpg` + })) + .concat(fallback); + + if (!existsSync(outDir)) { + mkdirSync(outDir, { recursive: true }); + } + + await nodeHtmlToImage({ + html: readFileSync(resolve(__dirname, './template.html'), 'utf8'), + content: pages, + puppeteerArgs: { + args: [ + '--autoplay-policy=user-gesture-required', + '--disable-background-networking', + '--disable-background-timer-throttling', + '--disable-backgrounding-occluded-windows', + '--disable-breakpad', + '--disable-client-side-phishing-detection', + '--disable-component-update', + '--disable-default-apps', + '--disable-dev-shm-usage', + '--disable-domain-reliability', + '--disable-extensions', + '--disable-features=AudioServiceOutOfProcess', + '--disable-hang-monitor', + '--disable-ipc-flooding-protection', + '--disable-notifications', + '--disable-offer-store-unmasked-wallet-cards', + '--disable-popup-blocking', + '--disable-print-preview', + '--disable-prompt-on-repost', + '--disable-renderer-backgrounding', + '--disable-setuid-sandbox', + '--disable-speech-api', + '--disable-sync', + '--hide-scrollbars', + '--ignore-gpu-blacklist', + '--metrics-recording-only', + '--mute-audio', + '--no-default-browser-check', + '--no-first-run', + '--no-pings', + '--no-sandbox', + '--no-zygote', + '--password-store=basic', + '--use-gl=swiftshader', + '--use-mock-keychain', + ] + } + }); + }, + + async extendPageData({ key, frontmatter }) { + frontmatter.meta = [ + { + property: 'og:image', + content: `${ context.base }og-images/${ key }.jpg` + } + ]; + } + } +}; diff --git a/packages/core/docs/.vuepress/plugins/meta/logo-horizontal.png b/packages/core/docs/.vuepress/plugins/meta/logo-horizontal.png new file mode 100644 index 0000000000000000000000000000000000000000..72e339d02b451d5d1518cb02dd103b7b735a0ad2 GIT binary patch literal 19398 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

    0F9%8w4^+rl{R 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 literal 0 HcmV?d00001 diff --git a/packages/core/docs/.vuepress/plugins/meta/logo.png b/packages/core/docs/.vuepress/plugins/meta/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fc7d56276b7de602f34ae03a0368f2c0847e3a84 GIT binary patch literal 23839 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 m=3@1H<`;kH|M{Csv;P)+c%gJO3KDJr0000 + + + + + + Document + + + + + + +

    + + \ No newline at end of file diff --git a/packages/core/docs/package.json b/packages/core/docs/package.json index 3df03b5bbf..80443eb211 100644 --- a/packages/core/docs/package.json +++ b/packages/core/docs/package.json @@ -26,6 +26,7 @@ "@vuepress/plugin-medium-zoom": "^1.8.2", "@vuepress/plugin-search": "^1.8.2", "handlebars": "^4.7.7", + "node-html-to-image": "^3.2.0", "typescript": "^3.6.4", "vuepress": "^1.2.0" }, diff --git a/yarn.lock b/yarn.lock index 8120cc68de..211e870d73 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,7 +2,25 @@ # yarn lockfile v1 -"@apollo/client@^3.2.5", "@apollo/client@^3.3.21", "@apollo/client@~3.2.5 || ~3.3.0": +"@apollo/client@^3.2.5", "@apollo/client@^3.2.9", "@apollo/client@^3.3.21": + version "3.4.16" + resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.4.16.tgz#67090d5655aa843fa64d26f1913315e384a5fa0f" + integrity sha512-iF4zEYwvebkri0BZQyv8zfavPfVEafsK0wkOofa6eC2yZu50J18uTutKtC174rjHZ2eyxZ8tV7NvAPKRT+OtZw== + dependencies: + "@graphql-typed-document-node/core" "^3.0.0" + "@wry/context" "^0.6.0" + "@wry/equality" "^0.5.0" + "@wry/trie" "^0.3.0" + graphql-tag "^2.12.3" + hoist-non-react-statics "^3.3.2" + optimism "^0.16.1" + prop-types "^15.7.2" + symbol-observable "^4.0.0" + ts-invariant "^0.9.0" + tslib "^2.3.0" + zen-observable-ts "~1.1.0" + +"@apollo/client@~3.2.5 || ~3.3.0": version "3.3.21" resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.3.21.tgz#2862baa4e1ced8c5e89ebe6fc52877fc64a726aa" integrity sha512-RAmZReFuKCKx0Rs5C0nVJwKomAHUHn+gGP/YvbEsXQWu0sXoncEUZa71UqlfCPVXa/0MkYOIbCXSQdOcuRrHgw== @@ -21,24 +39,6 @@ tslib "^1.10.0" zen-observable "^0.8.14" -"@apollo/client@^3.2.9": - version "3.4.8" - resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.4.8.tgz#66d06dc1784d07d46731b3bda546046f8c280b74" - integrity sha512-/cNqTSwc2Dw8q6FDDjdd30+yvhP7rI0Fvl3Hbro0lTtFuhzkevfNyQaI2jAiOrjU6Jc0RbanxULaNrX7UmvjSQ== - dependencies: - "@graphql-typed-document-node/core" "^3.0.0" - "@wry/context" "^0.6.0" - "@wry/equality" "^0.5.0" - "@wry/trie" "^0.3.0" - graphql-tag "^2.12.3" - hoist-non-react-statics "^3.3.2" - optimism "^0.16.1" - prop-types "^15.7.2" - symbol-observable "^4.0.0" - ts-invariant "^0.9.0" - tslib "^2.3.0" - zen-observable-ts "^1.1.0" - "@ardatan/aggregate-error@0.0.6": version "0.0.6" resolved "https://registry.yarnpkg.com/@ardatan/aggregate-error/-/aggregate-error-0.0.6.tgz#fe6924771ea40fc98dc7a7045c2e872dc8527609" @@ -53,29 +53,17 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" - integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== - dependencies: - "@babel/highlight" "^7.12.13" - -"@babel/code-frame@^7.14.5": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.3": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== dependencies: "@babel/highlight" "^7.14.5" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.13.12", "@babel/compat-data@^7.13.15", "@babel/compat-data@^7.13.8": - version "7.13.15" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.15.tgz#7e8eea42d0b64fda2b375b22d06c605222e848f4" - integrity sha512-ltnibHKR1VnrU4ymHyQ/CXtNXI6yZC0oJThyW78Hft8XndANwi+9H+UIklBDraIjFEJzw8wmcM427oDd9KS5wA== - -"@babel/compat-data@^7.14.5", "@babel/compat-data@^7.14.7": - version "7.14.7" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.7.tgz#7b047d7a3a89a67d2258dc61f604f098f1bc7e08" - integrity sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw== +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.14.0", "@babel/compat-data@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.15.0.tgz#2dbaf8b85334796cafbb0f5793a90a2fc010b176" + integrity sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA== "@babel/core@7.4.5": version "7.4.5" @@ -97,41 +85,20 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.0.0": - version "7.14.6" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.6.tgz#e0814ec1a950032ff16c13a2721de39a8416fcab" - integrity sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA== +"@babel/core@^7.0.0", "@babel/core@^7.1.0", "@babel/core@^7.10.5", "@babel/core@^7.11.0", "@babel/core@^7.14.0", "@babel/core@^7.8.4": + version "7.15.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.15.5.tgz#f8ed9ace730722544609f90c9bb49162dc3bf5b9" + integrity sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg== dependencies: "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.14.5" - "@babel/helper-compilation-targets" "^7.14.5" - "@babel/helper-module-transforms" "^7.14.5" - "@babel/helpers" "^7.14.6" - "@babel/parser" "^7.14.6" - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.14.5" - "@babel/types" "^7.14.5" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" - -"@babel/core@^7.1.0", "@babel/core@^7.10.5", "@babel/core@^7.11.0", "@babel/core@^7.13.14", "@babel/core@^7.8.4": - version "7.13.15" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.15.tgz#a6d40917df027487b54312202a06812c4f7792d0" - integrity sha512-6GXmNYeNjS2Uz+uls5jalOemgIhnTMeaXo+yBUA72kC2uX/8VW6XyhVIo2L8/q0goKQA3EVKx0KOQpVKSeWadQ== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.13.9" - "@babel/helper-compilation-targets" "^7.13.13" - "@babel/helper-module-transforms" "^7.13.14" - "@babel/helpers" "^7.13.10" - "@babel/parser" "^7.13.15" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.13.15" - "@babel/types" "^7.13.14" + "@babel/generator" "^7.15.4" + "@babel/helper-compilation-targets" "^7.15.4" + "@babel/helper-module-transforms" "^7.15.4" + "@babel/helpers" "^7.15.4" + "@babel/parser" "^7.15.5" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -139,101 +106,64 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/generator@^7.12.13", "@babel/generator@^7.14.5", "@babel/generator@^7.5.0": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.5.tgz#848d7b9f031caca9d0cd0af01b063f226f52d785" - integrity sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA== +"@babel/generator@^7.12.13", "@babel/generator@^7.15.4", "@babel/generator@^7.4.0", "@babel/generator@^7.4.4", "@babel/generator@^7.5.0": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.4.tgz#85acb159a267ca6324f9793986991ee2022a05b0" + integrity sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.15.4" jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.13.9", "@babel/generator@^7.4.0", "@babel/generator@^7.4.4": - version "7.13.9" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.9.tgz#3a7aa96f9efb8e2be42d38d80e2ceb4c64d8de39" - integrity sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw== +"@babel/helper-annotate-as-pure@^7.14.5", "@babel/helper-annotate-as-pure@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz#3d0e43b00c5e49fdb6c57e421601a7a658d5f835" + integrity sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA== dependencies: - "@babel/types" "^7.13.0" - jsesc "^2.5.1" - source-map "^0.5.0" + "@babel/types" "^7.15.4" -"@babel/helper-annotate-as-pure@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab" - integrity sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw== - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-annotate-as-pure@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz#7bf478ec3b71726d56a8ca5775b046fc29879e61" - integrity sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz#6bc20361c88b0a74d05137a65cac8d3cbf6f61fc" - integrity sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.13.13", "@babel/helper-compilation-targets@^7.13.8", "@babel/helper-compilation-targets@^7.9.6": - version "7.13.13" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.13.tgz#2b2972a0926474853f41e4adbc69338f520600e5" - integrity sha512-q1kcdHNZehBwD9jYPh3WyXcsFERi39X4I59I3NadciWtNDyZ6x+GboOxncFK0kXlKIv6BJm5acncehXWUjWQMQ== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.14.5": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz#21ad815f609b84ee0e3058676c33cf6d1670525f" + integrity sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q== dependencies: - "@babel/compat-data" "^7.13.12" - "@babel/helper-validator-option" "^7.12.17" - browserslist "^4.14.5" - semver "^6.3.0" + "@babel/helper-explode-assignable-expression" "^7.15.4" + "@babel/types" "^7.15.4" -"@babel/helper-compilation-targets@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz#7a99c5d0967911e972fe2c3411f7d5b498498ecf" - integrity sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw== +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.13.16", "@babel/helper-compilation-targets@^7.15.4", "@babel/helper-compilation-targets@^7.9.6": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz#cf6d94f30fbefc139123e27dd6b02f65aeedb7b9" + integrity sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ== dependencies: - "@babel/compat-data" "^7.14.5" + "@babel/compat-data" "^7.15.0" "@babel/helper-validator-option" "^7.14.5" browserslist "^4.16.6" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.13.0", "@babel/helper-create-class-features-plugin@^7.13.11", "@babel/helper-create-class-features-plugin@^7.3.0": - version "7.13.11" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz#30d30a005bca2c953f5653fc25091a492177f4f6" - integrity sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw== +"@babel/helper-create-class-features-plugin@^7.14.5", "@babel/helper-create-class-features-plugin@^7.15.4", "@babel/helper-create-class-features-plugin@^7.3.0": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz#7f977c17bd12a5fba363cb19bea090394bf37d2e" + integrity sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw== dependencies: - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-member-expression-to-functions" "^7.13.0" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/helper-replace-supers" "^7.13.0" - "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/helper-annotate-as-pure" "^7.15.4" + "@babel/helper-function-name" "^7.15.4" + "@babel/helper-member-expression-to-functions" "^7.15.4" + "@babel/helper-optimise-call-expression" "^7.15.4" + "@babel/helper-replace-supers" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" -"@babel/helper-create-class-features-plugin@^7.14.5": - version "7.14.6" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.6.tgz#f114469b6c06f8b5c59c6c4e74621f5085362542" - integrity sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg== +"@babel/helper-create-regexp-features-plugin@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz#c7d5ac5e9cf621c26057722fb7a8a4c5889358c4" + integrity sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A== dependencies: "@babel/helper-annotate-as-pure" "^7.14.5" - "@babel/helper-function-name" "^7.14.5" - "@babel/helper-member-expression-to-functions" "^7.14.5" - "@babel/helper-optimise-call-expression" "^7.14.5" - "@babel/helper-replace-supers" "^7.14.5" - "@babel/helper-split-export-declaration" "^7.14.5" - -"@babel/helper-create-regexp-features-plugin@^7.12.13": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz#a2ac87e9e319269ac655b8d4415e94d38d663cb7" - integrity sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" regexpu-core "^4.7.1" -"@babel/helper-define-polyfill-provider@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz#a640051772045fedaaecc6f0c6c69f02bdd34bf1" - integrity sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw== +"@babel/helper-define-polyfill-provider@^0.2.2": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz#0525edec5094653a282688d34d846e4c75e9c0b6" + integrity sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew== dependencies: "@babel/helper-compilation-targets" "^7.13.0" "@babel/helper-module-imports" "^7.12.13" @@ -244,269 +174,146 @@ resolve "^1.14.2" semver "^6.1.2" -"@babel/helper-explode-assignable-expression@^7.12.13": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz#17b5c59ff473d9f956f40ef570cf3a76ca12657f" - integrity sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA== - dependencies: - "@babel/types" "^7.13.0" - -"@babel/helper-function-name@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a" - integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA== - dependencies: - "@babel/helper-get-function-arity" "^7.12.13" - "@babel/template" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/helper-function-name@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4" - integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== - dependencies: - "@babel/helper-get-function-arity" "^7.14.5" - "@babel/template" "^7.14.5" - "@babel/types" "^7.14.5" - -"@babel/helper-get-function-arity@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" - integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-get-function-arity@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815" - integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-hoist-variables@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.0.tgz#5d5882e855b5c5eda91e0cadc26c6e7a2c8593d8" - integrity sha512-0kBzvXiIKfsCA0y6cFEIJf4OdzfpRuNk4+YTeHZpGGc666SATFKTz6sRncwFnQk7/ugJ4dSrCj6iJuvW4Qwr2g== - dependencies: - "@babel/traverse" "^7.13.0" - "@babel/types" "^7.13.0" - -"@babel/helper-hoist-variables@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d" - integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-member-expression-to-functions@^7.13.0", "@babel/helper-member-expression-to-functions@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz#dfe368f26d426a07299d8d6513821768216e6d72" - integrity sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw== +"@babel/helper-explode-assignable-expression@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz#f9aec9d219f271eaf92b9f561598ca6b2682600c" + integrity sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g== dependencies: - "@babel/types" "^7.13.12" + "@babel/types" "^7.15.4" -"@babel/helper-member-expression-to-functions@^7.14.5": - version "7.14.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz#97e56244beb94211fe277bd818e3a329c66f7970" - integrity sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA== +"@babel/helper-function-name@^7.12.13", "@babel/helper-function-name@^7.14.5", "@babel/helper-function-name@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz#845744dafc4381a4a5fb6afa6c3d36f98a787ebc" + integrity sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw== dependencies: - "@babel/types" "^7.14.5" + "@babel/helper-get-function-arity" "^7.15.4" + "@babel/template" "^7.15.4" + "@babel/types" "^7.15.4" -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12", "@babel/helper-module-imports@^7.8.3": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977" - integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA== +"@babel/helper-get-function-arity@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz#098818934a137fce78b536a3e015864be1e2879b" + integrity sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA== dependencies: - "@babel/types" "^7.13.12" + "@babel/types" "^7.15.4" -"@babel/helper-module-imports@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3" - integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== +"@babel/helper-hoist-variables@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz#09993a3259c0e918f99d104261dfdfc033f178df" + integrity sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.15.4" -"@babel/helper-module-transforms@^7.13.0", "@babel/helper-module-transforms@^7.13.14": - version "7.13.14" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.13.14.tgz#e600652ba48ccb1641775413cb32cfa4e8b495ef" - integrity sha512-QuU/OJ0iAOSIatyVZmfqB0lbkVP0kDRiKj34xy+QNsnVZi/PA6BoSoreeqnxxa9EHFAIL0R9XOaAR/G9WlIy5g== +"@babel/helper-member-expression-to-functions@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz#bfd34dc9bba9824a4658b0317ec2fd571a51e6ef" + integrity sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA== dependencies: - "@babel/helper-module-imports" "^7.13.12" - "@babel/helper-replace-supers" "^7.13.12" - "@babel/helper-simple-access" "^7.13.12" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/helper-validator-identifier" "^7.12.11" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.13.13" - "@babel/types" "^7.13.14" + "@babel/types" "^7.15.4" -"@babel/helper-module-transforms@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz#7de42f10d789b423eb902ebd24031ca77cb1e10e" - integrity sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA== +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12", "@babel/helper-module-imports@^7.14.5", "@babel/helper-module-imports@^7.15.4", "@babel/helper-module-imports@^7.8.3": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz#e18007d230632dea19b47853b984476e7b4e103f" + integrity sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA== dependencies: - "@babel/helper-module-imports" "^7.14.5" - "@babel/helper-replace-supers" "^7.14.5" - "@babel/helper-simple-access" "^7.14.5" - "@babel/helper-split-export-declaration" "^7.14.5" - "@babel/helper-validator-identifier" "^7.14.5" - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/types" "^7.15.4" -"@babel/helper-optimise-call-expression@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea" - integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA== +"@babel/helper-module-transforms@^7.14.5", "@babel/helper-module-transforms@^7.15.4": + version "7.15.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz#7da80c8cbc1f02655d83f8b79d25866afe50d226" + integrity sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw== dependencies: - "@babel/types" "^7.12.13" + "@babel/helper-module-imports" "^7.15.4" + "@babel/helper-replace-supers" "^7.15.4" + "@babel/helper-simple-access" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" + "@babel/helper-validator-identifier" "^7.15.7" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.6" -"@babel/helper-optimise-call-expression@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c" - integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA== +"@babel/helper-optimise-call-expression@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz#f310a5121a3b9cc52d9ab19122bd729822dee171" + integrity sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw== dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af" - integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ== + "@babel/types" "^7.15.4" -"@babel/helper-plugin-utils@^7.14.5": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== -"@babel/helper-remap-async-to-generator@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz#376a760d9f7b4b2077a9dd05aa9c3927cadb2209" - integrity sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg== +"@babel/helper-remap-async-to-generator@^7.14.5", "@babel/helper-remap-async-to-generator@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz#2637c0731e4c90fbf58ac58b50b2b5a192fc970f" + integrity sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - "@babel/helper-wrap-function" "^7.13.0" - "@babel/types" "^7.13.0" + "@babel/helper-annotate-as-pure" "^7.15.4" + "@babel/helper-wrap-function" "^7.15.4" + "@babel/types" "^7.15.4" -"@babel/helper-replace-supers@^7.12.13", "@babel/helper-replace-supers@^7.13.0", "@babel/helper-replace-supers@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz#6442f4c1ad912502481a564a7386de0c77ff3804" - integrity sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw== +"@babel/helper-replace-supers@^7.14.5", "@babel/helper-replace-supers@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz#52a8ab26ba918c7f6dee28628b07071ac7b7347a" + integrity sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw== dependencies: - "@babel/helper-member-expression-to-functions" "^7.13.12" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/traverse" "^7.13.0" - "@babel/types" "^7.13.12" + "@babel/helper-member-expression-to-functions" "^7.15.4" + "@babel/helper-optimise-call-expression" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" -"@babel/helper-replace-supers@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz#0ecc0b03c41cd567b4024ea016134c28414abb94" - integrity sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow== +"@babel/helper-simple-access@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz#ac368905abf1de8e9781434b635d8f8674bcc13b" + integrity sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg== dependencies: - "@babel/helper-member-expression-to-functions" "^7.14.5" - "@babel/helper-optimise-call-expression" "^7.14.5" - "@babel/traverse" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/types" "^7.15.4" -"@babel/helper-simple-access@^7.12.13", "@babel/helper-simple-access@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz#dd6c538afb61819d205a012c31792a39c7a5eaf6" - integrity sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA== +"@babel/helper-skip-transparent-expression-wrappers@^7.14.5", "@babel/helper-skip-transparent-expression-wrappers@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz#707dbdba1f4ad0fa34f9114fc8197aec7d5da2eb" + integrity sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A== dependencies: - "@babel/types" "^7.13.12" + "@babel/types" "^7.15.4" -"@babel/helper-simple-access@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz#66ea85cf53ba0b4e588ba77fc813f53abcaa41c4" - integrity sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw== +"@babel/helper-split-export-declaration@^7.12.13", "@babel/helper-split-export-declaration@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz#aecab92dcdbef6a10aa3b62ab204b085f776e257" + integrity sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.15.4" -"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf" - integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== - dependencies: - "@babel/types" "^7.12.1" - -"@babel/helper-skip-transparent-expression-wrappers@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz#96f486ac050ca9f44b009fbe5b7d394cab3a0ee4" - integrity sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-split-export-declaration@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" - integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-split-export-declaration@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a" - integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-validator-identifier@^7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" - integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== - -"@babel/helper-validator-identifier@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8" - integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg== - -"@babel/helper-validator-option@^7.12.17": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831" - integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw== +"@babel/helper-validator-identifier@^7.12.11", "@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9", "@babel/helper-validator-identifier@^7.15.7": + version "7.15.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" + integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== "@babel/helper-validator-option@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== -"@babel/helper-wrap-function@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz#bdb5c66fda8526ec235ab894ad53a1235c79fcc4" - integrity sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA== - dependencies: - "@babel/helper-function-name" "^7.12.13" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.13.0" - "@babel/types" "^7.13.0" - -"@babel/helpers@^7.13.10", "@babel/helpers@^7.4.4": - version "7.13.10" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.13.10.tgz#fd8e2ba7488533cdeac45cc158e9ebca5e3c7df8" - integrity sha512-4VO883+MWPDUVRF3PhiLBUFHoX/bsLTGFpFK/HqvvfBZz2D57u9XzPVNFVBTc0PW/CWR9BXTOKt8NF4DInUHcQ== +"@babel/helper-wrap-function@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz#6f754b2446cfaf3d612523e6ab8d79c27c3a3de7" + integrity sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw== dependencies: - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.13.0" - "@babel/types" "^7.13.0" + "@babel/helper-function-name" "^7.15.4" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" -"@babel/helpers@^7.14.6": - version "7.14.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.6.tgz#5b58306b95f1b47e2a0199434fa8658fa6c21635" - integrity sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA== +"@babel/helpers@^7.15.4", "@babel/helpers@^7.4.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.15.4.tgz#5f40f02050a3027121a3cf48d497c05c555eaf43" + integrity sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ== dependencies: - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" -"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": - version "7.13.10" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" - integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== - dependencies: - "@babel/helper-validator-identifier" "^7.12.11" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/highlight@^7.14.5": +"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== @@ -520,32 +327,27 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.16.tgz#cc31257419d2c3189d394081635703f549fc1ed4" integrity sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw== -"@babel/parser@^7.0.0", "@babel/parser@^7.14.5", "@babel/parser@^7.14.6", "@babel/parser@^7.14.7": - version "7.14.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.7.tgz#6099720c8839ca865a2637e6c85852ead0bdb595" - integrity sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA== - -"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.13.15", "@babel/parser@^7.4.3", "@babel/parser@^7.4.5", "@babel/parser@^7.9.6": - version "7.13.15" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.15.tgz#8e66775fb523599acb6a289e12929fa5ab0954d8" - integrity sha512-b9COtcAlVEQljy/9fbcMHpG+UIW9ReF+gpaxDHTlZd0c6/UU9ng8zdySAW9sRTzpvcdCHn6bUcbuYUgGzLAWVQ== +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.14.9", "@babel/parser@^7.15.4", "@babel/parser@^7.15.5", "@babel/parser@^7.4.3", "@babel/parser@^7.4.5", "@babel/parser@^7.9.6": + version "7.15.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.7.tgz#0c3ed4a2eb07b165dfa85b3cc45c727334c4edae" + integrity sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g== -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz#a3484d84d0b549f3fc916b99ee4783f26fabad2a" - integrity sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz#dbdeabb1e80f622d9f0b583efb2999605e0a567e" + integrity sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog== dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - "@babel/plugin-proposal-optional-chaining" "^7.13.12" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.15.4" + "@babel/plugin-proposal-optional-chaining" "^7.14.5" -"@babel/plugin-proposal-async-generator-functions@^7.13.15", "@babel/plugin-proposal-async-generator-functions@^7.2.0": - version "7.13.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.15.tgz#80e549df273a3b3050431b148c892491df1bcc5b" - integrity sha512-VapibkWzFeoa6ubXy/NgV5U2U4MVnUlvnx6wo1XhlsaTrLYWE0UFpDQsVrmn22q5CzeloqJ8gEMHSKxuee6ZdA== +"@babel/plugin-proposal-async-generator-functions@^7.15.4", "@babel/plugin-proposal-async-generator-functions@^7.2.0": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.4.tgz#f82aabe96c135d2ceaa917feb9f5fca31635277e" + integrity sha512-2zt2g5vTXpMC3OmK6uyjvdXptbhBXfA77XGrd3gh93zwG8lZYBLOBImiGBEG0RANu3JqKEACCz5CGk73OJROBw== dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-remap-async-to-generator" "^7.13.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.15.4" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-proposal-class-properties@7.3.0": @@ -556,7 +358,7 @@ "@babel/helper-create-class-features-plugin" "^7.3.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-proposal-class-properties@^7.0.0": +"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.14.5", "@babel/plugin-proposal-class-properties@^7.8.3": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz#40d1ee140c5b1e31a350f4f5eed945096559b42e" integrity sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg== @@ -564,69 +366,70 @@ "@babel/helper-create-class-features-plugin" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.8.3": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz#146376000b94efd001e57a40a88a525afaab9f37" - integrity sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg== +"@babel/plugin-proposal-class-static-block@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz#3e7ca6128453c089e8b477a99f970c63fc1cb8d7" + integrity sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.13.0" - "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-create-class-features-plugin" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-proposal-decorators@^7.13.5", "@babel/plugin-proposal-decorators@^7.8.3": - version "7.13.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.13.15.tgz#e91ccfef2dc24dd5bd5dcc9fc9e2557c684ecfb8" - integrity sha512-ibAMAqUm97yzi+LPgdr5Nqb9CMkeieGHvwPg1ywSGjZrZHQEGqE01HmOio8kxRpA/+VtOHouIVy2FMpBbtltjA== +"@babel/plugin-proposal-decorators@^7.13.15", "@babel/plugin-proposal-decorators@^7.8.3": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.15.4.tgz#fb55442bc83ab4d45dda76b91949706bf22881d2" + integrity sha512-WNER+YLs7avvRukEddhu5PSfSaMMimX2xBFgLQS7Bw16yrUxJGWidO9nQp+yLy9MVybg5Ba3BlhAw+BkdhpDmg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.13.11" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-decorators" "^7.12.13" + "@babel/helper-create-class-features-plugin" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-decorators" "^7.14.5" -"@babel/plugin-proposal-dynamic-import@^7.13.8": - version "7.13.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz#876a1f6966e1dec332e8c9451afda3bebcdf2e1d" - integrity sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ== +"@babel/plugin-proposal-dynamic-import@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz#0c6617df461c0c1f8fff3b47cd59772360101d2c" + integrity sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g== dependencies: - "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz#393be47a4acd03fa2af6e3cde9b06e33de1b446d" - integrity sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw== +"@babel/plugin-proposal-export-namespace-from@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz#dbad244310ce6ccd083072167d8cea83a52faf76" + integrity sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.13.8", "@babel/plugin-proposal-json-strings@^7.2.0": - version "7.13.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz#bf1fb362547075afda3634ed31571c5901afef7b" - integrity sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q== +"@babel/plugin-proposal-json-strings@^7.14.5", "@babel/plugin-proposal-json-strings@^7.2.0": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz#38de60db362e83a3d8c944ac858ddf9f0c2239eb" + integrity sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ== dependencies: - "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.13.8": - version "7.13.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz#93fa78d63857c40ce3c8c3315220fd00bfbb4e1a" - integrity sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A== +"@babel/plugin-proposal-logical-assignment-operators@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz#6e6229c2a99b02ab2915f82571e0cc646a40c738" + integrity sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw== dependencies: - "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8": - version "7.13.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz#3730a31dafd3c10d8ccd10648ed80a2ac5472ef3" - integrity sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A== +"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz#ee38589ce00e2cc59b299ec3ea406fcd3a0fdaf6" + integrity sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg== dependencies: - "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz#bd9da3188e787b5120b4f9d465a8261ce67ed1db" - integrity sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w== +"@babel/plugin-proposal-numeric-separator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz#83631bf33d9a51df184c2102a069ac0c58c05f18" + integrity sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-proposal-object-rest-spread@7.3.2": @@ -637,60 +440,59 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" -"@babel/plugin-proposal-object-rest-spread@^7.0.0": - version "7.14.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz#5920a2b3df7f7901df0205974c0641b13fd9d363" - integrity sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g== +"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.15.6", "@babel/plugin-proposal-object-rest-spread@^7.4.4": + version "7.15.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz#ef68050c8703d07b25af402cb96cf7f34a68ed11" + integrity sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg== dependencies: - "@babel/compat-data" "^7.14.7" - "@babel/helper-compilation-targets" "^7.14.5" + "@babel/compat-data" "^7.15.0" + "@babel/helper-compilation-targets" "^7.15.4" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.14.5" + "@babel/plugin-transform-parameters" "^7.15.4" -"@babel/plugin-proposal-object-rest-spread@^7.13.8", "@babel/plugin-proposal-object-rest-spread@^7.4.4": - version "7.13.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz#5d210a4d727d6ce3b18f9de82cc99a3964eed60a" - integrity sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g== - dependencies: - "@babel/compat-data" "^7.13.8" - "@babel/helper-compilation-targets" "^7.13.8" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.13.0" - -"@babel/plugin-proposal-optional-catch-binding@^7.13.8", "@babel/plugin-proposal-optional-catch-binding@^7.2.0": - version "7.13.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz#3ad6bd5901506ea996fc31bdcf3ccfa2bed71107" - integrity sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA== +"@babel/plugin-proposal-optional-catch-binding@^7.14.5", "@babel/plugin-proposal-optional-catch-binding@^7.2.0": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz#939dd6eddeff3a67fdf7b3f044b5347262598c3c" + integrity sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ== dependencies: - "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.12.tgz#ba9feb601d422e0adea6760c2bd6bbb7bfec4866" - integrity sha512-fcEdKOkIB7Tf4IxrgEVeFC4zeJSTr78no9wTdBuZZbqF64kzllU0ybo2zrzm7gUQfxGhBgq4E39oRs8Zx/RMYQ== +"@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz#fa83651e60a360e3f13797eef00b8d519695b603" + integrity sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ== dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz#04bd4c6d40f6e6bbfa2f57e2d8094bad900ef787" - integrity sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q== +"@babel/plugin-proposal-private-methods@^7.13.0", "@babel/plugin-proposal-private-methods@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz#37446495996b2945f30f5be5b60d5e2aa4f5792d" + integrity sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g== dependencies: - "@babel/helper-create-class-features-plugin" "^7.13.0" - "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.12.13", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz#bebde51339be829c17aaaaced18641deb62b39ba" - integrity sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg== +"@babel/plugin-proposal-private-property-in-object@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz#55c5e3b4d0261fd44fe637e3f624cfb0f484e3e5" + integrity sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-annotate-as-pure" "^7.15.4" + "@babel/helper-create-class-features-plugin" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-proposal-unicode-property-regex@^7.14.5", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz#0f95ee0e757a5d647f378daa0eca7e93faa8bbe8" + integrity sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-async-generators@^7.2.0", "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -706,12 +508,19 @@ dependencies: "@babel/helper-plugin-utils" "^7.12.13" -"@babel/plugin-syntax-decorators@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz#fac829bf3c7ef4a1bc916257b403e58c6bdaf648" - integrity sha512-Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA== +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-decorators@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.14.5.tgz#eafb9c0cbe09c8afeb964ba3a7bbd63945a72f20" + integrity sha512-c4sZMRWL4GSvP1EXy0woIP7m4jkVcEuG8R1TOZxPBPtp4FSM/kiPZub9UIs/Jrb5ZAOzvTUSGYrWsrSu1JvoPw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" @@ -741,12 +550,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.12.13", "@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz#044fb81ebad6698fe62c478875575bcbb9b70f15" - integrity sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g== +"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.14.5", "@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz#000e2e25d8673cce49300517a3eda44c263e4201" + integrity sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" @@ -790,140 +599,99 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-top-level-await@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz#c5f0fa6e249f5b739727f923540cf7a806130178" - integrity sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ== +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-arrow-functions@^7.0.0": +"@babel/plugin-syntax-top-level-await@^7.14.5": version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz#f7187d9588a768dd080bf4c9ffe117ea62f7862a" - integrity sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A== + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-arrow-functions@^7.13.0", "@babel/plugin-transform-arrow-functions@^7.2.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz#10a59bebad52d637a027afa692e8d5ceff5e3dae" - integrity sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg== +"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.14.5", "@babel/plugin-transform-arrow-functions@^7.2.0": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz#f7187d9588a768dd080bf4c9ffe117ea62f7862a" + integrity sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A== dependencies: - "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-async-to-generator@^7.13.0", "@babel/plugin-transform-async-to-generator@^7.4.4": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz#8e112bf6771b82bf1e974e5e26806c5c99aa516f" - integrity sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg== +"@babel/plugin-transform-async-to-generator@^7.14.5", "@babel/plugin-transform-async-to-generator@^7.4.4": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz#72c789084d8f2094acb945633943ef8443d39e67" + integrity sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA== dependencies: - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-remap-async-to-generator" "^7.13.0" + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.14.5" -"@babel/plugin-transform-block-scoped-functions@^7.0.0": +"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.14.5", "@babel/plugin-transform-block-scoped-functions@^7.2.0": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz#e48641d999d4bc157a67ef336aeb54bc44fd3ad4" integrity sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-block-scoped-functions@^7.12.13", "@babel/plugin-transform-block-scoped-functions@^7.2.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz#a9bf1836f2a39b4eb6cf09967739de29ea4bf4c4" - integrity sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-block-scoping@^7.0.0": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz#8cc63e61e50f42e078e6f09be775a75f23ef9939" - integrity sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw== +"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.15.3", "@babel/plugin-transform-block-scoping@^7.4.4": + version "7.15.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz#94c81a6e2fc230bcce6ef537ac96a1e4d2b3afaf" + integrity sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-block-scoping@^7.12.13", "@babel/plugin-transform-block-scoping@^7.4.4": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz#f36e55076d06f41dfd78557ea039c1b581642e61" - integrity sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ== +"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.15.4", "@babel/plugin-transform-classes@^7.4.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz#50aee17aaf7f332ae44e3bce4c2e10534d5d3bf1" + integrity sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-classes@^7.0.0": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz#0e98e82097b38550b03b483f9b51a78de0acb2cf" - integrity sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - "@babel/helper-function-name" "^7.14.5" - "@babel/helper-optimise-call-expression" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.15.4" + "@babel/helper-function-name" "^7.15.4" + "@babel/helper-optimise-call-expression" "^7.15.4" "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-replace-supers" "^7.14.5" - "@babel/helper-split-export-declaration" "^7.14.5" - globals "^11.1.0" - -"@babel/plugin-transform-classes@^7.13.0", "@babel/plugin-transform-classes@^7.4.4": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz#0265155075c42918bf4d3a4053134176ad9b533b" - integrity sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g== - dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-replace-supers" "^7.13.0" - "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/helper-replace-supers" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.0.0": +"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.14.5", "@babel/plugin-transform-computed-properties@^7.2.0": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz#1b9d78987420d11223d41195461cc43b974b204f" integrity sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-computed-properties@^7.13.0", "@babel/plugin-transform-computed-properties@^7.2.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz#845c6e8b9bb55376b1fa0b92ef0bdc8ea06644ed" - integrity sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-destructuring@^7.0.0": +"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.14.7", "@babel/plugin-transform-destructuring@^7.4.4": version "7.14.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz#0ad58ed37e23e22084d109f185260835e5557576" integrity sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-destructuring@^7.13.0", "@babel/plugin-transform-destructuring@^7.4.4": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz#c5dce270014d4e1ebb1d806116694c12b7028963" - integrity sha512-zym5em7tePoNT9s964c0/KU3JPPnuq7VhIxPRefJ4/s82cD+q1mgKfuGRDMCPL0HTyKz4dISuQlCusfgCJ86HA== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-dotall-regex@^7.12.13", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz#3f1601cc29905bfcb67f53910f197aeafebb25ad" - integrity sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ== +"@babel/plugin-transform-dotall-regex@^7.14.5", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz#2f6bf76e46bdf8043b4e7e16cf24532629ba0c7a" + integrity sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-duplicate-keys@^7.12.13", "@babel/plugin-transform-duplicate-keys@^7.2.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz#6f06b87a8b803fd928e54b81c258f0a0033904de" - integrity sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ== +"@babel/plugin-transform-duplicate-keys@^7.14.5", "@babel/plugin-transform-duplicate-keys@^7.2.0": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz#365a4844881bdf1501e3a9f0270e7f0f91177954" + integrity sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-exponentiation-operator@^7.12.13", "@babel/plugin-transform-exponentiation-operator@^7.2.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz#4d52390b9a273e651e4aba6aee49ef40e80cd0a1" - integrity sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA== +"@babel/plugin-transform-exponentiation-operator@^7.14.5", "@babel/plugin-transform-exponentiation-operator@^7.2.0": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz#5154b8dd6a3dfe6d90923d61724bd3deeb90b493" + integrity sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-flow-strip-types@^7.0.0": version "7.14.5" @@ -933,21 +701,14 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-flow" "^7.14.5" -"@babel/plugin-transform-for-of@^7.0.0": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz#dae384613de8f77c196a8869cbf602a44f7fc0eb" - integrity sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA== +"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.15.4", "@babel/plugin-transform-for-of@^7.4.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz#25c62cce2718cfb29715f416e75d5263fb36a8c2" + integrity sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-for-of@^7.13.0", "@babel/plugin-transform-for-of@^7.4.4": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz#c799f881a8091ac26b54867a845c3e97d2696062" - integrity sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-function-name@^7.0.0": +"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.14.5", "@babel/plugin-transform-function-name@^7.4.4": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz#e81c65ecb900746d7f31802f6bed1f52d915d6f2" integrity sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ== @@ -955,105 +716,73 @@ "@babel/helper-function-name" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-function-name@^7.12.13", "@babel/plugin-transform-function-name@^7.4.4": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz#bb024452f9aaed861d374c8e7a24252ce3a50051" - integrity sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ== - dependencies: - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-literals@^7.0.0": +"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.14.5", "@babel/plugin-transform-literals@^7.2.0": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz#41d06c7ff5d4d09e3cf4587bd3ecf3930c730f78" integrity sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-literals@^7.12.13", "@babel/plugin-transform-literals@^7.2.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz#2ca45bafe4a820197cf315794a4d26560fe4bdb9" - integrity sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-member-expression-literals@^7.0.0": +"@babel/plugin-transform-member-expression-literals@^7.0.0", "@babel/plugin-transform-member-expression-literals@^7.14.5", "@babel/plugin-transform-member-expression-literals@^7.2.0": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz#b39cd5212a2bf235a617d320ec2b48bcc091b8a7" integrity sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-member-expression-literals@^7.12.13", "@babel/plugin-transform-member-expression-literals@^7.2.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz#5ffa66cd59b9e191314c9f1f803b938e8c081e40" - integrity sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-modules-amd@^7.13.0", "@babel/plugin-transform-modules-amd@^7.2.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz#19f511d60e3d8753cc5a6d4e775d3a5184866cc3" - integrity sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ== - dependencies: - "@babel/helper-module-transforms" "^7.13.0" - "@babel/helper-plugin-utils" "^7.13.0" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.0.0": +"@babel/plugin-transform-modules-amd@^7.14.5", "@babel/plugin-transform-modules-amd@^7.2.0": version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz#7aaee0ea98283de94da98b28f8c35701429dad97" - integrity sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A== + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz#4fd9ce7e3411cb8b83848480b7041d83004858f7" + integrity sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g== dependencies: "@babel/helper-module-transforms" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-simple-access" "^7.14.5" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.2.0", "@babel/plugin-transform-modules-commonjs@^7.4.4": - version "7.13.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz#7b01ad7c2dcf2275b06fa1781e00d13d420b3e1b" - integrity sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw== +"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.15.4", "@babel/plugin-transform-modules-commonjs@^7.2.0", "@babel/plugin-transform-modules-commonjs@^7.4.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz#8201101240eabb5a76c08ef61b2954f767b6b4c1" + integrity sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA== dependencies: - "@babel/helper-module-transforms" "^7.13.0" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-simple-access" "^7.12.13" + "@babel/helper-module-transforms" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-simple-access" "^7.15.4" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.13.8", "@babel/plugin-transform-modules-systemjs@^7.4.4": - version "7.13.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz#6d066ee2bff3c7b3d60bf28dec169ad993831ae3" - integrity sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A== +"@babel/plugin-transform-modules-systemjs@^7.15.4", "@babel/plugin-transform-modules-systemjs@^7.4.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz#b42890c7349a78c827719f1d2d0cd38c7d268132" + integrity sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw== dependencies: - "@babel/helper-hoist-variables" "^7.13.0" - "@babel/helper-module-transforms" "^7.13.0" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-validator-identifier" "^7.12.11" + "@babel/helper-hoist-variables" "^7.15.4" + "@babel/helper-module-transforms" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-identifier" "^7.14.9" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.13.0", "@babel/plugin-transform-modules-umd@^7.2.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz#8a3d96a97d199705b9fd021580082af81c06e70b" - integrity sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw== +"@babel/plugin-transform-modules-umd@^7.14.5", "@babel/plugin-transform-modules-umd@^7.2.0": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz#fb662dfee697cce274a7cda525190a79096aa6e0" + integrity sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA== dependencies: - "@babel/helper-module-transforms" "^7.13.0" - "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-named-capturing-groups-regex@^7.12.13", "@babel/plugin-transform-named-capturing-groups-regex@^7.4.5": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz#2213725a5f5bbbe364b50c3ba5998c9599c5c9d9" - integrity sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA== +"@babel/plugin-transform-named-capturing-groups-regex@^7.14.9", "@babel/plugin-transform-named-capturing-groups-regex@^7.4.5": + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz#c68f5c5d12d2ebaba3762e57c2c4f6347a46e7b2" + integrity sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-create-regexp-features-plugin" "^7.14.5" -"@babel/plugin-transform-new-target@^7.12.13", "@babel/plugin-transform-new-target@^7.4.4": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz#e22d8c3af24b150dd528cbd6e685e799bf1c351c" - integrity sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ== +"@babel/plugin-transform-new-target@^7.14.5", "@babel/plugin-transform-new-target@^7.4.4": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz#31bdae8b925dc84076ebfcd2a9940143aed7dbf8" + integrity sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-object-super@^7.0.0": +"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.14.5", "@babel/plugin-transform-object-super@^7.2.0": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz#d0b5faeac9e98597a161a9cf78c527ed934cdc45" integrity sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg== @@ -1061,87 +790,65 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-replace-supers" "^7.14.5" -"@babel/plugin-transform-object-super@^7.12.13", "@babel/plugin-transform-object-super@^7.2.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz#b4416a2d63b8f7be314f3d349bd55a9c1b5171f7" - integrity sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-replace-supers" "^7.12.13" - -"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz#49662e86a1f3ddccac6363a7dfb1ff0a158afeb3" - integrity sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA== +"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.15.4", "@babel/plugin-transform-parameters@^7.4.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz#5f2285cc3160bf48c8502432716b48504d29ed62" + integrity sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-parameters@^7.13.0", "@babel/plugin-transform-parameters@^7.4.4": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz#8fa7603e3097f9c0b7ca1a4821bc2fb52e9e5007" - integrity sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-property-literals@^7.0.0": +"@babel/plugin-transform-property-literals@^7.0.0", "@babel/plugin-transform-property-literals@^7.14.5", "@babel/plugin-transform-property-literals@^7.2.0": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz#0ddbaa1f83db3606f1cdf4846fa1dfb473458b34" integrity sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-property-literals@^7.12.13", "@babel/plugin-transform-property-literals@^7.2.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz#4e6a9e37864d8f1b3bc0e2dce7bf8857db8b1a81" - integrity sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-transform-react-display-name@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.13.tgz#c28effd771b276f4647411c9733dbb2d2da954bd" - integrity sha512-MprESJzI9O5VnJZrL7gg1MpdqmiFcUv41Jc7SahxYsNP2kDkFqClxxTZq+1Qv4AFCamm+GXMRDQINNn+qrxmiA== + version "7.15.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.15.1.tgz#6aaac6099f1fcf6589d35ae6be1b6e10c8c602b9" + integrity sha512-yQZ/i/pUCJAHI/LbtZr413S3VT26qNrEm0M5RRxQJA947/YNYwbZbBaXGDrq6CG5QsZycI1VIP6d7pQaBfP+8Q== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-react-jsx-self@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.13.tgz#422d99d122d592acab9c35ea22a6cfd9bf189f60" - integrity sha512-FXYw98TTJ125GVCCkFLZXlZ1qGcsYqNQhVBQcZjyrwf8FEUtVfKIoidnO8S0q+KBQpDYNTmiGo1gn67Vti04lQ== + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.14.9.tgz#33041e665453391eb6ee54a2ecf3ba1d46bd30f4" + integrity sha512-Fqqu0f8zv9W+RyOnx29BX/RlEsBRANbOf5xs5oxb2aHP4FKbLXxIaVPUiCti56LAR1IixMH4EyaixhUsKqoBHw== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-react-jsx-source@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.12.13.tgz#051d76126bee5c9a6aa3ba37be2f6c1698856bcb" - integrity sha512-O5JJi6fyfih0WfDgIJXksSPhGP/G0fQpfxYy87sDc+1sFmsCS6wr3aAn+whbzkhbjtq4VMqLRaSzR6IsshIC0Q== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.14.5.tgz#79f728e60e6dbd31a2b860b0bf6c9765918acf1d" + integrity sha512-1TpSDnD9XR/rQ2tzunBVPThF5poaYT9GqP+of8fAtguYuI/dm2RkrMBDemsxtY0XBzvW7nXjYM0hRyKX9QYj7Q== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-react-jsx@^7.0.0": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.13.12.tgz#1df5dfaf0f4b784b43e96da6f28d630e775f68b3" - integrity sha512-jcEI2UqIcpCqB5U5DRxIl0tQEProI2gcu+g8VTIqxLO5Iidojb4d77q+fwGseCvd8af/lJ9masp4QWzBXFE2xA== + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.9.tgz#3314b2163033abac5200a869c4de242cd50a914c" + integrity sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw== dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - "@babel/helper-module-imports" "^7.13.12" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-jsx" "^7.12.13" - "@babel/types" "^7.13.12" + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-jsx" "^7.14.5" + "@babel/types" "^7.14.9" -"@babel/plugin-transform-regenerator@^7.13.15", "@babel/plugin-transform-regenerator@^7.4.5": - version "7.13.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz#e5eb28945bf8b6563e7f818945f966a8d2997f39" - integrity sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ== +"@babel/plugin-transform-regenerator@^7.14.5", "@babel/plugin-transform-regenerator@^7.4.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz#9676fd5707ed28f522727c5b3c0aa8544440b04f" + integrity sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg== dependencies: regenerator-transform "^0.14.2" -"@babel/plugin-transform-reserved-words@^7.12.13", "@babel/plugin-transform-reserved-words@^7.2.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz#7d9988d4f06e0fe697ea1d9803188aa18b472695" - integrity sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg== +"@babel/plugin-transform-reserved-words@^7.14.5", "@babel/plugin-transform-reserved-words@^7.2.0": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz#c44589b661cfdbef8d4300dcc7469dffa92f8304" + integrity sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-runtime@7.2.0": version "7.2.0" @@ -1153,33 +860,26 @@ resolve "^1.8.1" semver "^5.5.1" -"@babel/plugin-transform-runtime@^7.11.0", "@babel/plugin-transform-runtime@^7.13.10": - version "7.13.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.13.15.tgz#2eddf585dd066b84102517e10a577f24f76a9cd7" - integrity sha512-d+ezl76gx6Jal08XngJUkXM4lFXK/5Ikl9Mh4HKDxSfGJXmZ9xG64XT2oivBzfxb/eQ62VfvoMkaCZUKJMVrBA== +"@babel/plugin-transform-runtime@^7.11.0", "@babel/plugin-transform-runtime@^7.13.15": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.0.tgz#d3aa650d11678ca76ce294071fda53d7804183b3" + integrity sha512-sfHYkLGjhzWTq6xsuQ01oEsUYjkHRux9fW1iUA68dC7Qd8BS1Unq4aZ8itmQp95zUzIcyR2EbNMTzAicFj+guw== dependencies: - "@babel/helper-module-imports" "^7.13.12" - "@babel/helper-plugin-utils" "^7.13.0" - babel-plugin-polyfill-corejs2 "^0.2.0" - babel-plugin-polyfill-corejs3 "^0.2.0" - babel-plugin-polyfill-regenerator "^0.2.0" + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + babel-plugin-polyfill-corejs2 "^0.2.2" + babel-plugin-polyfill-corejs3 "^0.2.2" + babel-plugin-polyfill-regenerator "^0.2.2" semver "^6.3.0" -"@babel/plugin-transform-shorthand-properties@^7.0.0": +"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.14.5", "@babel/plugin-transform-shorthand-properties@^7.2.0": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz#97f13855f1409338d8cadcbaca670ad79e091a58" integrity sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-shorthand-properties@^7.12.13", "@babel/plugin-transform-shorthand-properties@^7.2.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz#db755732b70c539d504c6390d9ce90fe64aff7ad" - integrity sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-spread@^7.0.0": +"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.14.6", "@babel/plugin-transform-spread@^7.2.0": version "7.14.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz#6bd40e57fe7de94aa904851963b5616652f73144" integrity sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag== @@ -1187,56 +887,41 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" -"@babel/plugin-transform-spread@^7.13.0", "@babel/plugin-transform-spread@^7.2.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz#84887710e273c1815ace7ae459f6f42a5d31d5fd" - integrity sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - -"@babel/plugin-transform-sticky-regex@^7.12.13", "@babel/plugin-transform-sticky-regex@^7.2.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz#760ffd936face73f860ae646fb86ee82f3d06d1f" - integrity sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg== +"@babel/plugin-transform-sticky-regex@^7.14.5", "@babel/plugin-transform-sticky-regex@^7.2.0": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz#5b617542675e8b7761294381f3c28c633f40aeb9" + integrity sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-template-literals@^7.0.0": +"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.14.5", "@babel/plugin-transform-template-literals@^7.4.4": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz#a5f2bc233937d8453885dc736bdd8d9ffabf3d93" integrity sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-template-literals@^7.13.0", "@babel/plugin-transform-template-literals@^7.4.4": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz#a36049127977ad94438dee7443598d1cefdf409d" - integrity sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-typeof-symbol@^7.12.13", "@babel/plugin-transform-typeof-symbol@^7.2.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz#785dd67a1f2ea579d9c2be722de8c84cb85f5a7f" - integrity sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ== +"@babel/plugin-transform-typeof-symbol@^7.14.5", "@babel/plugin-transform-typeof-symbol@^7.2.0": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz#39af2739e989a2bd291bf6b53f16981423d457d4" + integrity sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-unicode-escapes@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz#840ced3b816d3b5127dd1d12dcedc5dead1a5e74" - integrity sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw== +"@babel/plugin-transform-unicode-escapes@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz#9d4bd2a681e3c5d7acf4f57fa9e51175d91d0c6b" + integrity sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-unicode-regex@^7.12.13", "@babel/plugin-transform-unicode-regex@^7.4.4": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz#b52521685804e155b1202e83fc188d34bb70f5ac" - integrity sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA== +"@babel/plugin-transform-unicode-regex@^7.14.5", "@babel/plugin-transform-unicode-regex@^7.4.4": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz#4cd09b6c8425dd81255c7ceb3fb1836e7414382e" + integrity sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/preset-env@7.4.5": version "7.4.5" @@ -1292,31 +977,34 @@ js-levenshtein "^1.1.3" semver "^5.5.0" -"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.13.12": - version "7.13.15" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.13.15.tgz#c8a6eb584f96ecba183d3d414a83553a599f478f" - integrity sha512-D4JAPMXcxk69PKe81jRJ21/fP/uYdcTZ3hJDF5QX2HSI9bBxxYw/dumdR6dGumhjxlprHPE4XWoPaqzZUVy2MA== +"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.14.1": + version "7.15.6" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.15.6.tgz#0f3898db9d63d320f21b17380d8462779de57659" + integrity sha512-L+6jcGn7EWu7zqaO2uoTDjjMBW+88FXzV8KvrBl2z6MtRNxlsmUNRlZPaNNPUTgqhyC5DHNFk/2Jmra+ublZWw== dependencies: - "@babel/compat-data" "^7.13.15" - "@babel/helper-compilation-targets" "^7.13.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-validator-option" "^7.12.17" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.13.12" - "@babel/plugin-proposal-async-generator-functions" "^7.13.15" - "@babel/plugin-proposal-class-properties" "^7.13.0" - "@babel/plugin-proposal-dynamic-import" "^7.13.8" - "@babel/plugin-proposal-export-namespace-from" "^7.12.13" - "@babel/plugin-proposal-json-strings" "^7.13.8" - "@babel/plugin-proposal-logical-assignment-operators" "^7.13.8" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8" - "@babel/plugin-proposal-numeric-separator" "^7.12.13" - "@babel/plugin-proposal-object-rest-spread" "^7.13.8" - "@babel/plugin-proposal-optional-catch-binding" "^7.13.8" - "@babel/plugin-proposal-optional-chaining" "^7.13.12" - "@babel/plugin-proposal-private-methods" "^7.13.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.12.13" + "@babel/compat-data" "^7.15.0" + "@babel/helper-compilation-targets" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-option" "^7.14.5" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.15.4" + "@babel/plugin-proposal-async-generator-functions" "^7.15.4" + "@babel/plugin-proposal-class-properties" "^7.14.5" + "@babel/plugin-proposal-class-static-block" "^7.15.4" + "@babel/plugin-proposal-dynamic-import" "^7.14.5" + "@babel/plugin-proposal-export-namespace-from" "^7.14.5" + "@babel/plugin-proposal-json-strings" "^7.14.5" + "@babel/plugin-proposal-logical-assignment-operators" "^7.14.5" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.5" + "@babel/plugin-proposal-numeric-separator" "^7.14.5" + "@babel/plugin-proposal-object-rest-spread" "^7.15.6" + "@babel/plugin-proposal-optional-catch-binding" "^7.14.5" + "@babel/plugin-proposal-optional-chaining" "^7.14.5" + "@babel/plugin-proposal-private-methods" "^7.14.5" + "@babel/plugin-proposal-private-property-in-object" "^7.15.4" + "@babel/plugin-proposal-unicode-property-regex" "^7.14.5" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-syntax-json-strings" "^7.8.3" @@ -1326,45 +1014,46 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.12.13" - "@babel/plugin-transform-arrow-functions" "^7.13.0" - "@babel/plugin-transform-async-to-generator" "^7.13.0" - "@babel/plugin-transform-block-scoped-functions" "^7.12.13" - "@babel/plugin-transform-block-scoping" "^7.12.13" - "@babel/plugin-transform-classes" "^7.13.0" - "@babel/plugin-transform-computed-properties" "^7.13.0" - "@babel/plugin-transform-destructuring" "^7.13.0" - "@babel/plugin-transform-dotall-regex" "^7.12.13" - "@babel/plugin-transform-duplicate-keys" "^7.12.13" - "@babel/plugin-transform-exponentiation-operator" "^7.12.13" - "@babel/plugin-transform-for-of" "^7.13.0" - "@babel/plugin-transform-function-name" "^7.12.13" - "@babel/plugin-transform-literals" "^7.12.13" - "@babel/plugin-transform-member-expression-literals" "^7.12.13" - "@babel/plugin-transform-modules-amd" "^7.13.0" - "@babel/plugin-transform-modules-commonjs" "^7.13.8" - "@babel/plugin-transform-modules-systemjs" "^7.13.8" - "@babel/plugin-transform-modules-umd" "^7.13.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.13" - "@babel/plugin-transform-new-target" "^7.12.13" - "@babel/plugin-transform-object-super" "^7.12.13" - "@babel/plugin-transform-parameters" "^7.13.0" - "@babel/plugin-transform-property-literals" "^7.12.13" - "@babel/plugin-transform-regenerator" "^7.13.15" - "@babel/plugin-transform-reserved-words" "^7.12.13" - "@babel/plugin-transform-shorthand-properties" "^7.12.13" - "@babel/plugin-transform-spread" "^7.13.0" - "@babel/plugin-transform-sticky-regex" "^7.12.13" - "@babel/plugin-transform-template-literals" "^7.13.0" - "@babel/plugin-transform-typeof-symbol" "^7.12.13" - "@babel/plugin-transform-unicode-escapes" "^7.12.13" - "@babel/plugin-transform-unicode-regex" "^7.12.13" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-transform-arrow-functions" "^7.14.5" + "@babel/plugin-transform-async-to-generator" "^7.14.5" + "@babel/plugin-transform-block-scoped-functions" "^7.14.5" + "@babel/plugin-transform-block-scoping" "^7.15.3" + "@babel/plugin-transform-classes" "^7.15.4" + "@babel/plugin-transform-computed-properties" "^7.14.5" + "@babel/plugin-transform-destructuring" "^7.14.7" + "@babel/plugin-transform-dotall-regex" "^7.14.5" + "@babel/plugin-transform-duplicate-keys" "^7.14.5" + "@babel/plugin-transform-exponentiation-operator" "^7.14.5" + "@babel/plugin-transform-for-of" "^7.15.4" + "@babel/plugin-transform-function-name" "^7.14.5" + "@babel/plugin-transform-literals" "^7.14.5" + "@babel/plugin-transform-member-expression-literals" "^7.14.5" + "@babel/plugin-transform-modules-amd" "^7.14.5" + "@babel/plugin-transform-modules-commonjs" "^7.15.4" + "@babel/plugin-transform-modules-systemjs" "^7.15.4" + "@babel/plugin-transform-modules-umd" "^7.14.5" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.14.9" + "@babel/plugin-transform-new-target" "^7.14.5" + "@babel/plugin-transform-object-super" "^7.14.5" + "@babel/plugin-transform-parameters" "^7.15.4" + "@babel/plugin-transform-property-literals" "^7.14.5" + "@babel/plugin-transform-regenerator" "^7.14.5" + "@babel/plugin-transform-reserved-words" "^7.14.5" + "@babel/plugin-transform-shorthand-properties" "^7.14.5" + "@babel/plugin-transform-spread" "^7.14.6" + "@babel/plugin-transform-sticky-regex" "^7.14.5" + "@babel/plugin-transform-template-literals" "^7.14.5" + "@babel/plugin-transform-typeof-symbol" "^7.14.5" + "@babel/plugin-transform-unicode-escapes" "^7.14.5" + "@babel/plugin-transform-unicode-regex" "^7.14.5" "@babel/preset-modules" "^0.1.4" - "@babel/types" "^7.13.14" - babel-plugin-polyfill-corejs2 "^0.2.0" - babel-plugin-polyfill-corejs3 "^0.2.0" - babel-plugin-polyfill-regenerator "^0.2.0" - core-js-compat "^3.9.0" + "@babel/types" "^7.15.6" + babel-plugin-polyfill-corejs2 "^0.2.2" + babel-plugin-polyfill-corejs3 "^0.2.2" + babel-plugin-polyfill-regenerator "^0.2.2" + core-js-compat "^3.16.0" semver "^6.3.0" "@babel/preset-modules@^0.1.4": @@ -1396,37 +1085,21 @@ dependencies: regenerator-runtime "^0.12.0" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.12.5": - version "7.14.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.6.tgz#535203bc0892efc7dec60bdc27b2ecf6e409062d" - integrity sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.11.0", "@babel/runtime@^7.13.10", "@babel/runtime@^7.8.4": - version "7.13.10" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.13.10.tgz#47d42a57b6095f4468da440388fdbad8bebf0d7d" - integrity sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw== +"@babel/runtime@^7.0.0", "@babel/runtime@^7.11.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.0", "@babel/runtime@^7.8.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" + integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw== dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.0.0", "@babel/template@^7.12.13", "@babel/template@^7.4.0", "@babel/template@^7.4.4": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" - integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/parser" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/template@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4" - integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== +"@babel/template@^7.0.0", "@babel/template@^7.15.4", "@babel/template@^7.4.0", "@babel/template@^7.4.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.15.4.tgz#51898d35dcf3faa670c4ee6afcfd517ee139f194" + integrity sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg== dependencies: "@babel/code-frame" "^7.14.5" - "@babel/parser" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/parser" "^7.15.4" + "@babel/types" "^7.15.4" "@babel/traverse@7.12.13": version "7.12.13" @@ -1443,32 +1116,18 @@ globals "^11.1.0" lodash "^4.17.19" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.13.13", "@babel/traverse@^7.13.15", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.5": - version "7.13.15" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.15.tgz#c38bf7679334ddd4028e8e1f7b3aa5019f0dada7" - integrity sha512-/mpZMNvj6bce59Qzl09fHEs8Bt8NnpEDQYleHUPZQ3wXUMvXi+HJPLars68oAbmp839fGoOkv2pSL2z9ajCIaQ== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.13.9" - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/parser" "^7.13.15" - "@babel/types" "^7.13.14" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.14.5": - version "7.14.7" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.7.tgz#64007c9774cfdc3abd23b0780bc18a3ce3631753" - integrity sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ== +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.9", "@babel/traverse@^7.15.4", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.5": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.4.tgz#ff8510367a144bfbff552d9e18e28f3e2889c22d" + integrity sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA== dependencies: "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.14.5" - "@babel/helper-function-name" "^7.14.5" - "@babel/helper-hoist-variables" "^7.14.5" - "@babel/helper-split-export-declaration" "^7.14.5" - "@babel/parser" "^7.14.7" - "@babel/types" "^7.14.5" + "@babel/generator" "^7.15.4" + "@babel/helper-function-name" "^7.15.4" + "@babel/helper-hoist-variables" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" + "@babel/parser" "^7.15.4" + "@babel/types" "^7.15.4" debug "^4.1.0" globals "^11.1.0" @@ -1481,21 +1140,12 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.14", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4": - version "7.13.14" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.14.tgz#c35a4abb15c7cd45a2746d78ab328e362cbace0d" - integrity sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ== - dependencies: - "@babel/helper-validator-identifier" "^7.12.11" - lodash "^4.17.19" - to-fast-properties "^2.0.0" - -"@babel/types@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.5.tgz#3bb997ba829a2104cedb20689c4a5b8121d383ff" - integrity sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg== +"@babel/types@^7.0.0", "@babel/types@^7.12.13", "@babel/types@^7.14.9", "@babel/types@^7.15.4", "@babel/types@^7.15.6", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4": + version "7.15.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.6.tgz#99abdc48218b2881c058dd0a7ab05b99c9be758f" + integrity sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig== dependencies: - "@babel/helper-validator-identifier" "^7.14.5" + "@babel/helper-validator-identifier" "^7.14.9" to-fast-properties "^2.0.0" "@cld-apis/utils@^0.1.0": @@ -1566,10 +1216,15 @@ date-fns "^1.27.2" figures "^1.7.0" +"@cypress/mount-utils@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@cypress/mount-utils/-/mount-utils-1.0.2.tgz#afbc4f8c350b7cd86edc5ad0db0cbe1e0181edc8" + integrity sha512-Fn3fdTiyayHoy8Ol0RSu4MlBH2maQ2ZEXeEVKl/zHHXEQpld5HX3vdNLhK5YLij8cLynA4DxOT/nO9iEnIiOXw== + "@cypress/request@^2.88.5": - version "2.88.5" - resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.5.tgz#8d7ecd17b53a849cfd5ab06d5abe7d84976375d7" - integrity sha512-TzEC1XMi1hJkywWpRfD2clreTa/Z+lOrXDCxxBTBPEcY5azdPi56A6Xw+O4tWJnaJH3iIE7G5aDXZC6JgRZLcA== + version "2.88.6" + resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.6.tgz#a970dd675befc6bdf8a8921576c01f51cc5798e9" + integrity sha512-z0UxBE/+qaESAHY9p9sM2h8Y4XqtsbDCt0/DPOrqA/RZgKi4PkxdpXyK4wCCnSk1xHqWHZZAE+gV6aDAR6+caQ== dependencies: aws-sign2 "~0.7.0" aws4 "^1.8.0" @@ -1584,13 +1239,20 @@ isstream "~0.1.2" json-stringify-safe "~5.0.1" mime-types "~2.1.19" - oauth-sign "~0.9.0" performance-now "^2.1.0" qs "~6.5.2" safe-buffer "^5.1.2" tough-cookie "~2.5.0" tunnel-agent "^0.6.0" - uuid "^3.3.2" + uuid "^8.3.2" + +"@cypress/vue@^2.0.1": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@cypress/vue/-/vue-2.2.3.tgz#81822914019c47b5a6011652e50c5aad6041c6cc" + integrity sha512-KgrUjiLVyoiU5xb5JAhsdFLDzyh7Njhm4TMuINFsoBZkt4PJptGCsMzdaI7lk1XX20NGvg8MPIFbbQi+L0L8qQ== + dependencies: + "@cypress/mount-utils" "1.0.2" + "@vue/test-utils" "^1.1.3" "@cypress/xvfb@^1.2.4": version "1.2.4" @@ -1600,15 +1262,15 @@ debug "^3.1.0" lodash.once "^4.1.1" -"@eslint/eslintrc@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547" - integrity sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog== +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== dependencies: ajv "^6.12.4" debug "^4.1.1" espree "^7.3.0" - globals "^12.1.0" + globals "^13.9.0" ignore "^4.0.6" import-fresh "^3.2.1" js-yaml "^3.13.1" @@ -1697,6 +1359,11 @@ postcss "7.0.32" purgecss "^2.3.0" +"@gar/promisify@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210" + integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw== + "@glidejs/glide@^3.3.0": version "3.4.1" resolved "https://registry.yarnpkg.com/@glidejs/glide/-/glide-3.4.1.tgz#8ad21f3169076e32bbfd75ed0753807662c25e90" @@ -1783,12 +1450,12 @@ tslib "~2.1.0" "@graphql-tools/import@^6.2.4", "@graphql-tools/import@^6.2.6": - version "6.3.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/import/-/import-6.3.1.tgz#731c47ab6c6ac9f7994d75c76b6c2fa127d2d483" - integrity sha512-1szR19JI6WPibjYurMLdadHKZoG9C//8I/FZ0Dt4vJSbrMdVNp8WFxg4QnZrDeMG4MzZc90etsyF5ofKjcC+jw== + version "6.5.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/import/-/import-6.5.0.tgz#13b60b0b422df2ff1c37ed858725f3ecb0245df1" + integrity sha512-q0zP95TVCVEQ1rfBxSDkPVgZAg5/7LptmPih9R4V0XZGY7aL1Hd4A1oe+Sr4B3sFy7OyWJpxhZek84nQBWNKmw== dependencies: resolve-from "5.0.0" - tslib "~2.2.0" + tslib "~2.3.0" "@graphql-tools/json-file-loader@^6.2.5": version "6.2.6" @@ -1812,12 +1479,12 @@ tslib "~2.1.0" "@graphql-tools/load-files@^6.2.4": - version "6.3.2" - resolved "https://registry.yarnpkg.com/@graphql-tools/load-files/-/load-files-6.3.2.tgz#c4e84394e5b95b96452c22e960e2595ac9154648" - integrity sha512-3mgwEKZ8yy7CD/uVs9yeXR3r+GwjlTKRG5bC75xdJFN8WbzbcHjIJiTXfWSAYqbfSTam0hWnRdWghagzFSo5kQ== + version "6.5.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/load-files/-/load-files-6.5.0.tgz#e654456c81ca0129aa847c83dcbf65d41be7dbc8" + integrity sha512-/Q4Mrnv8QdJ+5dUKTAAW/pqsNengBJvA8FluwUXNTpx2D4X6/bDIAHef0xpNzSSEO4zFnRy5hi9sCEYvFvFIdA== dependencies: - globby "11.0.3" - tslib "~2.1.0" + globby "11.0.4" + tslib "~2.3.0" unixify "1.0.0" "@graphql-tools/load@^6.2.5": @@ -1836,13 +1503,21 @@ valid-url "1.0.9" "@graphql-tools/merge@^6.2.11", "@graphql-tools/merge@^6.2.12", "@graphql-tools/merge@^6.2.14": - version "6.2.14" - resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-6.2.14.tgz#694e2a2785ba47558e5665687feddd2935e9d94e" - integrity sha512-RWT4Td0ROJai2eR66NHejgf8UwnXJqZxXgDWDI+7hua5vNA2OW8Mf9K1Wav1ZkjWnuRp4ztNtkZGie5ISw55ow== + version "6.2.17" + resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-6.2.17.tgz#4dedf87d8435a5e1091d7cc8d4f371ed1e029f1f" + integrity sha512-G5YrOew39fZf16VIrc49q3c8dBqQDD0ax5LYPiNja00xsXDi0T9zsEWVt06ApjtSdSF6HDddlu5S12QjeN8Tow== dependencies: - "@graphql-tools/schema" "^7.0.0" - "@graphql-tools/utils" "^7.7.0" - tslib "~2.2.0" + "@graphql-tools/schema" "^8.0.2" + "@graphql-tools/utils" "8.0.2" + tslib "~2.3.0" + +"@graphql-tools/merge@^8.1.0": + version "8.1.2" + resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.1.2.tgz#50f5763927c51de764d09c5bfd20261671976e24" + integrity sha512-kFLd4kKNJXYXnKIhM8q9zgGAtbLmsy3WmGdDxYq3YHBJUogucAxnivQYyRIseUq37KGmSAIWu3pBQ23TKGsGOw== + dependencies: + "@graphql-tools/utils" "^8.2.2" + tslib "~2.3.0" "@graphql-tools/mock@^7.0.0": version "7.0.0" @@ -1869,22 +1544,23 @@ tslib "~2.0.1" "@graphql-tools/relay-operation-optimizer@^6.2.5": - version "6.3.0" - resolved "https://registry.yarnpkg.com/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.3.0.tgz#f8c7f6c8aa4a9cf50ab151fbc5db4f4282a79532" - integrity sha512-Or3UgRvkY9Fq1AAx7q38oPqFmTepLz7kp6wDHKyR0ceG7AvHv5En22R12mAeISInbhff4Rpwgf6cE8zHRu6bCw== + version "6.4.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.4.0.tgz#3ef4d7ec0620239f3a4e9b9acfa3c263636c5ad2" + integrity sha512-auNvHC8gHu9BHBPnLA5c8Iv5VAXQG866KZJz7ljhKpXPdlPevK4zjHlVJwqnF8H6clJ9NgZpizN4kNNCe/3R9g== dependencies: - "@graphql-tools/utils" "^7.1.0" - relay-compiler "10.1.0" - tslib "~2.0.1" + "@graphql-tools/utils" "^8.2.0" + relay-compiler "11.0.2" + tslib "~2.3.0" "@graphql-tools/resolvers-composition@^6.2.5": - version "6.2.8" - resolved "https://registry.yarnpkg.com/@graphql-tools/resolvers-composition/-/resolvers-composition-6.2.8.tgz#fa91be40ef424e88290cc101e1ab67b1201ce04f" - integrity sha512-/2xedRZYhvts88x9Rv/VWrk69wpl84M7cuYZ4aAacqxnXNm7zxT+MqeL54lsRhq2Kb2yjEhtfguEiqOn+kV8Xg== + version "6.4.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/resolvers-composition/-/resolvers-composition-6.4.0.tgz#f45a1e7fa0232ff5d160c711063ae0b178910014" + integrity sha512-YkAmpIzyFtto9aDp/FysuyPb/tPba/gXYYvlN2vdBkE9nRU8ms8Fwhnroek0pW5ipjZAhpQZsZPVVpzSwldj3A== dependencies: - "@graphql-tools/utils" "^7.9.1" + "@graphql-tools/utils" "^8.2.0" lodash "4.17.21" - tslib "~2.2.0" + micromatch "^4.0.4" + tslib "~2.3.0" "@graphql-tools/schema@^7.0.0", "@graphql-tools/schema@^7.1.4", "@graphql-tools/schema@^7.1.5": version "7.1.5" @@ -1895,6 +1571,16 @@ tslib "~2.2.0" value-or-promise "1.0.6" +"@graphql-tools/schema@^8.0.2": + version "8.2.0" + resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-8.2.0.tgz#ae75cbb2df6cee9ed6d89fce56be467ab23758dc" + integrity sha512-ufmI5mJQa8NJczzfkh0pUttKvspqDcT5LLakA3jUmOrrE4d4NVj6onZlazdTzF5sAepSNqanFnwhrxZpCAJMKg== + dependencies: + "@graphql-tools/merge" "^8.1.0" + "@graphql-tools/utils" "^8.2.0" + tslib "~2.3.0" + value-or-promise "1.0.10" + "@graphql-tools/stitch@^7.3.0": version "7.5.3" resolved "https://registry.yarnpkg.com/@graphql-tools/stitch/-/stitch-7.5.3.tgz#1b339942ebb93ea4e9da248439b8cf06660688cc" @@ -1933,7 +1619,14 @@ valid-url "1.0.9" ws "7.4.5" -"@graphql-tools/utils@^7.0.0", "@graphql-tools/utils@^7.0.1", "@graphql-tools/utils@^7.1.0", "@graphql-tools/utils@^7.1.2", "@graphql-tools/utils@^7.5.0", "@graphql-tools/utils@^7.7.0", "@graphql-tools/utils@^7.7.1", "@graphql-tools/utils@^7.8.1", "@graphql-tools/utils@^7.9.0", "@graphql-tools/utils@^7.9.1": +"@graphql-tools/utils@8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.0.2.tgz#795a8383cdfdc89855707d62491c576f439f3c51" + integrity sha512-gzkavMOgbhnwkHJYg32Adv6f+LxjbQmmbdD5Hty0+CWxvaiuJq+nU6tzb/7VSU4cwhbNLx/lGu2jbCPEW1McZQ== + dependencies: + tslib "~2.3.0" + +"@graphql-tools/utils@^7.0.0", "@graphql-tools/utils@^7.0.1", "@graphql-tools/utils@^7.1.2", "@graphql-tools/utils@^7.5.0", "@graphql-tools/utils@^7.7.0", "@graphql-tools/utils@^7.7.1", "@graphql-tools/utils@^7.8.1", "@graphql-tools/utils@^7.9.0": version "7.10.0" resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-7.10.0.tgz#07a4cb5d1bec1ff1dc1d47a935919ee6abd38699" integrity sha512-d334r6bo9mxdSqZW6zWboEnnOOFRrAPVQJ7LkU8/6grglrbcu6WhwCLzHb90E94JI3TD3ricC3YGbUqIi9Xg0w== @@ -1942,6 +1635,13 @@ camel-case "4.1.2" tslib "~2.2.0" +"@graphql-tools/utils@^8.2.0", "@graphql-tools/utils@^8.2.2": + version "8.2.4" + resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.2.4.tgz#89f92c8dc0cdb6b9f32c90e904aa90e66a2e0a58" + integrity sha512-uB+JL7CqTKJ2Q5zXA+a2la1cA8YYPcc0RHO/3mK54hxlZa2Z5/9k9XrNfMof4LZQefTaBM7M6QWtaxGklJln4A== + dependencies: + tslib "~2.3.0" + "@graphql-tools/wrap@^7.0.0", "@graphql-tools/wrap@^7.0.4", "@graphql-tools/wrap@^7.0.6": version "7.0.8" resolved "https://registry.yarnpkg.com/@graphql-tools/wrap/-/wrap-7.0.8.tgz#ad41e487135ca3ea1ae0ea04bb3f596177fb4f50" @@ -1958,10 +1658,24 @@ resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.1.0.tgz#0eee6373e11418bfe0b5638f654df7a4ca6a3950" integrity sha512-wYn6r8zVZyQJ6rQaALBEln5B1pzxb9shV5Ef97kTvn6yVGrqyXVnDqnU24MXnFubR+rZjBY9NWuxX3FB2sTsjg== +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" + integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== + "@intlify/shared@^9.0.0": - version "9.1.5" - resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.1.5.tgz#4e68bdaa4a3cdea6bbbff5c0d8f653890b056dbc" - integrity sha512-ZWLbwRwEyR3/Zd7QfANFraNeqMOUKgI+u/JeK+56AJqU9zfiemBHaYwF6aAh0C5aIrB4GAq3LYtGk2qsQhdyOg== + version "9.1.8" + resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-9.1.8.tgz#b3993dfc788846010dee1e66ca998a8713bcf460" + integrity sha512-o9nksOx3yIMDNvYzcPv87NR+U62ka775/Ufjl3U2g4NsMORN8+VacbVJ/oAF6CYfzZALpArBBZdk5jafzcLkvw== "@intlify/vue-i18n-extensions@^1.0.2": version "1.0.2" @@ -2127,6 +1841,11 @@ "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^13.0.0" +"@juggle/resize-observer@^3.3.1": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.3.1.tgz#b50a781709c81e10701004214340f25475a171a0" + integrity sha512-zMM9Ds+SawiUkakS7y94Ymqx+S0ORzpG3frZirN3l+UlXUmSUR7hF4wxCVqW+ei94JzV5kt0uXBcoOEAuiydrw== + "@lerna/add@3.21.0": version "3.21.0" resolved "https://registry.yarnpkg.com/@lerna/add/-/add-3.21.0.tgz#27007bde71cc7b0a2969ab3c2f0ae41578b4577b" @@ -2813,44 +2532,44 @@ write-file-atomic "^2.3.0" "@microsoft/api-documenter@^7.13.7": - version "7.13.39" - resolved "https://registry.yarnpkg.com/@microsoft/api-documenter/-/api-documenter-7.13.39.tgz#62882d760a640336b98998ea301594b21ab6fc29" - integrity sha512-it9JJ2bz/ByQuqRw0pfrKBhYssjAqZCrQWK+IB2O4Owdid7zd3guHPK2LZoDaiExltHam4Iu9RgwyLGBAbX0tA== + version "7.13.56" + resolved "https://registry.yarnpkg.com/@microsoft/api-documenter/-/api-documenter-7.13.56.tgz#e8b7def50292a231825aaccffccf88920e54eff2" + integrity sha512-BXhe+xZ80wn9tISCZvW6pAGNaCx9XPwiKhPC/OC1VNBFd/ze00I6Xo1Tor0HIgKcDVeycurvBUZiBhqcGPZYkw== dependencies: - "@microsoft/api-extractor-model" "7.13.5" + "@microsoft/api-extractor-model" "7.13.10" "@microsoft/tsdoc" "0.13.2" - "@rushstack/node-core-library" "3.40.0" - "@rushstack/ts-command-line" "4.8.1" + "@rushstack/node-core-library" "3.42.0" + "@rushstack/ts-command-line" "4.10.0" colors "~1.2.1" js-yaml "~3.13.1" resolve "~1.17.0" -"@microsoft/api-extractor-model@7.13.5": - version "7.13.5" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.13.5.tgz#7836a81ba47b9a654062ed0361e4eee69afae51e" - integrity sha512-il6AebNltYo5hEtqXZw4DMvrwBPn6+F58TxwqmsLY+U+sSJNxaYn2jYksArrjErXVPR3gUgRMqD6zsdIkg+WEQ== +"@microsoft/api-extractor-model@7.13.10": + version "7.13.10" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.13.10.tgz#cd71ab4fcc14d714c9e51e633b2d032e8baf127d" + integrity sha512-vJj8IFtqDOiBMbZraZQxW0jMCaZuBq1R/Y3Maavp2AnFBJSDnT2sclkzsAqyggfEDLLO/ti0AUmJtXFoU8tq8Q== dependencies: "@microsoft/tsdoc" "0.13.2" "@microsoft/tsdoc-config" "~0.15.2" - "@rushstack/node-core-library" "3.40.0" + "@rushstack/node-core-library" "3.42.0" "@microsoft/api-extractor@^7.18.3": - version "7.18.5" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.18.5.tgz#cc2804d7c8b9d0f1e63fd85d0448569b767db102" - integrity sha512-NUGS6WxexziEnroHUOI3KKVmMX02god7SLA8Y4a5GKCL5k7AHuHFqP2bpd5Otx2odfbdj15ObO7FU/XA3Oxh8w== + version "7.18.13" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.18.13.tgz#3c69caa93ecb21411e2cb31898a2d7151472ac68" + integrity sha512-L2iGuCnEp63wpbaqxWkqyLbKVXPKSV/YrHU4ox+36G6EtInYaQf5lgZPY5UdUKDYZd2NPrWJLCoO/Q8haDBaGQ== dependencies: - "@microsoft/api-extractor-model" "7.13.5" + "@microsoft/api-extractor-model" "7.13.10" "@microsoft/tsdoc" "0.13.2" "@microsoft/tsdoc-config" "~0.15.2" - "@rushstack/node-core-library" "3.40.0" - "@rushstack/rig-package" "0.2.13" - "@rushstack/ts-command-line" "4.8.1" + "@rushstack/node-core-library" "3.42.0" + "@rushstack/rig-package" "0.3.1" + "@rushstack/ts-command-line" "4.10.0" colors "~1.2.1" lodash "~4.17.15" resolve "~1.17.0" semver "~7.3.0" source-map "~0.6.1" - typescript "~4.3.5" + typescript "~4.4.2" "@microsoft/fetch-event-source@2.0.1": version "2.0.1" @@ -2880,18 +2599,18 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" -"@nodelib/fs.scandir@2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" - integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: - "@nodelib/fs.stat" "2.0.4" + "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" - integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.stat@^1.1.2": version "1.1.3" @@ -2899,13 +2618,21 @@ integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== "@nodelib/fs.walk@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" - integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: - "@nodelib/fs.scandir" "2.1.4" + "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@npmcli/fs@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.0.0.tgz#589612cfad3a6ea0feafcb901d29c63fd52db09f" + integrity sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ== + dependencies: + "@gar/promisify" "^1.0.1" + semver "^7.3.5" + "@npmcli/move-file@^1.0.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" @@ -2914,41 +2641,42 @@ mkdirp "^1.0.4" rimraf "^3.0.2" -"@nuxt/babel-preset-app@2.15.4": - version "2.15.4" - resolved "https://registry.yarnpkg.com/@nuxt/babel-preset-app/-/babel-preset-app-2.15.4.tgz#e5ca0714806db1ede41ae6f0a42d34022ab68150" - integrity sha512-49boY5aSfs7ImExW2EHutkfyxoipZeCF2MxF8kYKyhJz/9esoJdo6eY8JNhzDZYISDaWSeN2w5HjiMVo9zTrjg== +"@nuxt/babel-preset-app@2.15.8": + version "2.15.8" + resolved "https://registry.yarnpkg.com/@nuxt/babel-preset-app/-/babel-preset-app-2.15.8.tgz#c78eb8c47c1cafec1c5aba6a52385a3ce877b968" + integrity sha512-z23bY5P7dLTmIbk0ZZ95mcEXIEER/mQCOqEp2vxnzG2nurks+vq6tNcUAXqME1Wl6aXWTXlqky5plBe7RQHzhQ== dependencies: - "@babel/compat-data" "^7.13.12" - "@babel/core" "^7.13.14" - "@babel/helper-compilation-targets" "^7.13.13" + "@babel/compat-data" "^7.14.0" + "@babel/core" "^7.14.0" + "@babel/helper-compilation-targets" "^7.13.16" "@babel/helper-module-imports" "^7.13.12" "@babel/plugin-proposal-class-properties" "^7.13.0" - "@babel/plugin-proposal-decorators" "^7.13.5" + "@babel/plugin-proposal-decorators" "^7.13.15" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8" "@babel/plugin-proposal-optional-chaining" "^7.13.12" - "@babel/plugin-transform-runtime" "^7.13.10" - "@babel/preset-env" "^7.13.12" - "@babel/runtime" "^7.13.10" + "@babel/plugin-proposal-private-methods" "^7.13.0" + "@babel/plugin-transform-runtime" "^7.13.15" + "@babel/preset-env" "^7.14.1" + "@babel/runtime" "^7.14.0" "@vue/babel-preset-jsx" "^1.2.4" core-js "^2.6.5" - core-js-compat "^3.10.0" + core-js-compat "^3.12.1" regenerator-runtime "^0.13.7" -"@nuxt/builder@2.15.4": - version "2.15.4" - resolved "https://registry.yarnpkg.com/@nuxt/builder/-/builder-2.15.4.tgz#0b54e0acb48aacc339af71b3b5d4df2d52a3d9da" - integrity sha512-C2pmWH1ueUnwo/W0YIwlzQRqLy9BkoQTUHvy849hDTE4EFeTnW9g8cE9sGI0MTfmKY2dDDx2dc/W63MPP8r3wQ== +"@nuxt/builder@2.15.8": + version "2.15.8" + resolved "https://registry.yarnpkg.com/@nuxt/builder/-/builder-2.15.8.tgz#66ead4be0a2ce6932a2b7e521cfe1621e49290e7" + integrity sha512-WVhN874LFMdgRiJqpxmeKI+vh5lhCUBVOyR9PhL1m1V/GV3fb+Dqc1BKS6XgayrWAWavPLveCJmQ/FID0puOfQ== dependencies: "@nuxt/devalue" "^1.2.5" - "@nuxt/utils" "2.15.4" - "@nuxt/vue-app" "2.15.4" - "@nuxt/webpack" "2.15.4" - chalk "^4.1.0" + "@nuxt/utils" "2.15.8" + "@nuxt/vue-app" "2.15.8" + "@nuxt/webpack" "2.15.8" + chalk "^4.1.1" chokidar "^3.5.1" consola "^2.15.3" fs-extra "^9.1.0" - glob "^7.1.6" + glob "^7.1.7" hash-sum "^2.0.0" ignore "^5.1.8" lodash "^4.17.21" @@ -2956,20 +2684,20 @@ serialize-javascript "^5.0.1" upath "^2.0.1" -"@nuxt/cli@2.15.4": - version "2.15.4" - resolved "https://registry.yarnpkg.com/@nuxt/cli/-/cli-2.15.4.tgz#d5f33ee3e1e0cc4a3edaaf21e9b0c294cd0e4097" - integrity sha512-KlBXwvvgP0H3lcub5PGez2OhaNo3p8ln6Dhejmv8WoOfsn/z6Qa7+3sGUE3a03uBbh59JXYLSBFzhVDVx7NdDg== +"@nuxt/cli@2.15.8": + version "2.15.8" + resolved "https://registry.yarnpkg.com/@nuxt/cli/-/cli-2.15.8.tgz#3b946ee08c7b5b3223c8952873c65727e775ec30" + integrity sha512-KcGIILW/dAjBKea1DHsuLCG1sNzhzETShwT23DhXWO304qL8ljf4ndYKzn2RenzauGRGz7MREta80CbJCkLSHw== dependencies: - "@nuxt/config" "2.15.4" - "@nuxt/utils" "2.15.4" - boxen "^5.0.0" - chalk "^4.1.0" + "@nuxt/config" "2.15.8" + "@nuxt/utils" "2.15.8" + boxen "^5.0.1" + chalk "^4.1.1" compression "^1.7.4" connect "^3.7.0" consola "^2.15.3" crc "^3.8.0" - defu "^3.2.2" + defu "^4.0.1" destr "^1.1.0" execa "^5.0.0" exit "^0.1.2" @@ -2986,43 +2714,43 @@ upath "^2.0.1" wrap-ansi "^7.0.0" -"@nuxt/components@^2.1.4": - version "2.1.6" - resolved "https://registry.yarnpkg.com/@nuxt/components/-/components-2.1.6.tgz#5fc35c168bdfaa9f48854e335e5710ced8f71680" - integrity sha512-TXgqc43xIn+Lgnkc2NY1IB3psZxynjMlGIl4q5jB4Ylzf4e7LAB5R6nFSoR/0etkdvifQmGsMlwV6rbjUOdSrw== - dependencies: - chalk "^4.1.0" - chokidar "^3.5.1" - glob "^7.1.6" - globby "^11.0.3" - scule "^0.1.1" +"@nuxt/components@^2.1.8": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@nuxt/components/-/components-2.2.1.tgz#49c4442ac5a0ef49f49ef7d9960f4376fc3e7c78" + integrity sha512-r1LHUzifvheTnJtYrMuA+apgsrEJbxcgFKIimeXKb+jl8TnPWdV3egmrxBCaDJchrtY/wmHyP47tunsft7AWwg== + dependencies: + chalk "^4.1.2" + chokidar "^3.5.2" + glob "^7.1.7" + globby "^11.0.4" + scule "^0.2.1" semver "^7.3.5" upath "^2.0.1" - vue-template-compiler "^2.6.12" + vue-template-compiler "^2.6.14" -"@nuxt/config@2.15.4": - version "2.15.4" - resolved "https://registry.yarnpkg.com/@nuxt/config/-/config-2.15.4.tgz#b99d1623a7b9ed3f0fe0dbf768c7424f1455d896" - integrity sha512-IwbsSrCMXN0QLY4e0tFImMsFxGtAFaf42TuYkwwJiG4YgqaY6CBHI6GYmmcDma+kPtoZ85n0RRyyuQp6lUwBLw== +"@nuxt/config@2.15.8": + version "2.15.8" + resolved "https://registry.yarnpkg.com/@nuxt/config/-/config-2.15.8.tgz#56cc1b052871072a26f76c6d3b69d9b53808ce52" + integrity sha512-KMQbjmUf9RVHeTZEf7zcuFnh03XKZioYhok6GOCY+leu3g5n/UhyPvLnTsgTfsLWohqoRoOm94u4A+tNYwn9VQ== dependencies: - "@nuxt/utils" "2.15.4" + "@nuxt/utils" "2.15.8" consola "^2.15.3" - defu "^3.2.2" + defu "^4.0.1" destr "^1.1.0" - dotenv "^8.2.0" + dotenv "^9.0.2" lodash "^4.17.21" rc9 "^1.2.0" std-env "^2.3.0" - ufo "^0.6.10" + ufo "^0.7.4" -"@nuxt/core@2.15.4": - version "2.15.4" - resolved "https://registry.yarnpkg.com/@nuxt/core/-/core-2.15.4.tgz#73dee1a03ba82bad745b23e5c72e66f9c73b29d9" - integrity sha512-SM+mEE7X3RgO+cyD0VP62pJ9Pd9KUAGDka32uaQAGEwGdRyoz1g1jUayzfnut75Pk0s96zuOmsD+uwdIGTU0vQ== +"@nuxt/core@2.15.8": + version "2.15.8" + resolved "https://registry.yarnpkg.com/@nuxt/core/-/core-2.15.8.tgz#443d13da9edc5c4ae47d7902f1d6504a8cce27a2" + integrity sha512-31pipWRvwHiyB5VDqffgSO7JtmHxyzgshIzuZzSinxMbVmK3BKsOwacD/51oEyELgrPlUgLqcY9dg+RURgmHGQ== dependencies: - "@nuxt/config" "2.15.4" - "@nuxt/server" "2.15.4" - "@nuxt/utils" "2.15.4" + "@nuxt/config" "2.15.8" + "@nuxt/server" "2.15.8" + "@nuxt/utils" "2.15.8" consola "^2.15.3" fs-extra "^9.1.0" hable "^3.0.0" @@ -3036,7 +2764,7 @@ dependencies: consola "^2.9.0" -"@nuxt/friendly-errors-webpack-plugin@^2.5.0": +"@nuxt/friendly-errors-webpack-plugin@^2.5.1": version "2.5.1" resolved "https://registry.yarnpkg.com/@nuxt/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-2.5.1.tgz#3ab815c31eb43859a239848a85481157aaf7b07e" integrity sha512-mKN0Mbb1PjJYBzrswsyWvSEZw5Jxi0fQZPMA0ssrTmkz9lvtxtXq4luhX31OpULUvbc0jLaBu/SL0ExlxIbTlw== @@ -3046,29 +2774,29 @@ error-stack-parser "^2.0.0" string-width "^2.0.0" -"@nuxt/generator@2.15.4": - version "2.15.4" - resolved "https://registry.yarnpkg.com/@nuxt/generator/-/generator-2.15.4.tgz#6060ac9c37f78fa9c99ad73735a41da103d3f76e" - integrity sha512-Yq5tlLszZjBaw2PPt5d+WCDmfqcYrPxHngaDo/VmQR0tGyGEUETGNCYvJziOmErk0pZjk54npSr7ftnrFtJXxA== +"@nuxt/generator@2.15.8": + version "2.15.8" + resolved "https://registry.yarnpkg.com/@nuxt/generator/-/generator-2.15.8.tgz#d6bd4a677edf14f34d516e13bcb70d62cdd4c5b4" + integrity sha512-hreLdYbBIe3SWcP8LsMG7OlDTx2ZVucX8+f8Vrjft3Q4r8iCwLMYC1s1N5etxeHAZfS2kZiLmF92iscOdfbgMQ== dependencies: - "@nuxt/utils" "2.15.4" - chalk "^4.1.0" + "@nuxt/utils" "2.15.8" + chalk "^4.1.1" consola "^2.15.3" - defu "^3.2.2" + defu "^4.0.1" devalue "^2.0.1" fs-extra "^9.1.0" html-minifier "^4.0.0" - node-html-parser "^3.1.2" - ufo "^0.6.10" + node-html-parser "^3.2.0" + ufo "^0.7.4" "@nuxt/loading-screen@^2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@nuxt/loading-screen/-/loading-screen-2.0.3.tgz#1d6b1f976bb143c6592231af0bf7fa6245f6ebd2" - integrity sha512-ThvxxUpfTZezzz0gAgyG4vHCM7KDeA692EL7lKrZ/fU8JvXlG6LYngVLWAobexBsydtGkuZyKCwCVDnEGNL4jw== + version "2.0.4" + resolved "https://registry.yarnpkg.com/@nuxt/loading-screen/-/loading-screen-2.0.4.tgz#756abd861f77c57001be4d21d47534723afb4f3a" + integrity sha512-xpEDAoRu75tLUYCkUJCIvJkWJSuwr8pqomvQ+fkXpSrkxZ/9OzlBFjAbVdOAWTMj4aV/LVQso4vcEdircKeFIQ== dependencies: connect "^3.7.0" - defu "^2.0.4" - get-port-please "^1.0.0" + defu "^5.0.0" + get-port-please "^2.2.0" node-res "^5.0.1" serve-static "^1.14.1" @@ -3081,13 +2809,13 @@ consola "^2.15.0" node-fetch "^2.6.1" -"@nuxt/server@2.15.4": - version "2.15.4" - resolved "https://registry.yarnpkg.com/@nuxt/server/-/server-2.15.4.tgz#6b9beae7aa945387d277a2f442368f8beb82670d" - integrity sha512-RxHBif+12v9Tqg0hBADGRJA+HnVJDd5RDDlo4plHhIU8KhgfewGGSdF3PAltHoCavXAHrTVdTEAZKN11gtAAlA== +"@nuxt/server@2.15.8": + version "2.15.8" + resolved "https://registry.yarnpkg.com/@nuxt/server/-/server-2.15.8.tgz#ec733897de78f858ae0eebd174e8549f247c4e99" + integrity sha512-E4EtXudxtWQBUHMHOxFwm5DlPOkJbW+iF1+zc0dGmXLscep1KWPrlP+4nrpZj8/UKzpupamE8ZTS9I4IbnExVA== dependencies: - "@nuxt/utils" "2.15.4" - "@nuxt/vue-renderer" "2.15.4" + "@nuxt/utils" "2.15.8" + "@nuxt/vue-renderer" "2.15.8" "@nuxtjs/youch" "^4.2.3" compression "^1.7.4" connect "^3.7.0" @@ -3102,31 +2830,31 @@ serve-placeholder "^1.2.3" serve-static "^1.14.1" server-destroy "^1.0.1" - ufo "^0.6.10" + ufo "^0.7.4" "@nuxt/telemetry@^1.3.3": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@nuxt/telemetry/-/telemetry-1.3.3.tgz#beefa94c6032a1312c7dc9c8784c6b8cc3aa42ae" - integrity sha512-ElnoAJo1n/Ui0j9i3xqhXajoGJdEwmkEtsWftlZUpQNJxdfoz+623qnt9XHMYa0X5Nf1PXYdcUKa2u4AASXOjA== + version "1.3.6" + resolved "https://registry.yarnpkg.com/@nuxt/telemetry/-/telemetry-1.3.6.tgz#a27a27b2f56a2ad4ef2c1bef82e12f0bc0dc40ac" + integrity sha512-sZpLf/rU3cvN8/alR1HpJIl3mHPA1GOg41GKdOOrtw7Gi/lCEVk4hK+lpXgYInZ2n6i1JyknpKhM9YzX2RU33w== dependencies: arg "^5.0.0" - chalk "^4.1.0" - ci-info "^2.0.0" - consola "^2.15.0" + chalk "^4.1.1" + ci-info "^3.1.1" + consola "^2.15.3" create-require "^1.1.1" - defu "^3.2.2" + defu "^5.0.0" destr "^1.1.0" - dotenv "^8.2.0" + dotenv "^9.0.2" fs-extra "^8.1.0" - git-url-parse "^11.4.3" + git-url-parse "^11.4.4" inquirer "^7.3.3" - is-docker "^2.1.1" - jiti "^1.3.0" - nanoid "^3.1.20" + is-docker "^2.2.1" + jiti "^1.9.2" + nanoid "^3.1.23" node-fetch "^2.6.1" parse-git-config "^3.0.0" rc9 "^1.2.0" - std-env "^2.2.1" + std-env "^2.3.0" "@nuxt/types@^0.7.9": version "0.7.9" @@ -3162,31 +2890,31 @@ ts-loader "^8.0.17" typescript "~4.2" -"@nuxt/utils@2.15.4": - version "2.15.4" - resolved "https://registry.yarnpkg.com/@nuxt/utils/-/utils-2.15.4.tgz#1c84dfa964357224a79d402797c9feab2040991c" - integrity sha512-ngvE7TDVXDIQgB+vvENEPfwetWu5zxGX0vqszeEB6248MZAoU1nBqT+nVH9tIm1/aiZZz1Wg0plc4d+QLizpmA== +"@nuxt/utils@2.15.8": + version "2.15.8" + resolved "https://registry.yarnpkg.com/@nuxt/utils/-/utils-2.15.8.tgz#0c3594f01be63ab521583904cafd32215b719d4c" + integrity sha512-e0VBarUbPiQ4ZO1T58puoFIuXme7L5gk1QfwyxOONlp2ryE7aRyZ8X/mryuOiIeyP64c4nwSUtN7q9EUWRb7Lg== dependencies: consola "^2.15.3" create-require "^1.1.1" fs-extra "^9.1.0" hash-sum "^2.0.0" - jiti "^1.6.4" + jiti "^1.9.2" lodash "^4.17.21" proper-lockfile "^4.1.2" semver "^7.3.5" serialize-javascript "^5.0.1" signal-exit "^3.0.3" - ua-parser-js "^0.7.26" - ufo "^0.6.10" + ua-parser-js "^0.7.28" + ufo "^0.7.4" -"@nuxt/vue-app@2.15.4": - version "2.15.4" - resolved "https://registry.yarnpkg.com/@nuxt/vue-app/-/vue-app-2.15.4.tgz#85f478ddbde4fe3f64fbe9d8878ceb41a1a704fb" - integrity sha512-AtvMkY0OdsqlLQLEHbc61fSX3Y6HGsZPbvdFPuBX8fjFVhOCggC9HtYKcJf/S7qXhnDm241biDCy7U51myxuPw== +"@nuxt/vue-app@2.15.8": + version "2.15.8" + resolved "https://registry.yarnpkg.com/@nuxt/vue-app/-/vue-app-2.15.8.tgz#46b7ec8fc93f8d1f4cdf4f6b04134cb40ceb7c4a" + integrity sha512-FJf9FSMPsWT3BqkS37zEuPTxLKzSg2EIwp1sP8Eou25eE08qxRfe2PwTVA8HnXUPNdpz2uk/T9DlNw+JraiFRQ== dependencies: node-fetch "^2.6.1" - ufo "^0.6.10" + ufo "^0.7.4" unfetch "^4.2.0" vue "^2.6.12" vue-client-only "^2.0.0" @@ -3196,42 +2924,42 @@ vue-template-compiler "^2.6.12" vuex "^3.6.2" -"@nuxt/vue-renderer@2.15.4": - version "2.15.4" - resolved "https://registry.yarnpkg.com/@nuxt/vue-renderer/-/vue-renderer-2.15.4.tgz#39831811fff62f4ba65200163d523d0fd7311fee" - integrity sha512-UQzU4XzYFBOiwrZvh4ORcVEQbNzXPfub3/MWWZiYR7uuKjCfRNmU/ZIvAcSsWCrkyc1bvaw8Iehq4h0z88ZyQw== +"@nuxt/vue-renderer@2.15.8": + version "2.15.8" + resolved "https://registry.yarnpkg.com/@nuxt/vue-renderer/-/vue-renderer-2.15.8.tgz#1cd781de18724a98e27655e89bfe64cd5521491e" + integrity sha512-54I/k+4G6axP9XVYYdtH6M1S6T49OIkarpF6/yIJj0yi3S/2tdJ9eUyfoLZ9EbquZFDDRHBxSswTtr2l/eakPw== dependencies: "@nuxt/devalue" "^1.2.5" - "@nuxt/utils" "2.15.4" + "@nuxt/utils" "2.15.8" consola "^2.15.3" - defu "^3.2.2" + defu "^4.0.1" fs-extra "^9.1.0" lodash "^4.17.21" lru-cache "^5.1.1" - ufo "^0.6.10" + ufo "^0.7.4" vue "^2.6.12" vue-meta "^2.4.0" vue-server-renderer "^2.6.12" -"@nuxt/webpack@2.15.4": - version "2.15.4" - resolved "https://registry.yarnpkg.com/@nuxt/webpack/-/webpack-2.15.4.tgz#f65df7234248c6622f172f84646cde20ef26f347" - integrity sha512-VyrTuTpl+aXjuymHHunBg0c+F7BFuPNWU62A3fwdNoCq4zxHt4+JzXTcQkst2FlL9btJ/y2+OEM7QJRVE0+1FA== +"@nuxt/webpack@2.15.8": + version "2.15.8" + resolved "https://registry.yarnpkg.com/@nuxt/webpack/-/webpack-2.15.8.tgz#6169b4b8a13ee2cdb4987df6c5a401e18c412ef1" + integrity sha512-CzJYFed23Ow/UK0+cI1FVthDre1p2qc8Q97oizG39d3/SIh3aUHjgj8c60wcR+RSxVO0FzZMXkmq02NmA7vWJg== dependencies: - "@babel/core" "^7.13.14" - "@nuxt/babel-preset-app" "2.15.4" - "@nuxt/friendly-errors-webpack-plugin" "^2.5.0" - "@nuxt/utils" "2.15.4" + "@babel/core" "^7.14.0" + "@nuxt/babel-preset-app" "2.15.8" + "@nuxt/friendly-errors-webpack-plugin" "^2.5.1" + "@nuxt/utils" "2.15.8" babel-loader "^8.2.2" cache-loader "^4.1.0" - caniuse-lite "^1.0.30001205" + caniuse-lite "^1.0.30001228" consola "^2.15.3" css-loader "^4.3.0" - cssnano "^4.1.10" + cssnano "^4.1.11" eventsource-polyfill "^0.9.6" extract-css-chunks-webpack-plugin "^4.9.0" file-loader "^6.2.0" - glob "^7.1.6" + glob "^7.1.7" hard-source-webpack-plugin "^0.13.1" hash-sum "^2.0.0" html-webpack-plugin "^4.5.1" @@ -3250,18 +2978,18 @@ std-env "^2.3.0" style-resources-loader "^1.4.1" terser-webpack-plugin "^4.2.3" - thread-loader "^3.0.1" + thread-loader "^3.0.4" time-fix-plugin "^2.0.7" - ufo "^0.6.10" + ufo "^0.7.4" url-loader "^4.1.1" - vue-loader "^15.9.6" + vue-loader "^15.9.7" vue-style-loader "^4.1.3" vue-template-compiler "^2.6.12" webpack "^4.46.0" - webpack-bundle-analyzer "^4.4.0" - webpack-dev-middleware "^4.1.0" + webpack-bundle-analyzer "^4.4.1" + webpack-dev-middleware "^4.2.0" webpack-hot-middleware "^2.25.0" - webpack-node-externals "^2.5.2" + webpack-node-externals "^3.0.0" webpackbar "^4.0.0" "@nuxtjs/composition-api@0.17.0": @@ -3289,13 +3017,13 @@ workbox-cdn "^5.1.4" "@nuxtjs/style-resources@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@nuxtjs/style-resources/-/style-resources-1.0.0.tgz#7c4d6be19d7f7cc5d687d689f2ab16c0b94773a1" - integrity sha512-tDRcC/pm8B0Kpxtzb/1/HOBkv3/kPD+2FiCiUBGMB7YriRud9OUPw1pnYCsAH9ftwpMJS4k4XOyUY8FCTk6OxA== + version "1.2.1" + resolved "https://registry.yarnpkg.com/@nuxtjs/style-resources/-/style-resources-1.2.1.tgz#9a2b6580b2ed9b06e930bee488a56b8376a263de" + integrity sha512-sOp71gCBNuGK2jchybTtVab83yB7jnSr+hw6DAKDgAGX/jrMYUyxRc9tiFxe+8YDSnqghTgQrkEkqPsfS4D4sg== dependencies: - consola "^2.4.0" - glob-all "^3.1.0" - sass-resources-loader "^2.0.0" + consola "^2.15.3" + glob-all "^3.2.1" + sass-resources-loader "^2.2.4" "@nuxtjs/youch@^4.2.3": version "4.2.3" @@ -3307,25 +3035,25 @@ stack-trace "0.0.10" "@octokit/auth-token@^2.4.0": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.5.tgz#568ccfb8cb46f36441fac094ce34f7a875b197f3" - integrity sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA== + version "2.5.0" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.5.0.tgz#27c37ea26c205f28443402477ffd261311f21e36" + integrity sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g== dependencies: "@octokit/types" "^6.0.3" "@octokit/endpoint@^6.0.1": - version "6.0.11" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.11.tgz#082adc2aebca6dcefa1fb383f5efb3ed081949d1" - integrity sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ== + version "6.0.12" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.12.tgz#3b4d47a4b0e79b1027fb8d75d4221928b2d05658" + integrity sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA== dependencies: "@octokit/types" "^6.0.3" is-plain-object "^5.0.0" universal-user-agent "^6.0.0" -"@octokit/openapi-types@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-6.0.0.tgz#7da8d7d5a72d3282c1a3ff9f951c8133a707480d" - integrity sha512-CnDdK7ivHkBtJYzWzZm7gEkanA7gKH6a09Eguz7flHw//GacPJLmkHA3f3N++MJmlxD1Fl+mB7B32EEpSCwztQ== +"@octokit/openapi-types@^10.6.4": + version "10.6.4" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-10.6.4.tgz#c8b5b1f5c60ab7c62858abe2ef57bc709f426a30" + integrity sha512-JVmwWzYTIs6jACYOwD6zu5rdrqGIYsiAsLzTCxdrWIPNKNVjEF6vPTL20shmgJ4qZsq7WPBcLXLsaQD+NLChfg== "@octokit/plugin-enterprise-rest@^6.0.1": version "6.0.1" @@ -3340,9 +3068,9 @@ "@octokit/types" "^2.0.1" "@octokit/plugin-request-log@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.3.tgz#70a62be213e1edc04bb8897ee48c311482f9700d" - integrity sha512-4RFU4li238jMJAzLgAwkBAw+4Loile5haQMQr+uhFq27BmyJXcXSKvoQKqh0agsZEiUlW6iSv3FAgvmGkur7OQ== + version "1.0.4" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" + integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== "@octokit/plugin-rest-endpoint-methods@2.4.0": version "2.4.0" @@ -3361,23 +3089,23 @@ deprecation "^2.0.0" once "^1.4.0" -"@octokit/request-error@^2.0.0": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.5.tgz#72cc91edc870281ad583a42619256b380c600143" - integrity sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg== +"@octokit/request-error@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.1.0.tgz#9e150357831bfc788d13a4fd4b1913d60c74d677" + integrity sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg== dependencies: "@octokit/types" "^6.0.3" deprecation "^2.0.0" once "^1.4.0" "@octokit/request@^5.2.0": - version "5.4.15" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.15.tgz#829da413dc7dd3aa5e2cdbb1c7d0ebe1f146a128" - integrity sha512-6UnZfZzLwNhdLRreOtTkT9n57ZwulCve8q3IT/Z477vThu6snfdkBuhxnChpOKNGxcQ71ow561Qoa6uqLdPtag== + version "5.6.2" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.6.2.tgz#1aa74d5da7b9e04ac60ef232edd9a7438dcf32d8" + integrity sha512-je66CvSEVf0jCpRISxkUcCa0UkxmFs6eGDRSbfJtAVwbLH5ceqF+YEyC8lj8ystKyZTy8adWr0qmkY52EfOeLA== dependencies: "@octokit/endpoint" "^6.0.1" - "@octokit/request-error" "^2.0.0" - "@octokit/types" "^6.7.1" + "@octokit/request-error" "^2.1.0" + "@octokit/types" "^6.16.1" is-plain-object "^5.0.0" node-fetch "^2.6.1" universal-user-agent "^6.0.0" @@ -3411,17 +3139,17 @@ dependencies: "@types/node" ">= 8" -"@octokit/types@^6.0.3", "@octokit/types@^6.7.1": - version "6.13.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.13.0.tgz#779e5b7566c8dde68f2f6273861dd2f0409480d0" - integrity sha512-W2J9qlVIU11jMwKHUp5/rbVUeErqelCsO5vW5PKNb7wAXQVUz87Rc+imjlEvpvbH8yUb+KHmv8NEjVZdsdpyxA== +"@octokit/types@^6.0.3", "@octokit/types@^6.16.1": + version "6.31.3" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.31.3.tgz#14c2961baea853b2bf148d892256357a936343f8" + integrity sha512-IUG3uMpsLHrtEL6sCVXbxCgnbKcgpkS4K7gVEytLDvYYalkK3XcuMCHK1YPD8xJglSJAOAbL4MgXp47rS9G49w== dependencies: - "@octokit/openapi-types" "^6.0.0" + "@octokit/openapi-types" "^10.6.4" -"@polka/url@^1.0.0-next.9": - version "1.0.0-next.12" - resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.12.tgz#431ec342a7195622f86688bbda82e3166ce8cb28" - integrity sha512-6RglhutqrGFMO1MNUXp95RBuYIuc8wTnMAV5MUhLmjTOy78ncwOw7RgeQ/HeymkKXRhZd0s2DNrM1rL7unk3MQ== +"@polka/url@^1.0.0-next.20": + version "1.0.0-next.21" + resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1" + integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g== "@rollup/plugin-babel@^5.1.0": version "5.3.0" @@ -3440,9 +3168,9 @@ graphql-tag "^2.2.2" "@rollup/plugin-node-resolve@^13.0.0": - version "13.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.0.tgz#352f07e430ff377809ec8ec8a6fd636547162dc4" - integrity sha512-41X411HJ3oikIDivT5OKe9EZ6ud6DXudtfNrGbC4nniaxx2esiWjkLOzgnZsWq1IM8YIeL2rzRGLZLBjlhnZtQ== + version "13.0.5" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.5.tgz#016abe58796a4ff544d6beac7818921e3d3777fc" + integrity sha512-mVaw6uxtvuGx/XCI4qBQXsDZJUfyx5vp39iE0J/7Hd6wDhEbjHr6aES7Nr9yWbuE0BY+oKp6N7Bq6jX5NCGNmQ== dependencies: "@rollup/pluginutils" "^3.1.0" "@types/resolve" "1.17.1" @@ -3469,19 +3197,19 @@ picomatch "^2.2.2" "@rollup/pluginutils@^4.0.0", "@rollup/pluginutils@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.0.tgz#0dcc61c780e39257554feb7f77207dceca13c838" - integrity sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ== + version "4.1.1" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.1.tgz#1d4da86dd4eded15656a57d933fda2b9a08d47ec" + integrity sha512-clDjivHqWGXi7u+0d2r2sBi4Ie6VLEAzWMIkvJLnDmxoOhBYOTfzGbOQBA32THHm11/LiJbd01tJUpJsbshSWQ== dependencies: estree-walker "^2.0.1" picomatch "^2.2.2" -"@rushstack/node-core-library@3.40.0": - version "3.40.0" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.40.0.tgz#2551915ea34e34ec2abb7172b9d7f4546144d9d4" - integrity sha512-P6uMPI7cqTdawLSPAG5BQrBu1MHlGRPqecp7ruIRgyukIEzkmh0QAnje4jAL/l1r3hw0qe4e+Dz5ZSnukT/Egg== +"@rushstack/node-core-library@3.42.0": + version "3.42.0" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.42.0.tgz#8961eee5382b26f148169bf16fc28c2d831fa74e" + integrity sha512-oB4eIGjBfNtGxlNbwV8H7oEUWeRKalJUT3TqccZW+k4GC6SrQzmC/mvgRZi4eW3FwNGgTvZAACIQy7x50+j7pw== dependencies: - "@types/node" "10.17.13" + "@types/node" "12.20.24" colors "~1.2.1" fs-extra "~7.0.1" import-lazy "~4.0.0" @@ -3491,18 +3219,18 @@ timsort "~0.3.0" z-schema "~3.18.3" -"@rushstack/rig-package@0.2.13": - version "0.2.13" - resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.2.13.tgz#418f0aeb4c9b33bd8bd2547759fc0ae91fd970c7" - integrity sha512-qQMAFKvfb2ooaWU9DrGIK9d8QfyHy/HiuITJbWenlKgzcDXQvQgEduk57YF4Y7LLasDJ5ZzLaaXwlfX8qCRe5Q== +"@rushstack/rig-package@0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.3.1.tgz#b70ab9ffe3b6347eb799f5c6c5b6f5882039a60f" + integrity sha512-DXQmrPWOCNoE2zPzHCShE1y47FlgbAg48wpaY058Qo/yKDzL0GlEGf5Ra2NIt22pMcp0R/HHh+kZGbqTnF4CrA== dependencies: resolve "~1.17.0" strip-json-comments "~3.1.1" -"@rushstack/ts-command-line@4.8.1": - version "4.8.1" - resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.8.1.tgz#c233a0226112338e58e7e4fd219247b4e7cec883" - integrity sha512-rmxvYdCNRbyRs+DYAPye3g6lkCkWHleqO40K8UPvUAzFqEuj6+YCVssBiOmrUDCoM5gaegSNT0wFDYhz24DWtw== +"@rushstack/ts-command-line@4.10.0": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.10.0.tgz#6ddc939bb16410078379956dd97c14020b71b236" + integrity sha512-BRF7O4XQKmrZz8GZ6b/+0+4elrnY2kjZsLrUOJ1dwJZxAR0I1+G0/GD66RVPi0ku1qN4A6t+HrB5p2Nxc9ECrA== dependencies: "@types/argparse" "1.0.38" argparse "~1.0.9" @@ -3526,10 +3254,10 @@ resolved "https://registry.yarnpkg.com/@storefront-ui/shared/-/shared-0.10.2.tgz#144d3a7d5508563ad97c1882fbd291abb0166349" integrity sha512-EWwct/pMYcXhMKGEE2h7blw0XIvcVokhzdzfl5VROSajtflJkJ11hfaOxFWkB5Zgd6IdS9iwR2ayzVjunVRuEA== -"@storefront-ui/shared@0.10.4": - version "0.10.4" - resolved "https://registry.yarnpkg.com/@storefront-ui/shared/-/shared-0.10.4.tgz#f0579e807e43486f45d3b9942b0cb96ce1fe8f7e" - integrity sha512-luFwpkawD5dnFT9hg40MvX1aZYFXlt1RThcAvpsZjNkxlR4+uGY+9IzFibGE3dOz+zBUvy8RVOT07JKlt4AR0g== +"@storefront-ui/shared@0.10.71": + version "0.10.71" + resolved "https://registry.yarnpkg.com/@storefront-ui/shared/-/shared-0.10.71.tgz#210665f54f04b62e000c97ce2ce9aa973ce95197" + integrity sha512-fLv7iAEk1YEq7yoZkvWkQNGMH6XqpqqJWjrJ5Hcr51gUvzk0vCLGebOp8iOYbSHmMwRhOkCxUVOFK9oo3WKdAQ== "@storefront-ui/vue@0.10.3": version "0.10.3" @@ -3551,22 +3279,23 @@ vue2-leaflet "^2.5.2" "@storefront-ui/vue@^0.10.3": - version "0.10.4" - resolved "https://registry.yarnpkg.com/@storefront-ui/vue/-/vue-0.10.4.tgz#9550c059948ab03e1b09d4de13d8ec8deced7011" - integrity sha512-OUR1vxUB++G/ToFxNCyphGCUI5TbWT7yJ0+9feQI9Wg71yiRSCsDkDO765KpcyFGhrqchgi3R/YobOt+8dCwiA== + version "0.10.71" + resolved "https://registry.yarnpkg.com/@storefront-ui/vue/-/vue-0.10.71.tgz#18c512d2234db4ba009e49e4391d5062ec05b63f" + integrity sha512-cWdml1ZPx3g1i/kyhktd0cMjQNDgnKi6h3e5+VZS21gJEjmnXyhIilc0gQffRJ852w06fhQ3KXgC3TF6mFEauQ== dependencies: + "@cypress/vue" "^2.0.1" "@glidejs/glide" "^3.3.0" - "@storefront-ui/shared" "0.10.4" + "@storefront-ui/shared" "0.10.71" body-scroll-lock "^3.0.1" cloudinary-build-url "^0.1.1" core-js "^3.6.5" hammerjs "^2.0.8" leaflet "^1.5.1" node-sass "^4.13.1" + nouislider "^15.2.0" sass-loader "^8.0.2" simplebar-vue "^1.4.0" - vue-drag-drop "^1.1.4" - vue-fragment "^1.5.1" + vue "^2.6.12" vue2-leaflet "^2.5.2" "@szmarczak/http-timer@^1.1.2": @@ -3576,11 +3305,6 @@ dependencies: defer-to-connect "^1.0.1" -"@types/anymatch@*": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" - integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== - "@types/argparse@1.0.38": version "1.0.38" resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" @@ -3595,9 +3319,9 @@ postcss "7.x.x" "@types/babel__core@^7.1.0", "@types/babel__core@^7.1.8": - version "7.1.14" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.14.tgz#faaeefc4185ec71c389f4501ee5ec84b170cc402" - integrity sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g== + version "7.1.16" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.16.tgz#bc12c74b7d65e82d29876b5d0baf5c625ac58702" + integrity sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -3606,31 +3330,31 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" - integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== + version "7.6.3" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.3.tgz#f456b4b2ce79137f768aa130d2423d2f0ccfaba5" + integrity sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" - integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.11.1" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz#654f6c4f67568e24c23b367e947098c6206fa639" - integrity sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw== + version "7.14.2" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" + integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== dependencies: "@babel/types" "^7.3.0" "@types/body-parser@*": - version "1.19.0" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f" - integrity sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ== + version "1.19.1" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.1.tgz#0c0174c42a7d017b818303d4b5d969cb0b75929c" + integrity sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg== dependencies: "@types/connect" "*" "@types/node" "*" @@ -3643,24 +3367,24 @@ browserslist "*" "@types/clean-css@*": - version "4.2.4" - resolved "https://registry.yarnpkg.com/@types/clean-css/-/clean-css-4.2.4.tgz#4fe4705c384e6ec9ee8454bc3d49089f38dc038a" - integrity sha512-x8xEbfTtcv5uyQDrBXKg9Beo5QhTPqO4vM0uq4iU27/nhyRRWNEMKHjxvAb0WDvp2Mnt4Sw0jKmIi5yQF/k2Ag== + version "4.2.5" + resolved "https://registry.yarnpkg.com/@types/clean-css/-/clean-css-4.2.5.tgz#69ce62cc13557c90ca40460133f672dc52ceaf89" + integrity sha512-NEzjkGGpbs9S9fgC4abuBvTpVwE3i+Acu9BBod3PUyjDVZcNsGx61b8r2PphR61QGPnn0JHVs5ey6/I4eTrkxw== dependencies: "@types/node" "*" source-map "^0.6.0" "@types/compression@^1.7.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@types/compression/-/compression-1.7.0.tgz#8dc2a56604873cf0dd4e746d9ae4d31ae77b2390" - integrity sha512-3LzWUM+3k3XdWOUk/RO+uSjv7YWOatYq2QADJntK1pjkk4DfVP0KrIEPDnXRJxAAGKe0VpIPRmlINLDuCedZWw== + version "1.7.2" + resolved "https://registry.yarnpkg.com/@types/compression/-/compression-1.7.2.tgz#7cc1cdb01b4730eea284615a68fc70a2cdfd5e71" + integrity sha512-lwEL4M/uAGWngWFLSG87ZDr2kLrbuR8p7X+QZB1OQlT+qkHsCPDVFnHPyXf4Vyl4yDDorNY+mAhosxkCvppatg== dependencies: "@types/express" "*" "@types/connect@*", "@types/connect@^3.4.33": - version "3.4.34" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.34.tgz#170a40223a6d666006d93ca128af2beb1d9b1901" - integrity sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ== + version "3.4.35" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== dependencies: "@types/node" "*" @@ -3670,9 +3394,9 @@ integrity sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow== "@types/estree@*": - version "0.0.47" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.47.tgz#d7a51db20f0650efec24cd04994f523d93172ed4" - integrity sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg== + version "0.0.50" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" + integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== "@types/estree@0.0.39": version "0.0.39" @@ -3680,25 +3404,25 @@ integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== "@types/etag@^1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@types/etag/-/etag-1.8.0.tgz#37f0b1f3ea46da7ae319bbedb607e375b4c99f7e" - integrity sha512-EdSN0x+Y0/lBv7YAb8IU4Jgm6DWM+Bqtz7o5qozl96fzaqdqbdfHS5qjdpFeIv7xQ8jSLyjMMNShgYtMajEHyQ== + version "1.8.1" + resolved "https://registry.yarnpkg.com/@types/etag/-/etag-1.8.1.tgz#593ca8ddb43acb3db049bd0955fd64d281ab58b9" + integrity sha512-bsKkeSqN7HYyYntFRAmzcwx/dKW4Wa+KVMTInANlI72PWLQmOpZu96j0OqHZGArW4VQwCmJPteQlXaUDeOB0WQ== dependencies: "@types/node" "*" "@types/express-serve-static-core@^4.17.18": - version "4.17.19" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz#00acfc1632e729acac4f1530e9e16f6dd1508a1d" - integrity sha512-DJOSHzX7pCiSElWaGR8kCprwibCB/3yW6vcT8VG3P0SJjnv19gnWG/AZMfM60Xj/YJIp/YCaDHyvzsFVeniARA== + version "4.17.24" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz#ea41f93bf7e0d59cd5a76665068ed6aab6815c07" + integrity sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" "@types/express@*", "@types/express@^4.11.1": - version "4.17.11" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.11.tgz#debe3caa6f8e5fcda96b47bd54e2f40c4ee59545" - integrity sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg== + version "4.17.13" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" + integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.18" @@ -3713,17 +3437,17 @@ "@types/webpack" "^4" "@types/glob@^7.1.1": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" - integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== + version "7.1.4" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.4.tgz#ea59e21d2ee5c517914cb4bc8e4153b99e566672" + integrity sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA== dependencies: "@types/minimatch" "*" "@types/node" "*" "@types/html-minifier-terser@^5.0.0": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#3c9ee980f1a10d6021ae6632ca3e79ca2ec4fb50" - integrity sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA== + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz#693b316ad323ea97eed6b38ed1a3cc02b1672b57" + integrity sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w== "@types/html-minifier@^3.5.3": version "3.5.3" @@ -3761,10 +3485,10 @@ dependencies: jest-diff "^24.3.0" -"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" - integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== +"@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8": + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== "@types/json5@^0.0.29": version "0.0.29" @@ -3772,9 +3496,9 @@ integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= "@types/less@^3.0.1": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/less/-/less-3.0.2.tgz#2761d477678c8374cb9897666871662eb1d1115e" - integrity sha512-62vfe65cMSzYaWmpmhqCMMNl0khen89w57mByPi1OseGfcV/LV03fO8YVrNj7rFQsRWNJo650WWyh6m7p8vZmA== + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/less/-/less-3.0.3.tgz#f9451dbb9548d25391107d65d6401a0cfb15db92" + integrity sha512-1YXyYH83h6We1djyoUEqTlVyQtCfJAFXELSKW2ZRtjHD4hQ82CC4lvrv5D0l0FLcKBaiPbXyi3MpMsI9ZRgKsw== "@types/memory-fs@*": version "0.3.3" @@ -3789,51 +3513,51 @@ integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== "@types/minimatch@*": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21" - integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA== + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== "@types/minimist@^1.2.0": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.1.tgz#283f669ff76d7b8260df8ab7a4262cc83d988256" - integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg== + version "1.2.2" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" + integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== "@types/node-sass@^4.11.1": - version "4.11.1" - resolved "https://registry.yarnpkg.com/@types/node-sass/-/node-sass-4.11.1.tgz#bda27c5181cbf7c090c3058e119633dfb2b6504c" - integrity sha512-wPOmOEEtbwQiPTIgzUuRSQZ3H5YHinsxRGeZzPSDefAm4ylXWnZG9C0adses8ymyplKK0gwv3JkDNO8GGxnWfg== + version "4.11.2" + resolved "https://registry.yarnpkg.com/@types/node-sass/-/node-sass-4.11.2.tgz#ecdaa44a1ba8847bf7dea2aadbfe33a91a263514" + integrity sha512-pOFlTw/OtZda4e+yMjq6/QYuvY0RDMQ+mxXdWj7rfSyf18V8hS4SfgurO+MasAkQsv6Wt6edOGlwh5QqJml9gw== dependencies: "@types/node" "*" "@types/node@*", "@types/node@>= 8", "@types/node@>=6": - version "14.14.39" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.39.tgz#9ef394d4eb52953d2890e4839393c309aa25d2d1" - integrity sha512-Qipn7rfTxGEDqZiezH+wxqWYR8vcXq5LRpZrETD19Gs4o8LbklbmqotSUsMU+s5G3PJwMRDfNEYoxrcBwIxOuw== - -"@types/node@10.17.13": - version "10.17.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.13.tgz#ccebcdb990bd6139cd16e84c39dc2fb1023ca90c" - integrity sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg== + version "16.10.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.10.2.tgz#5764ca9aa94470adb4e1185fe2e9f19458992b2e" + integrity sha512-zCclL4/rx+W5SQTzFs9wyvvyCwoK9QtBpratqz2IYJ3O8Umrn0m3nsTv0wQBk9sRGpvUe9CwPDrQFB10f1FIjQ== "@types/node@12.12.50": version "12.12.50" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.50.tgz#e9b2e85fafc15f2a8aa8fdd41091b983da5fd6ee" integrity sha512-5ImO01Fb8YsEOYpV+aeyGYztcYcjGsBvN4D7G5r1ef2cuQOpymjWNQi5V0rKHE6PC2ru3HkoUr/Br2/8GUA84w== +"@types/node@12.20.24": + version "12.20.24" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.24.tgz#c37ac69cb2948afb4cef95f424fa0037971a9a5c" + integrity sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ== + "@types/node@^12.12.14", "@types/node@^12.12.2", "@types/node@^12.12.47": - version "12.20.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.8.tgz#e8552c505de64739fc997e28920ff4539fc8f185" - integrity sha512-uxDkaUGwXNDHu5MHqs+FAsmOjNoNibDF1cu4668QG96mQldQfgV3M+UyntXWWrtXSh13jFxEdNUdoLWH46mLKQ== + version "12.20.27" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.27.tgz#4141fcad57c332a120591de883e26fe4bb14aaea" + integrity sha512-qZdePUDSLAZRXXV234bLBEUM0nAQjoxbcSwp1rqSMUe1rZ47mwU6OjciR/JvF1Oo8mc0ys6GE0ks0HGgqAZoGg== "@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== "@types/optimize-css-assets-webpack-plugin@^5.0.1": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@types/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz#9bf5bdbb57b379f59a37a6775336f42cd6701852" - integrity sha512-PJgbI4KplJfyxKWVrBbEL+rePEBqeozJRMT0mBL3ynhvngASBV/XJ+BneLuJN74RjjMzO0gA5ns80mgubQdZAA== + version "5.0.4" + resolved "https://registry.yarnpkg.com/@types/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz#eb2c8b9d3f9f14b72639ac18a1a72998a4313083" + integrity sha512-dpRBcoyUD1uJLzyrnEl0LCwqPc/vprmOrl6fkk0dZEZe0b28rsB6t4WsbFNitFhD4oS8lRZO1+MiKzslfCTTNQ== dependencies: "@types/webpack" "^4" @@ -3843,29 +3567,29 @@ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/pug@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/pug/-/pug-2.0.4.tgz#8772fcd0418e3cd2cc171555d73007415051f4b2" - integrity sha1-h3L80EGOPNLMFxVV1zAHQVBR9LI= + version "2.0.5" + resolved "https://registry.yarnpkg.com/@types/pug/-/pug-2.0.5.tgz#69bc700934dd473c7ab97270bd2dbacefe562231" + integrity sha512-LOnASQoeNZMkzexRuyqcBBDZ6rS+rQxUMkmj5A0PkhhiSZivLIuz6Hxyr1mkGoEZEkk66faROmpMi4fFkrKsBA== "@types/q@^1.5.1": - version "1.5.4" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" - integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== + version "1.5.5" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df" + integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== "@types/qs@*": - version "6.9.6" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.6.tgz#df9c3c8b31a247ec315e6996566be3171df4b3b1" - integrity sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA== + version "6.9.7" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== "@types/range-parser@*": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" - integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== + version "1.2.4" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== "@types/relateurl@*": - version "0.2.28" - resolved "https://registry.yarnpkg.com/@types/relateurl/-/relateurl-0.2.28.tgz#6bda7db8653fa62643f5ee69e9f69c11a392e3a6" - integrity sha1-a9p9uGU/piZD9e5p6facEaOS46Y= + version "0.2.29" + resolved "https://registry.yarnpkg.com/@types/relateurl/-/relateurl-0.2.29.tgz#68ccecec3d4ffdafb9c577fe764f912afc050fe6" + integrity sha512-QSvevZ+IRww2ldtfv1QskYsqVVVwCKQf1XbwtcyyoRvLIQzfyPhj/C+3+PKzSDRdiyejaiLgnq//XTkleorpLg== "@types/resolve@1.17.1": version "1.17.1" @@ -3875,22 +3599,22 @@ "@types/node" "*" "@types/serve-static@*", "@types/serve-static@^1.13.4": - version "1.13.9" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.9.tgz#aacf28a85a05ee29a11fb7c3ead935ac56f33e4e" - integrity sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA== + version "1.13.10" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" + integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== dependencies: "@types/mime" "^1" "@types/node" "*" "@types/sinonjs__fake-timers@^6.0.1": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.2.tgz#3a84cf5ec3249439015e14049bd3161419bf9eae" - integrity sha512-dIPoZ3g5gcx9zZEszaxLSVTvMReD3xxyyDnQUjA6IYDG9Ba2AV0otMPs+77sG9ojB4Qr2N2Vk5RnKeuA0X/0bg== + version "6.0.4" + resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.4.tgz#0ecc1b9259b76598ef01942f547904ce61a6a77d" + integrity sha512-IFQTJARgMUBF+xVd2b+hIgXWrZEjND3vJtRCvIelcFB5SIXfjV4bOHbHJ0eXKh+0COrBRc8MqteKAz/j88rE0A== "@types/sizzle@^2.3.2": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz#a811b8c18e2babab7d542b3365887ae2e4d9de47" - integrity sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg== + version "2.3.3" + resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.3.tgz#ff5e2f1902969d305225a047c8a0fd5c915cebef" + integrity sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ== "@types/source-list-map@*": version "0.1.2" @@ -3903,36 +3627,36 @@ integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== "@types/tapable@^1", "@types/tapable@^1.0.5": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.7.tgz#545158342f949e8fd3bfd813224971ecddc3fac4" - integrity sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ== + version "1.0.8" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" + integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== "@types/terser-webpack-plugin@^2.2.1": - version "2.2.2" - resolved "https://registry.yarnpkg.com/@types/terser-webpack-plugin/-/terser-webpack-plugin-2.2.2.tgz#7cd355affe6e62c0cbc5d2fc9f30fd440d1c0778" - integrity sha512-cesfeuYsaBJwGVvhJC0b8bgKnsxeNT1MkEpy1BhLrEgi1U1SATenWew2J8vr9aZLRcpf6D3T+ReVtoq0vGswuQ== + version "2.2.3" + resolved "https://registry.yarnpkg.com/@types/terser-webpack-plugin/-/terser-webpack-plugin-2.2.3.tgz#53ee74f6c237843ddf98ac409c250226412db85b" + integrity sha512-IqmP1OBzNyx9ZNj/3Svf0QFN+cJUrtECceVLENlXhXX4snmkgxo8n3U3wMJv1c066FXqwP+iorzCZCJhshytsw== dependencies: "@types/webpack" "^4" terser "^4.3.9" "@types/uglify-js@*": - version "3.13.0" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.0.tgz#1cad8df1fb0b143c5aba08de5712ea9d1ff71124" - integrity sha512-EGkrJD5Uy+Pg0NUR8uA4bJ5WMfljyad0G+784vLCNUkD+QwOJXUbBYExXfVGf7YtyzdQp3L/XMYcliB987kL5Q== + version "3.13.1" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.1.tgz#5e889e9e81e94245c75b6450600e1c5ea2878aea" + integrity sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ== dependencies: source-map "^0.6.1" "@types/webpack-bundle-analyzer@^3.8.0": - version "3.9.3" - resolved "https://registry.yarnpkg.com/@types/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.3.tgz#3a12025eb5d86069c30b47a157e62c0aca6e39a1" - integrity sha512-l/vaDMWGcXiMB3CbczpyICivLTB07/JNtn1xebsRXE9tPaUDEHgX3x7YP6jfznG5TOu7I4w0Qx1tZz61znmPmg== + version "3.9.4" + resolved "https://registry.yarnpkg.com/@types/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.4.tgz#029d31294a3dc36a9d655cf36de30fe9a254e72d" + integrity sha512-I00B3BPLnKArbbLMhocyvY+jEwEAnIWoyPRdWZD+4z6q91dubgLR0czoTdDwfTlmjSfuT5HcMc56b6cCxRKbbQ== dependencies: "@types/webpack" "^4" "@types/webpack-dev-middleware@^3.7.1": - version "3.7.4" - resolved "https://registry.yarnpkg.com/@types/webpack-dev-middleware/-/webpack-dev-middleware-3.7.4.tgz#5190360d93cbfff51ab09167e92ea5f3a0e251dc" - integrity sha512-NV7qwBHYYOxgUo3PB12bBngpW7I4JY2AZTVLszmeNkmGH8DCgBTXKyc9t9KLaaATE07A9bXeJmyHFaE5OiV6mA== + version "3.7.5" + resolved "https://registry.yarnpkg.com/@types/webpack-dev-middleware/-/webpack-dev-middleware-3.7.5.tgz#a5e87668d36b3e8cf2c58a9e27314b7cf0999fce" + integrity sha512-jHcCoRc2Hh6oDozoc27ibKAqrfn8nlewheoFV704EMJqheaOe7HxZZp9Q39bPh2eUDLtEJApLNQy6l20yT/4jA== dependencies: "@types/connect" "*" "@types/memory-fs" "*" @@ -3940,32 +3664,32 @@ loglevel "^1.6.2" "@types/webpack-hot-middleware@^2.25.3": - version "2.25.4" - resolved "https://registry.yarnpkg.com/@types/webpack-hot-middleware/-/webpack-hot-middleware-2.25.4.tgz#e439e9a3694158badf23b094bc1ad6051767ca05" - integrity sha512-6tQb9EBKIANZYUVLQYWiWfDFVe7FhXSj4bB2EF5QB7VtYWL3HDR+y/zqjZPAnCorv0spLqVMRqjRK8AmhfocMw== + version "2.25.5" + resolved "https://registry.yarnpkg.com/@types/webpack-hot-middleware/-/webpack-hot-middleware-2.25.5.tgz#b42c7a00fa3e508b3fb9809cd7261f6dbe01355f" + integrity sha512-/eRWWMgZteNzl17qLCRdRmtKPZuWy984b11Igz9+BAU5a99Hc2AJinnMohMPVahGRSHby4XwsnjlgIt9m0Ce3g== dependencies: "@types/connect" "*" "@types/webpack" "^4" "@types/webpack-sources@*": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-2.1.0.tgz#8882b0bd62d1e0ce62f183d0d01b72e6e82e8c10" - integrity sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz#16d759ba096c289034b26553d2df1bf45248d38b" + integrity sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg== dependencies: "@types/node" "*" "@types/source-list-map" "*" source-map "^0.7.3" "@types/webpack@^4", "@types/webpack@^4.41.17", "@types/webpack@^4.41.8": - version "4.41.27" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.27.tgz#f47da488c8037e7f1b2dbf2714fbbacb61ec0ffc" - integrity sha512-wK/oi5gcHi72VMTbOaQ70VcDxSQ1uX8S2tukBK9ARuGXrYM/+u4ou73roc7trXDNmCxCoerE8zruQqX/wuHszA== + version "4.41.31" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.31.tgz#c35f252a3559ddf9c85c0d8b0b42019025e581aa" + integrity sha512-/i0J7sepXFIp1ZT7FjUGi1eXMCg8HCCzLJEQkKsOtbJFontsJLolBcDC+3qxn5pPwiCt1G0ZdRmYRzNBtvpuGQ== dependencies: - "@types/anymatch" "*" "@types/node" "*" "@types/tapable" "^1" "@types/uglify-js" "*" "@types/webpack-sources" "*" + anymatch "^3.0.0" source-map "^0.6.0" "@types/websocket@1.0.2": @@ -3976,100 +3700,102 @@ "@types/node" "*" "@types/yargs-parser@*": - version "20.2.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" - integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== + version "20.2.1" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" + integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== "@types/yargs@^13.0.0": - version "13.0.11" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.11.tgz#def2f0c93e4bdf2c61d7e34899b17e34be28d3b1" - integrity sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ== + version "13.0.12" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.12.tgz#d895a88c703b78af0465a9de88aa92c61430b092" + integrity sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ== dependencies: "@types/yargs-parser" "*" +"@types/yauzl@^2.9.1": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a" + integrity sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA== + dependencies: + "@types/node" "*" + "@types/zen-observable@0.8.0": version "0.8.0" resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.0.tgz#8b63ab7f1aa5321248aad5ac890a485656dcea4d" integrity sha512-te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg== -"@types/zen-observable@0.8.3": +"@types/zen-observable@0.8.3", "@types/zen-observable@^0.8.0": version "0.8.3" resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.3.tgz#781d360c282436494b32fe7d9f7f8e64b3118aa3" integrity sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw== -"@types/zen-observable@^0.8.0": - version "0.8.2" - resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.2.tgz#808c9fa7e4517274ed555fa158f2de4b4f468e71" - integrity sha512-HrCIVMLjE1MOozVoD86622S7aunluLb2PJdPfb3nYiEtohm8mIB/vyv0Fd37AdeMFrTUQXEunw78YloMA3Qilg== - "@typescript-eslint/eslint-plugin@^4.15.2": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.22.0.tgz#3d5f29bb59e61a9dba1513d491b059e536e16dbc" - integrity sha512-U8SP9VOs275iDXaL08Ln1Fa/wLXfj5aTr/1c0t0j6CdbOnxh+TruXu1p4I0NAvdPBQgoPjHsgKn28mOi0FzfoA== + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" + integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== dependencies: - "@typescript-eslint/experimental-utils" "4.22.0" - "@typescript-eslint/scope-manager" "4.22.0" - debug "^4.1.1" + "@typescript-eslint/experimental-utils" "4.33.0" + "@typescript-eslint/scope-manager" "4.33.0" + debug "^4.3.1" functional-red-black-tree "^1.0.1" - lodash "^4.17.15" - regexpp "^3.0.0" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/experimental-utils@4.22.0": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.22.0.tgz#68765167cca531178e7b650a53456e6e0bef3b1f" - integrity sha512-xJXHHl6TuAxB5AWiVrGhvbGL8/hbiCQ8FiWwObO3r0fnvBdrbWEDy1hlvGQOAWc6qsCWuWMKdVWlLAEMpxnddg== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.22.0" - "@typescript-eslint/types" "4.22.0" - "@typescript-eslint/typescript-estree" "4.22.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/parser@^4.15.2": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.22.0.tgz#e1637327fcf796c641fe55f73530e90b16ac8fe8" - integrity sha512-z/bGdBJJZJN76nvAY9DkJANYgK3nlRstRRi74WHm3jjgf2I8AglrSY+6l7ogxOmn55YJ6oKZCLLy+6PW70z15Q== - dependencies: - "@typescript-eslint/scope-manager" "4.22.0" - "@typescript-eslint/types" "4.22.0" - "@typescript-eslint/typescript-estree" "4.22.0" - debug "^4.1.1" + ignore "^5.1.8" + regexpp "^3.1.0" + semver "^7.3.5" + tsutils "^3.21.0" -"@typescript-eslint/scope-manager@4.22.0": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.22.0.tgz#ed411545e61161a8d702e703a4b7d96ec065b09a" - integrity sha512-OcCO7LTdk6ukawUM40wo61WdeoA7NM/zaoq1/2cs13M7GyiF+T4rxuA4xM+6LeHWjWbss7hkGXjFDRcKD4O04Q== +"@typescript-eslint/experimental-utils@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" + integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== dependencies: - "@typescript-eslint/types" "4.22.0" - "@typescript-eslint/visitor-keys" "4.22.0" - -"@typescript-eslint/types@4.22.0": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.22.0.tgz#0ca6fde5b68daf6dba133f30959cc0688c8dd0b6" - integrity sha512-sW/BiXmmyMqDPO2kpOhSy2Py5w6KvRRsKZnV0c4+0nr4GIcedJwXAq+RHNK4lLVEZAJYFltnnk1tJSlbeS9lYA== + "@types/json-schema" "^7.0.7" + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" -"@typescript-eslint/typescript-estree@4.22.0": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.0.tgz#b5d95d6d366ff3b72f5168c75775a3e46250d05c" - integrity sha512-TkIFeu5JEeSs5ze/4NID+PIcVjgoU3cUQUIZnH3Sb1cEn1lBo7StSV5bwPuJQuoxKXlzAObjYTilOEKRuhR5yg== - dependencies: - "@typescript-eslint/types" "4.22.0" - "@typescript-eslint/visitor-keys" "4.22.0" - debug "^4.1.1" - globby "^11.0.1" +"@typescript-eslint/parser@^4.15.2": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== + dependencies: + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + debug "^4.3.1" + +"@typescript-eslint/scope-manager@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + +"@typescript-eslint/types@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== + +"@typescript-eslint/typescript-estree@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + debug "^4.3.1" + globby "^11.0.3" is-glob "^4.0.1" - semver "^7.3.2" - tsutils "^3.17.1" + semver "^7.3.5" + tsutils "^3.21.0" -"@typescript-eslint/visitor-keys@4.22.0": - version "4.22.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.0.tgz#169dae26d3c122935da7528c839f42a8a42f6e47" - integrity sha512-nnMu4F+s4o0sll6cBSsTeVsT4cwxB7zECK3dFxzEjPBii9xLpq4yqqsy/FU5zMfan6G60DKZSCXAa3sHJZrcYw== +"@typescript-eslint/visitor-keys@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== dependencies: - "@typescript-eslint/types" "4.22.0" + "@typescript-eslint/types" "4.33.0" eslint-visitor-keys "^2.0.0" "@vue-storefront/commercetools-api@~1.2.0": @@ -4092,9 +3818,9 @@ isomorphic-fetch "^2.2.1" "@vue-storefront/theme-utilities@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@vue-storefront/theme-utilities/-/theme-utilities-0.1.3.tgz#348d825f71281df614e75e30338bb9b24316bd91" - integrity sha512-njMxgitKIYfVNS/2q7TofOJZtTrrySfFZnRTTg4laKzMTC5XGSoWfLSwYboHuBWo8QotZAw16cq+36HLRV507Q== + version "0.1.6" + resolved "https://registry.yarnpkg.com/@vue-storefront/theme-utilities/-/theme-utilities-0.1.6.tgz#bab056b1950f57396a53ae0596c1355c1e9488b4" + integrity sha512-ZjckUjUkrsGrxdOTNh1CvkrUu3qOZBodp9kUBdk1J2bswkyKV8axGF3QkMt98PY4CJpChhXnv1vplWbRy12aKQ== dependencies: chalk "^4.1.0" chokidar "^3.4.3" @@ -4113,9 +3839,9 @@ integrity sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA== "@vue/babel-plugin-jsx@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.4.tgz#077826ca0eccd77cb6ad698254f5821ded5c5189" - integrity sha512-Vu5gsabUdsiWc4vQarg46xWJGs8pMEJyyMQAKA1vO+F4+aR4/jaxWxPCOvZ7XvVyy+ecSbwQp/qIyDVje360UQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.0.tgz#eb73871cbe468bc12141441a0052d8948ac4f67d" + integrity sha512-RGesLuTa+/0dHw7Ai3oQK0PoZbHPgtnjRQMTA/RRarqTWqMcFQ1BWYW47nSCkJAPYfd9hkUC0BWqokiOlJjJyg== dependencies: "@babel/helper-module-imports" "^7.0.0" "@babel/plugin-syntax-jsx" "^7.0.0" @@ -4140,9 +3866,9 @@ svg-tags "^1.0.0" "@vue/babel-preset-app@^4.1.2": - version "4.5.12" - resolved "https://registry.yarnpkg.com/@vue/babel-preset-app/-/babel-preset-app-4.5.12.tgz#c3a23cf33f6e5ea30536f13c0f9b1fc7e028b1c1" - integrity sha512-8q67ORQ9O0Ms0nlqsXTVhaBefRBaLrzPxOewAZhdcO7onHwcO5/wRdWtHhZgfpCZlhY7NogkU16z3WnorSSkEA== + version "4.5.13" + resolved "https://registry.yarnpkg.com/@vue/babel-preset-app/-/babel-preset-app-4.5.13.tgz#cb475321e4c73f7f110dac29a48c2a9cb80afeb6" + integrity sha512-pM7CR3yXB6L8Gfn6EmX7FLNE3+V/15I3o33GkSNsWvgsMp6HVGXKkXgojrcfUUauyL1LZOdvTmu4enU2RePGHw== dependencies: "@babel/core" "^7.11.0" "@babel/helper-compilation-targets" "^7.9.6" @@ -4225,15 +3951,15 @@ camelcase "^5.0.0" "@vue/component-compiler-utils@^3.1.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz#8f85182ceed28e9b3c75313de669f83166d11e5d" - integrity sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw== + version "3.2.2" + resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.2.2.tgz#2f7ed5feed82ff7f0284acc11d525ee7eff22460" + integrity sha512-rAYMLmgMuqJFWAOb3Awjqqv5X3Q3hVr4jH/kgrFJpiU0j3a90tnNBplqbj+snzrgZhC9W128z+dtgMifOiMfJg== dependencies: consolidate "^0.15.1" hash-sum "^1.0.2" lru-cache "^4.1.2" merge-source-map "^1.1.0" - postcss "^7.0.14" + postcss "^7.0.36" postcss-selector-parser "^6.0.2" source-map "~0.6.1" vue-template-es2015-compiler "^1.9.0" @@ -4254,10 +3980,10 @@ dependencies: vue-eslint-parser "^7.0.0" -"@vue/test-utils@^1.0.0-beta.27", "@vue/test-utils@^1.0.0-beta.30": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-1.1.4.tgz#a9acb32ea1fa4535b2e1ce5ca100bceb4fade2db" - integrity sha512-9BeL8IqGvJKy553lq/07rhYURQkpS/k+j19rJ/4eDpGJk7z872M0YrBWFhjS14yMKlvYVYOCfWnVIXyrAx0xNw== +"@vue/test-utils@^1.0.0-beta.27", "@vue/test-utils@^1.0.0-beta.30", "@vue/test-utils@^1.1.3": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@vue/test-utils/-/test-utils-1.2.2.tgz#0242ea4e202d4853541bb167fead3f2249140ab7" + integrity sha512-P+yiAsszoy8z1TqXiVUnAZaJj0WGGz5fCxm4bOSI6Cpwy1+PNYwYxDv0ROAA/SUtOPppV+aD8tp/QWwxf8ROJw== dependencies: dom-event-types "^1.0.0" lodash "^4.17.15" @@ -4560,11 +4286,11 @@ tslib "^1.9.3" "@wry/context@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.6.0.tgz#f903eceb89d238ef7e8168ed30f4511f92d83e06" - integrity sha512-sAgendOXR8dM7stJw3FusRxFHF/ZinU0lffsA2YTyyIOfic86JX02qlPqPVqJNZJPAxFt+2EE8bvq6ZlS0Kf+Q== + version "0.6.1" + resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.6.1.tgz#c3c29c0ad622adb00f6a53303c4f965ee06ebeb2" + integrity sha512-LOmVnY1iTU2D8tv4Xf6MVMZZ+juIJ87Kt/plMijjN20NMAXGmH4u8bS1t0uT74cZ5gwpocYueV58YwyI8y+GKw== dependencies: - tslib "^2.1.0" + tslib "^2.3.0" "@wry/equality@^0.1.2": version "0.1.11" @@ -4574,18 +4300,18 @@ tslib "^1.9.3" "@wry/equality@^0.5.0": - version "0.5.1" - resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.1.tgz#b22e4e1674d7bf1439f8ccdccfd6a785f6de68b0" - integrity sha512-FZKbdpbcVcbDxQrKcaBClNsQaMg9nof1RKM7mReJe5DKUzM5u8S7T+PqwNqvib5O2j2xxF1R4p5O3+b6baTrbw== + version "0.5.2" + resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.2.tgz#72c8a7a7d884dff30b612f4f8464eba26c080e73" + integrity sha512-oVMxbUXL48EV/C0/M7gLVsoK6qRHPS85x8zECofEZOVvxGmIPLA9o5Z27cc2PoAyZz1S2VoM2A7FLAnpfGlneA== dependencies: - tslib "^2.1.0" + tslib "^2.3.0" "@wry/trie@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.3.0.tgz#3245e74988c4e3033299e479a1bf004430752463" - integrity sha512-Yw1akIogPhAT6XPYsRHlZZIS0tIGmAl9EYXHi2scf7LPKKqdqmow/Hu4kEqP2cJR3EjaU/9L0ZlAjFf3hFxmug== + version "0.3.1" + resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.3.1.tgz#2279b790f15032f8bcea7fc944d27988e5b3b139" + integrity sha512-WwB53ikYudh9pIorgxrkHKrQZcCqNM/Q/bDzZBffEaGUKGuHrRb3zZUT9Sh2qw9yogC7SsdRmQ1ER0pqvd3bfw== dependencies: - tslib "^2.1.0" + tslib "^2.3.0" "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -4648,9 +4374,9 @@ acorn-globals@^4.1.0: acorn-walk "^6.0.1" acorn-jsx@^5.2.0, acorn-jsx@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" - integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-node@^1.2.0, acorn-node@^1.3.0, acorn-node@^1.5.2, acorn-node@^1.6.1: version "1.8.2" @@ -4672,9 +4398,9 @@ acorn-walk@^7.0.0, acorn-walk@^7.1.1: integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== acorn-walk@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.0.2.tgz#d4632bfc63fd93d0f15fd05ea0e984ffd3f5a8c3" - integrity sha512-+bpA9MJsHdZ4bgfDcpk0ozQyhhVct7rzOmO0s1IIr0AGGgKBljss8n2zp11rRP2wid5VGeh04CgeKzgat5/25A== + version "8.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== acorn@^5.5.3: version "5.7.4" @@ -4692,9 +4418,9 @@ acorn@^7.0.0, acorn@^7.1.0, acorn@^7.1.1, acorn@^7.4.0: integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== acorn@^8.0.4: - version "8.1.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.1.1.tgz#fb0026885b9ac9f48bac1e185e4af472971149ff" - integrity sha512-xYiIVjNuqtKXMxlRMDc6mZUhXehod4a3gbZ1qRlM7icK4EbxUFNLhWoPblCvFtB2Y9CIqHP3CF/rdxLItaQv8g== + version "8.5.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" + integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== agent-base@4, agent-base@^4.3.0: version "4.3.0" @@ -4703,6 +4429,11 @@ agent-base@4, agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" +agent-base@5: + version "5.1.1" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c" + integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g== + agent-base@~4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" @@ -4751,9 +4482,9 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv uri-js "^4.2.2" ajv@^8.0.1: - version "8.1.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.1.0.tgz#45d5d3d36c7cdd808930cc3e603cf6200dbeb736" - integrity sha512-B/Sk2Ix7A36fs/ZkuGLIR86EdjbgR6fsAcbx9lOP/QBSXujDNbVmIS/U4Itz5k8fPFDeVZl/zQ/gJW4Jrq6XjQ== + version "8.6.3" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.3.tgz#11a66527761dc3e9a3845ea775d2d3c0414e8764" + integrity sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" @@ -4792,11 +4523,11 @@ amdefine@>=0.0.4: integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= ansi-align@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" - integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" + integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== dependencies: - string-width "^3.0.0" + string-width "^4.1.0" ansi-colors@^3.0.0: version "3.2.4" @@ -4820,6 +4551,11 @@ ansi-escapes@^4.1.0, ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: dependencies: type-fest "^0.21.3" +ansi-html-community@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + ansi-html@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" @@ -4840,10 +4576,10 @@ ansi-regex@^4.0.0, ansi-regex@^4.1.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-styles@^2.2.1: version "2.2.1" @@ -4882,7 +4618,7 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@~3.1.1: +anymatch@^3.0.0, anymatch@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== @@ -5020,9 +4756,9 @@ arch@^2.1.2: integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== + version "1.1.7" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" + integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g== dependencies: delegates "^1.0.0" readable-stream "^2.0.6" @@ -5033,9 +4769,9 @@ arg@^4.1.0: integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== arg@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.0.tgz#a20e2bb5710e82950a516b3f933fee5ed478be90" - integrity sha512-4P8Zm2H+BRS+c/xX1LrHw0qKpEhdlZjLCgWy+d78T9vqa2Z2SiD2wMrYuWIAFy5IZUD7nnNXroRttz+0RzlrzQ== + version "5.0.1" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb" + integrity sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA== argparse@^1.0.7, argparse@~1.0.9: version "1.0.10" @@ -5089,16 +4825,16 @@ array-ify@^1.0.0: resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= -array-includes@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" - integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== +array-includes@^3.1.3: + version "3.1.4" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" + integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" + es-abstract "^1.19.1" get-intrinsic "^1.1.1" - is-string "^1.0.5" + is-string "^1.0.7" array-union@^1.0.1, array-union@^1.0.2: version "1.0.2" @@ -5122,14 +4858,14 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= -array.prototype.flat@^1.2.3: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" - integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== +array.prototype.flat@^1.2.4: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" + integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" + es-abstract "^1.19.0" arrify@^1.0.1: version "1.0.1" @@ -5219,9 +4955,9 @@ async@^2.6.2: lodash "^4.17.14" async@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" - integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== + version "3.2.1" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.1.tgz#d3274ec66d107a47476a4c49136aacdb00665fc8" + integrity sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg== asynckit@^0.4.0: version "0.4.0" @@ -5251,22 +4987,22 @@ autocomplete.js@0.36.0: immediate "^3.2.3" autoprefixer@^9.5.1, autoprefixer@^9.6.1: - version "9.8.6" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" - integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== + version "9.8.8" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a" + integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA== dependencies: browserslist "^4.12.0" caniuse-lite "^1.0.30001109" - colorette "^1.2.1" normalize-range "^0.1.2" num2fraction "^1.2.2" + picocolors "^0.2.1" postcss "^7.0.32" postcss-value-parser "^4.1.0" awesome-phonenumber@^2.51.2: - version "2.51.2" - resolved "https://registrynpm.storefrontcloud.io/awesome-phonenumber/-/awesome-phonenumber-2.51.2.tgz#67bbd899e7583ece38372bb1ee8c8ffb838b251d" - integrity sha512-CPV2WNfop9RTZWAeVAlo3kh9nBlVEPFD8RrJIKGSobnOP501ZWLrSju9zZcPwAlIhMGaLrtHM4Z7EZfyGZHMbQ== + version "2.62.1" + resolved "https://registry.yarnpkg.com/awesome-phonenumber/-/awesome-phonenumber-2.62.1.tgz#43b7d99f1b52aa5898899b62cc4ade4bacb88d70" + integrity sha512-oPke1mCiOO2EKloS+3lgWesfhIElqfsf2jitkPhcUC1+2u8rFYOtNtERKR2KByzTUoaDGRtu3odkj4fzX3BxRw== aws-sign2@~0.7.0: version "0.7.0" @@ -5339,29 +5075,29 @@ babel-plugin-jest-hoist@^24.9.0: dependencies: "@types/babel__traverse" "^7.0.6" -babel-plugin-polyfill-corejs2@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz#686775bf9a5aa757e10520903675e3889caeedc4" - integrity sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg== +babel-plugin-polyfill-corejs2@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz#e9124785e6fd94f94b618a7954e5693053bf5327" + integrity sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ== dependencies: "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.2.0" + "@babel/helper-define-polyfill-provider" "^0.2.2" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz#f4b4bb7b19329827df36ff56f6e6d367026cb7a2" - integrity sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg== +babel-plugin-polyfill-corejs3@^0.2.2: + version "0.2.5" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz#2779846a16a1652244ae268b1e906ada107faf92" + integrity sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.0" - core-js-compat "^3.9.1" + "@babel/helper-define-polyfill-provider" "^0.2.2" + core-js-compat "^3.16.2" -babel-plugin-polyfill-regenerator@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz#853f5f5716f4691d98c84f8069c7636ea8da7ab8" - integrity sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg== +babel-plugin-polyfill-regenerator@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz#b310c8d642acada348c1fa3b3e6ce0e851bee077" + integrity sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.0" + "@babel/helper-define-polyfill-provider" "^0.2.2" babel-plugin-syntax-trailing-function-commas@^7.0.0-beta.0: version "7.0.0-beta.0" @@ -5455,9 +5191,9 @@ bcrypt-pbkdf@^1.0.0: tweetnacl "^0.14.3" before-after-hook@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.1.tgz#73540563558687586b52ed217dad6a802ab1549c" - integrity sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw== + version "2.2.2" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e" + integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ== bezier-easing@2.1.0: version "2.1.0" @@ -5501,6 +5237,15 @@ bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" +bl@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + blob-util@2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/blob-util/-/blob-util-2.0.2.tgz#3b4e3c281111bb7f11128518006cdc60b403a1eb" @@ -5585,16 +5330,16 @@ boxen@^4.2.0: type-fest "^0.8.1" widest-line "^3.1.0" -boxen@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.0.1.tgz#657528bdd3f59a772b8279b831f27ec2c744664b" - integrity sha512-49VBlw+PrWEF51aCmy7QIteYPIFZxSpvqBdP/2itCPPlJ49kj9zg/XPRFrdkne2W+CfwXUls8exMvu1RysZpKA== +boxen@^5.0.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" + integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== dependencies: ansi-align "^3.0.0" camelcase "^6.2.0" chalk "^4.1.0" cli-boxes "^2.2.1" - string-width "^4.2.0" + string-width "^4.2.2" type-fest "^0.20.2" widest-line "^3.1.0" wrap-ansi "^7.0.0" @@ -5835,27 +5580,16 @@ browserify@^16.1.0: vm-browserify "^1.0.0" xtend "^4.0.0" -browserslist@*, browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.3, browserslist@^4.6.0, browserslist@^4.6.4: - version "4.16.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.4.tgz#7ebf913487f40caf4637b892b268069951c35d58" - integrity sha512-d7rCxYV8I9kj41RH8UKYnvDYCRENUlHRgyXy/Rhr/1BaeLGfiCptEdFE8MIrvGfWbBFNjVYx76SQWvNX1j+/cQ== - dependencies: - caniuse-lite "^1.0.30001208" - colorette "^1.2.2" - electron-to-chromium "^1.3.712" - escalade "^3.1.1" - node-releases "^1.1.71" - -browserslist@^4.16.6: - version "4.16.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" - integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== +browserslist@*, browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.16.6, browserslist@^4.17.1, browserslist@^4.6.0, browserslist@^4.6.4: + version "4.17.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.3.tgz#2844cd6eebe14d12384b0122d217550160d2d624" + integrity sha512-59IqHJV5VGdcJZ+GZ2hU5n4Kv3YiASzW6Xk5g9tf5a/MAzGeFwgGWU39fVzNIOVcgB3+Gp+kiQu0HEfTVU/3VQ== dependencies: - caniuse-lite "^1.0.30001219" - colorette "^1.2.2" - electron-to-chromium "^1.3.723" + caniuse-lite "^1.0.30001264" + electron-to-chromium "^1.3.857" escalade "^3.1.1" - node-releases "^1.1.71" + node-releases "^1.1.77" + picocolors "^0.2.1" bs-logger@0.x: version "0.2.6" @@ -5882,9 +5616,9 @@ buffer-crc32@~0.2.3: integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= buffer-from@1.x, buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== buffer-indexof@^1.0.0: version "1.1.1" @@ -5910,7 +5644,7 @@ buffer@^4.3.0: ieee754 "^1.1.4" isarray "^1.0.0" -buffer@^5.0.2, buffer@^5.1.0, buffer@^5.7.0: +buffer@^5.0.2, buffer@^5.1.0, buffer@^5.2.1, buffer@^5.5.0, buffer@^5.7.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -5962,9 +5696,9 @@ bytes@3.1.0: integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== cac@^6.5.6: - version "6.7.2" - resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.2.tgz#e7f0d21f4776c46c7d0de7976e56fa5562e17597" - integrity sha512-w0bH1IF9rEjdi0a6lTtlXYT+vBZEJL9oytaXXRdsD68MH6+SrZGOGsu7s2saHQvYXqwo/wBdkW75tt8wFpj+mw== + version "6.7.3" + resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.3.tgz#10410b8611677990cc2e3c8b576d471c1d71b768" + integrity sha512-ECVqVZh74qgSuZG9YOt2OJPI3wGcf+EwwuF/XIOYqZBD0KZYLtgPWqFPxmDPQ6joxI1nOlvVgRV6VT53Ooyocg== cacache@^12.0.0, cacache@^12.0.2, cacache@^12.0.3: version "12.0.4" @@ -5988,10 +5722,11 @@ cacache@^12.0.0, cacache@^12.0.2, cacache@^12.0.3: y18n "^4.0.0" cacache@^15.0.5: - version "15.0.6" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.6.tgz#65a8c580fda15b59150fb76bf3f3a8e45d583099" - integrity sha512-g1WYDMct/jzW+JdWEyjaX2zoBkZ6ZT9VpOyp2I/VMtDsNLffNat3kqPFfi1eDRSK9/SuKGyORDHcQMcPF8sQ/w== + version "15.3.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" + integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== dependencies: + "@npmcli/fs" "^1.0.0" "@npmcli/move-file" "^1.0.1" chownr "^2.0.0" fs-minipass "^2.0.0" @@ -6186,15 +5921,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001205, caniuse-lite@^1.0.30001208: - version "1.0.30001208" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001208.tgz#a999014a35cebd4f98c405930a057a0d75352eb9" - integrity sha512-OE5UE4+nBOro8Dyvv0lfx+SRtfVIOM9uhKqFmJeUbGriqhhStgp1A0OyBpgy3OUF8AhYCT+PVwPC1gMl2ZcQMA== - -caniuse-lite@^1.0.30001219: - version "1.0.30001243" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001243.tgz#d9250155c91e872186671c523f3ae50cfc94a3aa" - integrity sha512-vNxw9mkTBtkmLFnJRv/2rhs1yufpDfCkBZexG3Y0xdOH2Z/eE/85E4Dl5j1YUN34nZVsSp6vVRFQRrez9wJMRA== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001228, caniuse-lite@^1.0.30001264: + version "1.0.30001264" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001264.tgz#88f625a60efb6724c7c62ac698bc8dbd9757e55b" + integrity sha512-Ftfqqfcs/ePiUmyaySsQ4PUsdcYyXG2rfoBVsk3iY1ahHaJEw65vfb7Suzqm+cEkwwPIv/XWkg27iCpRavH4zA== capture-exit@^2.0.0: version "2.0.0" @@ -6236,10 +5966,10 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^4.0.0, chalk@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" @@ -6278,22 +6008,22 @@ chokidar@^2.0.3, chokidar@^2.0.4, chokidar@^2.1.1, chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" -chokidar@^3.3.1, chokidar@^3.4.1, chokidar@^3.4.2, chokidar@^3.4.3, chokidar@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" - integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== +chokidar@^3.3.1, chokidar@^3.4.1, chokidar@^3.4.2, chokidar@^3.4.3, chokidar@^3.5.1, chokidar@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== dependencies: - anymatch "~3.1.1" + anymatch "~3.1.2" braces "~3.0.2" - glob-parent "~5.1.0" + glob-parent "~5.1.2" is-binary-path "~2.1.0" is-glob "~4.0.1" normalize-path "~3.0.0" - readdirp "~3.5.0" + readdirp "~3.6.0" optionalDependencies: - fsevents "~2.3.1" + fsevents "~2.3.2" -chownr@^1.1.1, chownr@^1.1.2: +chownr@^1.1.1, chownr@^1.1.2, chownr@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== @@ -6318,10 +6048,10 @@ ci-info@^2.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== -ci-info@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.1.1.tgz#9a32fcefdf7bcdb6f0a7e1c0f8098ec57897b80a" - integrity sha512-kdRWLBIJwdsYJWYJFtAFFYxybguqeF91qpZaggjG5Nf8QKdizFG2hjqvaTXbxFIcYbSaD74KpAXv6BSm17DHEQ== +ci-info@^3.1.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6" + integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" @@ -6420,15 +6150,6 @@ cli-width@^3.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== -clipboard@^2.0.0: - version "2.0.8" - resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.8.tgz#ffc6c103dd2967a83005f3f61976aa4655a4cdba" - integrity sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ== - dependencies: - good-listener "^1.2.2" - select "^1.1.2" - tiny-emitter "^2.0.0" - cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" @@ -6515,7 +6236,7 @@ collection-visit@^1.0.0: map-visit "^1.0.0" object-visit "^1.0.0" -color-convert@^1.9.0, color-convert@^1.9.1: +color-convert@^1.9.0, color-convert@^1.9.3: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== @@ -6539,26 +6260,26 @@ color-name@^1.0.0, color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-string@^1.5.4: - version "1.5.5" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.5.tgz#65474a8f0e7439625f3d27a6a19d89fc45223014" - integrity sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg== +color-string@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.6.0.tgz#c3915f61fe267672cb7e1e064c9d692219f6c312" + integrity sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA== dependencies: color-name "^1.0.0" simple-swizzle "^0.2.2" color@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" - integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== + version "3.2.1" + resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" + integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== dependencies: - color-convert "^1.9.1" - color-string "^1.5.4" + color-convert "^1.9.3" + color-string "^1.6.0" -colorette@^1.2.1, colorette@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" - integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== +colorette@^1.2.2, colorette@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" + integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== colors@^1.1.2: version "1.4.0" @@ -6708,9 +6429,9 @@ condense-newlines@^0.2.1: kind-of "^3.0.2" config-chain@^1.1.11, config-chain@^1.1.12: - version "1.1.12" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" - integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== + version "1.1.13" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" + integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== dependencies: ini "^1.3.4" proto-list "~1.2.1" @@ -6742,7 +6463,7 @@ connect@^3.7.0: parseurl "~1.3.3" utils-merge "1.0.1" -consola@2.15.3, consola@^2.10.0, consola@^2.10.1, consola@^2.15.0, consola@^2.15.3, consola@^2.4.0, consola@^2.6.0, consola@^2.9.0: +consola@2.15.3, consola@^2.10.0, consola@^2.10.1, consola@^2.15.0, consola@^2.15.3, consola@^2.6.0, consola@^2.9.0: version "2.15.3" resolved "https://registry.yarnpkg.com/consola/-/consola-2.15.3.tgz#2e11f98d6a4be71ff72e0bdf07bd23e12cb61550" integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== @@ -6779,11 +6500,6 @@ constants-browserify@^1.0.0, constants-browserify@~1.0.0: resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - content-disposition@0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" @@ -6797,9 +6513,9 @@ content-type@~1.0.4: integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== conventional-changelog-angular@^5.0.3: - version "5.0.12" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz#c979b8b921cbfe26402eb3da5bbfda02d865a2b9" - integrity sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw== + version "5.0.13" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" + integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== dependencies: compare-func "^2.0.0" q "^1.5.1" @@ -6853,9 +6569,9 @@ conventional-commits-filter@^2.0.2, conventional-commits-filter@^2.0.7: modify-values "^1.0.0" conventional-commits-parser@^3.0.3: - version "3.2.1" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz#ba44f0b3b6588da2ee9fd8da508ebff50d116ce2" - integrity sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA== + version "3.2.2" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.2.tgz#190fb9900c6e02be0c0bca9b03d57e24982639fd" + integrity sha512-Jr9KAKgqAkwXMRHjxDwO/zOCDKod1XdAESHAGuJX38iZ7ZzVti/tvVoysO0suMsdAObp9NQ2rHSsSbnAqZ5f5g== dependencies: JSONStream "^1.0.4" is-text-path "^1.0.1" @@ -6863,7 +6579,6 @@ conventional-commits-parser@^3.0.3: meow "^8.0.0" split2 "^3.0.0" through2 "^4.0.0" - trim-off-newlines "^1.0.0" conventional-recommended-bump@^5.0.0: version "5.0.1" @@ -6880,9 +6595,9 @@ conventional-recommended-bump@^5.0.0: q "^1.5.1" convert-source-map@^1.1.0, convert-source-map@^1.3.0, convert-source-map@^1.4.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== dependencies: safe-buffer "~5.1.1" @@ -6905,17 +6620,17 @@ cookie-signature@1.0.6: integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= cookie-universal-nuxt@^2.1.3: - version "2.1.4" - resolved "https://registry.yarnpkg.com/cookie-universal-nuxt/-/cookie-universal-nuxt-2.1.4.tgz#323f8645501f88cb2422127ad8ba2ee40187b716" - integrity sha512-xbn4Ozs9S0u2+0mQTZRwGlBL9MGNq8N4H6iGfprR5ufZFCS2hGef++3DBHSmHXZi30Wu3Q7RI/GkNMhz3cecmg== + version "2.1.5" + resolved "https://registry.yarnpkg.com/cookie-universal-nuxt/-/cookie-universal-nuxt-2.1.5.tgz#669f2ff95b1bc1962c86edd69c954f60729e71e5" + integrity sha512-P0WCTKIyemWNtHi9lxrS5cxZmieOIEjt28B7Alu6cdSB9RqtUtpkqYyV9PRK6oJrT5eIPDYjHsJQlh6SUrFJOg== dependencies: "@types/cookie" "^0.3.3" - cookie-universal "^2.1.4" + cookie-universal "^2.1.5" -cookie-universal@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/cookie-universal/-/cookie-universal-2.1.4.tgz#826a273da7eb9b08bfb0139bae12ea70770d564b" - integrity sha512-dwWXs7NGBzaBYDypu3jWH5M3NJW+zu5QdyJkFMHJvhLuyL4/eXG4105fwtTDwfIqyTunwVvQX4PHdtfPDS7URQ== +cookie-universal@^2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/cookie-universal/-/cookie-universal-2.1.5.tgz#9a6cefbfb61c750a1b8ee2610bf71566bd719544" + integrity sha512-nqOOmEkovCQxNYGIyzhcwsmh4c7xnxe7RWdiYFOoml9MP4L32IlU3LdPC7r7nQEnnM+9Uxlk/UhtvBl5is6M/w== dependencies: "@types/cookie" "^0.3.3" cookie "^0.4.0" @@ -6970,12 +6685,12 @@ copy-webpack-plugin@^5.0.2: serialize-javascript "^4.0.0" webpack-log "^2.0.0" -core-js-compat@^3.1.1, core-js-compat@^3.10.0, core-js-compat@^3.6.5, core-js-compat@^3.9.0, core-js-compat@^3.9.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.10.1.tgz#62183a3a77ceeffcc420d907a3e6fc67d9b27f1c" - integrity sha512-ZHQTdTPkqvw2CeHiZC970NNJcnwzT6YIueDMASKt+p3WbZsLXOcoD392SkcWhkC0wBBHhlfhqGKKsNCQUozYtg== +core-js-compat@^3.1.1, core-js-compat@^3.12.1, core-js-compat@^3.16.0, core-js-compat@^3.16.2, core-js-compat@^3.6.5: + version "3.18.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.18.1.tgz#01942a0877caf9c6e5007c027183cf0bdae6a191" + integrity sha512-XJMYx58zo4W0kLPmIingVZA10+7TuKrMLPt83+EzDmxFJQUMcTVVmQ+n5JP4r6Z14qSzhQBRi3NSWoeVyKKXUg== dependencies: - browserslist "^4.16.3" + browserslist "^4.17.1" semver "7.0.0" core-js@^2.5.3, core-js@^2.6.5: @@ -6984,15 +6699,20 @@ core-js@^2.5.3, core-js@^2.6.5: integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== core-js@^3.0.1, core-js@^3.6.4, core-js@^3.6.5: - version "3.10.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.10.1.tgz#e683963978b6806dcc6c0a4a8bd4ab0bdaf3f21a" - integrity sha512-pwCxEXnj27XG47mu7SXAwhLP3L5CrlvCB91ANUkIz40P27kUcvNfSdvyZJ9CLHiVoKSp+TTChMQMSKQEH/IQxA== + version "3.18.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.18.1.tgz#289d4be2ce0085d40fc1244c0b1a54c00454622f" + integrity sha512-vJlUi/7YdlCZeL6fXvWNaLUPh/id12WXj3MbkMw5uOyF0PfWPBNOCNbs53YqgrvtujLNlt9JQpruyIKkUZ+PKA== -core-util-is@1.0.2, core-util-is@~1.0.0: +core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + cors@^2.8.5: version "2.8.5" resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" @@ -7023,9 +6743,9 @@ cosmiconfig@^6.0.0: yaml "^1.7.2" cosmiconfig@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" - integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== + version "7.0.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== dependencies: "@types/parse-json" "^4.0.0" import-fresh "^3.2.1" @@ -7244,7 +6964,7 @@ css-select-base-adapter@^0.1.1: resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== -css-select@^2.0.0, css-select@^2.0.2: +css-select@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== @@ -7254,15 +6974,15 @@ css-select@^2.0.0, css-select@^2.0.2: domutils "^1.7.0" nth-check "^1.0.2" -css-select@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-3.1.2.tgz#d52cbdc6fee379fba97fb0d3925abbd18af2d9d8" - integrity sha512-qmss1EihSuBNWNNhHjxzxSfJoFBM/lERB/Q4EnsJQQC62R2evJDW481091oAdOr9uh46/0n4nrg0It5cAnj1RA== +css-select@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" + integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== dependencies: boolbase "^1.0.0" - css-what "^4.0.0" - domhandler "^4.0.0" - domutils "^2.4.3" + css-what "^5.0.0" + domhandler "^4.2.0" + domutils "^2.6.0" nth-check "^2.0.0" css-tree@1.0.0-alpha.37: @@ -7286,10 +7006,10 @@ css-what@^3.2.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== -css-what@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-4.0.0.tgz#35e73761cab2eeb3d3661126b23d7aa0e8432233" - integrity sha512-teijzG7kwYfNVsUh2H/YN62xW3KK9YhXEgSlbxMlcyjPNvdKJqFx5lrwlJgoFP1ZHlB89iGDlo/JyshKeRhv5A== +css-what@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.0.1.tgz#3efa820131f4669a8ac2408f9c32e7c7de9f4cad" + integrity sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg== css@^2.0.0, css@^2.1.0: version "2.2.4" @@ -7374,7 +7094,7 @@ cssnano-util-same-parent@^4.0.0: resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== -cssnano@^4.1.10: +cssnano@^4.1.10, cssnano@^4.1.11: version "4.1.11" resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99" integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g== @@ -7524,9 +7244,9 @@ dateformat@^3.0.0, dateformat@^3.0.2: integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== dayjs@^1.9.3: - version "1.10.4" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.4.tgz#8e544a9b8683f61783f570980a8a80eaf54ab1e2" - integrity sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw== + version "1.10.7" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468" + integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig== de-indent@^1.0.2: version "1.0.2" @@ -7547,6 +7267,13 @@ debug@3.1.0, debug@~3.1.0: dependencies: ms "2.0.0" +debug@4, debug@4.3.2, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + debug@4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" @@ -7554,27 +7281,13 @@ debug@4.1.1: dependencies: ms "^2.1.1" -debug@4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" - integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== - dependencies: - ms "2.1.2" - -debug@^3.1.0, debug@^3.1.1, debug@^3.2.6: +debug@^3.1.0, debug@^3.1.1, debug@^3.2.6, debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" @@ -7635,9 +7348,9 @@ deep-extend@^0.6.0: integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== deepmerge@^1.5.2: version "1.5.2" @@ -7713,6 +7426,16 @@ defu@^3.2.2: resolved "https://registry.yarnpkg.com/defu/-/defu-3.2.2.tgz#be20f4cc49b9805d54ee6b610658d53894942e97" integrity sha512-8UWj5lNv7HD+kB0e9w77Z7TdQlbUYDVWqITLHNqFIn6khrNHv5WQo38Dcm1f6HeNyZf0U7UbPf6WeZDSdCzGDQ== +defu@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/defu/-/defu-4.0.1.tgz#9d7d7a48f9295f08285d153dcff174c89b9bcb22" + integrity sha512-lC+G0KvvWRbisQa50+iFelm3/eMmwo4IlBmfASOVlw9MZpHHyQeVsZxc5j23+TQy5ydgEoTVSrWl7ptou1kzJQ== + +defu@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/defu/-/defu-5.0.0.tgz#5768f0d402a555bfc4c267246b20f82ce8b5a10b" + integrity sha512-VHg73EDeRXlu7oYWRmmrNp/nl7QkdXUxkQQKig0Zk8daNmm84AbGoC8Be6/VVLJEKxn12hR0UBmz8O+xQiAPKQ== + del@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" @@ -7731,11 +7454,6 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -delegate@^3.1.2: - version "3.2.0" - resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" - integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw== - delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" @@ -7790,9 +7508,9 @@ detect-newline@^2.1.0: integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= detect-node@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.5.tgz#9d270aa7eaa5af0b72c4c9d9b814e7f4ce738b79" - integrity sha512-qi86tE6hRcFHy8jI1m2VG+LaPUR1LhqDa5G8tVjuUXmOrpuAgqsA1pN0+ldgr3aKUH+QLI9hCY/OcRYisERejw== + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== detective@^5.2.0: version "5.2.0" @@ -7865,9 +7583,9 @@ dns-equal@^1.0.0: integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= dns-packet@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" - integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== + version "1.3.4" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" + integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== dependencies: ip "^1.1.0" safe-buffer "^5.0.1" @@ -7892,13 +7610,12 @@ docsearch.js@^2.5.2: to-factory "^1.0.0" zepto "^1.2.0" -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== dependencies: esutils "^2.0.2" - isarray "^1.0.0" doctrine@^3.0.0: version "3.0.0" @@ -7907,7 +7624,7 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-converter@^0.2: +dom-converter@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== @@ -7928,12 +7645,12 @@ dom-serializer@0: entities "^2.0.0" dom-serializer@^1.0.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.1.tgz#d845a1565d7c041a95e5dab62184ab41e3a519be" - integrity sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q== + version "1.3.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" + integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== dependencies: domelementtype "^2.0.1" - domhandler "^4.0.0" + domhandler "^4.2.0" entities "^2.0.0" dom-walk@^0.1.0: @@ -7946,7 +7663,7 @@ domain-browser@^1.1.1, domain-browser@^1.2.0: resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== -domelementtype@1, domelementtype@^1.3.1: +domelementtype@1: version "1.3.1" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== @@ -7963,21 +7680,14 @@ domexception@^1.0.1: dependencies: webidl-conversions "^4.0.2" -domhandler@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== - dependencies: - domelementtype "1" - -domhandler@^4.0.0, domhandler@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.1.0.tgz#c1d8d494d5ec6db22de99e46a149c2a4d23ddd43" - integrity sha512-/6/kmsGlMY4Tup/nGVutdrK9yQi4YjWVcVeoQmixpzjOUK1U7pQkvAPHBJeUxOgxF0J8f8lwCJSlCfD0V4CMGQ== +domhandler@^4.0.0, domhandler@^4.2.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.2.tgz#e825d721d19a86b8c201a35264e226c678ee755f" + integrity sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w== dependencies: domelementtype "^2.2.0" -domutils@^1.5.1, domutils@^1.7.0: +domutils@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== @@ -7985,14 +7695,14 @@ domutils@^1.5.1, domutils@^1.7.0: dom-serializer "0" domelementtype "1" -domutils@^2.4.3: - version "2.5.2" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.5.2.tgz#37ef8ba087dff1a17175e7092e8a042e4b050e6c" - integrity sha512-MHTthCb1zj8f1GVfRpeZUbohQf/HdBos0oX5gZcQFepOZPLLRyj6Wn7XS7EMnY7CVpwv8863u2vyE83Hfu28HQ== +domutils@^2.5.2, domutils@^2.6.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== dependencies: dom-serializer "^1.0.1" domelementtype "^2.2.0" - domhandler "^4.1.0" + domhandler "^4.2.0" dot-case@^3.0.4: version "3.0.4" @@ -8016,10 +7726,10 @@ dot-prop@^5.1.0, dot-prop@^5.2.0: dependencies: is-obj "^2.0.0" -dotenv@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" - integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== +dotenv@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-9.0.2.tgz#dacc20160935a37dea6364aa1bef819fb9b6ab05" + integrity sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg== duplexer2@^0.1.2, duplexer2@~0.1.0, duplexer2@~0.1.2: version "0.1.4" @@ -8083,15 +7793,10 @@ ejs@^3.0.2, ejs@^3.1.5: dependencies: jake "^10.6.1" -electron-to-chromium@^1.3.712: - version "1.3.717" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.717.tgz#78d4c857070755fb58ab64bcc173db1d51cbc25f" - integrity sha512-OfzVPIqD1MkJ7fX+yTl2nKyOE4FReeVfMCzzxQS+Kp43hZYwHwThlGP+EGIZRXJsxCM7dqo8Y65NOX/HP12iXQ== - -electron-to-chromium@^1.3.723: - version "1.3.771" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.771.tgz#c4aa601e6420e11926095f75fe803956a1b4bd81" - integrity sha512-zHMomTqkpnAD9W5rhXE1aiU3ogGFrqWzdvM4C6222SREiqsWQb2w0S7P2Ii44qCaGimmAP1z+OydllM438uJyA== +electron-to-chromium@^1.3.857: + version "1.3.859" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.859.tgz#4e0abc918e1c22b306ba13b4c3649f78295f5937" + integrity sha512-gXRXKNWedfdiKIzwr0Mg/VGCvxXzy+4SuK9hp1BDvfbCwx0O5Ot+2f4CoqQkqEJ3Zj/eAV/GoAFgBVFgkBLXuQ== elegant-spinner@^1.0.1: version "1.0.1" @@ -8143,7 +7848,7 @@ encoding@^0.1.11: dependencies: iconv-lite "^0.6.2" -end-of-stream@^1.0.0, end-of-stream@^1.1.0: +end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -8166,16 +7871,16 @@ enquirer@^2.3.5, enquirer@^2.3.6: dependencies: ansi-colors "^4.1.1" -entities@^1.1.1, entities@~1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== - entities@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== +entities@~1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + env-paths@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" @@ -8220,27 +7925,31 @@ error-stack-parser@^2.0.0: dependencies: stackframe "^1.1.1" -es-abstract@^1.17.2, es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: - version "1.18.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4" - integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw== +es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" + integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" has "^1.0.3" has-symbols "^1.0.2" - is-callable "^1.2.3" + internal-slot "^1.0.3" + is-callable "^1.2.4" is-negative-zero "^2.0.1" - is-regex "^1.1.2" - is-string "^1.0.5" - object-inspect "^1.9.0" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.1" + is-string "^1.0.7" + is-weakref "^1.0.1" + object-inspect "^1.11.0" object-keys "^1.1.1" object.assign "^4.1.2" string.prototype.trimend "^1.0.4" string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.0" + unbox-primitive "^1.0.1" es-to-primitive@^1.2.1: version "1.2.1" @@ -8288,6 +7997,11 @@ escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + escodegen@^1.9.1: version "1.14.3" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" @@ -8301,24 +8015,24 @@ escodegen@^1.9.1: source-map "~0.6.1" eslint-config-standard@^16.0.2: - version "16.0.2" - resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz#71e91727ac7a203782d0a5ca4d1c462d14e234f6" - integrity sha512-fx3f1rJDsl9bY7qzyX8SAtP8GBSk6MfXFaTfaGgk12aAYW4gJSyRm7dM790L6cbXv63fvjY4XeSzXnb4WM+SKw== + version "16.0.3" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz#6c8761e544e96c531ff92642eeb87842b8488516" + integrity sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg== -eslint-import-resolver-node@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" - integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== +eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== dependencies: - debug "^2.6.9" - resolve "^1.13.1" + debug "^3.2.7" + resolve "^1.20.0" -eslint-module-utils@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" - integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== +eslint-module-utils@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz#94e5540dd15fe1522e8ffa3ec8db3b7fa7e7a534" + integrity sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q== dependencies: - debug "^2.6.9" + debug "^3.2.7" pkg-dir "^2.0.0" eslint-plugin-es@^3.0.0: @@ -8330,23 +8044,25 @@ eslint-plugin-es@^3.0.0: regexpp "^3.0.0" eslint-plugin-import@^2.22.1: - version "2.22.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" - integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== + version "2.24.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz#2c8cd2e341f3885918ee27d18479910ade7bb4da" + integrity sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q== dependencies: - array-includes "^3.1.1" - array.prototype.flat "^1.2.3" - contains-path "^0.1.0" + array-includes "^3.1.3" + array.prototype.flat "^1.2.4" debug "^2.6.9" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.4" - eslint-module-utils "^2.6.0" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.6.2" + find-up "^2.0.0" has "^1.0.3" + is-core-module "^2.6.0" minimatch "^3.0.4" - object.values "^1.1.1" - read-pkg-up "^2.0.0" - resolve "^1.17.0" - tsconfig-paths "^3.9.0" + object.values "^1.1.4" + pkg-up "^2.0.0" + read-pkg-up "^3.0.0" + resolve "^1.20.0" + tsconfig-paths "^3.11.0" eslint-plugin-node@^11.1.0: version "11.1.0" @@ -8371,14 +8087,14 @@ eslint-plugin-standard@^5.0.0: integrity sha512-eSIXPc9wBM4BrniMzJRBm2uoVuXz2EPa+NXPk2+itrVt+r5SbKFERx/IgrK/HmfjddyKVz2f+j+7gBRvu19xLg== eslint-plugin-vue@^7.6.0: - version "7.9.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-7.9.0.tgz#f8e83a2a908f4c43fc8304f5401d4ff671f3d560" - integrity sha512-2Q0qQp5+5h+pZvJKCbG1/jCRUYrdgAz5BYKGyTlp2NU8mx09u3Hp7PsH6d5qef6ojuPoCXMnrbbDxeoplihrSw== + version "7.19.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-7.19.0.tgz#4981f31c5df40fc1b2710d4fcb3e5e75fc644a48" + integrity sha512-pqsJY1q0cjdQerWSlGHo+NfnWZ8Xuc5tetddljJJ7726auWsnHty7F5qgj/EcjkPgyj8s5Lw4YGuhsFHkzIrkQ== dependencies: eslint-utils "^2.1.0" natural-compare "^1.4.0" - semver "^7.3.2" - vue-eslint-parser "^7.6.0" + semver "^6.3.0" + vue-eslint-parser "^7.10.0" eslint-scope@^4.0.3: version "4.0.3" @@ -8388,7 +8104,7 @@ eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-scope@^5.0.0, eslint-scope@^5.1.1: +eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -8403,38 +8119,48 @@ eslint-utils@^2.0.0, eslint-utils@^2.1.0: dependencies: eslint-visitor-keys "^1.1.0" +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== eslint-visitor-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" - integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== eslint@^7.20.0: - version "7.24.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.24.0.tgz#2e44fa62d93892bfdb100521f17345ba54b8513a" - integrity sha512-k9gaHeHiFmGCDQ2rEfvULlSLruz6tgfA8DEn+rY9/oYPFFTlz55mM/Q/Rij1b2Y42jwZiK3lXvNTw6w6TXzcKQ== + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== dependencies: "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.0" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.0.1" doctrine "^3.0.0" enquirer "^2.3.5" + escape-string-regexp "^4.0.0" eslint-scope "^5.1.1" eslint-utils "^2.1.0" eslint-visitor-keys "^2.0.0" espree "^7.3.1" esquery "^1.4.0" esutils "^2.0.2" + fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" + glob-parent "^5.1.2" globals "^13.6.0" ignore "^4.0.6" import-fresh "^3.0.0" @@ -8443,7 +8169,7 @@ eslint@^7.20.0: js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.21" + lodash.merge "^4.6.2" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" @@ -8452,7 +8178,7 @@ eslint@^7.20.0: semver "^7.2.1" strip-ansi "^6.0.0" strip-json-comments "^3.1.0" - table "^6.0.4" + table "^6.0.9" text-table "^0.2.0" v8-compile-cache "^2.0.3" @@ -8534,9 +8260,9 @@ event-target-shim@^5.0.0: integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== eventemitter2@^6.4.2: - version "6.4.4" - resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.4.tgz#aa96e8275c4dbeb017a5d0e03780c65612a1202b" - integrity sha512-HLU3NDY6wARrLCEwyGKRBvuWYyvW6mHYv72SJJAH3iJN3a6eVUvkjFkcxah1bcTgGVBBrFdIopBJPhCQFMLyXw== + version "6.4.5" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.5.tgz#97380f758ae24ac15df8353e0cc27f8b95644655" + integrity sha512-bXE7Dyc1i6oQElDG0jMRZJrRAn9QR2xyyFGmBdZleNmyQX0FqGYmhZIrIrpPfm/w//LTo4tVQGOGQcGCb5q9uw== eventemitter3@^3.1.0: version "3.1.2" @@ -8617,9 +8343,9 @@ execa@^4.0.2, execa@^4.1.0: strip-final-newline "^2.0.0" execa@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.0.tgz#4029b0007998a841fbd1032e5f4de86a3c1e3376" - integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== dependencies: cross-spawn "^7.0.3" get-stream "^6.0.0" @@ -8789,6 +8515,17 @@ extract-zip@^1.7.0: mkdirp "^0.5.4" yauzl "^2.10.0" +extract-zip@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" @@ -8799,7 +8536,7 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= -fast-deep-equal@^3.1.1: +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== @@ -8817,16 +8554,15 @@ fast-glob@^2.2.6: micromatch "^3.1.10" fast-glob@^3.1.1: - version "3.2.5" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" - integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== + version "3.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" + glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" + micromatch "^4.0.4" fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: version "2.1.0" @@ -8839,21 +8575,21 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= fast-safe-stringify@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743" - integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA== + version "2.1.1" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" + integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== fastq@^1.6.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" - integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== + version "1.13.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== dependencies: reusify "^1.0.4" faye-websocket@^0.11.3: - version "0.11.3" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" - integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== dependencies: websocket-driver ">=0.5.1" @@ -8909,7 +8645,7 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" -figures@^3.0.0, figures@^3.2.0: +figures@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== @@ -9001,9 +8737,9 @@ find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: pkg-dir "^3.0.0" find-cache-dir@^3.0.0, find-cache-dir@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" - integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== dependencies: commondir "^1.0.1" make-dir "^3.0.2" @@ -9068,9 +8804,9 @@ flat@^5.0.0: integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== flatted@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" - integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== + version "3.2.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.2.tgz#64bfed5cb68fe3ca78b3eb214ad97b63bedce561" + integrity sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA== flatten@^1.0.2: version "1.0.3" @@ -9086,9 +8822,9 @@ flush-write-stream@^1.0.0: readable-stream "^2.3.6" follow-redirects@^1.0.0, follow-redirects@^1.10.0: - version "1.13.3" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.3.tgz#e5598ad50174c1bc4e872301e82ac2cd97f90267" - integrity sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA== + version "1.14.4" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.4.tgz#838fdf48a8bbdd79e52ee51fb1c94e3ed98b9379" + integrity sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g== for-each@^0.3.3: version "0.3.3" @@ -9113,9 +8849,9 @@ forever-agent@~0.6.1: integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= fork-ts-checker-webpack-plugin@^6.1.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.1.tgz#e3a7e64c90e5490a75d43d86d47f02e538c0a13e" - integrity sha512-Pyhn2kav/Y2g6I7aInABgcph/B78jjdXc4kGHzaAUBL4UVthknxM6aMH47JwpnuTJmdOuf6p5vMbIahsBHuWGg== + version "6.3.3" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.3.3.tgz#73a9d8e1dc5821fa19a3daedc8be7568b095c8ab" + integrity sha512-S3uMSg8IsIvs0H6VAfojtbf6RcnEXxEpDMT2Q41M2l0m20JO8eA1t4cCJybvrasC8SvvPEtK4B8ztxxfLljhNg== dependencies: "@babel/code-frame" "^7.8.3" "@types/json-schema" "^7.0.5" @@ -9124,6 +8860,7 @@ fork-ts-checker-webpack-plugin@^6.1.1: cosmiconfig "^6.0.0" deepmerge "^4.2.2" fs-extra "^9.0.0" + glob "^7.1.6" memfs "^3.1.2" minimatch "^3.0.4" schema-utils "2.7.0" @@ -9148,10 +8885,10 @@ form-data@~2.3.2: combined-stream "^1.0.6" mime-types "^2.1.12" -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== fragment-cache@^0.2.1: version "0.2.1" @@ -9173,6 +8910,11 @@ from2@^2.1.0: inherits "^2.0.1" readable-stream "^2.0.0" +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + fs-extra@8.1.0, fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -9216,7 +8958,7 @@ fs-memo@^1.2.0: resolved "https://registry.yarnpkg.com/fs-memo/-/fs-memo-1.2.0.tgz#a2ec3be606b902077adbb37ec529c5ec5fb2e037" integrity sha512-YEexkCpL4j03jn5SxaMHqcO6IuWuqm8JFUYhyCep7Ao89JIYmB8xoKhK7zXXJ9cCaNXpyNH5L3QtAmoxjoHW2w== -fs-minipass@^1.2.5: +fs-minipass@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== @@ -9258,7 +9000,7 @@ fsevents@^1.2.7: bindings "^1.5.0" nan "^2.12.1" -fsevents@~2.3.1: +fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== @@ -9329,7 +9071,7 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== @@ -9354,10 +9096,10 @@ get-pkg-repo@^1.0.0: parse-github-repo-url "^1.3.0" through2 "^2.0.0" -get-port-please@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/get-port-please/-/get-port-please-1.1.0.tgz#7a60007578df6c4570c233803b48854c44db41f7" - integrity sha512-C9adQpQ9uyboxURlYAVcqvKdnrZ0uIad6lAZzIr51G5shhUFcZUwl8rxY0B0hB6OJytBNzPB1Uj/S1CpP9aFzQ== +get-port-please@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/get-port-please/-/get-port-please-2.2.0.tgz#3fabbbe2f9d8e6b7c47e1cddd71fc4c593f1deac" + integrity sha512-1c7Np/cpA7XCB6IrPAdaBaJjlGHTqg4P82h/ZqyBL6dCdwRzZBOFGZO7FL2KaZ2uNvD6v8QilA7LZwMpmIggDQ== dependencies: fs-memo "^1.2.0" @@ -9390,6 +9132,14 @@ get-stream@^6.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -9442,17 +9192,17 @@ git-semver-tags@^2.0.3: semver "^6.0.0" git-up@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.2.tgz#10c3d731051b366dc19d3df454bfca3f77913a7c" - integrity sha512-kbuvus1dWQB2sSW4cbfTeGpCMd8ge9jx9RKnhXhuJ7tnvT+NIrTVfYZxjtflZddQYcmdOTlkAcjmx7bor+15AQ== + version "4.0.5" + resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.5.tgz#e7bb70981a37ea2fb8fe049669800a1f9a01d759" + integrity sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA== dependencies: is-ssh "^1.3.0" - parse-url "^5.0.0" + parse-url "^6.0.0" -git-url-parse@^11.1.2, git-url-parse@^11.4.3: - version "11.4.4" - resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.4.4.tgz#5d747debc2469c17bc385719f7d0427802d83d77" - integrity sha512-Y4o9o7vQngQDIU9IjyCmRJBin5iYjI5u9ZITnddRZpD7dcCFQj2sL2XuMNbLRE4b4B/4ENPsp2Q8P44fjAZ0Pw== +git-url-parse@^11.1.2, git-url-parse@^11.4.4: + version "11.6.0" + resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.6.0.tgz#c634b8de7faa66498a2b88932df31702c67df605" + integrity sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g== dependencies: git-up "^4.0.0" @@ -9463,7 +9213,7 @@ gitconfiglocal@^1.0.0: dependencies: ini "^1.3.2" -glob-all@^3.1.0: +glob-all@^3.1.0, glob-all@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/glob-all/-/glob-all-3.2.1.tgz#082ca81afd2247cbd3ed2149bb2630f4dc877d95" integrity sha512-x877rVkzB3ipid577QOp+eQCR6M5ZyiwrtaYgrX/z3EThaSPFtLDwBXFHc3sH1cG0R0vFYI5SRYeWMMSEyXkUw== @@ -9479,7 +9229,7 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: +glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -9491,10 +9241,22 @@ glob-to-regexp@^0.3.0: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= -glob@^7.0.0, glob@^7.0.3, glob@^7.1.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== +glob@^7.0.0, glob@^7.0.3, glob@^7.1.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@~7.1.1: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -9523,21 +9285,14 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== - dependencies: - type-fest "^0.8.1" - -globals@^13.6.0: - version "13.8.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.8.0.tgz#3e20f504810ce87a8d72e55aecf8435b50f4c1b3" - integrity sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q== +globals@^13.6.0, globals@^13.9.0: + version "13.11.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.11.0.tgz#40ef678da117fe7bd2e28f1fab24951bd0255be7" + integrity sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g== dependencies: type-fest "^0.20.2" -globby@11.0.3, globby@^11.0.1, globby@^11.0.3: +globby@11.0.3: version "11.0.3" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== @@ -9549,6 +9304,18 @@ globby@11.0.3, globby@^11.0.1, globby@^11.0.3: merge2 "^1.3.0" slash "^3.0.0" +globby@11.0.4, globby@^11.0.3, globby@^11.0.4: + version "11.0.4" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" + integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + globby@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" @@ -9587,21 +9354,14 @@ globby@^9.2.0: slash "^2.0.0" globule@^1.0.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4" - integrity sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA== + version "1.3.3" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.3.tgz#811919eeac1ab7344e905f2e3be80a13447973c2" + integrity sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg== dependencies: glob "~7.1.1" lodash "~4.17.10" minimatch "~3.0.2" -good-listener@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" - integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA= - dependencies: - delegate "^3.1.2" - got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -9620,29 +9380,17 @@ got@^9.6.0: url-parse-lax "^3.0.0" graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4: - version "4.2.6" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== + version "4.2.8" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" + integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== -graphql-tag@^2.10.1, graphql-tag@^2.12.3, graphql-tag@^2.12.5: +graphql-tag@^2.10.1, graphql-tag@^2.12.0, graphql-tag@^2.12.3, graphql-tag@^2.12.5, graphql-tag@^2.2.2: version "2.12.5" resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.5.tgz#5cff974a67b417747d05c8d9f5f3cb4495d0db8f" integrity sha512-5xNhP4063d16Pz3HBtKprutsPrmHZi5IdUGOWRxA2B6VF7BIRGOHZ5WQvDmJXZuPcBg7rYwaFxvQYjqkSdR3TQ== dependencies: tslib "^2.1.0" -graphql-tag@^2.12.0: - version "2.12.3" - resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.3.tgz#ac47bf9d51c67c68ada8a33fd527143ed15bb647" - integrity sha512-5wJMjSvj30yzdciEuk9dPuUBUR56AqDi3xncoYQl1i42pGdSqOJrJsdb/rz5BDoy+qoGvQwABcBeF0xXY3TrKw== - dependencies: - tslib "^2.1.0" - -graphql-tag@^2.2.2: - version "2.11.0" - resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.11.0.tgz#1deb53a01c46a7eb401d6cb59dec86fa1cccbffd" - integrity sha512-VmsD5pJqWJnQZMUeRwrDhfgoyqcfwEkvtpANqcoUG8/tOLkwNgU9mzub/Mc78OJMhHjx7gfAMTxzdG43VGg3bA== - graphql-tools@^7.0.5: version "7.0.5" resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-7.0.5.tgz#63e322d4fa64ef9a7331be837a4f39b374d52d66" @@ -9689,16 +9437,16 @@ graphql@^14.5.8: iterall "^1.2.2" graphql@^15.5.1: - version "15.5.1" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.5.1.tgz#f2f84415d8985e7b84731e7f3536f8bb9d383aad" - integrity sha512-FeTRX67T3LoE3LWAxxOlW2K3Bz+rMYAC18rRguK4wgXaTZMiJwSUwDmPFo3UadAKbzirKIg5Qy+sNJXbpPRnQw== + version "15.6.1" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.6.1.tgz#9125bdf057553525da251e19e96dab3d3855ddfc" + integrity sha512-3i5lu0z6dRvJ48QP9kFxBkJ7h4Kso7PS8eahyTFz5Jm6CvQfLtNIE8LX9N6JLnXTuwR+sIYnXzaWp6anOg0QQw== gray-matter@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.2.tgz#9aa379e3acaf421193fce7d2a28cebd4518ac454" - integrity sha512-7hB/+LxrOjq/dd8APlK0r24uL/67w7SkYnfwhNFwg/VDIGWGmduTDYf3WNstLW2fbbmRwrDGCVSJ2isuf2+4Hw== + version "4.0.3" + resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" + integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== dependencies: - js-yaml "^3.11.0" + js-yaml "^3.13.1" kind-of "^6.0.2" section-matter "^1.0.0" strip-bom-string "^1.0.0" @@ -9738,7 +9486,7 @@ handle-thing@^2.0.0: resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== -handlebars@^4.7.6, handlebars@^4.7.7: +handlebars@^4.5.3, handlebars@^4.7.6, handlebars@^4.7.7: version "4.7.7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== @@ -9814,6 +9562,13 @@ has-symbols@^1.0.1, has-symbols@^1.0.2: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + has-unicode@^2.0.0, has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -9975,11 +9730,16 @@ html-encoding-sniffer@^1.0.2: dependencies: whatwg-encoding "^1.0.1" -html-entities@^1.2.0, html-entities@^1.3.1: +html-entities@^1.3.1: version "1.4.0" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== +html-entities@^2.1.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.2.tgz#760b404685cb1d794e4f4b744332e3b00dcfe488" + integrity sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ== + html-escaper@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" @@ -10054,17 +9814,15 @@ htmlescape@^1.1.0: resolved "https://registry.yarnpkg.com/htmlescape/-/htmlescape-1.1.1.tgz#3a03edc2214bca3b66424a3e7959349509cb0351" integrity sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E= -htmlparser2@^3.10.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== dependencies: - domelementtype "^1.3.1" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^3.1.1" + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" http-cache-semantics@^3.8.1: version "3.8.1" @@ -10167,6 +9925,14 @@ https-proxy-agent@^2.2.3: agent-base "^4.3.0" debug "^3.1.0" +https-proxy-agent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b" + integrity sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg== + dependencies: + agent-base "5" + debug "4" + human-signals@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" @@ -10208,9 +9974,9 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24: safer-buffer ">= 2.1.2 < 3" iconv-lite@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01" - integrity sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ== + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== dependencies: safer-buffer ">= 2.1.2 < 3.0.0" @@ -10237,9 +10003,9 @@ iferr@^0.1.5: integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= ignore-walk@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" - integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== + version "3.0.4" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335" + integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ== dependencies: minimatch "^3.0.4" @@ -10476,6 +10242,15 @@ internal-ip@^4.3.0: default-gateway "^4.2.0" ipaddr.js "^1.9.0" +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" @@ -10523,11 +10298,12 @@ is-accessor-descriptor@^1.0.0: kind-of "^6.0.0" is-arguments@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" - integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg== + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" + has-tostringtag "^1.0.0" is-arrayish@^0.2.1: version "0.2.1" @@ -10540,9 +10316,11 @@ is-arrayish@^0.3.1: integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== is-bigint@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2" - integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" is-binary-path@^1.0.0: version "1.0.1" @@ -10559,21 +10337,22 @@ is-binary-path@~2.1.0: binary-extensions "^2.0.0" is-boolean-object@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0" - integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA== + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" + has-tostringtag "^1.0.0" is-buffer@^1.1.0, is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" - integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== is-ci@^1.1.0: version "1.2.1" @@ -10601,17 +10380,10 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.1.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.5.0.tgz#f754843617c70bfd29b7bd87327400cda5c18491" - integrity sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg== - dependencies: - has "^1.0.3" - -is-core-module@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" - integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== +is-core-module@^2.1.0, is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.6.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.7.0.tgz#3c0ef7d31b4acfc574f80c58409d568a836848e3" + integrity sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ== dependencies: has "^1.0.3" @@ -10630,9 +10402,11 @@ is-data-descriptor@^1.0.0: kind-of "^6.0.0" is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" is-descriptor@^0.1.0: version "0.1.6" @@ -10657,7 +10431,7 @@ is-directory@^0.3.1: resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= -is-docker@^2.1.1: +is-docker@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== @@ -10706,7 +10480,7 @@ is-generator-fn@^2.0.0: resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== -is-glob@4.0.1, is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: +is-glob@4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== @@ -10720,11 +10494,23 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + is-https@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/is-https/-/is-https-3.0.2.tgz#4d24e002e47edd3f1b07f14bc722433354ccba49" integrity sha512-jFgAKhbNF7J+lTMJxbq5z9bf1V9f8rXn9mP5RSY2GUEW5M0nOiVhVC9dNra96hQDjGpNzskIzusUnXwngqmhAA== +is-https@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-https/-/is-https-4.0.0.tgz#9ee725a334fb517b988278d2674efc96e4f348ed" + integrity sha512-FeMLiqf8E5g6SdiVJsPcNZX8k4h2fBs1wp5Bb6uaNxn58ufK1axBqQZdmAQsqh0t9BuwFObybrdVJh6MKyPlyg== + is-installed-globally@^0.3.1, is-installed-globally@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" @@ -10749,9 +10535,11 @@ is-npm@^4.0.0: integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== is-number-object@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" - integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + dependencies: + has-tostringtag "^1.0.0" is-number@^3.0.0: version "3.0.0" @@ -10833,13 +10621,13 @@ is-promise@^2.1.0: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== -is-regex@^1.0.4, is-regex@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" - integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== +is-regex@^1.0.4, is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: call-bind "^1.0.2" - has-symbols "^1.0.1" + has-tostringtag "^1.0.0" is-regexp@^1.0.0: version "1.0.0" @@ -10851,10 +10639,15 @@ is-resolvable@^1.0.0: resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== +is-shared-array-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" + integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== + is-ssh@^1.3.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.2.tgz#a4b82ab63d73976fd8263cceee27f99a88bdae2b" - integrity sha512-elEw0/0c2UscLrNG+OAorbP539E3rhliKPg+hDMWN9VwrDXfYK+4PBEykDPfxlYYtQvl84TascnQyobfQLHEhQ== + version "1.3.3" + resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.3.tgz#7f133285ccd7f2c2c7fc897b771b53d95a2b2c7e" + integrity sha512-NKzJmQzJfEEma3w5cJNcUMxoXfDjz0Zj0eyCalHn2E6VOwlzjZo0yuO2fcBSf8zhFuVCL/82/r5gRcoi6aEPVQ== dependencies: protocols "^1.1.0" @@ -10864,21 +10657,23 @@ is-stream@^1.0.1, is-stream@^1.1.0: integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== -is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: - has-symbols "^1.0.1" + has-symbols "^1.0.2" is-text-path@^1.0.1: version "1.0.1" @@ -10902,6 +10697,13 @@ is-utf8@^0.2.0: resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= +is-weakref@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2" + integrity sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ== + dependencies: + call-bind "^1.0.0" + is-whitespace@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/is-whitespace/-/is-whitespace-0.3.0.tgz#1639ecb1be036aec69a54cbb401cfbed7114ab7f" @@ -10966,9 +10768,9 @@ isomorphic-fetch@^3.0.0: whatwg-fetch "^3.4.1" isomorphic-git@^1.9.2: - version "1.9.2" - resolved "https://registry.yarnpkg.com/isomorphic-git/-/isomorphic-git-1.9.2.tgz#0e492dbcd9873070b2a57eef257a45b90020ed72" - integrity sha512-puCXcGgtkDXdMYLZlAEGbpkbmHn/Q4Lsl2uMFwMLOKmmr8Qe7Fe3+c6k2+aHW3rMdJYg9xTv95BJ+PRzR8Ydww== + version "1.10.1" + resolved "https://registry.yarnpkg.com/isomorphic-git/-/isomorphic-git-1.10.1.tgz#2f3a3d2d41baf6a88e046a21e0527bc13a21d663" + integrity sha512-abbPpKkykIVDJ92rtYoD4AOuT5/7PABHR2fDBrsm7H0r2ZT+MGpPL/FynrEJM6nTcFSieaIDxnHNGhfHO/v+bA== dependencies: async-lock "^1.1.0" clean-git-ref "^2.0.1" @@ -11432,13 +11234,13 @@ jest@^24.1.0, jest@^24.9.0: jimp-compact@^0.16.1: version "0.16.1" - resolved "https://registry.yarnpkg.com/jimp-compact/-/jimp-compact-0.16.1.tgz#9582aea06548a2c1e04dd148d7c3ab92075aefa3" - integrity sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww== + resolved "https://registry.yarnpkg.com/jimp-compact/-/jimp-compact-0.16.2.tgz#650bf90698eb7af797e20bf5f5cdccd137e7d08a" + integrity sha512-F/r0L283J46xiGUEvUb3jxUsei7aB94g3NRIMuJ4WhbpEcJV2U5GpaUNJLnBiOP2+x4lLTI4UiRVrmbrXQAOMA== -jiti@^1.3.0, jiti@^1.6.4: - version "1.9.1" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.9.1.tgz#d9e267fa050ddc52191f17d8af815d49a38ebafd" - integrity sha512-AhYrAxJ/IW2257nHkJasUjtxHhmYIUEHEjsofJtGYsPWk8pTjqjbPFlJfOwfY+WX8YBiKHM1l0ViDC/mye2SWg== +jiti@^1.9.2: + version "1.12.6" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.12.6.tgz#8884d53a10bd571e0e85787994d97cfcc48ac6f9" + integrity sha512-drQ/qnYriF9KiU47sRF0rTvfQmJo4JEmFMhCk2SJIsUj+hGnQaxkwaKfyvK9KenX20JNTQmVfJOz7VWe0cSntw== jju@~1.4.0: version "1.4.0" @@ -11451,14 +11253,13 @@ js-base64@^2.1.8: integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== js-beautify@^1.6.12: - version "1.13.11" - resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.13.11.tgz#3fc59d74d4fcb03268a559220da26f5d8a2d5246" - integrity sha512-+3CW1fQqkV7aXIvprevNYfSrKrASQf02IstAZCVSNh+/IS5ciaOtE7erfjyowdMYZZmP2A7SMFkcJ28qCl84+A== + version "1.14.0" + resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.14.0.tgz#2ce790c555d53ce1e3d7363227acf5dc69024c2d" + integrity sha512-yuck9KirNSCAwyNJbqW+BxJqJ0NLJ4PwBUzQQACl5O3qHMBXVkXb/rD0ilh/Lat/tn88zSZ+CAHOlk0DsY7GuQ== dependencies: config-chain "^1.1.12" editorconfig "^0.15.3" glob "^7.1.3" - mkdirp "^1.0.4" nopt "^5.0.0" js-cookie@^2.2.1: @@ -11466,6 +11267,11 @@ js-cookie@^2.2.1: resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ== +js-cookie@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-3.0.1.tgz#9e39b4c6c2f56563708d7d31f6f5f21873a92414" + integrity sha512-+0rgsUXZu4ncpPxRL+lNEptWMOWl9etvPHc/koSRp6MPwpRYAhmk0dUG00J4bxVV3r9uUzfo24wW0knS07SKSw== + js-levenshtein@^1.1.3: version "1.1.6" resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" @@ -11476,7 +11282,7 @@ js-levenshtein@^1.1.3: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.11.0, js-yaml@^3.13.1: +js-yaml@^3.13.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== @@ -11853,14 +11659,12 @@ listr-verbose-renderer@^0.5.0: figures "^2.0.0" listr2@^3.2.2: - version "3.6.2" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.6.2.tgz#7260159f9108523eaa430d4a674db65b6c2d08cc" - integrity sha512-B2vlu7Zx/2OAMVUovJ7Tv1kQ2v2oXd0nZKzkSAcRCej269d8gkS/gupDEdNl23KQ3ZjVD8hQmifrrBFbx8F9LA== + version "3.12.2" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.12.2.tgz#2d55cc627111603ad4768a9e87c9c7bb9b49997e" + integrity sha512-64xC2CJ/As/xgVI3wbhlPWVPx0wfTqbUAkpb7bjDi0thSWMqrf07UFhrfsGoo8YSXmF049Rp9C0cjLC8rZxK9A== dependencies: - chalk "^4.1.0" cli-truncate "^2.1.0" - figures "^3.2.0" - indent-string "^4.0.0" + colorette "^1.4.0" log-update "^4.0.0" p-map "^4.0.0" rxjs "^6.6.7" @@ -11893,16 +11697,6 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" @@ -12022,11 +11816,6 @@ lodash.defaultsdeep@^4.6.0: resolved "https://registry.yarnpkg.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6" integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA== -lodash.flatten@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= - lodash.get@^4.0.0, lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" @@ -12236,9 +12025,9 @@ lru-cache@^6.0.0: yallist "^4.0.0" macos-release@^2.2.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.4.1.tgz#64033d0ec6a5e6375155a74b1a1eba8e509820ac" - integrity sha512-H/QHeBIN1fIGJX517pvK8IEK53yQOW7YcEI55oYtgjDdoCQQz7eJS94qt5kNrscReEyuD/JcdFCm2XBEcGOITg== + version "2.5.0" + resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.5.0.tgz#067c2c88b5f3fb3c56a375b2ec93826220fa1ff2" + integrity sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g== magic-string@^0.25.7: version "0.25.7" @@ -12321,9 +12110,9 @@ map-obj@^2.0.0: integrity sha1-plzSkIepJZi4eRJXpSPgISIqwfk= map-obj@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.1.tgz#e4ea399dbc979ae735c83c863dd31bdf364277b7" - integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ== + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== map-visit@^1.0.0: version "1.0.0" @@ -12404,18 +12193,18 @@ medium-zoom@^1.0.4: resolved "https://registry.yarnpkg.com/medium-zoom/-/medium-zoom-1.0.6.tgz#9247f21ca9313d8bbe9420aca153a410df08d027" integrity sha512-UdiUWfvz9fZMg1pzf4dcuqA0W079o0mpqbTnOz5ip4VGYX96QjmbM+OgOU/0uOzAytxC0Ny4z+VcYQnhdifimg== -mem@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-8.1.0.tgz#445e47827fb757a4e5f35b0a6a62743cbfdc0a0d" - integrity sha512-FIkgXo0kTi3XpvaznV5Muk6Y6w8SkdmRXcY7ZLonQesuYezp59UooLxAVBcGuN6PH2tXN84mR3vyzSc6oSMUfA== +mem@^8.1.1: + version "8.1.1" + resolved "https://registry.yarnpkg.com/mem/-/mem-8.1.1.tgz#cf118b357c65ab7b7e0817bdf00c8062297c0122" + integrity sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA== dependencies: map-age-cleaner "^0.1.3" mimic-fn "^3.1.0" -memfs@^3.1.2, memfs@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.2.2.tgz#5de461389d596e3f23d48bb7c2afb6161f4df40e" - integrity sha512-RE0CwmIM3CEvpcdK3rZ19BC4E6hv9kADkMN5rPduRak58cNArWLi/9jFLsa4rhsjfVxMP3v0jO7FHXq7SvFY5Q== +memfs@^3.1.2, memfs@^3.2.2: + version "3.3.0" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.3.0.tgz#4da2d1fc40a04b170a56622c7164c6be2c4cbef2" + integrity sha512-BEE62uMfKOavX3iG7GYX43QJ+hAeeWnwIAuJ/R6q96jaMtiLzhsxHJC8B1L7fK7Pt/vXDRwb3SG/yBpNGDPqzg== dependencies: fs-monkey "1.0.3" @@ -12534,7 +12323,7 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^4.0.0, micromatch@^4.0.2: +micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== @@ -12550,17 +12339,17 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.47.0, "mime-db@>= 1.43.0 < 2": - version "1.47.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c" - integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw== +mime-db@1.50.0, "mime-db@>= 1.43.0 < 2": + version "1.50.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" + integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== -mime-types@^2.1.12, mime-types@^2.1.19, mime-types@^2.1.27, mime-types@^2.1.28, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.30" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d" - integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg== +mime-types@^2.1.12, mime-types@^2.1.19, mime-types@^2.1.27, mime-types@^2.1.30, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.33" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb" + integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g== dependencies: - mime-db "1.47.0" + mime-db "1.50.0" mime@1.6.0: version "1.6.0" @@ -12686,7 +12475,7 @@ minipass-pipeline@^1.2.2: dependencies: minipass "^3.0.0" -minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: +minipass@^2.3.5, minipass@^2.6.0, minipass@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== @@ -12695,13 +12484,13 @@ minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: yallist "^3.0.0" minipass@^3.0.0, minipass@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" - integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== + version "3.1.5" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.5.tgz#71f6251b0a33a49c01b3cf97ff77eda030dff732" + integrity sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw== dependencies: yallist "^4.0.0" -minizlib@^1.2.1: +minizlib@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== @@ -12798,9 +12587,9 @@ mochawesome-report-generator@^5.2.0: yargs "^13.2.2" mochawesome@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/mochawesome/-/mochawesome-6.2.2.tgz#2847b4cccb254201e8dad89384f760fe9cdbae15" - integrity sha512-NuIxYo8zczmL5XWLNFiud21OsAJHXrflt2lcRY2u8a3TilGwglhzTPjUHZCLqJvbqj2CnIHX2ueqOh1ViUNDPw== + version "6.3.0" + resolved "https://registry.yarnpkg.com/mochawesome/-/mochawesome-6.3.0.tgz#23e326268cf971f504d74f1afba9253a36c5b2e1" + integrity sha512-+ZtlqntK3NOre6MJqe1mtr0EIB0JppHytDC3dKFpFs7JycRxGofk/ATwnScHcrvUWT3633oCzNLlPvzOdwrseg== dependencies: chalk "^4.1.0" diff "^5.0.0" @@ -12924,14 +12713,14 @@ mz@^2.5.0: thenify-all "^1.0.0" nan@^2.12.1, nan@^2.13.2: - version "2.14.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" - integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== + version "2.15.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" + integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== -nanoid@^3.1.20: - version "3.1.22" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.22.tgz#b35f8fb7d151990a8aebd5aa5015c03cf726f844" - integrity sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ== +nanoid@^3.1.23: + version "3.1.28" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.28.tgz#3c01bac14cb6c5680569014cc65a2f26424c6bd4" + integrity sha512-gSu9VZ2HtmoKYe/lmyPFES5nknFrHa+/DT9muUFWFMi6Jh9E1I7bkvlQ8xxf1Kos9pi9o8lBnIOkatMhKX/YUw== nanomatch@^1.2.9: version "1.2.13" @@ -12994,7 +12783,7 @@ node-fetch-npm@^2.0.2: json-parse-better-errors "^1.0.0" safe-buffer "^5.1.1" -node-fetch@2.6.1, node-fetch@^2.5.0, node-fetch@^2.6.1: +node-fetch@2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== @@ -13007,6 +12796,13 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" +node-fetch@^2.5.0, node-fetch@^2.6.1: + version "2.6.5" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.5.tgz#42735537d7f080a7e5f78b6c549b7146be1742fd" + integrity sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ== + dependencies: + whatwg-url "^5.0.0" + node-forge@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" @@ -13047,14 +12843,23 @@ node-gyp@^5.0.2: tar "^4.4.12" which "^1.3.1" -node-html-parser@^3.1.2: - version "3.1.5" - resolved "https://registry.yarnpkg.com/node-html-parser/-/node-html-parser-3.1.5.tgz#ffb62f2a336b6b634f41f3315487fe446fb9d7b5" - integrity sha512-/XKKdWbSUymlXTjtNBcDlmM7Jp8S/BqGMzLx7r2bd2NMjTXz+ofuLcz0Bl3VT0vTvVzF+N511FNLrZt4HVitXA== +node-html-parser@^3.2.0: + version "3.3.6" + resolved "https://registry.yarnpkg.com/node-html-parser/-/node-html-parser-3.3.6.tgz#fdbb3ba16d1252d7197ec39f0260d9c10ef33590" + integrity sha512-VkWDHvNgFGB3mbQGMyzqRE1i/BG7TKX9wRXC8e/v8kL0kZR/Oy6RjYxXH91K6/+m3g8iQ8dTqRy75lTYoA2Cjg== dependencies: - css-select "^3.1.2" + css-select "^4.1.3" he "1.2.0" +node-html-to-image@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/node-html-to-image/-/node-html-to-image-3.2.0.tgz#61dc47619c374fddb6d67386b45cf577b85da6b1" + integrity sha512-DiG+jYiLYksolLiLVXcKQMYMuYCjXgizRASXFuz2wupO2zC8byTCDAPTDgDH0pQJ5QmONQ/l8v6evXsNQtKy3w== + dependencies: + handlebars "^4.5.3" + puppeteer "3.0.4" + puppeteer-cluster "^0.21.0" + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -13110,10 +12915,10 @@ node-object-hash@^1.2.0: resolved "https://registry.yarnpkg.com/node-object-hash/-/node-object-hash-1.4.2.tgz#385833d85b229902b75826224f6077be969a9e94" integrity sha512-UdS4swXs85fCGWWf6t6DMGgpN/vnlKeSGEQ7hJcrs7PBFoxoKLmibc3QRb7fwiYsjdL7PX8iI/TMSlZ90dgHhQ== -node-releases@^1.1.71: - version "1.1.71" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" - integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== +node-releases@^1.1.77: + version "1.1.77" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" + integrity sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ== node-res@^5.0.1: version "5.0.1" @@ -13189,12 +12994,12 @@ normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package- validate-npm-package-license "^3.0.1" normalize-package-data@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.2.tgz#cae5c410ae2434f9a6c1baa65d5bc3b9366c8699" - integrity sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg== + version "3.0.3" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== dependencies: hosted-git-info "^4.0.1" - resolve "^1.20.0" + is-core-module "^2.5.0" semver "^7.3.4" validate-npm-package-license "^3.0.1" @@ -13234,20 +13039,30 @@ normalize-url@^2.0.1: query-string "^5.0.1" sort-keys "^2.0.0" -normalize-url@^3.0.0, normalize-url@^3.3.0: +normalize-url@^3.0.0: version "3.3.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== normalize-url@^4.1.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" - integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== + version "4.5.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" + integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== + +normalize-url@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +nouislider@^15.2.0: + version "15.4.0" + resolved "https://registry.yarnpkg.com/nouislider/-/nouislider-15.4.0.tgz#ac0d988e9ba59366062e5712e7cd37eb2e48630d" + integrity sha512-AV7UMhGhZ4Mj6ToMT812Ib8OJ4tAXR2/Um7C4l4ZvvsqujF0WpQTpqqHJ+9xt4174R7ueQOUrBR4yakJpAIPCA== npm-bundled@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" - integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA== + version "1.1.2" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" + integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== dependencies: npm-normalize-package-bin "^1.0.1" @@ -13335,9 +13150,9 @@ nth-check@^1.0.2: boolbase "~1.0.0" nth-check@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125" - integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q== + version "2.0.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" + integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== dependencies: boolbase "^1.0.0" @@ -13357,21 +13172,22 @@ number-is-nan@^1.0.0: integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= nuxt-i18n@^6.5.0: - version "6.25.0" - resolved "https://registry.yarnpkg.com/nuxt-i18n/-/nuxt-i18n-6.25.0.tgz#d5b2c0be368012bd7d691283a38fec38030aa89b" - integrity sha512-x9rVDPnrQyB2TrdLuwkgNGMi+a03Xo7Vp3uXq1c5sCY0AREHGTsVXjLqdJULt2hXofaF2a6I1CLgN6g9+Cv/3g== + version "6.28.1" + resolved "https://registry.yarnpkg.com/nuxt-i18n/-/nuxt-i18n-6.28.1.tgz#63e3e809fa41d855c5c7c443c0074eecaa97d273" + integrity sha512-JKRs8AmixVZ7k90Rrwq468McfnInP1ymuejYHRGA4VV0nZCLYsdDQXZxXl3JXaER9VatM9C24GM3ArAYFOtUhg== dependencies: - "@babel/parser" "^7.13.15" - "@babel/traverse" "^7.13.15" + "@babel/parser" "^7.14.9" + "@babel/traverse" "^7.14.9" "@intlify/vue-i18n-extensions" "^1.0.2" "@intlify/vue-i18n-loader" "^1.1.0" cookie "^0.4.1" devalue "^2.0.1" - js-cookie "^2.2.1" + is-https "^4.0.0" + js-cookie "^3.0.0" klona "^2.0.4" lodash.merge "^4.6.2" - ufo "^0.6.11" - vue-i18n "^8.24.3" + ufo "^0.7.7" + vue-i18n "^8.25.0" nuxt-purgecss@^1.0.0: version "1.0.0" @@ -13385,25 +13201,25 @@ nuxt-purgecss@^1.0.0: purgecss-webpack-plugin "^2.0.5" nuxt@^2.13.3: - version "2.15.4" - resolved "https://registry.yarnpkg.com/nuxt/-/nuxt-2.15.4.tgz#5e2b441acec7344a1124bb550904b5576c850cef" - integrity sha512-o11VE61EwLj05PBPUN5RlDpaFb7vKbg3d5c+gfLi0gLVMpLUmjksRVTLzE9Ie8MB/TEnipy5BkhxMNppy0FKVg== - dependencies: - "@nuxt/babel-preset-app" "2.15.4" - "@nuxt/builder" "2.15.4" - "@nuxt/cli" "2.15.4" - "@nuxt/components" "^2.1.4" - "@nuxt/config" "2.15.4" - "@nuxt/core" "2.15.4" - "@nuxt/generator" "2.15.4" + version "2.15.8" + resolved "https://registry.yarnpkg.com/nuxt/-/nuxt-2.15.8.tgz#946cba46bdaaf0e3918aa27fd9ea0fed8ed303b0" + integrity sha512-ceK3qLg/Baj7J8mK9bIxqw9AavrF+LXqwYEreBdY/a4Sj8YV4mIvhqea/6E7VTCNNGvKT2sJ/TTJjtfQ597lTA== + dependencies: + "@nuxt/babel-preset-app" "2.15.8" + "@nuxt/builder" "2.15.8" + "@nuxt/cli" "2.15.8" + "@nuxt/components" "^2.1.8" + "@nuxt/config" "2.15.8" + "@nuxt/core" "2.15.8" + "@nuxt/generator" "2.15.8" "@nuxt/loading-screen" "^2.0.3" "@nuxt/opencollective" "^0.3.2" - "@nuxt/server" "2.15.4" + "@nuxt/server" "2.15.8" "@nuxt/telemetry" "^1.3.3" - "@nuxt/utils" "2.15.4" - "@nuxt/vue-app" "2.15.4" - "@nuxt/vue-renderer" "2.15.4" - "@nuxt/webpack" "2.15.4" + "@nuxt/utils" "2.15.8" + "@nuxt/vue-app" "2.15.8" + "@nuxt/vue-renderer" "2.15.8" + "@nuxt/webpack" "2.15.8" nwsapi@^2.0.7: version "2.2.0" @@ -13429,10 +13245,10 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" - integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== +object-inspect@^1.11.0, object-inspect@^1.9.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" + integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== object-is@^1.0.1: version "1.1.5" @@ -13465,13 +13281,13 @@ object.assign@^4.1.0, object.assign@^4.1.2: object-keys "^1.1.1" object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0, object.getownpropertydescriptors@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" - integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== + version "2.1.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz#b223cf38e17fefb97a63c10c91df72ccb386df9e" + integrity sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" + es-abstract "^1.19.1" object.pick@^1.3.0: version "1.3.0" @@ -13480,15 +13296,14 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -object.values@^1.1.0, object.values@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" - integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== +object.values@^1.1.0, object.values@^1.1.4: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - has "^1.0.3" + es-abstract "^1.19.1" obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" @@ -13571,9 +13386,9 @@ optimism@^0.16.0, optimism@^0.16.1: "@wry/trie" "^0.3.0" optimize-css-assets-webpack-plugin@^5.0.1, optimize-css-assets-webpack-plugin@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz#85883c6528aaa02e30bbad9908c92926bb52dc90" - integrity sha512-wqd6FdI2a5/FdoiCNNkEvLeA//lHHfG24Ln2Xm2qqdIk4aOlsR18jwpyOihqQ8849W3qu2DX8fOYxpvTMj+93A== + version "5.0.8" + resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.8.tgz#cbccdcf5a6ef61d4f8cc78cf083a67446e5f402a" + integrity sha512-mgFS1JdOtEGzD8l+EuISqL57cKO+We9GcoiQEmdCWRqqck+FGNmYJtx9qfAPzEz+lRrlThWMuGDaRkI/yWNx/Q== dependencies: cssnano "^4.1.10" last-call-webpack-plugin "^3.0.0" @@ -13895,13 +13710,13 @@ parse-path@^4.0.0: qs "^6.9.4" query-string "^6.13.8" -parse-url@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-5.0.2.tgz#856a3be1fcdf78dc93fc8b3791f169072d898b59" - integrity sha512-Czj+GIit4cdWtxo3ISZCvLiUjErSo0iI3wJ+q9Oi3QuMYTI6OZu+7cewMWZ+C1YAnKhYTk6/TLuhIgCypLthPA== +parse-url@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-6.0.0.tgz#f5dd262a7de9ec00914939220410b66cff09107d" + integrity sha512-cYyojeX7yIIwuJzledIHeLUBVJ6COVLeT4eF+2P6aKVzwvgKQPndCBv3+yQ7pcWjqToYwaligxzSYNNmGoMAvw== dependencies: is-ssh "^1.3.0" - normalize-url "^3.3.0" + normalize-url "^6.1.0" parse-path "^4.0.0" protocols "^1.4.0" @@ -13976,9 +13791,9 @@ path-key@^3.0.0, path-key@^3.1.0: integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-platform@~0.11.15: version "0.11.15" @@ -13999,13 +13814,6 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - path-type@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" @@ -14039,10 +13847,15 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d" - integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg== + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== pify@^2.0.0, pify@^2.2.0, pify@^2.3.0: version "2.3.0" @@ -14111,6 +13924,13 @@ pkg-dir@^5.0.0: dependencies: find-up "^5.0.0" +pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= + dependencies: + find-up "^2.1.0" + please-upgrade-node@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" @@ -14124,9 +13944,9 @@ pn@^1.1.0: integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== pnp-webpack-plugin@^1.6.4: - version "1.6.4" - resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" - integrity sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg== + version "1.7.0" + resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz#65741384f6d8056f36e2255a8d67ffc20866f5c9" + integrity sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg== dependencies: ts-pnp "^1.1.6" @@ -14749,13 +14569,11 @@ postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: uniq "^1.0.1" postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: - version "6.0.4" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" - integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== + version "6.0.6" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" + integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== dependencies: cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" util-deprecate "^1.0.2" postcss-svgo@^4.0.3: @@ -14815,14 +14633,13 @@ postcss@7.0.32: source-map "^0.6.1" supports-color "^6.1.0" -postcss@7.x.x, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.35" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" - integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== +postcss@7.x.x, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.36, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.39" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== dependencies: - chalk "^2.4.2" + picocolors "^0.2.1" source-map "^0.6.1" - supports-color "^6.1.0" prelude-ls@^1.2.1: version "1.2.1" @@ -14892,11 +14709,9 @@ printj@~1.1.0: integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== prismjs@^1.13.0: - version "1.23.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.23.0.tgz#d3b3967f7d72440690497652a9d40ff046067f33" - integrity sha512-c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA== - optionalDependencies: - clipboard "^2.0.0" + version "1.25.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.25.0.tgz#6f822df1bdad965734b310b315a23315cf999756" + integrity sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg== process-nextick-args@~2.0.0: version "2.0.1" @@ -14908,7 +14723,7 @@ process@^0.11.10, process@~0.11.0: resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= -progress@^2.0.0: +progress@^2.0.0, progress@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== @@ -14984,13 +14799,18 @@ protoduck@^5.0.1: genfun "^5.0.0" proxy-addr@~2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" - integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== dependencies: - forwarded "~0.1.2" + forwarded "0.2.0" ipaddr.js "1.9.1" +proxy-from-env@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" @@ -15065,6 +14885,29 @@ pupa@^2.0.1: dependencies: escape-goat "^2.0.0" +puppeteer-cluster@^0.21.0: + version "0.21.0" + resolved "https://registry.yarnpkg.com/puppeteer-cluster/-/puppeteer-cluster-0.21.0.tgz#79071aa9830312446b18ec9d99fe41f6d80ee103" + integrity sha512-/x5mei0vXxFPpJ7iUS+xJ3rOcxxYUa2YeEyuWI9m0M5e8ammPiCXjvOsTcni+4ZAop3L2gpZFkxafPvXWOoRfg== + dependencies: + debug "^4.1.1" + +puppeteer@3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-3.0.4.tgz#f445aae0a6732c65bbb90e963dcd6fd8fde0d780" + integrity sha512-1QEb4tJXXbNId7WSHlcDkS3B4GklTIebKn8Y9D6B7tAdUjQncb+8QlTjbQsAgGX5dhRG32Qycuk5XKzJgLs0sg== + dependencies: + debug "^4.1.0" + extract-zip "^2.0.0" + https-proxy-agent "^4.0.0" + mime "^2.0.3" + progress "^2.0.1" + proxy-from-env "^1.0.0" + rimraf "^3.0.2" + tar-fs "^2.0.0" + unbzip2-stream "^1.3.3" + ws "^7.2.3" + purgecss-webpack-plugin@^2.0.5: version "2.3.0" resolved "https://registry.yarnpkg.com/purgecss-webpack-plugin/-/purgecss-webpack-plugin-2.3.0.tgz#ba50bc25524ddbc27b5ed47ef30af65ad3a10bb2" @@ -15280,14 +15123,6 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - read-pkg-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" @@ -15322,15 +15157,6 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" @@ -15398,10 +15224,10 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" -readdirp@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" - integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" @@ -15443,14 +15269,14 @@ reduce@^1.0.1: dependencies: object-keys "^1.1.0" -regenerate-unicode-properties@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" - integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== +regenerate-unicode-properties@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" + integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA== dependencies: - regenerate "^1.4.0" + regenerate "^1.4.2" -regenerate@^1.4.0: +regenerate@^1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== @@ -15461,9 +15287,9 @@ regenerator-runtime@^0.12.0: integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg== regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7: - version "0.13.7" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" - integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== regenerator-transform@^0.14.2: version "0.14.5" @@ -15489,21 +15315,21 @@ regexp.prototype.flags@^1.2.0: define-properties "^1.1.3" regexpp@^3.0.0, regexpp@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" - integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== regexpu-core@^4.7.1: - version "4.7.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" - integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== + version "4.8.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" + integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.2.0" - regjsgen "^0.5.1" - regjsparser "^0.6.4" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.2.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^9.0.0" + regjsgen "^0.5.2" + regjsparser "^0.7.0" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.0.0" registry-auth-token@^4.0.0: version "4.2.1" @@ -15519,15 +15345,15 @@ registry-url@^5.0.0: dependencies: rc "^1.2.8" -regjsgen@^0.5.1: +regjsgen@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== -regjsparser@^0.6.4: - version "0.6.9" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.9.tgz#b489eef7c9a2ce43727627011429cf833a7183e6" - integrity sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ== +regjsparser@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" + integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ== dependencies: jsesc "~0.5.0" @@ -15536,10 +15362,10 @@ relateurl@0.2.x, relateurl@^0.2.7: resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= -relay-compiler@10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/relay-compiler/-/relay-compiler-10.1.0.tgz#fb4672cdbe9b54869a3a79759edd8c2d91609cbe" - integrity sha512-HPqc3N3tNgEgUH5+lTr5lnLbgnsZMt+MRiyS0uAVNhuPY2It0X1ZJG+9qdA3L9IqKFUNwVn6zTO7RArjMZbARQ== +relay-compiler@11.0.2: + version "11.0.2" + resolved "https://registry.yarnpkg.com/relay-compiler/-/relay-compiler-11.0.2.tgz#e1e09a1c881d169a7a524ead728ad6a89c7bd4af" + integrity sha512-nDVAURT1YncxSiDOKa39OiERkAr0DUcPmlHlg+C8zD+EiDo2Sgczf2R6cDsN4UcDvucYtkLlDLFErPwgLs8WzA== dependencies: "@babel/core" "^7.0.0" "@babel/generator" "^7.5.0" @@ -15553,18 +15379,20 @@ relay-compiler@10.1.0: fbjs "^3.0.0" glob "^7.1.1" immutable "~3.7.6" + invariant "^2.2.4" nullthrows "^1.1.1" - relay-runtime "10.1.0" + relay-runtime "11.0.2" signedsource "^1.0.0" yargs "^15.3.1" -relay-runtime@10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/relay-runtime/-/relay-runtime-10.1.0.tgz#4753bf36e95e8d862cef33608e3d98b4ed730d16" - integrity sha512-bxznLnQ1ST6APN/cFi7l0FpjbZVchWQjjhj9mAuJBuUqNNCh9uV+UTRhpQF7Q8ycsPp19LHTpVyGhYb0ustuRQ== +relay-runtime@11.0.2: + version "11.0.2" + resolved "https://registry.yarnpkg.com/relay-runtime/-/relay-runtime-11.0.2.tgz#c3650477d45665b9628b852b35f203e361ad55e8" + integrity sha512-xxZkIRnL8kNE1cxmwDXX8P+wSeWLR+0ACFyAiAhvfWWAyjXb+bhjJ2FSsRGlNYfkqaTNEuDqpnodQV1/fF7Idw== dependencies: "@babel/runtime" "^7.0.0" fbjs "^3.0.0" + invariant "^2.2.4" remove-trailing-separator@^1.0.1: version "1.1.0" @@ -15572,15 +15400,15 @@ remove-trailing-separator@^1.0.1: integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= renderkid@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.5.tgz#483b1ac59c6601ab30a7a596a5965cabccfdd0a5" - integrity sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ== + version "2.0.7" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" + integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== dependencies: - css-select "^2.0.2" - dom-converter "^0.2" - htmlparser2 "^3.10.1" - lodash "^4.17.20" - strip-ansi "^3.0.0" + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^3.0.1" repeat-element@^1.1.2: version "1.1.4" @@ -15668,11 +15496,6 @@ requires-port@^1.0.0: resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= -resize-observer-polyfill@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" - integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== - resolve-cwd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" @@ -15705,7 +15528,7 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.20.0, resolve@1.x, resolve@^1.1.4, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.2.0, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.8.1: +resolve@1.20.0, resolve@1.x, resolve@^1.1.4, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.2.0, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.8.1: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -15885,7 +15708,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -15938,10 +15761,10 @@ sass-loader@^8.0.2: schema-utils "^2.6.1" semver "^6.3.0" -sass-resources-loader@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/sass-resources-loader/-/sass-resources-loader-2.2.1.tgz#d7dbc36ccb25b2d8ffa508b1b8630b987df1e5c3" - integrity sha512-WlofxbWOVnxad874IHZdWbP9eW1pbyqsTJKBsMbeB+YELvLSrZQNDTpH70s6F19BwtanR3NEFnyGwJ9WyotJTQ== +sass-resources-loader@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/sass-resources-loader/-/sass-resources-loader-2.2.4.tgz#1a86fba499e74a88cb7ce95f0c98449f348d360e" + integrity sha512-hIQhBygYky+rLf+4cuoGYONZ623CEH4Swo1fs1WRJkukbqdvN1VIu2KCL59du6vX92bNELzNkGPLx+NorN73xA== dependencies: async "^3.2.0" chalk "^4.1.0" @@ -15981,11 +15804,11 @@ schema-utils@^2.0.0, schema-utils@^2.6.1, schema-utils@^2.6.5, schema-utils@^2.7 ajv-keywords "^3.5.2" schema-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" - integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA== + version "3.1.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== dependencies: - "@types/json-schema" "^7.0.6" + "@types/json-schema" "^7.0.8" ajv "^6.12.5" ajv-keywords "^3.5.2" @@ -15997,10 +15820,10 @@ scss-tokenizer@^0.2.3: js-base64 "^2.1.8" source-map "^0.4.2" -scule@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/scule/-/scule-0.1.1.tgz#6bf026f1815c646f061761f9bfd7a3e783f2d05c" - integrity sha512-1j2RlmUNADEprCkzDaeo8w2tdum/mvQWAKdRaS2raud7IOnPaDbLSFKhcY5xXPbAFYWk4ZQ0BUnfmg0ZUcI+Pg== +scule@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/scule/-/scule-0.2.1.tgz#0c1dc847b18e07219ae9a3832f2f83224e2079dc" + integrity sha512-M9gnWtn3J0W+UhJOHmBxBTwv8mZCan5i1Himp60t6vvZcor0wr+IM0URKmIglsWJ7bRujNAVVN77fp+uZaWoKg== section-matter@^1.0.0: version "1.0.0" @@ -16015,15 +15838,10 @@ select-hose@^2.0.0: resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= -select@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" - integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0= - selfsigned@^1.10.8: - version "1.10.8" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" - integrity sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w== + version "1.10.11" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.11.tgz#24929cd906fe0f44b6d01fb23999a739537acbe9" + integrity sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA== dependencies: node-forge "^0.10.0" @@ -16040,9 +15858,9 @@ semver-diff@^3.1.1: semver "^6.3.0" semver-regex@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.2.tgz#34b4c0d361eef262e07199dbef316d0f2ab11807" - integrity sha512-bXWyL6EAKOJa81XG1OZ/Yyuq+oT0b2YLlxx7c+mrdYPaPbnj6WgVULXhinMIeZGufuUBu/eVRqXEhiv4imfwxA== + version "3.1.3" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.3.tgz#b2bcc6f97f63269f286994e297e229b6245d0dc3" + integrity sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ== "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.1.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: version "5.7.1" @@ -16125,11 +15943,11 @@ serve-index@^1.9.1: parseurl "~1.3.2" serve-placeholder@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/serve-placeholder/-/serve-placeholder-1.2.3.tgz#d2e778c6fedfe6e6ca48aff0b4627bbe2c4aa2ca" - integrity sha512-DC7t66WeIrlVzVMzickfHIn1zHu7eMsVNiH0nkD/wCrijFQdvgyfH2zc5lkFf79EApUgRhZntkpKjfgLkn2i/Q== + version "1.2.4" + resolved "https://registry.yarnpkg.com/serve-placeholder/-/serve-placeholder-1.2.4.tgz#513eac9c435272c7fe9a86612c852ae9b1467fd4" + integrity sha512-jWD9cZXLcr4vHTTL5KEPIUBUYyOWN/z6v/tn0l6XxFhi9iqV3Fc5Y1aFeduUyz+cx8sALzGCUczkPfeOlrq9jg== dependencies: - defu "^3.2.2" + defu "^5.0.0" serve-static@1.14.1, serve-static@^1.14.1: version "1.14.1" @@ -16255,9 +16073,9 @@ sigmund@^1.0.1: integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + version "3.0.5" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.5.tgz#9e3e8cc0c75a99472b44321033a7702e7738252f" + integrity sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ== signedsource@^1.0.0: version "1.0.0" @@ -16286,31 +16104,31 @@ simple-swizzle@^0.2.2: is-arrayish "^0.3.1" simplebar-vue@^1.4.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/simplebar-vue/-/simplebar-vue-1.6.0.tgz#e64bed8d553b4731e73f85f41d0add9ebdac1988" - integrity sha512-O43JuN0eeI2kfspm+BME8DmfFKLkiOYRaMlGoTOExjiUHVrrGdXnyxRjewCWCSTfBTKy4tACv+mdrYfVxLZdBQ== + version "1.6.8" + resolved "https://registry.yarnpkg.com/simplebar-vue/-/simplebar-vue-1.6.8.tgz#ba6d6dc0e61d07f5bcb84f4bd8e3187c39452ff2" + integrity sha512-rykHqyDxeylI3z2NOAsiD+rhcx+cfiOrfnIotDJFC8FqoO4jyJMEN8Q+61PTMOfVJA0oSWFZySlagCH6lG+5qQ== dependencies: core-js "^3.0.1" - simplebar "^5.3.0" + simplebar "^5.3.6" -simplebar@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/simplebar/-/simplebar-5.3.0.tgz#857de63296401ed0c3026845514fe5db69795be5" - integrity sha512-LgrGdIWpwHLLlI9HqfnGql62H/iZlF0KDZ7w3ZNbd2ZLwh9NKsODLHPzQgUlqQ8aZe7Y6/1xJMXK1PU5e810+w== +simplebar@^5.3.6: + version "5.3.6" + resolved "https://registry.yarnpkg.com/simplebar/-/simplebar-5.3.6.tgz#d9383576a09a6fd09e19543f8e9906a3e87c3896" + integrity sha512-FJUMbV+hNDd/m+1/fvD41TXKd5mSdlI5zgBygkaQIV3SffNbcLhSbJT6ufTs8ZNRLJ6i+qc/KCFMqWmvlGWMhA== dependencies: + "@juggle/resize-observer" "^3.3.1" can-use-dom "^0.1.0" core-js "^3.0.1" lodash.debounce "^4.0.8" lodash.memoize "^4.1.2" lodash.throttle "^4.1.1" - resize-observer-polyfill "^1.5.1" sirv@^1.0.7: - version "1.0.11" - resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.11.tgz#81c19a29202048507d6ec0d8ba8910fda52eb5a4" - integrity sha512-SR36i3/LSWja7AJNRBz4fF/Xjpn7lQFI30tZ434dIy+bitLYSP+ZEenHg36i23V2SGEz+kqjksg0uOGZ5LPiqg== + version "1.0.17" + resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.17.tgz#86e2c63c612da5a1dace1c16c46f524aaa26ac45" + integrity sha512-qx9go5yraB7ekT7bCMqUHJ5jEaOC/GXBxUWv+jeWnb7WzHUFdcQPGWk7YmAwFBaQBrogpuSqd/azbC2lZRqqmw== dependencies: - "@polka/url" "^1.0.0-next.9" + "@polka/url" "^1.0.0-next.20" mime "^2.3.1" totalist "^1.0.0" @@ -16363,9 +16181,9 @@ slide@^1.1.6: integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= smart-buffer@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba" - integrity sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw== + version "4.2.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== smoothscroll-polyfill@^0.4.3: version "0.4.4" @@ -16403,16 +16221,16 @@ snapdragon@^0.8.1: use "^3.1.0" sockjs-client@^1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.1.tgz#256908f6d5adfb94dabbdbd02c66362cca0f9ea6" - integrity sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ== + version "1.5.2" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.2.tgz#4bc48c2da9ce4769f19dc723396b50f5c12330a3" + integrity sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ== dependencies: debug "^3.2.6" eventsource "^1.0.7" faye-websocket "^0.11.3" inherits "^2.0.4" json3 "^3.3.3" - url-parse "^1.5.1" + url-parse "^1.5.3" sockjs@^0.3.21: version "0.3.21" @@ -16469,10 +16287,10 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.17, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.19: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== +source-map-support@^0.5.17, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.20: + version "0.5.20" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" + integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -16536,9 +16354,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.7" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65" - integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== + version "3.0.10" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz#0d9becccde7003d6c658d487dd48a32f0bf3014b" + integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA== spdy-transport@^3.0.0: version "3.0.0" @@ -16673,11 +16491,11 @@ std-env@^1.1.0: is-ci "^1.1.0" std-env@^2.2.1, std-env@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-2.3.0.tgz#66d4a4a4d5224242ed8e43f5d65cfa9095216eee" - integrity sha512-4qT5B45+Kjef2Z6pE0BkskzsH0GO7GrND0wGlTM1ioUe3v0dGYx9ZJH0Aro/YyA8fqQ5EyIKDRjZojJYMFTflw== + version "2.3.1" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-2.3.1.tgz#d42271908819c243f8defc77a140fc1fcee336a1" + integrity sha512-eOsoKTWnr6C8aWrqJJ2KAReXoa7Vn5Ywyw6uCXgA/xDhxPoaIsBa5aNJmISY04dLwXPBnDHW4diGM7Sn5K4R/g== dependencies: - ci-info "^3.0.0" + ci-info "^3.1.1" stdout-stream@^1.4.0: version "1.4.1" @@ -16798,14 +16616,14 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" - integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" + strip-ansi "^6.0.1" string.prototype.trimend@^1.0.4: version "1.0.4" @@ -16867,12 +16685,12 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: - ansi-regex "^5.0.0" + ansi-regex "^5.0.1" strip-bom-string@^1.0.0: version "1.0.0" @@ -17078,26 +16896,44 @@ syntax-error@^1.1.1: dependencies: acorn-node "^1.2.0" -table@^6.0.4: - version "6.1.0" - resolved "https://registry.yarnpkg.com/table/-/table-6.1.0.tgz#676a0cfb206008b59e783fcd94ef8ba7d67d966c" - integrity sha512-T4G5KMmqIk6X87gLKWyU5exPpTjLjY5KyrFWaIjv3SvgaIUGXV7UEzGEnZJdTA38/yUS6f9PlKezQ0bYXG3iIQ== +table@^6.0.9: + version "6.7.2" + resolved "https://registry.yarnpkg.com/table/-/table-6.7.2.tgz#a8d39b9f5966693ca8b0feba270a78722cbaf3b0" + integrity sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g== dependencies: ajv "^8.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" lodash.clonedeep "^4.5.0" - lodash.flatten "^4.4.0" lodash.truncate "^4.4.2" slice-ansi "^4.0.0" - string-width "^4.2.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" tapable@^1.0.0, tapable@^1.0.0-beta.5, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== +tar-fs@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + +tar-stream@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + tar@^2.0.0: version "2.2.2" resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" @@ -17108,22 +16944,22 @@ tar@^2.0.0: inherits "2" tar@^4.4.10, tar@^4.4.12, tar@^4.4.8: - version "4.4.13" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" - integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== + version "4.4.19" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" + integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.8.6" - minizlib "^1.2.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.3" + chownr "^1.1.4" + fs-minipass "^1.2.7" + minipass "^2.9.0" + minizlib "^1.3.3" + mkdirp "^0.5.5" + safe-buffer "^5.2.1" + yallist "^3.1.1" tar@^6.0.2: - version "6.1.0" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83" - integrity sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA== + version "6.1.11" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" + integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" @@ -17206,13 +17042,13 @@ terser@^4.1.2, terser@^4.3.9, terser@^4.6.2, terser@^4.6.3: source-map-support "~0.5.12" terser@^5.3.4: - version "5.6.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.6.1.tgz#a48eeac5300c0a09b36854bf90d9c26fb201973c" - integrity sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw== + version "5.9.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.9.0.tgz#47d6e629a522963240f2b55fcaa3c99083d2c351" + integrity sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ== dependencies: commander "^2.20.0" source-map "~0.7.2" - source-map-support "~0.5.19" + source-map-support "~0.5.20" test-exclude@^5.2.3: version "5.2.3" @@ -17248,10 +17084,10 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" -thread-loader@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/thread-loader/-/thread-loader-3.0.3.tgz#c0fa0eae3b925f273a7cce868cf1f52b4a515d78" - integrity sha512-/s8dGDkKLF89qAsn2b0PNdXS68pKhj+/Rqd7YDht/OvTlBoMm0FAsndceowSX1GEKVLo8yKRil9e+W0PpI/q1g== +thread-loader@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/thread-loader/-/thread-loader-3.0.4.tgz#c392e4c0241fbc80430eb680e4886819b504a31b" + integrity sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA== dependencies: json-parse-better-errors "^1.0.2" loader-runner "^4.1.0" @@ -17326,11 +17162,6 @@ timsort@^0.3.0, timsort@~0.3.0: resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= -tiny-emitter@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" - integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q== - tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -17346,9 +17177,9 @@ tmp@~0.2.1: rimraf "^3.0.0" tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== to-arraybuffer@^1.0.0: version "1.0.1" @@ -17437,6 +17268,11 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" @@ -17448,14 +17284,9 @@ trim-newlines@^2.0.0: integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= trim-newlines@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.0.tgz#79726304a6a898aa8373427298d54c2ee8b1cb30" - integrity sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA== - -trim-off-newlines@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" - integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== "true-case-path@^1.0.2": version "1.0.3" @@ -17484,9 +17315,9 @@ ts-invariant@^0.8.0: tslib "^2.1.0" ts-invariant@^0.9.0: - version "0.9.1" - resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.9.1.tgz#87dfde9894a4ce3c7711b02b1b449e7fd7384b13" - integrity sha512-hSeYibh29ULlHkuEfukcoiyTct+s2RzczMLTv4x3NWC/YrBy7x7ps5eYq/b4Y3Sb9/uAlf54+/5CAEMVxPhuQw== + version "0.9.3" + resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.9.3.tgz#4b41e0a80c2530a56ce4b8fd4e14183aaac0efa8" + integrity sha512-HinBlTbFslQI0OHP07JLsSXPibSegec6r9ai5xxq/qHYCsIQbzpymLpDhAUsnXcSrDEcd0L62L8vsOEdzM0qlA== dependencies: tslib "^2.1.0" @@ -17507,9 +17338,9 @@ ts-jest@^24.2.0: yargs-parser "10.x" ts-loader@^8.0.17, ts-loader@^8.0.3: - version "8.1.0" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.1.0.tgz#d6292487df279c7cc79b6d3b70bb9d31682b693e" - integrity sha512-YiQipGGAFj2zBfqLhp28yUvPP9jUGqHxRzrGYuc82Z2wM27YIHbElXiaZDc93c3x0mz4zvBmS6q/DgExpdj37A== + version "8.3.0" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.3.0.tgz#83360496d6f8004fab35825279132c93412edf33" + integrity sha512-MgGly4I6cStsJy27ViE32UoqxPTN9Xly4anxxVyaIWR+9BGxboV4EyJBGfR3RePV7Ksjj3rHmPZJeIt+7o4Vag== dependencies: chalk "^4.1.0" enhanced-resolve "^4.0.0" @@ -17533,10 +17364,10 @@ ts-pnp@^1.1.6: resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== -tsconfig-paths@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" - integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== +tsconfig-paths@^3.11.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz#954c1fe973da6339c78e06b03ce2e48810b65f36" + integrity sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.1" @@ -17553,12 +17384,7 @@ tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c" - integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== - -tslib@^2.3.0: +tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@~2.3.0: version "2.3.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== @@ -17568,7 +17394,12 @@ tslib@~2.0.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== -tsutils@^3.17.1: +tslib@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c" + integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== + +tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== @@ -17662,39 +17493,34 @@ typedarray@^0.0.6: integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= typescript@^3.6.4: - version "3.9.9" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.9.tgz#e69905c54bc0681d0518bd4d587cc6f2d0b1a674" - integrity sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w== + version "3.9.10" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" + integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== + +typescript@^4.2.2, typescript@~4.4.2: + version "4.4.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.3.tgz#bdc5407caa2b109efd4f82fe130656f977a29324" + integrity sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA== -typescript@^4.2.2, typescript@~4.2: +typescript@~4.2: version "4.2.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== -typescript@~4.3.5: - version "4.3.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4" - integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA== - -ua-parser-js@^0.7.18: +ua-parser-js@^0.7.18, ua-parser-js@^0.7.28: version "0.7.28" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.28.tgz#8ba04e653f35ce210239c64661685bf9121dec31" integrity sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g== -ua-parser-js@^0.7.26: - version "0.7.27" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.27.tgz#b54f8ce9eb6c7abf3584edeaf9a3d8b3bd92edba" - integrity sha512-eXMaRYK2skomGocoX0x9sBXzx5A1ZVQgXfrW4mTc8dT0zS7olEcyfudAzRC5tIIRgLxQ69B6jut3DI+n5hslPA== - uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== -ufo@^0.6.10, ufo@^0.6.11: - version "0.6.11" - resolved "https://registry.yarnpkg.com/ufo/-/ufo-0.6.11.tgz#69311ed4abc8ab671c83754b79ce0d396fea1075" - integrity sha512-Yu7TJThwlr23peOkX/+hm6LfkyBs+eDWV880468PTrjKBKjjsNWFFwIuOqDfmXngRo9TZ4+twFYueRH0OLl0Gw== +ufo@^0.7.4, ufo@^0.7.7: + version "0.7.9" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-0.7.9.tgz#0268e3734b413c9ed6f3510201f42372821b875c" + integrity sha512-6t9LrLk3FhqTS+GW3IqlITtfRB5JAVr5MMNjpBECfK827W+Vh5Ilw/LhTcHWrt6b3hkeBvcbjx4Ti7QVFzmcww== uglify-js@3.4.x: version "3.4.10" @@ -17705,9 +17531,9 @@ uglify-js@3.4.x: source-map "~0.6.1" uglify-js@^3.1.4, uglify-js@^3.5.1: - version "3.13.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.4.tgz#592588bb9f47ae03b24916e2471218d914955574" - integrity sha512-kv7fCkIXyQIilD5/yQy8O+uagsYIOt5cZvs890W40/e/rvjMSzJw81o9Bg0tkURxzZBROtDQhW2LFjOGoK3RZw== + version "3.14.2" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.2.tgz#d7dd6a46ca57214f54a2d0a43cad0f35db82ac99" + integrity sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A== uid-number@0.0.6: version "0.0.6" @@ -17724,7 +17550,7 @@ umd@^3.0.0: resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.3.tgz#aa9fe653c42b9097678489c01000acb69f0b26cf" integrity sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow== -unbox-primitive@^1.0.0: +unbox-primitive@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== @@ -17734,6 +17560,14 @@ unbox-primitive@^1.0.0: has-symbols "^1.0.2" which-boxed-primitive "^1.0.2" +unbzip2-stream@^1.3.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" + integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== + dependencies: + buffer "^5.2.1" + through "^2.3.8" + undeclared-identifiers@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz#9254c1d37bdac0ac2b52de4b6722792d2a91e30f" @@ -17750,28 +17584,28 @@ unfetch@^4.2.0: resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be" integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" -unicode-match-property-value-ecmascript@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" - integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== +unicode-match-property-value-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" + integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== -unicode-property-aliases-ecmascript@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" - integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== +unicode-property-aliases-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" + integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== union-value@^1.0.0: version "1.0.1" @@ -17942,10 +17776,10 @@ url-parse-lax@^3.0.0: dependencies: prepend-http "^2.0.0" -url-parse@^1.4.3, url-parse@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b" - integrity sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q== +url-parse@^1.4.3, url-parse@^1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862" + integrity sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ== dependencies: querystringify "^2.1.1" requires-port "^1.0.0" @@ -18080,6 +17914,11 @@ validator@^8.0.0: resolved "https://registry.yarnpkg.com/validator/-/validator-8.2.0.tgz#3c1237290e37092355344fef78c231249dab77b9" integrity sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA== +value-or-promise@1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.10.tgz#5bf041f1e9a8e7043911875547636768a836e446" + integrity sha512-1OwTzvcfXkAfabk60UVr5NdjtjJ0Fg0T5+B1bhxtrOEwSH2fe8y4DnLgoksfCyd8yZCOQQHB0qLMQnwgCjbXLQ== + value-or-promise@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.6.tgz#218aa4794aa2ee24dcf48a29aba4413ed584747f" @@ -18091,9 +17930,9 @@ vary@^1, vary@^1.1.2, vary@~1.1.2: integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= vee-validate@^3.2.3: - version "3.4.5" - resolved "https://registry.yarnpkg.com/vee-validate/-/vee-validate-3.4.5.tgz#96a456c309f7bdb2cce62c3b554f96d893e9f6ae" - integrity sha512-ZEcLqOAZzSkMhDvPcTx0xcwVOijFnMW9J+BA20j+rDmo24T8RCCqVQyRwwrDrcWJZV2dRYl/yYNa2GB6UCoBvg== + version "3.4.13" + resolved "https://registry.yarnpkg.com/vee-validate/-/vee-validate-3.4.13.tgz#886ffe90778edde9c2f0c3ad94bfab3fe8079f31" + integrity sha512-ONnyRixpd0/JOGLuN8dlxFwLoT5FGq5ti1w4rx/zFZWaJZ1EefhfAbXkQvLwLhjU6izkfHyITXojW/7InOU3Tw== vendors@^1.0.0: version "1.0.4" @@ -18115,9 +17954,9 @@ vm-browserify@^1.0.0, vm-browserify@^1.0.1: integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== vue-client-only@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/vue-client-only/-/vue-client-only-2.0.0.tgz#ddad8d675ee02c761a14229f0e440e219de1da1c" - integrity sha512-arhk1wtWAfLsJyxGMoEYhoBowM87/i6HLSG2LH/03Yog6i2d9JEN1peMP0Ceis+/n9DxdenGYZZTxbPPJyHciA== + version "2.1.0" + resolved "https://registry.yarnpkg.com/vue-client-only/-/vue-client-only-2.1.0.tgz#1a67a47b8ecacfa86d75830173fffee3bf8a4ee3" + integrity sha512-vKl1skEKn8EK9f8P2ZzhRnuaRHLHrlt1sbRmazlvsx6EiC3A8oWF8YCBrMJzoN+W3OnElwIGbVjsx6/xelY1AA== vue-drag-drop@^1.1.4: version "1.1.4" @@ -18126,17 +17965,18 @@ vue-drag-drop@^1.1.4: dependencies: core-js "^2.5.3" -vue-eslint-parser@^7.0.0, vue-eslint-parser@^7.6.0: - version "7.6.0" - resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.6.0.tgz#01ea1a2932f581ff244336565d712801f8f72561" - integrity sha512-QXxqH8ZevBrtiZMZK0LpwaMfevQi9UL7lY6Kcp+ogWHC88AuwUPwwCIzkOUc1LR4XsYAt/F9yHXAB/QoD17QXA== +vue-eslint-parser@^7.0.0, vue-eslint-parser@^7.10.0: + version "7.11.0" + resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz#214b5dea961007fcffb2ee65b8912307628d0daf" + integrity sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg== dependencies: debug "^4.1.1" - eslint-scope "^5.0.0" + eslint-scope "^5.1.1" eslint-visitor-keys "^1.1.0" espree "^6.2.1" esquery "^1.4.0" - lodash "^4.17.15" + lodash "^4.17.21" + semver "^6.3.0" vue-fragment@^1.5.1: version "1.5.2" @@ -18148,10 +17988,10 @@ vue-hot-reload-api@^2.3.0: resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== -vue-i18n@^8.24.3: - version "8.24.3" - resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-8.24.3.tgz#2233ae11ec59e8204df58a28fc41afe9754e3b41" - integrity sha512-uKAYzGbwGIJndY7JwhQwIGi1uyvErWkBfFwooOtjcNnIfMbAR49ad5dT/MiykrJ9pCcgvnocFjFsNLtTzyW+rg== +vue-i18n@^8.25.0: + version "8.26.5" + resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-8.26.5.tgz#b61e994e7ae83564c6aebd004543156bbdc7c7e9" + integrity sha512-qYqfsFd8v2QFSLDAabqXXXpwjGvkuqJtTWqRpZPXpAFO6PArGH4A9vSplnA0HLmnB8km7OB5ZSdP8lkkX0rLew== vue-jest@^4.0.0-0: version "4.0.1" @@ -18169,10 +18009,10 @@ vue-lazy-hydration@^2.0.0-beta.4: resolved "https://registry.yarnpkg.com/vue-lazy-hydration/-/vue-lazy-hydration-2.0.0-beta.4.tgz#11e7021a9bac003ea6ed74f132dcd0d025fafc1f" integrity sha512-bhr7AxzrSEPed4cOawIeCxJmR8pglberR78x1zs0886xR+47/EXE9s0Ezss90CPINo8ApzUfA/r+SbNffn+t9w== -vue-loader@^15.7.1, vue-loader@^15.9.6: - version "15.9.6" - resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.6.tgz#f4bb9ae20c3a8370af3ecf09b8126d38ffdb6b8b" - integrity sha512-j0cqiLzwbeImIC6nVIby2o/ABAWhlppyL/m5oJ67R5MloP0hj/DtFgb0Zmq3J9CG7AJ+AXIvHVnJAPBvrLyuDg== +vue-loader@^15.7.1, vue-loader@^15.9.7: + version "15.9.8" + resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.8.tgz#4b0f602afaf66a996be1e534fb9609dc4ab10e61" + integrity sha512-GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog== dependencies: "@vue/component-compiler-utils" "^3.1.0" hash-sum "^1.0.2" @@ -18198,9 +18038,9 @@ vue-no-ssr@^1.1.1: integrity sha512-ZMjqRpWabMPqPc7gIrG0Nw6vRf1+itwf0Itft7LbMXs2g3Zs/NFmevjZGN1x7K3Q95GmIjWbQZTVerxiBxI+0g== vue-router@^3.4.5, vue-router@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.5.1.tgz#edf3cf4907952d1e0583e079237220c5ff6eb6c9" - integrity sha512-RRQNLT8Mzr8z7eL4p7BtKvRaTSGdCbTy2+Mm5HTJvLGYSSeG9gDzNasJPP/yOYKLy+/cLG/ftrqq5fvkFwBJEw== + version "3.5.2" + resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.5.2.tgz#5f55e3f251970e36c3e8d88a7cd2d67a350ade5c" + integrity sha512-807gn82hTnjCYGrnF3eNmIw/dk7/GE4B5h69BlyCK9KHASwSloD1Sjcn06zg9fVG4fYH2DrsNBZkpLtb25WtaQ== vue-scrollto@^2.17.1: version "2.20.0" @@ -18210,9 +18050,9 @@ vue-scrollto@^2.17.1: bezier-easing "2.1.0" vue-server-renderer@^2.6.10, vue-server-renderer@^2.6.12: - version "2.6.12" - resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.6.12.tgz#a8cb9c49439ef205293cb41c35d0d2b0541653a5" - integrity sha512-3LODaOsnQx7iMFTBLjki8xSyOxhCtbZ+nQie0wWY4iOVeEtTg1a3YQAjd82WvKxrWHHTshjvLb7OXMc2/dYuxw== + version "2.6.14" + resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.6.14.tgz#c8bffff152df6b47b858818ef8d524d2fc351654" + integrity sha512-HifYRa/LW7cKywg9gd4ZtvtRuBlstQBao5ZCWlg40fyB4OPoGfEXAzxb0emSLv4pBDOHYx0UjpqvxpiQFEuoLA== dependencies: chalk "^1.1.3" hash-sum "^1.0.2" @@ -18231,10 +18071,10 @@ vue-style-loader@^4.1.0, vue-style-loader@^4.1.3: hash-sum "^1.0.2" loader-utils "^1.0.2" -vue-template-compiler@^2.6.10, vue-template-compiler@^2.6.12, vue-template-compiler@^2.6.x: - version "2.6.12" - resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz#947ed7196744c8a5285ebe1233fe960437fcc57e" - integrity sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg== +vue-template-compiler@^2.6.10, vue-template-compiler@^2.6.12, vue-template-compiler@^2.6.14, vue-template-compiler@^2.6.x: + version "2.6.14" + resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz#a2f0e7d985670d42c9c9ee0d044fed7690f4f763" + integrity sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g== dependencies: de-indent "^1.0.2" he "^1.1.0" @@ -18245,14 +18085,14 @@ vue-template-es2015-compiler@^1.9.0: integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== vue2-leaflet@^2.5.2: - version "2.7.0" - resolved "https://registry.yarnpkg.com/vue2-leaflet/-/vue2-leaflet-2.7.0.tgz#e8a78671b8fa843ab19cfd93582bc166a05ec3ed" - integrity sha512-uT7lpFoVEDhINMyTpiAthh6aiKFGHuYWLoVH8JJ0YNNSch+XMZFl4YBQ0S2hHYDquQIsh8zx+yINeUI01y9ugw== + version "2.7.1" + resolved "https://registry.yarnpkg.com/vue2-leaflet/-/vue2-leaflet-2.7.1.tgz#2f95c287621bf778f10804c88223877f5c049257" + integrity sha512-K7HOlzRhjt3Z7+IvTqEavIBRbmCwSZSCVUlz9u4Rc+3xGCLsHKz4TAL4diAmfHElCQdPPVdZdJk8wPUt2fu6WQ== vue@^2.6.10, vue@^2.6.11, vue@^2.6.12, vue@^2.6.x: - version "2.6.12" - resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.12.tgz#f5ebd4fa6bd2869403e29a896aed4904456c9123" - integrity sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg== + version "2.6.14" + resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.14.tgz#e51aa5250250d569a3fbad3a8a5a687d6036e235" + integrity sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ== vuepress-html-webpack-plugin@^3.2.0: version "3.2.0" @@ -18358,6 +18198,11 @@ wcwidth@^1.0.0: dependencies: defaults "^1.0.3" +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" @@ -18382,10 +18227,10 @@ webpack-bundle-analyzer@^3.5.2: opener "^1.5.1" ws "^6.0.0" -webpack-bundle-analyzer@^4.4.0: - version "4.4.1" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.1.tgz#c71fb2eaffc10a4754d7303b224adb2342069da1" - integrity sha512-j5m7WgytCkiVBoOGavzNokBOqxe6Mma13X1asfVYtKWM3wxBiRRu1u1iG0Iol5+qp9WgyhkMmBAcvjEfJ2bdDw== +webpack-bundle-analyzer@^4.4.1: + version "4.4.2" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz#39898cf6200178240910d629705f0f3493f7d666" + integrity sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ== dependencies: acorn "^8.0.4" acorn-walk "^8.0.0" @@ -18424,15 +18269,15 @@ webpack-dev-middleware@^3.7.2: range-parser "^1.2.1" webpack-log "^2.0.0" -webpack-dev-middleware@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-4.1.0.tgz#f0c1f12ff4cd855b3b5eec89ee0f69bcc5336364" - integrity sha512-mpa/FY+DiBu5+r5JUIyTCYWRfkWgyA3/OOE9lwfzV9S70A4vJYLsVRKj5rMFEsezBroy2FmPyQ8oBRVW8QmK1A== +webpack-dev-middleware@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-4.3.0.tgz#179cc40795882cae510b1aa7f3710cbe93c9333e" + integrity sha512-PjwyVY95/bhBh6VUqt6z4THplYcsvQ8YNNBTBM873xLVmw8FLeALn0qurHbs9EmcfhzQis/eoqypSnZeuUz26w== dependencies: - colorette "^1.2.1" - mem "^8.0.0" - memfs "^3.2.0" - mime-types "^2.1.28" + colorette "^1.2.2" + mem "^8.1.1" + memfs "^3.2.2" + mime-types "^2.1.30" range-parser "^1.2.1" schema-utils "^3.0.0" @@ -18476,14 +18321,14 @@ webpack-dev-server@^3.5.1: yargs "^13.3.2" webpack-hot-middleware@^2.25.0: - version "2.25.0" - resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz#4528a0a63ec37f8f8ef565cf9e534d57d09fe706" - integrity sha512-xs5dPOrGPCzuRXNi8F6rwhawWvQQkeli5Ro48PRuQh8pYPCPmNnltP9itiUPT4xI8oW+y0m59lyyeQk54s5VgA== + version "2.25.1" + resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.25.1.tgz#581f59edf0781743f4ca4c200fd32c9266c6cf7c" + integrity sha512-Koh0KyU/RPYwel/khxbsDz9ibDivmUbrRuKSSQvW42KSDdO4w23WI3SkHpSUKHE76LrFnnM/L7JCrpBwu8AXYw== dependencies: - ansi-html "0.0.7" - html-entities "^1.2.0" + ansi-html-community "0.0.8" + html-entities "^2.1.0" querystring "^0.2.0" - strip-ansi "^3.0.0" + strip-ansi "^6.0.0" webpack-log@^2.0.0: version "2.0.0" @@ -18500,10 +18345,10 @@ webpack-merge@^4.1.2: dependencies: lodash "^4.17.15" -webpack-node-externals@^2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-2.5.2.tgz#178e017a24fec6015bc9e672c77958a6afac861d" - integrity sha512-aHdl/y2N7PW2Sx7K+r3AxpJO+aDMcYzMQd60Qxefq3+EwhewSbTBqNumOsCE1JsCUNoyfGj5465N0sSf6hc/5w== +webpack-node-externals@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz#1a3407c158d547a9feb4229a9e3385b7b60c9917" + integrity sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ== webpack-sources@^1.0.1, webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: version "1.4.3" @@ -18601,6 +18446,14 @@ whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + whatwg-url@^6.4.1: version "6.5.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" @@ -18808,29 +18661,24 @@ ws@7.4.5: integrity sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g== ws@^5.2.0: - version "5.2.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" - integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== + version "5.2.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" + integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA== dependencies: async-limiter "~1.0.0" -"ws@^5.2.0 || ^6.0.0 || ^7.0.0": - version "7.5.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.2.tgz#09cc8fea3bec1bc5ed44ef51b42f945be36900f6" - integrity sha512-lkF7AWRicoB9mAgjeKbGqVUekLnSNO4VjKVnuPHpQeOxZOErX6BPXwJk70nFslRCEEA8EVW7ZjKwXaP9N+1sKQ== +"ws@^5.2.0 || ^6.0.0 || ^7.0.0", ws@^7.2.3, ws@^7.3.1: + version "7.5.5" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" + integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== ws@^6.0.0, ws@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" - integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== + version "6.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" + integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== dependencies: async-limiter "~1.0.0" -ws@^7.3.1: - version "7.4.4" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.4.tgz#383bc9742cb202292c9077ceab6f6047b17f2d59" - integrity sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw== - xdg-basedir@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" @@ -18863,7 +18711,7 @@ yallist@^2.1.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: +yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== @@ -18894,9 +18742,9 @@ yargs-parser@^13.1.2: decamelize "^1.2.0" yargs-parser@^15.0.1: - version "15.0.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.1.tgz#54786af40b820dcb2fb8025b11b4d659d76323b3" - integrity sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw== + version "15.0.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.3.tgz#316e263d5febe8b38eef61ac092b33dfcc9b1115" + integrity sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" @@ -18910,9 +18758,9 @@ yargs-parser@^18.1.2: decamelize "^1.2.0" yargs-parser@^20.2.3: - version "20.2.7" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" - integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== yargs@^13.2.2, yargs@^13.3.0, yargs@^13.3.2: version "13.3.2" @@ -19001,7 +18849,7 @@ zen-observable-ts@^0.8.21: tslib "^1.9.3" zen-observable "^0.8.0" -zen-observable-ts@^1.1.0: +zen-observable-ts@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.1.0.tgz#2d1aa9d79b87058e9b75698b92791c1838551f83" integrity sha512-1h4zlLSqI2cRLPJUHJFL8bCWHhkpuXkF+dbGkRaWjgDIG26DmzyshUMrdV/rL3UnR+mhaX4fRq8LPouq0MYYIA== From 6205daac28dd5e1e1c74dc459ead544ead588e4c Mon Sep 17 00:00:00 2001 From: Filip Sobol Date: Thu, 7 Oct 2021 09:12:09 +0200 Subject: [PATCH 36/53] 20210913 generate og image for docs (#6429) --- packages/core/docs/Dockerfile | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/packages/core/docs/Dockerfile b/packages/core/docs/Dockerfile index f0cab02fda..583397a835 100644 --- a/packages/core/docs/Dockerfile +++ b/packages/core/docs/Dockerfile @@ -1,9 +1,26 @@ -FROM node:12 AS build +# Docs require puppeteer / chromium to generate OpenGraph images. +# https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md#running-on-alpine + +FROM node:12-alpine AS build WORKDIR /var/www +# Installs latest Chromium (92) package. +RUN apk add --no-cache \ + chromium \ + nss \ + freetype \ + harfbuzz \ + ca-certificates \ + ttf-freefont \ + yarn + COPY . . +# Tell Puppeteer to skip installing Chrome. We'll be using the installed package. +ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \ + PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser + RUN yarn install \ && yarn build:ct:tools From 8513a2bdad4c3c61e989e7f47071195f7f8db3ab Mon Sep 17 00:00:00 2001 From: Filip Sobol Date: Thu, 7 Oct 2021 10:09:44 +0200 Subject: [PATCH 37/53] docs: add missing brackets (#6430) --- packages/core/docs/advanced/extending-graphql-queries.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/core/docs/advanced/extending-graphql-queries.md b/packages/core/docs/advanced/extending-graphql-queries.md index e304ad1088..c264b524b1 100644 --- a/packages/core/docs/advanced/extending-graphql-queries.md +++ b/packages/core/docs/advanced/extending-graphql-queries.md @@ -68,14 +68,14 @@ module.exports = { location: '@vue-storefront/commercetools-api/server', configuration: { /* ... */ }, customQueries: { - 'my-products-query': ({ variables }) => { + 'my-products-query': ({ variables }) => ({ query: ` query products($where: String) { products(where: $where) { /* ... */ } } `, variables, - } + }) } } } @@ -91,14 +91,14 @@ You can create a new file (or files) that exports the queries. Then, you can imp // customQueries/index.js module.exports = { - 'my-products-query': ({ variables }) => { + 'my-products-query': ({ variables }) => ({ query: ` query products($where: String) { products(where: $where) { /* ... */ } } `, variables, - }, + }), ... // other custom queries }; ``` From eb876c411ce6061a188672d4c76b7c16f93dd406 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20J=C4=99drasik?= Date: Fri, 8 Oct 2021 12:06:25 +0200 Subject: [PATCH 38/53] Docs: Adyen 1.1 (#6371) * docs: google pay * Apply suggestions from code review Co-authored-by: Filip Sobol * chore: adyen doc update * docs: update * Apply suggestions from code review Co-authored-by: Filip Sobol * docs: update after cr Co-authored-by: Fifciuu Co-authored-by: Filip Sobol --- packages/core/docs/integrations/adyen.md | 222 +++++++++++++++++++++-- 1 file changed, 203 insertions(+), 19 deletions(-) diff --git a/packages/core/docs/integrations/adyen.md b/packages/core/docs/integrations/adyen.md index 6089e6f77a..ae4d4d6266 100644 --- a/packages/core/docs/integrations/adyen.md +++ b/packages/core/docs/integrations/adyen.md @@ -101,6 +101,9 @@ adyen: { }, buildRedirectUrlAfterError (err) { return '/?server-error'; + }, + buildRedirectUrlIfMalformedPrice () { + return '/checkout/payment?adyen-err=malformed-price' } } } @@ -114,6 +117,7 @@ adyen: { * `buildRedirectUrlAfter3ds1Auth` - deprecated in favor of `buildRedirectUrlAfterAuth` * `buildRedirectUrlAfterError` - `(err: Error) => string` - A method that tells the server where to redirect the user if error has been thrown inside `cardAuthAfterRedirect` controller. * `buildRedirectUrlAfter3ds1Error` - deprecated in favor of `buildRedirectUrlAfterError` + * `buildRedirectUrlIfMalformedPrice` - `(err: Error) => string` - A method that tells the server where to redirect the user if the total price of the cart has changed during the 3DS1 Flow. In this case, you should redirect a user to the payment's view and ask to provide payment data once again with the updated price. ```ts type PaymentAndOrder = Payment & { order: Order } @@ -121,13 +125,13 @@ type PaymentAndOrder = Payment & { order: Order } 5. Add an `origin` to the allowed origins in Adyen's dashboard. You can do it in the same place where you looked for the `clientKey`. -6. commercetools shares [Adyen integration](https://github.com/commercetools/commercetools-adyen-integration). We recommend deploying it as a Google Function or an AWS Lambda. Make sure to configure and deploy both [extension](https://github.com/commercetools/commercetools-adyen-integration/tree/master/extension) and [notification](https://github.com/commercetools/commercetools-adyen-integration/tree/master/notification) module. Check readme of [the repository](https://github.com/commercetools/commercetools-adyen-integration) for details. +6. Commercetools shares [Adyen integration](https://github.com/commercetools/commercetools-adyen-integration). We recommend deploying it as a Google Function or an AWS Lambda. Make sure to configure and deploy both [extension](https://github.com/commercetools/commercetools-adyen-integration/tree/master/extension) and [notification](https://github.com/commercetools/commercetools-adyen-integration/tree/master/notification) module. Check readme of [the repository](https://github.com/commercetools/commercetools-adyen-integration) for details. -:::warning Bigger permissions for extensions -As you can see in `commercetools-adyen-integration` repository, commercetools recommends using `manage_project` scope for both notification and extension module. +:::warning Extensions need higher permissions +As you can see in the `commercetools-adyen-integration` repository, commercetools recommends using the `manage_project` scope for both notification and extension modules. ::: -7. Use `PaymentAdyenProvider.vue` as a last step of the checkout process. This component will mount Adyen's Web Drop-In and handle payment process for you. +7. Use `PaymentAdyenProvider.vue` as a last step of the checkout process. This component will mount Adyen's Web Drop In and handle payment process for you. ```vue { Configuration of PayPal is well-described in [Adyen's documentation](https://docs.adyen.com/payment-methods/paypal/web-drop-in). ### Klarna configuration -To enable Klarna, you have to add a new payment method in Adyen's dashboard. Then you should add specified methods to the `availablePaymentMethods` array in `nuxt.config.js`: +To use Klarna, you have to enable it in Adyen's dashboard. Then you should add specified methods to the `availablePaymentMethods` array in `nuxt.config.js`: ```js // nuxt.config.js @@ -169,16 +173,15 @@ export default { Read [Adyen's document about the Klarna](https://docs.adyen.com/payment-methods/klarna#supported-countries) to check which Klarna payment methods are available for individual countries. :::warning Email Address -Klarna requires the customer's email addresses. It will be read from `cart.customerEmail` with fallback to the `cart.customer.email` field. Make sure the e-mail address is available in one of these properties. +Klarna requires the shopper's email address to work correctly. It will be read from `cart.customerEmail` with fallback to the `cart.customer.email` field. Make sure to put it in one of these. ::: :::warning Phone number - -If your users provide a phone number, make sure it includes the **area code**. Otherwise, Klarna will throw an error because of the improper phone number format. +If your users can provide a phone number, make sure it includes the **area code**. Otherwise, Klarna will throw an error because of an improper phone number format. ::: ## Afterpay configuration -To enable Afterpay, you have to add a new payment method in Adyen's dashboard. Then add `afterpaytouch` to the `availablePaymentMethods` array in `nuxt.config.js`: +To use Afterpay, you have to enable it in Adyen's dashboard. Then you should add `afterpaytouch` to the `availablePaymentMethods` array in `nuxt.config.js`: ```js // nuxt.config.js @@ -195,12 +198,149 @@ export default { }; ``` -Read [Adyen's document about the Afterpay](https://docs.adyen.com/payment-methods/afterpaytouch) to check supported countries and currencies. +Read [Adyen's document about the Afterpay](https://docs.adyen.com/payment-methods/afterpaytouch) to check which countries and currencies are supported. :::warning Email Address -Afterpay requires the customer's email addresses. It will be read from `cart.customerEmail` with fallback to the `cart.customer.email` field. Make sure the e-mail address is available in one of these properties. +Afterpay requires the shopper's email address to work correctly. It will be read from `cart.customerEmail` with fallback to the `cart.customer.email` field. Make sure to put it in one of these. ::: +## Apple Pay configuration + +To use Apple Pay, you have to enable it in Adyen's dashboard. Then, in the `nuxt.config.js` file add `applepay` to the `availablePaymentMethods` array: + +```js +// nuxt.config.js +export default { + modules: [ + ['@vsf-enterprise/adyen/nuxt', { + availablePaymentMethods: [ + 'scheme', + 'applepay' + ], + // ... + }] + ] +}; +``` + +:::warning +For Apple Pay via Adyen there are two approaches. + +1. Adyen's Apple Pay certificate approach (supported): where developer can reuse certificate obtained by Adyen for Apple Pay +2. Own Apple Pay certificate approach (not supported yet): where developer has to gain dedicated certificate from Apple's in order to use it for Apple Pay +::: + +Read [Adyen's document about Apple Pay](https://docs.adyen.com/payment-methods/apple-pay/web-drop-in?tab=adyen-certificate-config_1#configure) to check available configuration options, learn how to test this payment method and how to use Adyen's certificate in a live environment. + +To pass additional configuration options for Apple Pay, use the `methods.applepay` property. E.g.: + +```js +// nuxt.config.js +export default { + modules: [ + ['@vsf-enterprise/adyen/nuxt', { + availablePaymentMethods: [ + 'scheme', + 'applepay' + ], + methods: { + applepay: { + buttonColor: 'white-with-line' + } + } + // ... + }] + ] +}; +``` + +## Google Pay configuration + +To use Google Pay, you have to enable it in Adyen's dashboard. Then, in the `nuxt.config.js` file add `paywithgoogle` to the `availablePaymentMethods` array: + +```js +// nuxt.config.js +export default { + modules: [ + ['@vsf-enterprise/adyen/nuxt', { + availablePaymentMethods: [ + 'scheme', + 'paywithgoogle' + ], + // ... + }] + ] +}; +``` + +Read [Adyen's document about Google Pay](https://docs.adyen.com/payment-methods/google-pay/web-drop-in?tab=version_3_13_0_and_later_1#configure) to check available configuration options and learn how to test this payment method. + +To pass additional configuration options for Google Pay, use the `methods.paywithgoogle` property. E.g.: + +```js +// nuxt.config.js +export default { + modules: [ + ['@vsf-enterprise/adyen/nuxt', { + availablePaymentMethods: [ + 'scheme', + 'paywithgoogle' + ], + methods: { + paywithgoogle: { + buttonColor: 'white' + } + } + // ... + }] + ] +}; +``` + +## ZIP configuration + +To use ZIP, you have to enable it in Adyen's dashboard. Then, in the `nuxt.config.js` file add `zip` to the `availablePaymentMethods` array: + +```js +// nuxt.config.js +export default { + modules: [ + ['@vsf-enterprise/adyen/nuxt', { + availablePaymentMethods: [ + 'scheme', + 'zip' + ], + // ... + }] + ] +}; +``` + +:::warning +Conditions to make ZIP work correctly: +- User is from Australia +- Currency is AUD +::: + +```js +// nuxt.config.js +export default { + modules: [ + ['@vsf-enterprise/adyen/nuxt', { + availablePaymentMethods: [ + 'scheme', + 'paywithgoogle' + ], + methods: { + paywithgoogle: { + buttonColor: 'white' + } + } + // ... + }] + ] +}; +``` ## API `@vsf-enterprise/adyen` exports a *useAdyen* composable. @@ -223,10 +363,10 @@ interface AdyenError { ``` #### Methods -* `createContext` - Loads a cart, then fetching available payment methods for the loaded cart. In the end, a method stores a response inside `paymentObject`. +* `createContext` - Loads a cart, then fetching available payment methods for the loaded cart. At the end, a method stores a response inside `paymentObject`. * `buildDropinConfiguration` - `(config: AdyenConfigBuilder): any` - Builds a configuration object for Adyen's Web Drop-In. -* `payAndOrder` - Setting value of the custom field called `makePaymentRequest` in the commercetools' payment object. commercetools will send it to the Adyen and give you the response. As the last step, a method is storing a response inside the `paymentObject`. -* `submitAdditionalPaymentDetails` - Setting value of the custom field `submitAdditionalPaymentDetailsRequest` in the commercetools' payment. The commercetools servers will send it to the Adyen and give you the response. As the last step, a method is storing a response inside the `paymentObject`. +* `payAndOrder` - Setting value of the custom field called `makePaymentRequest` in the commercetools' payment object. Commercetools will send it to the Adyen and give you the response. As the last step, a method is storing a response inside the `paymentObject`. +* `submitAdditionalPaymentDetails` - Setting value of the custom field `submitAdditionalPaymentDetailsRequest` in the commercetools' payment. Commercetools will send it to the Adyen and give you the response. As the last step, a method is storing a response inside the `paymentObject`. ```ts interface AdyenConfigBuilder { @@ -247,7 +387,7 @@ interface AdyenConfigBuilder { * `onError` - `(data: { action: string, error: Error | string }) => void` - Called after we got an error from either Adyen or our API. ## Placing an order -If the transaction is authorized, the server's controller for `payAndOrder`/`submitAdditionalPaymentDetails` will place an order in commercetools and apply the `order` object to the response. Thanks to that, we have only one request from the client to both finalize/authorize the payment and make an order. +If the transaction is authorized, the server's controller for `payAndOrder`/`submitAdditionalPaymentDetails` will place an order in commercetools and apply the `order` object to the response. Thanks to that, we have only one client request to finalize/authorize payment and make an order. ## Checkout.com Adyen's module isn't compatible with [Checkout.com's module](https://github.com/vuestorefront/checkout-com). @@ -262,17 +402,61 @@ Open the `Network` tab in the browser's devtools. Each payment request will have `ctApi.apiHost` property inside your `middleware.config.js` contains wrong path. It should be `https://.com/` instead of `https://.com//graphql` ### Error: The type with the key 'ctp-adyen-integration-web-components-payment-type' was not found -You have to add new types and extensions to commercetools as described on these pages: +You have to add new types and extension to commercetools as described on these pages: - [Extension Module](https://github.com/commercetools/commercetools-adyen-integration/blob/master/extension/docs/HowToRun.md#commercetools-project-requirements), - [Notification Module](https://github.com/commercetools/commercetools-adyen-integration/blob/master/notification/docs/HowToRun.md#commercetools-project-requirements). For more information, see the 6th step of the [Adyen's installation guide](./adyen.html#installation). -### Klarna Pay Later does not work for the United States +### Klarna Pay Later does not work for United States Klarna Pay Later is not supported in the United States. However, sometimes it is added when you enable Klarna in Adyen's dashboard. If you have this problem, contact Adyen's support to remove it. ### 3DS2 Auth doesn't work in one environment -There might be a situation when you can finish 3DS2 Auth in the local environment but not in the other, like staging. When this happens, make sure to change `origin` in the `middleware.config.js` from `http://localhost:3000` to the URL of your staging environment. +There might be a situation when you can finish 3DS2 Auth in the local environment but not in the other, like staging. When this happens, make sure to change `origin` in the `middleware.config.js` from `http://localhost:3000` to the URL of your staging environment. -### Structure of DetailsRequest contains the following unknown fields +### Structure of DetailsRequest contains the following unknown fields... Update extension and notification modules to the [newest available version](https://github.com/commercetools/commercetools-adyen-integration/releases) by updating the tag in `extension.Dockerfile` and `notification.Dockerfile`. + +### What if a user modifies the cart's total price during the payment flow? + +The cart's total price is compared to the payment's amount in every step of the payment flow. If it doesn't match: +1. process is immediately stopped, +2. payment object is removed from the commercetools, +3. user is redirected back to the payment step, +4. notification about the mismatch is displayed to the user. + +### How will the component recognize if a user had a price mismatch during the 3DS1 flow? +The component looks for the route's query parameter called `adyen-err`. If its value equals `malformed-price`, the user had a price mismatch. + +Examples: +```sh +# User had a price mismatch +http://localhost/checkout/payment?adyen-err=malformed-price +# User hadn't a price mismatch +http://localhost/checkout/payment?adyen-err=something-diff +http://localhost/checkout/payment +``` + +### Using custom component if the total price has been malformed during the payment flow +You can replace a default container with a slot named `price-mismatch`. +```vue + + + +``` + +## Changelog + +### 1.1.0 +- Price manipulation bugfix +- Support for AfterPay, Google Pay, Apple Pay, ZIP +- Hoisting errors in the middleware + +### 1.0.0 +- Basic version release From 95371728d706d4b44d9fad6098c9a9bdd389c1c3 Mon Sep 17 00:00:00 2001 From: Filip Sobol Date: Mon, 11 Oct 2021 11:55:18 +0200 Subject: [PATCH 39/53] docs: update integrations (#6434) --- packages/core/docs/.vuepress/integrations.js | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/packages/core/docs/.vuepress/integrations.js b/packages/core/docs/.vuepress/integrations.js index 6f68022507..ea1a23996d 100644 --- a/packages/core/docs/.vuepress/integrations.js +++ b/packages/core/docs/.vuepress/integrations.js @@ -83,14 +83,6 @@ const INTEGRATIONS = { { name: 'Aureate Labs', link: 'https://aureatelabs.com/' }, ] }, - { - name: 'Virto Commerce', - link: '', - image: 'https://tadviser.ru/images/3/3d/Virto_Commerce_logo.png', - status: STATUSES.WIP, - availability: AVAILABILITY.OPEN_SOURCE, - maintainedBy: [] - }, { name: 'BigCommerce', link: '', @@ -104,7 +96,7 @@ const INTEGRATIONS = { link: '', image: 'https://uploads-ssl.webflow.com/5e90e5cd5f86784ad554a3c2/60c62f5a2d9aaf32e2f47a20_logo-commercesuite-vertical-default.svg', status: STATUSES.WIP, - availability: AVAILABILITY.OPEN_SOURCE, + availability: AVAILABILITY.ENTERPRISE, maintainedBy: [] }, { From 21f8f17ae48a12c008eaa62ffe344407676c669a Mon Sep 17 00:00:00 2001 From: Filip Sobol Date: Tue, 12 Oct 2021 14:21:38 +0200 Subject: [PATCH 40/53] docs: add Prestashop and Spree to the list of integrations (#6437) --- packages/core/docs/.vuepress/integrations.js | 20 +++++++++++++++++++ .../public/integrations-logos/prestashop.svg | 1 + .../public/integrations-logos/spree.svg | 1 + 3 files changed, 22 insertions(+) create mode 100644 packages/core/docs/.vuepress/public/integrations-logos/prestashop.svg create mode 100644 packages/core/docs/.vuepress/public/integrations-logos/spree.svg diff --git a/packages/core/docs/.vuepress/integrations.js b/packages/core/docs/.vuepress/integrations.js index ea1a23996d..f75167a6f6 100644 --- a/packages/core/docs/.vuepress/integrations.js +++ b/packages/core/docs/.vuepress/integrations.js @@ -144,6 +144,26 @@ const INTEGRATIONS = { maintainedBy: [ { name: 'OdooGap', link: 'https://www.odoogap.com/' } ] + }, + { + name: 'PrestaShop', + link: '', + image: '/v2/integrations-logos/prestashop.svg', + status: STATUSES.WIP, + availability: AVAILABILITY.OPEN_SOURCE, + maintainedBy: [ + { name: 'Binshops', link: 'https://www.binshops.com/' } + ] + }, + { + name: 'SpreeCommerce', + link: '', + image: '/v2/integrations-logos/spree.svg', + status: STATUSES.WIP, + availability: AVAILABILITY.OPEN_SOURCE, + maintainedBy: [ + { name: 'Upside Lab', link: 'https://upsidelab.io/' } + ] } ], other: [ diff --git a/packages/core/docs/.vuepress/public/integrations-logos/prestashop.svg b/packages/core/docs/.vuepress/public/integrations-logos/prestashop.svg new file mode 100644 index 0000000000..eb267b3c7b --- /dev/null +++ b/packages/core/docs/.vuepress/public/integrations-logos/prestashop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/core/docs/.vuepress/public/integrations-logos/spree.svg b/packages/core/docs/.vuepress/public/integrations-logos/spree.svg new file mode 100644 index 0000000000..6dcac94a26 --- /dev/null +++ b/packages/core/docs/.vuepress/public/integrations-logos/spree.svg @@ -0,0 +1 @@ + \ No newline at end of file From 63552828bf3a000c5714b46a81c9d8858864dd59 Mon Sep 17 00:00:00 2001 From: Filip Sobol Date: Wed, 13 Oct 2021 09:43:01 +0200 Subject: [PATCH 41/53] docs: update logos (#6445) --- packages/core/docs/.vuepress/config.js | 2 +- .../core/docs/.vuepress/plugins/meta/index.js | 8 ------ .../plugins/meta/logo-horizontal.png | Bin 19398 -> 0 bytes .../.vuepress/plugins/meta/logo-vertical.png | Bin 14725 -> 0 bytes .../core/docs/.vuepress/plugins/meta/logo.png | Bin 23839 -> 0 bytes .../docs/.vuepress/plugins/meta/template.html | 27 +++++++++++++----- .../core/docs/.vuepress/public/favicon.png | Bin 1343 -> 1760 bytes .../core/docs/.vuepress/public/vsf-full.svg | 17 +++++++++++ .../core/docs/.vuepress/public/vuelogo.jpg | Bin 17487 -> 0 bytes 9 files changed, 38 insertions(+), 16 deletions(-) delete mode 100644 packages/core/docs/.vuepress/plugins/meta/logo-horizontal.png delete mode 100644 packages/core/docs/.vuepress/plugins/meta/logo-vertical.png delete mode 100644 packages/core/docs/.vuepress/plugins/meta/logo.png create mode 100644 packages/core/docs/.vuepress/public/vsf-full.svg delete mode 100644 packages/core/docs/.vuepress/public/vuelogo.jpg diff --git a/packages/core/docs/.vuepress/config.js b/packages/core/docs/.vuepress/config.js index 8af07b0649..5d97151d4b 100644 --- a/packages/core/docs/.vuepress/config.js +++ b/packages/core/docs/.vuepress/config.js @@ -95,7 +95,7 @@ module.exports = { docsDir: 'packages/core/docs', docsBranch: 'release/next', editLinkText: 'Edit this page', - logo: 'https://camo.githubusercontent.com/48c886ac0703e3a46bc0ec963e20f126337229fc/68747470733a2f2f643968687267346d6e767a6f772e636c6f756466726f6e742e6e65742f7777772e76756573746f726566726f6e742e696f2f32383062313964302d6c6f676f2d76735f3062793032633062793032633030303030302e6a7067', + logo: '/vsf-full.svg', sidebarDepth: 0, nav: [ { text: 'Home', link: '/' }, diff --git a/packages/core/docs/.vuepress/plugins/meta/index.js b/packages/core/docs/.vuepress/plugins/meta/index.js index b106dad9dc..10b50ecca1 100644 --- a/packages/core/docs/.vuepress/plugins/meta/index.js +++ b/packages/core/docs/.vuepress/plugins/meta/index.js @@ -7,20 +7,12 @@ const nodeHtmlToImage = require('node-html-to-image'); */ const FALLBACK_PATH = 'fallback.jpg'; -/** - * Vue Storefront logo buffer - */ -const VSF_LOGO_BUFFER = new Buffer - .from(readFileSync(resolve(__dirname,'./logo-horizontal.png'))) - .toString('base64'); - /** * Helper function to fill PAGES array */ function pageToContent({ outDir, title, fileName }) { return { title, - image: `data:image/jpeg;base64,${ VSF_LOGO_BUFFER }`, output: resolve(outDir, fileName), type: 'jpeg', selector: '.banner' diff --git a/packages/core/docs/.vuepress/plugins/meta/logo-horizontal.png b/packages/core/docs/.vuepress/plugins/meta/logo-horizontal.png deleted file mode 100644 index 72e339d02b451d5d1518cb02dd103b7b735a0ad2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19398 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

    0F9%8w4^+rl{R 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 diff --git a/packages/core/docs/.vuepress/plugins/meta/logo.png b/packages/core/docs/.vuepress/plugins/meta/logo.png deleted file mode 100644 index fc7d56276b7de602f34ae03a0368f2c0847e3a84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23839 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 - +

    diff --git a/packages/core/docs/.vuepress/public/favicon.png b/packages/core/docs/.vuepress/public/favicon.png index 8cb26d52e46a896bead3993cc3e7a03b71992a3c..9326f64e8b89c2a736f90e10fe4bbbf1312a4493 100644 GIT binary patch literal 1760 zcmV<61|Ru}P)Px#Ay7@GU#!>*zPXWeK0mf1R#!>*oQ2@qJ z0>)7S#!_r0RRsV5019+cPE!DI`3jWp%^WdPP5|Wk000I@NkltUogJSR%@Sf8`uI zo~>9SAIZn}utD#vh|iz-zKD;sf}n{e{>$;@yGP0PPj7d*#((ih^rc9Ohc9`?e|nV2 zd5r(y8DB1}w z&{-Rw7D4+!RsUk>HStwJdy;`IQz2sWDpxD$B8oq(W5Ns>OBGVEIjwWIt-6g34BN1p}b~+Q-TCk zOCy4BpsqtTpMnHS!@3sLEOw3=n{+f5n#WUK0MkkwF|7+VeY%TdvIHs-5CW(!1VR8) z1P6R2a8(EiTM5*;fEK{|EFcCjMR2VUz6q$~MhU^kUGfBi$w~%0r}X0o;n`9Fe+Mja zb~sny&PKo#FYZ5nFn)aJWxy8gXV0Jgx*IgnL=#Ok(L@tX{O{uVUpGI0g@4!AuV9Op z@YZ3!-`{?SyVUvm-h=-3_*=l^+wY4d&pG0=cKGh9z4`rH-K8f#cvx+Ow-$?-WUR>` zTxNEiDCZ3mP^Zw_xLul1fV z5Og#6nYZ=s+m?F*>l=N8S^yQzzYTN%ijAeJ_G5}Y0~824K2Ai08F+`grVF2bU-kH?{jw&^}&z`A3(_k8UU6q$aQBQcl8c%LD0=~M~?1- zO2FC$L+wom00-E+Knq~S1$qD$g^&YoI)FI9(gk4#x#>Qr1gsEDKsTKgLMH)TYgPy_ z05cZ=0T{X<2i|mwU@rk)Yl5Jg0dG2W!AL@53)2D1Lg<07g}VR@;Bs!?P7E$ao&oa@ z6@#yax**JqzSh#?-ZZ-&6TrN*4G@4_kQ;xX9x4K(5|~FzV!B{xF{v?K zU;!XNbwO_RVenjF=zvAwxnN>9q0wAm>;MY{N*CnT9|Xq*RwaPxf}z7?#&CfH02~+O zP9MVE1(puLbHT)IB0Ial+5uQD$ek_;+fZ>9n^CWh20RjLw7vu;cb8$g8!%(?N zAq>hJkY_mm&kbB4ekpx`f0bo=J^5V1Q-n>L80b>_PakaO6awriT zV1Yo$@tqGJZr)EM9sna3T&7?ckS0egJqD!BV^9dj0b1W1xWG7Itv-JUpq;*+uLPi7 zu9mL^z^%?6F91UqcxZHba)HUVkB>qy>i7F_f!Wp{J_6I7zaC!+cyfX9)@P3w0JaNk z4nf3R4)9S3R{Q^$F0eZagonWPBv6m91dv@|eH5z43joUnE{7sxE(c&1g420G3>UZ^ z4R%N1dNR1jR{}^ba0K9t!1-9PqYDJWFM?w(2VfKe%I^bQT!8bNczXmmKag-JgcN6d zdlw)9uttCdz}5u<@vQ(cmjhf1p@X;HK%EN&;adV@E(fRzp@;|*sB!`AdotG%kOHVGgp_vtbr%o=SVKS! z;JOP0!<#~5E(cTiGUTrWg(=z;|DEf08KRE9{&I(8&WD$PVpE30000*q2%`o6evOFpvL#cSc@h(uK?pXLI~4-c z429uj27)nW6r;n-763x(@zTAX=r>*eCIjvs*h55fh=}0h0?UfE$`uwse3F3sMBC^|Ez*p)^>s@sLf^YHQLS_iYq zb43YJWd1(ue!`aDboIiAHl$Q6US$Bly+R}<)Z#Y#a1N&4Sr4mL3}LDlsKf9jQ}F!b z%W${9;B!UjsSh=KFgXwOPVXo&NzNn(;Yqawhwq+(tsj1$78&IQ35B8F^r}s8@aB;K zsbMw5K!*_Y3sRv^sqO|2-#!WFpUhhj(lEhHtb7c9U$+frSoxj)LRf>Ls5Ex+@!vbW zy~rUqRgm~3Mq6j(w561EFmvmOt!_Iff3@Ex#>P9N*-Dt|u7}O?HtS}tb{}!3n>~wzWgGM3%>Sk8DL|uSN4-A3(1K%w znf%qWjk&3UHoJEp7Z|ao>D)$rgupxW7P@+4<1omu%!Q93rZnU> zL#dJ|SdT-iNF^XB234?NofkQWzN;;7=yT=B>oR#F0e!2}At9p!=w7@4vu + + + + + + + + + + + + + + + + diff --git a/packages/core/docs/.vuepress/public/vuelogo.jpg b/packages/core/docs/.vuepress/public/vuelogo.jpg deleted file mode 100644 index b81c182c390f43af50424d1b9916ea75e53660b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17487 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�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 Kh(MwH|4jf#j%ua= From d1dc30fc6b81aee1874050bc2229f17b67ba1aba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20J=C4=99drasik?= Date: Wed, 13 Oct 2021 09:55:14 +0200 Subject: [PATCH 42/53] chore: moved adyen docs to separated repository (#6438) Co-authored-by: Fifciuu --- packages/core/docs/.vuepress/integrations.js | 2 +- packages/core/docs/integrations/adyen.md | 462 ------------------- 2 files changed, 1 insertion(+), 463 deletions(-) delete mode 100644 packages/core/docs/integrations/adyen.md diff --git a/packages/core/docs/.vuepress/integrations.js b/packages/core/docs/.vuepress/integrations.js index f75167a6f6..29cc31a367 100644 --- a/packages/core/docs/.vuepress/integrations.js +++ b/packages/core/docs/.vuepress/integrations.js @@ -265,7 +265,7 @@ const INTEGRATIONS = { }, { name: 'Adyen', - link: './adyen.html', + link: 'https://docs.vuestorefront.io/adyen', image: 'https://uploads-ssl.webflow.com/5e90e5cd5f86784ad554a3c2/5ed621cc6456318210a7d22b_Adyen_Corporate_Logo.svg', status: STATUSES.STABLE, availability: AVAILABILITY.ENTERPRISE, diff --git a/packages/core/docs/integrations/adyen.md b/packages/core/docs/integrations/adyen.md deleted file mode 100644 index ae4d4d6266..0000000000 --- a/packages/core/docs/integrations/adyen.md +++ /dev/null @@ -1,462 +0,0 @@ -# Adyen - ->This feature is part of the Enterprise version. Please [contact our Sales team](https://www.vuestorefront.io/contact/sales) if you'd like to use it in your project. - -## Introduction - -This package provides integration with [Adyen](https://www.adyen.com/). For more information about payment integrations, please refer to the [payment providers](../guide/checkout.html#payment-providers) page. - -## Installation - -1. Install required packages: - -```sh -yarn add @vsf-enterprise/adyen -``` - -2. Add `@vsf-enterprise/adyen` to raw sources: -```js -// nuxt.config.js - -export default { - buildModules: [ - ['@vue-storefront/nuxt', { - coreDevelopment: true, - useRawSource: { - dev: [ - '@vue-storefront/commercetools', - '@vue-storefront/core', - '@vsf-enterprise/adyen' - ], - prod: [ - '@vue-storefront/commercetools', - '@vue-storefront/core', - '@vsf-enterprise/adyen' - ] - } - }] - ] -}; -``` - -3. Register `@vsf-enterprise/adyen/nuxt` module with following configuration: - -```js -// nuxt.config.js - -export default { - modules: [ - ['@vsf-enterprise/adyen/nuxt', { - availablePaymentMethods: [ - 'scheme', - 'paypal' - ], - clientKey: '', - environment: 'test', - methods: { - paypal: { - merchantId: '', - intent: 'capture' - } - } - }] - ] -}; -``` - -* `availablePaymentMethods` - An array of available payment methods. There are [available values](https://docs.adyen.com/payment-methods). -* `clientKey` - Your client's key. There is information [how to find it](https://docs.adyen.com/development-resources/client-side-authentication#get-your-client-key). -* `environment` - `test` or `live` -* `methods.paypal`: - * `intent`: `capture` to take cash immediately or `authorize` to delay a charging. - * `merchantId`: 13-chars code that identifies your merchant account. There is information [how to find it](https://www.paypal.com/us/smarthelp/article/FAQ3850). - - -4. Add `@vsf-enterprise/adyen/server` integration to the middleware with the following configuration: -```js -// middleware.config.js - -adyen: { - location: '@vsf-enterprise/adyen/server', - configuration: { - ctApi: { - apiHost: '', - authHost: '', - projectKey: '', - clientId: '', - clientSecret: '', - scopes: [ - 'manage_orders:', - 'manage_payments:' - ] - }, - adyenMerchantAccount: '', - origin: 'http://localhost:3000', - buildRedirectUrlAfterAuth (paymentAndOrder, succeed) { - let redirectUrl = `/checkout/thank-you?order=${paymentAndOrder.order.id}`; - if (!succeed) { - redirectUrl += '&error=authorization-failed'; - } - return redirectUrl; - }, - buildRedirectUrlAfterError (err) { - return '/?server-error'; - }, - buildRedirectUrlIfMalformedPrice () { - return '/checkout/payment?adyen-err=malformed-price' - } - } -} -``` - -* `configuration`: - * `ctApi` - You need `manage_orders` and `manage_payments` scopes to make it work properly, base on [that page](../commercetools/getting-started.html#configuring-your-commercetools-integration) during configuring this property. Then for `apiHost` you have to use only the base URL - `https://.com/` instead of `https://.com/vsf-ct-dev/graphql` - * `adyenMerchantAccount` - Name of your Adyen's merchant account - * `origin` - URL of your frontend. You could check it by printing out `window.location.origin` in the browser's console on your website. - * `buildRedirectUrlAfterAuth` - `(paymentAndOrder: PaymentAndOrder, succeed: boolean) => string` - A method that tells the server where to redirect the user after coming back from payment gateway. You can test it with [these cards](https://docs.adyen.com/development-resources/test-cards/test-card-numbers#test-3d-secure-authentication). - * `buildRedirectUrlAfter3ds1Auth` - deprecated in favor of `buildRedirectUrlAfterAuth` - * `buildRedirectUrlAfterError` - `(err: Error) => string` - A method that tells the server where to redirect the user if error has been thrown inside `cardAuthAfterRedirect` controller. - * `buildRedirectUrlAfter3ds1Error` - deprecated in favor of `buildRedirectUrlAfterError` - * `buildRedirectUrlIfMalformedPrice` - `(err: Error) => string` - A method that tells the server where to redirect the user if the total price of the cart has changed during the 3DS1 Flow. In this case, you should redirect a user to the payment's view and ask to provide payment data once again with the updated price. - -```ts -type PaymentAndOrder = Payment & { order: Order } -``` - -5. Add an `origin` to the allowed origins in Adyen's dashboard. You can do it in the same place where you looked for the `clientKey`. - -6. Commercetools shares [Adyen integration](https://github.com/commercetools/commercetools-adyen-integration). We recommend deploying it as a Google Function or an AWS Lambda. Make sure to configure and deploy both [extension](https://github.com/commercetools/commercetools-adyen-integration/tree/master/extension) and [notification](https://github.com/commercetools/commercetools-adyen-integration/tree/master/notification) module. Check readme of [the repository](https://github.com/commercetools/commercetools-adyen-integration) for details. - -:::warning Extensions need higher permissions -As you can see in the `commercetools-adyen-integration` repository, commercetools recommends using the `manage_project` scope for both notification and extension modules. -::: - -7. Use `PaymentAdyenProvider.vue` as a last step of the checkout process. This component will mount Adyen's Web Drop In and handle payment process for you. -```vue - -``` - -`afterPay` is called just after payment is authorized and order placed. There you can make actions like redirecting to the thank you page and clearing a cart. -```js -const afterPayAndOrder = async ({ order }) => { - context.root.$router.push(`/checkout/thank-you?order=${order.id}`); - setCart(null); -}; -``` - -### Paypal configuration -Configuration of PayPal is well-described in [Adyen's documentation](https://docs.adyen.com/payment-methods/paypal/web-drop-in). - -### Klarna configuration -To use Klarna, you have to enable it in Adyen's dashboard. Then you should add specified methods to the `availablePaymentMethods` array in `nuxt.config.js`: -```js -// nuxt.config.js - -export default { - modules: [ - ['@vsf-enterprise/adyen/nuxt', { - availablePaymentMethods: [ - 'scheme', - 'paypal', - 'klarna', - 'klarna_account', - 'klarna_paynow' - ], - // ... - }] - ] -}; -``` - -Read [Adyen's document about the Klarna](https://docs.adyen.com/payment-methods/klarna#supported-countries) to check which Klarna payment methods are available for individual countries. - -:::warning Email Address -Klarna requires the shopper's email address to work correctly. It will be read from `cart.customerEmail` with fallback to the `cart.customer.email` field. Make sure to put it in one of these. -::: - -:::warning Phone number -If your users can provide a phone number, make sure it includes the **area code**. Otherwise, Klarna will throw an error because of an improper phone number format. -::: - -## Afterpay configuration -To use Afterpay, you have to enable it in Adyen's dashboard. Then you should add `afterpaytouch` to the `availablePaymentMethods` array in `nuxt.config.js`: -```js -// nuxt.config.js - -export default { - modules: [ - ['@vsf-enterprise/adyen/nuxt', { - availablePaymentMethods: [ - 'scheme', - 'afterpaytouch' - ], - // ... - }] - ] -}; -``` - -Read [Adyen's document about the Afterpay](https://docs.adyen.com/payment-methods/afterpaytouch) to check which countries and currencies are supported. - -:::warning Email Address -Afterpay requires the shopper's email address to work correctly. It will be read from `cart.customerEmail` with fallback to the `cart.customer.email` field. Make sure to put it in one of these. -::: - -## Apple Pay configuration - -To use Apple Pay, you have to enable it in Adyen's dashboard. Then, in the `nuxt.config.js` file add `applepay` to the `availablePaymentMethods` array: - -```js -// nuxt.config.js -export default { - modules: [ - ['@vsf-enterprise/adyen/nuxt', { - availablePaymentMethods: [ - 'scheme', - 'applepay' - ], - // ... - }] - ] -}; -``` - -:::warning -For Apple Pay via Adyen there are two approaches. - -1. Adyen's Apple Pay certificate approach (supported): where developer can reuse certificate obtained by Adyen for Apple Pay -2. Own Apple Pay certificate approach (not supported yet): where developer has to gain dedicated certificate from Apple's in order to use it for Apple Pay -::: - -Read [Adyen's document about Apple Pay](https://docs.adyen.com/payment-methods/apple-pay/web-drop-in?tab=adyen-certificate-config_1#configure) to check available configuration options, learn how to test this payment method and how to use Adyen's certificate in a live environment. - -To pass additional configuration options for Apple Pay, use the `methods.applepay` property. E.g.: - -```js -// nuxt.config.js -export default { - modules: [ - ['@vsf-enterprise/adyen/nuxt', { - availablePaymentMethods: [ - 'scheme', - 'applepay' - ], - methods: { - applepay: { - buttonColor: 'white-with-line' - } - } - // ... - }] - ] -}; -``` - -## Google Pay configuration - -To use Google Pay, you have to enable it in Adyen's dashboard. Then, in the `nuxt.config.js` file add `paywithgoogle` to the `availablePaymentMethods` array: - -```js -// nuxt.config.js -export default { - modules: [ - ['@vsf-enterprise/adyen/nuxt', { - availablePaymentMethods: [ - 'scheme', - 'paywithgoogle' - ], - // ... - }] - ] -}; -``` - -Read [Adyen's document about Google Pay](https://docs.adyen.com/payment-methods/google-pay/web-drop-in?tab=version_3_13_0_and_later_1#configure) to check available configuration options and learn how to test this payment method. - -To pass additional configuration options for Google Pay, use the `methods.paywithgoogle` property. E.g.: - -```js -// nuxt.config.js -export default { - modules: [ - ['@vsf-enterprise/adyen/nuxt', { - availablePaymentMethods: [ - 'scheme', - 'paywithgoogle' - ], - methods: { - paywithgoogle: { - buttonColor: 'white' - } - } - // ... - }] - ] -}; -``` - -## ZIP configuration - -To use ZIP, you have to enable it in Adyen's dashboard. Then, in the `nuxt.config.js` file add `zip` to the `availablePaymentMethods` array: - -```js -// nuxt.config.js -export default { - modules: [ - ['@vsf-enterprise/adyen/nuxt', { - availablePaymentMethods: [ - 'scheme', - 'zip' - ], - // ... - }] - ] -}; -``` - -:::warning -Conditions to make ZIP work correctly: -- User is from Australia -- Currency is AUD -::: - -```js -// nuxt.config.js -export default { - modules: [ - ['@vsf-enterprise/adyen/nuxt', { - availablePaymentMethods: [ - 'scheme', - 'paywithgoogle' - ], - methods: { - paywithgoogle: { - buttonColor: 'white' - } - } - // ... - }] - ] -}; -``` - -## API -`@vsf-enterprise/adyen` exports a *useAdyen* composable. -`@vsf-enterprise/adyen/src/PaymentAdyenProvider` exports a [VSF Payment Provider](../commercetools/getting-started.html#configuring-your-commercetools-integration) component as a default. - -## Composable -`useAdyen` composable returns a few properties and methods. - -#### Properties -* `error` - Computed<_AdyenError_> - errors' state of asynchronous methods. -* `loading` - Computed<_Boolean_> informing if composable is performing some asynchronous method right now. -* `paymentObject` - Computed<_any_> containing payment object in the commercetools. It is updated by `createContext`, `payAndOrder`, `submitAdditionalPaymentDetails` methods. - -```ts -interface AdyenError { - submitAdditionalPaymentDetails: Error | null, - createContext: Error | null, - payAndOrder: Error | null -} -``` - -#### Methods -* `createContext` - Loads a cart, then fetching available payment methods for the loaded cart. At the end, a method stores a response inside `paymentObject`. -* `buildDropinConfiguration` - `(config: AdyenConfigBuilder): any` - Builds a configuration object for Adyen's Web Drop-In. -* `payAndOrder` - Setting value of the custom field called `makePaymentRequest` in the commercetools' payment object. Commercetools will send it to the Adyen and give you the response. As the last step, a method is storing a response inside the `paymentObject`. -* `submitAdditionalPaymentDetails` - Setting value of the custom field `submitAdditionalPaymentDetailsRequest` in the commercetools' payment. Commercetools will send it to the Adyen and give you the response. As the last step, a method is storing a response inside the `paymentObject`. - -```ts -interface AdyenConfigBuilder { - paymentMethodsResponse, - onChange = (state, component) => {}, - onSubmit = (state, component) => {}, - onAdditionalDetails = (state, component) => {}, - onError = (state) => {} -} -``` - -## Components -`PaymentAdyenProvider` component fetches available payment methods and mounts Adyen's Web Drop-In. It takes care of the whole flow of the payment. It allows you to hook into some events by passing functions via props. -* `beforeLoad` - `config => config` - Called just before creating an instance of the `AdyenCheckout` and mounting a Drop-In. -* `beforePay` - `stateData => stateData` - Called just before calling a `payAndOrder`. Here we can modify the payload. -* `afterPay` - `paymentAndObject: PaymentAndOrder => void` - Called after we got result code equal `Authorized` from the Adyen, and an order has been placed. -* `afterSelectedDetailsChange` - Called inside `onChange` of Adyen's Drop-In. -* `onError` - `(data: { action: string, error: Error | string }) => void` - Called after we got an error from either Adyen or our API. - -## Placing an order -If the transaction is authorized, the server's controller for `payAndOrder`/`submitAdditionalPaymentDetails` will place an order in commercetools and apply the `order` object to the response. Thanks to that, we have only one client request to finalize/authorize payment and make an order. - -## Checkout.com -Adyen's module isn't compatible with [Checkout.com's module](https://github.com/vuestorefront/checkout-com). - -## FAQ - -### How to debug data flow? - -Open the `Network` tab in the browser's devtools. Each payment request will have commercetools [Payment object](https://docs.commercetools.com/api/projects/payments#payment) in the response. You can check `custom.fields` to see what data was sent to Adyen and what was the response (or error). Available custom fields are listed [here](https://github.com/commercetools/commercetools-adyen-integration/blob/master/extension/resources/web-components-payment-type.json). - -### Error: NotFound: URI not found: //carts/ -`ctApi.apiHost` property inside your `middleware.config.js` contains wrong path. It should be `https://.com/` instead of `https://.com//graphql` - -### Error: The type with the key 'ctp-adyen-integration-web-components-payment-type' was not found -You have to add new types and extension to commercetools as described on these pages: -- [Extension Module](https://github.com/commercetools/commercetools-adyen-integration/blob/master/extension/docs/HowToRun.md#commercetools-project-requirements), -- [Notification Module](https://github.com/commercetools/commercetools-adyen-integration/blob/master/notification/docs/HowToRun.md#commercetools-project-requirements). - -For more information, see the 6th step of the [Adyen's installation guide](./adyen.html#installation). - -### Klarna Pay Later does not work for United States -Klarna Pay Later is not supported in the United States. However, sometimes it is added when you enable Klarna in Adyen's dashboard. If you have this problem, contact Adyen's support to remove it. - -### 3DS2 Auth doesn't work in one environment -There might be a situation when you can finish 3DS2 Auth in the local environment but not in the other, like staging. When this happens, make sure to change `origin` in the `middleware.config.js` from `http://localhost:3000` to the URL of your staging environment. - -### Structure of DetailsRequest contains the following unknown fields... -Update extension and notification modules to the [newest available version](https://github.com/commercetools/commercetools-adyen-integration/releases) by updating the tag in `extension.Dockerfile` and `notification.Dockerfile`. - -### What if a user modifies the cart's total price during the payment flow? - -The cart's total price is compared to the payment's amount in every step of the payment flow. If it doesn't match: -1. process is immediately stopped, -2. payment object is removed from the commercetools, -3. user is redirected back to the payment step, -4. notification about the mismatch is displayed to the user. - -### How will the component recognize if a user had a price mismatch during the 3DS1 flow? -The component looks for the route's query parameter called `adyen-err`. If its value equals `malformed-price`, the user had a price mismatch. - -Examples: -```sh -# User had a price mismatch -http://localhost/checkout/payment?adyen-err=malformed-price -# User hadn't a price mismatch -http://localhost/checkout/payment?adyen-err=something-diff -http://localhost/checkout/payment -``` - -### Using custom component if the total price has been malformed during the payment flow -You can replace a default container with a slot named `price-mismatch`. -```vue - - - -``` - -## Changelog - -### 1.1.0 -- Price manipulation bugfix -- Support for AfterPay, Google Pay, Apple Pay, ZIP -- Hoisting errors in the middleware - -### 1.0.0 -- Basic version release From 66e19b91ea9d3cd4afc1df5d8df90adf7b050320 Mon Sep 17 00:00:00 2001 From: Filip Sobol Date: Wed, 13 Oct 2021 10:10:40 +0200 Subject: [PATCH 43/53] docs: update diagram and OG images (#6446) * docs: update diagram and OG images --- .../docs/.vuepress/plugins/meta/template.html | 1 + .../docs/images/high-level-architecture.png | Bin 37604 -> 211822 bytes 2 files changed, 1 insertion(+) diff --git a/packages/core/docs/.vuepress/plugins/meta/template.html b/packages/core/docs/.vuepress/plugins/meta/template.html index c04da5f5b8..8cbe11ced5 100644 --- a/packages/core/docs/.vuepress/plugins/meta/template.html +++ b/packages/core/docs/.vuepress/plugins/meta/template.html @@ -32,6 +32,7 @@ .title { + width: 100%; margin-top: 80px; font-size: 80px; font-weight: 600; diff --git a/packages/core/docs/images/high-level-architecture.png b/packages/core/docs/images/high-level-architecture.png index 991d317c0840f16efb1b3ea4406f5f69564034c0..4096e21d42feb602a16e053a99aa86854cb7df53 100644 GIT binary patch literal 211822 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

    BBS=h>Q&U~__4VW1R~%=m9wVushV>gE z00Q-gf)eV7EBNd(U@iDbCKJ^~fD_%%G87wqDCEBNRqo78R~x4%_AZ`s>|X2W(h_Z1 zMMcG{fGhXi6zj|q@6~J6L_B~{v zeDd)ebYrPCHO05+$BT|83Y+&Y`S}V!-TTGzoyo>g%VffBbj@Uq&I8jX)jCMz*9p&4xX$WGQ^OD`g_kLLyD6g}p}?tKLf4PZTO8I3ZRJ>Zke2ucI+f z+T0gI0ZaFXR1LwlEt96AmYi(}DW^qk9sbp6D705OQ<&m}eY#%>gMz`DQyPZ@ouGIn z7_>x1OY3Q%uWtsM&LB$5jOwlQ?wR7JvN$b$!)NyIh|GLkHLzlGa0 z0z&9{arhRTmnU_CvN~95kGY5Ud5MF%;xLa4M|K8SU)t}41gg@)LS;=vR`32b^wx1m zyaAn-u_yoAV|hDz_93z1#Y{sZrA4CbQ)MJr3~{0G!2jALiU1#9sobD(-`&aS;7jGP z$`w_el5UmNcrFE=Z_uR8dG1SthHq9@lnc^kGlpjxVQ+C8G7;O+u}v9sko$BV%BaGG%cT}1+rVH+hS3c`*Q#fV&%)6 zSg@(0Pmt5!)Ta7(Jn^^nntW<4qQNg6HrqvFWSi>iUy@8rz!n=C_<*8`{8NGc@(_$N z`j@1p_kG!Ckhnl3%hz{!I-!A#)9wx2gtVQsmG0~$k-vCnR6b|e8Z-5GrJ?7x!MHKS zvnQ5dpYK;GDUY8KHvvk*HbiDgwuhb$4>mjD90XPQo0c1Ngc$n-Q7CQJI^@0KTA`P z;&RLgu|CTMYCvh3nVwfySA#7cI2?+-d=54_!s^l%K(zUX#NV>`Nl0KyPc+#e%F4>1 zI(QElsn6cN0&GvC9kepLCZ=`@-HWkRouW%Hv1f(lwUqHM*h$#S9z-3i;0Pu4pi8G0QC){Gn2!6cuQshFko6=u-4Mjf48+usBY(~c-S+C<59kMvK?qDXk6!j1;tvZa_(B&v91Wftx(FF%w}Mk`Bbhwv~(G zzX1^Z53T+5K&HdMP?L9GTQ_R?A^9!7jES=4Zd8dW8p6)v-{{w*UU`5kOG_gFBhYg1UbJ9E z#l$dRAB@hdjCVUI0QmaF7I9!uLDq^O_l`m*$cTkLAf^banLtu>hqPVnZp3 z>P6ZW=gluY9@@WV)3BuEL;*VH^_Xs&m#;oc&|^Ta(Q)nv-rQVl069>^@rc`^z{@3+ zn{RZ2KcFs#15o3XguYQ;#@LveMtkKILr7bbBSK-&pqSvVsf#HYsh|{kB4#^1HIsNB zfT?-Hzi~3rimiD76(;g7NqCtoL|o#7W=lw1c{R`P({p8^G(I0?Bclx1=kKhm@v;L? zfT@#yxv8M?{`y9XqCt#c+)J%T(T!zeZkCn>LIQf5nZmQA^VQ}93TJQoC@qqcy1wo} zR*JjaxCA-(?Pte-4-WD)0U95bD)Nf6afu!r-(O`7bDFsL?~OCnC!5g@eym-gcb$zI zCEQTq(%la4bT@|wPXz&eG1k%1dDX-LR#g8%DEB-%zfZabODdA=^O?`tnTMl;LxtaW zDr2Q{$@e$Dh|mp?;UN~!v%hS8IFy1c5c4YSXkh-L0KSNH)B5$!`H+H2cI)6k=caSE z);cT83FgLNAqO@T8wfoA<|a?&ufGeH?hbK%>{QsscA&Y3^C4`J{uI^(v}F|?KHLi zry1vT2Yk!4SJ?0W4sEH@PFgvCL3k2|&tAQ$Mx8K4!q;rN*y6E2Imv0=8%4us`Rfb} zYDd8GDPN_jPHg%-iw)+%66;*4Z-lqrYGr58rtsOMMrJPAQR$8wUc?Td&>O4sOSVhn z3lfwM|6x#2O}=UHhB)MA7d|JT7L5CSy@e!FNlB?Xjwv!F#l~GF{naClJnID6xpqIV zhnmS6Oe`WHkMB#)w8&!-OncMNm>1^e_EXT%cpzX4czO?+?_!Xi=8SL8_lQ*&{f~z% zw<3c!%*nHX9b4kFyKzb*dK;snqpvrWQ>`;oPAMs;Q}!L7J+X)1M(CaIl_U>`Fex_N zLCQuHEp6?9SC6X>4-dx?b5#@JGztWH*-3nR>ql>@qO3GM$q@G4v8Plx3@ zwfCRL1L;Ug9t4qI##F+LmakOK%S`F zNSB$MGW&~%2d@RNf?Sm_%J>JCyltgN>VAY6RDl9Vb@;+JuE#cRwpQJlTR;)u4`t5; zyB^>$rmtr~QBzfy<=#XRp@dpSMh+q9JN?2U?cZlR0?K9q=vV*wD`bDM=6H%W9xjiM zwsQ`UrQtoGMDe@>;A2H$+US^e)t1v=`FVo>j!dtETtjJ#Jy?kXl3Uvf;s>F)q&mftC; zs1(vc$ji#-k429A_=x~!EuHVpd#F3VRVM7V#|+6Oyh@9Zyb#nP?1#bJ+OMvBWuUAg z-G7G&a$W!O<;%<~37|7~eqmv^fRHHu0|!&cTRzi=1Io^VLPAP_OB3)OP5#X8*g&9d zU;tzOpQmf`$N^M3Lv38bB&%BPegsMW%!T;Za{3f5Li?5wUyizZ2RB+Di%uW}Z16|| zHqdYScjjz7EghXdKJAT+3{gP9y`{;?cpx{+2?`dubO{z{B*4N8E)Lo286A5&$Z9+$ zW}sr@?=Q^B!y}FPHwi+sl&8S6&I)LlACGl@KqKhZ{2P<7GB%zwq$@ud-)qrQQ9+^B z;kcYoKEn7vwySyuAIsdPg_qgwBKv?H_p>egy3@51T1(D_L4Jx>g83lL8Vty#l)bAf z*W17A71yJrq2ZMm+=97@oY`m#Vbp8Mz9vmC2M%jZBIeV+qdBmE-zKBh?AKG^z=Uk9 z{}#D!V`kPpIXx{12+GFq&uIwRU|)`zBCr1*Ta7Yq9P z<$V8nArqKfHPKc$K|;`V?GqFVwf5Y7hgVAJBe4-&N#H0#WjdNr!n#|Ln%3H$n%ZN$ z{O2W~KdZiFv7fRk151McO6ia2a(X{<~w4P{Hq7Yf>?U0NZlK>!qVaQm3u z_1|il`KJn-n`eLA0lKnJfL@Au_u>UL=HiEZ;G$qIik6lZVP3~kl!1OM0UsaV25^Q% zrhi!k%%}B?n>lH_IbTrcr42DP+&k}GpUD)2=ZwN?J;`-dBkWn6SiUo92folV{cNaBu@pCo%6 ztQZDBb`wiW`&cBg6nM6~;&A{}@(&GYMG6Gocz17pi3Ym?-t6)Rf95Lnt14?{oBU3D zZOP|5EBRdHiq=J3A8K3UxbiqrJQ+K)-Y5}EeFLhD>S|7FSJzm)zkU&IKozJkQjn8# zY-V_63JJ_w|30#D8p#|&^7;{rCF?MQ=k40+Qh$m2kv6t=wsuVGyA3&**Tp#>6wj@U&IRK1v+|rtc2%#kMiy8z2Rf)_KkZv@3SIFetvGw-*r(u`o=#o?2C?0@Y{fJtR>A5enU)(il8 zxE6mNLmb^J@;|zoSz1;`lL54%Dk%-+>p_4Qg-|z}5xD4Gp(|~?;I$Y+iumu@j3ZbN zz6b#p&)D2NFHZKU;r|TK5#N=aA7b7+Y*^TUbCouz^6JR~;M3V=sGf)9v@b#=Ue}&{ zBU14OOv%#9O7?%Uw{8u{o>0J59pS@tZ~p}~s?ZIqRfpw{MGd=9&A3haxL=AvkGGI* zOz*Jwma`Y5Iq>kFa+3p=7Z@n=|3)b)DUqv2E9&T2Qv3PAVO|+{i-X;hnE!A%pB?>u zShEOu@C(fC-CZ8Qd@{zoJ7<4Y0!w$XefoC*)kFZ!wGYqFlZj^hedLzm6nH|0ELi0; zUU?dV*o41f5J*K0xQ@wl36gxdjAL{4$VuGPa0ob3J|0V+w2fwdSb zC@Ad2I%1He(>FO6l1MRk(zh^p6cnY(_w=MK5;0{SX)?%>m6rVX-v-buZ~6ZNjhIOF z`h(QRz_-`zpWGOQ-tsAPP?@T(NIDdhKVn$o&{QJARr!6fH{3KEefV$X>K&v;7j}NW zW?2ICXh4EDht6G%^KDL=+O+}#+Vk+jvXTGk1v9&CoT`qF^$49%qH}!L=;GoYMgX}* z4xyX`T9=wpK|_OsvPl+sqqz z=i~ba#lq?;D$(r@ZnZ}bXyj*n6#_fEG_|#3yZ-8JR+k$#~9;j3Ei< zE;nlHhN)oeEIFZr=j&YrJl~Yli;K%k1oV7vE{>Y$>WeSOyPVGc{$mR?Rqds~Z5aEZ z`5p5kZ+`|_F)!cMAKMdH1hk45I@=Z@cvo@NSW?g1yNvS)<#>5{Ghq*AaBYtNVjki? z8U&bHyf|j}XlVSbz#68H4G1u6y$+0-K8d?~@%!D%gzgIfq>(KU`@8HQuG?2>0Mv%U zZBS9k!7Vk-Z*pzcIB^MxtU9w<&v$26Gq6S7FV!ND-+*_Z+D+~4zuZ<-{vpfKmKJ?P zvPN~#OMr8>GC;Z$L6@v~W6Gz^F~6oai;cuL#Gv33smdh?8MzrYJcz}$|o1ypDf$wPj4wr{wWC*TNVwO8Q(3H6_LANnWvNV{Z z|3vycXm6N34Yc4DEdp8HNt%P@iRuXWp1%KoOr2$1R9*M?Q3RyK04ZTq8YQF~5tVKb zq?PV&h7=K%&Y_W(?vNT$y1PN?u3>-~V4gkK_1ypao)>(0b7Jqa&)O@#>vv@OTIVrk zYub^QBP3_rM%5D5+uP3G5bTX+>ReE@+4??=mK9oFULL@s)X%&kUI3dbg>;e&T39JP z{`c+g87tLwb%O$4NUqW&Nby>4q#qh9#t{&cPlzd-Kg<Z_ajfA_Q)a)!(6ULu-AouTODod|U~EjK~nk^YiYE&}QVUH|8E5 zACH&)ecM%o_EW*l#kbl81i{|V05~dod3l*vwtoizrQM1uDn1~3j*|nA#^z^qr=L}a za>T$7{n$0N2r;9*%i}-j(~HrjUcTY8!K+nbrEfOVlD_Q(iku_C#Bdij+;8M8yq&LK z_m@mA2yq2C4}VFoE5;^nbv>r9^R~T5oTFEi`~@6n8v(uOf_iE;+u;Jm#>d4R|K{TQ zu3AfWr`Os7GkgecxjylcipCo>WsiMIrIeA7 zLlMzB9|MC9HJ=d8u$+fOQNnGRvM*(1LU(WPHmb0@z(IHd-W}}Y9+zVB;|qw7S+sbLa;)JrfQ*st7T6A(N*t%vwyoR1$QCrYy7Xvh}8JZ2eQe<3I=28%0yiAN^z&qu33ygAJ$!?AP z<7ay$WRPPJ<6tv}Z^+_dYO$-3MT|7BxAT~?BbUIR47;DF9R5cU!l(15Ysly+r}5Rb z*i$GR=@G>`sAXRnpYA<9pq-o;(qo-lCJIi1!%Fe}eGUoU$$P2?59$)#+})Ei`P8?{ zOgW>;`K*UX$>>la)0Jj?PN-__XWZONz_A`$0SO^v3bhV+QCX|N(XLFDV$7sKF|S&B zk zi@T(^1d{Xe?wQ-#Dh?C>e{BK5faY+##YpmItg-E$=Zv%^T%-PtM zz~r6f-?L`p;U{d;z9x7cskbiKvhfUazJN9_^FhG<2T?lxS+gODTw5+?*=9q>_+=_V zlb*i^iW2p$pD)iY|PI6~4M}3$oQ~w7CiGR*CE?qc( zAUg#6IXi)M<67&yVw>+(FBA8~v}UkN=AsK*Kgt`M-D@h7p%=IHk+6hL2#mqL7$Taw zwja*=pduoh2Cv4QFOS6+kr~^Ib{InO&O8@^+1;bhs&WNwz)ozoMwDf|?f5jC{Ir%1 zZ~w&PYB5vtli{-0l}O{?nWFpp+OPzUgP zH=ErRTZF6bQO&(y=`WWln>%V+oIcy$SxJk^W1poTnYKUzJ~-$cw2m6|pho$+rq zNYw9VN3$65KRO#1ZHcSM_`qDo55J=EZ{|q6PNX)GW*DmcF1d}waIlR2(yXJiVTcT0 ze+6^dbplCp@mIom;uvKW!#is;i6SrAHm1|3Byu*5*%crEP{xT-z%&yRJPbPB36OkO z)QtkDW4;T$|IW%rOf7$RE#2mMi!0gyR`(HqS6rVvrb*l$hzkufB;5@g~wu{wGm6&mJ}@*BKz59{-`0h&sID(tD^= z(AiggMRB|LW#F}D7T9%TIQnk!pzU(@Q^d6Bpb<-hFA^;Hp0H%GZHLFhJD4A`AcE;x3;jUi@zBvQ$B!y#X2qIk<1rYM+uP@c1;iFn0?7F zt+V8QkQw@zOmz2gD{amDp6Fc~w?n@yyop^fLQHnP*jAMKf;IkcNf8Tq1T2+dM>Dv( z1iBct2`dqfNako>rM-_1$Au|ZedIAg4v;2fo-9~JWeLJtjU=PqN@Scl=wt|=j-`S1 zb)&)7DRk_G*rM5Ir9g@1kF47~na^VkN1t1Ys+w!mKK$8g)^Z*zY$*WxDMh(v(_W4@G(DoRj4bIk01tE5XA#9Tz-+Z(dr z!r{Xi+rM}kOrMrx>DGSt8R6k)qDy zHsfr5%F&hy8XRZi64c0h}l){n+V^YnKvzJ1xXdZZwH*IG;$jwgY#iK;baVd^BEym@>g)@)vDv^Kh>y}r%`TDI#qZst^)nO!hFU(bx zE;r4_@sZ;617W2W)V*47rCH9VHv7aH;*-}mK^us{-`a$h7QRPm95ynMUcU#l&F4Sz zD1G8$y!jF@L%Mm*wpvLNnH{=rKp#iXZq_5x73Y;XX+WDBD!*~ke6W>h-V`~Zl6Mlt z;qwUEH;PW@sLwoo1r(T^MvzmV&b(s$`~K8o=OVAM(OaN?XfpqbI6TZ$#iCaYVi9Xy z_0R<*xNIJDD&bR!q}t6|r$R7iogmZ#{Tim&K#g3^`_j>8#Xn($j{u@Sb0cr7VE^X0 z@1)uvSaNmCG4hnFVcI$A`ZZXB5r4nKJZ4z9W`rMhR#V+k)>y_oI_ksf%b^ggqvX0( zD_YtzCs0W0t!!%ZGKE;l*njH^T7{WhvC2aom&r9pHjI3*Ex#yh`7^xzmLPp8@wm1_Uo%2z|Qh1f!!Tl*3JL6v|^K z4U^z9LK-=ETcsPn5Zgjt3`90L3`8T6Zx1FIZ=DFj6D`W$15`xa4=q=(+7m5U$Ch$VaH5A0nSXu5KT!7H0JXG1v9zV z#?B7X+j~ZQ(ybYw0-gS+8td7 zVmgYvlNPH${EvT5+2-Hx&%W&8$G( z5L(loui+#?^`4m;ua=TKC*m!;8$ru)*)iv+jh6HhB23awul0zu07mpVK#wk8Vlo4EyYcA5W-xzVLlSq??ntIc(N^_0l)5g5%PMS?@W=s1L1e zigjGmU8ojfE(3x4e7ZI;q&DL))+P82%GXR+l3keMYM`t3a?6Lm$sS)l@V8g*%D!lh zKLLOKM2R=ohhQra|2DEp4g{3;)6w)3K0gKKipbx7P%v^>MSn%V*-wEw0e^)x1(03b z+!bHTn6(rU`RYHjT=@IN1oL3w4Sb&oNnz_FG5(r7gG#USJvwhw{Bt>Xp@5dv4znoH{1r zV{{n$LjXa|CnS9CNluQ9zY2cS`MzR{OA@u)3H;{guwM6^k@qr$c$IV09oR>;g$uQ@mb1-w$%!E}O zz3*kBIT&Y$-M-MJ#qSn0vd$()j3{#{<%G@upg&6~J{?|ZL~-W$9CPfa#!>@6qTd~% zU0P?9H0!~WCbmf15Q_Gl2e+G9W}VdwYq z;Y&vr>?uI6NN4{APP@)8^Li0ykyu+8p$+_b0?%uOXZP8=W9$sdLKvcCWY$`dzas($ z6RySDi6_Jii*aT%*9ua2(o!F=Y>wKo5AUisGqr4~)LYOlx70}1b#!jEN3pTqjuRSP z>|2dqBS<_tX_2ABGFTI}G#c94W+vD5YU>v&Osw;VtjgrT-Te^?Oz}I_bPvwIE4S`FkyBf;lVO6~3~R0yUvzrmpORwJ^Vs+|1xxa^opc7-v0=C>C$w>; z>Le>0tXGPpZHev3*e>n`Jf;EA910SF&z(T&Vyn{@EriWC&CKMbmX=<_jG2uEOR;dp z6>_J*qvUN=$$zRbz6hsn{9yxf;za8(3v(=x8^E7?@{PDp(xRX%tGj|B@{-5K&i`#e z*qj%oS*uY)Z-QDTLt1;T*SDKxoq)ZtXbSfxBClfGmba8xFZNokJ))|L62Lew2@jr*%ME6X3M?Nli1x)K}#zeV(i(`fg1;R+)$lU=pg!< zxYZnWbI}hdZZ2Fl%(lu{SmYlELoV8AsbR7O!^cBIx0zzFvs%9VJu#VU!B4wmTf%EJ zV_M`8#{5%LLt^w7%<`z%ow5R*ZlzC-A3g@p?oesUpMq>- zm+mweUt_=}{rEwCdn6C54?K1A(AEU+Se|irx{BrIV^G(0?a7mx!g!{SPEBn9*EfLw zxs0GiO1b8|BmcYcUod75H}!_d)~1ttwN7>de56YB!>P)#zcY@41z_HMthX}(M||So z`DdJ~e@go~j2Y5!g?qeLbh=%tC-JUFD({4CMxZt0{>Dh-m_Tv^$k)i{S^RG0Q2p44 zU&wRg1;TK<#_Zdv5&UQTO?Ea_SXeDwakhqY5Gg{$q~VWiM+WO?)yK{8ZsieI&Qn*U zaWP6T`#NS~+9RaKEvVO#G_m^PALZjNP$^W05v7C7@t0QOi3y~w%cOya*LUv~#!Yi- z1x7r!TYn22q_rpSpda${hbtc}fhBGnu6iC$mQP1VFVync>-1j-t&X!QK#W8tmdJLTt{(9@~et**_K{j<@pxrKaTg?ANT%=b>}1&uD>_(;af zsJUz~yp_LE@;cdbd~=v&cGKYMWetyYP#e5;{#;#1dk*TUyL@Ptt#Kvk=ACJa>aFC_O{v?od%-)llYGdRD+(I<(bnv# zFV!@49#7qb3M0Hmk8;Y2^c5Jp{|QJZGdML|*2@LYmYwpJzI413Z|O0$@~WAWL{8e= zE)Y4|;OZB(_s1j;(1W;A=QA8GbuY5BKTBHXBI$Xkzg*q>8v+tb1ho1XQw1iF>lZG3 zvP)F0}1*vSQi1`P5Tqj5d1Pg(=9Wr={x+yG7RO zn}dh5>&_K+vQovif!|-e-MEZqjolB)aZ(N};N~crh?jT73(O3@a^_^hIjXcVGHdbf zOr*4X*sSAXVVAvln#enfBI4=hQM)a(-8uzl0!w*Zu_Az!R-isMRtY4C9$0KoIL!t> zs+Z8j+f)q8$vmto-Pzo9YHSn%qRMynm*DW}JW}~^tb1(pX=`eICP1hUpAyMiL6H|` zrgWPtB;w70Ca2u?`I@MN>9-lp*ZZNh9Cju(3PLYtl_xAV$5kz-dlp_+j1A^8ca2Nu zCauOGu9|+6eSM{+x5BWi_5SH7I@2w;+be!%#Hw(bV!B5+RHyG-Uc7u$6n=u`G6O48L!JT9?Hvdy=XbBaD>$gEh-JJcJYDP^Yb-!Rur4ibJey z2Fvl;e2qw+{NP!7&p(+D4YuU_CzhMzFYf)?zvx0cCmY|Iu&51_RnqZ4OBcNlRWvZN zr)HYzsJ3^0o6)1+HF4vIPMlKt7~#p13yc`At~&kmWwINhnYokF#~&flA{hGotpw=A zSF24UHma`v*z=`XMNPq#3AYwApCH|Ha=z$=Mq`up_b10RS0f@KlEJilc19?PYG}-Y zrImm8p6v;Po9@j;2~bO8jRgsRkjPKHy84j@pa%B~%MiOGeGLnzIoFEr4sjcMNb9&kLz3+jr+vzw3l0HMg#Q{3U+9c>kKpauGPMIJR-z&74*KG zl#Tv{P3Cq!>*u}ERz8ygrE>1g3Go~4L#afKW_ppj{ykK~D4+dt2mS_i{NRO9{S;A) zyK!$vQR=M`wn}g}QSs7*6cSKv3D^L&wl9p5I|u|K>BoMHXcoIn zAw7wJ@S_KIst7nJ=a!Ya0=6UEKVu3WELq^Wa4euDeu)^>0^&pC7<5)EbPh~Mu~RMK zVRmcvJ#*`qMIx&y1JgSh1K(g9cMDa19s*f0RGb~9LHW)};i=V}e-jPn@~zFj!VsSj zD_eZz$y>`A{IO4Zd~B&Ugt;$lr9;$vX3gs};OYyZidc7zmtYV5r>WPd_Bg(`hqH_C z{*#C5%4S30vY$7VD4Vw~0O1+7u&{6lFx*rL_hS1sx_!@Ae|M?|)29LN#8cpyM>8^q zBklP58a}_*-lkP#nvj~Bu<&`2yri|-YNLIBBIHs4tLFlCBt|0V`BbLkKOo&2h!vCw zxO;?DF!G0=ot^2}+3l`uSneW-jp}z1fI`ZPwWC-=7?rQjBZz$?w%ABXT&Du0fn1%H zrKRHqfomN7JM1}ex*m6>56dxql>iBUo&`>87i=+~d~jtYhZ6DDah_;DW$_{e@?@&? zvrMC6MR1=ul_Goaqw!+6A*cWYR|@PF=`^Be|6lpLQjIIrzvZ;$l|z0DwkXePz`@bc zw1hV(u)I7ET*KL^u3%o47Dwh_DW&ui77G3HIuQ^G$}uMIo`X7kB=aElo&r|Y_e0bz z`EG%KcOvLg+#?cCUkW$b65poHs_PbUhf5?LC0dgRuY<(r$>V|D2H zja&Be1hGV6TzVK`XUBD*Z3C*gg@twk=27g?d}Sd&Z3EzB5}s1`rH^9l(b`Ng|JKNQ zb6SWYbEj(FT-alao%H$(K=DL!(E^*;a&x812C>c=JoUMBJwY(x77J4^qnl8BJO5sV zi3)68+@Yul+t3Go_eXpO-kOh2r}Q7@qm=BRY2r0T?qOcjHQE~YvGT;f_yq(SfiA`Y zDDEq2X~kPP2r_FuX3GYpCXGio_2lK$!m?%J;f}SKQ^#+Wl_US0wET9w=RF8MDFVg?w8k?s9` zLC`g359q*)hwV*C&xMq^%es%##eH_-Kg+X<3^K)2I(m@=Y zn};XnriYSjtyZ~Kl&$3Y($O@I^iUSOHR}pRHnK}f=HL!Ze@xM+!GHK~TM{_7C&nAp z=t(@UjPgO*!R5d>T#)A|^`Qw|fh(4Lz&L62(#trrT`klyZ4rp=fg;8B*)TC!+5i4} zBIOy`?q?obBj;vxAw^{vuiJu-BUb}l(Q)#oSdL>C_VU{_H9ftuA+if$Pv8rnymy`?139#Ueq=pHX&)+Z>^X&WoIVkgjk6%kTJ3BkC zu5PjeAKRGL9y<9$YTsOriA`q{kdIH&_UtdIJ@h@=Xlb0u9Uo$gH2?epcqppnEUm4b z-&Z7gKV!W0p#I4x(!MWuG)=v4^Ly{@?YX1SC#@&;W@de9sXM18WLp0RjpL~10sGJg z+HC-lqVhu~G6MZ9@RnrxP{~rzUtB_#u}$G-f?%KzT6Ql-)E00MnwpxP3=G*}fF7=E zocYhq2k@+V8L|f~&3p}sh~U+RnMS=6h{|xqLY$V;2tk!wMe; zmpY1yh@>LjO_bB;tT~%qV@3J+Ry4J>NB^gupF`CKbnEV>2-xv}V(i*b7K0&(Apq?% zGHzIp3F-r^jX~~^TkXr3fr98@h(5Q8iOIsRUpKH}#lJsRldumx3^hrhlt0kc7QhZE zRE$|>+GgzE$8wlcv`^Tb4looWdqt>+XV^d|wWqo^eQPJt0HEC0csaa7aE9~YFBd3gJv z#Z3f&tic^T^1D(2k1P+K{<$ls{Jp#CvQ?fD`--7a^cBNI21@?}U1{7F`}F%ga$j^o zZJAC;we0m^?MwCVL?agfI9dxL}V`GnTiTBLC3>8otsW{>_KYH^iq&InlX*_pf@ z%#X%K+deEO21^lpQl9yQ0y?yK%gz3P4uri}FcNIY|6Mp-Otd%F$>?~nfZmn=>E3)g zL^Mfbl{FQ|9p_|Ht^^e6zzyI);ZA4@%wl8{Vc z@^znjQm2UJ+jIN8QA!7+6B~a^B+2@pBUmK?Td)8~8V#r5`z{AdaoMIfVr_RGFtVny zWs^6SQKD?J?*jJ008<9EY)m^kJMUd}|L5Rh9=!(tV)JI=_YQ*&HB3BBJ$aH&lQ)kU^rp? zi|;oFa;#Z4@sX{cUw)0O6SY3F?Ne#$PZ1Qo3jU|4iM_b0A0VhSj{Ko(LByp8Cin(# zeRv1Wxo@Zu;8A&ddtV&WA&*M*p4Tt|U|FMM3BB90@+wi~$;FV89%N32f^d!=rnk8R8z$`4qT!FZLh&eAYPuK#vaCM=?uvltiJs+uXb$vw@r)oJ zw34*i{SQKB`O|ixY1*8tx|$Kp($%lF=b`vPNEZCGfYf}tKMl*#;~511Lg*7!a&vZEWh}E%@<8+~ zY$cdlLrd$`|B%E5jg2#E_|l-+Z*;C{ArgW}8W`YxhFha?)8bhlA@>csObxoM5*Umc zZESs{_}>Fp<>c_Kb3x<%4k-!NF{#BWA1ec>DV#cI=4oFCnYjXENU0+LXVnvHVH|of z>tieDKwI_3|Ezh?f*l5WP=JKs&aY)sW_roLoi_w#x77)Wl%onB9(!{qnUXU3w3PHy zVJe=27vu8(7EeIsJ^R?9$k(gz? zO9*1n5&`Zkl)`@&Jx*L2VE3nwIXEaq!K-{p^&<2h!kF7CJiQ&eaqq&`*32b&oP?YX ze{%pu9+qK{riuE$iv!yBTOcTK`T}zkDdzlZduMJh*PENsHC8i>k=C?8)*pv!9A7t_ z7J+GLSy^R|*3{52DX;u~QD>W0DBz|%_bZJ^!{qN3Q)yWL?j$LW0*_T*f1H2vVJnxi z_dWBu6dnfipKVi4wG$8*n~OtjlkyHDgE#z`B61w(JSPtx{wwR9aVoL3$S#^#xCD2= z&-V}^QDopX^1JA^-0tJ=sf~^7K3CB)C`G+lV%y?}TFl)0yy=HX=C4kCO|=<&VZJRhDu8Ci4(6Z$5@W8`W|S7C|(U-jt@ z?%;25i|^k->NU>;(2JzR5c*dZrB;xUWNMa^k>ETr;n>4X{08=82S@Hb1cC~f zcjMdovdFix39^-x0F?#yk~R>uy>kN?YVB7T5tkcFDD&X&thA)#c_n1~4V+v?p=3E0 zXhY&`^V9M%TlyZ~se)BLsl zC8^7@*;!C~zO9oK`yq<0&DddRdfIk>h|<*ysidr2n)WUDRUX&z?%s4x5U!3EBG<39 z3NAMJwmJ3%{8xe@LE#e4n|tGglUK{u>E!PrRBhJ3B)D;kQ=O*>3`sTnH^Nxb%MSyA z%Oqep1WXgQ-!q*|OF9|D@ofiB&0-^%AU_p}43F62*yI7BYJZzabTTE6)-ruIaTrD9tclNaOng% zZ~wZbSfDtvv*0_lGTl176TiDVcnUga{(u1Kt_~{>lqy~CbzwY6-7m2gFk@IItjpQr z7nH4;0-VdI7c(>)&#aS*Eg)3Sh2KG_aNZ19&kz_Y0j8CjiKE~^aq)7JBr6x~)74$*OpZ&o!j+9$Z9Ya7N`qp<-%Y|v6f8z-CG4E5{} z#U)gh34Nv_&i_~6*QqL-0N~w@rq_G3^BDPyo`&DW`DX1V7{9X;-C=lHem%fhbNkn> zn*KjaYxOI3eNpGOkTuOHDl5+j!GTI3rf!fC@WK?znl}?=onO2qF$DhnIh?E`Eimw! z3Ymb2h;kbNIH^ldCrpg9s>lylsG#Qn^FMJNSQBHjxGnGya_-6j zkGbm32M`W_zQcOhCU;_7en}m)y&f;C9`~p|>k7o;-MU>2p&hmB;&l=z`U|Si%u8%mO2HQ2)&MMfgrDE5G4}*jkxeICJ z4Uax{4-A!xE|HRv%@(}U(xQNWG#gUGwGdUp2ZGh%KI?H^_4$X1=I%HXG3wN(z|fRW z{PTW?Iyszw49&m$8Lzswb_P>dBR=cu5h(<^TsldE`a*zXVg|fNB)%WtPo(hy1BKz^ z=yJMjiW(pjAW!vl+G`IVfGFi_8#jaEOJC`2?;ARj;|A2cMyIVOK5w=IlT!TZpGV6Y z4_z8BZk(yQOo{}VhMGDDgbD6t*uVfWIi+I|l8AY1&`UXXUGvo96@#LSOC8p^Ihh6l z4HX0;sFNH%ATnxNAWUp*r@P6Ztwl_UGx2!*n?W}rC-xF%|6D?66I{X`%o08s)^^-u zVQ<1E_$ut{d6{ZBz^s5D+|0ev%FR9Wr=SId%s^42gA^dV_zD{Ao6$JscM+?la(VHY z>rCQz+jQMqemKiG0yAjLVe-$qm*2xJa|hwXz{W;_nqp?|?<6GhaN0O1Hs_&q2MPWY z%dt$X-?i=oBqh96edxrg5E8k^0O9hC z-3*b4=~lq}s7$<;cT&%dGF1+EMDBSo=$Z_oL^QAExHJS?1Yvz#Wt58wrh11J@6eauyR0AS-jT59UU zT3e?}&$c*HnzO^8hc54wzqY0MEKYL{U6G2W?#|YsE%dPMK@`3RmPe_g5p&lAcoD1g zDMo2!4_(I+A{MUWFjBZEnu3WOFvia2EtB_qSpFYhT6Met+gjy1Ri(@x5G5S^NMFPX z+X|zM#oQ@@B94f+YO>h6vgqCC4L(bO1buWF4Wl?}Ue3S7&R1fQH{!BS zUR^l-ruzDVuw%lXgSUZ5ysn^)iovpup#oK9GyKTti0ArJtZa ze)M+v6G90~S#Zl1UQcyVWUF6Qv9Iy3QEYopqgW&SP8s&X<{|0bI~xQ8e*Qe`={|cf z-Yg9xBL_~OL$kFRn=*cFBWV1!oAJn;#X)XWP9*MtF^TV^STcNjls{~`qBHz|Df^YU^<-KWIB-*1#VYV zVw)81L13$2iR~Cjo7A`I-0J1@iB609?qFGt?xX1pzI<;`3N>N=uKFE2%$P3ZhQ2MmVDUQIH=DT_{RFZmNAdtQA`I@bd>pho^m0;Z zzmaX(4R!abE7U;{a@bm2*0^PzGG6{>Gj#RDp#i?g))0-;&YqP`pc(AmLB99oRiuiG z+S8TvvUwZ(hSmGDI`t*dqiay}r0#B^tUS9bW z!D|UTll+b)#kWKj9a}!Tevb$iGc_y7zSg{CircSWz9kx6w&aj^sAp39{n6B{o%oNX z<+EXD#ndl0$SlRo~t!9o7H#na({rTz8A&5P!%UzFuDniTb}_>#rt zx0PPA)n`KPpZZ;L|_N-@a^92Exo%9V?RPHk(OxWH@ExWvoo>a$g7~XL>FTQ+6E{dhbh1-h)J-zqT3zHI9qX z@2oGV(@qGe{IFkt9Pz4i%^Ty57e@JQ{pl}<>%|-oaH{xZBI%W=VgZJNT;{Ji``92CML0h!3K|%cQMFv@DGm|3gS;zOn7-C2#mHO_k=6?6u(4 z2W%8MuG_++o!<}Y3y$GaD>iG9FaXsh%4DCKT}7MriV2=AbMVR031zwNjygQzQUil#N&R)Xq? zkwn-t*AuWspOf!w=k6;IRQ7vpU_{Fr?BR>E?_kLOs_;W^5`)s1%w9I>9J4VO{AFX$ zRw3vdNm;1rV*2(DhTr}(Jxh~HF}*F^#C%re_4yy1q&e2^=iT_$$emC!F_Vt8h+97K z*-!CJT*wC)dHS~DOF|JvIKj{Q!3*`HR5S&C`^#^VZzjteP$_A%%YM(xu5K@*WFnFc z1z9HkAWg~3+YO6;UW+E9Rqbl1Ok`#hC3-hKqeX5XTIeGd+CR;fwNF1K!?t+D&GWoJc=s8PJhd#PeA=!Iwek_M zE`B%cmUxu}YfQ!4R*(_1JRiFuUk3%dWj{w9qsRNPlow@s+Z>kO(BW5<(`KNSw~=X*-TnCpn~U@`GmR$*$fG8C7TBmC?^- z7jE#Ov!9EU#NmUm4n_U};^Z|mbi^pn*0XFs%BP6SZw!O3hKs?vr?8e$&eBOQ>=<7h3(^;iO^RsD#WIbp1f0xWjN)5`Xbd_hnE18vlI* zOW#SVq?Ud9;z&~ljX}=VbOx$LUjD+`$j!2h$Q(cIIZPUQjU$*|0o`QLLcCYAXfy4t zX6y!hnDg2t-`5|{Z{gwaU4h`)GxymW69;b2tvXlFufwS!9rU|4_|vU4v3tjzyXd{v z!HB~@mp{;Zn21YSO?@3Ax~6ZzI*59>5G&lzDR03N9w;Vo`)_M4?E)%cdb{)}m`;}< zSz~C5_Lg6{L!&#l#G1LU?_5~tGHOS3cemuKXPc}vdH2r)O=-|t^2oAp>HHeLBs=I~ z_Bi#~BHwMyCy#gBfCtnl8@ZzHWI|Z~5OPALHZiD5BFxfFYqG7*q20O+;qT97`nL!o z{ERm{WlL+CPngQg-BId&2wZ6+#P=uZR*&V4x@Ml$Z{{_~BriC&le(*`7NKEj#TABEiHb&&GSv}x3A_Al?x^XGuU+n$GKdmFb=!N9tpiUiojWb2IMH&dj&X~*hu+$Dlr4|B{ zSmsd1QJq}5C*l4ylZdH5og^(>u0)t5@NuN7uP~G{(e=NZt_>Xnii>#D=})3|(XXV4 zXp>}{_qZ=Dp*s~ayB;j0Cjm#_2BEjfZ|*Z#KP6`N86j)xuIBpw%y1c2I%%qM`)rKr zdqo$%y+)wMu-yQ%GxiH-(@=!oH1k}rZ7E`P^cXMv6_?N9m$f;`*|XBaUIBuB?tx9= zu}nT_hD4Wjlw#mDz?eNs%3fE&a1Ke7(<_u&VJHc?adc?t5LwS$F_eQl4EX4oWQ&`T z8txZ}Q`*r}etzcpIHGj+v)k#CH-o5q2|rlx3|6;Ne_fu*SEgs>JryPo@Jy7H$UoI4 zzV&qE!RI}X-Rn>&PT$d3ZhX3rL6? zu@10^5mM&Oq}1y@DM5JfJBORDZ_kc0&-2Bt1vrc|JL`|DGAh>FV|UKCXrp#Frj1kk zPQ1wDhIkg8w>hXG8nMUlZPFXfj6C76m_o0by|R;ckvDq}3^LanA5lEL$+P;i656`K zYC<=C|LgKQsp;6&2i^FYe0bt_e@^QJDiZu;tWxHUlx$S2!}QU4^!YqcGPElGv6)9} zckrTBKb}9A5R-{`7VpQSvlP z?i&$G+w_BVILsSO)51E;aX!gYTf;hRhtFv8ph7;+6+U_qTuP2!NVOnqsxJ3hx3)}S zElX$?#cS)^iLhLfrLQ0fD#H{L0g}<3H`DEal2p*jjVJn#*-|0zgNeGYhz-(d1Z6>! z2k0fAJ_f;vDffzT2O~+30(V0$L?StJ_?BO7W1+}jLmAtxE|jgLW)K%pA?xZ(@$jy| zDZ+{<)>{YC3;f1zN^!!x=(tU1`z?%@8&OC?*dXh&ZT)F)sIjFuYa92y30m>;?1;L7V|MbZzQ*>pAN)gans@-u7eI`ouUY>woY?Yyb8 z5Fb;B8@kBwSrpFaOfpQ^VkLArm2{Z4C-+iD7aujhlp%*lmo@krjd3|uvI|w(WM%if zPVoHomV21eu#TwQ<}Ls5rxDe!-7H|H6Ee9Hyt^ON^e;h_@Zas%GYAL93%mxlEn})L zG-RdG!S~&kafYMn!>E$4`Z_}Ond&*`G>d_*JGdsfc!7WP?3>3UVDQw}L$j)@%RgbI zG)DVP#}QqTkOz+6zENn z`jaO!v*G9GgZ}mkMN<+))?=x;-7am&cT`jxj$@BNDYIGhnNy!ee=ZP8Z29iYE$3=G zPWAR@j=L%++t~;Sb1K5@JC~V3VjsTecSiZE8#0fdx{ldLl{mgD==}AHQerYs%-s4L z`KvL8p`eqKsq2L&tPm6P9`d`(4p!Y`Z9Jcif9mc;rj1egm{=dpL}*>zsEsIXWPLws ze)(KZ;9m3S+$P4cd+gZw*;X0D=80u+cB^y0E^%cipTznRG;4Oj19Q3Nes5k_FE+9a z5;N_GxMYowk1kmpdQmE$JHMTC`b%Ks7?^%i}p)(rOVyi`-EeYG({Y=RE0< za1;iZPPspYzUtpV9x4HcT1vM1sG9_oJG()=L=qo3RniviYi$cND~|6{c&}gUrBtlG zU{%;1k7dYL)P(ufKOJMOni{y^Ze+2sJIJ)(CCy^E9|Q^BBt7`4Y|ffJ9M$97_2!G< zC{(jmbm~sGFQk&T2VO5Ja6kL%sbsl)uwT**@i!x@Gx^UY`Aiup%FAW=a;^Q>U!1&m z%dz1(K@H$J6q!}`OOJNs+J+Y-$}g8P!+|Y_S^hQL7SMMQdpep#jqsYP^Y@>4#;=p1 z&GDz8YDs(=qFZ#6% z-+@2RdrZqhzN|f^yWHy!o0mhri0bo4Mo>|9woN%+}3)A z4D1d6PQ6(cMAD&%*PPOfSPE)Za(oRV&FW19(l`#*Ku;2g9C4|Vef&q9#<{IS4;2)4 zKYl?rBeSBW#vhR_oVfW#S<;y&SC-%&+n?-MzOdX*?Wz$3`UW*wgK{}XXavsCtrw_c zYl~k3>&N~Fo0cI5i47$-DMWD_ZaIr8Rx2=`=Rsj?;`S)$m@50d_^~0EZ4}~^Vd_w} zRZM4sfZlV+*o}%~BpUZCJonF5kAKMj?J(hkE$6O_OX66{o@Gs%evNa#tSb zv6Dom<}?{Wo$~qU`Sa<)sm|e?$SwDL6+^t!$!PsQ%o*SMN^S3d&Mi> zt5QR$C{?MhgQR;qPx2BUsvB#X$f5l9x`#e!3h7uyzCMY8-Wg#@j5*5uQ8RAv(;n?bIIYOjG6h1K}j(dD$@HR~@lXV|F#tGF!dJ zr))9H_4*uCg+elmD-@-0^jd`5TfTR+BQBlQFja`}cv1o{995O`gg+<_W*we=F`9Ge zL>s3nKw3}q8(Ta6fN(BVZAmK=#YD&cabi>AFHy+hg9dO^fFmz&=8&q3+bchaGhzxxD|FA(0IeVK1F1 zwq*uC!MIcUM1tdU50zqBX(UHFuPa^5WeC7?5Zh4nUez^~a5W2b#$mp?xI>J%BeK7t zxr2kwD!1ZwWV}SFRi*5*ySHu~{q};-{$Xcw zXP4@N=UY!Yt)X>IXTKF3j*1_mY|mRXCuHL2Ep;ycNw|aZ&3Npzjh&qvAe#Ck=)%K* zDxZPb6FRn7pi+A|jRuqJ!nk3XyuCd?kKP3MXMmz;0ilrJHsE)4D(#Q1moi-! zp;i2%k;>el)0pX`cfeE_XMg!{n2dP5uw?;LaVI@>gzSmIspb~aBH#PjQ_aP3fk0&I z?O<2Qc+%ltdZ?U4=D!Gr*D?WXGsh3>%M$#vM9OsWn?D-A=ju69IA{b5X2ahRvYTp& z=&E+97=j{Zs_?X{TdI9$&SmlMmk#K1>6ghw=AW|5?)KGY2gjev{Nf`NmRGnp9RZIW&HzIHd!2=>4Djk^-E6IyX*QhF#s_)*RFlP_sR3c1#u7;@(SUZJf7%j|DoJO>5KGJ34)H zPuiRYMGIdZZu*Gr??XSIJl~=rl^q3zV%FN6}>0>-)`F;n~Et0rrB4w1(=@ z*HQ-pfA1khFy4ATztAl$9=m767>K21ZnRx!a$j+*>UcCj_WG<&k^D<7jyB`G(@=i@ zITQ;I%tkBt_*y2!B-P3Db8IkZmfDy>LC> zvtEE8Kau#$gJlvTR?}5pRI%YKCQjvZ0JS&mc{%|?E)XcpKCdaKR%`2L;y`KAGkqseV~V%foi4)Z#4MD;&utha0ww?pQBM%=^0Vt0 zH;FmBm*;0!o4FI3{v%J;QdSA2E%yOeE}}H;-0ua%1;ojsR?uxMS$Rwmkw7h_f#Qu9 zp6L~4k&@S$?J&^rf6C~_SzyJ|+Sc}w0O*tu$Q=X2Mgkx@z_c(>su-vo9>}8-_G=0C zWlTG;`|~p}GHP?*&dsLl=;&AhpxU7`e0*#eYG9rthN;gmLQqdUQ}|?iFk?0s{WvpR zz#@hJ>W6iPw_={XZYgbNdJ0aNLX>JjNC#er+D->Pf#xul%mpLkX-Z-0`B4g635nLgmB&&WYdrBLuoS^*OklI)M-|9F_Y9Ca`!FdKv z#JfpuzbiH-7f-Gm3S(dwA~%qn41;eS+Ah}31KX!>9(Lj6SUm?duCu*_c```qT2~EG z^z+J+c-orSAlSEJ;WEFC%_Qs3cLRt9qWU%$%m5}B%m~MeQ~kIUUE3A3?bgSvFEn@v$23u&sYd*Hck7lkvtlLO4<&~QT5_*PF7S!|8r zEDwa!PdqyMYF_oR$W@wo;sKF$^o!6&VyHBte{~Zf7z0)*Z-ApHVx?minM<3is8Yy`25PDM%@XS>~VfJV7KpcXL0yW&kw8wkR zluHn(VgIOH88FEkZuWkA`aM!MB|?7s!1)P5Wh*2aIZGEV-8ky2juO-xcd3E?vjn+C z$;|i2G=KHepWFCDe>td*fMJrsiH^`B0Qt$CZ$}vH0K>%!8l({NObZpNs0^GdiHm_Q zM9|NJS>bsuvoghwTCnK_IMl5Sc!4U#LCv4Y;tK?eqYu&kgJVVJm(ITiZKR683iXW( z)&Yx>4hsnnpGiImCE)@o?pXC?WaVnpSV4C2KfVkKY&^u_ZxK5uZQ#+FQ@0D_1D#{Z5v)34}`ad+s0Rd zSMslDl@Sok+dp&ht54pGN@_a0JlRUY?#RfuKu|dKHknarU0E2HYxiy*yabfgT;jz( zg}Kp1Pywk94^P*UILZ$k7*nHO7Xl0N-n#iD#fpE${4 z_$ktpWFLiGIk^6Z-Y{v)bk!;!?lUkX@KP)jZWP_3>ib6%Es!DYoLk`%V)JnVTODJX zEr8Ti0)G%szF%_|jgcCpM3Iq@I0CSGWWuzU$tPVJjntU=2Qj~AE+G&K^zP+)c8w48 z&o_cF&b>4~xIdVCcdSWGhuLU(cSkp+b#3DThuNXpcrTVe9z2tYk$2O>T?Y{s+?3W9 zN*T?uVP`SEx4_cOf5d%S2MuN%!YLs3#j>%>->u1Ksr@3!1aVJ0G~wmAlk*rc=}kP6 zNJZykELH(ejrQr8{|1;-g-c6tv=eAvlF3s?K9M#vS8Q4OJTXio2elBEt~l| z^s$t-!sAxJ1KZWrU*j>{Wn$q7EvcxgZig8$7ci44GRJ&bCi*1+QBdY}5Y4`O<32iz z;x`uX=iwka$TTYp%N8{*TX1gftM@9-De(!s9k7Q_^xqk?#2FQdDqVb|$l`ja=F!(T zr)z2HZ3Q1k@)UVo`L8$Uj!*>UVUUuXjslAOk!;?Ya@%n^n|CMKf^N ziL>(n7Tcr(SD22#jo5wuxT+3dYBW#3M*K@?6D7pODc}Ym?1EQ5JuJAoN=36r(z>Pf zx;_E+o{CU&8yg@PsR7!WWi;Y2n&^K%3F&^1IAd3D0deMYK*LfDfG(8XCsg=?aeBZ| zx^@wT2n)O<))z%i^$8Dv<*^9~AMO8`5fdep+yirTAj937b;)$W@I2cAX~wM0UFEc= z&rT;0Ng)DYQEP%wJ9Y^xQ(GT@ z5p)AAhI3sVDlocDo|xd$FILd}c%SyiSm@6eCXj#Rue@?;vjat zQy-Hu@B_M|6qS1yA5k`N-41$=P43k>Rn{K2WH2Eu=vIjk0sr|YtnvQ(<6;Aa_CWxv zq#SKb`g5o2siSvwO_`a$fh*<|&{t9L!6$GMhK63f*ITgq=X37FgoFn`UdFTmJo=-~k^V~IWab3ukyX@3oc zw0NvzI#OecX)9ZhnrRJQyZl)q>>Pcs(t%X_KmWSFeIW$_Yi<^)pb1k4je$4hR+UW< z-;5xz+=lTX%z{9u0ucJ0!R~y|?ie|XPWq4eQ}L7{v822dr9^(}TD@|NkqZ{}+)>eT zAJLIk-+sW4Vw+Xgx=sA#_1M`5Z-ZCe1UWhIZDOJC`6xESOzhM>4mPeAzk80amp zG8D=qxqj;FFZL?d@**jf^~p)gNwG@4YA1-mQc_CdX@0qkp7K`;CD9Wirk72r52K74 zQa(RUJr)|c=fA(dX=pCd|L?sBV;Qp&)dv_@Sak2qWZ(4)aDD;{52RQlS}GDLJghqh zXb_U)joYvg2x_wKDKQ-&XNvzvxI!5O2r2$k{ms2SPD8_7J4q_0YR+fp<<|zDUAF?U z!Gxd*Dgq4l=VQBhF2X5<&ZGNi z^#m8oC0>*=Ri9b2br4Mdot-a0B&uyZ$eWs){#Q%U7WS0nVOQYC1pa*EUuV0L&A_Lc zhA3Kl@H9OJtA{%ByY!2xD@k47`ybiZL*N)}9z+CU;{5AfzEc4-GcJ3xTfT?w1R{+3 zvms&gI8Em>@S|4`nWClDr&f97H87g9)|z%(|82Aa1_lP>mozjX9?T)(_0l8Y76@oo znP`DeEZ50*ik-CcgC((j{{iV7h8ggwkf zIy?q8&{>f(ZsGyAQ$YSqD)aK{iU#+^3;Aja-qC4R9-gV`p`nPI{k@y;W{#Y^utj}~ z*a@4u04A4Zh=mB6dibrWNq1^B-ui4J@^Wz^Q zBj<2@(Ep$hsT}HMu@kr`&-A@8;Y`$ti;L^rnX5m)%#`5MJv*oPtLdt|NJhyA1jz>iQQ7hb5ZugCm~ zr<5D5%2WflCU1?A#CS;<{pR3^>jdN?H|W$0p5Kr7dRVX$8ID4qMZ6n?rei#5YlxpT zypMyVrPP$ipJXL_&SICHT%Ebk{p8{XAihUt`MZUav$)$%#cyJ zS;Iw-(dp?tQa^%K}sD4->HKr zZE#Iubi_5^&VE?*_}*pITW&f~23*R0I1^8=u0kYfOdDsaF?aEIL{XyTS>F`CEAfo+ zM_PG=b8bySFt}i5N6V?40O9oXG%JvC#T&8Ko@@>k5rDxk<;1&7%zvFOh$SA;pmUW* zuR>#P*6G%Yd;tc3UbT_!V}54p$f_2#hKXGQG*t+3O#d=(q}y*s9V@CXeb34{QgtLV zQv87ac93AAl(R%&6bwy$gyMZ!*TY3FG!i5^bYsJQ_72AQWz@ z=RJBzC@8Ac_9ja+2N#hN#eA{$AM!bGlRo&2oQ#siQpm^MX7SL1G7p*F!W;QBG=(yS zf9I6F%}4Wf9#npj>unr>RV^ieSGsI&H`0`BO`x) z0ft6S^4rh;B(gM7hjSm0vrv`S-T~9FPoI9*`irur&+_eqT7``KITftqB_@{%%I|f> z_mM^*1K^?GDX((JsW!*ib_)h%IcLtY)YN{A9(8 zpnGt2{U=+f?~z%$s9UM%v(`mbj@4q&=ZAgNCf-z4bFBfG)~!Hyk{<{{c8DQu@%_tr z)manM+I&wC!=QIkn_t&q0*mp8l<>lo*bTLN(3y*X|E&7yfp9-_t88dGi$A4(F#(`L6 zrSN{`3HC=~$NbYS9$)=QRA|_;8iZAa!b1hBYXep~Om#$C*B(EYrn+3(-)=3bs8|K3 zU;}0-VtaW%T47rS{@%LPNPZ^i_O`ysA)ds(<|b%q@uNL85?EMiQ(!(4-eumi#?YfD z1kMQ|mPa>p`z{w2N2GPKCm5(P62nTL*1pa&8oe4_tt|{?l`LM)51!z$gb0re5k0Id z5}zUeNRZSHNt>eG^D4*Qw#Gw7HhT;DqXNk(E;3gcNT|c-IZ}BpDVqXd0DJ1lo1}~x zg6G~kOL;F)xUl!4IWsfQy}^7-lGpf7Gs+RpmQbJFNF^4aT0T@|HiNTCZNjdB2cxg=|G8T5ClTUbL z9Em{`bbx^>bU!!Goh*0#;zc`7KSofu{rXeL>ydu%nWG|8>8%2W*iUyow^%q-zQ z(Zm9uyn~#swnEWNGWX_dEy4MMjfshg-lbr18JU^Y*mN!1T?UbvRiTm0TgMrdb|^he zA42;UE5rn({xv#6xNK&bxoqcIV{%S!9JJUV!n#f)V$CAq-lH4I6rVs zvLxS}y>i@}y)3J)y%{q0Oe7I%R6OI{zdgJb4`14IT$51ieLLIWJ|YO)+3Bs@cif$> z#6P#6u@`v9pLXe_YVQ8wWe;VkWHi-SoXQ@&_q>0)v}PKO)1xVBLC_pzWp*Jw8W*=W zx5WSO{)0Yvx36LPx*OMK^OG&H^v~ zzSUK{d#+}5+)1)#RZ)?ALhY!HUxi<#sJ2iqcc6%<(gMbXdam@ZPPN%UAPgVhQ*?bw zGBPyv_sx>abn^RJ$rrmJmB)?tD=VGw{n=VekTz_{%g3v#tpuqqY`xCN9pcYY%1CJ(aIj5>b0Ho?%_6uE4?t&@-Er^VU)x9PN&1`2;Cd|p&(xZbPot+aIA39BtX zemCSijWp9$MESS<%XiPsUXD*`B)zjkf(5(EKVclfzFp0YTJMa={Q12|_cnqd*=cq2 z?{dY7VjawYnEdrC`63jgZXYNty&Pyu&a%1^3Nt#gYiT)WKKVMgCUM(8KjJ0h-@;;` zCbGG;x;52q#0d4?t0hD$)g>lLjVlxfql^A;T*YINuaCgNRjSmhuE$g* zQF_Ns*KT}ff zCAm<`<=o&KGXQAm@ugli3id7hbb6^}<4`a?dC1AdAfLn~ZIW-NA85hnd)FX)H(%%8 z6E-wPY$^FVO=(P>Tn^mD&}aW4tZ04(ey^(&&xkG*MXdY_jS1Vg{915#>}%q`df>#= zk#w1KZ#7%L^_c(zg6yfLCY`D`!;6dI&Zl3*{}Pu?VbZBv4ZLEDYZAQm)$ZA^W^5-n zocS`Z+onPN=xb7?&Aux6Y^|edyK_RzF!s)9*ZV3X3FTc;S*KS~x?S-Q5^u7^Ml8D* zGybr$G3n}R_mJkkykQn|Hj=VrUU$~&M}})1#hM}3A-R9$15pDD^LYL+izoeZ|Clnb zkBw1-afl6LTg&15Q2S*S6~lr@9iw}vg)i+(QfAuBlM2p!uzI+WezJmPB>Jgglk0xU z!i-kMLCYO!KgBz@{T00iw;@IYh2S6Q>0Oj!2EG2sXg8p=tmXPDs!M?;_kmFdagRl4 zM6`FfMcI!973>$YC7m4CAsJ=Db@LpY!>-j%CDASwQs54?w8ICJAEhZt)IR*BSYJ^R zjf*D{PO4Gbs8}pElOHq)_a@8unZ0lo`x4_(qOzWSBcFFQSyts!ofj(AWFB4|x!7D% z!!BEOmY1kQ8$NbTgJ!41vY8~XGX{i^#9G^ilveHQ7{@Bs`)_wc60u)lR1^F~vo$}~ zChHn);5NFS~`6gHi64Hukv0aL9mG~*wOyD`PGAy+hXP*?Wag}oubspnQQlpVd;Nci|2mR!th zQVeUaU5Zm)(XI84`Y?9j2DhQ8#BsRh(TTmjT>ZHN9VGnh4-db4ddiif&f0B4CRShT zcd)DWRYfnx@_WPl1-C_kj@%y;4wr~K1w^7@r_;_cMdHdy;JPVkkb1U zfHe0O&Ara+-v5^VJIT6>m0=Zm?F-?v$wj9k`FBD_LwcO z%&yvIzQVAr*3osR=E>gsOk@md6OO%PA0e*v;u*`{k;#lwyBD)>yxd+7S2dk?)O!1; zNKcptLSdX_q#xnKc}_`H@Rdb)?-Uz7x!y{p)N)|8ZRNu+Fy+R#rwc>yfzUCoook1c z6_UX7H#1HQLZt*gsTG=X;kGzMQdJV+BDwW2< z*%&=3YD+6T#9>l?spe&ACE&1(O%TW^C4%r^FgSneFY!S1Zz;Ix*A; zONbm6myMiKY^etqWb&Sq!AEq?;HQXnhUU~g5%(9qs`WXg-*(r}3b zwwd309D>49Kabh?k~iXAseSEAV9srN{Z5&z?j`-Y{I6qD1DoayU#2gue9(OlpL(2b zUmv(NB+NJ@Jmx(K3IlIkQqqa*P8`?PiGK!MhH*$g3JXl7#{@K^InR>i64TT5JTy^R z1O#@Q&!#P_B%nz8=AY8YhE7von}$^y4$4VGeYk7W$o%@TcXxJPPy26i?zL=r*?GJD zlBmENm1CMUTv{(oor=NSbCoTz{FId(UB6?~R50wZ{aCmD46pt-Rx|bxoK{T&bW3k> zKIKMiYB4AM9I~Y`O5wcdc{XYs#(TTV-oG0;$(#bKf1{wN`8ZLlO$_ZFz%z><`fZPJ zKOPg7TamE&02djm$@9}$3B}%1J|7#JTqfqQ+zCxs)Uzg;B@zcI6O`gBo?DYl#Pv?e zu)e65@>AAcLX$qB){1yn8Mk2t9P3+Y6LMiFXoj&&OyRj6zU&%5kp*_SX1R+>)zDF? zH7azLCX8|Xq;cnXFGelrb|eKLhpud?HOkPd;W9$dt7=OtogTb3tomS@_|E%WE0Gve zx89|XhM>FsN0y|KHMHoSme6*NJNIxr^qAQ3H=cVx$edPfyMqw_w&)ln-uPu02@4Jv z>`wkhc$YZAZ7=Bi{0odN^lM^!Xl0gRws-&MQq`!fFZ-h_ETquwQ(6<{q#W{yC2mFb zAzkA4d|%k`H|iwqhd$P>KMGsLd%X9fi`M4)_cca)H*c=ujN{(TrE_SiRGIcIoSyy+ zPfFG7x;u2p0d89TC1nM=$TMe|x9TQReEwTOl!`RUQpol8W&6FZ_HfsGdU2~DN37ARt1BYSBRs&xMeH`L8+MJ zNe_{~W&1a0_F@-SL`2Zs&plM%YK^wGd9oAjeA_|I_r(?;7u8iP{Pe46vaPFc@}tMP zK5krks^$WwBCGwlVRs{pt|d>$awPfGP_SHkUX$s4O@6qunPbKWX*uPylP>+uF8Do+ z!e&i$)c+gfh&SjTypqJaKS}R~*IbAknX!X#$k~VXX_hl#KD&4(yHo15P~zS9^S<{^ z1}d6Ea4e1`Xtsx?HTWHnc)jc;yN+ zu4UolZ<;E<*#+@p;$d7;X>?~Hbg_q0Gu(Xj8KcSX>&Pg)PsFb03bkn)cfo@6dB=&v zInp4ZDqj#|GW!H!mc4jXdzSAp@iBYw{&IutOp{8#O*pY7he2^Er^PSr!%`SH*^}Nf z6mK8h<4tzUX$yw&skyfl5&xAUFB#)N9scIf!@M_NU1R3e(xelI4Tt!vMpaiO<55rF z_1<{=)Yufg(x&-vhYn1|4BS^mwWrDT?E+kL*NO?+cHFIKW074(;5685sCB*(Mk-i< zD|yRln)U;Pj=C|{>x-hJ3QZ)Z=X8Mo2ZiiJu}^hlqt6ltboG;Ui9HNE;$5r~WYkcn zlIJwSTwqHoXj!8L8d4;@&7K)GL**$Ft-+QMotpbxTLNn+O^_7wCx=-%AAw>+28nPR zFZ1eol1BN&QnDOhEdfE+JI-+My6W3=c8Q@m*)ND(bpq>y)T40MVYw@bn47_x;;xK? zSbFnxwqe278hM5IrnT4N=X8TLYSWe*Mt6`O75&A0liZG+bqfKR)&qrCSE^IN^wk1; zExo&`Hi0ScC(Q5D&c!C?8Y;b#ai`&P9cg#UhF(TkZ+RGl#@a$*wPP?VF6{3qEbtm# zqpT>l;)YO8nnr^GB^`R2v0x#^DE+_=57)IWQEWpq$LFYFpQOUlIr_J-&K!J?O^-`; z%y-VEW?U)Hwa={1IhGAw=ek%A?Jpk24Nuhi`d;FW^i+3ID=MRIBi7t|ciUl?+@BNY zBwzDt0YUNYLr%w?*95M`utth6wfj~Ft5Ooh##O5VDpLhxXY`ZYu#RpSSy|&Tg!Zd! zDq5Bb3+u% z-;b}Hu3=Rk4R_lAJLA{UFfr4*qMuHp(tO3*2a#IIi!{D+DX-@*XP~k4YM9RTI(VC> zgBmEBWkfz?dj)y|s+Cv7n=-mFsOYwzQnaF66;1CmN*S)0dR09{4hGrTc7&G^{U^@u6p4xyD& zG&O`Ha|@we`8I}+O>JP^^z9W_O8mLFikgoObRSo%d8)*Ih12hvra35{`IIN}Rc%}i z_OYIqis$`}+#%_DPJ(`_>$Y1t(W}-xZ7z6i^_-9Q>U7xrP&k z@%R#`hNm9XdW0=}(GDntvgzz6*fiDm592EquZ-NVil9hifJID1G(AC?1E2Qb)3KYs zLM`(L5b7A(?Fn}Fw_DP9r-qj%>BPSUyC*^z3hlj@em847<3r!X?0?R%?~?0Ws558m z)&8t~rCU^F$&;`%aaRAMl)lpG5_-y&T9wZrsD3NVazi}lU$VP_Mu7Ng_3k&{vXM)Vl=4u#-H#WXHn1gUx+j*M$uGi2eeY7KVes{8>#RYwbP5qA2dv57-2u&RDpgESVwO>{C3Ap>Er`uUL-(8GrXZqQ~p&*iFLpdIH znx(y^s5Vd^O^-qlCaJ=tZP-ZjbWUoe{&M(7i^pT+jvkM&be-f|sr3g>xTYuRxtp3x zU>6=M*|qrjYp^bdL;Ip1>%pQt)P*N=z8=T0veP|+C*@KMxTVc@-tF^+uZx`X!*y~; z`uV$G@tg0;9TI@4!{Bg0ezTzK&bMNO5sd0Dq6)j_T@wc3&o4q|-O-KV;dT40C zIc`^=ntnbM&5BVCjW5sV1NAMWLX37-d=cBGNH^CD1)3N=Je8?bbP^GOY`kc@1~+Qn z?(c65i=Uci+|tzz>K{I;QU41DvlvZXg8(W9mcXc?nHPCjL% zu}d;yO(~`sn6es|roz1&9u|=oAOt?Ujfm6lRZ)@J<(zG-7TafbAG7CzRy0rIJ`G5f8Na^Kmfar?vLQZpa?e6jV|@0Fk5HZQ z(`vs-d6tmW8G&W!txd0Ea(5I*e?=Bj2NhOj zVz075Xka*TxKzbM?G;ZOc7MEQHi-=rv5B0g4iGnlqqR<&svV^8lrJCRt4XwP)-|h& zY@QMCXTU_-o6oL3H<>figifCg$Bl+o7nzF1oyik_(yK(LU4|0Y_%wn@tujX>MZ890 zG41`lk{m-b*&Dbk7s2BcN|(bl_{!sT7{MHqMaY<8^0kOf5;)<>CR8)j*y^I$yL4!@ z{jN5#edlpY%qHFOS|A8^EJagwnxL{LVVG(8QKycKII(hC%*V|g-aj#+u6=b^dkbxf zg`ej%JziTjYxLFZs>1(u9W(45as9f41spQO7Zp8CWSa!0b!S7F1ruW&5y@Z+hmarZ z)j65BKls>5js+w4$c9o}g_J#+o15!aRVc_4wV=!>N7H=7VMgMQ3jFMQNm{Wle+nE6 zJ41GnhA$n(`y$>%T@W8QPQkUu7sm9I9YjtEf3xRiN%|&t{>2ig(n=Dc_w&?XA>|9Yb8wh-a#$&26x^uUzx} z{Fh-$3{7RxH>TO%#s?k?kh zaT7E(nuUzJ*-?#33p=$u5i}b-6}s$l=G)4I=uDVfk&|fIqEq>V{V85{(?u;ZohUn*xe`4rGum?;+1z`>|a|?N>iy zRm+C5H02;P|!pl31!;wIS@%_N{2l;b+S7j*;j1Dz*+5h6DnJ^sx9eNaLB`N6O<@Q ze;4*8oC0-VYO1!WRAwN1clgl5Z3c&Q(so6k>*-7im#=r$@=<@x;DzT)Ur{A<(xO|n z+DmM$GWLsEjw-l->rBB!y7!oB3=DH$ZMLaXpn20RXBJ(GwpbHPHX!rXRL^slL!O@S z>MG2`wvl7$(Ie-JEvKUUfNA6;rb z`0%jO%);Fn#XeEN45)3(7E5G)f18nCW+LUT?IP} znd{o*%x91vMf$Rri7M?P{>xumXLrm+VegFB(4ul?Y7FlZHCfR#j?S}qRdN(Q2(P!4 zezT_gsZdS#h;Z-lca*94zRm&R^j1(5wav_LP=`^x^7u9L?D|MrpeLCje}+ECao>29 zGxN^tJ6V2rzqeKi-?hndK5A&!t#|#A+1~yP2S1}MjYWZdANxBZFnDFyCK9mCX6+!t?iZ1BAPG5!4kzsv?29u+<8{VPT^U?_?PUz_1aoanfM77?}8|%4^3A(1`VK70;ti=hcckLMv@f1G0& zT^aVQn{47q5sr1ar%j*iD~*gO{ot;N;sh2u?VG6~A+O`Lp4j+}fmBoQnomXR=wZSp zVu7o6>Jx<1VRxRTA|eUCaV;CLAI_fMeQ+`{@nKke!ldeA8#R>o&CvlF822I=r{v0`#f zut*8+&-#S8M~8H4_!#(OSe#c&+Up#$B0i4FzX=ce3<^f+dzk++*FK7EX4KCsb>fXi`Uql56Pv$r#TtZ97 z@P3_I{Jt6m`%-9oySOhPxYXp*s<}v3kt6R8SM-hnW2}9Tf=3rsG3(Bd8dDNVJo<X=BY-!F2A!e!x zMoRpe)}VGR3~&Kfvdg#gbYn&*_#a3N^%_NSQl0ZuK+QQ`2DVUcD(_<;YI{%#+{bQs z`9S7yEv{r<&}t-BpxJ^>+G+sn->qtAws-3UGvopugxXi5Ac4fKTbIzP)3!W3R}3@F ze9WPvXk%_={|7dM-%pkNE(U;_4EBEZ_n)r4`5i7JAz>SW#N;B$l|^)^iCq8R4O6w(2{Kh2JP}{8)zd7vYH6 zAsf>+G&T9Rt*+Yjd?g64Y6Pd7*8hX|JY&~)ya>5$<}JVH<$3H;Sn zRWw+fGCeOeQjpW)&1O9}Cpv1fchjcG{7jUXR>%>zB8Iq?-!W+AQ#| zpIVsc)5t%q5`dJ%Jh2^r-zy3FipC$bWK;`lHs|Tn5FM*DakM-ecGe8(5%99O#bD5< zm13S8mfYKzg*L8%V48b?OE;B0?bcl!^Iigw%54aeANPpAOk*-f+HN}b3%?rA?SUD$ z@_F#RW~d05g5;DKnJc5JN;^y#J&1tGg&NRYTl*9z-E)H4M>!>JBKbtaTNU@kcVin( zQdEt=rq2Y76H@>T5uLv5ZP1(X2!WKS>|KWU1>_DOG%)+d6eN((e>5;~fT{U${|7ZW zC#)HwMN88b{-%F`7yRK*WH()abbI>{}p z2kCs`I6<-*Yr)M&zP3LD5apRL>sDbBZ6F8=@yaB~RFII!uooQoC z`b+uLvH%0NEsCc8<*P65b0;3js1V}#@4ELi-1@l_8jxX*SE%$UeDAidz5G;P7VPE)c5 zuP9SC=5I$h6oTqC9U#%B80F=p*Ok}>=&!8S5aREAhG~k}1xc3(N)3o*26LVW(S5gS zLqYK& zUf!kiGvX*27x&}iW8LRNdqh^j=xl~R%Z}IS=iw%Rzl5ayZI*pEm|AA~h@CFk`KJS! zfKRsji=nP~Z3uA?O_figx3+8F8+rgcru_~0GU45}XQ)N4V8Y6IGkm-;a9dR+et)*B zGvCspHMO*~q>a4cmq%7RLx77~H>>+intfG`lXQN5hOgcmggJPssi`^G+n1i&zP(#Y zY5hKJ?UHaCY~ykO*-pUDani@nW|QaG+dHo7Be%^)^7F_-po&|IbaLSFvOho&T%k3v zmeb9Jrc1O>AU=x#kmdvc4@}vgJPeJ^%=9e|k*le7G>S46O4Tm82gx!xP1P4uJ2o7y z;~1z{Ov+t&$Gu>cQtr!s{HSUaSGZwISPD&rIJ4pji;XeElad^fRNd5s6U8cIVF7zn zOY@K~EB=U{?D1#X!UH{-Jh!X-nkP}#-L|>V1*3KW4Gm2Py79|eHTqrm@yJ%i797qd zpJH_mwF+DS*szFdsuin$Tok{tArZjA{)xA6Dd#XFbbl;ltEH~~*AeFb5||2XyfwqE zsuFf-V|$fx)-(p1(4H!MhPOz5p+j=oXz~`yT(LT33(orO8Ztb*EmEk4cBUD9VfDmO zTJa|jO3>N+n>xdrzusZ8?K7c_Xb|x+LJ0|5#-F3=0*unHP!v@8?shgQnl6vldU`=O zVJj@u^G=azx;vV0oQmE4&CJdo?ffW3haw2y^P{$d!5|4C^Bt4#C0SITiGXtmcG**! z*#@M_bT*9dM;iRUvymVwS!^#)I3lcPgM1)^pFw{}b3y#MeEs^h(Sp~p?EYF0!F*@u zo2usK4k5thH&qC?;;4zyB^|9K@S}AFdUXowYijOYudIkv)n)$HB`9kChxA_-uML=* z((nbK&Rx2gK(I31?gjx(jVdO6BL64Vmu?_+zyur@hlCK0OjOSZssmg*w#$fH?@zW9 z0Nwovm9X_Y!pK~PS~De>8qUswt-jIOS^2ausD8`I$a1NLvfR!u{YFEO7aAPyWRy)Q&DFYv*=n2nuXJR*Z`#dr;dt&KrDI)|3MWf%8R9_s1hi>i4ny&?9<4XO> z0RMAE$`tL(OyEynf00&P+%BIz(lkxC>dAbuq=Kc0jyi*`DMTtb`@ZJxbV6^Ts-`B6 zI`EpV*z=PEz{l7yb*J#L7?0Cr-tb!YZf@Q#2H1N}?fab9zZUo> zgyD0x42>azoC7{2#{dTkkOB3P$t00y`HyP@o;jrp@$*~lk50Ju0xKgB`=jD&Zf_q! z{!a={o6@iv(GS2lfoHd}esRdCHrDA%PvF#8@BFMajs93|QY%ZzTqyo#7Ds0vZ3+|j z-%l!NCGLY&)MYywx(XkiqI#c#=26aIx`A0|+}2h~Tc!jI#L)C`y4wAZRAjayUYXAL z7y^!jJg;}FWt+Rn0wXaD=soDnsDBR*ek+DOx@xTEI@bqNs*jcy3HrZ}BBzq0I^bFM zgp7=gQK)1-nwXJuCO$eUgFYc4;a|Au<_LX3<9iStB>UQkmHgjypwG`v4RqDjJ6)Wd z9`g9xJ6@j!#L8t`FPKDWwJ&Zo7wl%?*li6{?}JnDyVX^r4_2>Gb^E6D-dy&a6DS^ZNoUFSOq=o2>;fHn<&T6k!$Za(R36 zd2=`no@!zY0SU~1pR%x*ti1d+z^HX4I%ZmJ+c9w*E}^q@L2ovH9mJ$uaZ*L4UWbz# z3kXam+BU`id+qP6@gc?dSZFxpCjk$kjWV?XAcXR|{3+dL&nt$A)%qALaAz)YS8s#(yvGGCi%?NXhg~0sisLhk7AikA?d^S6^!qzWP}aHxx0& z;2#J0QBk*NFpo4KW1sE;Zx4;u|Na2s*T&KG2m5pNrco%La41fW#v*nwP_M)FN~m@BUG)o<{%^tv+M~7mikCUA%8J9*Oc8q)MX_7>%Vv5r>?}P z4-`H>l&%}HvZxak|BA$9EdTbX2}2{u4hL0d6OD@nz`(x6U^2b&M<^@X&_ zxDi$enduCag^MVpnHb7(w_P?KQ?CTciG$6x-(2LEsu>=5F+aDIK}EcW#IdvyEA_%R zSlZ1M0ZX8ud^eJ9%?VQI^3%E{G*ch%{eHaHs$XnZ8C?;OUd&X}dKP`&PM`-Gcdiv# zkRzw*|C6ayMZyTV`kl}W!?aF*A{TVrv9W>IGnsGsVC#sDZ8jNn<{0fgqy&HVVHntC z|LlNQ2*DREIJpOj&rNq)RoTFHOo5@Tr5(Julre#VrrU^BiZKpsWh*OQyIEv@lOnnY zL%azW>vAHFwSPIf4e zQ(-h!-WHEV`Sz=j2gwB2Zy!&Zk*@n;2saM4#$cDFJdDyoApB{FwZHH#yEK-z{9X9M z%|bH|cn0n(p5BP*9T5;lQ zGiSoVI7NXLWRlrFYSov`*eHkE}43k*%^*m`*O-svX| zUyxKoUxNkQ=@-Nb_T?T>&49ZH2;$_VdR5jM{rtlHt!;obfmKsW4>iu0D|P~zu|1}CFhTtJ*u6#{8CF#Y_Ro3A27_iGlu_7s@^hvlEM9h?%$PVl zZ9~E?fQ$;X2lICF?wqzgH=zRC;CG1C0_XBmlh_a&HMy}czc^PdJ3phVn1RnX610yo4? zw>#@h6KmN&N*mdFW>L>m^5DxYU8TwzB?YDOm-wHK37 zdh`9mQV{z=ytXJ!#`(XZPQjLO`6J@#Wk-Bid<#GbD{NsNq)K^0vfI$zX3F`a?T=tH zcd$nfj`in4gMu7l!^7pT@~VHNYH4Y0wU$Vp;H0vlLI65Y^*flnykm#`R0d7;)Bj`a ztmC3;*Qkx6@FJz4(xDPcBLdQ3fPi!i4bmM$w}7Z915zSg(%lRxARtQD&;!!lGr%zL zJ>z@cbIzB)?|=4ec0F<5>sqT(;>sO7)91fBkbARv8|5%is-ge0(RlQPWZHV<-N{6y zfxs3R(~$_oZxvkAi^s|u~VYf9*^C@@uK<)bf?u{%Ean^KP-p3$SF{XlE`2 zJOa@b756wYCdpM;B>P!;d3ljGU*36i>)Zc7YNe^Z<9Yw`UsbE=Ky-Ou&g5l_=jJ%S zueaAxaBNOllb<(Bj6(Jq@CV2RzW+XodbeAzy@ec%e&0wI#7kdWB?;C;WIB+y5%-zm z4cOoGY}O?_s==`~e;6c~PgoG0erJv1fJ%dBi(?Bp$yWntD_XqtzT8~giAV-Z`|j>; z4ZBKB%jcJUji}?jh0n}(QD=V-ZRG#}Ja@sj)~gKYJo|aklpj~hPUcL2|2pTWaC4{E z-uaU%F|M}rAJzoD)3P^H8*K2+4-}$uz=*=@u@kW82a*%%46=EX%m;)atof^&nP4jQ z1sNh>$t@N2rHX23@nm%5*ZvEj%V5{IYZmy#0>F8w6g`rXlY3S!qbBKt3K&R9 zNgo87?4N`@DM|liGO+$;j=(~ZS?#WkS(QG53h&z&e=W(F4ZiIh0duPppe zePI%mp3NU7JlSVX>h&QeCN|=*ND{|T@fsPF|8>XUZuc)_`ln|DDU}nk*p&SjbnOZH zcx5le&<-7=CpF=HlS32wc(0RfBf|dui|_c$p?a-z3M{ZlI)R53i~i>)C2tg1Y>uAP zMONP2n%@^5P#_paBGUpt^`8L)1VMk4{6kIUpeqAKpxRgVyMj*GalEulMe^jkL4!xr zYDGfA#1Bl?o|fH8-|@%C!^e5Nu((lYbf2M^GGybVOwdDXZ|(y>^$`b0=ZFREg5*gD z`}25C%O>xGu@6%ZZ=2qGAEefAU=P1dMX3!fG9vFnjfN+w1$so8ckBR` z;icG&j11?iUjcRYQ$G8YVrB-uuPhcPScCf>}Gyu6@3+Q8cvwUHP+& zP_;srmhke3Koc7*Yvg)bK=*0f}{RBeaYd@La*W;RfFGrmUqju0zBr?#t^ z$4GqVch{A^cm^t|M(0=0!@W0_mBczj*}olDb{ZH`HE)7{ZgRyW^IF_p0@)@t`~1B} z^!kk6D|rkHk{mRYDM>dLmh^1>?Mt7PPf4YVXmJum#3UpnZ0%d4EQWEfc_69`BV|7>^kk7-rAT8o@r8WUO>1YujERDJ7v?Z01P0b9}0A1o0i_ zOUka2@+gIYp##y|H@VmyO3ajqg_I<2NWm>pJIEHlkTX7k%GU0@zP^aeE*Zb^%7TJ2 zMxJi!=|c`02*P(vyLeT)ulP{Z<+uLwkHIVtgJxf}<14Oaitr8~73K#y68zF4Vj=uq zgMpTSNam|al%N!R&##gqPUAgOZ1Pavn4D4k(Tdb#h@1Z%{<0uy4YU>siTxFRzV&Wc zS^)j`NUE27NGs*5U6>Et&&~3*T@A^9EBoWjWg@bkcb(F8luOv=;Y0$~QLSL#^@&dB zq4C8jqzQZpdG%4z#1nIhS3iB2eDH>n1pZqde)CQ5i@c|Yo10$OpRxMWibEpU?!NyB zXxS^2dhB;g8=y-c41>}I8e`3!Z@$0(mk4w*Z{qzgsk8fEsFO)AGqC;qEo()dN3aD} zyZV1pQoe^8p13c(RpK%@pI`ccFAi2(FDnJC`o4gK%@}iO-G5;$;kK)rt5s&EHdgBV z{yy=|%p~!TKkwP(Ki$oe5ls4aA!boS|HS;&rQY?w}j}vnD z{E1D0w;?g$~^WhogBoMr-_|smb^t}eve{L zhGaUq&Fooho{lx=%4Jb8u`M(NmeF3G?Ax4I=OWRCQd=;&i8lKDQU4dLRt>{Z8#rth zik2ztsEA0Nnh|R3Ev=7i9h<-M)t*#0j; z>%Sa7^%)-wyi~FBW2Fhcg6~hw@l9%WU9UL7O0(T!>$;oe>e}#50_9F>S+(ZQEZod- z`gr_vR^8qnER%L@8@2sXox5~+G19RxWz~|4fy-ZF+eEoPw`WMhvt*WKtV5+!^di9|J`e_!WpaE?g_K5zH>gP zm%Ac<{Q+dx6b?m~4ly0_6uyR%CK?Gh&?0M4x!Kp^j5 z-yI| z%UPAErEM3Yhqt<}Em%3vWo`5YI?pdnS7PkZ>$HolW0ty$VkO9Ou|Nj<8DgIOLM2|a8M-0`&nWEjRysJY=y zXsUkG_qI&a9tEa`Dh($uaVFyCz+(s;5ih2FJl-tHpdb5r#Ti2i%MdCdZC=qXHLR{> zm4z{x&MjAs)n#okijPAMF}ALk*n?eIr!UHe;CQh7#J?aUx#e;#kjWNK&&x35_Yc|^ zQfjyx_g__;`S!AhUo~s)4D3kPbNAp3v@d;J<#wyIA?>#|ETuk;PVDF`aXNC+=@~57 zF{!F_(A92p43k4J?$I~D4T?hXQ1-c1N%oMsDT$Vv34iT8DZrq(DkX!IE;~kvhoCH4 z>Rs!U>(5F(QgrgW<0Bj7!GlDIhMmEzTuVgBw8MzZBp!dp+vk%f zZ)Mdq9Y;m=T=|FOxAOhV^p!0LmV%%E;P^*Wxghc|h5~~Ie3Ze|wzDLxQk1U-j zyctS?lNJ0FguC`1v=YLL;TuZzAIUU3$B>^y3o zEt%#V+{&=I#swQ<`7|qs_)077zP6(rGe0ly3BnaB9}&bW7c_(vMP6*n4kF9xLIjml z#Jz2YZ42woa}>z(5#d?o%B=Gvo@{3ZiFF9C%#hmMEsK`U?zy7^d$p0{6uJgT2?}bJ ztL5`;WtNHI&F5LP_NU~C#KoViBHOZ#fyd0Xhfr20MY=1tFC|N_3^AqE5SC0v#tk*+ z9#&qtPA*h(ErRwIQ+>xde&nK1}}PypyDFcq4UVz;3vii^I~RpZt3$2nqHTO1jqE@>jG^3u^S; zE6}O%1X}4&&1%p)Esd>~>~G(m9{ggeKrsRr9)kD8N@TqR340NJs{(9_?DJs3`VQ5g z4_EckSCY12uhgaqQxNa5YRc+cA5j*fw_asd5R>$+dGZYQthS!Hz#uC4?PxTyc81K^ zeth5U>q@U}1Z4#6cv3}NEjw1yndM9UYrc+^2D4&~O1{6aQN>FaHBj2j`_@uLl*IPx zCzhc>HnkGPRott%U(e5NJ3VkkeNCsZQptTPkN5a_m~ zu!#NHQ545WwJNDrxH!Erye`H*%~U*nu;GgLyKU(*MOe3q+ly0N(l4m&&08dM`ttn% zjp&bKK8&CS#75<@HEB_KTSMcKcgc6K?#okgguW0nwWy7w)^P|vi!nZHv;6T(>8&+U z=Jd>W(K+@5U1+?Baj|6P)LM!NT?#icO^Wyq$EAu?B1Z08BNNrx#%brg@SY~^5bH40 z;w@y0Q-?*%aYwF22*F67c4TCD%hArv9J8g6@yRbq#d-_Ajz=R$KX{cA*P0U>Tbf$~Op=~=G0+~g zWsBTIG+;X|iyNPsF%xw9)SX;aYAzL|n)_Wh^sqIeGd)W#@^i`|LMOl550;`QpF@$Z zAbQ`!omGi*Z8W{y+k;YBa>S#BsgbP#S{J;6*ckkRDd@VY#$P!VF*G!6O#+5THKt`v zjyU7i^bW$|u-4Y9ji$0EYJ|+Sjdzemtxh&;2NU+ty--#5nsfAq+^>EXWzdwG51|=sOJtzN#4_4t`gkTmEE;y9C=( zI%QrOOSfRaSGw#{IN|h}{E86N!_TYwb-2}MaUn-;4f&%Ko;hb*r) zKDy;Dt0$7?w{P=GAJOihk!_Z(t+QHP3U^8_p1meqjd?b#VcL}k!V&d936r!Ea|Hq)T9!N;QuBS1 zqmBPYQ4#Vh>WrFZI~&ee$f{`+`td|Jbn43=Py>|o?!fsZOF%*oX!k)x@O`VPY^zPE z?%f2@y|ufI-_x7iTReA7hA_E-r@3tfpSECM3Tus%_QUP*7L$4 zY!FHyZu`lhIHc5w-rj<`9-_Zc-*I#B1?$D)TAgrx*BjfcG^kA z&NZey((IH0u{%dP#HCPrq^?X)(|MNx4<)Sg>E#+Iu6qdj$jGTFJDiPUi*W=Gny)%%F?(iamh>dy0*8R zi{2Gp%4dGfx_V?b3)rCV$3WPws~*w!t=%)X&N2z(X+(WNPS%$^6Z~bu^LtadyUQSsCHrMqbXe@f{XmZB(W96+PHdl-g z>jbB6M>={V28i2Y*uqO;X8!^%=IuLTD9+p#vd6G1xu^Oq*+q$r#IelpPWE7n9Cv<-@X_+-k9 zj5;*x<%noXu*?0ny+ch`s22Dczi55vcuD(mY=N7>5Q}G>N1^_$vPm7<4kZ(tp{8k} z#l-3*M$e|0eaE8I2Zy4oWrQ?53FQgX6E+1F&0}8Ki2QDj2Dj$mW&ua0OpD{C+1!K) zD^4B_{GriK$VjfPlvxd^Ml^yux4m6ExaTj?rnJ0Koc!E|Li`%1^TIozxP}`AdEWbp z()1BuU%otz9i!}uQ=edsgBWeVXI#$pINfT4Ym|trS+8YM+*vZ(&~~g8J6V}L+OR-2 zC@iO{8jgZOB1_DkpP+YYV&b&`#p4o{1CwUiXs-;er%}(Q%^9^o7$S~^l zg7RrSGR|Z_+YQWh&y)z(L}zlU&Z27;n%<{0E4sa*vs-6g3L)>C+8D8iA9~-ke`ELF ziJ6+nGPs)OQ@&&xTV{QfM#QP{ElBe z@4qqoE|$^0-d{^I%hJ;lI&!?e4XM9)zNKZhpSCA#RAcJr8S|Wu0SQ^4AYST3`(%_G z#smv}CfgD=*bG>bV{uw|i+gt6+j$~Ec?)VV-wznv5K?$c=pj{l44onV$`Ezm46isu ztvie}?sRp3>BqRPSzYH3XcLoi{G&87r^?^+#gmq>8HHFoj6x*$p%DdUj92+}{zx!R znFu9%Ta-&LBbtK3dC^7F2Wx543%Z5oQpi7j>W_+FTLaRBY*xDIv|A*%RPk@5NDSEK z$>@{Pt_uFJd-t2Iu{vwyQut@acs2qz=d39lmo0Q@XsbG8z~2qCOC~SoF#2d@!4A42 zCsl8{v(UFZ6tOc*$*HKgcq+cQo$D|Z?^xK3H%}l_U~K3!S9$SGvSC5pB%^DF%AgcE zx+0C{E%x4`U5A@|clb4~QzBn&RGR8~k5I=>Fnq|&uFJTT^&ynBNvbNXmN@!5gPSbt zyE69z_W=RBhnA5OHmVFOTS2`~#rkYWhGZgXD{M$kU-3yMb4qw!dvZ;fXT65jifP%G zVb!VX(Bw&V<8!lQ1xi4=bSCSU8=hhi<6lEKJ<}-|Lyj6K8r4`i+|tw4J@w{IAhlN` zv!Dt-k}!sOi`Dr(BlKW%rkj*YZkxJqgktP^x#7LFJVb_rsO$3P+s@xZ{x6RAj*M2; zzmyuV=J^lGG5Kp!8&{{y3#7PWG(to(#;a&ax53wyZPbOXPV8xL8I%ZU8uZ`WDy6BA)J~^&PpAL6du>Z5!EVadaH%cFW4 zm|5y{ckgg*cnfGkxPffZeg-5cPa(t4+9g8VF(1(NYezyYaFR^8z~}8{&qh5-FCiqg ze9RM3SLVi$p{06k`x%*=adRiiwwl=8cSfcEl^r8Ne@1s&HJh8;r=`T{Fo}hWk$f#X zH2gGZ(u3-H(UD($N*`Vw@S;sDmA8^z+xzJd;=2tU`NAu_SG8YmwKYM3*raKm-#AJx zFr-$Vv-Wk3!LC5W(Fv8mVl3bSNXJPucY$&pX0sjrpvfpwjBfL6Mra&;n35%Q{l2Hi z6(NMxM0vsHbZx?$6C9~9YC*@m(nX3*v1!wf3hfLT+Oy0uOOC$kdC)y}6h4)Wrkp|R zpWGrVgdyoBR8}PhSQ5w{Y5OXvnIZM2QE$+!8x!QuVfkv)lHVD0>ainw3wB-&+EY2z zoi6spKqlbYA820?MEy8m-Np~GWoh*jL4ZKnSUAAC z-WYp6UiR3D(T;eq=X|m+C-^`mxL1xOe0MJ|B3lq1z(Vbs84)!zKDT^*Oe|tuM6x$c zwi}!y90i6XxbKwz1_uJ2bgoYyNP7n}wPK@oKV1 zEKHc>^(n9r^Z9>)2&J8If^g{3wcclDK(K%Rwlbe)^fOX+>h-8j2N;rtdR+CZ^ZQbUT?izVJPZ#ZFhvGeNsx&pOk z(PZnD*QO;Rwso8D?84V+jmi)GHf-dNHOuTu*_52s>~7$NpZI%pYSQuZm5Cy*>+|QE zYPi4@9Qr?Mumh+2OQt5wMvojD%BKd!LpmK1!<0u^z;~4%_~;glM5Vo8Ih!>yBV!7f zIy>%?LdBWvHZDo_Z=*u{?3xRsVi)qAfJ)6D!`y8izrr}3ZmQBFP>FO)x=lNCNpPOF z$d<_Rfnfk^X19KEG!9iL7JisiltE5Q^0$R@!tOh<&u9EY}bIO?<;LB9px#2gVE|0T8 zflThSw};FES!c=?H#gciDJ>1j=vU3d&0US%a=O?{mFWQK9V4j}q$Tp76Qv*Ir?aWr z39fb)4o4WmwroR1tMC#h0NY^afopUY^$J4WVG3HeZK`vMtm(ghlYWHwu4iV*%8pr+ ztaqxr+`E=i>wPYu@C?hykS_&89sk39H%!LUVr~UKap1Uhbb&d!a6_6r9f#vvYgaoK ze7{2V+A_O>K5JrK@HXrTPN|QRD>#fiC7J$lZoPA{JxAx{#tjVoEt*e9OC&1 zMMcH4#j83ShmMkDgJy3W&|$TrtI}Sw5wk`GUwQf|#QK0lXtVa*?4Y8qTL|y_Y@L+G zL5@Pf)50yh*Or-e2c8qWO2yzr|7{Mry*>7QdOFz~dxXHsMH+d5MQ%v)x7Qp@6YFv( zZ2eb3Guk<{`PM^n&@-3?ewjEgwrfhMG4dgh^rfh3T+l~#y30<6G1Ee7O^Br@UZQ+c zxG%1+PKs+)lP$~^{sJPMZdc&+N)g5$p!m^;@1+l5?{QlCE%%b%;G4xJs#z;%aYh`1 z^wWD^PBts$TY!zX9awV!T1mHc_XArGiPd#H>uaKRbB-vqyX%plSEtx+`Vuwc~lhZ4hDIVh?68V@W~M02&R9Mv9EU5&r0ysKpdQo zx9$D;Q!Ic z_`rhbqHfdV8Mb9Seb77sE&Wbdb*X@$`1;I4xbcO5CRAA;ycaq?!I5_hc%tL1Prmh-(b-y&R# z1f|>+$qrmd6M^F;cwVo{1VQ`sPt@9#;Dkb+Q}4dLr&L~8r7h=LLwVR+w_R)-&IFHh+V zp7gx|Wh^id9Xyt_0)}A#`oG?@urYal9$6mjH zC;#O6AIQ!=f5tL*B5l=@kUYI)?X?1-wu|V2=EAmQ>D1<)2Q6M6MD)v$OdMGWPC6xh z?~kPCy&Z``k+fc(vk@96RS8@D(+!5#Q7rokv%{ek|P^{ZE{Dr_;$(5qm$ zU`sQ&ukPlfx=H}t9S)CX&~kEViG~gKl-8`w;voetgu0@2>wBU~xrk00L%afILd}BV z)4y4Uytpm0isoI)95L!pG>b5dVjs?x@~pYU3D}8A>ok)gs-QM4cMHs1J}uhp5x;> zxQANRHa}WD?@XBbaC=snOw4=Qi@tdA7ncm6Q z8l_W8Zee6)(XG_e3D%VhC7p}fY)yFfmtn%Z`wKgn7vQ^AY+a2hUw~HPh>QP4tl6y1 zha-5?Bprw-Na4TY1o%!kUhu$~LnVSYcIl@Fj1m;Gd&kE;Ygj4B{Vh1$a)l@mg1LVf zhQ>IFhD&(*@>a^Lc6X=hNU;FC!A%=mI7O!G8dx~IR92p3X`gM{n*H%&NQJFsnI>jz zG{7d|>+S=o=QC;S?3kv(K@19wPe|sqwY6mg2E2b{yUYRLorU9J&lbBWF9tFq92gi{ zJiPHs7cn0MJB&*DEBAs)La}#}s(;;qLf(Fs{O7pW$3M&)pAdb0c6WYfRsy3A5B3ZD zdg~eyfoJX+1z{i*`tbOU4KL>RN8W3?#Qz+0T?#nl&Vp$N4hHI8QgB1qB`^FSPnwcu z9QHrnEE=Ma-&WvF8LPdDTYKf^h_lk`H2rh1^h>x95%}C@!50J^8cQ~}rldUJLAOML zx75fpW&43dJn74TQv*e5Qw?`{-QydJjC#5q|2Z00z5%oHG!va~Dm9({U(m}~8Phw( zi^2Q&y1XN6@G8O(xZ7Iv%4acpF^?X5Wb;f~O3E*`nC@r#Ntgcl8U7_qfMn38GS1tl znE29%aF(a9Sld5b3DM?VB>?{b6D_R}eCUPBmis#Me^l}IAUecbuV^j+60@SZbJeMX zyk1?AZhAcwkQAT;Zx8Yy%%{e`cyILzBVS5_Fy<|%Kuje1Kho~FK+G}|y$`Uqxt%5z zm}=wT;6FRK*W%9){B3xF$IFvXaz6-=u?l4^R6cxp_Ue+|>6{c`No@oim<0p~dxV?I z+4%(pmq6^+V8}n$f+J7nz}jX)!WZ=gsB#5>?wyI6nhz{5>LPNdOQh`RZ|ZSp(J3#ot4$X4>0!Z;C+I^Vw2scO0-4I&1TD} zt#_7xqrm9sMXG-v%&H}-E_hGSJ7CWg@=3~i4}*bmM}55#(g16~qIOdb{HZlLyV)4Q zNw?9c93W=rwGaCWDirwt{K9Yf2f-kYW@omE2>E5k(!)cWD6~kCua2Off+uQmDM@?^ zsRbb9dUk%v^MqdQRog`Ie~!Jb!sA`$FeQY+Vvs7QwN9RSgO%J-v8BOP(5p`amV%WY zo^_|4g?$#kA}mU8Fl^_P{E}^SGl8xDpL2hY9l9dJ^X(9YN@Tk5Y6Xzl?o&jpurdi-%%3f$U_yT@i%_(b7o*0B;U=+%NhbT%w7R zL1ISXcXn6R#sJ*<3s}py|8v~y;~`Ug^ucN#f4=6=^MJkI&!v7a+|&}eR%){AhR<7D z(+VJ-0L5SaEwzX*_G4@`9}rdQGaJ z+x20>p_bKyv-E!sU=9ErM+?|``^}~!!o#_|^}r(6O^oy7LijDXzr%^USIW3=5f7I%}H)x#;Z6?$uGOMp=tEe}z zSp2|xGQz}pfLcrZnip7|hbr80@RVA#V_zdcK`idx zzI`e#=q-~nmQkxo3uhRh)D{6nlT= z3M^Rl1h<%5k`^MKE!g|=EwhE}LCnfJjSa`@8#%AOCLOM8_`(z@h_WR~C6_gab%Vu0 z84z;*0@Q3-957*x2MWp7AbP3PLnowi;qR!OQ{F`?&ha-->T-iuqDcbx*#o1gfixbM zvjI}Qra&)o6m_zaR_o^WHTq&E`~U+fat$!IT#Tk}=R{+XkN5=96~2m?J1$&r31`xeVU zTKmWwfPL{-MT?Irur~JptUvE3u$qco?e)R zua8g9a4wAki&m7!s&6nagTWxWj^=syNtZA99C+1V z_g!M9Fh#?%RDOFZh@|s8XrMdY~lqR2pYq}h;aVXQlgVtenGu-ix9q> zj`}b776r&W!a@R==;=vNZ2kcp)lycXfrO3UeU?M<9@{Qr zKZZ7@R@{?j=RowqI;`)m|L~Ll zL=j>t37D(1RREkxrjNOpbLR9-8^_yS#_#>5rawweUa*gRlhOTvgYAH*+8!WqH1|yW!a2jNQ z(+7Ay+9(iMjHwLRMKJL;mjE;>#_70-AXMiytFau#saN4)$RL_qioi3OqtPpo#~{=tZX<8ye`Oe|en=PJ%*oBgc6YPmET)_Q2SUfl=pm6Dcklip`Lzcd1Gi>D z(%<<|yXDU8vd!OY|%KCoJ zx2NfJ_JNnwqgRo`Xl3b6?ywE`!1Gk;9#lMwt{@8u3GuiZ60n71u3H?yYw9`o?NZVgRV-@=BvY?)BN7RMZwq7%WGZV!RPcL5$DtC9c&<`Cc|hITe#TkFtb7r^)7Unw2H zw_&|MiS?ju1jvK`W!Rv>3!eS(6MV1_27&3Fey9omK$E#IX*;c-MwNigntk-E=hyVz zKOGvv=nnn;#695(EHsVLrEEqkMVIiDI%)D;V?~MtD<%S?wXsBn0U9fOa`NSn=C!dW~D?v zM{nSuf{R{Sz*j)6L7)y-6!}xANYU&3=7RGomhy=`dixFr_s7@>1(t8k)Bj}UVyAAT z$6A+yhYP6DR#J+ot)2B2>6jJRt1dFU>LhbhD6w><2EE=#A|CKaal2f-d|Z(bsKmpJ z1Yec0H33C#?S~9t;AqaT8TUdV_am>Xd%UX1KU@RrhyN?rz#P*(z9<8pwmb_PHtGiU zGb$4Jbwyu${_%Py1qq4(AOC^xI~T-~NEr@R&U^2%ae5g~vxSVi^$OmiW&;@@bMUzS zI8mfiwRh$x4pJHWy*j|R-7f;=$@W>mmtiM}-Mx*X03&f#&1w}CoycQWQzSmG+|ANc@(`6zP0dcS0ZvnkMJ+$dje^U&$4ZbTS zaE~pY(JmW_v?)2wUmyi_lZy6N2?wJAKLP%c(>)CA4*_v9s1@?_&-<`>w^fxt?#0kG zf~6}X!FM2cA9VGz-vDHEk!q|;A+1}J{!BU}Nk~Y{L~H9Cr?NYuuCMFgdEL4;=X7>x z=6bNKBp}ux{>uGu^@i)>4>i~G5Le5Kb1Z>1OG-|!IDdbS_J%o)`S9T4`O%!>pMZql z-@^oVvRqJY#sSuWlCG$55jsDIvy;-RG22W@8oA1eeSKt=qmE~XZ~Y~k2y#IwFxd$ulK?boBD8Lyf+$Qz9{yWEEk4 zwO4>#_tg{`kMlDT3KCN3{|RCkT+Zg#pcG9M*LAq8gs|fpb)dD#d_J|-_eBeO;`hm% zC*{S6JFq41XcmG+B1(+eyI)_1!Bl#HmqbZ%A#hvU9QR!Md5cbJoy)DmNhf7Cca(x8 z6MYKOKje&Z_l~E@CClWUW=gc#uRb4CXqiaRHC^EV3#ZqUf9?QB)Zy@+$ zT6%6k@2LpVCUDR^&PNl|Vx+h#MP)Fgthrj-@)*kE z_xQ{l3+daXX*x^_MH7#L2q_RDr*P8u0mOqm zOn3=Aixc)-%w**P&3M5!-dQR2iWCN<+0&%1DH)Vu@_`_`4$RuoLFP}d*3fAC zeb>z<6*Q#mt7aTdnRf&0^UBXh$wb*JGcVc)VY5zxbT;Zux2A$7r`EHlro=muK9Dsp z)ovX?-}|qD+()!aA(g#%2EJW9k&D@}HcW2A+kYLN?l2%!y27Osx1dTSwgqYPrxiLq zi<|smR$^rw2GM|Z2b#`RYl)`XFCQ=bJn`HAxayKY8~CnJ;#?L*PB$@IOh4Q%8vJbc z97{OnPG2^OdNed%7uEk&w=)p;!IA=DLeJr$x;FeZu;`gUl7s#7*WpS~X#}hH7k5-t ztI%*@QqUyx304NOXJ3Y<^;$Y~SzB;}Mr4g6w=qc+L!ncmy~xRyhDARcXfYdE1%5U< zFAnr>Gs@+~7A*}gT{e}7?0YN$;(Y98o1KNW*d8ejo2{K3Hg3azN$m6{)ovc0mXxB; zkFl8;8+FdjX*l`j5=Xyz;6>|68%FIkU>*0j62oTe*!%v*tY-<+q$Qp^NmFF#^T)Q9 zt48s4{al{9{-f~cw+ro!)$xO!F=`XsD;dz=MT4de|u{#Ts^I^o!#Gm&zd~vCE z(J6Fk$GqD;ze_I{FB$MS!qsfcb^$i~&N;l8SHg3Ir3usc^-zM_VWcQ+2DBJM>yVJC zonkiI>V%JwnHJ(&iB~*~WGz;wO^3+W0md81PTMra2M#g6&lI`>v6%Ow+qzo*b{7YNzI<-zOFIQP(g5Mk{-}Ae9H4E?qihL+a?+w z9MrYW^WL8l?kP^2;o`7abPPOPje3%$l){};Y3bfFMBvNwP0D*e*87$yv#SLCv~G!K z2>w@S|AtW^*=<9^oxZ-E35U_3;8U(u=EITv7!)d3Ibe!jVn4z`CwIdg?%SA^kv+Ek z+J?>RYFkIg7qYXk?}Fwxkd55o0~#Yrk}hl-KS+a}5x; z-tPOU-%rz>m+~hEq}FJJn#SG#%lWn-BQ6I7)#IbaO9fM0>6_t4DEeHrR(}#Wb=sia zCT$kvc%jxDo80*cI?X|F#Prw|Wk0xZyVyu4`y!Z4q-3Ie)$NtN>p~P;J7PGn6BeQ_ zidyG?^mhGdO$6wZzhJuA({494PxuM=&Hz7yB01un18#lw2aSdw2zjTTl{=*=_LpK4 zt?AD}W=dXuya-MBo?PUj(FKf-iLf;HY%%ayz}4(1wKgZP1kS*|3~28qg{avF z6K^A3V^Aj;H-d#o6nW;xBeHsA_E4%&iJF^@NanQdsy_;j-a$gB-=)w=VILnC@s95+ zY`c2%p}sk4thEFIvwimSRnZxt4~mcC19-AAd(NdyO)ZX6E6RyOE652rG@J*W5PMDs zowfo)%EfZ@id+Pv;NQuKt;aeEKmcou!7!7_i+fjKLw~Z+R4O`U8v4!oh$Q)aqXXSW zS<)Ka_C@o+Cr5EUz8Xe%`Llday3L31dV5%@G^Zv9FQu_L+#EKWLah0(!iitC6VsWJI>>Jzh z%O@olJw|w=3+w*zY#Q22Imxl2r#8=H2mcqDeL;iwfHn*O7*$;e$ z#U{Pc4JfJPjHYxi(f zMW>26v40BKkJ)%0W9q{+gNhrHd{x~4vNt!Y(?&@r&Mx}e_aHVs2k5~9-E&F|EqT^C z8_zq6{CR$jK$Q;*o6oizkOg_<@oc4WJsOQ`6h#rHqeJD&{e@EoaOkLCa@rZ<%YFc# zNBxjpcK^;#p69Gmk3PSlO!4tknziGqVy}PGDQ}odDR+}|9o~i>)^TM`o4fBX?#a~D zN6b`W&|9!Y9x0gX@N&W?t$mBrjSih)ojg+G@Tj>8EfL?aGw~ifYP+xtq+hX4%!Z8@ z1I=r`t<9`wPA0|u9dYCO-26Lri%&Eu42gJ}TC#}<&6VLPzgIDU^HT5CS86L$czhCo=+Zv#OtNlt>B=?!|cbj{p=%Y{wK5AqP_aCtR$;#^HJ#x?xb{~dRBbCnDzL)rh3;m^}-2S-oetqg9pJ`tQ&r)aX zF4D#;PHRm;W$Hn7cDPbP=r(Fe+{alL(Eh$9riYHFCzERrBK&%*I` z_;GrO#jtD4GN?e@2&!y8;MT`iuz&gdKbHQQ!giFOv9i4PZI?5iG4^=$Th zK>MCZNNGLZV_&c261H5g9F=LJxSYN7aTZw^h|RinK`^~Sq1C3sN$1v5jq;t}liFX* zn8U&*b659%HQn}{&WdwWOAFKA0=49IIeq;kwJ?^GO@Ri#JMSd|QVLv1&ipjrtFF>Tl1REOLW-6IfI zYM^9Nq}@KrYMjMp_L*sCv7RELges)3xjHgM>SJ9rkpsf(Az-LT9tayDyAeIxRaQTZ zJ{n|acMbWPj-8wunC2Mhwv1YvmfeG@3;5V0XsYY6wmTO;SL*bwr49SKwInMQAeJTz z1^ki^2}-|K)^&{b8#|B~aHekjDE-Yv^|5c%W);T z_QQNzzcKZca;gFPO}XzG)GVnlmOQe09_q4G=VIMNgkL*kmj#_#NyFRViZ`G%)x>!w=<`%uTQ#Tfs&)zcRZY{#T=@V}{k4cJ} zs)<5)G9M3_gSZ#%mad-|JALh>@Q?M88}KqCp1nde#JF&G zIh)olc>(3@a_ekt)~*~aFNxtatAex6jwxim?^N?Am=DBPOZ%w5RF>NRd`CB%C_drr z*m%uF1=lnO8NRr!r(Qarl$29{;&_Abyp&Isc?^L}^S5GyGSak}ty(H1!c+du-1~H- zmgicjQ55j<8+ST=>;9!Gnr3f(lC8f8JYwD&<-O9~yyJmEp89g+8} zan1wg@Qui&-|*dWjXukw^T97U4g+sIyhh{bb}}288p)0{)l8pIPKbWQF83zg63#4* z^|hB+nb7jteQ_^RP~pClIXw^7fTgxy2f0!a_0Uf_yGx??k9ShY6?+Su)tV$pf$i7S z9*}+;pb}}=F?aPO#2$F@%@4`j?k6kfHd*zjP7nj5!NVC~OOn)j${o${ksHE^P}*I^ zdnu?rO0R6Sy4{~<0}|ZYKaf>S%LM%o#=bf%%5`5GQ9wd)fszu+fHX)d5`qW}&46?% zNOww?pa@8VNDD|wNyiWdCEX3uJ><~L_sm)wb)U13`{SQ=d0p$BH=g>%9gG>g6s5_> zEb-Hfh2vt`jO*`L#@jfzO=hYykF@6jBV>)+6fO|MODEy*7MN19-Z>i-h*9p2qsrn~ zBq5;WvFtl=nHWB@Rbk9k7%Se(O)}D44;klDm&qw@&7?Y}z0~^BeqKO_2n)O@kBJ(D z0>q;-g)(hQbMMr=Bi-u^f#Vw9jt6Scc@{Bc)a+Y%F&xv;IN! zp*0Yq(3mt5CH;kf00kSbGbeUMwb&+xtFLo!#2^j2V~`hA)y)<=lg>6KIBNlnUjO?o z(`}u2KrY!dAE)4bM-cR$&K3UN&umEUuqkver4b?XYKe`@<-@wUBUdiA{g2VS(O7$V z-fuB3qbpEv7az@n3pd{liF5I*rJu3kXlQ>=nkV0&Cn41(6LQlL)a3Rp7s_!m>}zAL zFB1qtr zEaO(o_qPO4(%%jy->}=TOtHRzV)xXfNCYS$yQmkMrYT8tF&$2GUj=Og&fbn+MtHhK2afFH$@`e(&O0l zT@klVAb=vJ@Oep&PaeDK@n0;|FgM$rV~d#<2K>+RVUO(};y~VY<4q}&h_ej+=zI#~ z4??UT-H=<_+7sF+i?t4(Ea{LDsWeh%fZpuy)QRc5VL&jcrDd1NL&|r7l;->Hett2t zPP4XSc}`PzuRRryGbV$8WMFeQk!Y>K7t&CtOcGLSf{#Ws@*pS|{`hh%Hv5i#mp7Oc ze6)sTU`+O66e9DHM;w>-`z*RES0}qRXREjN;G!bBABKn@ z9n+pBbk}{@b(m~13CvgiJDvB&Cn;7hD0pRe4R~2hMa@+A*1H@FBp|MUs;&L0+i8B> z{T~wE`qdsKGEdDTM+=5oC=lb%_0GI*;~ig656q$*XDN07p-*q+&f`iWw=$9}%8I?S zl_|;P#rK}?-w@dsBikY+Hpr!*Ycir_aV>+VyNJ6dBBP!%o0FZA(bg}n?nAspBQ?%V7AYPu`DxTTM{Z@7KV^g0Rhb6#0NlNkcvWcds{vk z4lJVQ2btJzQ@#c@o_hDH!fCw)+f6ML2U(-D^(48Ch>X)n_p&nsTxmrt9KJeTWgwK#Ng#BVf7TMCSwB% zLyi7~5?}VzCw7>!yN%wC#TFOa_Vw%~$=6Z}7l`1G;nN=o?TVlYwS80@PaIT#x^Ea* zn1&qF9cT}crv_P{QnQR?-Pr}|1I!THFBN11hl4L#BTk-Acb*MYURUr~IZCq>d9ZQdp4h|6eJ zp;sHCdLKEI6?AfngB&@-E7!E#yj~E`aikko-!oti*on+*w0qaRJmPqnGsh~srKYqCDv@%w;?TKIqA}ori#E#U(d;9)Guiwz`BEGHDe?H}w znU`5f>Okp?EWV$M9iEgvoTV=&@o!wD-b-A)w^8N3()mvK(F|w|+s(_+qj>ub^o~is zbsX8VzPc`2ecg1?kG!fk#-TwHtyx6E&VBd!=5)CMVXq=+5`B4D|0J4~oKhwMNMgr( zBm{`(WQeO^?HN=$F2m9;!Mwfe_Z3mmTh1G6?2#$zWZC&)M;w}nKUjiJ7HTNGIf z7L6{KQTAsE=LjP)6nyP1EP^K*PnW%SvKlW;ylh0|S8X&N@`pM29FE-rhu*hU1Wy2mf6yC4xN zOj$pUTx8r9Y_C7=6D^DKs`fnCtGe=vlGUn;WF5zE%fil#xw1nWX)g@aHnR4O6z87T zp1j?tOZK#?@_Z{}XzIZ(KP=I6mN9-eXMG6JdS%BV@XB>XU+&Ypt!M5JSxtD^n3?5l z3cbs?QR|qqIr>GdE^L@Z@zj;)*@8SD??ZyMrpw>Vj;K6%4)*iE<{eYvqC%Ia>W;^{ z*J&4`tWbNjr^*H1L%uQIg_MTZO-5cAdWBqWR$^^_wRFdny*hu4-zsiKTiE%aj7c)& z=y<^55P=d!!F7AKvKkM_TSGhk+DdqOAMP?wqrWS%0>6ykJWOdpN=6p^bj>Duyl!*y zBln<0Xb|$n`{{eUoh*`r&Zgeiy{MJPD)f|RO%M3az$`+n?X2>^Fuzmd5MUp_>SsB= zEO0hfCpjN^GtYy=Ep%hb`T2=U%9d6NwBJr~q$}gIcVQ^dX0yw*lWRVjLY<*feBw zfe_!>nSax3PZqIqebVkbePwMk6lyY{b@RYJCVXvQqThch@ZrPL5R{$}UL!-9FBF1VjKq*_mIoyQk;J-X1(^X_Zyy@zM_+>6>q7 z0D7^12ruyL42p&$rF49-j1&{5+hxQw#d)Xgmp8Q8Xdp*aY>RlMJ9fNJXPsi(WtR_e$`Tqt?QZ&x^h9ER3M> zzU^dsfj3`Efg6}DcEy*NSUD(+(H&fp7xW$YTN*ap)RRw4ym0|{W1@y^?sA=>pN_9r zSM}Q8!T;Xl#5oBl@- z*eJs`#sxqo>q|q$Z#G_CIkEI6Czn1hNP7rKEkLVS6TbPnR48)(9>%+%Cb-)@2bnQ3 zc3X^&480~{@Wg1D1Pt?+c8CEdmx@uLhB$pMGk2c6)}2D{Q;T^5onS1Lg4PnlRaSWg z_@rBDG2}o+{#S?>P_plxGc=*b$69Fw4iX)Bf%4qI7s$1~ ze2*Ob*7y!>0+vdOVWN4@82s#`)5=_OO2as+C+Jz_Wi+S5QN1B6JG zE}8@rBpXNUYd|lNrx|dkAVA;aZv;)>WpEDw&MFyrLr5)X_~4iwxDUi3L25 z^uPBD(>WmBnyu?sr>G#ZB_(zHQ%Q;bjt=Z*sZt{gOT=6Ofwg77|Bppc{Y~VC{DF#! z3Lv4})b71ZnPB?4{q2vnhhyQFFen4Yas;+Dl}4>&R=Xi&CiVcR_ih+=GTg#?0gc`H zDKEUo5w+FdKGIbtFMZ(Yi4WA<3r_(|s^zTx5x}9)Vyi!7j+Z+cv1F+{aMG7g1p*#s z+qD6uDk#pg7l&5JJNKVsI4R!W>H1_?Jd$G(nHLdTanV%I8O8*3m0>dgr1gOQZ(zYI zZ33OH(NPb@Dj%J(7dlakj-ziun03exRqFlj>K@+=(A>u)hK8+l7q%LNJdgU<#t+B6 z0W@GWE^j)>)i~KGB_42QmgODaIrlvU+wYPkJGIA>56heTj%dn?`;ub3r(VU#d|853 zAo3x`iht*z+l{ZUUSFRDn8XM0ze`L(?tnrAsvy8(<7rb<(<5G+YN(jlTpKFf^rELe9W~8n$nqp8p-l>E(O>wvvIyQ zfazqOMPWECXsFHw98uuzvmXF<2&m0BHqx$EUuVDe`qrLO5agH-D4%1+zr%HMVNV z8CqwomcY?yH6YlKD;=>@H?(Js(!=2QZAu_J+;RcpG7G1f2D`1pc2(%|MK8If7 zas$XKMF3|Y-jd&92VkObbYke=w5)n~F0lHnqq}z8PcVs&d$H-<* zQZ9<_nxW_w#!z}J=pe37qWKPb;Q=4|Wcr7&qU`qs96A63@8;mJjtrpzN|DMEdMzZ; z$=ile_*!r--hSF~(_tY1CG!gj08;t1;}My5=a}oS%8XHWKx-q{(kO15ot@gT_0q9$ z3pM2ALsR#aTMos4UZ`YYk=J{v4$u(6k{ZZzwJp+D9~o}| zbi{OZz}Nd?zkPFkst!IK8n(E?#%z&B*!$C+;cF)_&r_36-gB_ADO7$#m!vS})v>`} z5LW^bCtHDO--6Zy5pG$O(#SvdjhR%UO&h1fbdT*dtf znSYv}Z{>>CHGOf<<6wPrpa2i{1oxrYb_0M+x9i_Cl9WOmvqV5xB1-><2S|tX6iLuJ znr|SQq(BDv9(=ClLwR1kfY2zw+m8VI@+VMxy!4yB#qBZ;jWet98$!>yT5t)52k|nm zBtLWidhuH1WgH@}W;Fh&Fpv;P3+#@KRzrW%nyx+s{NkX)Ls!6BbOT@UWI>?Xu@^)R z9{#}J=V4JRutvZZZ3aNjn7WORIN)1hZ_U*PzP>h z0B#--I65WU9>EcfkvV=z=!9ne^y;O4d}MdZaDL~jWL8$+g9(U(p!J#0vQPk%UnAtF zJ{ov45m00D$lJTax6U?+O!P%OD!cgYpPwAq4ekTB?D^#n2tb7wpgg6*99xSHH(c)H zX$JIOCkSBd`VOZEIn@XG>)}XO6EUY==_TkZ(kMAbe+0#^fo)9z-WULCSX*BH4G_Ap zYM2_k*!7vTK8G_^n*jf8>qG@A9^me98_-eFWX@>#CLE{tv{bvhglsM)B)GD3Pk|lfbny3-Mzb{ z#&vD`Qc&da=wrg_G&QapA|L08+}E$)cV1&M-#ot*V`kB%{#bYLt=+jUw0P8FB;t`U zx!iMCe>bj>(9W= zP1QMK`CIfGfanD6!nBV>Vh07H)zQ!I>+{^)Vig&Uf7f>U!BfQK3$(a=jWb@PBJD@E zh-m$)>6+^VfJ9|%Bq2=Bcht-fKEtg>LJ5zQfZd>aX!6SrBCqi67=xBV z`S2K4a`6!yRBxs%K!axt^?vH3rA;YSH`SEbO#NtZemz|vID8A?aNU46emV~d;cJR# zMzDA+PHFC8OzAWoanOVmb-6uzg@|ZO^=nHDCmik`8lS9iP=#Z&^K(ag#aE_iD~i*K zH5CKh7MG?R&rqF*Iwtj(lu`AaCxQvsx357 z{8Jil<20v$DLEHlES~}{<#0KHJ92F+68dvaJsM12nZBB{IPg(65I9`B=({; zwB>Q*Qx5U30O1e#w<0$@a}xbg2U~{TU`qbFa~EhgiUKny#xCSO87C=-xvhBcwGzS= zxeu(9Kn7wE$9!oU7d!nrfu|=p7lgQN;Cr#I$hG)TTBLK!tco`>KLt>e6x~*?PK=GM3Il-c=JcfI9y* zhuH+i^K{z19?p>>zA0YyA_j;vL}zYlYi*3t5d6Ao6daJwPoI9y#`$tkS;LzT4y-5Q zXMR9O%ju!bVI!d%*r7{9sTUR(PvsaNe!B3l$MtzDlWE_PbPUYk(Hz2FvjhRI0)AL! zjCduE|LKQ;D?nUM<;Z$A0?)ht1zZVX&G z0b#_@uixk3kQ@2~2K~km>3EUdsXOitpi)lx35bX+(+WB=-4PHl0m&tE#JLODgAni) z`ys?ZbhP1l=F#6N$T@Xrps#@$3peyoguqOH1UEi8dGHg?Z;m%AZ5Nl^U0hslMuY>S z1P{MPHF0~_OSremLFRS>GV`5N#O+hKy8~G^j{geBFPhwapdp`Ze?iRerZ+Sg&}Wvn zF$2&V9?#ra01enp^jK4I2KZCM9qNjIQav%YqFRmGXPd)HSi+(^jNx@6fRvfy^el4C zg|id}rnQpB3V4ds*x2JL#}|mPkKg+Hul;ri=KzW*r0!%}RuPI_rVKnNib9iO?zhBA zzt(9?{pkOWcNp>ooJ*jDg4U!Px4$d{IUnJx`oPtw{5CifKCzPbE~`HOA=Y#2#X5uf zH8lYO0)nOeuj^wdQ$lK)cOXh4|BY&ClWWc^B4X`~n53S=3%TcP*nYZA9wGWh}Vga_ra!E4fzvW+wNG& zw#C2js{DGvAuLbc?xU%pu?fz1{me*k#*m#@|D1(@8l%#NZ?v~FJnWFbde_Tikl~sR z;muDHFy&Loo`Hsz);92KGb#1E>GJqjq^Pl7=Jy072Vlv2?AK5O*BgUMPw`zm>=>zD z*vt9gNe(0C{<*6BP;Th?oxUmq$jR#)hd{A{v8(B%2_!pS3O(!ixY)Wsa_O-I2sfhn z)6@5XECVG~!uMQ>Uf^Ogcz&_ZFrZGAoxUyeOB*sKpX3*_ZYVHda#X)Ovf*Xx6vd%e zyL7|_^2jD3*GN1sFXQv;9(b^GxXD0ZjPAS~DZ>(4S2v4hNI`Ybo>jeBf z5vTz`irq&$_PB)?6nup1e5e08rmvFZjC)dmeXBjDu9!95kNv%}1F!|oe$1trCu6); zCks5?zK;)q0~8MITJ4=;L(ooNAPOV!>Dbz-KSojT;)tv+G@48Z9ehl{NpaelF0rQZ z80_%xs&?Jf6d)3@Fjxh(8q!D{IGp)-r(0>u>a!;~=sQ&wrkx0@-fBe)qJdd{VRMB> zlw1JSgAk;{h-9T-}pDHW}pZyQc8;e$VUVI0*FRu=JfH{AhC{RDp)T2u@rOFpvZ6!s<^T z;5NPYg7SW883jh6wCs`2;ORzIN_;a>^Oc#P^KbpzO@12)%IpvPV_{Vwhe4-l-aAx= zf`VT8FZ|T*R5Er2Xp;fP$`uemBfvV))U9)|5hq)=SKNyu@KN91L8U!srj-Sn1OM$7 z$%ATtLx)fA#f+|pzM0(bTb^It2_}0l3o#4&0+QP`ml)}4PxnSpHBJ6>{YTRk4E|2` zWrwro`om$m>L1T8nfsVUxTT4OjucZTYdTNjX=i>;$p7mjaiHA_0CPuDGI^9m3RHyL1mY&^OtF9v z!HXlF;Wdfyr%IxMA1`dS$?$A+ik^mGKeGGs-{z<~IQqp;-vTeY#eF0xyHJtn%N-mT zAe;eF@H()r&%He{RDglH#*MrS8_y*7>h=yY7`Esvj z${yXQDMj?5EUyy%zFhyqjZm!asEap-oM;b{7j-a0t$pM%Zc$pnLLRV$%VAoCT8(Z) zENTQv^FyXs!yX-%En1DlZcp~Bl;5gqgO)psXBuDbWR-2rn}C#jSg=yHsgV4n!nd0I zc3bZ8wcC+>U1|*UBc;^y7mO_5-eP!dn-0A|ciHjcCB(?_{fP?Ko~0&Q%urF!dfLZ% zs0nLc+jslP?%wvfbR2<6#dd#|Giea0<12(vH) zd-y>I^);XS+biB)t|N=6m9Dz{?i=K*n+6}h_!korH3b0*R0eG4j5gd3m_N?FNi--#o-zZT9gL zM@>k^NyKQy&Yi&@jT$d;45?{CoSt+2`#%~6nMi|W+`tPo)_Kb8?aKybM2AvHV?l!0 zm+YA#%D7z7>4d>6aq4B`VP^}7Yya&Y0G4l;vF}G_s??ehElueH*YNf1jAqmF0%;El8YG#~XGTx` zzEIb_V*9oIMH~zZI%dzj&}v!pDQ)2SUBvU}Pt@bqDUA)XwYYq1UM{6@VraF_EofY9 z)daLr^JJ!%q_?Os7`D{eX{WwHd)Kx>8DpbG|8ykSLMyrDxbxfp_36Q&T-0tRPiJUQ zl8+>YSSu-rYmEBeJfPXG2SvHgWcFb!;A70NCkDDHJ#!Qq>9n3MR#a8>M@^&r?}tVH zeYX7i;$R+uqwZSpsC1OckW<<0-SW1GT?29&n!($O$vW3`uI_P@SdKniHdde%QlZ4H zycpT(vL|CLUl^a1tm#BaSN^}J;;$d49M(!o`iqLk)XdDTxk*QRUK$um5fZ)w96xsG z15?~dV9+|x4b^*ab9I7Ti8vET-$j}R*?}<<;T<#-pBusbMc>9dc`sy zWXIs0AIoBYX=wP%69JzUj0#GybZ+5yjpc^s>R>@tZxO;Ub96+Zx2_4s$SiMd*)5Ki zS>zXMd~|YlF1PaX5;h9oK0i;MQla2^1ii}Ai;H^=O}d(_HVptZx?jK1eNw-! z7fk<{?pzo@b2>0NR|WgCe!Z9Oq|$Y~K)Rn_DS=lOWaDMkMQf9f4Z>LbL_;p zlbFzIw8rf#7x;*Rz-zaW-#na#U}wiuFvX^ff?)fDmDQ!6MF~?$U^NY9(hUJ=w>ZBy z&EDp~t8+^4i85ct3Jn2}hE}P*VPHFdHavWt@6Mek7q1e-l`sa^^Sw`ip~#rGRbkKg zALm+$gq14W@?6jj1Ygj&c9UNRE^w<2b0hELrliDw?S%=w`=* z+LNJ37ivf(uWG^p!CN^A|TV z1W(d%{@bhaPNtlS)@|K(M}D=w9{df<(3-9G(765a3QlifRb-hh7_YW%!A-54G^0MM zjMfq|Q(NG?-1+ru9y>6f$p=2WA+8q!%WXnD7XRn;zZNPP4BqhD;NU5K(2IA7_0!sf z4npXtpSSXvQ_-9q=eJ1d1)EaomcIc}U~Gd0!&@b&O^ea?yn(oalgn6VxA9ZIUxkQw%Ef@DCiU`N zVxlSzq1-#uU6qxKw8QJ)uzGWKELu$uR(-U{0x*oAL~VQEyA(zehpd)xiLl>I(!GV6CX z<_J||i2oCV2JHs3JCTiaX6SYo5PRZp&_*3N?5$LwM)lIG{&)&5gp>O~s6e2@5huV2 zcWj;8Vb-R}8QfOL$B_+9R;ey5RFq9(2$NvkotuLI4TOLF@!m9xQhI}xZN!~MM6>4f zX~Zl^AqyBC2ZOS(YQ66zGRQ!q_9W0OO@S4xnlF>DKVm24vpK&Sqa#y^sq!Tub#H|= zJD}j(3B;`M0c@y!1Y6)E;Gjf7KpYcpA&Qr#s`cnroE%4%st`>@7uG80dE)Q0aI4r4 zAaMIYM-bwFGot04{Zqdw^R&oUSJxV+MNRvtGkA7eUcoM2bYD*Zo}L!Vbou8uf6x~} z{s2rkc|o8l*1f(yTR_ILdB_kM%kN59v`h&0@A`Vhun@V*-Z@P@us1C;onP7Q__X-# zyZHEs;Dj#4N}%a47?aEEI@oxIe~X-JGo4TiMh#=m6xj;01N^5I4sg2v>q?&m1_}aD ze0Pb2s)xOq^wOEZzBTNBb6Dl(^RbBR7mhC#7;Pk<7O&>(`P`g=7oB!>o(?47HB{@s zBTM3vPoeH&J5T?QcoKbx`*v&v&=b+x>sHwAEOb1D5Nm>68_@w|NVVt7@gjYuWyLG&d(#RBS(WR7m0M9 z7#PT;c~1A^5lIG)e<;QH8@5YFTzC0sc!3-P^3lbM{%v+Q=;f0$H+sj%Z~U^6Hp$OB3TAvO_E?;F5ksaGB{ns`4~MQc`X?V zP6_3tq@?OZk7?<$be0&)z?Dd;(P$M4Zi>tgAKa3P?_>hT6~h;?W(w?OUCmls5E+2#JDMBCQ?<9Sgl6O9mXam^1PG`zunHv@V4-(BYyD(D5Ng@(}yhI@7LXVg4c|HuGOqw(b`hL=I_6wzFH6WF##)B_{ZS z2_2(#9l6op4BE&n)Thh%U!@8I5pMgw__s@T3yV@o+7;HV_Uskbza2mGg>`n4r-i6} zQPpjmtvK4d@4IXNc&a;itd10-Y5=tw%dq|PeMGH;Y>q;djIhDk4CmQrA~tDOET@%z z<{FP+l(?%>8$B>)f>n#THwH#ik`G&DMEDDF=3Ld))x~Q#>QLy)&QrHXQg(#?r$pyp z(IqzjP=9|klrc(>roO92U1L{=*-NSIsVycEc1nM5#ZA&0gQg}Ob{prV?we9Sm-h!% zHd1+a_nM8>)jmC+MiIthKOmvzu1$P>ZpI?V4Zg)g0W@bQ$;mhU@G=Ro&DI|L()fD! zSWXx2Hn6uO{-k1KO?9RIB<^@`q~sxtvh^ScuTDly{N76HcM1ZQq*#K$w@^l1plp^8 z#x)c~FXyw!RItZ10Xc*Drc}W;kre3cwR#)@eB&wE$*>rg{}a&hpC&os`xR1fTrJx>K@u7bY%YBw_hX1`&r!)b@$pxH5HD=c4;K^{ zv#v}xDgdv~yv2ou7K8Kqr{aPnF{W#AKzM(Aw!LFs74pd-FwhNd5(x1s%8-K<*_Dt5 zk#AqTj64EorIjoM8f5|w112U6s#M|0G&kh_s0FXU9}_qspw?3UNtr{vTEEjET(V2n zjZ1X{%bg44RO^qJcfoY#;pXn?9eDie`RLPPjbqgQZPdKqZ=tuo*K`W)cERiO*dr-v zM?gx7XdK33am@9cOg&}>k3SV`#|E^!@2|2%wZ66F|H00c9ohO~0~nmd{bocj--6FJ zY%XbkKPAOhN{W7As~NFRa(!;=5i>y}4FP|Pl68M-$;ij#m}EKY4*h<; zEH^o1*}!rQY1peKR`5Nalm(nW+YzE%1;Mu*pe zAE9Mcpbxquq{U>Z0wl!afnpVX{`EFsG$~BZasj*kcqe>{cvRbwAOhLVht@N!*s+-24B;7aIEFqT=Oi}}TWt$VpRoh5|6NGkt`9FDHDL2hrmfO11>sG*AxBkRiej5{dT5mwf+MyqsQF z*S^`1Za2&ZdL%0AfP-Z)QJ~kFvm@&9<-f)V5!=$R0j9VpZ=1h3Q^WUWu;LB&(qGH? zh#mJ}8M1hi--?)EOsO}Pg|wc6cCz{fjSBVp)1eijvu5vS|1HnhksiA=u7PeYXgf;MoJC%KPjILJZjm7oDa0gC{p*v1Sg)rE1HwqRP6DJijE^}l zd)~jFMtu8ntn?>g@{<7W_}!a~7Uteu{^Bv)bj5wlPOH7)!PmJR*ZQiG zD{PlAuLN_Gvk=9;<1?yV`pSU7%G8qWz4z|72v;3oP&gQ<=lWZum+u5o9KaJE)A^?{ zY*x!SU~Aq5-B7s&zpd|R?{Qfx2JT-O9t`OG5fdr(zIGPyvH~V`2SyOAF&&a48hs>8SuIJUa!!h~?mcC%HtCL~lWZ#p&f2Iu=lWQ?q5e zNw51^Hj^GhL6YhDGY*Pg%d8;MXa}45VEHR_D$`&0us-9z9wR$br_G{w78XA1x=hTQ z!;c5+JnM}nJ@#+ITHn)azA+#%|+8abMs-7OAYkE3>8fzu z3Rp_1KZFPWI)P(2Z@3;P@lvuk&2Cj`S0E=7Q^F=r8gQIB2|zIds3%kAm!)JVnIGJE zZnarX&rGD3`edlgf<3=@cyBOIy->1NAk@=v?mpSCz@7y)do1c%NQVD5RN~e*>A5&k zWJlMIWW&^oY!+Nk+&@qozKqHRv_+DMU2lhL8XGu-y_Il zL5sN9K2rP$%!xM~<9?q5OovU&?Gzfy| z>ZKA(gp<`+f1b<|`nhj(fIaVo7+RGGqo?0F`W#>_B?EyX#f!p9hOa-*7Xk04n>wD+ z2)vciXEDoa6w~0Eo$HyqejZNE5YKlXA?F-B?GEmONOoqr6Cnx*saTAXBU&5uAs&^u%{m6*ANl37cH3XAlbEWK6;tIdbSa+RS)eFIvtLvXl z)y3-uh~Kma(SA8-^h(s<*-rYO>!>?lyW%y#i3PlQ^XAZW*K=cONfv)TOMd$4V=(RE zVr}$?f4x#QmktZ_?vs;q%q=LeFbB%I@5v;8MPYN_Fy(GVbOQ(Mewp>Hr(d;P`y@PjRwo_+7qQ3hbvreL*fQ(hU`^AZ`xyXa`?$W_l{o4c?6$Xu{ESFCzK3DmRhSGW`YOi~0|VJ)BN8`e3?!t- zp5!uNS&3(7!v#G(v}NP&Hd4W>)y1u?Rpp}IQH)&;=BGVA(%9@b}a_R4*@BobY;=C z!9fz(?V#i-%#Yk(0R&)cMMWZpNFP4aslGJ5Q>1=g+0l~88|F2(|6RxbS>fj^DmxKr zFIZjCQ8?mstWG&A{YtRbS3Pc?2E#Q|CJMB73A86$0(|z>zM+DoJPCRr?i`9)Wd2fg z*T+1}<>NA+@NpEE*R|5oXyaKinwE4Qt+R$fO0($J+(pc{BOs6dK@OlRWywciZj-3 zWS~g5xOiNeA>NYUL*F%CPq8+NO;o`;W*Av013v1i1E;W7>8OIDuNn^(u3&3`K7Xfqh+ zQ9#)YrbL>XF4j)_c}jjFua)KUePZV$b|7|{If9pKntggMl-E6Wp&PG(`f$mFMsL9W zrKsG)_epR5_3Sn3X+>jn;cv=2#ciW%F$5gd6a=3%I*6f-YnRwPsWKjx)&`Mjbe|=#Vz?MpU75lW z-O9u3`1A4ywb>W&SaM$&bCqVR)~4T;m`d>?iAWC7oKrTy3lf35AoPwad7YWA;o&tT zMUDEDdF=8uUwilGCW%N8*4J4(PUrB_JDBx2{wR-ByxtiA-;M$qfM67KS$Zy#f+F7b z^cjRt{6eK+Z(_EIH{yMB21SpId~ngu|7ZjL+&<6^!iEJIcy!m$-eV)_>2 zl9+NlmaC>$2f!48a#n_K6_hZN20tc^%?`MuoR9HQ*2!ESE-mCN^2gI%NLSaY6KuuR zs|7Xf!^3{bDTtk?m}XG9qJc1UDwNAZJ_mKDkD=@h5Em2OeDJ<^?jETM#^CY~PMX4M z)GKj^KQ6@%6*f|$U4(Q`bJjEYi%|;4rSu1VE!zJqw%0`E znp2T6Ha6y@txZKi&>#r)za<)q*nBx<(s$II_{TZEBayC5g0v*hE%Ztnc(ey1rvbTur)! z4wfLL%7Rs4`!4_;G{MKi(>GIX#g3X`)jxWTS;UcV^%tTycXHqREL_~d@XzJPe3SY! zL@mY_baXddQ_*ocjYCw8kDtE43F=Cg!2$ZmW%}Bs9t@*&%DBw_88VtzK!eZKH_+~O zyro&_w}Og=ox?vzGN4-VEj}Iza_o+S!$T1&9uV7U^@^tv8-%Z6g;m3q2K5kQi`_22 z;tzEt5IzG~Xibs|C~nHJWU7MR*DOx(-BMq^vUl30-0LA4F z1L@2_7F;|r5TLi=n+3^8+=>G$>iTgauWxMd&rnC+1kDu;3(Es05Y0}y>sS=AUoZLD z`7y{R1M1XT6sVprNpLT(fTo$}>NWKzJFJ8^gO6LtXN5u#qd^5Q$H&o9fcw8h927 zQuW|!(ZwBRcIx-@NYH$B1eH7Fd$M1N9W8SNq!^>hbA6Q0Vbj1vUFb|j)H*e<{#H}YbmDb{l^71js1R1{!OBR&b%x9Y~WK{P|!uu*9YDydtrJ(#fU7wveW3YW# z>q2i#>kcY2tja$hv)iM(dK4WNR)a+xdIe-*_sBRL?|UJPl@(w`xw4Q$#T84n0=!YX zZDV_wYy+rfpAX)<=qbiDa25fui>%w7N|P>;#b)f-ua~vV;X%A^oyH|@9y%LN0L)pF zSXE`miR_jn{aNgmNB0*eYF+zu>OA_YJgTO@U4rQu++=OU3L>f$>|U;_#_<XtlvNLN|^xZxASN zeq&^0eD8g>u+Q=9mZ~ByOS3qD9kysaS*vMjVNpX7=571LaW@m|ai`Yi%;f?XhO|rW z^&s4DV~p`9*nRr2NA@S~)L z8-c!bn-TYRDK2Q?fo42Roq02nJpv*Cs>x(JN+l&FA2irtw{ZV84nB+v)i4_791zSo ziloG~Nx>MQ39zJ$Okr}&My#452?j~YXhFB#2Xxt2RnEsQ^-ww>Jvo`i1lW%_CDu|< zpT@Tt%d%gGSQqJF`{VMO6@gy-z(|RDKPW~6NZ`<&-)DA?BV-^1ln6hISCEOmdaEik zLJTD~*o@nXv%#&a9DgZh&M?yOr6*lVo;$vKXUArY7z&y{zoz$X+`qt~?YT8mscc>d zT(M$({8n+uPq4dgX#hY8uqQc&-7+)J9crDQEb75?efP^mFiuheP; z6W-Sm%YxaFJXgRXxt>VLsfLzX0p3pgIiANi=$Eg;ZUy~Tky0tD_v3ZlK%`Xc^TdaQ zQhbNxS@I?c0SABTlB663=%rGLJFw=K1mYc*q^6M}uXU20)9r z?P63^=Iz=C7k}?)wi*Dm#hY1j@L%%A?r<1vt0g@X$Dc4-++TwOACbB@{7GA&w zG_c?(XnB2oU=l=(|M~-^1b;D(O!s?E2srKjQ|$O^cswgWarBE}5}=jG*P}g88hq6% zYHGAWqSO7WH^>NjgP_ni?+%S=C14d*OC_z)ECRJ-<^)xaBqM;Ll5s7JPeJrmSTi_* z)!zTOch}(jrm3z_fP_N!q~Ad}tFh3GNOsMWe+HmsuMvpmgB4~_y8;2@NExfi%vNQr zao4{sR7n_34j`5&Dk!itwg3NKF65Mw6G}Cihy7^MckCa>G&O4{4o}j1kyw!+1vkt#;+7C4G z4|;GCHl}rTYJ42zpArg^2D^T5`c==Bd^7+c>?LHNx9Z~jrUtZSj5%9M=Jh&d0a_1s z3UPg(*ck4V;p;EK43Mt<19|Ebrv2T&+BJ*}!sHv(s~nsP;i^($99{*2pf-Duc%tY> zl%aK}OK`Z}@zp!lxhE!e9EA52 zN`(D5H_gaqf1h<89tWmo|=8vUG+9!2eR@i#Ri&RU$>JO!a6I zHFJnRxyKou7~P+}pPZEZ7!-5y`Qj3`yl!hQ^j6`o^d1VpyEZ9eD(~l@-@r2YX|XBj zwt=8lRlRVbqeZ%6-*gbv;(@~reek943aBs47q@W2rv&#M%1GDU1y#Ey5So2mIs5TpLI*xtdGlVV`>tK{ zlZswLbzkahmx^iO+Z8d>;@uSr-i8xm7`QMYrxRR0_tQZ5`u*)6`&QCEKNOQsD$Ktg zd-@|LX0ZrzFA{9mcp$#T#hoP6x-F#;8=zmI+((ti4c)wBBUJ%Ai<_gP1ejhHP`OQx z4?1{Y^2CB-06z0FfiO3BAv&@xF22(@I-1LbW(r-UvFFn1OfFp9%JP=-JUO^MV4mc8 zXtO@D?;=hp_r1~M-d*^(*kay1&zZ$xQ&n8Q7W@8ju&CFe=*J_v%4mMAjs3Wb$MvYs zs8379C--Oh;;zt?)~gU}WM8ixW+LlCc|1;0`NT_kcn|%kACtdg=nTcs`B6|gz`<5S$+ZqIvo2P_Ii-talA zbMZN=2s;ftI^yxpEe|fcBv-e$mXcGJ8+Y?&<7M=1hD|}H2`a#hbnN7klGdUoZDN;P zC%xH*=c7qPEi)MhI&g|~w1uVUuiGv%n;Iic7axm};l zpKwW(_}IN-&O|+`{l%1i8rhd500{BgS)O_f##? zSM&cc08wELN4B(4V-1Z?X$XYnKn&p0{71WaedF*K54QLmmst;Y<&!H2p(WE3N%Lg2T_}YL(-eAN*tB zB@DHMb)_&~+p{S3WPN+rjXji60+Y9C{KeHsv0`erxU{0=f6|m;IoK_*i{1k*ca}I6 zbH`m1ZVDs+M!qJc(yn>buuPP zBYN^kZgTi03Dqdd=6Z5KqF;oVMTOR>Z{*wxYhBFQr{0W< z>x$(>b>^KWfH5;z1iP(^&153q{)9`)QLADTXvKK4Bv9|qU}~x#aYd7r*j=hBW@@kn zbx}|dECs1*Qs&taQ=V1y>(PnYuGl9QYxjWAdPf`qyth)gCN~7(vk`SQbP%d zNX*cU0@5uYF$}15BVD6X(m8Z|&v?#x&w1DSt>5?GH*0Yg$F-Qf_p_h4@9Vy<>wX7F zLx5(pWQu(?AN5vcnrPQfr(?}OA;}86DUNzGXbcOLNKIUpaDwwkBAy~Ah^oeHxd=lk zw?FQ5)BQgC$?c!l^pj4e?Dlj_KZ|T=w4|%r%vCBvuV|yW?R3h%ahyjbxGOZuO)j?T z{@FGHYlU4CxM#LVRG@EPzc=Be!&!+<8Ttv@e|teb+H~*o?UC-TgEQmV{z5(OJKJYM z{QOj9KBVY|-%S?>u~|w;a_ITzPE_pzjPT;D(4XvQbQ#`K5E{3RH*p0gn8Dz%d#Ru2 z$mE}aiBO1)k`o`s_V8+MmZFP@Y*^kynmzwnyl0=Vqr~>vx4a<8Tte9gekC4MWrlUi z=I)iQPO^gx?$25%^lUqm_Sw5JvVniy9&;%s7>+J;zuu_aX}BOM(s#aJb;lQTo)9KI zJuY<0TE4}uaXw`&#BSASm0XPo?#5Iq`|hOiFt@-JVyagBFAi_I3poYNyKGHs`|Ah| zxNUVHRq1`Yi41y&uVjt5o?~(iajP$zwY(#}s&nX%S~!ltJ3@UmFRkQPc~a67VRVWr z@NJ5h8guo>CV*?cU^$2eT#s%Cy%dakCaP3SKM$COGb_E5#qVOl$0dek6Ev7eWe#bX zD+5JDj4ad5zv6=|uMzQ^Mu&kR-nP8m$-R-nJHZ#(i*w=Bz3;`oE@d1(>}?MwGKK~CNNPZIOg|6kTyWj_xL*gHO8-bxg*hRw zj8}0A(keC+wU;G!x<$xh^fHks_00V1G@G(Kq2(cYqU#^M>Q`1olQw3| zm(;>|;lV0Oe?GQwa|sCd7hq7!f zza?`Z(~%=N&e3^9k+cEQ1d(rCQr9-hW0#6#FgG%nw7nfE=q>nmCfN#KYUzGy;HZ~vRj}ioh{{k`gDp}zVbH9 zqpxINI?$g+Q47_lj~6gSXKLVq$Ik&&s|FCWsP;LttgI}6ZXf{%>%>>!Gb085ouGbY zhEO0bW_@-YlwpO#dKP9Mq5u14NXvW%_UBfA@2d3s@|`otz`3pMO#=8=;) z^)sFzxLYLaq^qL65$)f&=*AtHY;OKJBmIF*<)gakOH6IWH49Cv5?(!eM$-3es!R4v z(FK-l3C4f^$DO`>2wkALa<)#Ue>SVdS1>B8eDP!5C{*m9nv|<64c2RC%P({0T>$f{(Mi^PB96sdZt`B7s7IS#6@36AltOqIz44@@7YRDuNcQqkEtN_1+3)ztWLd#d zuxHLLgCna_E3AB<|ns1mh1*BoU0qCk>3KeLRM1f{<<3gaT`gfUu|EOc5Bgf_ZB$Jja7RV z7)MV_yXVZN>*-mG$3Xlz1H^MF-zUUv(+Innb?J9Kn(X71D+7bZ&dr<%AXggb`clr< zZWgWP4g6jU*)1D8Z&3A+Eoqy!s3v@kF1-0U=AblDmI z*uLzh+t^8}-o;cVudO_os96xecS~*gp)W!WFdUt(+2IA8FCU0QyV9Y{Ie?v+-fIIi z6*a3sXOPEA(J;FrNeg_K98TIgJpUk$!tv7QI~OKZ{eiU2CGIhmX3Ijx*tvVJ(4Jp)-(Hb>s5!FV%#ZD-t8H_MJZ8eVx~;#zC;uFACg+x_&aJ3fyg=Ks6jAmw- z0)i*BjPEAY?&ba$*A;w9(TDwkCEOa-^do57PQiTL#X`OPK)hOo#-$*_h1K|vg$I)H z#BW_5?3(ocklm`-f6M{-q{&*G6O9euQyu}lC?hFJ0HBrjuC9H=#5|u1hL@19Wc4!4 z{!~CXZ23Db-dPE7#A{&-t&);6T3$E)nuq=Ad(sAdo*B|rAL+?m8Fi2GhJBqi!YGT! zk&aGdC3p0Nk(>N;XWrs1?5GtP!r9d!94o>o;- ziWicGp5&zUd#jEO6FuojKIx8EnzWPjJQ(GvV_C=>-It2+XSjMtDTe!%jJdPEE#{Dl z1e-GQT@x5K(xWZiPCuVxzgS8M#GP_`Pg|Uv-t@HUttfNzz~ARIpR(ZZ)zvBYvtxH4 z7x@mX<5(+#)Yytxny;(r#L&d!JSry)o_?IGWoBhD%@V7;P(KDFAEsDhP1duHz@h3m z86y&u@`gGYb#cgPDTB}aIKt>KH6Hn7mB;sPv~obUUT0ylE`4+9nB%zrrg!9P+cKB6 zOFPUAFd4s#^j3fKi-v}b%@p*LI&s|GV;oc_{P|&vf91SnVPeThgWP4o>hlui=Y@JQ z>fYkR+^A2QIco-(0~_Y^k6_5h2OUGP61g=0!?2=4)P?QrBf=b)D)<`yruX2NDF3fy zd~wvW+}Jp?br*Cul>yz zuhLNqnNk=D*YSr`S9fX+3Z#SZ9u2Y6qfuN?~3_tm&eVDU@6BcsaUUG;jK2~AtEEOb{9{7fOJk{qqovgx7OnzP!KzOsyo8R<3NUxaLN0My(LU(zNTwQA>PvT(}WGGgI*o? zRl(E!3UoQ^tDL+LD~e(aPDNua?aNZkEXx11(;azWKeFonlTb6qB-X$AbVUNS)%J60 zzYfK7fM-~$qf=7+I?Jaq>!AR%EUfQf6>mwdBtZUzy33#wl|F)}FzQeTf>~P@8H&@? z48H}GUc%Y0aI}f%5ifW+M`?r=V<$nbO~0E$L6CaxuQnnrY8-zB? ztTyKpmhDaoDoBL>DrAeFFl7O`>Srsu`fi^;<5iAExW$aHWaBL(-Jc$V}y}33joItfJF3wA5LdJ`Z}%*ul~aavhm4 z_DPJTTyMQ=O3%7O#nCxRRqYWP>tNsw{Oz*fEx+OluFNK1@9z$BLs-NwtW*L(Qi;k zr(E0I{5}-?bH)=LpZ^+U5DM#CQr_RZ5PMR9EBLiw`Ca+pwkSXE?U~12;xvIu~LFM643(wXaH|TjdgX&~Q%Y1c|8^%XpOmH845^e4Udu%A+`B19i z0+JxX!6*6f6z!Rd(8a}ECYbdZUSZWL+O9qvxQ04$kveN|m#)R*JMC|nkS+W%&UYXd zkM^nlD|LG?XqO0T42Ya4P&PW*L`mPFG>Chho|l%bn1_ky);F@OFjzf2d}Zw5 z;IJocdWh!7PI4THP^+SE`)kfh-`5qI4(yfDmyc*+mR1l0KELZVKCv&BP47llgjo4b zD-Yyp+MhkXnVMz@-cmsCLER%1On|&jcN*n?F+Dy$-fQB#+1t)=k?#e_K_-^(R{7a) zN3T_1$dvC^RaztB=;`UlfrNH&Xmpe!IX&H}!E4us=F-1R$9~jlv$QneN?seZdpR3H z*yHZ$$q(!j>H$PfK&i$V19j=TNTc3-dIB^6oDIXE%m~oHcibqS1sG6maQWCcahcmCO260){c zhCQ&O>2)uN(^|CIb>TpVEE?^%1yAZOjnVpS$!z2~h2RHxRf_{3|MqowJEEGS!`2CJUk<-E`hi^eJa+aAa5ZQ=wwDEzjU*5V z=yKeeE>sx!>t@06s(dTLCJ!jYrI$gn5@D?w;62FT6u-LGablZQz>Ns zqczg5F!-eVj?cVljV)GrD(?u$xSe!l^%W^~)FMEEZYeJxaGE0=3cd@~ z9C%+p4~P6!-BV**z`q$fGM?m6bqDD44)(Ee->uqc$Dzu&O}BiU)Sbp-hj5&boA6l76@<`6!T^6yp3TzvmN?t!%>E};I#t*Yc^ zg9#liK20iR)%!<{6TiX}?=5ia>i_uk4ZOwzaL;ylYGXTd5O)Ii96*&LJ}U^_ZFoPB za6uE;c5X08dJl6Vl^?1iS?ktO_x`zEJ3eyUKjMen`oU(IfY-(aehl^M2Fj~4>Hz`sE(VCUZ8fiUHWg~hhZc_ukrGB`}E#OuDb9+FPcKaGW z&CT(K13tg~wYXRn-HcCE#3DWd`7%qkaCP<`fVlxNktr5?{_FFYml~OF71JMGbbfvk zq;aAf!^KHF(t;}_EUW_)%vJ!kRzR!CkpsHPw13yDHUbE#*6;JOk=I#OPB^jx0z|Cs zN#n4FO5S%sAbf^;^y&BV@{2$9jX&3saYIlL)ow260Chd(O{J;PYa=8X@~V+y`FJ;u zkEL?i+1TC*zx?dF@HSkb;mUtr6(|e|0o|JE*a*-ONS`D>NEri#3g<1yu6uYij`>ys zN#v-`st3>JTXz(|7<*8aEd5K?1`H;38cz89{U~KN)*sJ1l~9YW)6Lh|1c6|i{AG-4 zT>?TqR|}MDrggarfU}?4Q3xQ~{{0zv{k9dN4OYI^kgQg3|G`93KxR_82^qnZ|9e_L zfpED|+6Q;g?muK^r5H6MS}}?L{Gm+M8wD43D!>w#V`}IPA)-9JA5`l6^*XUYk_<&~ zmsK3>@aM9ze(73mByFh~a)tW)e@nLc20VZO+txM@e~MYwXy?`pSs@MuSw$DsheH;AyLv8^nG2!Q*WW zLCR9}*~C-RMc!$Db`L9g{nw*2%L@nrC5416T|jxAlH%Ir=B6*uXRhxik^x&Z8sWIq z2Z@x=XY=tW-pU94LkqzX<_^CN;ufq$XLJKl&9~u)hK8Pkn@wvj@Gj|fjlpLHDrfT{ zhW!b4adB}9kyroRC{FKEN$sp_d{+T*0`U9!&@;EwZ3Odyo|r3XmQnH!pZR$*HH{nQ zWY)780Fm}%rKbP;wR~W?3#{Uu7eergU!CT`Ot2nGeCFw(dS(9v81c(7-2ncjNSUwJ z`v2;jWZd2=G<^DYnUwbak2SEZ2L`^`p5lDtdI)_Mp5qFnQ9^eB3xb*on2>mV9~-l! zkx<%u2#)eUp8z(UPZyaP8KRb!t`1L>B|-oaA^n*Vh`A{c$4{C>feLpY`h4a!*hzKB zp}zq=?_cJCc8erQcd_= zGGjhn*?imy{rkE&Sc#?rFgH|v&&*E|^C{ZzeAg?S$Bw@PO2mk7aWz7PC3z?U8#~mz ze*=dz04YRVN{Xx6a&Pv3ln!j`H&3U`p0^xYBVIDbzh^D?&3%A)kO??e3*83=K&`O6 zv2hhJGs}K$zy6<%p_elgwC-klZ)-E@6!c{<`@5)5OT#jO1<@!X<5~+o6I_)oSp6-3}myEivLacbZBB$-&1i+03*(vh;urV311D&^qcD@HmG zum1BV!go1cg(W4Oa{M0JE`8>X1|A7U-QprN_3 z0hC>Wuk-UclPL3Jp@YdgL3`#~pzNkn{$9Kp>MUlbRFth~x!4?tTf_TELnAusKbpvg zV4WCw3%qo9FX&FZ*@952k4t@0zmB#8M9+QZ8-S2uBzR|ky@B-}A@DfRtpfb1e-~Om z*bRYh2@d2|=U*OTV&sQ&DLj%=(no1HM`b z@;^)kxD_t{=O2J^@GN;?h+GI*pb}8Ad}iz?6r^%aRH`?n?i|$^DgZp>u-{gK1z?Bd zaw+|1$Uwv-$J7TpD)dgdpw?S2yMi(u!ZW?HKmO4b@$0Gvlk;_IA8ui{XCHxo1Epbb z@XY|j8^A?zgctY6vR$sgh!G^TQxVeJyFUQ?g8&_8Sib z%E$B|T{c9ZmbNp+lkZxKPs0s_aOL`yGUDkqRdStRWlfjynS6$Vs1_-fnn#E$DnC8t zwLH3B_`RXLVv6dt^X;3}{FM=(HKz#E-&HHLE-OJAFho(i4lv zQ!{)nYo~77R%cFQbF;^3!8$Upz)g99o4R75-XwI7yS|GEx$f36aNav7C7lv?87JkG+_`Pfc+r6BmaM2%LwOwKp8b zTCDlHI;XxXGO@xvj7ruSYb0R`SY#p0wvyz#`P2iN685f$HXkwZzWA%PX`edDKw46) z82jS9%x3|17xkXbiiwYTc{55Z9~2ehb{^t>iR)&;S7j}LDg+^USrIB@hPF`XG$8BS zL0*;fBKnu6er>;6`^(v39IA{|Tpu%aJbW0GPMvks5g74EJvx1liFUl;QVN;d&hw}0 zq{0k~^FP0)(ME3lZSEi-C1o~U>w@mBsE9Hy7{0WLaLug_GG|kcKM~+bfh2UZ0EVU^ z^WfEcK%2rZ*lGbb%<(6cgFelWESNI7HA?NxxN`JHg=K&8i{?JIRcFJnZj`Nu)ff4` zp!gR{P?qxDd+cP`C)|aq)0_2l4qkz|gp`(+s<=L6f(yXVi>_p$T{|r-IJ>*~+_dZzO0QLYHFP@82{yocH;W3BiZjLe-<}dpZNt!yu5L zq*%*rfLObOEn@7iyz0&q&@ppae*N}KMs2VSJyCX7VyOfxQRkZC9m{MA5TwK@eW~y0 z+9=kbh=4!lNovvd$lNS`G-Dudf zzbdFi1Go;(G!m+7Std*cHUzD zqK>&q9vFl3NIYE>yM6U7xbAlXm7hv5A++RF=&9ZP;P?*D*W%61`z*FfnBOzk48ny| z8^VNE0-V4d>qS5y<$hop*@GW%WnE@z(HQlq9i@+Hby*GxO4mGK6ad=z5<(;z{NC5x zOoIS-^c@{lalEg-QZGRbB?LEAe8wQcZ1dzxvU~GB*drWT!TrL({gx!f&Z&bTpJS&{ zvXd#K1>7^xlLG1pZDs2hPt~>mLxJ6i59x$9r$e>gO58;!!)A(b93>&UAyIW6DRIdlcmj>3s}@=u-*v7Z2-$i7rj5t zQO>LSSmieTnC+%GeY8U*<#To`*0w0(4V{Llm_9h$08ILrCOb?Xmp9FR#^ z$gi%?=r`LdYYTi>HQ-lXiYUszTrRTlV#9*ztvj5YMmPz#hSbf~5f9ArQ494b4EU+$ zpkQa^`_Z-Do#--Y&;rhFm`qFb-C>ZR1dR;^KZU`}Hqj_^Wr9b`1xc6niqLoCDQF%s zt>cJh<~)s6iHN*Drg`Fbx%>z_v9ZHL04{KAaozxznTi<9-7c4%QxKL$0wy?*wgez- zGb$IOc0GtYRD`&SMU zpbN!)6IqiP$yi=+pCcr)Eszrmc9eDnOLbC5zQy@*J22|hAP=r#sIn4ZaeDnzYN3_D zk>F8o!$TQs-i5Kp;$AyBpnVfDF^BuQ(U%6lN0*9P39d&nN(f5MdUD&Aa^pm{%W?__ zt@W7Pi@hc@caL3>8H@z>_JuFIxfWYFtE)1$nB~Z6@rf0QOGy7DCM`6EA%b%59ku|l zA~;elZgWM4D;KLcY*e<*b6`l^yMkXFK*C6!8)g*P{P9QDEoymEHTP%sS8!7UArR^i zuvQ>RvDuo~<=FZQ8(IJzY`U3a^F3VL8*ZD({yHs8ep=F#Itmb6JXkabWOqL`6&8@% za*9YuIA94B2{-jMMFZ@Tk`C4pn|A`*el=gB<}6U^B%qE2R{#tC&lTX{3J@TqivJ-i zm|R{fl-$~l2ln-qmLKMV3;IgoEauo6ajV5O15z3pVQNi}tcv-7TZAM7N-yYgVPXSN zuwR1#4r~Kc4UBly0`MuL3daWuh-47GGGEnNS1M(VcyGd1K>iePYLj-VP4B1nroiE? zF6sohdQ99Lj-{((dAdn2tAuccZ>?^Z+^BJf5Pl43voLJ}a}IZ0skprs%(<*@WS3}x zAL2x<1~y6Ht+;%Z?+Qu zJkVbGwkc^nW?W=63SyVz2gDg($5fcpUH<&<{TX`gQIa`dWSVTphDq?DU`C*Qdpa*U z3NOy5MnfRajfL&^N{m&IK&thz+8wo9pn;j8X1I7g*Gg=%`K)f(X~!{}48~&N?QP`g z;ZYAVSp@0bNV*SrPb%Jd&}l|8(V)i6{gI6~guBh&88L(#WJ-9Nt>f)Lkp4yQBPur+ z9Z9pET9B9|c6*!fahJ4@)Q`>QuD98HrqxV3l$|x3X=s@1KW#Del9>ZR%ztm~`Ym9{ z4Ei?c0How}&35*H^<2BbV#|UM7Q56n6t8W}@~FkQ83I;>979@_ZGXLDG`%~hB&)rL ze!^qTIY(Sx8Gm;ipdoeiTKs%st`MH#`%AgulJ7zTf6==7hZS;D>E{PCTxyfL-y$k; z0qZYV``k}tXlC|!C8P|MMXl_SM1MA9xsq&~;e04+$@~DouQt-V+jCPFRnE5{yShy- zwJPi=oN<|+PB8{IR~(vf$Pw5dNT)|fZ9c7fj8BDsGm`|)IPaqN^)mR`xs+bFv|Xc! zS3(Raox6*s0#C3PXU(`*{XmtBrus>8 z0_gFnk`f@pYoOQ1+I92-TV6f6120F4hB>v4o8!+LgjZiU(kq{3imdhE(16t@N(AQb zJ+RV17^%ps)tV1Tvvq*C4%`O=1D%bTp4t6|czJh@N`D?50_1PRmfQm1UL5(WuP7t9 zgKs<43K{feO1OOA&I#1y9com}@IPA6AKt?}^D*WF4*c3KFNS}WIV>!7 z*j_8$T`6I3C<%5bVF;cIx38`t+<~l)upV5P?H?SR)1R--*U#1)(#MXK*rZm$jSLcT zNm|mt}{x<@EkR^O?i$# z8oA}QwPA8_1V*G~2GrL~;q7k0zplLTgt#sCAm~U8UnGh;enj;79?YDqw=SW{q}cj= zSLHEpYGu98s>ht@WD8_zqT9J?f>!A8QB)a@@8)g0mJnmU^UP$E{dx|#`{UWs-Zbx* zMjp-D`Ye)V=tWEJ=bsg`t3S}4P&#rJn>1E~WuV;j&LGyoMrYI$f!rcK$Fk4Dx=+$} z+@cx$ze({)Hym$rNI#-a?BAbHL|$#xW*`3fH5XNP%4`2vO7yaXkc_2cyT5TIJpz-2 z`by5Snx)?uEY~i5@@BG%-I>3#FRJ}ueCgoT*f|(*wT_bx@2$P%?;c2wRmBO44p}-w z&k^za3uO#vm^|N7MPx){Vlm-D72XkHS>agpj?~DiqQ8XZWBLQ>yi?Ma{$~tj$H@;f zVh<4Oz1;jL$FZL~;y+#7g8UUPe#EbR#;b+wyee_(Q?M{46$YE~;ygC&1v4D`>$p9P zVG*D(prAei5`6}%^7Y%7YfI#x4!R!LPGO~&1#%WokjE=Ug(W4AXFk6O7E~U0t-Px# z(iC0^FVsEI5v2!xhk~`NPFe`p`+6}u$(mZ`o5|7~^8ItO1Ououb+4r_Ciu}j-MC&==aVSajvrvs#|H9MidKel-kEEmlfqs*gikwT7B%5$&Naevo>X3RjZ5Z z)AF7v&9oPZiw$ooR<%abnB+}VmBCiKBWkE*cbfRUSI@r&wyrYY;1NguBo8`h3F zWUy!YiLAB{MYX#(sFU(-`l}x$lfmY{il9|%99lA+Jo6hdO{cwPap@^Lo9mf(xu^1e zpv@8ztqr4b^Fh1-wn_;a>}zON$%zbNp##1$-v{p%RZieWWN7D3WRVE+aKUw8PfjAK z1(O*Z3aYV!)zd}NYvT_qE#l)}U~=_R(l;mkFRHbKr>CxWMfFt8cA-91?d%~U7gbI> zJ~2-eKu5ecru`4$@DR9-S<3In!y!1 zstY%j`NmsE=G5tlfFZTXMB{u^hp5@uR69ahmY|**q%vPJNG?{iFKJ(3vVA|ww8}8? zEXF;THU^G~&QXv){1LY9{gQXSx{?>}Zu(qNp`%{4hU!5tyegbjfBi>?!|4IM zDwYeCSNokUvn-*#5a!H#uHKf2OnF$ z)7!UXN*U*8Gj=-(_-hJ7A%k{0zz%8ZKCm+Y27@>FZDOi>(;pW|Aw&bkl}Ee;_CpXY zF-k00BPJ#4*Z0zmW`}*;E)(akCfNHHMcvdm%ZU7~XKtU4nTx%>t&Q^k5GQ5(JR$}`Yhk~`O-Iir1nn<*ZGbQ>6r~=akIuAO;)zqdQPJYhszU{gCz$- z3v28Z2}ZE8?&` z)O(<{)EtvWf|=;2FEd7DCv0=D${uEbb0$gMzKsx2l|;kUAL5 zww>N@^|aL>>jKab@G(P6LE%8*lAp`~6b9h#^H(_nc*F7x3!MdM_el)t^S>F`Do;~~q^L;AB z(aow|Q^i|Ykj^L29Wrper_%*{LeY+gC&eZTu-mFfl>n*ga?_IJCOozN$+)E@KETDX zQWk&=;#pj+#U*aZ4+e#DZz#06!ClV0e(&IK%kq5NS!3R6Ugy;cr??c%Y4fah=y0m}a#%u83S(r0~NR{cZdZqLD<5&fAwO*xWf)MTe zCO~e_)6Ka>GPy?}zD;)}gxzL6Nt)YI#fU^4>|H2bW7^qm@0NUgATQ}UkPk0tgO%t{ zXx?8c>9(fxI-iD|)LG}rj?Q&Eg`Em%i+v4uoiV-;>JnA#Bdx)_M6Sa#+mM562PDm* zmg=y-wjlLyX}%!xG^cWN9UdCN&?|cL11?&j&&EXd>?_M@IyygPVDw!Gea3?RkZcPo z5kqu6TU+JF+tDtdOytSM&n5O8$3A6OPi5Pw{zjblE5X5pPRvb|u5+RG$aQB{@`A+3 z@9z9TO;jWvVEgI6dd^eezHU^6Iils@UB5dzK(hoaVlf>`UHeY^CjxkGx6@kr`6TZW zd23#qnSeO&T7ja(z&Ne3aL5-?Q_fC;uL{21B4(Lq2f3lHS{m*pR?J-R%|wS`w;5ux zcrn55kpPUt?XFD|7f3SB8%)}>^0Y86ny+ngCrc3HYj#(TYOCqG={m%XyR4G-RJ}hPqN%2yx_Xq_s8uRE`-U#^vt*W@ z{hP5jLbdZg3eQNep{y9a+YULv>?{E)`CxG#U`CqJ-^f`0b)V0dyJL?}>X-oR%te5! z&sxy;@83lQ27w$g)^=FLsmA;&uXH^hw-u_b$Pp)ZG{X_+Oxf?rbi|kLRr`^L@d}QW zcg0`)`i8J^tepFi8DC9bS;a!LZnQb)Z-(;Hl&qX%gF8RV(m#_r?@KS~tdA1HpFfBP zQ7h-n?n3`^W?l7Q&73ER9mUi(IuYd@PhAMRRz01NP7XP#K5mXoyUKc66;2_!^mquh zwtl_SFxyr12}Znfw&rQcyxWL(=I#Q5v3q2m;@mJlPeZz4-tRPB;syI-OpuiyZ)WxJ zCZoSL#JF2J!alnK?1%v0a&raQ3UtW=EPoRL02XsnRD)^&a3OAgfz?YU&|~Ge$Mc=B z5x}#{?1lO=@w#anG8N*!ZP5pS9ef_ep+aYo&jo42H!!J*Bh1{U1+ps|H489Iml@MK zh>LJ(o?VpJR$SSj_5C)r4Zrf~!YG{l1nvbkK9$-B?3s^51ravv5~Ls@sN(D+uQqe= zhQzJDk2Ub81B&RWYW7m-}m3$MGYqVw-xo9*GfN2 zHOes1Av}@sy3AL$%f4K5*VK#3P_cVLr7|jR=f=6X)~G4WtwymCGnSqa!m{e-2ac@*zwLLGpNG#*XipsawT^Ii#nxfVmvi7pr z7xF=BzaqL|)Bi$OL|Sag=@Y#+_+8p?CxhYSP|>M=3+Q?&(?@nS8m$-J6%^_3dSrWS zA`c2L7Exy|j()Ot$6RYhW(YTG`ptXIb=_wBA^V+{E1nlFD9c0=#BsTk(+wBq7d;Km z#ygPtBRP%e$2WM+q7)rdKArLnjW2x(5nH$2L!-P2Wu=0B&zW_rjjiW+ZeBW~vrZO6 zH~u)In=L!fYrkN}#MLruuU2(bf{>AU-?J10SvYvL)e@aA_rZ1$E!(DeZsvb+;9o}i z>cD@=(_de5<19_#)mTryvWq8yjOFwmDHRKbe&kB7`^tM=u*@NM#m~Q>Q6RsJ!V*}&e&E5xo7*k6UPQK_eLu&Sju^?lrmdCSx=K_ky|8pqJ6j`@a8N6Bemv;!e^K?;dn$Zoy*HJTZ@k@FVwZ3>%A`cd ztf-c=y6r~?Jh027|3c!*k>2}6TY1$zaKeJq z)_6HY`qclTV(xxzcodC3^ z1oEri7L?GR3ji0D6j!Doz`z8tDd}>%9<1Q6QODaS{BRR$aGXTy48M_Q=brAb$HFgz*pl2Od7keBI8mcyD~7>IKb%JJi&b z_bz+QnoA|M{7}5prD22R3jq;`51=@Ti#Jl%+^}kXYh@c6$w>Y4ZL$sywZ`aA+N6if z9Z{8ON7u5p|AH=Y|GAQ$AZUaKNIl>15Xxf_gx`7wvkz7QRi+Uq*pw}%vz#NiC0c46 zKbP<;*eUy#jGYLA8=o1c-fa%JU2#K>x%?8IC?(;?fh)9emqp3`0$rhQf1$ALDgbuX z(9nQ5$L#Up(?wql0~HGj`Q?MX(um|8Ao|RE32BCoK`kxyhkcNi|T;Rstr41~@DeY|p##tLX9zkMd zfe%M+s4g(-of;dpF#jNU|0Uy^wF6ECsl(~4Y_Ql+w7h0>Hi+* z&(~kUmKs1Qj|QZNdaD0zS@9vQK)(C8%uNE|RD7!b$5}{rq5i5QuvGz|J*bOi2Z+4- zZo)bgC86+=ZruBOVF&6_G10T}=23w0VgMZHC<(@gAN)l8e>SuLw+|FBnMozWDe#aCp zUWQXcR&XY6e?Ry}5i|NGWKOq94Ez)LY9f$~?}PDo0M#l_mH+>C7l#F;T&k5TLwDX)eJrPisM?PszeMquKgJf- z0DM`4eH~z08AShIJ7fHiwiHbEg(Ssj&&<@6Ba)LCgD4UyFW9-hn^s=u1Ket=bsg-vSR4*@j8=BT~a+Es@KLB!AhqGkJ;CpM%xWGL<|>& z%K`L0=vFM3ov8)f3!M4+V)O!MiQ)|&vND4XO#=&T{op~9&d-~=xPh4x{E)KTOwcgi zPC`@Xa9-jrcuK2)bXm4S!KVv73WukguhX`>qKM0d1lSctuonVV$`P?WK3xTKED zAQF(~o(1$s%jp+D-lj>=Y%z>Z1qeLUtcbwl^uNen_|exU{dW4_pu_5fTE zw>KQ(1(*+t%)s0IqGpwC&+h=xn}*InVG`BiW}U2}Bs7pE3tZKUfVa^wut8QBx(hgY z&m0_pI}3Fix&VIL%0ymwXd-(O`B}n4N_iwzR6ey(kxnM7u5*4r#pi2j`@zagp>b`I zX+)oGvpUPFGvto@2#vA58*XnT#A_Gqj;{&bb{0WFFjd|H2jR%5Oi0PU*sIFVo1`W9 z5QvBnSgv+0Xlxu>*_S7EdkPbqd1|Hq{>j!aB6!Ww(b3-y&*LnJQFfYdpQ8#zXDmFO z$2pu`DqB)_J=BP1H(_KqMm_NTJz8Si3dHRcQCe-!}p=URTEtTq^KyfjYiN)R8}sG8z&G{sKyMRc>MTfKLm$+G&#`ls@_%ULP@ zZB|92lmzuHhdHynl2&T7nPkBQ`#2 zA#I*Nf5L~zf(DJmP>6VuKKPk~yz+HxYpWCvcPQEPF?V4}?3VXfpS%rxGXEhA^(qS9 z0ZbC2a5)QS&?iEy%pA2k8YZ2FOzz~d-)j8S>BcA_tNQ%z9MZx{t{^ZFIqCE0`|NCK zL@N{3zl^`T;g?(&yy!YRENTQ7OjGYv;JtJBCj6!CIU%XmlPZb(jEx zEkE$|V7d6mCp&-*P-2IHYnsWlFYHTtX69HfTYv6(FN}=9Tmbq*k$BzxAFxaQqapb72*892*xH>ONOa}^10WY^z8APR)>@tj1;3c4S<8nD(O~I1?X&<0&#KCh+37a$I(rcWrFaDTl&s_NiXET$aQCC#$4nc* z;x+k~;RQSv5IMoXDQGCqaFSEWIK!rE z7C!(|Tm`gU3@A(SBLJPzu_udM7qptX{%QaircF_j5EFB?zjz0HRO?lNbHsm~emGm- z#mUycTt)!aBOsBeqYB~MLX`7f{>#7xKZ8g5X`%|Cl7MCwm-}h>y=4RbWy0Nxq+SP% zPj-g;TI=~Ltf_!}t(p7i5nJ{!VEhV+e$)ZtPp6F^V*jCFvK0b1oJicyrA3D?lB3L3Q0&v_*g2_lg~WLi~kUwlJ;(*Z*X@P zAK#I%p>fcpUAefiBM6AhnQ94IeH z+*db1an)%7^SKyp+}K^3yCehHL&t!|*poQ6R5dF;ZPutbe-FoicX8ertoZYiO+48k?)!NO1pbn&=jDO@^eWvzBmi9tVU-N7zU#9STU0 zKfyL>obdeMP!421AQP3;>ok+>I#2$bb+RPsE|?dz^Rot_lniuO;{o7}Lt z1~)|nka(zex4N5(NEF3=yQWnDS`S7y9lC?J65fXX#I$!0@D)jO%sLst8Tpj&s<-V-T z4@1F80OHKol;9))hj8kGTNv!@$CocJf0j0E)EjcFHBC%RESbVOffG4oEQ0Pc3@WQ@ zD-Z{~7F+P+)w$h&KI~zM9eb&$SR1D#$ji$s?4|Ii;^uc>mYpW-In2MqCn2ogm@g5q z*ru+w3$O4k+of+1+WqJgAFM4CYpFi#3r<78gljwkk8KmKFa;|5ME`bXAtt#EOdq-q zbK$2RL>B+FW?|FmqB+Wiv+zE=M8d?~g{9Y>emKJOw4W8+EChirjxZ(U3hPDRLcpz* zSjQrU=cM^B+)U5DG?Z)OVwrc~0E7&j0(eb&ao(=+!?!Cve@dK30V_cIWd_##01S|X zBc2Wx4}v}iUDA^BpkyV9d2(R#0xMB2~%$Vq5nlG0D2==W`B{-MqPVyYIgx} zuOTMEc=r=4pUNcq@aQCvEjD<=-`tfBfR;&b1psZgvcdT=-lb4yvV1-e z<1hJ%<1-^x^Jd|a_g6<401J05(9*=&0sBPIE%MrPi?2#n>79A=E%SB%%5Sg~s#wvD0IsC9r($UNW6Bd6R7COUU= z=q%tubTAqc56vH~O@L01J0F30dPC_dFrZsywf$Dk9PDk!bH&l$bs&(AYItt*x2vdd zIT9oiuHe;7f&7;T?0=#`K)f~7GCscEo>LNJa^ghc3mW6>8`*Oz2grI00KOFVNSm7X zI@p+*y)1X<`4Wq+YTuhn3C!pl1^C2J9}7hSZun-{us?pe1QRLS*85Sadb4=2pue5|)Lj@UcriwHu0m}(#J*)el3=G7Pe=@LNf3*&}Ox$|V zxFqSOUuKr>b8&+9FM4v=QR3*KRL}i+q4iYe>#t;M0VD|ErX0o|9~O|+%S5tFUy^o@ z25dwMG!^s&o_@!}s+@Wf%42(qfXC7XM0@S zsi0Gz96hlOJU1NZ$qzI$_{9}^0$6eqt+Y6vOmHQ;KPs+9pBvdaqY;!=j+=}2@h*w` z*+gw|E_tAB(-hXGuO&ErGQueTPj4KDf!xXPxL;AqIeuSy3ZLof;MAz2zIRVVd}iK3 zLUMeDL4L=9gFW^BSNbghnjQi-0UxJE&?pD+<@dc?LgF5)ajiOTUa-q4dK8T|c9{;=L&a4uUbj^Ue1Q|i`TSpw9#w!x#H~wH-Q11H2w$U1B_5CQ%J7}G%QX;khkyx_T1#4Uu@KVOQk&qPz9db9u|Z&(j>{wn%HaGfR+@E+@O6xhKx!vFb3 zJ1lAl_@#fo(ZR;1%}f>R<}zeSZozipIidJ!_Xjz!yR=>7=U?FaLur!`o0I`|QbRXNgVLZhh)PLF$RI5P zLxXhl&fNREzx#XZ{q<%oUC462dCoq2@AHXoamfHUIilpvpfaOhfjxYeIZ2VjbJa`K z@il;HVv1NyHxK%s{%ob)6lc$eR{!mhy*>59Q9`*-@VW-9R~ZZ>DRgk5bj@$GDe_7+ z(=QY(=mAr&iaFf@JLU_F*iQQAk{#^lqWoett4e+~sPf}H0eH#oLENi;UeQn%y2f;!9>3lHcuoB@f(ymgzfE<4o2Ydyp|I%q`o^#Na!NQ) zu^hy++D$RPe*M)91-2c@VA5xsd4GHnT5z+B0Bu&C#%CqGBcmh(Tv945Z>W{t76l=P zD$2@!*MY5kt5Y}qS`U>z>#Enz^+n~I-)4Zz-y{_1#t;g?jW>GW!acE?Otx+i(k>WP z=38@R(C!A&X8_DEyIWw$f;v=BM})B+5DtzGC+R~Cq!0~6K;Lrr%Lt_!B72@+_aiPP zC!&f{A{q}#qS*kN<%p<(4nJl)X7KG>7&rlF7GZvI07^jhoeocPb3oOt)fh=JQ5?HdxE+te^uHihc-7&{uR2sZrFpVXKGbfton#OJQ*YCo8DaDBA zM8^Oo88lPPwEx2+`v_hU%>O#F+xXTgZ8BZFCVsMdAwVogq-SL%6%7GvH0{`zkv?11E0aAl7LGEztD>o@g|$y-fq{)mN|Qn*lQg|6Q7czTE?9~?*f!v zH#PyCR~`0N;9U;#*2Z0&m}-q$*6!sf%s|1g4E`_Z-$bRQw=*~6T?`Lr#2)ZUp}@Iu z5WaJgK(I=Ip--~LP1U^u4A>AqWI7grr5xM^LSygyu>kT-h74Y=hUf(4GNSB0xwP)H zTri?q(?U19fIzu{aCoNx#RfLeLI)%|P^&0~+rEEM$Lm15)`}g|>BpQIwaqk4e?Ilu z2E*~d2LMH`Hs=zR|JP6Gv0kFBr&PUyzo0${y|L?C<6s080l*@o^uN5JfP&WvxO8Ey z^Z<8kAfpd3iz7`*Z*>7)J4t1Clm!@^6`7cDne|!#V4y{ZqHw-5-fGJ{9b7oJdB6 z-?X*kDevng)VM_?bX-bW$VF;Q6=ik@2S;Te>|`|g9h6OtEB_DIH(@T)IE=V4Yu|Fk zLqjH;-+ZfGH;St6Sp0mD#3H`)CLX9>0@P0nq!x~!POz=OfLN#E)lL2f~0bK;> zmE#2-ITr|6`$ZE<2#qDXA8E?`6sw zlyi7~rcNQ^#}5rLQpMTt{ty1*Z1&CiqFD}3*DK4t1={m}`yZA(>1NgUo(uf=7ef(_ z=H)51F(4AEo22htS$PGBLZK94rTgwqgl!`6U-JMqiAxy1jlrd>!hWaVkjsxsdT+I4 zZJPN$C zo$7g*Bjbv>`)dzaSRBQ;s+@D5eESAelz+)S7<@e3c~?Q>p#OsB9#^6pKK{4yFZX8m z4-QuO3@hSWLyEYd5jnw^FZ%)~e}ElY=y;-KP#BIf1foHvEpuAfz2V7U*>e6`avQJQ z^7wSmK?(vVR%2gCHnezD*$%*w4aV6A4T7w3U+AdSL6%K6Kz<_TEIaMc13S*SFc>5yRS~P@Wytoqw}6|)d>IDH_R>FD3CruQO(AFO(dG?BAiG7nvUvlqUae|Uj^nV7E-7W><+I{;FOzK9i}$Vk(04F`&|jdq^T(>H&T!OjqrBl)*=R&WC_4*keXoO z?Z~OpWxx- ze>DZzMXaH}`$I!Mrwa@6f+x}&$^}@<(3EF*bT7s>4?h$wi$mrIkBz^LsPNO9#e42! zs1g&w>`%2VburLp(&LJxr~o9fVo%dWx}4Ab*4>#@$B^UWKPt5R9Ng?OyFIR%{2-VO zZvfYa4d7vwq~1HA9`<>7SeLUxw{Zb2n&dA8yxKwdn{D>43^Zeu0^Mx97eH^a;9Em{ zHoaOqK3MQ-WG(ysWPF6w248(pA$yFcVW(y<9xPThe<_ zovHZ{T$-PzzYKmZ1yx#4cHrBC4m)y2!9lwPxrl6q{7HI0w6X)WX*s4 z2j|*%c!{)xwDf!7^dyW5OhQ7G`Y662K5*+&AYN`u+YAad_AiZbj=+RNN^o#Q`aivVYlbDTL4TN^{c}Yp_iQ&p_x;#E1mV>Iv(QNlV1^E8i z0|EH)*Idp?XZ@VT6F1{RLyI8gR>0?(^=Bsd#vq=WIMJmwace-C&EZ(|M zLu&Ko2>D%n0m@Kdi!+dm1(6p9g*g{x6#ax}{i4~PlSWIPAutCm$Hc}80|@}B2ud$d zW*`|^F@8tkCZ0flNK0?v+>(&$r_lsDEWkP^p)+K-)CoxlK^mWv;N>z`1ur#Mme92a z-oKcStenc28Hc_c%$9N%9Ot|nc0rTEL3%&DP!bjROf)dXP2Ej*?OZOWHg#=iS9BZB zDB6bgB0H(HoJ>HKu<3(jp5W9qW6Lw^8G%VB5XcAE8DoAKb%4%a%;H@epb#Pl`bd5* zF2nfLuxoE^$nmcOr(kRQ&^JdtRq9++r<)(=#3<8ufb|Ul)1>PkCK;X7Odz1^Mb^u@ zGchw#@}PzytWX3-!TwYb1=kaLK7fW|q27qorA=w_1E6 zf=D2rHGa+wCDr1+U^BDxP%B98IhCZhj%RnnfrS?Z#3fe)2q3_Wo&y+w{K2S$WbX^6ZNyuC+2!@AeGj> zr_*g-xT6PeLI}#?Y|O@T>c#~h$OMkh9V6z1Rn!+{P#@Y2GdICdtzsDf9fS6vu*JHx zREyJeI=a^&1>tNUOFcW35Tj9Kl=6w=VSj_tyeZe=0tQoZ zxU5u6R-=Xst~^pzu(aODS@&&9J*&gJSaArC=d!6SZ8FbHY#@Vfji+xrHa?r@#tzAzADa;M7SlQfkCqG258Fx?X1~~Mnv5!(8301 zmEB;W-_7)_C{#duaY)$-w(q|7JDdbo@t<$p4VDPr${HX;ZhyUS?N)0HMF6*l0|QR!Bm^UIX@* zNQwe56J6)zrv}~wh*sS`m*FJ~665XD5^(qXUiXnFOLxw*v;4HAJ_`3*?5uaSU7nIt zLtea0;zmTjhZfrJddby}SsF%nS%hSo%tAi%(Ay<%yxiOZakrjfsHVM&szDUYnFE@! zjSc?M@$o{UmsyM~=0c?gmHU=Lz|#i!XMwI|GTCq;E6Gh6Q5yGe-zrLuTDLj zyNV|7C=+@(K_#u&$K9)pb)9CTi$dC{{XtKs(44lN3lW5g9~r$+FIv(4wDoEwm9;jN zu8&jb*&ksFAhE@7IMnEl=KI)d0in2GGfOg9@BItwbSUW13x2%RaSqmFcyU^0rtsq8 z;xj9&PFHh7e}xFn+oA9*IN)sqkil8OJx-Wp0$5~#Wevs{wD27fK{-ccoPksB5gBB& z?wcb(xRy^ZYw|*@sK3u&X;M4td7C(Hlk^&CKkCZOxM`O$+Wj67fxsv{JC@Y)p zo-9jJ-IbE|C;r7v74^O;;N(FwGx~Lc>dO`$^#H8vv~yIJV=KmF*qcc>2Mw?ukDKf_ zpzkp%N97##b>TACV6R-xYr7q}j6OJqymv12@~LX+UL7soYykR(K7NI4wsUiqmhJA7 zQ?nH0_!M_4+b_fWHlK9ImS*2?AiV^F85eF=TckjwoANIoG{<k6Pp4KyX5dFXpNPe^i&v#(WfPMPbm6zC`H3#4AW|JpXBe%kAbyy_6GgL!9 ztKGR45E;j8JiZHTZX9qd&JP(5#vX95;ioPAvAvvUIOy}Xv@nR(p5;E?TbH0bHtS@^ zgS=3#GMLsLKoM2+hcjRl;iN*rez;M{G_d!9l7I95x+r(Bh~Kp42f7Dm_awe5_+KO1 zR$c_|@qU1Rzi-WcfJMOJFJBhW!ENMb*X+MpKV=&xQ-?EzixYAX{~r711L}>)D*a%b zUPYhF6FT0b!rqlc9of=H8iS8yE;j5lTjx_%5l4yLsm}%Y<({wYUlSNFh8MEFU?4X!U{QO_~Xcx296DU3k93jbHkbb#NG&L?u@^Hz46W zb$j!Ixm0?gecP|5oAD$)G&|2|jEnN-S1ji4+x|z|bLy}yQ9$lA zO&mhA6h5APB0df@Rvba^rw({9%BSHC8Icw_JKNUWCfO?a5sW2I-=iHW@+5^Nd~KG{ zjUu>_h0NGFM>eq8ISd!~C#9Luer?M{?_ez3`{N8c7a!EIYrU;b%kpkbY)bT1`qSe3 z0=vGs0lS0;^D3+bWB4IOG}82f(5ST!d>@;;Lf=?{cF1Qt3rdod zA@|>39yHk3?Z2E4p$V~}Hv71VfovN9HVxjme0T!{sltJnh0HMta?{ z=H{tJbPf(i45t;Tl=(>hRWhRtTgf!J4Zee6=OwXJwH_67 zF3-#ETnkemBvgH$>L3+Hnv)AStTe#qfwz+I@bb@0?;s^)L&X2L)KNj&JfY0!L?z$+ z)zEA^rI@dn3f0$ZU_|tUeG-xBo2{gyb*R#qhEVK7;yqH#<44e+DQTMeZDpLgRElD3$ zkk34%P)%{oA6&?PF%-TOU_6-lwCT=8zKU~iyREbAudS!}eR@ht;j4e_e0(}t=v7zJ z|2|arJq)*3Hh?<@w4$MoNIl;BV z`D7?n-`ql1k6^Q}1(?mAy^*yg_fop}LNsBt)qW*>GBMJWha8ZfWPTRSpTK7FR;qBo z%qB0ZzOHUXJ}lL_jGZvYeU;{3kdJJ~JbE@6T(X<9b0q_7bj&f>Oi8gJ54w?{+u_7b zDE1*ch@DV?trHKDyfIc9xmUT={mo>(MR-U$Gr0A~fsK%S;PUrhO-SM^BfsBK+%yn_ z*YF7{!8RX@ZSikuQXxrZ@0!){i7-b1S$V_JxF*kkWdodk9KjFbDHh zG65zRRsd0-z)Yg}jZ%)#b}fYKTD@+&o}Z z>-ms4)dt^LS!|4!5MxVEUCxv4AMzTngrCL}6F}6*r>Qk#&Dt7?c{z1yoF( zUO!C>M7*`Lp8ztYCV-#ZA0ypQ*buSK-T{Hr@ht`T@uPblj233&RNDV_Zi!v#Ro2p( zI(Ymyf{`!@mjr7^seMXl&C-}uT2aIj<%+v%`LCf3yz*Bk1vl{?7w=;2v zigj|m9K_W+{}8(g;ht$zngfhMM~AN{U@1;aOh|ctp@S@rhyH|=tBo}#hs|&#j|5Oa z`X;qPo#wZK=R-x&J%pF?$Q6j2kmYBS^`{cc)Bf9mC+*Js2qYP#Z#+i4P4ddGc($jO zxpC#-yKvnN{3`z$kG;pDvYX6*87-=SN<>{mx_o<+Fy4)O9PjWRA*7tbV)f_}G! zWeTJ|_pCDRCrRR4T~+lHM!<$v_gPuwUY*Ivs2?00q~9CzVwP%SI(HEu5AW?{XDcc9 zA9Qwh7Ut-`r?yLCP168Jre9csa{2em_w${U5Z(kcyN}+Yz2vb|v%cS@3q-q~H6aOp zZWn8RXyv?@1Rq}fHj#9xbT4SW$M$KUQ{$3dP@r|7^Nn`05F)DgY~oFun4D-dWL9yQ;mncDAT6yc!-J1q7Qy&w8n%R!OUo78fky%KM-aUMGsmBuXN$aZW zQ_#x_-h#HI%l0Lw;??Pw7cnJD;h|&_7D;!s>_6zW^;TS7&Yf=jWLA*6Hw_x4?eok>gGY1K zzw4edlCRE(w$8d9%^anz_G^icC@Kto`*R$RgX<0$W>=I~CcHJEIBMi%^F7Ygq)WWDa zeJcU7abuT5QJ_r@tRDM&Ga3S)`<2g@f_PqmbU(e>_T_oir^=p}m-@ZuVISzW0a@_y99y%l~?}8<-Ozd^VMHlmEbbQ9EhOY3-kNl6ihB(M^)VG|Hy+7=} z+p}j|qKheg_@o6n=CLh;;zS>c1ZLlZ)m}>>2+w<3F5vFd%dPcw;oCTBl@!eF^W+yr z{^!T8_Pz6mz-F?m%d`6J+u-+2hrc3tWfp$jyP zZI&VMON5|i@7EIbbJsn`?f2MK)nt+%mi6o%+?U}y4}+3!dE1umqy4z%zYdMgca3BQ%}2`9>+>J%Gq*Dn#v-P$1DbAGRu2 z+TL#I36Ni#o9ezf-2C*r7Xnzrbb%GkvR5Vo7HYWxQ-SdbMW{|3RMUb`Gh zCZYsDGoFp4-~2e?@=@XT!>MVLwV%R6S$b?EbY~i+hD+VC9+lJ^yh=rl`oe4QcarHt z7v$3N;@%K1PKmhI&Fo1@gSFrJA7^Xw1(8rwK~)XgCKc=u<&leF8yN6PdAd65Q3xA+ zUX2Nf(Wj?=qe2S5vCYk0gTXrcg~aV9t@M-(f&ic1V4hS3AuV?_?cTOu3)7QNFNrnc zffyrjd${~)<79VVHI+SC7hKj^LTJimL|2$nekkr`h1^1zNr-i@gGfxA@?<-uUIG8) zjWkSEcSA9Ctc$XRfZHbJk6}h`d|m`6-2{OE1o@#LHaSwJJ$Y+cdo!N4%Ss;&J-cd9 za0L41Zb_P47dTL|Pk<$MHC}-aMQ3$(2HE?tcj62gliavv-w9W_E<5`o zmhjG-H*b7!=|dFVyhlnOOhUTMy#rM@sVU9kWwEdz(LYDt_3wB7a;=&lG{{ud-WBm! z>2Q1Spq6mIkCdS^FN~9)PMuKTMXv`ITs%?oI3-u=+1ew*4)yqj3emCROtrNu|7~;W z`>NSG#E&5m-9Z?6E$9)B_$id?c^>b?mA-vTcF`o48@>QGSS$<>w%j`#`$v4^BX^d2 zL!!(K&4Ah^2t?Qw&6j@li9KHh8W%n5quxN^;sgz3b|%XG5PMSEK{7#^YWZD^rpF-H|YQ z2qa0$zEenC91W0p8pQZf*Rt-uP1^StHNbl~?c%R}&!vn~g*9a*T#GUY z=$>m2ZqMhgfZQVTj=N5m*bsi6*7!$MJmcPdk76vyk1)EzM^oYrW3`ml@$fK@mw&!c z=`0KK(8PKV!-5kpO(sUJ8kkiI`em-0^UpL8Ui4ziOAw;JG@fnwYsUK&W{G8Lg%N`_ z?!&whyTa4Kub_9{m`F>q+jA*eR?&KRAZasfC?f7I+X2rfql6FtAh>8!xe_gslq_qV zoRleh`?m9*AazJfYDbob;7;{^~K>swormb-$g6RM{=+;mDk-U&(M zLP)1XYur^GH8-Izi|BJBhcV~BGJx)jUnXus5UWbxfyWSw!WGX~RAP#d%8ABUO+Q4FV*9 z+l*_ln_D}uK2Oy7!0!6OEWVS+u9ICmM|xG2IAV5IEZ9Y8iG*D66Cj|^US6C%yd$AQ zrzYQ{B|euFd{J`wqm!H%>}urr1pL8n9h;PDB_?isaP-rZuKB`;%Omv`WaE)okIRhb z1Ugd9316-5)`_cFG%mF@tM{y{ZQFB$>oYfIPA;W(gQ=`RF_f%mB4ieLFdmEc9ULB( zuw>-09_0nG7S~Oh4h65$V%DTkP=R^uyzO^>KDAyj%F$?ZZI4L)`YNMRQ*G4;I#lG> zi=(;9igqyXShh}PnpXi|1Ut+-qpe7Dm%+??#`9#tc5wKD6=LL;a|YZk3|wwouAMY* zoyN0zgNN{#(673UHU*EC$VqSAz>F0_Fqac0rj%h|lq?GG#g$YkV_3xdf<>l@en?`tPv#dwz zs`vQiaaFIx$8Z?5745yP2MH;R&{(<8k=9}?aKrK5@FM~JN%_cW-)8-`h|&(08m)l= zB8cwFpwzaA_$h9)DiJ;-sue{3$2o>wIini=sFJ;tsn{8tWtR8dOU?@Mpp$M80c4DW z+wEJ2XSXEy`Jc=l`@}s-l%A3v6dTs1IWAy(C3}}!d%qdcVFm9vkdiVT2h!p#-@e@k zLrht6SgV1Kna8?4;eq*(!i8-X>QR3;JACpfSPvyDp(6cXQbnK?vYF=30%IyNRz%SI!%}3mSkBfV5LO=uLl!GH@ zZR^pR|D0)nU{?5bHlg@OM2A|vU0}P#zPNJR<9+MJV}J%TuV*dv0xY`a+HgzR@(_Yb zH>q(aPC0ed<9Lr4Y5+_ir$5oFzUJNj%lCy~03Q0s^qASOK{Fz7N(xAOz7N+f_ch3{ zHxIr<>C7fo=5msU?`Jx$FFy`_Db(mwmqDz2N6SC7G|gp4aqZN9tBrf^hIWdcK+eN= zdzUYKAxNXJRl+3%hE^@;LiWu1nF; z(jtKIg<2umEf3F&%>DViKAv%IJ-j`FWvf>tLOsN4zjnqR2tVvad2{xRih3~*Q z*n4ehbE5svQ((C~IXs*fPI9o?AeJoYhElyRcTUBv4T5nSp;A>ejLEEu;Vr4mZ51dT zv)V3m^w$8qypVGr0*m9+XnnW0mO;Y=qjVe2K|Qz-uU%dEEBXOBOD?sg^ z>Xm}_2U2t7S4YF$c)v$$XSRb`H+v$V^h(sDni6aYZzUnPZ8<$saUqaCV=b+iL{->1 z@a(wSU3xJ$vioEZm~HR-z?{!O;`fETMlDw<*BhIB(`7sqr}nnYk56Q>V_I5T4}&io z+vSQw2$~O^N;89Ym(R(Q=apfr-3KYAw1OmRbac-ht*U7Dc*Ljq@f=!aTs|h5SvR4# zn)k3wuF)6~5P4U_I;WSK`r?~yID1QsN~1XlMW(M-p}YK?*2b~3eg-U~SPANtLye|H zNai{?Qo>6~1AnkLG)9H^KQDmA+<9%xHN@J~bSmJ+kCrNLXFsc}%Zr@LsbGK`YLypM zOH4`^bYaBRiR5QJ@}9?V1?utoM6P)j*&k?ey)E(i{fGOz za(?z*atM+iwKWEnP1MSBSpS(UfYO-ZqdVVj757h2r4$!r0%=DQt@wxGUkWBX!|GTN zUMhaj^Ou)E(2^Viv!u}=K&qLWn{##(ygT`YxNV@F-Rw;99T~TF76{Da zK$;CdjVpe72o~55Z2(8xtDKs0cH!baTBlcx%YOp(s?s`iK;e*3dd9;@51s9Ig+xS_ z0mH6*v{=U+8Dp zvx~p!Jr2YO7xNGscP?o3|H5#Kg*g{R}pV{ENt|wd;FNI=!A+_s&$12P|Kb zuHJaUw~Phh(MHJ3dC#@t9aN#7#G{4~$CHRtBg}*S9HxLTVId+e4!n~>vhCd5M%Wns zWQ`UlGtz(BSi;X_9t<@KBU(1-X-}~py12O50ypdb=kY^N^BIE!V7?S{sbK!U1*q;x zP-EfOPMZrj^0n`V$K2r{FNA45Z}b_fQBIx3r*-k|5zjw~8ncOcm32HEE6p|kiRM{} zsZfdB$`|gwm>Jd$=)9C@)T`aY^||9aLwl6<_4TDECqKt#TUTFpc3$M5tboy8qP$WY zH%yO4G{NEi3hVfI{oU_}&A4!1F+#gW@QNw;rxX{k65SVE14Hfno~fIUyC#=r65fJ9 z)H_eWKtq-ydJEX%x*uw2L^ruuO|vmi=SLo%sl;aOxckzF&2TE?(`&9=&t&k^jERi} z7D$qN-vB+S8005;py-g?13!Qt5yx%YEjyoygUrpd)pn&tL`t-CWj9s3a4+J`22R++ znJ!%#4#M;i41OTV^YGmCENJIscw}n2{$H@Jt}6^bPmQ7z1%K5&w2G9Eiy}rMLy79( zMhKMg4GJ$K!wJ5N&d%r{4GrQ@yuZ#0{^CvZ04z4(*FHR3F*ZN{+doL)75ny-)d?iL z?iqni@Yc5Bnxiw*(LPVxU-(PR_h_`Bv}Pb(85=7IC)g~CE-(wTy#k6yTvc!?>1a3^ zJ|PV0ot48{IGCI3<@D+8K*FmR0Xzw+!-#+IuOUPta&pd$%$hnn>*yD+yGKt?R6FmE z=yu{WlwsqrOubgPK@EnT8}+TOjHX7Ti0{V-hu#!@t+UxFv_~m)F^Gw@^Uw| zd^^DQ9*gX`+xVPZ(IPfxK=s7f{3h6amp7EZ*d3P{D#>W&CbXjZa@#kjm!4lQ+JJWn zOp(7ox~|Wj2Z9ixkS*msxV`qP{0Ytz3+L^60LV2Pxbr&KpS}}Nm8E)rBoF{h!M2X} zmbWOCb-XyhMgR9zB-;XKd0g_0jEw1My7Kc-til|BCmq>X_QtG-d6@<9kWQ{=LW?nR zM|Vfs5h!>(dpInpqP!eqZ2i|KZx`fhk|0%4e~b-!BA%X{yPde)8et>}{PZN5B?=}& z`-g2KY%DCvQ5i?TiKD0UpKr?J0d>!ZBgzOL5a0Hu$M#zt=2RuLEBIh~@hD?#^2Vcm zs9!b+)|m^4+a`d!ibpM6IZ{^Sl8P;+tiJsmA~q}il-Tsu1u2p_EAdIW3x*~#m{66B zoTC7;3bU1!mEPdCJo4Dz;zN^tf#F%kQFtew-f-CUWAL0QMo4~dOxB7CE$~5*HVn#b zz7QU7hTJA*NFM_l1<}2{%dJ8kg#%QoPka2WB{$5 z%;PwBRL`}G8uQJ`T9q(zS+$(%tQWcZ9gkG^p5P;?#}<+5W@*@BP)~^lA~dRFIghpb z(eEr~Juv4%r^8=#ZS6JaSuYnR60_g?2q*B$_W1pUaPKWZ%?alLjjDtw1d5^mtuakQ zA2YXEM-k@h84t#mI&AU;x*sh7785h(6j_NJ>W+>dq6k$jY=)k@FE1ZX(TA~Zv8qvf zBv8MR$Mh?Z$d&DxOfP`u4z#CLK-k`jl)YR15IGStaNWDo1xnn2ea2YjdspZ4BP&ZB zF(_IM$-D8K=RPBo>MeN_p*LWSIXHM?p;JK^PUIN}+r`2slts!WX=mNFioo=w-9a$E zRD$__b1MowBzGX)N&yNy;HI&?)v+=o{g_Q(f)?GLZt4?07wy=`1=WBom=;A?_wl1d zc=$~fMh@_LBqg2ZaYt^^<4MqCJFm!xUnZTl1-;2&CLtvyMJQxc(Y{951l*IYrYWM~ zHtn!kfKi!-vJG@BgQxKK(ZP{FbVx|NPPmUBNyhS8P1|OI<%paus1aeL0NkT|8+pl_VD<`!Lf@z8j$au3OGOh!)XqCI7ufa7cSx&KjG+j5oBnX+7#ex z7F=>)tz82oi9|+&FJf!OOHJ?`Qix~YU|0E~!a~imUegrWV~f4npB#936YdV`gn@4u z4%J;iBVNp6E~IB=JxqEnrKH3^I~|G@aIUb$&UN^H^r(vF?Wv{*o@$qwcwRf9wXw6 zn^Xa$#@HDwU3K;KYAztG+=?Q{O_a_|K>e7SdVXIz;5eQm{hgqB6HJd#E?slvH5MNj zEzG#pKTr@Ky+2?s^5$OxRj6OlvoC-Z0_G(1;3OvCB*Ne%`YRz}9Okf?H*Z$xJNw5$ zMxn6v^07HAJx@{WN-=kCE|-OepB}SYxc=*xiHQ(gc~>bSoL!9ZLI>MaW6f1S(~85j zn7XR|e-E4w-l+cA&j!hnu3T->&k8_riY(+j4Xc5cuBhrq0c-J)6Z|Di@klr&chA?AKH> zBlGw6C1$W?LSC##;FXXReDexSr!%p);b>p&z(AP~bh>xQ!jP)WkkHM}mp2`#1=O*o z!ZDT#Aj#S6#E=xxD4vJUpT|VusQ$tQy;!xJb^v@+``+692H@E7U}<%(Gw($in$4y ziUveYCt*c5L60u>5>~Jgl{kPrLuO5||gN^w# zae!4V?X7w?l9a+_WW=9gg(DT2q>}OU3IAOvfY$bL{KV`|puuQ+{#63fZ|xB1oE(P;I}o=rGcvwIJ@PsqcJQhd>@#e0-q_?} zI3uarQ>}H_3i|r2=kl{G&IWUqrByxBHY7U|Tre#fs8p@qP}{xZKWlN(GPk*U`y^wt z3zuQz(^qVKn-^2gm3u1prEM_|A-)ZStRdqF)tdv=y1c90X)BUddoA;p@3sw-U~iwh zPFjMVCwRPIq5zisV6Pr8c;2iC0fn6IZoyL}r6;rd`+Uqy1_UAoLPSlfHO^}ZASfM2 z2CLr1)C!>4s1BpF;JGGJ#XEAu*V_pQe#bw$`KsJWPo9`Lbkta1#YyZTO!5}fmuyt=w&a9%M?GvyO9s7OAY*-mF&;>u!Eh{hIld04qZ~L4I z8x|E61xrqos=Msz&b`|;&chz$$Vmrp!t*=@>NBN?EfK(s!%);QF96J%elQN#ADXU9 zQ4;qQY4vdVVv^II1dcXB$`@`DbelKSP9GvJlTmT~se+j{*TA9g$5TDp%1}(3=KM-- zo+pi@`Y9n-2+_!Z?@NV@m!yK?ui|Fzf7OW~;TW3)ATU$Xdqj>Kw ztc1PZx^YuZU!y;bTP?@bG*I|`QBeeJ2ua~Kk+grME<#g7E?rI@G|h>ZL?>Yt_%m2d z>)0a~QYdgNd>)V0M}bCFf%niyg+>v8+<~d*uaI$HMdhJksy;}d3LfeA!V^Uw7(spb76%x}(JwcGr`p$)*ny}7|SVt{oB zNlBH%ph_T~04-RklDxw3_35RAU<{ZDWQ+#~EAY?uqIZ6$KOzD5qho=^r1h?RWTIGP zXj$IqWTR83&Hcu@{8D@~Ywp|UFU`9w;(t3C=DE3Ow>5*{U;qZJHyt>UG03tIvu|L~ z@bheSmYNu{@3pZkpBfUvN{E8)rWSO5TD@4a`vRvsd)!=trxpsTWXc6!=kb}oNk6f5G~ z_?=@bhSE6ds1KBVq=e#iH#Z%%A0!Hz!_+81YJ{YubWOcnL{%HEvWYrzK)dd6KwJ7} zvzkh5j<4Zt=L!+hL#Vre6&x6{ zA^PC;*Mfy|^AJ<6*8r6kCJGdXKTAPjNc^2=(?Jo~CyT76Ix;kAS44@I0 zocrQ;wu=Xz+-KXdz6-A5{XOmY;)?=_(ReoDgHy}WE=L)Gt}?d+39-nrar=vSThr8` zlhTdnl+D;iSZI_K4yZ7GhP&@>f)0aMjrE;X+dB;7zkZcb60WY6d}X5VX?J`~9O{H1 z8a&n1UHB43g&;IJIO>mFKmYOLnY-7G^n5U0rJ^L*%Qmp|5`sX@5^GkVzO*&?mK7SZ z3larLlK5aR)~$!dIK-nl9*K3{+cbk69aUiKCn>=v^o|VAlBp1Vr>?caPTt3l1G!n# z+XA=D6h2Y@r#K5CGBj;Q_P_%IG(mN`J3pnpl|Zf*5e~fsq#!rvL$E38etJ-H@*JR} za&vQwKXCq2)zPQ}G>+}Whuy_L?tr`+EbByJ*8+cmLoz~&Slit61bfpUKm00wxH*L$ zQU2$AkYqI|1vX1jOqo(7*=m}6rCK@r49Cmv%GYV~vaeiLhBLE4NIpXhFPxw31vxtM zVf|ZA>q>(yi{)kJp}j0nleb+3GDr$EW@>G{lqbWda_IR8->KDv-8d=|WJ@8`($q|I zWwy=n5d7zQ4f0NWyHf=aW)lZfQ^4tUFg0MH@l)tEhn{$HA=P08*2cD^EYPU5wX^&F zpv)X7i=8%-gKXlz4=PD>@C;+*sZ#no;k$yUcjQ5)rtNc+lho@g z^x`r7Df-T zi9|7DM(0ToDL>c={`*rR-)ntm4hgru7m@Wy?yOepq(t!(o|0_u-eV{HryfYkrLy0#z+&8EQLj22?~Bys%H2x6Kr!7O`?6mQ8;?%g%9h z#3u@>BlC}aa^726I!CJioY$ZNq`$Vn>#XHadPuF9Dt2Hy00finnnftsaKa^Rgbg)b zn=al9eQAwg2c6l!KgsHk@xXRHYzR|Af_`Zfan@be&tTKKn{ayAR*MhHpl2e)EPHE! zjVw)^k&%&z67-GG&Y4Qo*=6B} z$_efI6udHgJrSt@SXKXg-5{^v#2aK;Yzzs8DoF(o?z;YdK`QX7P%Y=BNMMi5S!-)6 z7c?AQF98HR)v-yyo2dA2LxzSs-9wXF0n<%Eten*O&7J)UAQVFV;(ArcPmlcris_SS zTh4u=iW5K0&tF_7wWoc{txo(u^TF}M_SnRPhKhv>Aiwa#<06I}m_$|b9eZ~~(diN(d#R)e+pe9Ng65)Hq*uhoA!+y|0Y zh5&QZCK7Jv$iMQh`>O%_D#{K#=G1*cOd&;*D1dnP&67jcVHY%=c!S~W3jjG%0(NwQ zL738k{nuC*GkHep;Av@Tx=?cUpydm$2=)^?5hm*%DAQ*w{NURPN|kF{6?;IzSkoi| zRM!%op8xZ1Q&MPE{wgZU78V-dsjAuyj*5r%fqFEjEl)VEVQ`ZLcwM153{eutbOL5O zPpZ@Y`*M?QL1QX6J3ARRw7l&hxd5#EGJC@6w0iIu0;aUDv%!T1sO!u^6x4_#Dg=Ou zpvqYNghjcHjg97<#=lptql>~Ud7ZV<#tr-G=djUW z#OSE-mTJTb;Oe7ym-C7bmp0o~h9%Eu+ZuWKxNj{4_)Iivd3SAe^vqRW2{4mZ!UPpt-%vIe5 z>}_*3xd_Gnd$PB`e%175H#Z$hVz$pu&$OoHC)*OjN~yyn=)Wh{IjwANiiSb~I%C95 zR|epcf&v3u^YZ}$;GZMpVXN)PGct|+{HeZ%>paA|bhN)=DA_ZgCG9)%hH~Y){p}8R z98c=cxU{FIr)~o*O&5oUcrIlZ@tfm3Ov1X_RsJwN z3V4raVp4zC@V17BqNcXCdMy;}ssHDr`xZvVJ_O)FC-RD*ddvmVXF2f>%nG=`%cCvv ze0J8t^K8=-bQUMEK$3fE{;%Z0@3FD5yOhMkSP|3lpXMgSofffAq=&rD-$~GX>+a63 z4DxK30?9Esno{cD?!7NacAH!l!nkKRd~?tqo;SzA^lMhTGo+nYsCc&{-g#{pG=aMp z(KQPMbK-i@V6&!4^`DWMr?@%wai|ptNOCCPtL1~vyfr2831y#9*0%RK9%*# z`U9ZfkUa-TLk{i)|MO)x3}qzid(MOnNZyZt`7SH9h++v*Yl8F4FmSaEZpOi}G|bNS z1fU;<1Qdo9g!zQ@akVmHwlrG(kJgMr^)Wjhacpt|p-?6zq3W=*4yZxiIxI2V3QX}j zxbCyQd;E+{O!oiNKt|lhA3?%Fi#>HXWZx}GYd64Twt)N2q9qCdWGpN!LvgnT zZu~pqQW#)+T0WmqAbh zU>1}ACJef75o)8)I+I(z&&;q~0`i#VlNVs0JFOzY&GkjVd-g1p?`^{HwTB=laGi0r zY*K&r{JH!7+`khk$J$NtH+D`7E2{;#%dIVYCf%yrFM0$JM5j6kW)fiLEa9`02X;^= zKd$|I*{W@S2Q07^bG|Vob^^9g35s-HIdy_ON$o-8R|UZ#m7B0$cSrsi*gxx^ZWK6o zVIqfRlPUm6s|Q+63LwtkhyB^Z!uRbuj4e?4$+l*Q0l%-_u=nx#3Bo6Ed6s$k+I8Wp z-d3jq9D1+YwL%G!Ww?sS7h&`?qgZX$%L<-;|Y zq-&Tf06QI1(j-BknxzwLSe+0iN>&iKEA26tTkdXqsXT!9f4F+^7B3;r_Lu%4U_Y?$Fq)Qr=?#59Qlm>@1j+BkjJz#^u@9_CPuIs++vpZjEiFuGeiZXZ6`ry=kUlr zLNI#}mQY;zlXi`wG3Rxe3zC$TPHxLDy({i$;!3H`Q8!q6rIJI5wm`oyMbC;k>6g}# zkar|X26fS~%wivkD(^-PzMpZwAk3aL)y__;GAzbNOgQy#g^{6_eo654#(JlHcM~U> zTu1c2J_qcy8No0g>epD3_=BL1e>ol9u1euvs{V~uqG9t_^`A?JiIyIf?jtd&umoYp z%SHru+p(eFH2X#YU0pC+n#u`3T4dLQMf+;(M4xAGeA27d zn-?kV10!?*o{H`qft8NyQ>a_?eF=$NL&Jc6X%{&wdroSbHh>}kqdf+C)pn3%z6uFl z0$nzw4mjL%(l%_LH4|`_#7Z*P*yI=oZ{~>cQE5---1+U+kV^7KUt`7th#y`qiT*rZ z1v;2ipEj5$v9$*i@NKqtPMs}9<8!yqH&CqEDa}cQp7Rpk9p|$=$BC0x$P2|DlPR(_Z{jlaC$=T1 zbxtu$#raDb$XBlUi?O>!RosOX1Q7#`JIaWWEKXbo-5CxvuEbc>HV8syzXXc3+K+S^*Q6gM9!Q+H9X_tP5seM7 zXsy!(3utwhTqon$`N|eL!l$>mXm0J=E<*RXiq*JIx*ZcaSG(`KcBt#mQiq!MCoS(a zCxQpLdr&TUz{A}+-Jte9cwGjjW%$F8cR^n6X!4!69+`IcYGAd_Z?utwupD0Gg zbtn}c+(uE-;o(xZ;xFL@=P&7@3|_1mD|koKZ*6|XrFl-2G&!$jB)T=Lb_5@oPt{VT z<3c}<``0H(ItAe(UZR*)1Md5;Pflq~T!i59fyq7EI|?LOuGuS`-FIPSHCyIGYb^Wj z+=)wPgff{rTEilzNZ6c@%8eJU-0Vnv=Konf0-{9|wCHN}>=Z3O^)-8b9@OhgtEV2% zalY9g&&dxwzO(r4N|B%`I^?RCOSw`+nDF_07~Tt|Wx@d=!4AH!J#9i5$#n>ig}t`3 z%H_u5)qEtog3I!(Dv1SEbL3AYUlXx3?0v+1s>jOby=89p@XRjx@FG)bo z(L{4SqU2a8B&q_xi*A%2l6_?Vr-J%~k(-ap-2{u=K@#?gGkJLeX}P0BqC5g}%&#~5 z{}|5B_r3l-32kJ~)`i1o9yYttgIU<}SHWGn1&+=FFwX>q9C$RwnbEO&;?F7Tr;j{; z$Eu=E>jZqe>sfwXGR63AEc<1rx|KYMEWx^NlP60nzPbTAO0M>(jw_A@jW;&GDh9kA zTm4uUW*n7B*=m$H!z0Ty2GMUZdG@`n1Ku}+SAu3j=ozWH^TzKm^FWsHmDz*WnHu6G zWTDe*w6MaJ;*L6GTSFF88s3z(Qn1 zM2gIRH+x{pC+V%t?-80^ zZHsZ{Nw@JFpQ3Jd0>hW;bpNXWBV~@Pp&s;Ask>Qje4Vmjp`e!eIOq9ChsN~;P5s9S z0?2*kJlbKV%Zaax_R3R^AY0zgCy6xF%M~3}!`kpaZ+BdB9qzO{lA4qkA_{cu^7j>a z&e}6B6ev`&j-&s6%N}HgCd{su4gP&ubWKe>3xniqw-+yBoj&-ZRzH3r7uNFrY6a`o#dB~F z(`4Xqsk_q;58ckIx3@RHuaxY)aqx-U(wNbUgpTUh6m{RBq&Hru6!hFh?3qWas^r|E z8^h5CnlPf?aSr$*R@FV9w@o+bEr#jUXn3W4z-N}df0P|YxA6F(Oi!8R%<}!6Rh2O(vA?VO`M$Wo+QIUgBfJpSM|O_a z#P_Yz(cdqlgpnUKQ}|O&#fkcclS5G}sC0>GX4G`(xJ`X@V0-`irjklKW^$`DP|_z1 zUvq|SmPq$EX4Y%(q3zNLYCO0kvsr-b^UV~`@iPdwWX;I=&&8c#M9^5tV zfieOAkpU(TPH08_s)CZ?&%=R-`rnoCP$=9@^pp~4mxu!Y4>Z*r#+ z6n+B`i}$h6e;TN7onF2)Tp1I|=hXx0Q5ZhjaQ-V)DQ4-BB?KXc;qGBr{MFX5kh?(9kej@dl$Lk`O&w|(old@ zg|KD$Mog!Pi@wTpo4PgIwaqjjLjJn}PqMmjj%*&x^#J-QF+KfYp3Vt!3-V6wu~ega zg}KW9g03n^oWWAU zWdq(8?{M>1dM6K-%?o#rc&qW8-d0e%X%YS5{GU8}>k8?&+tN)}kM`!pdR=#U4l-{i z$T?MGM^-IjG;3sPBj4w3URmyMo!nqq{@c2G=@F_7a;;8G2*5<%DU*acZ$BYMf)hUZ z4w_Ju@sKPZt0FH0D>*%+)h5c>=sUbgch!iGXZ}jfk4dnN?4=<*Td@|U zQ5KbhuSAn}Ly5tq>-WakX1OtuEc=1&uf%zyX7i{n*grz;^TG=mDSh3WO3K;UCPvU# z`MAE5nyJPg<9(EVd1eO~IG9|Mg2iVp62%Uk4_W@WwdO31tcOE{VRUD^NafPIMytCa z(h7%L9E6T%N(I4#kR3mPR6_SSS9b0dcT@Bq#|`_i>ZQko4#53es86Tg$KV$I#!BpN zb>GCc);yY2)FMPG43c(svj&OJ(7Zp;OLI9D#VlO*_iSnx82WVE%DLS!35?Wu1zhjLfZW!@J-ng% z!A{VlR6!{8$vTyBU3*z4_g5zW5B}s+kDa|OpL1V`LeF1*_$GcArx0h1+uNiduXroe z89UQKgN$F3I~>rC2~UQ#T~y_IRn$KPc`9@^SQ!jTjAgZL2J!hR#HZ$|Tq5R$nQsQQ zPjX*A{LR^oNcl!jf~s`~_8kPf~u zxshp5OtgnTZ=c>}t7fmJUKQRa|L7-_RIU`u0rd)cC3DX1d6(jAxWKoAcSZ!Xb4RJ- zwQ7~eDk(oN3;Z=Qd^4sjTkmt%E^$~akUj#Zp|!K?z*$JKWqHxrk`pJ zga>9F^B#I`u={E5v@_{rs-R+vjkssoNgChKs=;0+v#9TksPxzUpBf(4*_Tv9t0vYu zP-f7=q;qx;UP*qQP_qIb6{rXG>XZJUkh-Jw0wRNX6 z`;spn5UQJTznXpAISt7Hk|W7>*|THH-Mow@Xu$8)Qt0-CLMT75`fL>$SN2UHhv&Fv zJr{45+Xrdy9(o_vrc9()I5L@eRZi-^9HR%@B0qnF71KR&v#)04`V9%f`EvpuV@Y;- zH!sq-^67&CuN?cbE1=+Gr(kpA&QDTA9z4kYdexN*Qj^qp^O8H$UD!1mSI_8CdQRrw z$c7d97LVY|JQIhhLy#QHre~g=3KQq}f8Z=l>#FJCkD_;RmdN$a`7FB`>v7={5Px|*|%T;mZmcS&(P_1s0-EV!m6uoF|liTJlJO$<({)wRiY?4eQwLG#pYXyS5H@r zJ4tv{WrZ2<{3=@Csewu8*O~Fa7;bQ^)`^)I;_Arn$e*7Tm^oYV7a{iL{Rtkhn3ZqQ zl+@Gl(1I&LjUtD`R=~(@vuS+D7RKrMJtgcZ`AdY9PDzoBWPjy@|N zJgd4|Vx#!B?nb*g?eEBCiLDR$c?V7=r&04qemqrJ{ORxn~ZsX7{ zAM9*|YGRo3cXGTTB&42~-h&q6o__GF{xHa9=z5bGeA(}J&Gv^bv6}?kGh$9L{g=8& zSDg4AiXjgk|j95oHC*t(2Bby1?8M3?E zK-G=&6T6T(66-~iflkpV<}sXS8Wl%NdwJe!6>dKk8vB9b0eby-r5hZI7NM1ZjR)-lrm6CM0~asb%%Fs}alXlQkcDJ%wtU>6pJ7-t&`& z+=Z)+_&@U`bZv8e<0qElTJKbMGcZTRzxqMMyJt`SzVQrR!`d^)T~VAm+!f&A;bXVR zJQh$xl)pSsoyI6s#PepMi7DpyDT7A*VoTm?r#&RTd38Eabqv`X`3Wljm1;>bzc#V{ zOw&a|NA}AB0tI1umttPSg0w`PH#sUz7$lA049|UnK1h@dxGWA*hczuH8pBTc@oRc# zNolv+3(VW^?ANQ;c?mqwZ2B_=?e0jtVdrLy|WFzptBsIXLFrLoK7^X@f}39rXdNp$NeVT)A(raO8e=uthLeibJZ*9)e42 z0j5-^DDmpcRQ#LcCg8F2My)cK<$ytJFYZf^(W>8m#VpmO9%ZpdOG;+eYqlm4(w~d$ zCX;g-nV&NCxfeU%D;TtF?2m7?)hL?UNLlOU?J>n1u%EpjCOEg0%k~T-McS^5l`f61 zDv36W==A-(`y)i)B~8;aEM)YYJ$!H~U^``TWngWhPnd7ufeCbe(@D@^ysqVy{R7Lf z?Cy^nOsj`gkdG5hT$PkZdzN7LA^AGXR_6$D+=zXYp>YL+_r0-a=!UzCJ!W zM%atQ^GECF3vzPgdwY8N)cQp$Jnx%6MAsdDbT}H>+UB~WWw1q~BWPiAU*+@;K+D%0CUbHGl5 z;zwVeuHYY%jcEXYxufAFHB^IO%>GS2)TVsh;gHy;HF+qHLwnsRgXas7^t8Z)#<^6D z5#MYN3qJc=8}@H&Ub1Osf^V_VNM);~PsJq~4q*@I0Jl9Nbv~}~k+9jA%yQKSc@xHX;)KEbtY>FVC8s1&IY2%rrv=SY+@W4`vqh_lw?}T+a&4jf&bkPN{|ykp|__VDG8nzSI;m>+^lpiX8XHIu$)k=Z3Te za3pr;4i3{Z&EF<|<8J?^RTmrky2yChuye`%f?N(M+@a2>Rscd3jgMbx=ogJzlMTFR zSMGH{F8afVt30X9i#J+qiLX^6UXG&N2BJSi_9 zcjLx~rBAYGrB!>fLjOk4c;!rpjFSw&asqhB0T}CUS7yOR|8~d`f6@urbNar~Q|J4k z7KeYU6W}Ljq8T5nw;-dS&I9w?W^{dgqsia}Opv!a#z1&)_Na09z!vwEQM{Qlnubo( z$iwQ%d$u&pmSB5b2hWSv3+P?)i(;pSz1p^ReP#sRq=NC6T1j^9RKixX@@ozrUuqgxlI3=^y&H#R&|>EM3CeZtUC^ar zF2ZTi*f>@rdF~Df6s8rbbe%G-)?U%hjNVSagy+E68VY{W^Q|-X*A!IvW_k`9#!{;) z_KKehYX7Llpkm;r_~eH-x>Va@$y9#0Q9kVR#iG*Cz`qrTH8QblDw~KR?$`E_aM3;H z^iV3FVV_%tpPB{c?O5_I1B%|S?(8BJlWQ^~weFwCDQqS5E8+4xVvoN0sWfsB@?>4w zk%QDPjo6EZT?idD0Y-MO-NZ#vTaocm``sQQOx^-bxUco(7nN9#V-nYQJ`$jCP|DN`UJc|LE=k05D^K;*XU zltW%-$HcK;bTPl}$)nVI2S$aXuwPa(m3eWI6HZ=; zyX55hOi3T-LEgb>Phxv;h!ojjS#_M+?j;{z>r3~==3-5{rd$V@EbmCa+?=dO4yit2 zbaS~lB`RGrrRH4UMJ=kt#0UAl;yLCq6i*^y>Fv5r-c>>fQ^w|?{D0{#nesY?IJ{rB zjO=HjaH8CWutrB->D`q1C^UZmxt*u_Gpzm&a^Y9u;EE9+>Lnk(E8!f8aZSdZT@CXr zAxpL6kl#vYQTPsQ=SzH9J3YxL5L2kMcLz^OUQ*F0fCABm4w&}{@}7Hv)bcC-Z+Bhp zEqgTH?T$wM=Eab+321*C853BtKsL``M&sx*W>_ANFPmAebCASG}kv&{j0< zj6ZI$35vKb${uO_$an7jS~ByEI#d6k!$ZB*7X|X(H?_@s|`?6r0o0lXvx*miBlzYthW*1lAZ(#>30Ov zXPO-$UIDVt>b-_lYvy8Ov*>czEyO!+AINYH=blP4~wSj0E7w4kfAP zkOe%OwoaeL=E%ZzqLg*icZ~j&XvWSa>gLLvjFS|0LK8*?XV_6C^N91NzSX3nRJodE z>{s;5_S9t+^;4t+)+0QW$mbu(Uiw~;WWTfeb-6Qh+kN6sjRIv|qd}SCgx*}8kCkhL zR4;lPA0;zyZ(aGk%c9F#syDK*Ynk+=LzrgdsmExL;8I@(DY^p>WRP(UE??%jv6=yW zimUJ5Zd?5sH&f4vTnxfsjur*)lHTx8&#p%rqnAaSWSuT;aXv+AERcc&*LYGj4HJd} z5*G#oukW}>`;%^wR%6k|Zde1C^*G72IwEyS2oqDe?$Qd+((S26V_YS+T)?xr_{F)- z@f$9X89mp}rgNN-BunHUtGb{C(=*ak* zQhN*@$|c{cutS>^`n5vocXpxB*!eFz+L;-2NRTTLYh*TL5a&BBJZ6xJ$Z z)VqQ(Ts4bDol`)Xc+M!9? zI$c_ROH&WjZc<&&`lvvABKvRbmr;a@ctV#alvp7hFy=}xF5gAnJwiD;9O35I-oA!z z@iR?HNk~=ckP1*m*7CEiy`F&jt>SR2wEWf3IG^tU9#GF;`~?1I8L=+5ODw3@l|mU> zy>$&L>FFtlwHfzj-(m{&B@}Af((0V$m)g^KpzP zpk(dDO-HAUn`cXlw^qdM^`qS*li`E+ytAibpA96w3ZpRci?WkGGH5LME7stf6HOe3 z9R$$gC%(t{aDT>dB6lED38fieZ-px_)XD#P?qD)lup}l~RH$0FMdJ~JrVIdC(C)-` zNL7!nezh0k7uP^gP~=`rCCLuHpX@ZiKkpUj&FJBc8=X5R+z;eM({j_3^OMs9%K74b zJ{JI?O3|xfLjfM^-H3mzH&5iY{00fUDS!72*rm20t1uV0Bp(1x;md{ldyp3Pl8zJmKXkKlzk>Ccsp!!yf13S zuxG2m?=&^5h>&csv9oMQ3VPz*!YAOYxleiX=Iw0V&>_HK@cwX7N*_sh_U{CJS(Uta zbkH!X6a!3XzLhNHYK5`@jW21S{}nJ!1KAw^8@t#U?qzz6CdnBKk`i9n{`e2h;lvfr zG{b9-4#f}Nrxq3zG(=y_HZ*K&*w}bQ066dfXr$|#z!O10enK#QQB2Uh{1X~r$J%!a ztIDDRWdE6~zy2V6@7@c5bG*tRHopEt-LrPvBTlU_%C7n5=9{;EuWuzzkBPo==HhqL z*WZz5HS5rjN>kGK5B}!f903xt1c*4PkJ?Wis3g)f0z^mu(C1SZ?Hi+zY3GG-Oj1}D zdTQ^hS*6)yW6!5vEmDF}q!<6;A+{YDyF5%%P1d1fx|CN?uo)Wi_gJK208n8p&T!OG zKhZ=YQ^4Q@!Nc+U!`z&;$YXQsou~i#eR&saM}vOuQ8XsKxc}Z838YzO=TDkrGS}ol z`P+ksx;szHe6yCLWQHativMn${*|qgsOr|@j-U{JNqLeN^&3?GU5qYg@8y=T7@k}4 z%HFh$ESllrTffFCPd7zedg$*@Ip#N97wn7qoJk!NF0&U?_Bl7VU5Ts29ROLRljb`* z-s!{PrA=Eyyo#Iu!0#SWllIYvWDOe)RUf zaMS_)rh#8AW?^ZmQu^i<=OCmaTgWln@}m34=8xlJV>2B;kHJE6e*<}c#B>f`|99cK zO!>r-)&T+iu_0%GPeS@ns>P-DhE>O{n)lcDX5@bHT{eq4Patb-a`U@sYsV%jf);43 zFD4~5wTBCVp#Aqy-S*vb-3oG{z@il`b8>PT4DQaIU%dVL=b424RAx3a5m|O|m!Ez@ z@ybeUGy_~;%FCY(jjR!Kc&*R;2VHbh9+QSNPEScmq41Y{dkmQElK&53we=Op%u5A> zTrum2Jcj(7Ki5hDPAsG{n55*AxO)G7ipGxgmwy)K(HOJe-wc}A&a5g^Atb!P>$jZ^ z=?ggAKj{Nyg9D`)W>^^1SI1!fAO>@SB;#hhN0{-A%!?&kU@;*qan?5#l21VHU zmOogg4TrA*gqb%zJ-zTNr^WuCQ!8WWU6cR3a<-+gcN>62c!)*=*A^a{%+u!%zki3# zKWxriToMtuW*>pT>c(6ITnmmDKVJLb`DX*%-K&u+)g#HT0J25If?(=n{O`W4Aoimf zkgczbH8!CgQ=FWfDDXPDSL@}@!k8VSZIbD>7y5pF|Ngo(<0H_J_m+r>wt4B?i1weJ zY5zBt-8Mo}@&%=2U@$@HYgQm!jQsu$*rrPW+|^1$2QWHO>5-~ugQpRRRM%X3Sv~^% zB*2^lXd#dpN%P{E@zOY)sLf%j?BxB=OG*MR&JGJ2U$HvJ?|9D@{a%HjSY-j&2NB;+# zx%@GeIY6R9+C*7F6R{W9OsvOU&`aA=+utWh?ISspX7{zGz%0USQR&Kv#<{oFu} zNZERhH#WbAfIO;%YyPuoGM5>o$i?k=L-c*AD7&Mfp`po{AA(|QN{ereM-=%IN4=H! zL-I}pUDrkmWmJ6znrW@GueN4@0T!L8rKNc!l2rbl>%V|XdNGx*8h$gAn8v=ozIi1d zD$qnMENwDuKXt?ZJslvk6#%>{_Td|L)l##k)YmNU!fCH9j|ON&3M;W%{`HYR1ZGzw zgO|JS-c`-bfNhQE{^z7Ia}wm6GD~+6z&6m@!$Wkd^oWSwQINMisH-Emsb(tph;8Dd znI}4{&2L{Ad#VLxno-;eEn?d$2CZXy7(hB0|-iffXV=ed}Ie-Y`9f@b@VCr=xld0UqXR z)@On2C+&>}Flj^Q=ksk1X-Ar}z+fKef3GRY$>rtc*#$SAl{&TS{>4*(cdo5Hd*{k7 zH*Y1Y;OM}!K{tSMOSSkT1K^C@o$1+vIbKrf(Z&q=#^vp6$obzg|Hdqj1~g^x2{KAq zAj_iMQodxj`$-8!rS$1$6As=%4FT}Aywzx()n0DDDa>we7B6mxNX$P5`U2QpQfjIj zhz!71)2R3>%SLBsFhC#}tiTx#caQXp;JY{e^DbGPDzUi%pX+z^3kv%0_`iZZfWb0+ z#=1=t)VY`z>gvE9WA=U9{<4o8-|*8I((4G#hcQ2I^)WmKJL6JkUvmg>TvDqmFIOTX zx>CIlGGL$ov&h88+;s1}l3yD)n0Hf*yZfcJcG5WcIKGwLMWA*MT5}lG!L>leyuIX@ zTe)RkblkWDPJjTDG#eY6_%}S<-93ZcE_m?NaOin8CxoA*$o-z&l|C!7-+z04r|8NeX(>?;VS=z8Brtw7E! z3?k^`b5eMJr&VMNOj7`ObKnT$i`*|C>r7Jk_k@mm#3u4+_#ZZ*rNqR=8~estL`I0` z*`!_u(rFZl5aFy$7ri%$DK9J!lioZuJL%S^qDk)(H*&7L=5B+t=pxd+3{RfuVkU~8(4kp$J#ia8IP++s zX?qNP_;Y)^=drJ^Hn`Yjq$MR&(vy?B6r1pMb+YJOg?vySep;f8h0r|j#=|f01AeWq zsK9j>(lwpP9<_6yIzlWHSLf$D=4;*LETCW&<46bo8Pc9J+2#A-t=a0mPd;Nxv~h!;C(SwmbE26j!zHOgEEfFzCxW)IS?u6mu$LEf<4ID@J|avV{s=~sXEBtR<9%Kh=5NHlH+PCw z(pwGo=7eTI9_D1GuqJp2q%VxL34|rPjq{Wl_;^iOl&SNCfjn&c!M>M#$pkydvCo~e z+Tw@%uDs?Q*~=yd#-2OT@ipsvV08f(hUsUA42g6`9^b7@c zbOr7zt_B;}cNOO6cLMCZ_4bgTlbP8gBJmDozH)@@pAzZ)Ko2Cb52Bsz?P!v`!DN`1 za{tbQ`3z~JHQ+QQn3t%?wcVn>Ft4aave=3j>N3au!@)G9P5CYUVqHi6uLLrb6!UNb*1}kqu zlbel8vwPuyzVWNzTF*68Zt3$thX8l#%xRwT%7!lLYf{znKp88~xP>+)u31jP$G4Qo z)zLR}MT}lgSJ$deImVa)Xx0YD9m3LnWgRX?9&JW!KPEq=UgiKs)-zw${8M=RPH2k$ z&vy8tq(wj<;@}M!_rjj)J^oUun~n5JO*l6T3kz#-c@~x;tD8dLh?1#YB5@2T-&QLY z|4u%|@a8S1`F7}yYuAL3DpwalS%CzJWMM&ar;hH>!prwKi#)@ z8RaUezH{PRx94cdjrcEXV7B(=zhlzPQ1bse%k-76M52ryf z@{IN>V_|difX^~dtkbPN>6oOqhE^^JJGGNEk^{#5p?*J~FfcOu^hXX@L`u(rJT$3i zFy_&h>S{hte;ILg` z#WL^b<{}9A8-A{?VPeuI_|9q)C}Y-uQVjVobdmUi3CU^yBcAQI0lw6*1Y#F@NnwHDdfv#$f5n8+FG>xJD^ zmw~pbp@xfK2hooXio0>)p&giQ6!U-2bSZ{_vVhI@@x5tJ_fFSwcD52Cs4a!TG$bi0 ziBB*sUAY&N+fPrw5PTku56U=7T$9KGQn1AmAX$A!viLEaJ;gh*o|Tmw!5M$7|&sVkr9^?{TeU z(#aDwwEz799^FFa9L`Mc5`o1}c217<95=0tySoEVwBlXR`-zNbqf{c6q;07BCLCm9 zFuAEqNgcHqTh?J#vpyCqB9`Y_)cDd#aF3G!{26|VVe=s%SBQy-#76VnsAvff@3o;5 zKKO(7hfnnlV8);RMd&cS|5TduJY8-CK|}z%iT@4d9Hn~h*}!dy8{CRB+v5;?>)ek z%1ysU+~u!E9%Vuz+letA1&fQeFl=Bm(Y##F=fw*bS`6{#9XM{&XO0)ESzvNWtO zI`50sE{0!#_q_-S)}ZXLOHojfNb>OiMVL60Q_+`&^atzn7H3bCRsK)7znxv0l#ysh z$T(Q{pGr&W?CB2Q-`ZM;Thc?|Bcd7I*mYhysOg43t zO*1ZQj!t0k;okPEW2HOBQ6L;k2Gnu~)Ik-#oSmrU=<52_cjNC%P{6C{y1N(oczEP= zZ3zz{cW^;RBk4Q-YdZgwIm^Njg*MpMo0KV1^w^jxU%a6~R6|=Q&d&#v?w?dp@Z8DA zN8;;g`u-2iR1mKGO06K%)!BgQXx6f8FGnvhvziGFFw9wY2o$BHBywIay!0N*YWYb- zHY7NhdSpwAGOjt)r^&369W#`k7@@15TS%18KTHcfTB4S7Z}edNpwb_?p8pknpuM(-v?w2aEc7k2Gz~E~ zC*QAcdR>ezt+a`3OL_moc8$ZK` zN5YjcnB1#c`EJUF!uRj%_rO z5_s0^kR&n8(MkrfapvgoZ^of;@pa9Jrhvt@o~@-wAhvW|bo^K1^^A^dq-Ae?l(L2< zA&=fJ)g>9+dCmVtv9+b^VkqK~{PnE+-wE-IBii zcWQul^st@#eYBCAfhK%DB2SCI=l|yTgeP7(H@4H8Qpfj|Jza_`sghA<4~Wt5ymsEP zZ{(GxB5rSgnr?~aRPgidH3{~)+AkZT=FnW0WWx2FWPLrExA=Mse_;@PfM;z3+a|lO z{dnv-cc4=!cr~RjIw@Jz2phjZB2_I2E5$sYzn~5#Gd_p($i45bwdhqO=wBUBXao4f zMfS7)X&9N&#@dZ($ZYmn9F-GRJX6VEF)|sQJ-sR%1h+pboe$O{BJ8%SH$b`{uHr1) zPk$__kHF}Wn2bR;QeT(8_h z5<|~RA@}X3$PrHdBunSK}mS`gU#jK^C@aMeV+MO11#Pub0hTMLNTf}6Xe z+tY#X@{92}HlBAbK$k$o9+;uJrQH|ae6pBqC*@AAD&^tvd+>m}Gb5MS_DLJGC5UY{ z_nC80sAFUEy-v%vjAUg?L&HU@z)3Jc?u8tYHDq?3+tCu+D>>2v>T3Qg?q^5el%O|g zwtyWm1(BH#7ue5EdtkSQMd*tLgA1roq4!L3n2SvtmwMRMk z8)`d#7oj*|Cj|u~7Mowutdqs;r^!}{0c>s(l9H^A@vM!q7BM#sT|_K}=^c4uKMakG zv{_r{0NCwMTf4?jjQ76{JugS@h8-Q===`lYHRxrb+pw7V?>356+MFwgD8ROM;a=OH z(TB+Wkb#A+T`P|&A zs+!dg9)ohsLrL`>F6RU(`b`vN-y%R%@Kq0n2J$O;8x(*`xyN@&om|ZKz>nxlf%N8* zzz3vfispJ2`ZmQmaLv=*9R;)tx9TcI91Ov7Uk8y#dKKg)s;@tP{yglqt7Bwz$#)@p zE9YrYmGw)9aQ%hXZ>wyDkVn|vgM%TM$ABH&cl}QxvZSeeX6T=`D!+$(5C9!sY8mTfdwS=xyf<+c>R&Pd1VzAr)aYGilx z!7cBPX~(HkB^ar)A-04szZ})VvYM5pzC)ju4Otyudh5F9+yy*bqgG>BSX+O;c`KS* z?LJv$9rfr*%>$s>+VKr|L4i3;xCD?~;FqPL2+4+kI>JDBp}zy z^dPOt`TY4A?FDlQuM3!Y1k%T67+XI=1X^lpo{B)o1K_t-u+xEDE^MH==UROAE!Qj2 z(v`}t8a?Mh(Q3mpf9{+N33QCfq7JIEynq^KP}hiz7}{3J1l_36RN!E>@$kmb< zo&Mt(3pH)X1Kmf9^by>=ppw#vlEn8}(0S2O>XS8$7##F+z@r)AA!^Qq`{S*l$P#mz1fnDARn#^vQyd> z4g((3UOEV-788NN@Zj+Ik_{_h!oqiec(v6ucK9r6nBH{f;ucW|>32{u^82Dl^PASy zs5;g3;FC&f_J+`^h3_pFr%ZYEQD%V-sG9@2lHVifgx=ZLK8px%x?O!O_?52c#VWz( zkk+f`Vuc$rv0QZbJD!B7s8D00O!(KV0Y5X^Ms_^lp}ja_>GUIGY@@ zg#R0c?um%ZDnUa@-bv(!{!)`h5j=;&kh)X}*RARdERtBIP1iE967`J`K z)>`btrhWcUZhuQ}wxO+wo@rWnx*-gFR}uV!wVC zFSC4iRfG@i*u1+eT7~_yYB%O>y-RGxcdVj!e0u^sBhqu7(ogS)RvL(2CFGuMf@KF{ zpXUe+{9an^EVECl!rqF9E7S{i)kM`buWAVEc}#UC%(hfm?524I_-Y>BIf^@KT}#>2 zAe~nY0$+0vwEypW-(CLi|BziUe8y(RL^{^w@brEio1O)995nANU8cgkG43WBaNeEl z;K12IP-kw{1P2EEn$z#I0ARoXSJz6@De+kNi?vD7OFCuZS8?}*h5v%}P5$1}r)i9I z?8BH&vEAQV1iDE;HabTo>yf7-U;W`6#-X?Nf)zrbm!nIb1(5pq)c}TV>cM z8FuGFe|8KNGtgjGg?HMqy7tA8-NP77xmZ}My9DEOltKUPx^z!;!UbV_pn^WKWm1ub z_xIM2DfLv|y8FZOhQ~K4u8tQO0+OmS2!chYP*R55N$%3hC0q)gq3Xi>)DQ+c2Zvq^ zXOH?1zmuqiKi+>ZG%y4KL9iMzYSVw(;ahhzc?AYipevPjiQ?Z5niodhqr5w6Vlmx_ zAgp|XEZ-Y@$nysgX*CR$-7Mq3nyum%#@23s3-Ac=c)q;Zxsy23Iy~^I;E=u1EP{}W z6p-p&_q46`_VN#0Q<+wsyR%i(Z825beYLuD6rZ?2i>{v*9`kQ62~&N-r@uczn<)7Z zCRsXdR}X!LZH0!V$vclvA6`lg{cs@_>2*}r{i4>&%Qz|0{zu*l#F)mYZCPl)@puzt z#~n?}$dUw&uS$ly@EzrowvXT;`t24+ykJXckO+GkB*Cf8wZ$!0l4Nu$<$-t3|Lq-? zqdP}jtbY#)SDsgrbPXg&kP(Kz+b=7VC zdt5l^HNmbHZsz17EDa8S4`1EN@b_r3bHYFqsjixr8)UWy;ta}E1Wtyq!4f;h97SO3 z5>w{4zBzcrq}?z(Fs^frmi-%qIi{u_c!*Nbmy#0G^Jq&Cn#Q1%4XCN=9+Ajokne7(S>i&>s_23` z6$2Ucx06Y|xh&FZjq26MfS!isilL+v9R~+*w|BF%_Icmu4GojkJ<>PDNo6J_S*B2{ zxjVqKxu(tX8&om9D2O4Jn4A*3nza~TwH{^DQN_|Ox7;JVWEGXbW^H2G7^^hK$P^WQ z-8#b`CV9?VBLUlw{TaQ`wQWhUmyMp!urF0f43U0rUBB|SsPv$iu(04hxaK~8qVFm9 zlI;k*CW%d>G-b>{>lLo{jftKlY(Ht5k!K0IuWe$oQ*SWd7Pf|6;lT*|CzTW-9f}E~ z-j=mP=1)`8&=Fnw-hy3I^b4dyoi`GVGVZ@x!^RxUL#=C>3aM#Xp#p zJ(7bwh?Owk8|2TW|aHzlc ze_SEiTVAEIRYYYgiLBF(2xVV~vQ*Z{zD$u+ijaM)WM3ouGL~d-%FqH? z^LIwC_xtntUe|BAu3vvNm~+nadCs}FbD#Tu+@0)Vj@gv>gF(Mli<7GwY-rDk3JMCh zR<4?~@atWh5B(~BPdc-!xG6cuXjz_D>Jo}j-gAl5eYHYwnNCm>6ciN8io05x*^f`p zbo2pgmL0d>3USmiw|1+^8r8nAmr`HsnpueC#%>xaUbwLIygIzMVi?!fGc{w8HN0x9 zwW4}9NV3M23#l{`vR17d2#!vZ7s|(csNEVTtsgt!;^=yx%a4g7C%bBHzctR1?u zF-)rIhIK#$pAWRe`;=-NxO_~eGyk?jG{}Z-MDOiJ@zQL*>dY)KP*~3cm|%#$hM+98 zCS7|_{N+BEcw3klFDxggT=|f!b;|nYQhn=}anY_a04}z%KAdI&NbkBNLI<)s;V%NKg*%G28M56*4GAZy$`19kym> zK65qkE!T`ZC`^TEX`gb;b?>+!l__Xy)3Y+^w@LCDn^YqS>PO!XJ5%t|_QQ?X*x`p9 zIOoLk4U8#QyDm?*TsxdxkF%7E`EuTpk;`byl5=&8_3xD$pbsBsRUtfrL)(_lQ80R_ z61azQC@Co=MSkGj>fyVIvRx~+*9lxy zh>?e#WJf>%G7Udk?0o11Uy;hjHc|y<$W83%;W225A&t-sPHb5_AboI(C{yDefs~`V zz?>6@qC{n3Q?pT{PWFOTRm)v+hJLD}t4y=#Za2b%eg+C3km*>1!xOvExc1)>J0_AB zjlYz87J-Y0>PEwR)@;f&fDjpaWD2V;lTE%6ixi&k&zIlYj+! z1!;7IQgpAMbUF&3tDg?zZoLC4-Hy@9af%HGx8z*}Zs{o=eWJ)(edLJNr3n7q-g6Is zd2ABQFUSa+cXJ5cym@nwS82@FQ^_py8HYoiX)F%Fe=V#I=t(P1Ims6T#U#Le*vLms z`PbTT6Fhxlh()RaH5Xu7O0F#7|+O{^&tpQbfJBV614= z*T^I+UuYqRVttdOabBp~{yyoSnx@-5t81*6RtOqRHT>a7h!9|N7j1(nV14cRw9{=m zFL<=1(8U+nY*6^lq&M7TA$jYgj%0W@Vk&UfgmKVIE_pjh!x(*_QD{dDARb$K&~jdFiJht{ZsTp7G5O+mx?&17nPxxoHV<41E_`y5m0mm^VB;_5cT`uH~&tA?; zNy5|3&sf(+8{|eBXU$)*JBh2tvz;LP$bnOrmX>s?@)e>v_eixO1jGj7HXc?Vy^_#W zN(l6sC>JVMllP~7ne=PN#S6n~_%^-z;|JR#bBJZ9@RDuoJ|3>$+_D!qa;5kiUDM}L z-JMxd(xmM)3D0o3!VJ9pu+SJOWb5cN2a^5mk(H(lc?T5R<2TQFA9U#g839&?{QVq z*(5Rx>i9sNZdsG^4w)ts=-2TVfM7-rZvizg2UTf^`Y*KK?1t6``1KM2@1h##wnS?Q z@1fb;TIE?p5aC{lhQ88WMj|}7Ips9yiC|8n2k?AmVB^#*Vl{2d`2*Nbv>}6EsB^+r z#O8+w{&^l6INP?p6U+S%?G{xky*7TFoiYm?zOy2>`y@JTZDw}!R^13|s470z+OlT> z_Xvanz7Z=vR{rW^e0j0p^RFK7(%a|U-c5$NF4+2>q)x1?lr<#6Pe0_`Keh{fE615V zSFY{Uq#f==_|5GVuBeJTt$0UkQ0sB=ONR()N%71ENs4Yws94+fE)7f%mHNOI4}VN=oi1J>*bt<>#- zs;CvxrQKCycW(T4YNxQVS9|*%tEG$A@HtwJxR#Lbn}+&j|B$1pN1(qL71DL{sresh z0uaqj4zdFaEDKF-kMU&D1n6qB$bCQ^LY}0rry)zA1UHmtkqUr25c!$7E%?hdd1qAYo{_af=6lTyoyI^$$>_S?qPRF>;*@z{{o^BI)5GWk&wr}E zpYaA!v!!8ep`p)SkNtS?f}?|%FD|{ZqGDhjdARZ#X5qaG(Mri6C;Ww44|eLY!=}$W z-jwTomRis7MA6NqEuV?04W1HAKZRHOU5Chgf{Ud2O=`%p?Tn@?YkhGmUVI>NgI88_ z&~w(Jc&i0Rc*0$+Ifd&*)}l;it6Y7O6RC_PY{i9FpVgEUeh)cfi9d<_)Nrh`k5#gp zpKvJYOx04>rZP2|Kt{Xg9HkWriwK$2h>XngEPDlTIjXW(n|e@Xms8z;Uu%M&8((qu z=aY3lUWVgal{A#3z=1W!AByrUtR`*8wn215da@8ogA{BSfgUtL zGd17T(qSQ|>^0GUqC0{)k89arWrOedoufvu2?#Ch&abbx43E8tiQcZ&JeOp|9+U=mX*fq!R$cysjU>eqr(45cq4A5Dqk_(~ zz|^NftEzn(awhiSJ?1riT;xOozTIxbwRX$bCzWq50UITT(3ElZ8}F^MDMv_KlkZIn zgur@Ujeeh^cj+1OOARB+vDBXUAa?+I4(em2O%6MJofT8^J~SNS`N1;`1ABxuqXo4% zF|CtBJa8Nb`!ytmkZcFe2p?f6TVCqWH*FcoE3F;Aa=<6(|4d0>&tbx)9(z0kgY9#HtgnxHnt|9P zh4| z+&yy1d4%Zph2U8I*q6Li`xv%>k-uM!bfE&}Y8~dFRD&vd&QwmtoWQ|?y++~JPhAtW z;qONH9NF>C{Oia2>%T+(n#FF~55%P=nyX+=o=ALeexT9Ga`%W8S8d6bD_V1nz!orY zexM5dNv2k<*kD53;B)yicF8Rjh2Bd31;;a6zP4t%#Ovq%WjBASh7A4j8$pjaQB_o< zCL|Mssyvd?qvH~cv8+JNDgyak79Umq%a^+%pK@?m7fif>FXO19^Z{Q92X zGK&>D)gyn_HokMg(1P0~Ss887ty5DQuSZME@uF6YR@CT5Wpq0+SLy5RR_fg;c^N&Y z$93V@+xqb(i1BQPoE0iO&E5UMNLF{}AHPTk=f|S_3GIJo-5!reMi1yv_=}yU)|hhe z6Mj*5~a= z(+_p2O26@=@e(ViBI9@S&Ut&79befu*0t6WvEoswV77naS>MXfsCq)fYqfjwAs#7r zt{hOsT4iwgCNI=JTVO|@hZS`O$WVf8F*PmT{LQ3Q+K}QjMr3L#3}qWFsBIM2($oGnKgV5<#}FZ&QeeF z4kI#H^gZOTd7~R?QLgqL3f=hY=X;M(`a|_HUT@L_4GkIGqMHF<=s`xuTh>$JoQo%) zTguo9e7O>Fc~Cn)yM^P>UWH4~ggvysp4~DCSN$l+P(Ar!YIq^ScOoxApk-zORnYHTr-mfGC2KAiFI3zhzodbRGUU0%cwujEv_%w!Q^2%Uiz4_dGPU3N+3lTWM z^Ypxpy@=d9)0&mB<`2g@mkeCsr>lzg$7dc4l6#b#)l`wU@z#uZ%0c{5-IVv<>XWa{ zkSk5Xhqf%sg+49_5Ri`+G>&bgOH(qK0x*w$vZ46U|7IX4Z|P`lar`HmR5xOfafM>K zW4^=BbR)iz^(fdeKoWT`>1MkMW3Vxvs?i6J+3d^b5_oDmyKnTNv8~XdJClQ+U@|ir zxkgVu@}g9cW6vB6K02I9g4cYC43JeMuGF;i#n!s!B&6zn+m6UI{<8E>Qts zRLe?}r{*70etQoiQ}6~@sn7&-VzUX7=hD_n0aYWwHf{@pFWe4xBR}n&J6gP7SuDTY zVEz)>XLtzn-6w?E?Cffw9BHle8u6U{v~QFgMl!g=k(5V? zkczjRdU@LD&cIvghW+s#e#)(f+*>^543oIoq@GVUi1BfqRe1Y}<8>s{bFSzQw}CAl&yCDlV`0KD8D3+-k}=KY(^J+jwD3*KV!9SS-Wo3+5Y?DBe=DX zC{Lec!w;RNut~+Yqst$0d29Kv8w4`+2N_HUo`6*Jd&CV2naQU&DEzLfz$%B;ybT** zZX1%x(K{dTyK}Ah!)7+jd27n}`U$c>hyI)0!Sa;LW3oF8)dM1sx{v+uc*y3>!n-V0 zNdx)JoW=zs&~Wkz2wF+@R5|q2b@uFkE-0TGpKSim&nzZyS^jfH%VKtM_kS}yY={0Q zpYW-%*#C6+Z_odqKiHbqt#wPO&Vn2shyODLfogn)#j^X(7aU1$7mGvW{|*JVrPluE z7M#U4{(rw&)(#H)`?r=BnU9Qlhtl1o2d1~bTx(iW4ep@a@kjkCJ!BveG@IuAKE2rcyPeTBX!(Yxryqf^7=y$SskNMd zi(k)0D9DQAn8s3eKY5^l8EB@;zH5(dB<0qI6wBq2EDfxg&Tej&t28}p4ZUxFhKO|= zDZ~(vn?zgD4(Gk{ZzTC}$k;(ZHBVi=bvk?lt`-IXw_+e)lcfiWK!w!j1o~(oUzz?!q8{5&wl7-5@F8{35A;3`|vmQgjlxyG&R@K7UCkIt1Q;`E#Rawl=WlB`*1v63C|D}-@j_X!#r-;-TjtET&1Q+?&EVtd?J30$ zu&f}KvnmF=plBSo&Rnk4(4BcIj>(w9f+Mri_)oK7emth}H&jmNi|j1qxgAy<_9&SS z(cLwCKB#&dHGh^9bQS!|u!@6ViE^C9Z97&~#~l+*Zh)_b4gS)Uom=f%zFzPNk~LRz z)bwdG43s=%_RPPvYxr){nm&*TfQF*yzE5`u&3d0@QN2_6u>IUez0)(yNLXe@NL6MQ z=Bx|K!3+0xCk;|cqil3R&1XwXxY3?DbTcQ)Aq1KXj(1#xKo=M)`IpU3Q^m?cEk*` ziOSC#2g=&{Z2X5ZyGWEon;=jc`@PH}=|=UFplZ;0qoMMme2vGpWrYOnN_MOXw^CF7 z$k&Ozb<n?G(-ET-npg&3S#aT0&q;t+kcn4ZmavD z_vb8e7eVd4!8lFT!Qquq&vopYg{Pw0YJC31w;W(#mh6A&Cz4P0$yt{|rS;`IP8@NI z!7xVA_9;-wnz#R!UGcPC^#=k7S+fn^5jQLjCBMmR0cgo5bfVzac ztCC97luqxkLWkbkOk%DPprA#6d{M08DeKZ=keqG3=-2Fa_5Y9)oBcX%bS@Ty%{J$i*1qAQ)Zl^59u-*3v0bTB} z57ogQ$kE#Y6Qhqp&t8FOX8vq9nWK&W6)9zHTHG%NuqjeUBm^)Bx_-%>bnD83*ozAF z5=m>z(;Nv6rm`~3iWQ)PY%KFrc)lh2ZGkEBOTO*!TXz@5=vcCP9RmmshKL@?fg|Hq0F#HfK^Rp*fx-Gcf{C|HVZwmvG4@`ATttHaBsMolmzR zs73r=ak-nPIl)V%f*&M2d8y>1zKrOFEISl5Dd+gqgHZBDodX)If*lK=L3_{HCwC)Q zF_A({mC(#LNcwG3i4<$HuMt<#pqtG~sJi{!6)%V#EE-iQ;C_K!{Z%+f4WR`xRdDl< zD*!PayxX(?SAKErBbH#Tt1q_ zJKiTMG0wphaw)(0;rRNZZ5ZrJ$*Rw%7l#knFsVS5b4Rgv!wP{t6um8^`bzwH6Ddph zk&E9Ioz^1JB z7L(d-sWD-H=@&3~!KUxGM4rU!9l4@~WA+`qDjz(7v@y2S^ln*E)d+|Wz(ynV|1Q

    2mHbAK%)!19Mdn5zI5pdv7d+tO9>i4r2|iRk(T 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� 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 eYqwLVEK*>Bel`M literal 37604 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

    SpHHEWW5G1-10ISt~B# zfpH5HyP=11o;;$w`^%cyWncEE$_u1NTWuzx#@z%zu27ayv( z*o=uz5ajH?c@<+)CU74gK)uR}gHD>)a5rD38evG)llXxJzm;lRdXs>)W^cPr9Nmd7 zEUcIgWG(zeYD&|!HBY<>uekc#wN>et863C=nms=Afd%|QF=O#0_=w*6C-rZ#X-15B znUBtHmWZ55SbIiGO8E8oP)!@}6 z+`>3P;dKia(e5rWaxnZ&g%KO#*9b;t$M~q4WwAj;2DHBu61~U0i!h+kqaB1senW|++Dk!YGfmdPk-?0?SYZ8`hzPz53T^;gJzeo z!)J_S+1WnGna{5W0MXzT9FziVBUl8XDoxj_7G&-^$+m+;4(sl>{AzXh%7XUfjXMn` zF&`Y1P8^G<91DD{0lsF=wEXY zS$T2&`OG=qEV!iCFy*&L#8E$ctJ*_pV#Rlu8Q=VdN6hyE9$73!0;>n$2fE}tbfY8) zvd*^tgw=4So*|^)6#q)H^k^S*H$BuEfilj=b78I}zg)d1yN*MgFUODtD2BCtPEp4P z^%__=>?KBYZQm3Uu!CyHwm0vxWC*xq;DNxH^VWjsM1$sdZgm7;E0@!gdV^L$kU*L&zQXBqX zB;M@Zh%N(e$Z!c6ENrh-7K?T(KL|-_-}T;!`df7|TOqgCuA_I|2+JsA_qS>1^;6pO zm`-nDfpFbpvjqMEV~(Z0o;w}qSUQ*YCkWj+(}=SyETGNaWeZ0!#!YJUp4`#uIiM{= zJ2)*ynVIy%7Ozr|zTBO3rE>@#W8w)y)-$qs{@d$+fMGtp z`p9?O=R_svEu3GiSD40#TjZi3!yunK*Jp}n|4X*iVTk)Zwg|Fk+=+kDZP1zShbp!b zzgn~YqT5W#)pdG@HDrq&J+PgK_Gx^5N3y(Uwp8{e_N%njXrEm>()efBq0#vY0Hm+8L>DAA6sAH%ncTokX zU@GwJLh{AJq$y!c^$O7h*K|X&*NO{E*w?J7cimgI} zc8_d5Z5n^@MIOG4c}_fg_PtM{1Nv-AS8Y^r!Q?Gq!${mu6~t8#C}Z*Q_N#gozf4On z>L3H~E#78NA$#FBk|C2J)5DAsESiHG((lYz>7T}|M`Fqd!#SP46Lspp`N%QGW)Fu& zeR-wd8Mr3kcLDfbhh37J6UJ94TaWpDGbCBzW$8kelz9YQ_0`ztRc!V-J{DWaahzbo z6;9cL7{-|XzFqxuUP`^Q%r?lak2v*?$>eG}xEdqh;d)50a&zza>rmOSDvIAIzsivz_sXlqU6NYN zbX3G~S21HL8NGheL*Yqsb!rsP&qF^H`(?o6n@J-X`&7I)67=&3~1+{O1S&6h{0%dfpH?TUmC0Zt`Kt!B~{z!~vG&!k+(Bq`&LR7=x6J{i$hr|79({ zVq#Q9{Q5nW%cj2*qyir_FE4w~y}6v(J}-{%Pd~KP=U&AfV?UewV&ztTW~*{4ttr2r z)JmZ%>p;+IQ#glTIDJ6wP(WEVF-kV*L^Tr@91A{GhpO~-Xu;wgA9MG%oVEI8(BG<9 zCC{Mhzbdjc_sxHyG?uo&f~V#ZY%LG`EVemrlFoTt%>W6n*t>_f{55Fkh{JX2bd+-- zkk9o9Y$q$*Pw;_H?A7Np1Ty3%AZ=(qr0h5M{J*>k#{eA z+2#D+?M97?DJ3T#8kcYm<1_nhV(s%&!&2UvDKV1A;3KZ@i{JCjL3}}-CU)gaFv1xE zI9NA=;odnk4%q2T8|K<~p+)e&sz`(`4!9iaVZQ`VR4FdyzZLu%>qNUP60Aro7Zg7t zk{eP6pFHWGq=?Ua0`y>LXy=mU0oOs}Vxh|qJ#;0#2ik<-(@vA4#AxX+)8&%_aQ6zAK(Z<=bkl0fAdC>YGdz+vE_3FyIvDodU9 zV=rO0Cz(XJpoe4uh6f;#{Tn3O&=Qj!M$9ef_rJxA5-}vn=|mlB++@=BMuR9dDcEQx zwN!@e+{j1@J+BqL?aq1;($TQf(1ptZu_}flbKxv|aNtWZuJ~)J9Y|uSiw!T(ZJqHH kV46TYZWwvw`FmgKg_(5|t8Tso Date: Wed, 13 Oct 2021 17:15:01 +0200 Subject: [PATCH 44/53] docs: fix OG images (#6451) --- .../plugins/meta/RedHatDisplay-SemiBold.ttf | Bin 0 -> 46936 bytes .../docs/.vuepress/plugins/meta/template.html | 22 ++++++++++-------- 2 files changed, 12 insertions(+), 10 deletions(-) create mode 100644 packages/core/docs/.vuepress/plugins/meta/RedHatDisplay-SemiBold.ttf diff --git a/packages/core/docs/.vuepress/plugins/meta/RedHatDisplay-SemiBold.ttf b/packages/core/docs/.vuepress/plugins/meta/RedHatDisplay-SemiBold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2e40abcc0b221acd958f8a89e6b611adfbe524b1 GIT binary patch literal 46936 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 Document - - -