diff --git a/.circleci/config.yml b/.circleci/config.yml index af4406c469b..5669be4a6b0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,30 +2,26 @@ version: 2 jobs: build: machine: - image: ubuntu-2004:202111-02 + image: ubuntu-2204:2022.07.1 steps: - checkout - run: make build - - run: make test-helpcenter test_announcements: machine: - image: ubuntu-2004:202111-02 + image: ubuntu-2204:2022.07.1 steps: - checkout - run: make build - run: FIREBASE_PROJECT=$STAGING_FIREBASE_PROJECT GOOGLE_APPLICATION_CREDENTIALS=$STAGING_GOOGLE_APPLICATION_CREDENTIALS make test-push-announcements - run: FIREBASE_PROJECT=$STAGING_FIREBASE_PROJECT FIREBASE_TOKEN=$FIREBASE_TOKEN GOOGLE_APPLICATION_CREDENTIALS=$STAGING_GOOGLE_APPLICATION_CREDENTIALS make test-firebase-functions - deploy_staging: + push_staging: machine: - image: ubuntu-2004:202111-02 + image: ubuntu-2204:2022.07.1 steps: - checkout - add_ssh_keys - - run: - name: Deploy on staging server - command: HOSTNAME=$STAGING_HOSTNAME PORT=$STAGING_PORT HELP_CENTER_URL="https://${STAGING_HOSTNAME}/" make deploy - run: name: Push announcements of communication panel of the PIM into firestore command: FIREBASE_PROJECT=$STAGING_FIREBASE_PROJECT GOOGLE_APPLICATION_CREDENTIALS="$STAGING_GOOGLE_APPLICATION_CREDENTIALS" make push-announcements @@ -33,15 +29,12 @@ jobs: name: Push serverless functions into firebase to expose communication panel API command: FIREBASE_PROJECT=$STAGING_FIREBASE_PROJECT GOOGLE_APPLICATION_CREDENTIALS="$STAGING_GOOGLE_APPLICATION_CREDENTIALS" make deploy-firebase-functions - deploy_production: + push_production: machine: - image: ubuntu-2004:202111-02 + image: ubuntu-2204:2022.07.1 steps: - checkout - add_ssh_keys - - run: - name: Deploy on production server - command: HOSTNAME=$PROD_HOSTNAME PORT=$PROD_PORT ONLY_PREVIOUS_MONTH_UPDATES=true make deploy - run: name: Push announcements of communication panel of the PIM into firestore command: FIREBASE_PROJECT=$PROD_FIREBASE_PROJECT GOOGLE_APPLICATION_CREDENTIALS="$PROD_GOOGLE_APPLICATION_CREDENTIALS" ONLY_PREVIOUS_MONTH_UPDATES=true make push-announcements @@ -59,24 +52,16 @@ workflows: ignore: - master - pull_request_announcements: - jobs: - - test_announcements: - filters: - branches: - only: - -/announcements.*/ - deployment: jobs: - - deploy_production: - filters: - branches: - only: master - - deploy_staging: + - push_production: filters: branches: only: master + - push_staging: + filters: + branches: + only: master # feature announcements of the previous months should be deployed automatically the 5th day of the month in the helpcenter # before this date, the announcements are not generated and so not pushed in production @@ -90,6 +75,6 @@ workflows: only: - master jobs: - - deploy_production - - test_announcements - - build + - build + - test_announcements + - push_production diff --git a/content/md/assets/about-product-link-rules.md b/content/md/assets/about-product-link-rules.md index 15a26501b39..9506f8aefd8 100644 --- a/content/md/assets/about-product-link-rules.md +++ b/content/md/assets/about-product-link-rules.md @@ -106,7 +106,7 @@ The `pattern` property allows you to define how the PIM should split the [source The split pattern should be a string. It should be given as a regular expression. For the PIM to know into which asset attributes the result of the split should be sent, this regular expression should contain one or several named capture groups. -Note that the names of these capture groups should be equal to the code of existing asset attribute of the family and these asset attributes can only be `text` attributes and `number` attributes. +Note that the names of these capture groups should be equal to the code of existing asset attribute of the family and these asset attributes can only be `text`, `number` and `option` attributes. ::: warning These asset attributes cannot be localizable neither scopable. @@ -142,7 +142,12 @@ Now that you know how the naming convention feature works, we can go on discover As said above, the product link rule is very useful when you can automate the link between assets and products/product models. -This rule is defined at the asset family level and it is automatically launched by the PIM after the asset is created. +This rule is defined at the asset family level, and the PIM automatically launches it after the asset is created. +Note that if: +* you did not define a naming convention +* you created/uploaded your assets within the user interface + +Then, at the asset creation, only the code and the label will be available, while at the asset upload, only the code, the label and the media file will be available. Therefore, if your product selection is based on an asset attribute value, it will select no product. You can either add a naming convention or execute the PLR manually after filling in the desired asset attribute value. :::tips If your product link rule happened to change afterward, you could easily execute it again thanks to the `Execute rules` button. @@ -183,7 +188,7 @@ The format of the product selection part is defined as follows: { "field": "enabled", "operator": "=", - "value": "true" + "value": true }, { "field": "categories", @@ -201,13 +206,14 @@ You can use multiple conditions to make your selection. Those conditions are cum Here is the list of the fields you can use to select your products: - Among the product properties: - * the `product family`, - * the `product categories`, - * the `product status`, + * the `family`, + * the `categories`, + * the `enabled`. - Among the product attributes: * the `identifier` attribute, - * the `text` attributes, - * the `simple/multi select` attributes. + * the `text` & `text area` attributes, + * the `simple select` and `multi select` attributes, + * the `yes/no` attribute. [Here](https://api.akeneo.com/documentation/asset-manager.html#product-selection) is the complete explanation of the expected JSON format. diff --git a/content/md/assets/create-and-display-assets.md b/content/md/assets/create-and-display-assets.md index d43cd638839..89098581d72 100644 --- a/content/md/assets/create-and-display-assets.md +++ b/content/md/assets/create-and-display-assets.md @@ -213,3 +213,9 @@ The PIM cannot ensure that what you are currently seeing in a `media link` attri If you want to be sure that the thumbnail that you are currently seeing is still the one behind the url (and not the old one that is still in the PIM cache), you can click on the reload icon just next to the url or on the top right corner of the main media preview. ![Reload button](../img/Assets_ReloadButton.png) + +::: info +To optimize user experience, we set three limits to get a preview: +* 56 MB for the size of an asset +* 2 seconds to fetch an asset from its distant server +::: diff --git a/content/md/assets/import-assets.md b/content/md/assets/import-assets.md index c1f09acebfa..21dab7d0486 100644 --- a/content/md/assets/import-assets.md +++ b/content/md/assets/import-assets.md @@ -14,18 +14,19 @@ You already know that you can easily mass create assets in an asset family with When the main media of the asset family is a `media link` attribute, you can't access the `mass upload` functionality as you don't have any binary file to upload. -If you are in this situation, or if you simply need to import assets and their attribute values in the Asset Manager, this article may be interesting for you :wink:. +If you are in this situation, or if you simply need to import assets and their attribute values in the Asset Manager, this article may be interesting for you. # Import assets with an import profile You can import a CSV or excel file with a list of urls and/or an archive with all the media. To do so, you first have to create an [import profile](imports.html#create-a-new-import-profile): choose a code, a label and select either `Asset import in XLSX` or `Asset import in CSV`. :::tips -To get the structure of your asset import file, you can export the assets first - by creating an export profile with the `assets` job. But mind you! you can only [export assets from one family at once](export-assets.html#how-to-export-your-assets-with-the-export-jobs). +* To get the structure of your asset import file, you can export the assets first - by creating an export profile with the `assets` job. But mind you! you can only [export assets from one family at once](export-assets.html#how-to-export-your-assets-with-the-export-jobs). +* If you get the structure of your import file thanks to a previous export, you'll have a `filepath` column. This column is ignored during the import, in order to avoid any problem with the prefix/suffix of the `media link` attributes. ::: :::info -If you get the structure of your import file thanks to a previous export, you'll have a `filepath` column. This column is ignored during the import, in order to avoid any problem with the prefix/suffix of the `media link` attributes :wink:. +Imports (including archives) are limited to 512 MB per file. ::: :::warning diff --git a/content/md/connectivity/connection-dashboard.md b/content/md/connectivity/connection-dashboard.md index 197ea7c8b17..e32a75b30dd 100644 --- a/content/md/connectivity/connection-dashboard.md +++ b/content/md/connectivity/connection-dashboard.md @@ -15,14 +15,15 @@ In the PIM, there is a dashboard called `Data flows`, to help you follow your [c ::: info This is still the very first version of this dashboard. For now, **we only monitor simple products and product variants**. -In the future, it will show you many more indicators. Stay tuned! 🙂 -And also, don't hesitate to fill in the survey at the bottom of the dashboard page to vote for the next KPI you'd like to see in there. +Don't hesitate to fill in the survey at the bottom of the dashboard page to vote for the next KPI you'd like to see in there. ::: In this dashboard, for now, you can monitor both your source and destination connections. ::: tips -Empty charts? Have you ticked the `Track this connection in the dashboard` checkbox in your connections settings? Do you use the connection user to call the PIM through the API? +**Empty charts?** +Have you ticked the `Track this connection in the dashboard` checkbox in your connections settings? Do you use the connection user to call the PIM through the API? +Please, note that inbound charts are updated every hour, and outbound charts are updated as soon as a connection gets or receives a product from your PIM. ::: # Source connection monitoring diff --git a/content/md/connectivity/how-to-configure-catalogs-for-apps.md b/content/md/connectivity/how-to-configure-catalogs-for-apps.md new file mode 100644 index 00000000000..b2105e95062 --- /dev/null +++ b/content/md/connectivity/how-to-configure-catalogs-for-apps.md @@ -0,0 +1,110 @@ +--- +id: how-to-configure-catalogs-for-apps +themes: connectivity +title: How to configure **catalogs for Apps**? +popular: true +ee: false +related: what-is-an-app, how-to-connect-my-pim-with-apps, manage-your-apps +--- + +# What's a catalog? + +With catalogs, you can configure which products you want to share with an app thanks to a product selection composed of one or several criteria that allow you to filter products. + +When an app uses catalogs to retrieve product data, it automatically enables the Catalogs tab and creates catalogs for this app in your PIM. +To configure your catalogs, go to the `Connect > Connected Apps`, click on `Manage app`, and then click on `Catalogs`. + +Here you access the list of all the catalogs the app can manage with a label and a status. + +![Catalog list](../img/app-catalog-list.png) + +Click on the catalog you want to set up to access the configuration interface. + +When you access a catalog, you will see two tabs: +- `Product selection`: where you will configure criteria to filter your product selection, +- `Filter the values`: when a catalog is not compatible with mapping, we display this tab to allow you to choose which values to send to the app based on filters, +- `Product mapping`: where you can map your PIM attributes with the app expected targets. + +::: info +If you can't click on `Manage apps`, please read our paragraph [Who can connect apps?](#who-can-connect-apps) +::: + +# Configure a product selection + +In the `Product selection` tab, you can define selection criteria. They are the attributes or system fields you can use to filter your products. Altogether, the criteria will create your Product selection. + +![Catalog - Product selection](../img/app-catalog-product-selection.png) + +::: warning +When there are no criteria, your whole PIM catalog is selected. +::: + +You will find the system fields at the top of the list and below are all the attributes gathered by attribute groups. There is a search bar to help you find the attributes. + +Product selection criteria + +Each time you add a criterion, its color turns purple to inform you that it is already used. +A new line appears in the product selection. + +Let's see how a line is organized. + +1. You will find the system fields or attribute you chose in purple on the left. +2. Then, you have to choose an operator. Depending on the filter, the operator list changes. + +The following fields vary depending on your filter. There can be up to 3 types of fields. +- You can have the value field. For example, if your filter is a multi-select attribute type, you can choose which options you want to filter on. +- If your filter has a value per channel and/or per locale, the channel and locale fields appear to let you choose which locale/channel you want to filter on. + +If you want to remove a condition, click on the cross at the end of the line. + +## Available conditions + +To select your products, you can use the following system fields and attribute types of the PIM as conditions: +- Status +- Category +- Completeness +- Family +- Simple select attribute +- Text attribute +- Measurement attribute +- Yes/No attribute +- Multi-select attribute +- Number attribute +- Text area attribute +- Date attribute +- Identifier +- Measurement + +# Configure value filters + +In the `Filter the values` tab, you can configure data filters to send only the data your app needs. + +## Available filters + +To filter product values, you can use the following filters: +- Channels: when an attribute has value per channel, the PIM sends only product values for the selected channels +- Locales: when an attribute has value per locale, the PIM sends only product values for the selected locales +- Currencies: the PIM sends only prices for the selected currencies + +## Example + +You connect your e-commerce app with your PIM and want to send only data related to your e-commerce channel. + +In the `Filter the values` tab, we advise you to filter the values on your e-commerce channel as in the following screenshot. + +Catalog - Filter the values + + +# Enable/disable a catalog + +Once you finish configuring your catalog, update the `Enable status` value to `Yes` in the catalog header. + +Product selection criteria + +As soon as you enable a catalog, the app will be able to retrieve your product selection data. + +On the contrary, if you want to stop the catalog synchronization between Akeneo PIM and the app, update the `Enable status` value to `No` in the catalog header. + +::: info +All new catalogs are disabled by default when you connect an app. It's up to you to enable them when your configuration is ready. +::: diff --git a/content/md/connectivity/how-to-connect-my-pim-apps.md b/content/md/connectivity/how-to-connect-my-pim-apps.md index b2f984f62f5..d191853b9ce 100644 --- a/content/md/connectivity/how-to-connect-my-pim-apps.md +++ b/content/md/connectivity/how-to-connect-my-pim-apps.md @@ -1,57 +1,13 @@ --- id: how-to-connect-my-pim-with-apps -themes: connectivity, import-export-data +themes: connectivity title: How to **connect my PIM with Apps**? popular: false ee: false related: manage-your-apps, connection-dashboard --- -# What is an App? - -Apps are the best way to connect Akeneo PIM with third parties. - -Apps can retrieve and push data from and into Akeneo PIM through the REST API. Thanks to a step-by-step activation process integrated into the Akeneo PIM interface, anyone can connect an App to Akeneo PIM despite these technical interactions. - -![What's an app schema](../img/whats-an-app.png) - - -# Where to find Apps & Connectors? -Because we know it can be tedious to leave your work environment to find the App or Connector you need, we bring them to you. We developed the PIM `App Store` as a way for you to smoothly identify the most relevant App or Connector directly from your PIM interface. - -![PIM App Store](../img/pim-marketplace-with-apps.gif) - -You can see Apps and Connectors compatible with your Akeneo PIM version and edition. When you identify something interesting, click on `More info` to access the related documentation. - -Akeneo App Store is where you will read all the documentation, consult all the available screenshots, and reach the seller. - -To find the Apps or Connectors you need, in you PIM, go to the `Connect` menu, then click on `App Store`, and here you are! - -::: tips -Feel free to test our new connection experience by connecting the **Akeneo Demo App**. -::: - - -# Who can connect Apps? - -To give the capacity to choose who can connect an App, we added a new Role permission in the PIM: `Manage apps`. -To connect an App, your user role needs it. - -Without this role permission, you won't see the `Apps` menu and won't be able to click on `Connect` as in the following screenshot. - -App Store connect disabled - -To give the role permission: - -- Go to `System`, then `Roles` -- Click on the role you want to update -- Go to the `Permissions` tab and select the System entry -- Finally enable the `Manage apps` option. - -![Role manage apps](../img/role-manage-apps.png) - - -# How to connect an App? +# Connect your App ::: info You can connect up to 50 third-parties through connections and connected Apps. @@ -73,7 +29,7 @@ A wizard is a **step-by-step activation process** that will accompany you on the This wizard contains either one step (CE or GE) or three steps (EE only). -## Grant authorization to your App +# Grant authorization to your App During the installation, the App will ask you to grant it access to your user information or to parts of your PIM: catalog structure, products, assets, reference entities, etc. @@ -87,7 +43,7 @@ When the following page appears in your PIM, please read the list of all require Apps may need your user information in order to ease your authentication to access the App interface. ::: -### No specific authorizations have been requested +## No specific authorizations have been requested If you see the following message, it means the App needs no specific authorization. @@ -95,7 +51,7 @@ If you see the following message, it means the App needs no specific authorizati When it happens, the App will only be able to retrieve your PIM version and edition. -## Give permissions to your App `EE` +# Give permissions to your App `EE` ::: warning The following paragraphs are for EE customers only. @@ -107,7 +63,7 @@ As you use the Enterprise Edition, your PIM has a permission management system. As you may know, the Akeneo PIM permission system works on three axes: categories, locales, and attribute groups. -### Category trees +## Category trees To ease the permission settings, we display only category trees that exist in your PIM. @@ -121,7 +77,7 @@ In the wizard, you would see three options. If you're setting permissions for an Step Permissions Own category trees -#### Which level should you give your App? +### Which level should you give your App? - **The Own level** @@ -135,7 +91,7 @@ On the contrary, if you prefer to validate any product creation or update made The third option is the `View` level. In that case, the App will only see the products categorized in one or several categories of the tree(s) you select. -#### Example +### Example Your products are categorized as you can see below. You have defined the `Own`, `Edit`, and `View` permission levels for the `Ecommerce` tree only. The App will not have any access to the other trees (Print and Master Catalog). @@ -150,11 +106,11 @@ On the contrary, your App couldn't retrieve or update the `Braided hat` produc ![Step Permissions Braided hat product](../img/wizard-step2-braided-hat-product.png) -### Locales +## Locales Thanks to the locales permission, you can configure whether the App will be allowed to update product information for a specific locale or not. -#### Which level should you give your App? +### Which level should you give your App? - **The Edit level** @@ -177,11 +133,11 @@ Here you can see how it would look like in the UI. Step Permissions Locales -### Attribute groups +## Attribute groups In Akeneo PIM, you can organize your attributes in groups to help you display related attributes one after the other in the interface. We also use these attribute groups to give rights to an App. Thanks to the attribute group's permission, you can configure whether the App will update product information for specific attributes or not. -#### Which level should you give your App? +### Which level should you give your App? - **The Edit level** @@ -191,7 +147,7 @@ Thanks to that field, you can allow an App to update product data for a specifi If you only give the `View` level and not the `Edit` one, your App will see product data for attributes in the selected attribute groups but won't be able to update it. -#### Example +### Example You are connecting an App to synchronize your product data with your e-commerce solution. Some product data you see in Akeneo PIM are relevant for your e-commerce solution, but others are useless. @@ -209,86 +165,3 @@ The best solution here is to set up your permissions as in the following screens The App may require some more configuration. Check the App interface or documentation to assure you don't forget anything. ::: - - -# How to configure catalogs for Apps? - -## What's a catalog? -With catalogs, you can configure which products you want to share with an app thanks to a product selection composed of one or several criteria that allow you to filter products. - -When an app uses catalogs to retrieve product data, it automatically enables the Catalogs tab and creates catalogs for this app in your PIM. -To configure your catalogs, go to the `Connect > Connected Apps`, click on `Manage app`, and then click on `Catalogs`. - -Here you access the list of all the catalogs the app can manage with a label and a status. - -![Catalog list](../img/app-catalog-list.png) - -Click on the catalog you want to set up to access the configuration interface. - -When you access a catalog, you will see two tabs: -- `Settings`: where you can enable or disable a catalog, -- `Product selection`: where you will configure criteria to filter your product selection. - -::: info -If you can't click on `Manage apps`, please read our paragraph [Who can connect apps?](#who-can-connect-apps) -::: - -## How to configure a product selection? -In the `Product selection` tab, you can define selection criteria. They are the attributes or system fields you can use to filter your products. Altogether, the criteria will create your Product selection. - -::: warning -When there are no criteria, your whole PIM catalog is selected. -::: - - -As we only released the beta version, you will find only one criterion in the list: the **status** filter. -Stay tuned, we are working on adding new criteria! - - - -Each time you add a criterion, its color turns purple to inform you that it is already used. -A new line appears in the product selection. - -Let's see how a line is organized. - -1. You will find the system fields or attribute you chose in purple on the left. -2. Then, you have to choose an operator. Depending on the filter, the operator list changes. - -The following fields vary depending on your filter. There can be up to 3 types of fields. -- You can have the value field. For example, if your filter is a multi-select attribute type, you can choose which options you want to filter on. -- If your filter has a value per channel and/or per locale, the channel and locale fields appear to let you choose which locale/channel you want to filter on. - -If you want to remove a condition, click on the cross at the end of the line. - - - - -## How to enable or disable a catalog? -Once you finish configuring your catalog, go to the `Settings` tab and update the Enabled value to `Yes`. - -As soon as you enable a catalog, the app will be able to retrieve your product selection data. - -On the contrary, if you want to stop the catalog synchronization between Akeneo PIM and the app, go to the `Settings` tab and update the Enabled value to `No`. - -::: info -All new catalogs are disabled by default when you connect an app. It's up to you to enable them when your configuration is ready. -::: \ No newline at end of file diff --git a/content/md/connectivity/img/app-catalog-criteria-selection.png b/content/md/connectivity/img/app-catalog-criteria-selection.png new file mode 100644 index 00000000000..2f3d3148c91 Binary files /dev/null and b/content/md/connectivity/img/app-catalog-criteria-selection.png differ diff --git a/content/md/connectivity/img/app-catalog-enable-button.png b/content/md/connectivity/img/app-catalog-enable-button.png new file mode 100644 index 00000000000..d1ce618cd38 Binary files /dev/null and b/content/md/connectivity/img/app-catalog-enable-button.png differ diff --git a/content/md/connectivity/img/app-catalog-product-selection.png b/content/md/connectivity/img/app-catalog-product-selection.png new file mode 100644 index 00000000000..c74bb7c1017 Binary files /dev/null and b/content/md/connectivity/img/app-catalog-product-selection.png differ diff --git a/content/md/connectivity/img/app-catalog-value-filters.png b/content/md/connectivity/img/app-catalog-value-filters.png new file mode 100644 index 00000000000..02a2ac761fb Binary files /dev/null and b/content/md/connectivity/img/app-catalog-value-filters.png differ diff --git a/content/md/connectivity/img/role-manage-apps.png b/content/md/connectivity/img/role-manage-apps.png index be835f448df..1fd09af89ae 100644 Binary files a/content/md/connectivity/img/role-manage-apps.png and b/content/md/connectivity/img/role-manage-apps.png differ diff --git a/content/md/connectivity/manage-event-subscription.md b/content/md/connectivity/manage-event-subscription.md index 79d167fd2b0..e51122b3cd7 100644 --- a/content/md/connectivity/manage-event-subscription.md +++ b/content/md/connectivity/manage-event-subscription.md @@ -11,7 +11,6 @@ related: what-is-an-event-subscription, how-to-connect-my-pim-legacy, manage-you Before we jump right in, if you need to refresh your memory about [event subscriptions](what-is-an-event-subscription.html), take a look at our dedicated page. ::: - You are about to set up your first event-enabled extension and you want to make sure it works. You've come to the right place. @@ -38,13 +37,13 @@ Now, let's move on to the URL configuration, and soon you'll be able to receive ## Configure and confirm your request URL -It's better if your Event Request URL is confirmed before saving the form. +::: tips +Before configuring your request URL, please check our [security constraints regarding this field](https://api.akeneo.com/events-documentation/security.html#constraints-on-ip-addresses). +::: -To do so, please fill in the URL field with your server URL, and click on `Test` to check if the URL works. To help you, Akeneo PIM will display the response code of the test request. +Please fill in the URL field with your server URL. Then, before saving the form, click on `Test` to check if the request URL you configured works. To help you, Akeneo PIM will display the response code of the test request. Here are some examples of responses you may encounter. - - ![URL Warnings](../img/url-warnings.png) ::: info @@ -120,12 +119,10 @@ You may have differences in date format between the list and the filter. The date and time formats of the filter use your browser configuration, and the list relies on your PIM settings. ::: - Moreover, the search bar allows you to refine your research even more. ![Download logs button](../img/event-logs-searchbar.png) - Finally, you still have access to the `Download logs` button that allows you to download a `.txt` file with all the logs related to an event subscription. ![Download logs button](../img/connection-download-logs-button.png) diff --git a/content/md/connectivity/manage-your-apps.md b/content/md/connectivity/manage-your-apps.md index f830de9f1f0..8010d0932e4 100644 --- a/content/md/connectivity/manage-your-apps.md +++ b/content/md/connectivity/manage-your-apps.md @@ -29,7 +29,7 @@ To manage an App, at least one of your user roles needs the `Manage apps` permis To give role permission: - Go to `System`, then `Roles` - Click on the role you want to update -- Go to `Permissions` and select the System entry +- Go to `Permissions` and select the `Connect` entry - Finally, enable the `Manage apps` and/or `Open apps` options. ![Role manage apps](../img/role-manage-apps.png) diff --git a/content/md/first-steps/about-product-identifiers.md b/content/md/first-steps/about-product-identifiers.md index c6f0de5063c..f217d68ab22 100644 --- a/content/md/first-steps/about-product-identifiers.md +++ b/content/md/first-steps/about-product-identifiers.md @@ -25,7 +25,9 @@ Over the next few months, we will introduce massive updates regarding identifier For that purpose we will give more flexibility in the short term regarding identifier management. -1. **The SKU will soon no longer be a mandatory field** for creating products. +1. **The SKU is no longer a mandatory field** for creating products. + - You can now create a product without a SKU on the PIM, the API and imports + - You can also remove the SKU from a family, meaning a SKU won’t be asked at product creation for those products and it will disappear from the product page 1. When created in the PIM, **every product is now assigned a new technical identifier, called the UUID**. The UUID gives you a new way to identify your products and is automatically and randomly generated by the PIM. It cannot be modified. For more details, please refer to [the help center page dedicated to identifiers](manage-product-identifiers.html). diff --git a/content/md/first-steps/generate-product-identifiers.md b/content/md/first-steps/generate-product-identifiers.md new file mode 100644 index 00000000000..a14163c566c --- /dev/null +++ b/content/md/first-steps/generate-product-identifiers.md @@ -0,0 +1,209 @@ +--- +id: generate-product-identifiers +themes: catalog-settings +title: Generate product **identifiers** +popular: true +ee: true +ge: true +related: about-product-identifiers +--- + +# Identifier Generator + +# Overview + +The Identifier Generator is the new way to **automate the generation of your identifiers** during the creation process of your products, allowing you to **create and structure product identifiers matching your needs**. + +With our feature, you will have the ability to: + +- create the structure of your identifiers with product attributes +- select your targeted products by families +- manage custom abbreviations for each property + +:::tips +More features will be released soon, such as: + +- the creation of several identifier generators +- the possibility to complete the structure with the code of a record from a reference entity +- the ability to select your targeted products by categories +::: + +# Create an Identifier Generator + +To create an identifier generator, click on `Settings` and then `Identifier Generator`. + +:::info +If you don’t see the `Identifier Generator` icon or don’t see the `Create` button, check with your Administrator that you have the permission to create identifier generators. +::: + +**Be aware that once you have created the identifier structure and saved the generator, your generator is enabled, meaning identifiers will be generated when creating or updating products without SKU.** + + +:::tips +If you need time to set up your identifier generator and make sure it is not enabled until you have decided to, initiate a temporary product selection with contrary conditions, for example, by adding the following two conditions: +- Family `is empty` +- Family `is not empty` +::: + + +# Define your identifier structure + +Create the identifier structure of your choice by defining a template that will be applied for each product that matches your identifier selection. + + +Here are the type of properties that you can add to the structure, when selecting `Add new property`: + +## Add free text properties: + +- you can have 1 or more free text properties +- every ‘free text’ property should not exceed 100 characters. Leading or trailing spaces are not accepted in these properties. + + +## Add a family, with the possibility to choose: + +- either its full code +- its first characters +- or to define its nomenclature by selecting the number of characters but also the operator `Is equal to` or `Lower than or equals to`. For more information about the nomenclature, please refer to our dedicated paragraph below. + + +## Add an auto number (or incremental number): + +- Choose the minimum number of digits for the structure of your auto number +- Choose a minimum number that your auto number will start from +- The structure of your identifier must only contain one auto number + + +For example, if the number of digits is 4 and the minimum number is 1, then the first number generated will be 0001. + +**Please find below the different use cases for auto numbers and prefixes:** + +| The last identifier generated is | and if | the next identifier generated is | +| --- | --- | --- | +| AKN001 | A new product is created | AKN002 | +| AKN001 | A product is imported with AKN060 as the identifier | AKN061 | +| AKN232 | AKN235 is created by a user in the UI | AKN236 | +| AKN999 | A new product is created | AKN1000 | + + + +**If you would like to have more tailored identifier generators, we can recommend you to:** + +## Add the delimiter of your choice + +The delimiter is not added by default in the structure. + +If you tick the box `Use delimiters between each property`, a `-` delimiter will be added between every property of your structure. This delimiter can be changed. + +A delimiter must not be a comma, a semicolon, or a leading/trailing space. + +:::info +It is only possible to create one delimiter for the entire structure of an identifier generator. + +If you would like to **create several delimiters within your structure** (ex: AKN-PRODUCT/001), then we recommend creating free text properties, for example: +- Free text: AKN +- Free Text: - +- Free Text: PRODUCT +- Free text: / +- Auto number: 001 +::: + +## Use your own nomenclature + +You will have the possibility to automatically generate a nomenclature, by adding abbreviations of your choices for families or simple select attributes in your identifier structure. + +A few things to know about the nomenclature: +- All abbreviations will be shared by all your Identifier Generators. +- By default, the nomenclature is empty. You can select `Use your own nomenclature` as the format, and start to edit your nomenclature. + + +**To edit your nomenclature:** +- Select the operator that should trigger the generation of your abbreviations for each of your families codes or simple select attributes options: + - **it can be either `Is equal to`.** + For example, if you select this operator and ‘3’ as your number of characters, abbreviations of ‘3’ characters will be generated automatically. Codes or options of less characters will be displayed as errors and identifiers won’t be generated. You will have the possibility to manually modify them or to adjust the number of characters or operator from your nomenclature to be able to save. Filters are also available on the top right corner to help you identify them. + - **or ‘Lower than or equals to’: it will accept codes that have less characters than the number you defined.** + For example, if you have ‘CD’ as a family code and you have set up your nomenclature to be generated with 3 characters for all other families, your Identifier Generator will be ready to be saved if you have selected the operator `Lower than or equals`. + +:::tips +If you would like start over your nomenclature, untick the box `Generate nomenclature automatically` and fill in the nomenclature manually. You also have the possibility to select another format for this property by going back to the `Identifier structure` properties and selecting `Use first characters` or `Use the entire code`. +::: + +![image](../img/Settings_IdentifierGenerator_ProductSelection.png) + +:::info +The structure of your Identifier Generator should match the existing constraints of your identifier attribute (number of characters, regex, etc.), or an identifier won’t be generated. +::: + +:::warning +Please note that you will be able to create a **maximum of 20 properties** (including one or several free texts and an auto number). +::: + + +# Define your product selection + +Add conditions to your product selection if you want to: +- automate the creation of identifiers for a targeted selection of products +- have multiple structures of identifiers for different selection of products (to be released soon). + +Here is the type of conditions that you can add to the structure: +1. **the Family of the product** +1. **the status of the product** (`enabled` or `disabled`) +1. **one or several options from Simple Select Attributes** of the product + +In our example below, an identifier will be generated for each newly created (or updated and saved) product that is in the `Family/Accessories` and has a status `Enabled`. + + +![image](../img/Settings_IdentifierGenerator_ProductSelection.png) + +:::tips +You will soon be able to add multi select attribute options and categories to your product selection. +::: + + +# Edit your settings + +The label of your identifier generator should not exceed 255 characters. You can also add translations for your Identifier Generator in each of your available locales. + +When creating your Identifier Generator, you will have the possibility to select **Text transformation capabilities**. For example, if you select `No text transformation`, the structure of your Identifier Generator will remain as it has been pre-filled (ex: Tshirt-AKN-001). + +On the other hand, here are examples of how your structure will be modified: +- If you select `Uppercase`, your structure will be modified in uppercase (ex: TSHIRT-AKN-001). +- If you select `Lowercase`, your structure will be modified in lowercase (ex: tshirt-akn-001). + +# Manage permissions + +By default, all users will have the right to view the Identifier Generator but also to view generators. Administrators will be able to remove this access to a user. + +If an Administrator unticks all permissions for a user, this user will not be able to access the ‘Identifier Generator’ section in the `Settings` of his interface. + +Administrators will manage access rights to other users with the following permissions: +- `View Generators`: Users will see the list of generators and consult the settings of each one of them, but they won’t be able to create, edit, or delete generators. +- `Manage Generators`: Users will have the full rights to create and modify generators. + +:::info +By default, new users added to the PIM will have the `View Generators` access. +::: + +:::info +When launching the feature, users will be assigned the same permissions level as the one they already have for our Rule Engine feature. +For example, if an user has the right to `Edit` Rules, he/she will have the right to create/edit an `Identifier Generator`. Then, for new companies and users, they will have the `View` access by default *(view the ‘Identifier Generator’ but also to view generators settings).* +::: + +# When is my Identifier generated? +- **When a product is created or updated:** in the User Interface, via an import or via the API. +- **Only when a product has no existing SKU:** we will never modify or delete an identifier that is already assigned to a product. + +::: warning +**Existing products are not automatically updated after the creation of the generator.** To assign a new identifier to an existing product matching your Identifier Generator settings, you will need to modify the concerned product and save it. +::: + + +# How to delete or modify an Identifier Generator? + +If you would like to delete or modify an existing Identifier Generator, it is important to take note that all previously generated product identifiers will remain assigned to your products. + +Only newly created or modified and saved products will be impacted. + +If you want to modify or delete an identifier generator: +1. Access the list of generators +1. Move your mouse on the generator you want to modify or delete +1. Edit or delete the generator. diff --git a/content/md/first-steps/img/Assets_AddAttributes.png b/content/md/first-steps/img/Assets_AddAttributes.png index 2a3c4602e87..173c590c198 100644 Binary files a/content/md/first-steps/img/Assets_AddAttributes.png and b/content/md/first-steps/img/Assets_AddAttributes.png differ diff --git a/content/md/first-steps/img/Settings_Currencies_for_Channels.png b/content/md/first-steps/img/Settings_Currencies_for_Channels.png new file mode 100644 index 00000000000..eaf52cb530b Binary files /dev/null and b/content/md/first-steps/img/Settings_Currencies_for_Channels.png differ diff --git a/content/md/first-steps/img/Settings_IdentifierGenerator_ProductSelection.png b/content/md/first-steps/img/Settings_IdentifierGenerator_ProductSelection.png new file mode 100644 index 00000000000..062c14d6abe Binary files /dev/null and b/content/md/first-steps/img/Settings_IdentifierGenerator_ProductSelection.png differ diff --git a/content/md/first-steps/img/Settings_IdentifierGenerator_ProductStructure.png b/content/md/first-steps/img/Settings_IdentifierGenerator_ProductStructure.png new file mode 100644 index 00000000000..28cbc2d27ed Binary files /dev/null and b/content/md/first-steps/img/Settings_IdentifierGenerator_ProductStructure.png differ diff --git a/content/md/first-steps/manage-asset-families.md b/content/md/first-steps/manage-asset-families.md index afe92e38999..3b9b0d8baf7 100644 --- a/content/md/first-steps/manage-asset-families.md +++ b/content/md/first-steps/manage-asset-families.md @@ -51,6 +51,7 @@ To add an attribute, follow these steps: - **Media link**: for images and files stores externally (when you have a url link) - **Text**: for text or text area attributes. You can also use the `rich text editor` for this attribute type. - **Number**: for number attributes + - **Yes/No**: for boolean attributes - **Single option**: to define a list of options with a single choice - **Multiple options**: to define a list of options with multiple choices 1. Tick `Value per locale` if your asset has different values per locale for this attribute @@ -128,7 +129,7 @@ If not `Text area`: :::tips To allow positive values only, define a `min value` equals to 0. To allow negative values only, define a `max value` equals to 0. -::: +::: ### Edit a single/multiple options attribute - The `Manage options` button enables to [manage the options of the list](#manage-the-options) diff --git a/content/md/first-steps/manage-currencies.md b/content/md/first-steps/manage-currencies.md index 4a290adae54..2e11381188a 100644 --- a/content/md/first-steps/manage-currencies.md +++ b/content/md/first-steps/manage-currencies.md @@ -34,3 +34,11 @@ The currency status will be changed, and the currency grid will be automatically ::: info The shortcut action will be displayed if you have the appropriate rights. ::: + +# Add currency to a channel + +For a currency to be available for a product, you will need to add the specific currency to the channel of your choice. +1. Go to `Settings/Channels` and select the channel of your product +1. Add your currency to the field `Currencies` and save. + +![Add currencies to a channel](../img/Settings_Currencies_for_Channels.png) diff --git a/content/md/first-steps/manage-multidimensional-data-in-a-table.md b/content/md/first-steps/manage-multidimensional-data-in-a-table.md index c2a08209574..c05a11d67af 100644 --- a/content/md/first-steps/manage-multidimensional-data-in-a-table.md +++ b/content/md/first-steps/manage-multidimensional-data-in-a-table.md @@ -157,6 +157,10 @@ Because it would have been a nightmare to mix up the columns configuration and t And if you are comfortable with the API, you can retrieve the table options within the `Attribute` endpoints, as you can see in our [API documentation](https://api.akeneo.com/api-reference.html#Attribute). ::: +:::warning +When exporting lots of options in XLSX, please note that the export will fail if the total number of characters exceed 32,767 per cell. +::: + ## Import/export the table values of a product Exactly like for other attribute types, you can import and export your products with table attributes. CSV and XLSX formats are structured as tables. Therefore, to import the Akeneo PIM table attribute value, it must be formatted in a single cell of your import using the JSON format. This way it’ll be imported along with any other regular attribute values. It’s faster but more technical. diff --git a/content/md/first-steps/manage-product-identifiers.md b/content/md/first-steps/manage-product-identifiers.md index e3a4f296923..c7d3fec6163 100644 --- a/content/md/first-steps/manage-product-identifiers.md +++ b/content/md/first-steps/manage-product-identifiers.md @@ -1,7 +1,7 @@ --- id: manage-product-identifiers themes: catalog-settings -title: Manage your product identifiers +title: Manage your product **identifiers** popular: true ee: true ge: true @@ -27,27 +27,19 @@ The identifier is an attribute with a few specific characteristics: - This attribute is not localizable (per locale) nor scopable (per channel). ::: warning -The identifier attribute will evolve: -- SKU will soon become optional, meaning this field can stay empty when creating a new product. +The identifier attribute has evolved: +- SKU is now optional, meaning this field can stay empty when creating a new product. - This attribute can also be deleted from family attributes and be unselected from being required for product completeness. ::: ## Search for products with the identifier attribute -One of the big benefits of the identifier attribute is to be able to identify your products by all means: +One of the big benefits of the identifier attribute is to be able to identify your products by all means. + On the PIM, you can search for a product with its identifier in two different ways: - Use the search bar at the top of the product grid if you search for one specific product, - or use the filter on the left with the in-list function if you want to display a list of several products. -## Update your products with imports - -When exporting your products from the PIM, your downloaded files contain a “SKU“ column. -Once you have modified your product details in the file, ensure the “SKU” column is still included in the document as it will help identify your products and update them. - -::: info -Exported files now contain a “UUID” column. It is the best way to identify your products as this technical product identifier is immutable, and will work even if you have products without SKU. [Learn more in this section](manage-product-identifiers.html#manage-your-products-with-the-uuid) -::: - ## Update your products with the API 8 API endpoints are available to help you identify your products, update them, or even delete them. The identifier attribute is the key entry to identify specific products from your PIM. @@ -55,7 +47,7 @@ Exported files now contain a “UUID” column. It is the best way to identify y Please refer to [api.akeneo.com](https://api.akeneo.com/) for more details. ::: warning -8 new API endpoints have been created, working with “UUID” product identifiers, which is the most future-proof way to identify products, especially if you have or plan to have products without SKU. +New API endpoints have been created, working with “UUID” product identifiers, which is the most future-proof way to identify products, especially if you have or plan to have products without SKU. ::: # Manage your products with the UUID @@ -81,27 +73,41 @@ To help you validate your UUID format, here is the link to an [online validator] The UUID is visible in the following places: - The URL of the product in the PIM, - and the product API. - -::: tips -Stay tuned, you will soon be able to use the UUID in the **product export files**. -::: - +Here are a few use cases when importing products: +- *You can create a product with no SKU & no UUID:* a new product will be created and a UUID will be randomly assigned. +- *You can create a product with a SKU and no UUID:* a new product will be created with this SKU and a UUID will be randomly assigned. +- *You can update a product only with its UUID:* the product will be updated even if the SKU is not available. +- *You can update a product only with its SKU:* the product will be updated even if the UUID is not available. +- *You can update the SKU of a product using its UUID:* the product will be updated with a new SKU. +- *You can create a product with my own UUID:* you can generate a v4 UUID anywhere (on this website for ex.) and add it during the product creation process. + +Here is the table listing all usecases depending on what you fill in the UUID and SKU columns: +| uuid | sku | family | name-en_US | Result | +| --- | --- | --- | --- | --- | +| | SKU-ex01 | tshirt | Existing product | Update product having SKU = SKU-ex01 | +| | SKU-new01 | tshirt | New product | Create product with generated uuid and SKU = SKU-new01 | +| | | tshirt | New product | Create product with generated uuid and no SKU | +| uuid-0001 | SKU-ex02 | tshirt | Existing product | Update product having uuid = uuid-0001 | +| uuid-0002 | SKU-new02 | tshirt | New product | Create product with uuid = uuid-0002 and SKU = SKU-new02 | +| uuid-0003 | | tshirt | Existing product | Update product having uuid = uuid-0003 and no SKU | +| uuid-0004 | | tshirt | New product | Create product with uuid = uuid-0004 and no SKU | + ## Update your products with the API -8 new API endpoints have been created to help you identify your products, update them, or even delete them by using their UUID. They are very similar to old endpoints using the product’s SKU. +New API endpoints have been created to help you identify your products, update them, or even delete them by using their UUID. They are very similar to old endpoints using the product’s SKU. This is the most future-proof way to identify and modify your products regardless of the presence of a SKU, this is why we advise you to update your API configuration with these new endpoints. diff --git a/content/md/first-steps/manage-your-attributes.md b/content/md/first-steps/manage-your-attributes.md index a4746024138..877bca07f9c 100644 --- a/content/md/first-steps/manage-your-attributes.md +++ b/content/md/first-steps/manage-your-attributes.md @@ -184,6 +184,10 @@ You can define option values for simple and multi select attribute types. Option ![image](../img/Settings_Attributes_Options.png) +:::tips +Leading and trailing spaces are not allowed for attribute options and will be automatically removed when entering an option that contains one. +::: + ## Find the attribute options To manage your simple and multi selects attribute options, remove an option or add a new one: diff --git a/content/md/imports-exports/automate-imports-and-exports.md b/content/md/imports-exports/automate-imports-and-exports.md index e0e967bb08a..97a2ea00e24 100644 --- a/content/md/imports-exports/automate-imports-and-exports.md +++ b/content/md/imports-exports/automate-imports-and-exports.md @@ -12,22 +12,11 @@ related: imports, exports, tailored-export, tailored-import, This feature allows you to automate your product imports and/or exports, and is available only for our Enterprise Edition or Growth Edition users. You will be able to: -* Connect your product imports/exports to remote SFTP storages. +* Connect your product imports/exports to remote storages (Amazon S3, Microsoft Azure, Google Cloud Storage or any SFTP server). * Automate them by scheduling their executions. # Connect your import/export profile to a remote storage -To connect your product import/export to a remote storage: -1. Go to `Imports` or `Exports` -1. Select the profile you would like to automate -1. Click `Edit` in the top right corner -1. Click `Properties` -1. Under "Connection", select `SFTP` -![Select a connection type](../img/Automation_connection_type.png) -1. Fill in all fields: `Filepath`, `Host` & `Port`, `Login` and `Password` -![Fill in all fields](../img/Automation_SFTP_configured.png) -1. Click `Save` in the top right corner of the screen - ::: tips * If you want to automate your product exports, we support the patterns `%job_label%` & `%datetime%`. You can combine them to create a filepath like the following: "/myfolder1/mysubfolder2/export_%job_label%_%datetime%.xlsx". * You can use the `Test connection settings` button to check your settings and make sure your connection is valid. @@ -41,6 +30,58 @@ To connect your product import/export to a remote storage: Please note that if you're importing from a remote server, the host you configured will be displayed. ![Host displayed](../img/Automation_import_host_displayed.png) +## Connect to an SFTP remote server + +To connect your product import/export to an SFTP remote storage: +1. Go to `Imports` or `Exports` +1. Select the profile you would like to automate +1. Click `Edit` in the top right corner +1. Click `Properties` +1. Under "Type", select `SFTP` +![Select a connection type](../img/Automation_connection_type.png) +1. Fill in all mandatory fields: `Filepath`, `Host`, `Port`, `Login` and `Password` +![Fill in all fields](../img/Automation_SFTP_configured.png) +1. Click `Save` in the top right corner of the screen + +:::tips +If you want to authenticate your SFTP server, you can paste its fingerprint in the optional field `Host fingerprint`. +The accepted format of the fingerprint depends on the format of the server's public key: MD5 for `ssh-rsa` signatures, SHA-512 for others. +::: + +## Connect to Amazon S3 + +To connect your product import/export to Amazon S3: +1. Go to `Imports` or `Exports` +1. Select the profile you would like to automate +1. Click `Edit` in the top right corner +1. Click `Properties` +1. Under "Type", select `Amazon S3` +1. Fill in all mandatory fields: `Filepath`, `Connection string` and `Container name` +1. Click `Save` in the top right corner of the screen + +## Connect to Microsoft Azure + +To connect your product import/export to Microsoft Azure: +1. Go to `Imports` or `Exports` +1. Select the profile you would like to automate +1. Click `Edit` in the top right corner +1. Click `Properties` +1. Under "Type", select `Microsoft Azure` +1. Fill in all mandatory fields: `Filepath`, `Region`, `Bucket name`, `Key` and `Secret` +1. Click `Save` in the top right corner of the screen + + +## Connect to Google Cloud Storage + +To connect your product import/export to Google Cloud Storage: +1. Go to `Imports` or `Exports` +1. Select the profile you would like to automate +1. Click `Edit` in the top right corner +1. Click `Properties` +1. Under "Type", select `Google Cloud Storage` +1. Fill in all mandatory fields: `Filepath`, `Project ID`, `Service account` and `Bucket` +1. Click `Save` in the top right corner of the screen + # Schedule and automate your import/export profile In order to automatically execute an import/export profile: @@ -51,7 +92,7 @@ In order to automatically execute an import/export profile: 1. Under "Automation", switch "Enable scheduling" button to `Yes` 1. Under "Scheduling", select your preferred frequency of execution ![Select frequency of execution](../img/Automation_frequency-selection.png) -1. Then, select the user group to apply the related permissions (EE only) +1. Then, select the user group to apply the related permissions to this automated job can apply (EE only) ![Select user group to apply permissions](../img/Automation_user-groups_permissions.png) 1. Finally, select the user groups and/or users to be notified when a job is completed with success, has failed, or can't even be launched. One e-mail and one in-app notification will be sent for each job status. ![Select users and/or user groups to be notified](../img/Automation_user-groups_users_notifications.png) @@ -62,8 +103,9 @@ In order to automatically execute an import/export profile: * Frequencies executed multiple times a day start at midnight (UTC). * Frequencies are displayed in UTC. * Automated jobs will be executed by a system user, so if you want to see the job in the Process Tracker, please make sure to check the permission `View all jobs in process tracker` under the user roles' permissions. +* To be able to automate a job, you need to configure a remote storage. ::: # Manually execute an import/export profile connected to a remote storage -Once you have connected your import/export profile to a remote server, go back to the root of your profile by clicking on its name in the breadcrumb, and simply click on `Import now` to import from an SFTP server or `Export now` to export to an SFTP server. +Once you have connected your import/export profile to a remote server, go back to the root of your profile by clicking on its name in the breadcrumb, and simply click on `Import now` to import from a remote server or `Export now` to export to a remote server. diff --git a/content/md/imports-exports/exports.md b/content/md/imports-exports/exports.md index 4e453656529..076f446e680 100644 --- a/content/md/imports-exports/exports.md +++ b/content/md/imports-exports/exports.md @@ -74,7 +74,7 @@ To update an export profile: In the tab `General properties`, you can edit the label of your profile. In the `Global settings` tab, properties depend on the export job. For example, for the CSV product export, you will find the following properties: -![Product export global settings](../img/Exports_Product-Export_global-settings.png) +![Product export global settings](../img/Exports_Product-Export_global-settings-UUID.png) | Property | Details | |:--------------------|:----------| @@ -89,6 +89,7 @@ In the `Global settings` tab, properties depend on the export job. For example, | Export with labels | Defines if the export file displays values' labels instead of values' codes | | Headers with labels* | Defines if the export file displays headers' labels instead of headers' codes | | File locale* | Defines the locale in which labels are displayed | +| With product UUID | Adds the product UUID in the file as the first column | *Only visible if the option `Export with labels` has been activated. diff --git a/content/md/imports-exports/img/Automation_SFTP_configured.png b/content/md/imports-exports/img/Automation_SFTP_configured.png index ea5c5c7f1fe..1fbc96427f8 100644 Binary files a/content/md/imports-exports/img/Automation_SFTP_configured.png and b/content/md/imports-exports/img/Automation_SFTP_configured.png differ diff --git a/content/md/imports-exports/img/Automation_connection_type.png b/content/md/imports-exports/img/Automation_connection_type.png index f1d154bf311..842c365236e 100644 Binary files a/content/md/imports-exports/img/Automation_connection_type.png and b/content/md/imports-exports/img/Automation_connection_type.png differ diff --git a/content/md/imports-exports/img/Automation_frequency-selection.png b/content/md/imports-exports/img/Automation_frequency-selection.png index 380fed4501f..53918d4604e 100644 Binary files a/content/md/imports-exports/img/Automation_frequency-selection.png and b/content/md/imports-exports/img/Automation_frequency-selection.png differ diff --git a/content/md/imports-exports/img/Automation_user-groups_permissions.png b/content/md/imports-exports/img/Automation_user-groups_permissions.png index dd61c09b6b0..93742b14952 100644 Binary files a/content/md/imports-exports/img/Automation_user-groups_permissions.png and b/content/md/imports-exports/img/Automation_user-groups_permissions.png differ diff --git a/content/md/imports-exports/img/Automation_user-groups_users_notifications.png b/content/md/imports-exports/img/Automation_user-groups_users_notifications.png index 8d0c73abdba..a25cb947bd7 100644 Binary files a/content/md/imports-exports/img/Automation_user-groups_users_notifications.png and b/content/md/imports-exports/img/Automation_user-groups_users_notifications.png differ diff --git a/content/md/imports-exports/img/Exports_Product-Export_global-settings-UUID.png b/content/md/imports-exports/img/Exports_Product-Export_global-settings-UUID.png new file mode 100644 index 00000000000..2951e07efc1 Binary files /dev/null and b/content/md/imports-exports/img/Exports_Product-Export_global-settings-UUID.png differ diff --git a/content/md/imports-exports/img/Exports_Quick-Export-checkboxes-UUID.png b/content/md/imports-exports/img/Exports_Quick-Export-checkboxes-UUID.png new file mode 100644 index 00000000000..245b9dbaf81 Binary files /dev/null and b/content/md/imports-exports/img/Exports_Quick-Export-checkboxes-UUID.png differ diff --git a/content/md/imports-exports/img/Tailored-Import_Operation_Regular-expression.png b/content/md/imports-exports/img/Tailored-Import_Operation_Regular-expression.png new file mode 100644 index 00000000000..7f2e5d566b1 Binary files /dev/null and b/content/md/imports-exports/img/Tailored-Import_Operation_Regular-expression.png differ diff --git a/content/md/imports-exports/img/Tailored-Import_Operation_Search-and-Replace.png b/content/md/imports-exports/img/Tailored-Import_Operation_Search-and-Replace.png new file mode 100644 index 00000000000..e82c147d0d0 Binary files /dev/null and b/content/md/imports-exports/img/Tailored-Import_Operation_Search-and-Replace.png differ diff --git a/content/md/imports-exports/imports.md b/content/md/imports-exports/imports.md index b6161b51c30..2ceaea2ee7c 100644 --- a/content/md/imports-exports/imports.md +++ b/content/md/imports-exports/imports.md @@ -172,3 +172,38 @@ If you want to know more about how the rights on product data works in the PIM, ### Rights on import execution The permission to execute imports can be customized for each import profile. So if you cannot launch an import, be sure that you have the right to run it in the `Permissions` tab of your import profile in edition mode. See the [Access rights on imports/exports](access-rights-on-imports-exports.html) article for more details. + +# New import processes with the UUID + +New import processes have been implemented with the [UUID](https://help.akeneo.com/pim/serenity/articles/manage-product-identifiers.html#manage-your-products-with-the-uuid) being recently introduced as a new way to identify your products. + +Please find the following usecases when running imports: + +- *You can create a product with no SKU & no UUID:* a new product will be created and a UUID will be randomly assigned. +- *You can create a product with a SKU and no UUID:* a new product will be created with this SKU and a UUID will be randomly assigned. +- *You can update a product only with its UUID:* the product will be updated even if the SKU is not available. +- *You can update a product only with its SKU:* the product will be updated even if the UUID is not available. +- *You can update the SKU of a product using its UUID:* the product will be updated with a new SKU. +- *You can create a product with my own UUID:* you can generate a v4 UUID anywhere (on this website for ex.) and add it during the product creation process. + + +::: info +The UUID column is hidden by default. If you want to display this column, [Update your export profile](exports.html#update-an-export-profile) and activate 'With Product UUID' before running your export. +::: + + +**Here is the table listing all usecases depending on what you fill in the UUID and SKU columns:** + +| uuid | sku | family | name-en_US | Result | +| --- | --- | --- | --- | --- | +| | SKU-ex01 | tshirt | Existing product | Update product having SKU = SKU-ex01 | +| | SKU-new01 | tshirt | New product | Create product with generated uuid and SKU = SKU-new01 | +| | | tshirt | New product | Create product with generated uuid and no SKU | +| uuid-0001 | SKU-ex02 | tshirt | Existing product | Update product having uuid = uuid-0001 | +| uuid-0002 | SKU-new02 | tshirt | New product | Create product with uuid = uuid-0002 and SKU = SKU-new02 | +| uuid-0003 | | tshirt | Existing product | Update product having uuid = uuid-0003 and no SKU | +| uuid-0004 | | tshirt | New product | Create product with uuid = uuid-0004 and no SKU | + +::: warning +Please note that the UUID can’t be modified once the product is created. +::: diff --git a/content/md/imports-exports/quick-export.md b/content/md/imports-exports/quick-export.md index 82aa0db3125..b7ea0931d11 100644 --- a/content/md/imports-exports/quick-export.md +++ b/content/md/imports-exports/quick-export.md @@ -28,7 +28,10 @@ To start the export of product information from the products' grid: - `With labels` to define if the export file displays values' **labels** instead of values' codes. - `Without media` to export the attribute values except the media (from asset collection, image, or file attributes) - `With media` to export the attribute values including the media (from asset collection, image, or file attributes) - ![Quick Export checkboxes](../img/Exports_Quick-Export-checkboxes.png) + - `Without UUID` to export the product values except the product UUID (the associated products will also be displayed with their SKU) + - `With UUID` to export the product values including the product UUID (the associated products will also be displayed with their UUID instead of their SKU) + + ![Quick Export checkboxes](../img/Exports_Quick-Export-checkboxes-UUID.png) 1. In the top-right corner, click on `Export` ::: tips diff --git a/content/md/imports-exports/tailored-export.md b/content/md/imports-exports/tailored-export.md index 4364efe3cce..b754de4c72a 100644 --- a/content/md/imports-exports/tailored-export.md +++ b/content/md/imports-exports/tailored-export.md @@ -20,7 +20,7 @@ Without Tailored Export, you have to export your product information thanks to a Thanks to Tailored Export, prepare the work from Akeneo PIM creating a Tailored Export profile per your retailer's or distributor's requirements and use it as often as necessary. **You no longer need to manually edit your XLSX or CSV files when you need to share product information.** :::tips -To learn more about Tailored Export and how to use this feature, please watch our training [Tailored Exports Foundations](https://akademy.akeneo.com/tailored-exports-foundations). +To learn more about Tailored Export and how to use this feature, please watch our training [Tailored Exports Foundations](https://akademy.akeneo.com/tailored-exports/). ::: # Create a tailored product export profile @@ -102,12 +102,19 @@ Limitations have been set for each Tailored Export profile: * Text fields are limited to 255 characters. ::: +::: tips +When selecting a reference entity attribute as a source, you have multiple choices: +* Either the code or the label of the record +* Either an attribute value used in the records, amongst the following: `Text`, `Text area`, `Number`, `Simple select` and `Multiple select`. +For instance, if you selected as a source the reference entity “Colors”, you will be able to select the description attribute of the record linked to the products to be exported. +::: + # Discover operations You can use operations to share the most meaningful values for your stakeholders by adapting your PIM values in different ways when exporting them. :::tips -To learn more about operations, please watch our training [Tailored Exports Operations](https://akademy.akeneo.com/tailored-exports-operations). +To learn more about operations, please watch our lesson 5 about [Tailored Exports Operations](https://akademy.akeneo.com/tailored-exports/). ::: Depending on the sources you define, here are the different types of operations you can add: @@ -117,11 +124,19 @@ Depending on the sources you define, here are the different types of operations Replace the default values with your own value (only available for the "Yes/No" attribute or the "Enabled" system property). ![Yes/No replacement](../img/TailoredExport_Operation_Boolean_Replacement.png) +:::tips +Replacement values are case-sensitive. +::: + ## Replacement Replace the values by your own (only available for simple select, multi select, reference entities single link or multiple link attributes). ![Replacement](../img/TailoredExport_Operation_Replacement.png) +:::tips +Replacement values are case-sensitive. +::: + ## Use default value when empty Define a default value when the source value is empty. diff --git a/content/md/imports-exports/tailored-import.md b/content/md/imports-exports/tailored-import.md index 88b30943200..dedb98ed397 100644 --- a/content/md/imports-exports/tailored-import.md +++ b/content/md/imports-exports/tailored-import.md @@ -138,6 +138,10 @@ You can use operations to transform the data in order to make the import process New operations will come along the year to help you save time importing your product information. Do not hesitate to contact your Customer Success Manager if you want to help us by communicating your use case & needs. ::: +:::warning +Adding the operations in the correct order is essential. For instance, if you want to import the column "Main color" that contains multiple values in each cell (e.g. "Black, Crow, Charcoal, Obsidian") from your Excel spreadsheet into one multi-select attribute "Color" in our PIM, you need to add the operations in that order: first `Split`, then `Replacement`. +::: + Depending on the targets that you define, here are the different types of operations that you can add: ## Yes/No replacement @@ -153,7 +157,7 @@ It will help you to replace the values by your own. ![Replacement operation](../img/Tailored-Import_Operation_Replacement.png) ::: warning -Replacement values are case-sensitive. +Replacement values are case-insensitive. ::: ## Split @@ -188,8 +192,21 @@ It will help you to clean the unnecessary whitespaces values with two options: * Remove whitespaces at the beginning and the end ![Remove whitespaces operation](../img/Tailored-Import_Operation_Remove-whitespaces.png) -:::info -Adding the operations in the correct order is essential. For instance, if you want to convert ` this text ` to `This text`, you need to add the operations `Remove whitespaces at the beginning and the end`, then `First letter uppercase`, and not the contrary. +## Search and replace + +This operation is available for `Text` and `Text Area` attributes used as a target. +It will help you to search for a term and replace it by another one. Note that you can add up to 10 replaced values per operation. +![Search & replace operation](../img/Tailored-Import_Operation_Search-and-Replace.png) + +## Extract with regular expression + +This operation is available for `Text` and `Text Area` attributes used as a target. +It will help you extract a value based on a regular expression of your choice. +![Regular expression operation](../img/Tailored-Import_Operation_Regular-expression.png) + +::: tips +Regular expressions mostly start and end by a slash (/) or a tilde (~). +If you're new to regular expressions, you can use the service of [Autoregex](https://www.autoregex.xyz/) to generate a regular expression based on a sentence describing your need. ::: # Duplicate a Tailored Import profile diff --git a/content/md/permissions-settings/manage-the-interface-and-actions-accesses.md b/content/md/permissions-settings/manage-the-interface-and-actions-accesses.md index b6a6ec8ed0d..28105a50a55 100644 --- a/content/md/permissions-settings/manage-the-interface-and-actions-accesses.md +++ b/content/md/permissions-settings/manage-the-interface-and-actions-accesses.md @@ -182,12 +182,15 @@ It is possible to import and export these permissions by using the dedicated imp | Permission name | Effect on the interface | |---------------------------|--------------| -| Create a category | User can create a new category with a right click on the tree and click on the `Create a new category` button in the `Settings`/`Categories` menu entry | -| Edit a category | User can edit a category | -| View category history | User can access the `History` tab of categories | -| List categories | User can see and access all categories and category trees listed under the `Settings`/`Categories` menu entry | +| Create a category | User can create a new category while clicking on the tree and click on the `Create a new category` button in the `Settings`/`Categories` menu entry | +| Edit a category | User can edit a category while directly clicking on the category line. It allows to access the `Properties` tab to edit and save the category’s label translations. | +| View category history | User can access the `History` tab of categories to view categories’ history at the condition that Edit a category right has been activated.| +| List categories | User can see and access all trees, then any of their related categories and sub-categories listed under the `Settings`/`Categories` menu entry | +| Order/reorder categories | In a category tree, user can order/reorder categories in the list using the drag-and-drop capacity at the condition that List categories right has been activated. Info: if you already have the right of Edit a category, the new Order/reorder categories right will be automatically activated.| | Remove a category | User can remove a category using the `Delete` button | -| Manage category permissions _(EE only)_ | User has access to the `Permissions` tab on a category | +| Manage category template | User can `Activate` a category template per tree and `View` its related attributes in the new `Attributes` tab. Activating a category template is a prerequisite to `Edit category attributes`, allowing the user to enrich a category with content. Info: if you already have the right of Create a category or Edit a category, the new Manage category template right will be automatically activated. | +| Edit category attributes | Once a category template has been activated for a given category tree, user can access the edition of the category attributes through the `Attributes` tab of any of its categories, at the condition that Edit categories has been activated. Info: if you already have the right of Edit a category, the new Edit category attributes right will be automatically activated. | +| Manage category permissions _(EE only)_ | User can access the `Permissions` tab on a category, at the condition that Edit a category right has been activated. User can handle which user groups are allowed to view, edit and own products. Info: please note that even if you have defined specific access rights on product information, in order to configure a specific scope of role and visibility of users to the product catalog based upon the categories (“Allowed to view/edit/own products”), every user group will be able to activate a category template and edit category attributes as soon as the permissions detailed in the Manage category template and Edit category attributes sections above have been activated. | ## Permissions on channels diff --git a/content/md/permissions-settings/manage-the-web-api-permissions.md b/content/md/permissions-settings/manage-the-web-api-permissions.md index 2b8f3d50d20..40f85da9c85 100644 --- a/content/md/permissions-settings/manage-the-web-api-permissions.md +++ b/content/md/permissions-settings/manage-the-web-api-permissions.md @@ -103,7 +103,6 @@ The following tables sum up the permissions you will find to restrict the access |:--------------|:------------------------------------------------| | List reference entity records | Gives permission to retrieve reference entity records using the API | | Create and update reference entity records | Gives permission to create and update reference entity records using the API | -| Delete reference entity records | Gives permission to delete reference entity records using the API | | List reference entities | Gives permission to retrieve reference entities using the API | | Create and update reference entities | Gives permission to create and update reference entities using the API | diff --git a/content/md/productivity/img/TTMI_control_panel.png b/content/md/productivity/img/TTMI_control_panel.png new file mode 100644 index 00000000000..5cc97a08c1b Binary files /dev/null and b/content/md/productivity/img/TTMI_control_panel.png differ diff --git a/content/md/productivity/img/TTMI_graph_pop_up.png b/content/md/productivity/img/TTMI_graph_pop_up.png new file mode 100644 index 00000000000..691812a996c Binary files /dev/null and b/content/md/productivity/img/TTMI_graph_pop_up.png differ diff --git a/content/md/productivity/img/TTMI_graph_table.png b/content/md/productivity/img/TTMI_graph_table.png new file mode 100644 index 00000000000..59458eb7a05 Binary files /dev/null and b/content/md/productivity/img/TTMI_graph_table.png differ diff --git a/content/md/productivity/img/TTMI_legend.png b/content/md/productivity/img/TTMI_legend.png new file mode 100644 index 00000000000..a95c78147e5 Binary files /dev/null and b/content/md/productivity/img/TTMI_legend.png differ diff --git a/content/md/productivity/img/TTMI_presentation.png b/content/md/productivity/img/TTMI_presentation.png new file mode 100644 index 00000000000..99cf0610d2d Binary files /dev/null and b/content/md/productivity/img/TTMI_presentation.png differ diff --git a/content/md/productivity/img/TTMI_search.png b/content/md/productivity/img/TTMI_search.png new file mode 100644 index 00000000000..0bb93430c58 Binary files /dev/null and b/content/md/productivity/img/TTMI_search.png differ diff --git a/content/md/productivity/project-widget-in-dashboard.md b/content/md/productivity/project-widget-in-dashboard.md index 51300141446..377a1b2aaa6 100644 --- a/content/md/productivity/project-widget-in-dashboard.md +++ b/content/md/productivity/project-widget-in-dashboard.md @@ -58,3 +58,7 @@ Select `All contributors` to have the global overview of the project. If you have no projects, the widget will display users the message: `You have no current project, start a new project`. ![image](../img/Dashboard_NoProject.png) + +:::info +Please note that the Teamwork Assistant is **not compatible with products that do not have a SKU.** +::: diff --git a/content/md/productivity/time-to-market-insights.md b/content/md/productivity/time-to-market-insights.md new file mode 100644 index 00000000000..85c1b78081d --- /dev/null +++ b/content/md/productivity/time-to-market-insights.md @@ -0,0 +1,91 @@ +--- +id: time-to-market-insights +themes: boost-your-productivity +title: Time-to-market insights +ee: true +ge: false +related: +--- + +# Overview + +Time-to-Market Insights identifies opportunities to streamline the product data enrichment process in Akeneo PIM to bring products to market faster. + +Time-to-Market Insights will increase visibility into the go-to-market process by tracking how long it takes to enrich products in Akeneo PIM and understand where users spend the most time in Akeneo PIM. + +The main benefits? +- Sell faster: identify ways to improve workflows to bring products to market faster +- Work smarter: improve enrichment processes and team productivity + + +# Experience + +Time-to-Market Insights is accessible through the Activity section. Here we can identify four main features of the global experience. + +![TTMI presentation](../img/TTMI_presentation.png) + +1. The insights block above the graph provides a digest of your Time-to-enrich performance +2. The dashboard provides a visual representation of the data +3. The table gives you the expected result +4. The control panel defines the metric and the associated filters you want to analyze and allows you to export data + + +## Control panel + +![TTMI control panel](../img/TTMI_control_panel.png) + +### Metrics and Filters + +#### Metrics + +Two metrics to analyze your time-to-market performance: +- Time-to-enrich: the amount of time spent from the creation of the product to the first 100% completeness +- Number of enriched products: total number of products enriched over the defined period of time + +::: info +Please note that the updates on existing products are not taken into account in the metric calculation +::: + +#### Dimensions + +You can analyze the selected metric by grouping through entities: Families and Categories. +- Family: how you have defined completeness for products according to a set of required Attributes to be enriched +- Category: how you have organized and classified your products in Akeneo PIM + +Also, you can go deeper into your analysis through the channels and the locales: +- All: select `All Channels` or `All Locales` to get a broad overview of your product catalog across the board +- At Least one: choose `At least one Channel` or `At least one Locale` +- Choose a specific channel or locale for focused insights in a particular area + +#### Time frame (From) + +You can define the time frame you want to display for your analysis. + +### Export + +Based on the filters defined on the control panel (Dimensions and Time frame), you can export the data for all the displayed metrics. Once you click on "Download report", an XLXS file is downloaded in your browser, and you can access the data related to the control panel configuration. + +## Dashboard and table vizualisation + +![TTMI graph and table](../img/TTMI_graph_table.png) + +Let’s analyze the capabilities available through the dashboard and the table visualization. + +### Dashboard + +The **caption** summarizes the data defined in the configuration panel and is displayed in the graph below. +![TTMI legend](../img/TTMI_legend.png) + +Hover over the chart to display a **pop-up** that displays details about the data you have selected. +![TTMI popup](../img/TTMI_graph_pop_up.png) + + +### Table + +Use the **search bar** to find a specific family. Categories will be available soon. +![TTMI search](../img/TTMI_search.png) +The family and the category rows are clickable and allow updating the chart above with your chosen data set. + +::: info +All the data before 15th December 2022 is unavailable as we started tracking the usage at this time. This condition is the same for all products created before this period. +::: \ No newline at end of file diff --git a/content/md/products-super-power/enrich-your-category.md b/content/md/products-super-power/enrich-your-category.md new file mode 100644 index 00000000000..bdd2cf5954c --- /dev/null +++ b/content/md/products-super-power/enrich-your-category.md @@ -0,0 +1,97 @@ +--- +id: enrich-your-category +themes: products-super-power +title: 'NEW - **Enrich** your category - Early Access' +popular: false +ee: false +related: categorize-a-product, what-is-a-category, manage-the-interface-and-actions-accesses +--- + +# Why enrich a category? + +You can enrich categories in Akeneo PIM with e-merchandising information such as images, descriptions, and SEO content to create more impactful showcases for product lines and deliver consistent and compelling product experiences across all sales channels. + +# How to enrich a category? + +It is easy to enrich a category with valuable content with the category template, which displays the key e-merchandising attributes that will help you describe and qualify your categories. +The category template can be activated by category tree, then applied to all categories, subcategories, and sub-subcategories of this tree. Once activated, the category template can be edited with values that are all scopable and localizable, none of the attributes are mandatory. +At any time, if you want to come back to simple category properties, you can deactivate the category template per tree, which will impact all associated categories. +From the user interface, Go to `Settings/Categories`. + +![Image of the Categories](../img/enriched-categories-tree-list.png) + +# Activate a category template per category tree + +The category template includes attributes (text, text area, and image attribute types) to enrich categories with content such as images, descriptions, and SEO content. +To activate a new category template, hover on the tree name and click on the `Activate template` button. + +![Image of the Categories](../img/enriched-categories-tree-list-hover.png) + +The activation of the category tree template label and code are both automatic, and you can now view the list of pre-defined attributes available in the category template in the first `Attributes` tab. + +![Image of the Categories](../img/enriched-categories-template.png) + +::: info +If you cannot activate the category template, you may not have the appropriate rights to manage category templates, then please refer to the [Manage the interface and actions accesses > Rights on settings > Permissions](manage-the-interface-and-actions-accesses.html) on categories article. +::: + +# To enrich a category, first, select your working context (channel/locale) + +Go to `Settings/Categories` in the Akeneo PIM. To enrich the new category template’s attributes, click on the tree of your choice in the list and click on the category, subcategory or sub-subcategory you want to enrich. + +![Image of the Categories](../img/enriched-categories-tree-list-template-activated.png) + +![Image of the Categories](../img/enriched-categories-category-tree.png) + +In the `Attributes` tab, you can view your activated template with category attributes to edit. + +![Image of the Categories](../img/enriched-categories-category-details-1.png) + +Your activated template will allow you to add or edit category attributes, hence enriching your categories with contents such as description, images or SEO data. To do so, first, select your working context (channel and locale). + +![Image of the Categories](../img/enriched-categories-category-details-2.png) + +## Select your working channel + +To select the channel on which you want to edit values, select your channel in the drop-down list on the header of the `Attributes` tab. + +![Image of the Categories](../img/enriched-categories-category-details-channel-selector.png) + +If you want to edit several values at once, you can edit the category attributes for one channel, then another, and save all changes at once. +If you cannot find your working channel listed, perhaps the channel is not associated with the category tree you have selected: therefore it is not enabled. To manage the category tree linked to the working channel, please refer to [Manage your channels](manage-your-channels.html). + +## Select your working locale + +To select the locale on which you want to edit values, select your locale in the drop-down list on the header of the `Attributes` tab. + +![Image of the Categories](../img/enriched-categories-category-details-locale-selector.png) + +In the drop-down list, you will find the locales (that have been associated with the working channel in the `Settings`). If your working locale is not listed, perhaps the locale is not required by any of the channels: therefore it is not enabled. To add a locale to a channel, please refer to [Manage your channels](manage-your-channels.html). +For the localizable attributes (with the indicated locale on the top right of the field), the entered values will be saved only for the working locale. +If you want to edit several values at once, you can edit the category attributes for one locale, then another, and save all changes at once. + +::: info +By default and to allow flexibility, you can edit any of the attributes on the category template specifically by channel and by locale, locales being dependent on the channel. None of the attributes are mandatory so you can edit and enrich only part of the attributes. However, if there is any attribute that you do not want to edit as channel- or locale-specific, then you will need to edit it separately for each channel and/or each locale one by one. +::: + +# Enrich category attributes + +Go to `Settings/Categories` and once a category template has been activated per tree, then you can edit attributes and enrich any of your categories. + +1. Click on the `Attributes` tab +1. Select the channel and locale you want to enrich +1. Complete or change your category values +1. Click on the Save button (top right-hand corner). + +--- + + +::: info +If you cannot add category content to enrich a category, you may not have the appropriate rights to Edit category attributes, please refer to the [Manage the interface and actions accesses > Rights on settings > Permissions](manage-the-interface-and-actions-accesses.html) on categories article. +::: + +::: info +We will continue to add new capabilities to our new Enriched Categories functionality throughout the year. At this time, there isn’t any impact either on the `Permissions` tab (EE only) or on the `History` tab. In addition, the template will become customizable so that you can manage the attributes you want to enrich on your categories. +::: diff --git a/content/md/products-super-power/enrich-your-reference-entity-records.md b/content/md/products-super-power/enrich-your-reference-entity-records.md index 0f6b3fb41c8..bd3a6ff6de9 100644 --- a/content/md/products-super-power/enrich-your-reference-entity-records.md +++ b/content/md/products-super-power/enrich-your-reference-entity-records.md @@ -213,5 +213,8 @@ In the bottom bar, checking the box allows you to select all records or none in ![Records Mass Deletion](../img/ReferenceEntity_Mass-delete-records.png) ::: warning -To delete all the records of an entity, you **need to check that no record of this entity is linked to other entities or used in a product**. Otherwise you will not be able to delete it. +To be able to delete all the records of an entity, you need to check that: +* No record of this entity is linked to other entities +* No record of this entity is linked to a table attribute +* No record of this entity is in a product ::: diff --git a/content/md/products-super-power/how-to-manage-my-publications.md b/content/md/products-super-power/how-to-manage-my-publications.md index d1c13d50f7c..1fd141630df 100644 --- a/content/md/products-super-power/how-to-manage-my-publications.md +++ b/content/md/products-super-power/how-to-manage-my-publications.md @@ -26,6 +26,10 @@ If you click on the arrow to open the complete `History` page, the published ver ![Published History Button dropdown](../img/Products_PublishedHistoryDropdown.png) +:::info +**Products without SKU cannot be published.** If you would like to publish your products, **a SKU will be required to do so.** +::: + ## Publish several products at once To publish several products simultaneously: diff --git a/content/md/products-super-power/img/enriched-categories-category-details-1.png b/content/md/products-super-power/img/enriched-categories-category-details-1.png new file mode 100644 index 00000000000..7646169a89d Binary files /dev/null and b/content/md/products-super-power/img/enriched-categories-category-details-1.png differ diff --git a/content/md/products-super-power/img/enriched-categories-category-details-2.png b/content/md/products-super-power/img/enriched-categories-category-details-2.png new file mode 100644 index 00000000000..6353ba37b9b Binary files /dev/null and b/content/md/products-super-power/img/enriched-categories-category-details-2.png differ diff --git a/content/md/products-super-power/img/enriched-categories-category-details-channel-selector.png b/content/md/products-super-power/img/enriched-categories-category-details-channel-selector.png new file mode 100644 index 00000000000..bd2a74d9b87 Binary files /dev/null and b/content/md/products-super-power/img/enriched-categories-category-details-channel-selector.png differ diff --git a/content/md/products-super-power/img/enriched-categories-category-details-locale-selector.png b/content/md/products-super-power/img/enriched-categories-category-details-locale-selector.png new file mode 100644 index 00000000000..07bcbe7ff03 Binary files /dev/null and b/content/md/products-super-power/img/enriched-categories-category-details-locale-selector.png differ diff --git a/content/md/products-super-power/img/enriched-categories-category-tree.png b/content/md/products-super-power/img/enriched-categories-category-tree.png new file mode 100644 index 00000000000..dcb5720c088 Binary files /dev/null and b/content/md/products-super-power/img/enriched-categories-category-tree.png differ diff --git a/content/md/products-super-power/img/enriched-categories-demo.mp4 b/content/md/products-super-power/img/enriched-categories-demo.mp4 new file mode 100644 index 00000000000..46740661b8a Binary files /dev/null and b/content/md/products-super-power/img/enriched-categories-demo.mp4 differ diff --git a/content/md/products-super-power/img/enriched-categories-template.png b/content/md/products-super-power/img/enriched-categories-template.png new file mode 100644 index 00000000000..b67eff4314f Binary files /dev/null and b/content/md/products-super-power/img/enriched-categories-template.png differ diff --git a/content/md/products-super-power/img/enriched-categories-tree-list-hover.png b/content/md/products-super-power/img/enriched-categories-tree-list-hover.png new file mode 100644 index 00000000000..68630d6f6bc Binary files /dev/null and b/content/md/products-super-power/img/enriched-categories-tree-list-hover.png differ diff --git a/content/md/products-super-power/img/enriched-categories-tree-list-template-activated.png b/content/md/products-super-power/img/enriched-categories-tree-list-template-activated.png new file mode 100644 index 00000000000..2a24f90642f Binary files /dev/null and b/content/md/products-super-power/img/enriched-categories-tree-list-template-activated.png differ diff --git a/content/md/products-super-power/img/enriched-categories-tree-list.png b/content/md/products-super-power/img/enriched-categories-tree-list.png new file mode 100644 index 00000000000..3d3a2713d33 Binary files /dev/null and b/content/md/products-super-power/img/enriched-categories-tree-list.png differ diff --git a/content/md/products-super-power/product-associations.md b/content/md/products-super-power/product-associations.md index db3113bbccb..18a9271bc18 100644 --- a/content/md/products-super-power/product-associations.md +++ b/content/md/products-super-power/product-associations.md @@ -42,13 +42,13 @@ By default, if the product has no association for the selected association type, Today, it is not possible to define a specific order of your associated products/product models. The current order is following those rules: * Associated products are first displayed, then associated product models are displayed after. -* Associated products/product models are ordered by an alpha-numerical logic based on their main identifier. +* Associated products/product models are ordered by an alpha-numerical logic based on their internal ID (visible in the URL). -For instance, if you associated the products "61223", "4544719001003", "CHAIR_ROSA_BLUE_2022" and the product model "DINING_SET_3055978276329", the default order logic will be the following: -1. Product "4544719001003" (it starts with a "4", the lowest figure here) -1. Product "61223" (it starts with a "6" which comes after "4") -1. Product "CHAIR_ROSA_BLUE_2022" (it starts with alphabetical values which come after numerical values) -1. Product model "DINING_SET_2023_WINTER" +For instance, if you associated the products "e9af9526-08df-4177-a7bc-34016b231d0c", "02255102-39ee-41cd-87af-340d1a3fe5cd", "732b0fe5-1159-4802-8c3d-a68eff1ba158" and the product model "1568", the default order logic will be the following: +1. Product "02255102-39ee-41cd-87af-340d1a3fe5cd" (it starts with a "0", the lowest figure here) +1. Product "732b0fe5-1159-4802-8c3d-a68eff1ba158" (it starts with a "7" which comes after "0") +1. Product "e9af9526-08df-4177-a7bc-34016b231d0c" (it starts with alphabetical value "e" which come after numerical values) +1. Product model "1568" :::info If you export your associated products/product models using the API or XLSX/CSV files, the order will be the same as explained in the paragraph above. diff --git a/content/md/products-super-power/publish-workflow.md b/content/md/products-super-power/publish-workflow.md index 2a4df9482f9..9a70f46e303 100644 --- a/content/md/products-super-power/publish-workflow.md +++ b/content/md/products-super-power/publish-workflow.md @@ -45,6 +45,7 @@ This is not the case if you change other product information such as product act # Published products & associations +## Add an association between multiple published products Products associated to a published product should also be published, if you want to see the associations between those products in your published product. Learn more about associations in the [Associations of products](products-associations.html) article. In other words, an association of a published product A with a non-published product B, will not be visible in your published product A. @@ -53,6 +54,15 @@ To associate 2 published products, for instance, *Product A* to *Product B*: 2. Create the association in the *Product A*, with your *Product B* 3. Publish the *Product A* +::: warning +If you edited the values of products B & C associated with product A, and if product A has been published, you need to unpublish and republish product A to consider the changes. +::: + ::: warning Associations for published products will only be visible via the API and XLSX or CSV exports. That means you won’t see the `Associations` tab on the product edit form of published products. Please note that associations with quantities aren’t compatible with published products. ::: + +::: warning +Published products are not compatible with the associations inherited from product models. +Please also note that associations with quantities and 2-way associations are not compatible with published products. +::: diff --git a/content/md/products-super-power/work-on-a-product.md b/content/md/products-super-power/work-on-a-product.md index f3f1a113655..2fab194ce62 100644 --- a/content/md/products-super-power/work-on-a-product.md +++ b/content/md/products-super-power/work-on-a-product.md @@ -237,7 +237,7 @@ Thanks to the product grid filters, you can easily find all the products with Fr 1. Choose or type the value you're searching for, i.e `France`. :::info -The third step is not mandatory. If you don't fill any row, then it means that you'll search for all products with a French ingredient. +If you want to search through your entire table, you may select `Any row` in the `Select your row` filter. ::: # Compare product information from another locale and/or channel diff --git a/content/md/user-management/what-is-a-user.md b/content/md/user-management/what-is-a-user.md index 617e0314c79..9ea7c152489 100644 --- a/content/md/user-management/what-is-a-user.md +++ b/content/md/user-management/what-is-a-user.md @@ -12,7 +12,7 @@ related: manage-your-users, what-is-a-role, build-your-user-groups, build-your-u Nothing exotic here. A user is simply an account access to log into the PIM. ::: info -One user account can be used by one or several persons in a company. +One user account can only be used by one person in a company. ::: A user has at least: diff --git a/content/md/connectivity/img/marketplace-connect-disabled.png b/content/md/what-is/img/marketplace-connect-disabled.png similarity index 100% rename from content/md/connectivity/img/marketplace-connect-disabled.png rename to content/md/what-is/img/marketplace-connect-disabled.png diff --git a/content/md/connectivity/img/pim-marketplace-with-apps.gif b/content/md/what-is/img/pim-marketplace-with-apps.gif similarity index 100% rename from content/md/connectivity/img/pim-marketplace-with-apps.gif rename to content/md/what-is/img/pim-marketplace-with-apps.gif diff --git a/content/md/what-is/img/role-manage-apps.png b/content/md/what-is/img/role-manage-apps.png new file mode 100644 index 00000000000..1fd09af89ae Binary files /dev/null and b/content/md/what-is/img/role-manage-apps.png differ diff --git a/content/md/connectivity/img/whats-an-app.png b/content/md/what-is/img/whats-an-app.png similarity index 100% rename from content/md/connectivity/img/whats-an-app.png rename to content/md/what-is/img/whats-an-app.png diff --git a/content/md/what-is/what-about-assets.md b/content/md/what-is/what-about-assets.md index f89999bd822..a5b1822ccfe 100644 --- a/content/md/what-is/what-about-assets.md +++ b/content/md/what-is/what-about-assets.md @@ -51,6 +51,7 @@ There are several types of asset attributes, that will allow you to handle diffe - the **text** attribute, - the **single and multiple options** attributes, - the **number** attribute, +- the **boolean** attribute, - the **media file** attribute, - the **media link** attribute. diff --git a/content/md/what-is/what-about-products-variants.md b/content/md/what-is/what-about-products-variants.md index d20cb35fbfb..ce078fba76b 100644 --- a/content/md/what-is/what-about-products-variants.md +++ b/content/md/what-is/what-about-products-variants.md @@ -31,7 +31,7 @@ Let's take a well-known example of products with variants that are T-shirts. A T For all the colors and sizes of the T-shirt, **some attributes are common**, such as the name « Cotton T-shirt with a round neck », the brand « DIVIDED », and the care instructions « machine wash at fourty degrees ». Each T-shirt color has **different pictures and could have a different composition**. Each T-shirt color could be **available in different sizes: S, M or L.** -For each color/size, **the identifier of the product is different** (EAN, SKU) as well as **the technical specs like weight, sleeves length that could vary from a T-shirt from another.** +For each color/size, a specific product will be created with its own product identifier (ex: SKU), its own UUID, as well as **technical specs like weight, sleeves length that could vary from a T-shirt from another.** ![Scheme modeling products with variants](../img/scheme_variants.png) @@ -42,7 +42,7 @@ A product model has **no product identifier** (ex: SKU) but a dedicated code. ## What is a variant product? -A **variant product is a product** and it is also a **variant of a product model**. It shares the common attributes of a product model but also has its own properties. A **variant product has a product identifier** (ex: SKU). +A **variant product is a product** and it is also a **variant of a product model**. It shares the common attributes of a product model but also has its own properties. A **variant product has a product identifier (ex: SKU) and its own UUID. Please note that the SKU is now optional.** ## What is a family variant? diff --git a/content/md/what-is/what-is-an-app.md b/content/md/what-is/what-is-an-app.md new file mode 100644 index 00000000000..849292102f9 --- /dev/null +++ b/content/md/what-is/what-is-an-app.md @@ -0,0 +1,55 @@ +--- +id: what-is-an-app +themes: akeneo-concepts, connectivity +title: What is an **app**? +popular: true +ee: false +related: how-to-connect-my-pim-with-apps, manage-your-apps +--- + +# What's an App? +Apps are the best way to connect Akeneo PIM with third parties. They can retrieve and push data from and into Akeneo PIM through the REST API. Thanks to a step-by-step activation process integrated into the Akeneo PIM interface, anyone can connect an App to Akeneo PIM despite these technical interactions. + +![What's an app schema](../img/whats-an-app.png) + +The Akeneo App Store natively gives access to best-of-breed technology partners. Today, we have more than 150 extensions, including apps, which cover a broad set of use cases that allow you to connect third-party systems with their PIM. + +When you don't find an on-the-shelf App answering your exact need on the Akeneo App Store, Custom apps allow you to develop your own app and benefit from all app features without publishing it. + +# Where to find Apps & Connectors? +Because we know it can be tedious to leave your work environment to find the App or Connector you need, we bring them to you. We developed the PIM `App Store` as a way for you to smoothly identify the most relevant App or Connector directly from your PIM interface. + +![PIM App Store](../img/pim-marketplace-with-apps.gif) + +You can see Apps and Connectors compatible with your Akeneo PIM version and edition. When you identify something interesting, click on `More info` to access the related documentation. + +Akeneo App Store is where you will read all the documentation, consult all the available screenshots, and reach the seller. + +To find the Apps or Connectors you need, in you PIM, go to the `Connect` menu, then click on `App Store`, and here you are! + +::: tips +Feel free to test our new connection experience by connecting the **Akeneo Demo App**. +::: + + +# Who can connect Apps? + +To give the capacity to choose who can connect an App, we added a new Role permission in the PIM: `Manage apps`. +To connect an App, your user role needs it. + +Without this role permission, you won't see the `Apps` menu and won't be able to click on `Connect` as in the following screenshot. + +App Store connect disabled + +To give the role permission: + +- Go to `System`, then `Roles` +- Click on the role you want to update +- Go to the `Permissions` tab and select the `Connect` entry +- Finally enable the `Manage apps` option. + +![Role manage apps](../img/role-manage-apps.png) + +::: info +To find out more about app connection, please read the [How to connect my PIM with Apps?](how-to-connect-my-pim-with-apps.html) article. +::: diff --git a/content/md/connectivity/what-is-an-event-subscription.md b/content/md/what-is/what-is-an-event-subscription.md similarity index 100% rename from content/md/connectivity/what-is-an-event-subscription.md rename to content/md/what-is/what-is-an-event-subscription.md diff --git a/content/updates/2021-06/3-Category-settings-revamp.md b/content/updates/2021-06/3-Category-settings-revamp.md index 65c37328cb5..e5f0d1fa5ee 100644 --- a/content/updates/2021-06/3-Category-settings-revamp.md +++ b/content/updates/2021-06/3-Category-settings-revamp.md @@ -7,7 +7,7 @@ pim_announcement_audience: --- # Revamped category screen -::: meta-data type="Improvement" features="Productivity" available="late June" in="EE,GE" link-to-doc="what-is-a-category.html#how-to-create-a-new-category" +::: meta-data type="Improvement" features="Productivity" available="late June" in="EE,GE" link-to-doc="../articles/what-is-a-category.html#how-to-create-a-new-category" In order to improve your user experience with category management, we have rebuilt it from scratch. Take a close look, you'll see how easy it is to create new categories now. We hope you enjoy it! diff --git a/content/updates/2021-11/1-TA-importexport.md b/content/updates/2021-11/1-TA-importexport.md index d4ac97eb175..32825fe2852 100644 --- a/content/updates/2021-11/1-TA-importexport.md +++ b/content/updates/2021-11/1-TA-importexport.md @@ -16,5 +16,5 @@ Several dedicated import and export jobs for table attributes are available to a ::: more [What is table attribute?](../articles/manage-multidimensional-data-in-a-table.html) -[How to add new rows](../articles/work-on-a-product/#use-a-table-attribute-in-your-product-page.html) +[How to add new rows](../articles/work-on-a-product.html#use-a-table-attribute-in-your-product-page.html) ::: diff --git a/content/updates/2021-11/2-TA-addrows.md b/content/updates/2021-11/2-TA-addrows.md index cdbb1a008b2..e58c2d81c25 100644 --- a/content/updates/2021-11/2-TA-addrows.md +++ b/content/updates/2021-11/2-TA-addrows.md @@ -16,5 +16,5 @@ Add new row options to your tables directly from the Product Edit Form. As soon ::: more [What is table attribute?](../articles/manage-multidimensional-data-in-a-table.html) -[How to use table attribute in your product page?](../articles/work-on-a-product/#use-a-table-attribute-in-your-product-page.html) +[How to use table attribute in your product page?](../articles/work-on-a-product.html#use-a-table-attribute-in-your-product-page.html) ::: diff --git a/content/updates/2021-12/2-TA-completeness.md b/content/updates/2021-12/2-TA-completeness.md index 390c78f885a..db3836176cb 100644 --- a/content/updates/2021-12/2-TA-completeness.md +++ b/content/updates/2021-12/2-TA-completeness.md @@ -16,5 +16,5 @@ Completeness for your table attributes can now be defined at the table attribute ::: more [What is table attribute?](../articles/manage-multidimensional-data-in-a-table.html) -[How to set completeness](../articlesmanage-multidimensional-data-in-a-table.html#what-about-the-completeness) +[How to set completeness](../articles/manage-multidimensional-data-in-a-table.html#what-about-the-completeness) ::: diff --git a/content/updates/2022-07/01-TailoredImports.md b/content/updates/2022-07/01-TailoredImports.md index dcb5a54743d..751f92b499b 100644 --- a/content/updates/2022-07/01-TailoredImports.md +++ b/content/updates/2022-07/01-TailoredImports.md @@ -13,5 +13,5 @@ Tailored Imports allows you to easily transform, map, and import data files that ![TailoredImportImportProfile](../img/refentities.png) ::: more -[Manage your Reference Entities](../articles/hmanage-reference-entities.html#mainContent) +[Manage your Reference Entities](../articles/manage-reference-entities.html#mainContent) ::: diff --git a/content/updates/2022-10/01-SKUOptional.md b/content/updates/2022-10/01-SKUOptional.md new file mode 100644 index 00000000000..516e73043bb --- /dev/null +++ b/content/updates/2022-10/01-SKUOptional.md @@ -0,0 +1,18 @@ +--- +pim_announcement_img: ./img/skuoptional.png +pim_announcement_alt_img: Create a SKU +pim_announcement_audience: +- EE +- GE +--- + +# Product Identifier Changes: SKUs Optional and UUIDs +::: meta-data type="New" features="Governance" available="November" in="EE,GE" link-to-doc="../articles/manage-product-identifiers.html" + +SKU is no longer mandatory when creating products in Akeneo PIM and we're introducing a new technical product identifier, the UUID. The UUID is now available to provide more flexibility in how products are identified and updated. With these changes you will be able to create products without a SKU within Akeneo PIM or via API. You may also remove the SKU from a family so that the SKU field will no longer appear on the product creation screen and the product edit form. Before beginning to create products without SKUs, please ensure that leaving the SKU field empty won’t negatively impact your existing workflows, especially any synchronization configured with third-party systems that might use SKU as a key entry. Please also update your API configuration with the newly available API endpoints using the UUID as a technical identifier. + +![Create a SKU](../img/skuoptional.png) + +::: more +[Read the complete documentation](../articles/manage-product-identifiers.html#update-your-products-with-the-api) +::: diff --git a/content/updates/2022-10/02-Replacementoperations.md b/content/updates/2022-10/02-Replacementoperations.md new file mode 100644 index 00000000000..c5be4a98506 --- /dev/null +++ b/content/updates/2022-10/02-Replacementoperations.md @@ -0,0 +1,19 @@ +--- +pim_announcement_img: ./img/replacementoperationsmalll.png +pim_announcement_alt_img: Tailored Imports Replacement Operations +pim_announcement_audience: +- EE +- GE +--- + +# Reference Entity Replacement Operations via Tailored Imports +::: meta-data type="New" features="Productivity" available="October" in="EE,GE" link-to-doc="../articles/tailored-import.html#replacement" + +Reduce manual work by mapping values in an import file to reference entities in Akeneo PIM. A common use case for this functionality is the need to update colors in a supplier’s file to match the color names in Akeneo PIM. For example, your supplier may use color names such as “sky blue” or “royal blue” but you need the color to be “blue” to align with your product catalog. It would be time-consuming to manually update every color value in a spreadsheet. Save time by using Tailored Imports to map the supplier’s color names to your desired color name with the new replacement options for reference entity single link or reference entity multiple link attributes. + + +![Replacement Operations](../img/replacementoperationsmalll.png) + +::: more +[Learn about Tailored Imports](../articles/tailored-import.html#overview) +::: diff --git a/content/updates/2022-10/img/replacementoperationsmalll.png b/content/updates/2022-10/img/replacementoperationsmalll.png new file mode 100644 index 00000000000..ab584391917 Binary files /dev/null and b/content/updates/2022-10/img/replacementoperationsmalll.png differ diff --git a/content/updates/2022-10/img/skuoptional.png b/content/updates/2022-10/img/skuoptional.png new file mode 100644 index 00000000000..5b10797ab10 Binary files /dev/null and b/content/updates/2022-10/img/skuoptional.png differ diff --git a/content/updates/2022-11/01-ExportProfileswithUUID.md b/content/updates/2022-11/01-ExportProfileswithUUID.md new file mode 100644 index 00000000000..43d41b1a895 --- /dev/null +++ b/content/updates/2022-11/01-ExportProfileswithUUID.md @@ -0,0 +1,18 @@ +--- +pim_announcement_img: ./img/UUIDexportprofile.png +pim_announcement_alt_img: Export profiles with UUID +pim_announcement_audience: +- EE +- GE +--- + +# Products imports & exports compatible with UUID +::: meta-data type="New" features="Productivity" available="November" in="EE,GE" link-to-doc="../articles/manage-product-identifiers.html" + +You can include a column for the UUID identifier when exporting products from Akeneo PIM. All products in Akeneo PIM are assigned a UUID so including the UUID column in an export file will make it easy to update products if you need to re-import the file back into Akeneo PIM. The UUID column is hidden by default. This column may be added to exports by turning on the “export with product UUID option” to update the export profile. When the export with product UUID option is activated associated products and exported media files will be displayed with the UUID identifier instead of the SKU attribute. + +![Create a SKU](../img/UUIDexportprofile.png) + +::: more +[Read more about updating export profiles](../articles/exports.html#update-an-export-profile) +::: diff --git a/content/updates/2022-11/02-SearchandRepalceTI.md b/content/updates/2022-11/02-SearchandRepalceTI.md new file mode 100644 index 00000000000..33f85ae8015 --- /dev/null +++ b/content/updates/2022-11/02-SearchandRepalceTI.md @@ -0,0 +1,19 @@ +--- +pim_announcement_img: ./img/Tailored-Import_Operation_Search-and-Replace.png +pim_announcement_alt_img: Tailored Imports Search and Replace Operations +pim_announcement_audience: +- EE +- GE +--- + +# Search and Replace Functionality in Tailored Imports +::: meta-data type="New" features="Productivity" available="November" in="EE,GE" link-to-doc="../articles/tailored-import.html#search-and-replace" + +Now you can easily find and replace specific words in Text and Text Area attributes in Tailored Imports. Add up to ten replacement words at a time and spend less time manually editing your files before importing them. + + +![Search and Replace](../img/Tailored-Import_Operation_Search-and-Replace.png) + +::: more +[Learn about Tailored Imports](../articles/tailored-import.html#overview) +::: diff --git a/content/updates/2022-11/img/Tailored-Import_Operation_Search-and-Replace.png b/content/updates/2022-11/img/Tailored-Import_Operation_Search-and-Replace.png new file mode 100644 index 00000000000..e82c147d0d0 Binary files /dev/null and b/content/updates/2022-11/img/Tailored-Import_Operation_Search-and-Replace.png differ diff --git a/content/updates/2022-11/img/UUIDexportprofile.png b/content/updates/2022-11/img/UUIDexportprofile.png new file mode 100644 index 00000000000..591d9197424 Binary files /dev/null and b/content/updates/2022-11/img/UUIDexportprofile.png differ diff --git a/content/updates/2022-12/01-Catalogsforappscountandcriteria.md b/content/updates/2022-12/01-Catalogsforappscountandcriteria.md new file mode 100644 index 00000000000..874b8a463e8 --- /dev/null +++ b/content/updates/2022-12/01-Catalogsforappscountandcriteria.md @@ -0,0 +1,15 @@ +--- +pim_announcement_img: ./img/countofproductscatalogs.png +pim_announcement_alt_img: 993 products in this selection +pim_announcement_audience: +- EE +- GE +--- + +# Product Criteria and Product Counts in Catalogs for Apps +::: meta-data type="Improvement" features="Productivity" available="December" in="EE,GE" link-to-doc="../articles/manage-product-identifiers.html" + +If you’re using Akeneo Apps, then you know that a catalog is a selection of products defined by one or several criteria like families or categories. When you want to choose those criteria you can now view all available filterable attributes, making it easy to access the data you need. In addition, the number of products that match the selected criteria are now displayed to better help you configure product selections. + +![Create a SKU](../img/countofproductscatalogs.png) + diff --git a/content/updates/2022-12/02-Accessyourapps.md b/content/updates/2022-12/02-Accessyourapps.md new file mode 100644 index 00000000000..b282d4bee3d --- /dev/null +++ b/content/updates/2022-12/02-Accessyourapps.md @@ -0,0 +1,15 @@ +--- +pim_announcement_img: ./img/akeneoopenapp.png +pim_announcement_alt_img: Open your Connected Apps +pim_announcement_audience: +- EE +- GE +--- + +# Open Apps from the Settings Tab +::: meta-data type="New" features="Productivity" available="November" in="EE,GE" + +Now you can open a connected app from the App Settings page. Change the app settings or permissions and then quickly open the app by clicking the new “Go to App” button and eliminate the extra step of returning to the Connected Apps page to access your apps. + + +![Search and Replace](../img/akeneoopenapp.png) \ No newline at end of file diff --git a/content/updates/2022-12/img/akeneoopenapp.png b/content/updates/2022-12/img/akeneoopenapp.png new file mode 100644 index 00000000000..d1b45694364 Binary files /dev/null and b/content/updates/2022-12/img/akeneoopenapp.png differ diff --git a/content/updates/2022-12/img/countofproductscatalogs.png b/content/updates/2022-12/img/countofproductscatalogs.png new file mode 100644 index 00000000000..78721864b12 Binary files /dev/null and b/content/updates/2022-12/img/countofproductscatalogs.png differ diff --git a/content/updates/2023-02/01-TimetoMarketInsights.md b/content/updates/2023-02/01-TimetoMarketInsights.md new file mode 100644 index 00000000000..3982481ee5e --- /dev/null +++ b/content/updates/2023-02/01-TimetoMarketInsights.md @@ -0,0 +1,14 @@ +--- +pim_announcement_img: ./img/Time_to_Market_Insights.png +pim_announcement_alt_img: Time to Market Insights Dashboard +pim_announcement_audience: +- EE +--- + +# Time to Market Insights +::: meta-data type="New" features="Productivity" available="February" in="EE" link-to-doc="https://help.akeneo.com/serenity-boost-your-productivity/time-to-market-insights" + +Time-to-Market Insights delivers operational metrics and KPIs that track how long it takes to prepare products for launch in Akeneo PIM and identify opportunities to streamline the product data enrichment process to bring products to market faster. + +![Identify opportunities to streamline product data enrichment](../img/Time_to_Market_Insights.png) + diff --git a/content/updates/2023-02/02-Enriched Categories.md b/content/updates/2023-02/02-Enriched Categories.md new file mode 100644 index 00000000000..4939388c9fc --- /dev/null +++ b/content/updates/2023-02/02-Enriched Categories.md @@ -0,0 +1,15 @@ +--- +pim_announcement_img: ./img/enriched-categories-tree-list.png +pim_announcement_alt_img: Enrich Categories to showcase your products with greater impact +pim_announcement_audience: +- EE +- GE +--- + +# Enriched Categories +::: meta-data type="New" features="Productivity" available="February" in="EE,GE" link-to-doc="../articles/enrich-your-category.html" + +Create more impactful experiences for your customers on your D2C site. Give customers access to more information about specific product lines, categories or sub-categories. With Enriched Categories you can leverage e-merchandising information such as images, descriptions and SEO content to better inform your buyers. + + +![Enrich categories with e-merchandising information](../img/enriched-categories-tree-list.png) diff --git a/content/updates/2023-02/03-ThreeRemoteStorageOptionsAdded.md b/content/updates/2023-02/03-ThreeRemoteStorageOptionsAdded.md new file mode 100644 index 00000000000..53501438ca3 --- /dev/null +++ b/content/updates/2023-02/03-ThreeRemoteStorageOptionsAdded.md @@ -0,0 +1,15 @@ +--- +pim_announcement_img: ./img/new_remote_storages-jobs_automation.png +pim_announcement_alt_img: New remote storage options now available for import/export jobs +pim_announcement_audience: +- EE +- GE +--- + +# Three Remote Storage Options Added for Import/Export +::: meta-data type="Improvement" features="Productivity" available="February" in="EE,GE" link-to-doc="../articles/import-export-automation.html#connect-your-importexport-profile-to-a-remote-storage" + +Securely transfer product data to and from Akeneo PIM by connecting imports and exports to a remote storage. Akeneo PIM now supports the ability to automate and schedule import and export jobs that connect to Amazon S3, Microsoft Azure, or Google Cloud Storage. + + +![Select the remote storage type](../img/new_remote_storages-jobs_automation.png) diff --git a/content/updates/2023-02/04-TailoredImportsExtractRegularExpression.md b/content/updates/2023-02/04-TailoredImportsExtractRegularExpression.md new file mode 100644 index 00000000000..ab38889067e --- /dev/null +++ b/content/updates/2023-02/04-TailoredImportsExtractRegularExpression.md @@ -0,0 +1,20 @@ +--- +pim_announcement_img: ./img/Tailored-Import_Operation_Regular-expression.png +pim_announcement_alt_img: Extract with regular expression +pim_announcement_audience: +- EE +- GE +--- + +# Tailored Imports: Extract with Regular Expression +::: meta-data type="Improvement" features="Productivity" available="February" in="EE,GE" link-to-doc="../articles/tailored-import.html#extract-with-regular-expression" + +Extract only the desired values from a file with the new extract with regular expression operation for Tailored Imports. This option is available for Text and Text Area attributes and can be used to extract a value based on a regular expression of your choice. + + +![Extract with regular expression](../img/Tailored-Import_Operation_Regular-expression.png) + + +::: more +[Learn about Tailored Imports](../articles/tailored-import.html#overview) +::: \ No newline at end of file diff --git a/content/updates/2023-02/05-Yes-NoAssetAttribute.md b/content/updates/2023-02/05-Yes-NoAssetAttribute.md new file mode 100644 index 00000000000..14b7c625966 --- /dev/null +++ b/content/updates/2023-02/05-Yes-NoAssetAttribute.md @@ -0,0 +1,16 @@ +--- +pim_announcement_img: ./img/Yes-No_asset_attribute.png +pim_announcement_alt_img: Yes/No is now an asset attribute type +pim_announcement_audience: +- EE +- GE +--- + +# Yes/No Attribute Type for Assets +::: meta-data type="New" features="Productivity" available="February" in="EE,GE" link-to-doc="../articles/manage-asset-families.html#create-an-asset-family" + +The Yes/No attribute type allows teams to create extra stages for assets beyond “complete” and “not complete.” For example, the Yes/No attribute could be used to identify assets that are ready for public use, assets that are under an embargo, or assets that have passed a quality check. Attributes may be named by the Akeneo PIM user, so there is no limit to how the Yes/No option may be used to support asset management. + + + +![Yes/No is now an attribute type](../img/Yes-No_asset_attribute.png) \ No newline at end of file diff --git a/content/updates/2023-02/img/Tailored-Import_Operation_Regular-expression.png b/content/updates/2023-02/img/Tailored-Import_Operation_Regular-expression.png new file mode 100644 index 00000000000..7f2e5d566b1 Binary files /dev/null and b/content/updates/2023-02/img/Tailored-Import_Operation_Regular-expression.png differ diff --git a/content/updates/2023-02/img/Time_to_Market_Insights.png b/content/updates/2023-02/img/Time_to_Market_Insights.png new file mode 100644 index 00000000000..99cf0610d2d Binary files /dev/null and b/content/updates/2023-02/img/Time_to_Market_Insights.png differ diff --git a/content/updates/2023-02/img/Yes-No_asset_attribute.png b/content/updates/2023-02/img/Yes-No_asset_attribute.png new file mode 100644 index 00000000000..173c590c198 Binary files /dev/null and b/content/updates/2023-02/img/Yes-No_asset_attribute.png differ diff --git a/content/updates/2023-02/img/enriched-categories-tree-list.png b/content/updates/2023-02/img/enriched-categories-tree-list.png new file mode 100644 index 00000000000..3d3a2713d33 Binary files /dev/null and b/content/updates/2023-02/img/enriched-categories-tree-list.png differ diff --git a/content/updates/2023-02/img/new_remote_storages-jobs_automation.png b/content/updates/2023-02/img/new_remote_storages-jobs_automation.png new file mode 100644 index 00000000000..91622eb4461 Binary files /dev/null and b/content/updates/2023-02/img/new_remote_storages-jobs_automation.png differ diff --git a/content/updates/2023-03/01-Identifier Generator.md b/content/updates/2023-03/01-Identifier Generator.md new file mode 100644 index 00000000000..97a58a28682 --- /dev/null +++ b/content/updates/2023-03/01-Identifier Generator.md @@ -0,0 +1,18 @@ +--- +pim_announcement_img: ./img/IDGenerator.png +pim_announcement_alt_img: Automate the creation of product identifiers in Akeneo PIM +pim_announcement_audience: +- EE +- GE +--- + +# Identifier Generator +::: meta-data type="New" features="Productivity" available="March" in="EE,GE" link-to-doc="https://help.akeneo.com/serenity-your-first-steps-with-akeneo/generate-product-identifiers?from_search=113993232" + +The product identifier is a critical piece of product information but often teams have to wait for the identifier to be created in another system such as the ERP before enriching the product in Akeneo PIM. Our new Identifier Generator enables product managers to automate the generation of product identifiers directly in Akeneo PIM. + +Our first release of the Identifier Generator introduces the ability to create simple product identifiers for a selection of products, such as a family. The generator provides options to incorporate free text, family information, an auto-generated incremental number, and a separator, such as a hyphen, between components to create your own unique identifier. For example, you could create an identifier in this format “Akeneo-Family-100”. + + + +![Automate the generation of product identifiers in Akeneo PIM](../img/IDGenerator.png) diff --git a/content/updates/2023-03/02-Custom Apps.md b/content/updates/2023-03/02-Custom Apps.md new file mode 100644 index 00000000000..d07cbee49fe --- /dev/null +++ b/content/updates/2023-03/02-Custom Apps.md @@ -0,0 +1,12 @@ +--- +pim_announcement_audience: +- EE +- GE +--- + +# Custom Apps +::: meta-data type="New" features="Connectivity" available="March" in="EE,GE" link-to-doc="https://help.akeneo.com/serenity-connect-your-pim/what-is-an-app" + +Sometimes you need to extend the capabilities of your Akeneo PIM that is specific to your business. With Custom Apps from Akeneo you can meet your individualized business needs, like unique features or a custom look and feel, while still taking advantage of the Akeneo SaaS platform. Custom Apps are SaaS-compliant apps developed by you, the Akeneo customer, or a third-party developer that are available only to your organization. + + diff --git a/content/updates/2023-03/img/IDGenerator.png b/content/updates/2023-03/img/IDGenerator.png new file mode 100644 index 00000000000..3753f328294 Binary files /dev/null and b/content/updates/2023-03/img/IDGenerator.png differ diff --git a/content/updates/2023-04/01-Time-to-Market Insights Industry Benchmark.md b/content/updates/2023-04/01-Time-to-Market Insights Industry Benchmark.md new file mode 100644 index 00000000000..4bf43acdde8 --- /dev/null +++ b/content/updates/2023-04/01-Time-to-Market Insights Industry Benchmark.md @@ -0,0 +1,16 @@ +--- +pim_announcement_img: ./img/TTM_Industry_Benchmark.png +pim_announcement_alt_img: Industry Benchmark now available in Time-to-Market Insights +pim_announcement_audience: +- EE +--- + +# Industry Benchmarks Added to Time-to-Market Insights +::: meta-data type="Improvement" features="Productivity" available="April" in="EE" link-to-doc="https://help.akeneo.com/serenity-boost-your-productivity/time-to-market-insights" + +Earlier this year we introduced Time-to-Market Insights to help you identify opportunities to streamline the product data enrichment process and bring products to market faster. Now you can gain even more value from these insights by understanding how your productivity compares to your industry peers with new industry benchmarks. + + + +![Understand how your time to enrich products compares to industry peers.](../img/TTM_Industry_Benchmark.png) + diff --git a/content/updates/2023-04/02-Bulk Delete Attributes and Attribute Groups.md b/content/updates/2023-04/02-Bulk Delete Attributes and Attribute Groups.md new file mode 100644 index 00000000000..564dc7ef80e --- /dev/null +++ b/content/updates/2023-04/02-Bulk Delete Attributes and Attribute Groups.md @@ -0,0 +1,20 @@ +--- +pim_announcement_img: ./img/Bulk_delete-attributes1.png +pim_announcement_alt_img: Bulk delete attributes and attribute groups to save time +pim_announcement_audience: +- EE +- GE +--- + +# Bulk Delete Attributes and Attribute Groups +::: meta-data type="Improvement" features="Productivity" available="April" in="EE,GE" + +Once a catalog structure is created or imported in Akeneo PIM the only way to rebuild or restart it is to manually delete elements one by one, an extremely time-consuming process. Now you can speed this process and gain more flexibility to modelize your catalog directly in Akeneo PIM with the ability to bulk delete attributes and attribute groups. Select all the attributes you need to delete and use the dedicated bulk action option or choose one or more attribute groups that are no longer relevant. You will then be prompted to select the new attribute group that will gather those attributes if you still want to keep them in your instance. + + + + +![Bulk delete attributes and attributes groups to save time.](../img/Bulk_delete-attributes1.png) + + +![Confirm deletion.](../img/Bulk_delete-attributes2.png) \ No newline at end of file diff --git a/content/updates/2023-04/03-Date Type Attribute for Assets.md b/content/updates/2023-04/03-Date Type Attribute for Assets.md new file mode 100644 index 00000000000..3ec25915bad --- /dev/null +++ b/content/updates/2023-04/03-Date Type Attribute for Assets.md @@ -0,0 +1,15 @@ +--- +pim_announcement_img: ./img/Add_New_Asset_Attribute.png +pim_announcement_alt_img: Add date-based information to assets with the new Date Type attribute +pim_announcement_audience: +- EE +--- + +# Date Type Attribute for Assets +::: meta-data type="Improvement" features="Productivity" available="April" in="EE" link-to-doc="https://help.akeneo.com/serenity-manage-your-images-files-assets/serenity-manage-your-asset-families" + +Add date-based information to assets with the new Date Type attribute. This information can support asset workflows by defining dates around key activities. For example, use this attribute to define a launch date when an asset can be distributed or an end-of-life date when an asset should be deleted or removed from circulation. + + + +![Add date-based information to assets with the new Date Type attribute](../img/Add_New_Asset_Attribute.png) diff --git a/content/updates/2023-04/04-Deactivate Pre-Defined Category Templates.md b/content/updates/2023-04/04-Deactivate Pre-Defined Category Templates.md new file mode 100644 index 00000000000..7cd4daebd68 --- /dev/null +++ b/content/updates/2023-04/04-Deactivate Pre-Defined Category Templates.md @@ -0,0 +1,20 @@ +--- +pim_announcement_img: ./img/Enriched-categories_deactivate_template.png +pim_announcement_alt_img: Deactivate a category template when it is no longer needed +pim_announcement_audience: +- EE +- GE +--- + +# Deactivate Pre-Defined Category Templates +::: meta-data type="Improvement" features="Productivity" available="April" in="EE,GE" link-to-doc="https://help.akeneo.com/serenity-take-the-power-over-your-products/serenity-enrich-your-category#deactivate-a-category-template" + +It is now possible to deactivate a category template when the template is no longer needed. This action will delete the category’s attribute content from the entire category tree, including all related categories, subcategories and sub-subcategories. + + + + +![Deactivate a category template when it is no longer needed.](../img/Enriched-categories_deactivate_template.png) + + +![Confirm that you want to deactivate this template.](../img/Enriched-categories_deactivate+template_confirmation.png) diff --git a/content/updates/2023-04/05-Multiple Identifier Generators Now Supported.md b/content/updates/2023-04/05-Multiple Identifier Generators Now Supported.md new file mode 100644 index 00000000000..25c6bc5489b --- /dev/null +++ b/content/updates/2023-04/05-Multiple Identifier Generators Now Supported.md @@ -0,0 +1,16 @@ +--- +pim_announcement_img: ./img/Identifier-generators.png +pim_announcement_alt_img: Create multiple Identifier Generators to serve your business needs +pim_announcement_audience: +- EE +- GE +--- + +# Multiple Identifier Generators +::: meta-data type="New" features="Productivity" available="April" in="EE,GE" link-to-doc="https://help.akeneo.com/serenity-your-first-steps-with-akeneo/generate-product-identifiers" + +Set up multiple Identifier Generators in Akeneo PIM to automate the creation of product identifiers for specific product lines, business units or use cases. For example, you might create one Identifier Generator to define an identifier structure for shirts (Tshirt-Blue-M-001) and another to define a different identifier structure for accessories (Accessory-Hat-Wool-1453). + + + +![Create multiple Identifier Generators in Akeneo PIM](../img/Identifier-generators.png) diff --git a/content/updates/2023-04/img/Add_New_Asset_Attribute.png b/content/updates/2023-04/img/Add_New_Asset_Attribute.png new file mode 100644 index 00000000000..8631123018b Binary files /dev/null and b/content/updates/2023-04/img/Add_New_Asset_Attribute.png differ diff --git a/content/updates/2023-04/img/Bulk_delete-attributes1.png b/content/updates/2023-04/img/Bulk_delete-attributes1.png new file mode 100644 index 00000000000..b430356df6b Binary files /dev/null and b/content/updates/2023-04/img/Bulk_delete-attributes1.png differ diff --git a/content/updates/2023-04/img/Bulk_delete-attributes2.png b/content/updates/2023-04/img/Bulk_delete-attributes2.png new file mode 100644 index 00000000000..6f6162ab5e4 Binary files /dev/null and b/content/updates/2023-04/img/Bulk_delete-attributes2.png differ diff --git a/content/updates/2023-04/img/Enriched-categories_deactivate+template_confirmation.png b/content/updates/2023-04/img/Enriched-categories_deactivate+template_confirmation.png new file mode 100644 index 00000000000..b9ebe6866b6 Binary files /dev/null and b/content/updates/2023-04/img/Enriched-categories_deactivate+template_confirmation.png differ diff --git a/content/updates/2023-04/img/Enriched-categories_deactivate_template.png b/content/updates/2023-04/img/Enriched-categories_deactivate_template.png new file mode 100644 index 00000000000..d42a1fd2206 Binary files /dev/null and b/content/updates/2023-04/img/Enriched-categories_deactivate_template.png differ diff --git a/content/updates/2023-04/img/Identifier-generators.png b/content/updates/2023-04/img/Identifier-generators.png new file mode 100644 index 00000000000..e9c6f6c5cbd Binary files /dev/null and b/content/updates/2023-04/img/Identifier-generators.png differ diff --git a/content/updates/2023-04/img/TTM_Industry_Benchmark.png b/content/updates/2023-04/img/TTM_Industry_Benchmark.png new file mode 100644 index 00000000000..f2ab19f49e2 Binary files /dev/null and b/content/updates/2023-04/img/TTM_Industry_Benchmark.png differ diff --git a/content/updates/img/illus-april-23.svg b/content/updates/img/illus-april-23.svg new file mode 100644 index 00000000000..6ac4793f7f7 --- /dev/null +++ b/content/updates/img/illus-april-23.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/updates/img/illus-december-22.svg b/content/updates/img/illus-december-22.svg new file mode 100644 index 00000000000..f30a4d90cbe --- /dev/null +++ b/content/updates/img/illus-december-22.svg @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/updates/img/illus-february-23.svg b/content/updates/img/illus-february-23.svg new file mode 100644 index 00000000000..eaa5b95725f --- /dev/null +++ b/content/updates/img/illus-february-23.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/updates/img/illus-march-23.svg b/content/updates/img/illus-march-23.svg new file mode 100644 index 00000000000..83e247415f3 --- /dev/null +++ b/content/updates/img/illus-march-23.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/content/updates/img/illus-november-22.svg b/content/updates/img/illus-november-22.svg new file mode 100644 index 00000000000..cecc1687a96 --- /dev/null +++ b/content/updates/img/illus-november-22.svg @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/updates/img/illus-october-22.svg b/content/updates/img/illus-october-22.svg new file mode 100644 index 00000000000..70943a0995f --- /dev/null +++ b/content/updates/img/illus-october-22.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/updates/index.json b/content/updates/index.json index cf3352a9a31..c20ba451b91 100644 --- a/content/updates/index.json +++ b/content/updates/index.json @@ -1,4 +1,34 @@ -{ +{ + "2023-04": { + "title": "April 2023 Serenity updates", + "description": "This month we are focused on helping you increase productivity by introducing a number of improvements designed to help you work smarter and faster in Akeneo PIM. Plus, the new industry benchmark capability for Time-to-Market Insights will help you understand how your product enrichment processes compare to your peers.", + "img": "illus-april-23.svg" +}, + "2023-03": { + "title": "March 2023 Serenity updates", + "description": "March brings the highly-anticipated arrival of the new Identifier Generator, making it possible to automate the creation of product identifiers in Akeneo PIM. Plus, new Custom Apps offer a flexible solution to extend the functionality of Akeneo PIM to address unique business needs.", + "img": "illus-march-23.svg" +}, + "2023-02": { + "title": "February 2023 Serenity updates", + "description": "This month we are excited to announce the availability of Time-to-Market Insights, new analytical capabilities that identify opportunities to streamline product enrichment processes and to help bring products to market faster. Plus, we’ve released Enriched Categories and made enhancements to import/export options and asset attribute types.", + "img": "illus-february-23.svg" +}, + "2022-12": { + "title": "December 2022 Serenity updates", + "description": "Happy New Year! We wrapped up 2022 with a few usability improvements to Catalogs for Apps to help developers access data from Akeneo PIM.", + "img": "illus-december-22.svg" +}, +"2022-11": { + "title": "November 2022 Serenity updates", + "description": "This month we added additional options to support import and export capabilities in Akeneo PIM. Tailored Imports now includes search and replace options and the UUID identifier can be added to export files.", + "img": "illus-november-22.svg" +}, + "2022-10": { + "title": "October 2022 Serenity updates", + "description": "This month we are introducing a big change to SKUs. They are no longer required when entering a product in Akeneo PIM. Plus, new enhancements to Tailored Imports provide options to replace values in a supplier’s file with reference entities.", + "img": "illus-october-22.svg" +}, "2022-09": { "title": "September 2022 Serenity updates", "description": "Fall is coming at Akeneo, but it doesn't mean that our Serenity releases are cooling down. With new automated SFTP import and export scheduling and catalogs for apps you'll get even more out-of-the-box functionality from Akeneo PIM.", diff --git a/content/versions-in-detail/versions-in-detail.json b/content/versions-in-detail/versions-in-detail.json index 45c71bac6b8..26792bd9e95 100644 --- a/content/versions-in-detail/versions-in-detail.json +++ b/content/versions-in-detail/versions-in-detail.json @@ -1,4 +1,26 @@ [ + { + "code": "70", + "label": "7.0", + "name": { + "CE": "Sahara Hare", + "EE": "Buckwheat" + }, + "releaseDate": "2023-03-08", + "supportEndDate": "2024-09-30", + "doc": { + "functional": "/pim/flexibility-v7", + "api": "https://api.akeneo.com/api-reference-index-70.html" + }, + "migrationToLatestDoc": false, + "releaseNoteLink": "/pim/flexibility-v7/updates/index.html", + "newKeyFeaturesIn": { + "CE": "/pim/serenity/whats-new.html#versions=.70&edition=.CE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", + "EE": "/pim/serenity/whats-new.html#versions=.70&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" + }, + "newKeyFeaturesIfIMigrateToLatest": null, + "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" + }, { "code": "60", "label": "6.0", @@ -18,8 +40,8 @@ "CE": "/pim/serenity/whats-new.html#versions=.60&edition=.CE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", "EE": "/pim/serenity/whats-new.html#versions=.60&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, - "newKeyFeaturesIfIMigrateToLatest": null, - "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" + "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.70&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", + "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.70%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, { "code": "50", @@ -40,8 +62,8 @@ "CE": "/pim/serenity/whats-new.html#versions=.50&edition=.CE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", "EE": "/pim/serenity/whats-new.html#versions=.50&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, - "newKeyFeaturesIfIMigrateToLatest": "pim/serenity/whats-new.html#versions=.60&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", - "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.60%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" + "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.70%2C.60&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", + "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, { "code": "40", @@ -62,8 +84,8 @@ "CE": "/pim/serenity/whats-new.html#versions=.40&edition=.CE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", "EE": "/pim/serenity/whats-new.html#versions=.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, - "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.60%2C.50&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", - "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" + "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", + "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, { "code": "32", @@ -84,8 +106,8 @@ "CE": "/pim/serenity/whats-new.html#versions=.32&edition=.CE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", "EE": "/pim/serenity/whats-new.html#versions=.32&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, - "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", - "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" + "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", + "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, { "code": "31", @@ -106,8 +128,8 @@ "CE": "/pim/serenity/whats-new.html#versions=.31&edition=.CE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", "EE": "/pim/serenity/whats-new.html#versions=.31&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, - "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", - "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" + "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", + "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, { "code": "30", @@ -128,8 +150,8 @@ "CE": "/pim/serenity/whats-new.html#versions=.30&edition=.CE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", "EE": "/pim/serenity/whats-new.html#versions=.30&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, - "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", - "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" + "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", + "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, { "code": "23", @@ -150,8 +172,8 @@ "CE": "/pim/serenity/whats-new.html#versions=.23&edition=.CE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", "EE": "/pim/serenity/whats-new.html#versions=.23&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, - "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", - "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" + "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", + "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, { "code": "22", @@ -172,8 +194,8 @@ "CE": "/pim/serenity/whats-new.html#versions=.22&edition=.CE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", "EE": "/pim/serenity/whats-new.html#versions=.22&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, - "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.23%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", - "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.23%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" + "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.23%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", + "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.23%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, { "code": "21", @@ -194,8 +216,8 @@ "CE": "/pim/serenity/whats-new.html#versions=.21&edition=.CE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", "EE": "/pim/serenity/whats-new.html#versions=.21&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, - "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", - "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" + "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", + "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, { "code": "20", @@ -216,8 +238,8 @@ "CE": "/pim/serenity/whats-new.html#versions=.20&edition=.CE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", "EE": "/pim/serenity/whats-new.html#versions=.20&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, - "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", - "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" + "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", + "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, { "code": "17", @@ -238,8 +260,8 @@ "CE": "/pim/serenity/whats-new.html#versions=.17&edition=.CE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", "EE": "/pim/serenity/whats-new.html#versions=.17&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, - "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", - "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" + "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", + "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, { "code": "16", @@ -257,8 +279,8 @@ "migrationToLatestDoc": false, "pdfReleaseNote": true, "newKeyFeaturesIn": null, - "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", - "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" + "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", + "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, { "code": "15", @@ -276,8 +298,8 @@ "migrationToLatestDoc": false, "pdfReleaseNote": true, "newKeyFeaturesIn": null, - "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", - "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" + "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", + "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, { "code": "14", @@ -294,8 +316,8 @@ }, "migrationToLatestDoc": false, "newKeyFeaturesIn": null, - "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", - "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" + "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", + "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, { "code": "13", @@ -312,8 +334,8 @@ }, "migrationToLatestDoc": false, "newKeyFeaturesIn": null, - "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", - "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" + "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", + "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" }, { "code": "10", @@ -327,7 +349,7 @@ "doc": null, "migrationToLatestDoc": false, "newKeyFeaturesIn": null, - "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", - "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" + "newKeyFeaturesIfIMigrateToLatest": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability", + "newKeyFeaturesIfIMigrateToSerenity": "/pim/serenity/whats-new.html#versions=.70%2C.60%2C.50%2C.17%2C.20%2C.21%2C.22%2C.23%2C.30%2C.31%2C.32%2C.40%2C.serenity&edition=.EE&domains=.governance%2C.productivity%2C.collaboration%2C.connectivity%2C.dataquality%2C.automation%2C.reporting%2C.scalability" } ] diff --git a/content/whats-new/7.0-news.json b/content/whats-new/7.0-news.json new file mode 100644 index 00000000000..63d80031de7 --- /dev/null +++ b/content/whats-new/7.0-news.json @@ -0,0 +1,51 @@ +[ + { + "title":"Akeneo App Store", + "areas": ["Connectivity"], + "editions": ["EE", "GE"], + "since-version": "7.0", + "link": "/pim/serenity/updates/2022-03.html#akeneo-app-store" + }, + { + "title":"App Authorization Notifications", + "areas": ["Connectivity"], + "editions": ["EE", "GE"], + "since-version": "7.0", + "link": "/pim/serenity/updates/2022-05.html#app-authorization-notifications" + }, + { + "title":"Tailored Imports", + "areas": ["Productivity"], + "editions": ["EE", "GE"], + "since-version": "7.0", + "link": "/pim/serenity/updates/2022-06.html#tailored-imports" + }, + { + "title":"Automated SFTP Imports and Exports", + "areas": ["Productivity"], + "editions": ["EE", "GE"], + "since-version": "7.0", + "link": "/pim/serenity/updates/2022-09.html#automate-sftp-imports-and-exports" + }, + { + "title":"Catalogs for Apps", + "areas": ["Connectivity"], + "editions": ["EE", "GE"], + "since-version": "7.0", + "link": "/pim/serenity/updates/2022-09.html#catalogs-for-apps" + }, + { + "title":"Data Cleaning with Tailored Imports", + "areas": ["Productivity"], + "editions": ["EE", "GE"], + "since-version": "7.0", + "link": "/pim/serenity/updates/2022-09.html#additional-data-cleaning-with-tailored-imports" + }, + { + "title":"SKUs Optional and UUIDs", + "areas": ["Productivity"], + "editions": ["CE", "EE", "GE"], + "since-version": "7.0", + "link": "/pim/serenity/updates/2022-10.html#product-identifier-changes-skus-optional-and-uuids" + } +] diff --git a/content/whats-next/img/IDGeneratorMedium.png b/content/whats-next/img/IDGeneratorMedium.png new file mode 100644 index 00000000000..04dd8fc2189 Binary files /dev/null and b/content/whats-next/img/IDGeneratorMedium.png differ diff --git a/content/whats-next/img/Mapping-enriched.png b/content/whats-next/img/Mapping-enriched.png new file mode 100644 index 00000000000..8290bd021b2 Binary files /dev/null and b/content/whats-next/img/Mapping-enriched.png differ diff --git a/content/whats-next/img/PDFExport.png b/content/whats-next/img/PDFExport.png deleted file mode 100644 index 2d3ebaad9d2..00000000000 Binary files a/content/whats-next/img/PDFExport.png and /dev/null differ diff --git a/content/whats-next/img/TailoredExport-WhatsNext.png b/content/whats-next/img/TailoredExport-WhatsNext.png deleted file mode 100644 index 7dfb95f5f00..00000000000 Binary files a/content/whats-next/img/TailoredExport-WhatsNext.png and /dev/null differ diff --git a/content/whats-next/img/Timetoenrich.png b/content/whats-next/img/Timetoenrich.png new file mode 100644 index 00000000000..bcecf9e59b9 Binary files /dev/null and b/content/whats-next/img/Timetoenrich.png differ diff --git a/content/whats-next/img/apps_in_marketplace.png b/content/whats-next/img/apps_in_marketplace.png deleted file mode 100644 index c66bb0e9d62..00000000000 Binary files a/content/whats-next/img/apps_in_marketplace.png and /dev/null differ diff --git a/content/whats-next/img/enrichedcats1Large.png b/content/whats-next/img/enrichedcats1Large.png new file mode 100644 index 00000000000..5970c4021a1 Binary files /dev/null and b/content/whats-next/img/enrichedcats1Large.png differ diff --git a/content/whats-next/img/enrichedcats1medium.png b/content/whats-next/img/enrichedcats1medium.png new file mode 100644 index 00000000000..f0b54f70953 Binary files /dev/null and b/content/whats-next/img/enrichedcats1medium.png differ diff --git a/content/whats-next/img/enrichedcats2Large.png b/content/whats-next/img/enrichedcats2Large.png new file mode 100644 index 00000000000..db9468f996d Binary files /dev/null and b/content/whats-next/img/enrichedcats2Large.png differ diff --git a/content/whats-next/img/enrichedcats2medium.png b/content/whats-next/img/enrichedcats2medium.png new file mode 100644 index 00000000000..7bdd21c80db Binary files /dev/null and b/content/whats-next/img/enrichedcats2medium.png differ diff --git a/content/whats-next/img/importexportscheduling-whatsnext.png b/content/whats-next/img/importexportscheduling-whatsnext.png deleted file mode 100644 index 5b4cef09aed..00000000000 Binary files a/content/whats-next/img/importexportscheduling-whatsnext.png and /dev/null differ diff --git a/content/whats-next/img/importexportscheduling2-whatsnext.png b/content/whats-next/img/importexportscheduling2-whatsnext.png deleted file mode 100644 index 437bbca2df6..00000000000 Binary files a/content/whats-next/img/importexportscheduling2-whatsnext.png and /dev/null differ diff --git a/content/whats-next/img/tailoredimport-whatsnext.png b/content/whats-next/img/tailoredimport-whatsnext.png deleted file mode 100644 index 7563dabeb07..00000000000 Binary files a/content/whats-next/img/tailoredimport-whatsnext.png and /dev/null differ diff --git a/content/whats-next/whats-next-mid-term.json b/content/whats-next/whats-next-mid-term.json index 81a763d00f6..12b554b4557 100644 --- a/content/whats-next/whats-next-mid-term.json +++ b/content/whats-next/whats-next-mid-term.json @@ -6,7 +6,8 @@ }, { "title": "Simultaneous Work in Akeneo PIM", - "description": "With many teams collaborating on the enrichment of products within Akeneo PIM, they need a way to know if someone else is also working on that product. With Simulatneous Work in Akeneo PIM, users will not only see when someone else is working on the same product, but they can also work on the same product at the same time without overwriting each other’s product values.", + "description": "With many teams collaborating on the enrichment of products within Akeneo PIM, they need a way to know if someone else is also working on that product. With Simultaneous Work in Akeneo PIM, users will see when someone else is working on the same product at the same time.", "areas": ["Productivity"] } + ] diff --git a/content/whats-next/whats-next-short-term.json b/content/whats-next/whats-next-short-term.json index ca98a6dcd81..a983af6381b 100644 --- a/content/whats-next/whats-next-short-term.json +++ b/content/whats-next/whats-next-short-term.json @@ -1,20 +1,30 @@ [ - { - "title": "Akeneo PIM - Scheduled Imports & Exports", - "description": "Akeneo PIM users will have the ability to schedule automated executions of their product imports or exports to an SFTP storage server.", - "img": "./img/importexportscheduling2-whatsnext.png", - "areas": ["Automation"], - "editions": ["EE","GE"] - }, { "title": "Akeneo PIM - Product Identifier Generator", - "description": "Improve product lifecycle management by enabling unique product identifier generation within Akeneo PIM. This will make Akeneo PIM responsible for creating product identifiers on the fly when importing or creating new products based on nomenclatures.", + "description": "Improve product lifecycle management by enabling unique product identifier generation within Akeneo PIM. Generate IDs based on nomenclature, like combining attributes, or use reference entities to do so. Take advantange of this increased flexibility in Akeneo SaaS versions.", "areas": ["Governance"], + "img": "./img/IDGeneratorMedium.png", "editions": ["EE","GE"] }, { "title": "Enriched Categories", "description": "Creating a great customer experience means providing additional context at every step of their buying journey. Therefore Enriched Categories will give Akeneo customers the ability to enrich not just products, but categories as well, including channel- and locale-specific attributes too!", + "img": "./img/enrichedcats1Large.png", + "img": "./img/enrichedcats2Large.png", "areas": ["Governance"] + }, + { + "title": "Akeneo Apps - Catalogs with attribute mapping", + "description": "Easing app development and configuration is key for Akeneo partners and developers. With attribute mapping for catalogs developers can reduce the TCO and improve the time to deployment, since native mapping capabilities inside Akeneo PIM will enable users to connect and then map their PIM attributes to the app targets.", + "img": "./img/Mapping-enriched.png", + "areas": ["Connectivity"], + "editions": ["EE","GE"] + }, + { + "title": "Time-To-Market Insights", + "description": "Time-to-Market Insights identifies opportunities to streamline the product data enrichment process in Akeneo PIM to bring products to market faster.", + "img": "./img/Timetoenrich.png", + "areas": ["Productivity"], + "editions": ["EE"] } ] diff --git a/src/versions.json b/src/versions.json index 222a86a92bd..0d8f3764259 100644 --- a/src/versions.json +++ b/src/versions.json @@ -1,4 +1,10 @@ [ + { + "url": "/pim/flexibility-v7/", + "version": "flexibility-v7", + "label": "7.0 EE Flexibility/CE", + "suffix_with_filename": true + }, { "url": "/pim/v6/", "version": "v6", diff --git a/tasks/build-monthly-updates-as-json.js b/tasks/build-monthly-updates-as-json.js index 1155710ee81..8650ec2e49e 100644 --- a/tasks/build-monthly-updates-as-json.js +++ b/tasks/build-monthly-updates-as-json.js @@ -162,7 +162,9 @@ function generateJson() { return through((file, enc, cb) => { const directoryName = path.basename(path.dirname(file.path)); - const link = helpCenterUrl + 'pim/serenity/updates/' + directoryName + '.html#' + file.anchorTitle; + const parentDirectoryNameArray = path.dirname(file.path).split(path.sep); + const parentDirectoryName = parentDirectoryNameArray[2]; + const link = helpCenterUrl + parentDirectoryName + directoryName + '.html#' + file.anchorTitle; const startDate = getStartDate(directoryName); // hardcoded to the 5th day of the month as we publish this day diff --git a/tasks/build-whats-new-page.js b/tasks/build-whats-new-page.js index d9e435760a2..15202d9c63e 100644 --- a/tasks/build-whats-new-page.js +++ b/tasks/build-whats-new-page.js @@ -21,8 +21,9 @@ const orderedVersions = { '31': { 'name': '3.1', 'isSupported': false }, '32': { 'name': '3.2', 'isSupported': false }, '40': { 'name': '4.0', 'isSupported': false }, - '50': { 'name': '5.0', 'isSupported': true }, + '50': { 'name': '5.0', 'isSupported': false }, '60': { 'name': '6.0', 'isSupported': true }, + '70': { 'name': '7.0', 'isSupported': true }, 'serenity': { 'name': 'Serenity', 'isSupported': true } }; @@ -42,7 +43,7 @@ function generateWhatsNew(fileDirectorySource, fileDirectoryDestination) { }); const updates = _.reduce(_.reverse(orderedVersions), function(concatUpdates, version){ var updatesByVersion = JSON.parse(fs.readFileSync(fileDirectorySource + '/' + version.name + '-news.json')); - var order = 0; + var order = 0; _.eachRight(updatesByVersion, function(update){ update.order = order; order ++; @@ -57,7 +58,7 @@ function generateWhatsNew(fileDirectorySource, fileDirectoryDestination) { }); update.areaCodes = _.map(update.areas, function(area){ return area.replace(/\s/g, '').toLowerCase(); - }); + }); update.version = update['since-version'].split('.').join('').toLowerCase(); update.isSerenityOnly = update['since-version'] === 'Serenity'; }); diff --git a/yarn-error.log b/yarn-error.log new file mode 100644 index 00000000000..2090dcd2740 --- /dev/null +++ b/yarn-error.log @@ -0,0 +1,8300 @@ +Arguments: + /usr/local/bin/node /opt/yarn-v1.22.5/bin/yarn.js install --frozen-lockfile + +PATH: + /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + +Yarn version: + 1.22.5 + +Node version: + 10.24.1 + +Platform: + linux arm64 + +Trace: + Error: https://registry.npmjs.org/@firebase/firestore/-/firestore-1.16.4.tgz: unexpected end of file + at Zlib.zlibOnError [as onerror] (zlib.js:164:17) + +npm manifest: + { + "name": "akeneo-help-center", + "dependencies": { + "@firebase/testing": "^0.20.5", + "bootstrap": "3.4.1", + "docsearch.js": "2.4.1", + "isotope-layout": "^3.0.6", + "jquery": "3.5.1", + "lato-font": "3.0.0", + "lodash": "^4.17.21", + "typeface-comfortaa": "0.0.35" + }, + "devDependencies": { + "del": "3.0.0", + "firebase-admin": "^8.12.1", + "gulp": "3.9.1", + "gulp-base64-inline": "1.0.6", + "gulp-concat": "2.6.1", + "gulp-filter": "^6.0.0", + "gulp-flatmap": "1.0.0", + "gulp-front-matter": "1.3.0", + "gulp-handlebars-html": "0.0.2", + "gulp-if": "2.0.2", + "gulp-insert": "0.5.0", + "gulp-json-transform": "0.4.2", + "gulp-jsoncombine": "1.0.4", + "gulp-less": "3.3.0", + "gulp-markdown-it-adapter": "0.1.1", + "gulp-prompt": "0.2.0", + "gulp-rename": "1.2.2", + "gulp-rev": "7.1.2", + "gulp-rev-replace": "0.4.3", + "gulp-tap": "1.0.1", + "gulp-util": "3.0.8", + "gulp-webserver": "0.9.1", + "handlebars": "4.7.7", + "highlightjs": "9.10.0", + "jest-cli": "^26.0.1", + "markdown-it": "8.2.2", + "markdown-it-container": "2.0.0", + "markdown-it-emoji": "1.4.0", + "markdown-it-toc-and-anchor": "4.2.0", + "merge-stream": "1.0.1", + "moment": "2.27.0", + "require-dir": "0.3.2" + }, + "scripts": { + "test": "jest --runInBand --detectOpenHandles", + "start": "gulp serve" + }, + "engines": { + "node": ">=0.10.0 <12" + } + } + +yarn manifest: + No manifest + +Lockfile: + # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. + # yarn lockfile v1 + + + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": + "integrity" "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==" + "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz" + "version" "7.10.4" + dependencies: + "@babel/highlight" "^7.10.4" + + "@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.7.5": + "integrity" "sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg==" + "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.11.6.tgz" + "version" "7.11.6" + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.11.6" + "@babel/helper-module-transforms" "^7.11.0" + "@babel/helpers" "^7.10.4" + "@babel/parser" "^7.11.5" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.11.5" + "@babel/types" "^7.11.5" + "convert-source-map" "^1.7.0" + "debug" "^4.1.0" + "gensync" "^1.0.0-beta.1" + "json5" "^2.1.2" + "lodash" "^4.17.19" + "resolve" "^1.3.2" + "semver" "^5.4.1" + "source-map" "^0.5.0" + + "@babel/generator@^7.11.5", "@babel/generator@^7.11.6": + "integrity" "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==" + "resolved" "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz" + "version" "7.11.6" + dependencies: + "@babel/types" "^7.11.5" + "jsesc" "^2.5.1" + "source-map" "^0.5.0" + + "@babel/helper-function-name@^7.10.4": + "integrity" "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==" + "resolved" "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz" + "version" "7.10.4" + dependencies: + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + + "@babel/helper-get-function-arity@^7.10.4": + "integrity" "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==" + "resolved" "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz" + "version" "7.10.4" + dependencies: + "@babel/types" "^7.10.4" + + "@babel/helper-member-expression-to-functions@^7.10.4": + "integrity" "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==" + "resolved" "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz" + "version" "7.11.0" + dependencies: + "@babel/types" "^7.11.0" + + "@babel/helper-module-imports@^7.10.4": + "integrity" "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==" + "resolved" "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz" + "version" "7.10.4" + dependencies: + "@babel/types" "^7.10.4" + + "@babel/helper-module-transforms@^7.11.0": + "integrity" "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==" + "resolved" "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz" + "version" "7.11.0" + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-simple-access" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/template" "^7.10.4" + "@babel/types" "^7.11.0" + "lodash" "^4.17.19" + + "@babel/helper-optimise-call-expression@^7.10.4": + "integrity" "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==" + "resolved" "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz" + "version" "7.10.4" + dependencies: + "@babel/types" "^7.10.4" + + "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0": + "integrity" "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz" + "version" "7.10.4" + + "@babel/helper-replace-supers@^7.10.4": + "integrity" "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==" + "resolved" "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz" + "version" "7.10.4" + dependencies: + "@babel/helper-member-expression-to-functions" "^7.10.4" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + + "@babel/helper-simple-access@^7.10.4": + "integrity" "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==" + "resolved" "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz" + "version" "7.10.4" + dependencies: + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + + "@babel/helper-split-export-declaration@^7.11.0": + "integrity" "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==" + "resolved" "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz" + "version" "7.11.0" + dependencies: + "@babel/types" "^7.11.0" + + "@babel/helper-validator-identifier@^7.10.4": + "integrity" "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==" + "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz" + "version" "7.10.4" + + "@babel/helpers@^7.10.4": + "integrity" "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==" + "resolved" "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz" + "version" "7.10.4" + dependencies: + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + + "@babel/highlight@^7.10.4": + "integrity" "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==" + "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz" + "version" "7.10.4" + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + "chalk" "^2.0.0" + "js-tokens" "^4.0.0" + + "@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.11.5": + "integrity" "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==" + "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz" + "version" "7.11.5" + + "@babel/plugin-syntax-async-generators@^7.8.4": + "integrity" "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + "version" "7.8.4" + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + + "@babel/plugin-syntax-bigint@^7.8.3": + "integrity" "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" + "version" "7.8.3" + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + + "@babel/plugin-syntax-class-properties@^7.8.3": + "integrity" "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz" + "version" "7.10.4" + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + + "@babel/plugin-syntax-import-meta@^7.8.3": + "integrity" "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + "version" "7.10.4" + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + + "@babel/plugin-syntax-json-strings@^7.8.3": + "integrity" "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + "version" "7.8.3" + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + + "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + "integrity" "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + "version" "7.10.4" + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + + "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + "integrity" "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + "version" "7.8.3" + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + + "@babel/plugin-syntax-numeric-separator@^7.8.3": + "integrity" "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + "version" "7.10.4" + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + + "@babel/plugin-syntax-object-rest-spread@^7.8.3": + "integrity" "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + "version" "7.8.3" + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + + "@babel/plugin-syntax-optional-catch-binding@^7.8.3": + "integrity" "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + "version" "7.8.3" + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + + "@babel/plugin-syntax-optional-chaining@^7.8.3": + "integrity" "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + "version" "7.8.3" + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + + "@babel/template@^7.10.4", "@babel/template@^7.3.3": + "integrity" "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==" + "resolved" "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz" + "version" "7.10.4" + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.10.4" + "@babel/types" "^7.10.4" + + "@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.11.5": + "integrity" "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==" + "resolved" "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz" + "version" "7.11.5" + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.11.5" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/parser" "^7.11.5" + "@babel/types" "^7.11.5" + "debug" "^4.1.0" + "globals" "^11.1.0" + "lodash" "^4.17.19" + + "@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.11.0", "@babel/types@^7.11.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + "integrity" "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==" + "resolved" "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz" + "version" "7.11.5" + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + "lodash" "^4.17.19" + "to-fast-properties" "^2.0.0" + + "@bcoe/v8-coverage@^0.2.3": + "integrity" "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + "resolved" "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" + "version" "0.2.3" + + "@cnakazawa/watch@^1.0.3": + "integrity" "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==" + "resolved" "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "exec-sh" "^0.3.2" + "minimist" "^1.2.0" + + "@firebase/analytics-types@0.3.1": + "integrity" "sha512-63vVJ5NIBh/JF8l9LuPrQYSzFimk7zYHySQB4Dk9rVdJ8kV/vGQoVTvRu1UW05sEc2Ug5PqtEChtTHU+9hvPcA==" + "resolved" "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.3.1.tgz" + "version" "0.3.1" + + "@firebase/analytics@0.4.2": + "integrity" "sha512-WCoeUAO3lP6ikHJ3/XYptV90fpTidzTS9VpAfiVQK8gl9w1zvvKSavY9U3+EVG3frOPCFdE5DBO4MYrUw4gaqw==" + "resolved" "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.4.2.tgz" + "version" "0.4.2" + dependencies: + "@firebase/analytics-types" "0.3.1" + "@firebase/component" "0.1.18" + "@firebase/installations" "0.4.16" + "@firebase/logger" "0.2.6" + "@firebase/util" "0.3.1" + "tslib" "^1.11.1" + + "@firebase/app-types@0.6.1", "@firebase/app-types@0.x": + "integrity" "sha512-L/ZnJRAq7F++utfuoTKX4CLBG5YR7tFO3PLzG1/oXXKEezJ0kRL3CMRoueBEmTCzVb/6SIs2Qlaw++uDgi5Xyg==" + "resolved" "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.6.1.tgz" + "version" "0.6.1" + + "@firebase/app@0.6.10", "@firebase/app@0.x": + "integrity" "sha512-USg/AbgqBERhY0LayrKmmp7pka08WPa7OlFI46kaNW1pA2mUNf/ifTaxhCr2hGg/eWI0zPhpbEvtGQhSJ/QqWg==" + "resolved" "https://registry.npmjs.org/@firebase/app/-/app-0.6.10.tgz" + "version" "0.6.10" + dependencies: + "@firebase/app-types" "0.6.1" + "@firebase/component" "0.1.18" + "@firebase/logger" "0.2.6" + "@firebase/util" "0.3.1" + "dom-storage" "2.1.0" + "tslib" "^1.11.1" + "xmlhttprequest" "1.8.0" + + "@firebase/auth-interop-types@0.1.5": + "integrity" "sha512-88h74TMQ6wXChPA6h9Q3E1Jg6TkTHep2+k63OWg3s0ozyGVMeY+TTOti7PFPzq5RhszQPQOoCi59es4MaRvgCw==" + "resolved" "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.1.5.tgz" + "version" "0.1.5" + + "@firebase/auth-types@0.10.1": + "integrity" "sha512-/+gBHb1O9x/YlG7inXfxff/6X3BPZt4zgBv4kql6HEmdzNQCodIRlEYnI+/da+lN+dha7PjaFH7C7ewMmfV7rw==" + "resolved" "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.10.1.tgz" + "version" "0.10.1" + + "@firebase/auth@0.14.9": + "integrity" "sha512-PxYa2r5qUEdheXTvqROFrMstK8W4uPiP7NVfp+2Bec+AjY5PxZapCx/YFDLkU0D7YBI82H74PtZrzdJZw7TJ4w==" + "resolved" "https://registry.npmjs.org/@firebase/auth/-/auth-0.14.9.tgz" + "version" "0.14.9" + dependencies: + "@firebase/auth-types" "0.10.1" + + "@firebase/component@0.1.18": + "integrity" "sha512-c8gd1k/e0sbBTR0xkLIYUN8nVkA0zWxcXGIvdfYtGEsNw6n7kh5HkcxKXOPB8S7bcPpqZkGgBIfvd94IyG2gaQ==" + "resolved" "https://registry.npmjs.org/@firebase/component/-/component-0.1.18.tgz" + "version" "0.1.18" + dependencies: + "@firebase/util" "0.3.1" + "tslib" "^1.11.1" + + "@firebase/component@0.1.19": + "integrity" "sha512-L0S3g8eqaerg8y0zox3oOHSTwn/FE8RbcRHiurnbESvDViZtP5S5WnhuAPd7FnFxa8ElWK0z1Tr3ikzWDv1xdQ==" + "resolved" "https://registry.npmjs.org/@firebase/component/-/component-0.1.19.tgz" + "version" "0.1.19" + dependencies: + "@firebase/util" "0.3.2" + "tslib" "^1.11.1" + + "@firebase/database-types@0.5.2": + "integrity" "sha512-ap2WQOS3LKmGuVFKUghFft7RxXTyZTDr0Xd8y2aqmWsbJVjgozi0huL/EUMgTjGFrATAjcf2A7aNs8AKKZ2a8g==" + "resolved" "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.5.2.tgz" + "version" "0.5.2" + dependencies: + "@firebase/app-types" "0.6.1" + + "@firebase/database@^0.6.0": + "integrity" "sha512-NommVkAPzU7CKd1gyehmi3lz0K78q0KOfiex7Nfy7MBMwknLm7oNqKovXSgQV1PCLvKXvvAplDSFhDhzIf9obA==" + "resolved" "https://registry.npmjs.org/@firebase/database/-/database-0.6.13.tgz" + "version" "0.6.13" + dependencies: + "@firebase/auth-interop-types" "0.1.5" + "@firebase/component" "0.1.19" + "@firebase/database-types" "0.5.2" + "@firebase/logger" "0.2.6" + "@firebase/util" "0.3.2" + "faye-websocket" "0.11.3" + "tslib" "^1.11.1" + + "@firebase/database@0.6.11": + "integrity" "sha512-QOHhB7+CdjVhEXG9CyX0roA9ARJcEuwbozz0Bix+ULuZqjQ58KUFHMH1apW6EEiUP22d/mYD7dNXsUGshjL9PA==" + "resolved" "https://registry.npmjs.org/@firebase/database/-/database-0.6.11.tgz" + "version" "0.6.11" + dependencies: + "@firebase/auth-interop-types" "0.1.5" + "@firebase/component" "0.1.18" + "@firebase/database-types" "0.5.2" + "@firebase/logger" "0.2.6" + "@firebase/util" "0.3.1" + "faye-websocket" "0.11.3" + "tslib" "^1.11.1" + + "@firebase/firestore-types@1.12.0": + "integrity" "sha512-OqNxVb63wPZdUc7YnpacAW1WNIMSKERSewCRi+unCQ0YI0KNfrDSypyGCyel+S3GdOtKMk9KnvDknaGbnaFX4g==" + "resolved" "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-1.12.0.tgz" + "version" "1.12.0" + + "@firebase/firestore@1.16.4": + "integrity" "sha512-Ur+I8a8RkkbbJRsebkYAUwKFkbh9FemDxTFD/2Vp01pAPM8S3MoIcVegAfTvnPlG/ObBq5O7wI4CRA6b/G/Iyg==" + "resolved" "https://registry.npmjs.org/@firebase/firestore/-/firestore-1.16.4.tgz" + "version" "1.16.4" + dependencies: + "@firebase/component" "0.1.18" + "@firebase/firestore-types" "1.12.0" + "@firebase/logger" "0.2.6" + "@firebase/util" "0.3.1" + "@firebase/webchannel-wrapper" "0.3.0" + "@grpc/grpc-js" "^1.0.0" + "@grpc/proto-loader" "^0.5.0" + "node-fetch" "2.6.0" + "tslib" "^1.11.1" + + "@firebase/functions-types@0.3.17": + "integrity" "sha512-DGR4i3VI55KnYk4IxrIw7+VG7Q3gA65azHnZxo98Il8IvYLr2UTBlSh72dTLlDf25NW51HqvJgYJDKvSaAeyHQ==" + "resolved" "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.3.17.tgz" + "version" "0.3.17" + + "@firebase/functions@0.4.50": + "integrity" "sha512-eBsNrUm/Jfc/xsQXmxQRSkEg6pwHlMd2hice8N90/EeqgwqS/SCvC+O9cJITLlXroAghb9jWDWRvAkDU/TOhpw==" + "resolved" "https://registry.npmjs.org/@firebase/functions/-/functions-0.4.50.tgz" + "version" "0.4.50" + dependencies: + "@firebase/component" "0.1.18" + "@firebase/functions-types" "0.3.17" + "@firebase/messaging-types" "0.5.0" + "isomorphic-fetch" "2.2.1" + "tslib" "^1.11.1" + + "@firebase/installations-types@0.3.4": + "integrity" "sha512-RfePJFovmdIXb6rYwtngyxuEcWnOrzdZd9m7xAW0gRxDIjBT20n3BOhjpmgRWXo/DAxRmS7bRjWAyTHY9cqN7Q==" + "resolved" "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.3.4.tgz" + "version" "0.3.4" + + "@firebase/installations@0.4.16": + "integrity" "sha512-gqv3IrBUmPWKpH8wLJ0fZcAH1NEXwQhqjqnK3cQXRcIkEARP430cmIAaj7CcPdgdemHX9HqwJG+So/yBHIYXPA==" + "resolved" "https://registry.npmjs.org/@firebase/installations/-/installations-0.4.16.tgz" + "version" "0.4.16" + dependencies: + "@firebase/component" "0.1.18" + "@firebase/installations-types" "0.3.4" + "@firebase/util" "0.3.1" + "idb" "3.0.2" + "tslib" "^1.11.1" + + "@firebase/logger@0.2.6": + "integrity" "sha512-KIxcUvW/cRGWlzK9Vd2KB864HlUnCfdTH0taHE0sXW5Xl7+W68suaeau1oKNEqmc3l45azkd4NzXTCWZRZdXrw==" + "resolved" "https://registry.npmjs.org/@firebase/logger/-/logger-0.2.6.tgz" + "version" "0.2.6" + + "@firebase/messaging-types@0.5.0": + "integrity" "sha512-QaaBswrU6umJYb/ZYvjR5JDSslCGOH6D9P136PhabFAHLTR4TWjsaACvbBXuvwrfCXu10DtcjMxqfhdNIB1Xfg==" + "resolved" "https://registry.npmjs.org/@firebase/messaging-types/-/messaging-types-0.5.0.tgz" + "version" "0.5.0" + + "@firebase/messaging@0.7.0": + "integrity" "sha512-PTD5pQw9QremOjiWWZYOkzcX6OKByMvlG+NQXdTnyL3kLbE01Bdp9iWhkH6ipNpHYMiwcK1RZD4TLkYVBviBsw==" + "resolved" "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.7.0.tgz" + "version" "0.7.0" + dependencies: + "@firebase/component" "0.1.18" + "@firebase/installations" "0.4.16" + "@firebase/messaging-types" "0.5.0" + "@firebase/util" "0.3.1" + "idb" "3.0.2" + "tslib" "^1.11.1" + + "@firebase/performance-types@0.0.13": + "integrity" "sha512-6fZfIGjQpwo9S5OzMpPyqgYAUZcFzZxHFqOyNtorDIgNXq33nlldTL/vtaUZA8iT9TT5cJlCrF/jthKU7X21EA==" + "resolved" "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.0.13.tgz" + "version" "0.0.13" + + "@firebase/performance@0.3.11": + "integrity" "sha512-L00vBUa2zzoSSOq3StTN43fPxtJ+myF+t+2kP5bQGHN5WOmf22lIsuEjAy1FAscDjVjhL1k5rKMY332ZwEfblg==" + "resolved" "https://registry.npmjs.org/@firebase/performance/-/performance-0.3.11.tgz" + "version" "0.3.11" + dependencies: + "@firebase/component" "0.1.18" + "@firebase/installations" "0.4.16" + "@firebase/logger" "0.2.6" + "@firebase/performance-types" "0.0.13" + "@firebase/util" "0.3.1" + "tslib" "^1.11.1" + + "@firebase/polyfill@0.3.36": + "integrity" "sha512-zMM9oSJgY6cT2jx3Ce9LYqb0eIpDE52meIzd/oe/y70F+v9u1LDqk5kUF5mf16zovGBWMNFmgzlsh6Wj0OsFtg==" + "resolved" "https://registry.npmjs.org/@firebase/polyfill/-/polyfill-0.3.36.tgz" + "version" "0.3.36" + dependencies: + "core-js" "3.6.5" + "promise-polyfill" "8.1.3" + "whatwg-fetch" "2.0.4" + + "@firebase/remote-config-types@0.1.9": + "integrity" "sha512-G96qnF3RYGbZsTRut7NBX0sxyczxt1uyCgXQuH/eAfUCngxjEGcZQnBdy6mvSdqdJh5mC31rWPO4v9/s7HwtzA==" + "resolved" "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.1.9.tgz" + "version" "0.1.9" + + "@firebase/remote-config@0.1.27": + "integrity" "sha512-BGjmQomRKNf+yGJ/3/5Kw6zNLM5jY9oTVjLmYsQXf6U+HMgz6J2H6EVGc1bZW7YSsvak8f6DomxegQtvfvwaMw==" + "resolved" "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.1.27.tgz" + "version" "0.1.27" + dependencies: + "@firebase/component" "0.1.18" + "@firebase/installations" "0.4.16" + "@firebase/logger" "0.2.6" + "@firebase/remote-config-types" "0.1.9" + "@firebase/util" "0.3.1" + "tslib" "^1.11.1" + + "@firebase/storage-types@0.3.13": + "integrity" "sha512-pL7b8d5kMNCCL0w9hF7pr16POyKkb3imOW7w0qYrhBnbyJTdVxMWZhb0HxCFyQWC0w3EiIFFmxoz8NTFZDEFog==" + "resolved" "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.3.13.tgz" + "version" "0.3.13" + + "@firebase/storage@0.3.42": + "integrity" "sha512-FqHDWZPhATQeOFBQUZPsQO7xhnGBxprYVDb9eIjCnh1yRl6WAv/OQGHOF+JU5+H+YkjsKTtr/5VjyDl3Y0UHxw==" + "resolved" "https://registry.npmjs.org/@firebase/storage/-/storage-0.3.42.tgz" + "version" "0.3.42" + dependencies: + "@firebase/component" "0.1.18" + "@firebase/storage-types" "0.3.13" + "@firebase/util" "0.3.1" + "tslib" "^1.11.1" + + "@firebase/testing@^0.20.5": + "integrity" "sha512-cXu3B4NDG1HbmZby/lxaY7zAWdrhX/HzTzTkk15d3IJ0v+JlBHBWE8y8969UquoGv6fVcbTstUqMX3jgCRcfuw==" + "resolved" "https://registry.npmjs.org/@firebase/testing/-/testing-0.20.11.tgz" + "version" "0.20.11" + dependencies: + "@firebase/logger" "0.2.6" + "@firebase/util" "0.3.1" + "firebase" "7.18.0" + "request" "2.88.2" + + "@firebase/util@0.3.1", "@firebase/util@0.x": + "integrity" "sha512-zjVd9rfL08dRRdZILFn1RZTHb1euCcnD9N/9P56gdBcm2bvT5XsCC4G6t5toQBpE/H/jYe5h6MZMqfLu3EQLXw==" + "resolved" "https://registry.npmjs.org/@firebase/util/-/util-0.3.1.tgz" + "version" "0.3.1" + dependencies: + "tslib" "^1.11.1" + + "@firebase/util@0.3.2": + "integrity" "sha512-Dqs00++c8rwKky6KCKLLY2T1qYO4Q+X5t+lF7DInXDNF4ae1Oau35bkD+OpJ9u7l1pEv7KHowP6CUKuySCOc8g==" + "resolved" "https://registry.npmjs.org/@firebase/util/-/util-0.3.2.tgz" + "version" "0.3.2" + dependencies: + "tslib" "^1.11.1" + + "@firebase/webchannel-wrapper@0.3.0": + "integrity" "sha512-VniCGPIgSGNEgOkh5phb3iKmSGIzcwrccy3IomMFRWPCMiCk2y98UQNJEoDs1yIHtZMstVjYWKYxnunIGzC5UQ==" + "resolved" "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.3.0.tgz" + "version" "0.3.0" + + "@google-cloud/common@^2.1.1": + "integrity" "sha512-zWFjBS35eI9leAHhjfeOYlK5Plcuj/77EzstnrJIZbKgF/nkqjcQuGiMCpzCwOfPyUbz8ZaEOYgbHa759AKbjg==" + "resolved" "https://registry.npmjs.org/@google-cloud/common/-/common-2.4.0.tgz" + "version" "2.4.0" + dependencies: + "@google-cloud/projectify" "^1.0.0" + "@google-cloud/promisify" "^1.0.0" + "arrify" "^2.0.0" + "duplexify" "^3.6.0" + "ent" "^2.2.0" + "extend" "^3.0.2" + "google-auth-library" "^5.5.0" + "retry-request" "^4.0.0" + "teeny-request" "^6.0.0" + + "@google-cloud/firestore@^3.0.0": + "integrity" "sha512-ox80NbrM1MLJgvAAUd1quFLx/ie/nSjrk1PtscSicpoYDlKb9e6j7pHrVpbopBMyliyfNl3tLJWaDh+x+uCXqw==" + "resolved" "https://registry.npmjs.org/@google-cloud/firestore/-/firestore-3.8.6.tgz" + "version" "3.8.6" + dependencies: + "deep-equal" "^2.0.0" + "functional-red-black-tree" "^1.0.1" + "google-gax" "^1.15.3" + "readable-stream" "^3.4.0" + "through2" "^3.0.0" + + "@google-cloud/paginator@^2.0.0": + "integrity" "sha512-kp/pkb2p/p0d8/SKUu4mOq8+HGwF8NPzHWkj+VKrIPQPyMRw8deZtrO/OcSiy9C/7bpfU5Txah5ltUNfPkgEXg==" + "resolved" "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-2.0.3.tgz" + "version" "2.0.3" + dependencies: + "arrify" "^2.0.0" + "extend" "^3.0.2" + + "@google-cloud/projectify@^1.0.0": + "integrity" "sha512-ZdzQUN02eRsmTKfBj9FDL0KNDIFNjBn/d6tHQmA/+FImH5DO6ZV8E7FzxMgAUiVAUq41RFAkb25p1oHOZ8psfg==" + "resolved" "https://registry.npmjs.org/@google-cloud/projectify/-/projectify-1.0.4.tgz" + "version" "1.0.4" + + "@google-cloud/promisify@^1.0.0": + "integrity" "sha512-VccZDcOql77obTnFh0TbNED/6ZbbmHDf8UMNnzO1d5g9V0Htfm4k5cllY8P1tJsRKC3zWYGRLaViiupcgVjBoQ==" + "resolved" "https://registry.npmjs.org/@google-cloud/promisify/-/promisify-1.0.4.tgz" + "version" "1.0.4" + + "@google-cloud/storage@^4.1.2": + "integrity" "sha512-f0guAlbeg7Z0m3gKjCfBCu7FG9qS3M3oL5OQQxlvGoPtK7/qg3+W+KQV73O2/sbuS54n0Kh2mvT5K2FWzF5vVQ==" + "resolved" "https://registry.npmjs.org/@google-cloud/storage/-/storage-4.7.0.tgz" + "version" "4.7.0" + dependencies: + "@google-cloud/common" "^2.1.1" + "@google-cloud/paginator" "^2.0.0" + "@google-cloud/promisify" "^1.0.0" + "arrify" "^2.0.0" + "compressible" "^2.0.12" + "concat-stream" "^2.0.0" + "date-and-time" "^0.13.0" + "duplexify" "^3.5.0" + "extend" "^3.0.2" + "gaxios" "^3.0.0" + "gcs-resumable-upload" "^2.2.4" + "hash-stream-validation" "^0.2.2" + "mime" "^2.2.0" + "mime-types" "^2.0.8" + "onetime" "^5.1.0" + "p-limit" "^2.2.0" + "pumpify" "^2.0.0" + "readable-stream" "^3.4.0" + "snakeize" "^0.1.0" + "stream-events" "^1.0.1" + "through2" "^3.0.0" + "xdg-basedir" "^4.0.0" + + "@grpc/grpc-js@^1.0.0": + "integrity" "sha512-EuxMstI0u778dp0nk6Fe3gHXYPeV6FYsWOe0/QFwxv1NQ6bc5Wl/0Yxa4xl9uBlKElL6AIxuASmSfu7KEJhqiw==" + "resolved" "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.1.7.tgz" + "version" "1.1.7" + dependencies: + "@grpc/proto-loader" "^0.6.0-pre14" + "@types/node" "^12.12.47" + "google-auth-library" "^6.0.0" + "semver" "^6.2.0" + + "@grpc/grpc-js@~1.0.3": + "integrity" "sha512-Hm+xOiqAhcpT9RYM8lc15dbQD7aQurM7ZU8ulmulepiPlN7iwBXXwP3vSBUimoFoApRqz7pSIisXU8pZaCB4og==" + "resolved" "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "semver" "^6.2.0" + + "@grpc/proto-loader@^0.5.0", "@grpc/proto-loader@^0.5.1": + "integrity" "sha512-WwN9jVNdHRQoOBo9FDH7qU+mgfjPc8GygPYms3M+y3fbQLfnCe/Kv/E01t7JRgnrsOHH8euvSbed3mIalXhwqQ==" + "resolved" "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.5.5.tgz" + "version" "0.5.5" + dependencies: + "lodash.camelcase" "^4.3.0" + "protobufjs" "^6.8.6" + + "@grpc/proto-loader@^0.6.0-pre14": + "integrity" "sha512-oM+LjpEjNzW5pNJjt4/hq1HYayNeQT+eGrOPABJnYHv7TyNPDNzkQ76rDYZF86X5swJOa4EujEMzQ9iiTdPgww==" + "resolved" "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.0-pre9.tgz" + "version" "0.6.0-pre9" + dependencies: + "@types/long" "^4.0.1" + "lodash.camelcase" "^4.3.0" + "long" "^4.0.0" + "protobufjs" "^6.9.0" + "yargs" "^15.3.1" + + "@istanbuljs/load-nyc-config@^1.0.0": + "integrity" "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==" + "resolved" "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "camelcase" "^5.3.1" + "find-up" "^4.1.0" + "get-package-type" "^0.1.0" + "js-yaml" "^3.13.1" + "resolve-from" "^5.0.0" + + "@istanbuljs/schema@^0.1.2": + "integrity" "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==" + "resolved" "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz" + "version" "0.1.2" + + "@jest/console@^26.3.0": + "integrity" "sha512-/5Pn6sJev0nPUcAdpJHMVIsA8sKizL2ZkcKPE5+dJrCccks7tcM7c9wbgHudBJbxXLoTbqsHkG1Dofoem4F09w==" + "resolved" "https://registry.npmjs.org/@jest/console/-/console-26.3.0.tgz" + "version" "26.3.0" + dependencies: + "@jest/types" "^26.3.0" + "@types/node" "*" + "chalk" "^4.0.0" + "jest-message-util" "^26.3.0" + "jest-util" "^26.3.0" + "slash" "^3.0.0" + + "@jest/core@^26.4.2": + "integrity" "sha512-sDva7YkeNprxJfepOctzS8cAk9TOekldh+5FhVuXS40+94SHbiicRO1VV2tSoRtgIo+POs/Cdyf8p76vPTd6dg==" + "resolved" "https://registry.npmjs.org/@jest/core/-/core-26.4.2.tgz" + "version" "26.4.2" + dependencies: + "@jest/console" "^26.3.0" + "@jest/reporters" "^26.4.1" + "@jest/test-result" "^26.3.0" + "@jest/transform" "^26.3.0" + "@jest/types" "^26.3.0" + "@types/node" "*" + "ansi-escapes" "^4.2.1" + "chalk" "^4.0.0" + "exit" "^0.1.2" + "graceful-fs" "^4.2.4" + "jest-changed-files" "^26.3.0" + "jest-config" "^26.4.2" + "jest-haste-map" "^26.3.0" + "jest-message-util" "^26.3.0" + "jest-regex-util" "^26.0.0" + "jest-resolve" "^26.4.0" + "jest-resolve-dependencies" "^26.4.2" + "jest-runner" "^26.4.2" + "jest-runtime" "^26.4.2" + "jest-snapshot" "^26.4.2" + "jest-util" "^26.3.0" + "jest-validate" "^26.4.2" + "jest-watcher" "^26.3.0" + "micromatch" "^4.0.2" + "p-each-series" "^2.1.0" + "rimraf" "^3.0.0" + "slash" "^3.0.0" + "strip-ansi" "^6.0.0" + + "@jest/environment@^26.3.0": + "integrity" "sha512-EW+MFEo0DGHahf83RAaiqQx688qpXgl99wdb8Fy67ybyzHwR1a58LHcO376xQJHfmoXTu89M09dH3J509cx2AA==" + "resolved" "https://registry.npmjs.org/@jest/environment/-/environment-26.3.0.tgz" + "version" "26.3.0" + dependencies: + "@jest/fake-timers" "^26.3.0" + "@jest/types" "^26.3.0" + "@types/node" "*" + "jest-mock" "^26.3.0" + + "@jest/fake-timers@^26.3.0": + "integrity" "sha512-ZL9ytUiRwVP8ujfRepffokBvD2KbxbqMhrXSBhSdAhISCw3gOkuntisiSFv+A6HN0n0fF4cxzICEKZENLmW+1A==" + "resolved" "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.3.0.tgz" + "version" "26.3.0" + dependencies: + "@jest/types" "^26.3.0" + "@sinonjs/fake-timers" "^6.0.1" + "@types/node" "*" + "jest-message-util" "^26.3.0" + "jest-mock" "^26.3.0" + "jest-util" "^26.3.0" + + "@jest/globals@^26.4.2": + "integrity" "sha512-Ot5ouAlehhHLRhc+sDz2/9bmNv9p5ZWZ9LE1pXGGTCXBasmi5jnYjlgYcYt03FBwLmZXCZ7GrL29c33/XRQiow==" + "resolved" "https://registry.npmjs.org/@jest/globals/-/globals-26.4.2.tgz" + "version" "26.4.2" + dependencies: + "@jest/environment" "^26.3.0" + "@jest/types" "^26.3.0" + "expect" "^26.4.2" + + "@jest/reporters@^26.4.1": + "integrity" "sha512-aROTkCLU8++yiRGVxLsuDmZsQEKO6LprlrxtAuzvtpbIFl3eIjgIf3EUxDKgomkS25R9ZzwGEdB5weCcBZlrpQ==" + "resolved" "https://registry.npmjs.org/@jest/reporters/-/reporters-26.4.1.tgz" + "version" "26.4.1" + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^26.3.0" + "@jest/test-result" "^26.3.0" + "@jest/transform" "^26.3.0" + "@jest/types" "^26.3.0" + "chalk" "^4.0.0" + "collect-v8-coverage" "^1.0.0" + "exit" "^0.1.2" + "glob" "^7.1.2" + "graceful-fs" "^4.2.4" + "istanbul-lib-coverage" "^3.0.0" + "istanbul-lib-instrument" "^4.0.3" + "istanbul-lib-report" "^3.0.0" + "istanbul-lib-source-maps" "^4.0.0" + "istanbul-reports" "^3.0.2" + "jest-haste-map" "^26.3.0" + "jest-resolve" "^26.4.0" + "jest-util" "^26.3.0" + "jest-worker" "^26.3.0" + "slash" "^3.0.0" + "source-map" "^0.6.0" + "string-length" "^4.0.1" + "terminal-link" "^2.0.0" + "v8-to-istanbul" "^5.0.1" + optionalDependencies: + "node-notifier" "^8.0.0" + + "@jest/source-map@^26.3.0": + "integrity" "sha512-hWX5IHmMDWe1kyrKl7IhFwqOuAreIwHhbe44+XH2ZRHjrKIh0LO5eLQ/vxHFeAfRwJapmxuqlGAEYLadDq6ZGQ==" + "resolved" "https://registry.npmjs.org/@jest/source-map/-/source-map-26.3.0.tgz" + "version" "26.3.0" + dependencies: + "callsites" "^3.0.0" + "graceful-fs" "^4.2.4" + "source-map" "^0.6.0" + + "@jest/test-result@^26.3.0": + "integrity" "sha512-a8rbLqzW/q7HWheFVMtghXV79Xk+GWwOK1FrtimpI5n1la2SY0qHri3/b0/1F0Ve0/yJmV8pEhxDfVwiUBGtgg==" + "resolved" "https://registry.npmjs.org/@jest/test-result/-/test-result-26.3.0.tgz" + "version" "26.3.0" + dependencies: + "@jest/console" "^26.3.0" + "@jest/types" "^26.3.0" + "@types/istanbul-lib-coverage" "^2.0.0" + "collect-v8-coverage" "^1.0.0" + + "@jest/test-sequencer@^26.4.2": + "integrity" "sha512-83DRD8N3M0tOhz9h0bn6Kl6dSp+US6DazuVF8J9m21WAp5x7CqSMaNycMP0aemC/SH/pDQQddbsfHRTBXVUgog==" + "resolved" "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.4.2.tgz" + "version" "26.4.2" + dependencies: + "@jest/test-result" "^26.3.0" + "graceful-fs" "^4.2.4" + "jest-haste-map" "^26.3.0" + "jest-runner" "^26.4.2" + "jest-runtime" "^26.4.2" + + "@jest/transform@^26.3.0": + "integrity" "sha512-Isj6NB68QorGoFWvcOjlUhpkT56PqNIsXKR7XfvoDlCANn/IANlh8DrKAA2l2JKC3yWSMH5wS0GwuQM20w3b2A==" + "resolved" "https://registry.npmjs.org/@jest/transform/-/transform-26.3.0.tgz" + "version" "26.3.0" + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^26.3.0" + "babel-plugin-istanbul" "^6.0.0" + "chalk" "^4.0.0" + "convert-source-map" "^1.4.0" + "fast-json-stable-stringify" "^2.0.0" + "graceful-fs" "^4.2.4" + "jest-haste-map" "^26.3.0" + "jest-regex-util" "^26.0.0" + "jest-util" "^26.3.0" + "micromatch" "^4.0.2" + "pirates" "^4.0.1" + "slash" "^3.0.0" + "source-map" "^0.6.1" + "write-file-atomic" "^3.0.0" + + "@jest/types@^26.3.0": + "integrity" "sha512-BDPG23U0qDeAvU4f99haztXwdAg3hz4El95LkAM+tHAqqhiVzRpEGHHU8EDxT/AnxOrA65YjLBwDahdJ9pTLJQ==" + "resolved" "https://registry.npmjs.org/@jest/types/-/types-26.3.0.tgz" + "version" "26.3.0" + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + "chalk" "^4.0.0" + + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": + "integrity" "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" + "resolved" "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz" + "version" "1.1.2" + + "@protobufjs/base64@^1.1.2": + "integrity" "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + "resolved" "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz" + "version" "1.1.2" + + "@protobufjs/codegen@^2.0.4": + "integrity" "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + "resolved" "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz" + "version" "2.0.4" + + "@protobufjs/eventemitter@^1.1.0": + "integrity" "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" + "resolved" "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz" + "version" "1.1.0" + + "@protobufjs/fetch@^1.1.0": + "integrity" "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=" + "resolved" "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "@protobufjs/aspromise" "^1.1.1" + "@protobufjs/inquire" "^1.1.0" + + "@protobufjs/float@^1.0.2": + "integrity" "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" + "resolved" "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz" + "version" "1.0.2" + + "@protobufjs/inquire@^1.1.0": + "integrity" "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" + "resolved" "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz" + "version" "1.1.0" + + "@protobufjs/path@^1.1.2": + "integrity" "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" + "resolved" "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz" + "version" "1.1.2" + + "@protobufjs/pool@^1.1.0": + "integrity" "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" + "resolved" "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz" + "version" "1.1.0" + + "@protobufjs/utf8@^1.1.0": + "integrity" "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" + "resolved" "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz" + "version" "1.1.0" + + "@sinonjs/commons@^1.7.0": + "integrity" "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==" + "resolved" "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz" + "version" "1.8.1" + dependencies: + "type-detect" "4.0.8" + + "@sinonjs/fake-timers@^6.0.1": + "integrity" "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==" + "resolved" "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "@sinonjs/commons" "^1.7.0" + + "@tootallnate/once@1": + "integrity" "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + "resolved" "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" + "version" "1.1.2" + + "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": + "integrity" "sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw==" + "resolved" "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.9.tgz" + "version" "7.1.9" + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + + "@types/babel__generator@*": + "integrity" "sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew==" + "resolved" "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.1.tgz" + "version" "7.6.1" + dependencies: + "@babel/types" "^7.0.0" + + "@types/babel__template@*": + "integrity" "sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg==" + "resolved" "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.2.tgz" + "version" "7.0.2" + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + + "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + "integrity" "sha512-8w9szzKs14ZtBVuP6Wn7nMLRJ0D6dfB0VEBEyRgxrZ/Ln49aNMykrghM2FaNn4FJRzNppCSa0Rv9pBRM5Xc3wg==" + "resolved" "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.14.tgz" + "version" "7.0.14" + dependencies: + "@babel/types" "^7.3.0" + + "@types/color-name@^1.1.1": + "integrity" "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" + "resolved" "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz" + "version" "1.1.1" + + "@types/fs-extra@^8.0.1": + "integrity" "sha512-TcUlBem321DFQzBNuz8p0CLLKp0VvF/XH9E4KHNmgwyp4E3AfgI5cjiIVZWlbfThBop2qxFIh4+LeY6hVWWZ2w==" + "resolved" "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.1.tgz" + "version" "8.1.1" + dependencies: + "@types/node" "*" + + "@types/graceful-fs@^4.1.2": + "integrity" "sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==" + "resolved" "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz" + "version" "4.1.3" + dependencies: + "@types/node" "*" + + "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + "integrity" "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" + "resolved" "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz" + "version" "2.0.3" + + "@types/istanbul-lib-report@*": + "integrity" "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==" + "resolved" "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "@types/istanbul-lib-coverage" "*" + + "@types/istanbul-reports@^3.0.0": + "integrity" "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==" + "resolved" "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "@types/istanbul-lib-report" "*" + + "@types/long@^4.0.0", "@types/long@^4.0.1": + "integrity" "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" + "resolved" "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz" + "version" "4.0.1" + + "@types/minimatch@^3.0.3": + "integrity" "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" + "resolved" "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz" + "version" "3.0.3" + + "@types/node@*": + "integrity" "sha512-oTQgnd0hblfLsJ6BvJzzSL+Inogp3lq9fGgqRkMB/ziKMgEUaFl801OncOzUmalfzt14N0oPHMK47ipl+wbTIw==" + "resolved" "https://registry.npmjs.org/@types/node/-/node-14.11.1.tgz" + "version" "14.11.1" + + "@types/node@^12.12.47": + "integrity" "sha512-qAfo81CsD7yQIM9mVyh6B/U47li5g7cfpVQEDMfQeF8pSZVwzbhwU3crc0qG4DmpsebpJPR49AKOExQyJ05Cpg==" + "resolved" "https://registry.npmjs.org/@types/node/-/node-12.12.62.tgz" + "version" "12.12.62" + + "@types/node@^13.7.0": + "integrity" "sha512-tlFWakSzBITITJSxHV4hg4KvrhR/7h3xbJdSFbYJBVzKubrASbnnIFuSgolUh7qKGo/ZeJPKUfbZ0WS6Jp14DQ==" + "resolved" "https://registry.npmjs.org/@types/node/-/node-13.13.21.tgz" + "version" "13.13.21" + + "@types/node@^8.10.59": + "integrity" "sha512-/EwBIb+imu8Qi/A3NF9sJ9iuKo7yV+pryqjmeRqaU0C4wBAOhas5mdvoYeJ5PCKrh6thRSJHdoasFqh3BQGILA==" + "resolved" "https://registry.npmjs.org/@types/node/-/node-8.10.64.tgz" + "version" "8.10.64" + + "@types/normalize-package-data@^2.4.0": + "integrity" "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==" + "resolved" "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz" + "version" "2.4.0" + + "@types/prettier@^2.0.0": + "integrity" "sha512-2zs+O+UkDsJ1Vcp667pd3f8xearMdopz/z54i99wtRDI5KLmngk7vlrYZD0ZjKHaROR03EznlBbVY9PfAEyJIQ==" + "resolved" "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.1.tgz" + "version" "2.1.1" + + "@types/stack-utils@^1.0.1": + "integrity" "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==" + "resolved" "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz" + "version" "1.0.1" + + "@types/yargs-parser@*": + "integrity" "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==" + "resolved" "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz" + "version" "15.0.0" + + "@types/yargs@^15.0.0": + "integrity" "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==" + "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz" + "version" "15.0.5" + dependencies: + "@types/yargs-parser" "*" + + "abab@^2.0.3": + "integrity" "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + "resolved" "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz" + "version" "2.0.5" + + "abbrev@1": + "integrity" "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "resolved" "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" + "version" "1.1.1" + + "abort-controller@^3.0.0": + "integrity" "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==" + "resolved" "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "event-target-shim" "^5.0.0" + + "accepts@~1.3.4": + "integrity" "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==" + "resolved" "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz" + "version" "1.3.7" + dependencies: + "mime-types" "~2.1.24" + "negotiator" "0.6.2" + + "accord@^0.26.3": + "integrity" "sha1-/EyNPrq0BqB8sogZuFllHESpLoA=" + "resolved" "https://registry.npmjs.org/accord/-/accord-0.26.4.tgz" + "version" "0.26.4" + dependencies: + "convert-source-map" "^1.2.0" + "glob" "^7.0.5" + "indx" "^0.2.3" + "lodash.clone" "^4.3.2" + "lodash.defaults" "^4.0.1" + "lodash.flatten" "^4.2.0" + "lodash.merge" "^4.4.0" + "lodash.partialright" "^4.1.4" + "lodash.pick" "^4.2.1" + "lodash.uniq" "^4.3.0" + "resolve" "^1.1.7" + "semver" "^5.3.0" + "uglify-js" "^2.7.0" + "when" "^3.7.7" + + "acorn-globals@^6.0.0": + "integrity" "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==" + "resolved" "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "acorn" "^7.1.1" + "acorn-walk" "^7.1.1" + + "acorn-walk@^7.1.1": + "integrity" "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz" + "version" "7.2.0" + + "acorn@^7.1.1": + "integrity" "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz" + "version" "7.4.0" + + "agent-base@6": + "integrity" "sha512-01q25QQDwLSsyfhrKbn8yuur+JNw0H+0Y4JiGIKd3z9aYk/w/2kxD/Upc+t2ZBBSUNff50VjPsSW2YxM8QYKVg==" + "resolved" "https://registry.npmjs.org/agent-base/-/agent-base-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "debug" "4" + + "agentkeepalive@^2.2.0": + "integrity" "sha1-xdG9SxKQCPEWPyNvhuX66iAm4u8=" + "resolved" "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.2.0.tgz" + "version" "2.2.0" + + "ajv@^4.9.1": + "integrity" "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz" + "version" "4.11.8" + dependencies: + "co" "^4.6.0" + "json-stable-stringify" "^1.0.1" + + "ajv@^6.12.3": + "integrity" "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz" + "version" "6.12.5" + dependencies: + "fast-deep-equal" "^3.1.1" + "fast-json-stable-stringify" "^2.0.0" + "json-schema-traverse" "^0.4.1" + "uri-js" "^4.2.2" + + "algoliasearch@^3.22.1": + "integrity" "sha512-K4yKVhaHkXfJ/xcUnil04xiSrB8B8yHZoFEhWNpXg23eiCnqvTZw1tn/SqvdsANlYHLJlKl0qi3I/Q2Sqo7LwQ==" + "resolved" "https://registry.npmjs.org/algoliasearch/-/algoliasearch-3.35.1.tgz" + "version" "3.35.1" + dependencies: + "agentkeepalive" "^2.2.0" + "debug" "^2.6.9" + "envify" "^4.0.0" + "es6-promise" "^4.1.0" + "events" "^1.1.0" + "foreach" "^2.0.5" + "global" "^4.3.2" + "inherits" "^2.0.1" + "isarray" "^2.0.1" + "load-script" "^1.0.0" + "object-keys" "^1.0.11" + "querystring-es3" "^0.2.1" + "reduce" "^1.0.1" + "semver" "^5.1.0" + "tunnel-agent" "^0.6.0" + + "align-text@^0.1.1", "align-text@^0.1.3": + "integrity" "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=" + "resolved" "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz" + "version" "0.1.4" + dependencies: + "kind-of" "^3.0.2" + "longest" "^1.0.1" + "repeat-string" "^1.5.2" + + "ansi-colors@^1.0.1": + "integrity" "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==" + "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "ansi-wrap" "^0.1.0" + + "ansi-colors@^2.0.2": + "integrity" "sha512-yAdfUZ+c2wetVNIFsNRn44THW+Lty6S5TwMpUfLA/UaGhiXbBv/F8E60/1hMLd0cnF/CDoWH8vzVaI5bAcHCjw==" + "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-2.0.5.tgz" + "version" "2.0.5" + + "ansi-cyan@^0.1.1": + "integrity" "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=" + "resolved" "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz" + "version" "0.1.1" + dependencies: + "ansi-wrap" "0.1.0" + + "ansi-escapes@^1.1.0": + "integrity" "sha1-06ioOzGapneTZisT52HHkRQiMG4=" + "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz" + "version" "1.4.0" + + "ansi-escapes@^4.2.1": + "integrity" "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==" + "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz" + "version" "4.3.1" + dependencies: + "type-fest" "^0.11.0" + + "ansi-gray@^0.1.1": + "integrity" "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=" + "resolved" "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz" + "version" "0.1.1" + dependencies: + "ansi-wrap" "0.1.0" + + "ansi-red@^0.1.1": + "integrity" "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=" + "resolved" "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz" + "version" "0.1.1" + dependencies: + "ansi-wrap" "0.1.0" + + "ansi-regex@^0.2.0", "ansi-regex@^0.2.1": + "integrity" "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz" + "version" "0.2.1" + + "ansi-regex@^2.0.0": + "integrity" "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" + "version" "2.1.1" + + "ansi-regex@^5.0.0": + "integrity" "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz" + "version" "5.0.0" + + "ansi-styles@^1.1.0": + "integrity" "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz" + "version" "1.1.0" + + "ansi-styles@^2.2.1": + "integrity" "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" + "version" "2.2.1" + + "ansi-styles@^3.2.1": + "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + "version" "3.2.1" + dependencies: + "color-convert" "^1.9.0" + + "ansi-styles@^4.0.0", "ansi-styles@^4.1.0": + "integrity" "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz" + "version" "4.2.1" + dependencies: + "@types/color-name" "^1.1.1" + "color-convert" "^2.0.1" + + "ansi-wrap@^0.1.0", "ansi-wrap@0.1.0": + "integrity" "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" + "resolved" "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz" + "version" "0.1.0" + + "anymatch@^2.0.0": + "integrity" "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==" + "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "micromatch" "^3.1.4" + "normalize-path" "^2.1.1" + + "anymatch@^3.0.3": + "integrity" "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==" + "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "normalize-path" "^3.0.0" + "picomatch" "^2.0.4" + + "archy@^1.0.0": + "integrity" "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" + "resolved" "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz" + "version" "1.0.0" + + "argparse@^1.0.7": + "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" + "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + "version" "1.0.10" + dependencies: + "sprintf-js" "~1.0.2" + + "arr-diff@^1.0.1": + "integrity" "sha1-aHwydYFjWI/vfeezb6vklesaOZo=" + "resolved" "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "arr-flatten" "^1.0.1" + "array-slice" "^0.2.3" + + "arr-diff@^4.0.0": + "integrity" "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + "resolved" "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" + "version" "4.0.0" + + "arr-flatten@^1.0.1", "arr-flatten@^1.1.0": + "integrity" "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + "resolved" "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" + "version" "1.1.0" + + "arr-union@^2.0.1": + "integrity" "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=" + "resolved" "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz" + "version" "2.1.0" + + "arr-union@^3.1.0": + "integrity" "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + "resolved" "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" + "version" "3.1.0" + + "array-differ@^1.0.0": + "integrity" "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=" + "resolved" "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz" + "version" "1.0.0" + + "array-differ@^3.0.0": + "integrity" "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==" + "resolved" "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz" + "version" "3.0.0" + + "array-each@^1.0.1": + "integrity" "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=" + "resolved" "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz" + "version" "1.0.1" + + "array-filter@^1.0.0": + "integrity" "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=" + "resolved" "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz" + "version" "1.0.0" + + "array-find-index@^1.0.1": + "integrity" "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" + "resolved" "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" + "version" "1.0.2" + + "array-slice@^0.2.3": + "integrity" "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=" + "resolved" "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz" + "version" "0.2.3" + + "array-slice@^1.0.0": + "integrity" "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==" + "resolved" "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz" + "version" "1.1.0" + + "array-union@^1.0.1": + "integrity" "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=" + "resolved" "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "array-uniq" "^1.0.1" + + "array-union@^2.1.0": + "integrity" "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + "resolved" "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + "version" "2.1.0" + + "array-uniq@^1.0.1", "array-uniq@^1.0.2": + "integrity" "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + "resolved" "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" + "version" "1.0.3" + + "array-unique@^0.3.2": + "integrity" "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + "resolved" "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" + "version" "0.3.2" + + "arrify@^2.0.0", "arrify@^2.0.1": + "integrity" "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" + "resolved" "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz" + "version" "2.0.1" + + "asap@~2.0.3": + "integrity" "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + "resolved" "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + "version" "2.0.6" + + "asn1@~0.2.3": + "integrity" "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==" + "resolved" "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz" + "version" "0.2.4" + dependencies: + "safer-buffer" "~2.1.0" + + "assert-plus@^0.2.0": + "integrity" "sha1-104bh+ev/A24qttwIfP+SBAasjQ=" + "resolved" "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" + "version" "0.2.0" + + "assert-plus@^1.0.0", "assert-plus@1.0.0": + "integrity" "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "resolved" "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + "version" "1.0.0" + + "assign-symbols@^1.0.0": + "integrity" "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + "resolved" "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" + "version" "1.0.0" + + "asynckit@^0.4.0": + "integrity" "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + "version" "0.4.0" + + "atob@^2.1.2": + "integrity" "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + "resolved" "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" + "version" "2.1.2" + + "autocomplete.js@^0.28.0": + "integrity" "sha512-hW3Qz0gMOkkx59PdCLHtXz52FRKdk0gypsraRZW0Fp5407MykimPs6+Afovl630mnstbmTrjVqz+l2WckfE75w==" + "resolved" "https://registry.npmjs.org/autocomplete.js/-/autocomplete.js-0.28.3.tgz" + "version" "0.28.3" + dependencies: + "immediate" "^3.2.3" + + "available-typed-arrays@^1.0.0", "available-typed-arrays@^1.0.2": + "integrity" "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==" + "resolved" "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "array-filter" "^1.0.0" + + "aws-sign2@~0.6.0": + "integrity" "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=" + "resolved" "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" + "version" "0.6.0" + + "aws-sign2@~0.7.0": + "integrity" "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + "resolved" "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" + "version" "0.7.0" + + "aws4@^1.2.1", "aws4@^1.8.0": + "integrity" "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==" + "resolved" "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz" + "version" "1.10.1" + + "babel-jest@^26.3.0": + "integrity" "sha512-sxPnQGEyHAOPF8NcUsD0g7hDCnvLL2XyblRBcgrzTWBB/mAIpWow3n1bEL+VghnnZfreLhFSBsFluRoK2tRK4g==" + "resolved" "https://registry.npmjs.org/babel-jest/-/babel-jest-26.3.0.tgz" + "version" "26.3.0" + dependencies: + "@jest/transform" "^26.3.0" + "@jest/types" "^26.3.0" + "@types/babel__core" "^7.1.7" + "babel-plugin-istanbul" "^6.0.0" + "babel-preset-jest" "^26.3.0" + "chalk" "^4.0.0" + "graceful-fs" "^4.2.4" + "slash" "^3.0.0" + + "babel-plugin-istanbul@^6.0.0": + "integrity" "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==" + "resolved" "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + "istanbul-lib-instrument" "^4.0.0" + "test-exclude" "^6.0.0" + + "babel-plugin-jest-hoist@^26.2.0": + "integrity" "sha512-B/hVMRv8Nh1sQ1a3EY8I0n4Y1Wty3NrR5ebOyVT302op+DOAau+xNEImGMsUWOC3++ZlMooCytKz+NgN8aKGbA==" + "resolved" "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.2.0.tgz" + "version" "26.2.0" + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + + "babel-preset-current-node-syntax@^0.1.3": + "integrity" "sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ==" + "resolved" "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz" + "version" "0.1.3" + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@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-preset-jest@^26.3.0": + "integrity" "sha512-5WPdf7nyYi2/eRxCbVrE1kKCWxgWY4RsPEbdJWFm7QsesFGqjdkyLeu1zRkwM1cxK6EPIlNd6d2AxLk7J+t4pw==" + "resolved" "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.3.0.tgz" + "version" "26.3.0" + dependencies: + "babel-plugin-jest-hoist" "^26.2.0" + "babel-preset-current-node-syntax" "^0.1.3" + + "balanced-match@^1.0.0": + "integrity" "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" + "version" "1.0.0" + + "base@^0.11.1": + "integrity" "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==" + "resolved" "https://registry.npmjs.org/base/-/base-0.11.2.tgz" + "version" "0.11.2" + dependencies: + "cache-base" "^1.0.1" + "class-utils" "^0.3.5" + "component-emitter" "^1.2.1" + "define-property" "^1.0.0" + "isobject" "^3.0.1" + "mixin-deep" "^1.2.0" + "pascalcase" "^0.1.1" + + "base64-js@^1.3.0": + "integrity" "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz" + "version" "1.3.1" + + "batch@0.6.1": + "integrity" "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" + "resolved" "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" + "version" "0.6.1" + + "bcrypt-pbkdf@^1.0.0": + "integrity" "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=" + "resolved" "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "tweetnacl" "^0.14.3" + + "beeper@^1.0.0": + "integrity" "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=" + "resolved" "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz" + "version" "1.1.1" + + "bignumber.js@^9.0.0": + "integrity" "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" + "resolved" "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz" + "version" "9.0.0" + + "body-parser@~1.8.0": + "integrity" "sha1-1JfgS8E7P5qL2McLsM3Bby4CiJg=" + "resolved" "https://registry.npmjs.org/body-parser/-/body-parser-1.8.4.tgz" + "version" "1.8.4" + dependencies: + "bytes" "1.0.0" + "depd" "0.4.5" + "iconv-lite" "0.4.4" + "media-typer" "0.3.0" + "on-finished" "2.1.0" + "qs" "2.2.4" + "raw-body" "1.3.0" + "type-is" "~1.5.1" + + "boom@2.x.x": + "integrity" "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=" + "resolved" "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" + "version" "2.10.1" + dependencies: + "hoek" "2.x.x" + + "bootstrap@3.4.1": + "integrity" "sha512-yN5oZVmRCwe5aKwzRj6736nSmKDX7pLYwsXiCj/EYmo16hODaBiT4En5btW/jhBF/seV+XMx3aYwukYC3A49DA==" + "resolved" "https://registry.npmjs.org/bootstrap/-/bootstrap-3.4.1.tgz" + "version" "3.4.1" + + "brace-expansion@^1.0.0", "brace-expansion@^1.1.7": + "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" + "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + "version" "1.1.11" + dependencies: + "balanced-match" "^1.0.0" + "concat-map" "0.0.1" + + "braces@^2.3.1": + "integrity" "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==" + "resolved" "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" + "version" "2.3.2" + dependencies: + "arr-flatten" "^1.1.0" + "array-unique" "^0.3.2" + "extend-shallow" "^2.0.1" + "fill-range" "^4.0.0" + "isobject" "^3.0.1" + "repeat-element" "^1.1.2" + "snapdragon" "^0.8.1" + "snapdragon-node" "^2.0.1" + "split-string" "^3.0.2" + "to-regex" "^3.0.1" + + "braces@^3.0.1": + "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" + "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "fill-range" "^7.0.1" + + "browser-process-hrtime@^1.0.0": + "integrity" "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + "resolved" "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz" + "version" "1.0.0" + + "bser@2.1.1": + "integrity" "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==" + "resolved" "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "node-int64" "^0.4.0" + + "buffer-equal-constant-time@1.0.1": + "integrity" "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" + "resolved" "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz" + "version" "1.0.1" + + "buffer-from@^1.0.0": + "integrity" "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz" + "version" "1.1.1" + + "bufferstreams@1.0.1": + "integrity" "sha1-z7GtlWjTujz+k1upq92VLeiKqyo=" + "resolved" "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "readable-stream" "^1.0.33" + + "bytes@1", "bytes@1.0.0": + "integrity" "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=" + "resolved" "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz" + "version" "1.0.0" + + "cache-base@^1.0.1": + "integrity" "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==" + "resolved" "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "collection-visit" "^1.0.0" + "component-emitter" "^1.2.1" + "get-value" "^2.0.6" + "has-value" "^1.0.0" + "isobject" "^3.0.1" + "set-value" "^2.0.0" + "to-object-path" "^0.3.0" + "union-value" "^1.0.0" + "unset-value" "^1.0.0" + + "callsites@^3.0.0": + "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + "version" "3.1.0" + + "camelcase-keys@^2.0.0": + "integrity" "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=" + "resolved" "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "camelcase" "^2.0.0" + "map-obj" "^1.0.0" + + "camelcase@^1.0.2": + "integrity" "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz" + "version" "1.2.1" + + "camelcase@^2.0.0": + "integrity" "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz" + "version" "2.1.1" + + "camelcase@^5.0.0", "camelcase@^5.3.1": + "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + "version" "5.3.1" + + "camelcase@^6.0.0": + "integrity" "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz" + "version" "6.0.0" + + "capture-exit@^2.0.0": + "integrity" "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==" + "resolved" "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "rsvp" "^4.8.4" + + "caseless@~0.12.0": + "integrity" "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "resolved" "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" + "version" "0.12.0" + + "center-align@^0.1.1": + "integrity" "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=" + "resolved" "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz" + "version" "0.1.3" + dependencies: + "align-text" "^0.1.3" + "lazy-cache" "^1.0.3" + + "chalk@^0.5.0": + "integrity" "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz" + "version" "0.5.1" + dependencies: + "ansi-styles" "^1.1.0" + "escape-string-regexp" "^1.0.0" + "has-ansi" "^0.1.0" + "strip-ansi" "^0.3.0" + "supports-color" "^0.2.0" + + "chalk@^1.0.0": + "integrity" "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "ansi-styles" "^2.2.1" + "escape-string-regexp" "^1.0.2" + "has-ansi" "^2.0.0" + "strip-ansi" "^3.0.0" + "supports-color" "^2.0.0" + + "chalk@^2.0.0": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + + "chalk@^4.0.0": + "integrity" "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + + "char-regex@^1.0.2": + "integrity" "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" + "resolved" "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" + "version" "1.0.2" + + "ci-info@^2.0.0": + "integrity" "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" + "version" "2.0.0" + + "class-utils@^0.3.5": + "integrity" "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==" + "resolved" "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" + "version" "0.3.6" + dependencies: + "arr-union" "^3.1.0" + "define-property" "^0.2.5" + "isobject" "^3.0.0" + "static-extend" "^0.1.1" + + "cli-cursor@^1.0.1": + "integrity" "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=" + "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "restore-cursor" "^1.0.1" + + "cli-width@^1.0.1": + "integrity" "sha1-pNKT72frt7iNSk1CwMzwDE0eNm0=" + "resolved" "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz" + "version" "1.1.1" + + "cliui@^2.1.0": + "integrity" "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=" + "resolved" "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "center-align" "^0.1.1" + "right-align" "^0.1.1" + "wordwrap" "0.0.2" + + "cliui@^6.0.0": + "integrity" "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==" + "resolved" "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "string-width" "^4.2.0" + "strip-ansi" "^6.0.0" + "wrap-ansi" "^6.2.0" + + "clone-buffer@^1.0.0": + "integrity" "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=" + "resolved" "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz" + "version" "1.0.0" + + "clone-stats@^0.0.1", "clone-stats@~0.0.1": + "integrity" "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=" + "resolved" "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz" + "version" "0.0.1" + + "clone-stats@^1.0.0": + "integrity" "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=" + "resolved" "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz" + "version" "1.0.0" + + "clone@^0.2.0": + "integrity" "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=" + "resolved" "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz" + "version" "0.2.0" + + "clone@^1.0.0", "clone@^1.0.2": + "integrity" "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + "resolved" "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" + "version" "1.0.4" + + "clone@^2.1.0": + "integrity" "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + "resolved" "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" + "version" "2.1.2" + + "clone@^2.1.1": + "integrity" "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + "resolved" "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" + "version" "2.1.2" + + "cloneable-readable@^1.0.0": + "integrity" "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==" + "resolved" "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "inherits" "^2.0.1" + "process-nextick-args" "^2.0.0" + "readable-stream" "^2.3.5" + + "co@^4.6.0": + "integrity" "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + "resolved" "https://registry.npmjs.org/co/-/co-4.6.0.tgz" + "version" "4.6.0" + + "code-point-at@^1.0.0": + "integrity" "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "resolved" "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" + "version" "1.1.0" + + "collect-v8-coverage@^1.0.0": + "integrity" "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + "resolved" "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" + "version" "1.0.1" + + "collection-visit@^1.0.0": + "integrity" "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=" + "resolved" "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "map-visit" "^1.0.0" + "object-visit" "^1.0.0" + + "color-convert@^1.9.0": + "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + "version" "1.9.3" + dependencies: + "color-name" "1.1.3" + + "color-convert@^2.0.1": + "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "color-name" "~1.1.4" + + "color-name@~1.1.4": + "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + "version" "1.1.4" + + "color-name@1.1.3": + "integrity" "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + "version" "1.1.3" + + "color-support@^1.1.3": + "integrity" "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" + "resolved" "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz" + "version" "1.1.3" + + "combined-stream@^1.0.5", "combined-stream@^1.0.6", "combined-stream@~1.0.5", "combined-stream@~1.0.6": + "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" + "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + "version" "1.0.8" + dependencies: + "delayed-stream" "~1.0.0" + + "component-emitter@^1.2.1": + "integrity" "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + "resolved" "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" + "version" "1.3.0" + + "compressible@^2.0.12": + "integrity" "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==" + "resolved" "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" + "version" "2.0.18" + dependencies: + "mime-db" ">= 1.43.0 < 2" + + "concat-map@0.0.1": + "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + "version" "0.0.1" + + "concat-stream@^2.0.0": + "integrity" "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==" + "resolved" "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "buffer-from" "^1.0.0" + "inherits" "^2.0.3" + "readable-stream" "^3.0.2" + "typedarray" "^0.0.6" + + "concat-with-sourcemaps@^1.0.0": + "integrity" "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==" + "resolved" "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "source-map" "^0.6.1" + + "configstore@^5.0.0": + "integrity" "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==" + "resolved" "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "dot-prop" "^5.2.0" + "graceful-fs" "^4.1.2" + "make-dir" "^3.0.0" + "unique-string" "^2.0.0" + "write-file-atomic" "^3.0.0" + "xdg-basedir" "^4.0.0" + + "connect-livereload@^0.4.0": + "integrity" "sha1-D4oagWvJuv+uRjfM6pF0Yv41kXo=" + "resolved" "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.4.1.tgz" + "version" "0.4.1" + + "connect@^3.0.1": + "integrity" "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==" + "resolved" "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz" + "version" "3.7.0" + dependencies: + "debug" "2.6.9" + "finalhandler" "1.1.2" + "parseurl" "~1.3.3" + "utils-merge" "1.0.1" + + "convert-source-map@^1.2.0", "convert-source-map@^1.4.0", "convert-source-map@^1.6.0", "convert-source-map@^1.7.0": + "integrity" "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==" + "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz" + "version" "1.7.0" + dependencies: + "safe-buffer" "~5.1.1" + + "copy-descriptor@^0.1.0": + "integrity" "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + "resolved" "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" + "version" "0.1.1" + + "core-js@3.6.5": + "integrity" "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" + "resolved" "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz" + "version" "3.6.5" + + "core-util-is@~1.0.0", "core-util-is@1.0.2": + "integrity" "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + "version" "1.0.2" + + "cross-spawn@^6.0.0": + "integrity" "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" + "version" "6.0.5" + dependencies: + "nice-try" "^1.0.4" + "path-key" "^2.0.1" + "semver" "^5.5.0" + "shebang-command" "^1.2.0" + "which" "^1.2.9" + + "cross-spawn@^7.0.0": + "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + "version" "7.0.3" + dependencies: + "path-key" "^3.1.0" + "shebang-command" "^2.0.0" + "which" "^2.0.1" + + "cryptiles@2.x.x": + "integrity" "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=" + "resolved" "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" + "version" "2.0.5" + dependencies: + "boom" "2.x.x" + + "crypto-random-string@^2.0.0": + "integrity" "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + "resolved" "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" + "version" "2.0.0" + + "cssom@^0.4.4": + "integrity" "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + "resolved" "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz" + "version" "0.4.4" + + "cssom@~0.3.6": + "integrity" "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + "resolved" "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" + "version" "0.3.8" + + "cssstyle@^2.2.0": + "integrity" "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==" + "resolved" "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "cssom" "~0.3.6" + + "currently-unhandled@^0.4.1": + "integrity" "sha1-mI3zP+qxke95mmE2nddsF635V+o=" + "resolved" "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz" + "version" "0.4.1" + dependencies: + "array-find-index" "^1.0.1" + + "dashdash@^1.12.0": + "integrity" "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=" + "resolved" "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" + "version" "1.14.1" + dependencies: + "assert-plus" "^1.0.0" + + "data-urls@^2.0.0": + "integrity" "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==" + "resolved" "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "abab" "^2.0.3" + "whatwg-mimetype" "^2.3.0" + "whatwg-url" "^8.0.0" + + "date-and-time@^0.13.0": + "integrity" "sha512-/Uge9DJAT+s+oAcDxtBhyR8+sKjUnZbYmyhbmWjTHNtX7B7oWD8YyYdeXcBRbwSj6hVvj+IQegJam7m7czhbFw==" + "resolved" "https://registry.npmjs.org/date-and-time/-/date-and-time-0.13.1.tgz" + "version" "0.13.1" + + "dateformat@^1.0.7-1.2.3": + "integrity" "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=" + "resolved" "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz" + "version" "1.0.12" + dependencies: + "get-stdin" "^4.0.1" + "meow" "^3.3.0" + + "dateformat@^2.0.0": + "integrity" "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=" + "resolved" "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz" + "version" "2.2.0" + + "debug@^2.2.0", "debug@^2.3.3", "debug@^2.6.9", "debug@2.6.9": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + + "debug@^4.1.0": + "integrity" "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==" + "resolved" "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "ms" "2.1.2" + + "debug@^4.1.1": + "integrity" "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==" + "resolved" "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "ms" "2.1.2" + + "debug@~0.8.1": + "integrity" "sha1-IP9NJvXkIstoobrLu2EDmtjBwTA=" + "resolved" "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz" + "version" "0.8.1" + + "debug@4": + "integrity" "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==" + "resolved" "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "ms" "2.1.2" + + "decamelize@^1.0.0", "decamelize@^1.1.2", "decamelize@^1.2.0": + "integrity" "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + "version" "1.2.0" + + "decimal.js@^10.2.0": + "integrity" "sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw==" + "resolved" "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.0.tgz" + "version" "10.2.0" + + "decode-uri-component@^0.2.0": + "integrity" "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "resolved" "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" + "version" "0.2.0" + + "deep-equal@^2.0.0": + "integrity" "sha512-Spqdl4H+ky45I9ByyJtXteOm9CaIrPmnIPmOhrkKGNYWeDgCvJ8jNYVCTjChxW4FqGuZnLHADc8EKRMX6+CgvA==" + "resolved" "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.3.tgz" + "version" "2.0.3" + dependencies: + "es-abstract" "^1.17.5" + "es-get-iterator" "^1.1.0" + "is-arguments" "^1.0.4" + "is-date-object" "^1.0.2" + "is-regex" "^1.0.5" + "isarray" "^2.0.5" + "object-is" "^1.1.2" + "object-keys" "^1.1.1" + "object.assign" "^4.1.0" + "regexp.prototype.flags" "^1.3.0" + "side-channel" "^1.0.2" + "which-boxed-primitive" "^1.0.1" + "which-collection" "^1.0.1" + "which-typed-array" "^1.1.2" + + "deep-is@~0.1.3": + "integrity" "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" + "version" "0.1.3" + + "deepmerge@^4.2.2": + "integrity" "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" + "version" "4.2.2" + + "defaults@^1.0.0": + "integrity" "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=" + "resolved" "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "clone" "^1.0.2" + + "define-properties@^1.1.3": + "integrity" "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==" + "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "object-keys" "^1.0.12" + + "define-property@^0.2.5": + "integrity" "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=" + "resolved" "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" + "version" "0.2.5" + dependencies: + "is-descriptor" "^0.1.0" + + "define-property@^1.0.0": + "integrity" "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=" + "resolved" "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "is-descriptor" "^1.0.0" + + "define-property@^2.0.2": + "integrity" "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==" + "resolved" "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "is-descriptor" "^1.0.2" + "isobject" "^3.0.1" + + "del@3.0.0": + "integrity" "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=" + "resolved" "https://registry.npmjs.org/del/-/del-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "globby" "^6.1.0" + "is-path-cwd" "^1.0.0" + "is-path-in-cwd" "^1.0.0" + "p-map" "^1.1.1" + "pify" "^3.0.0" + "rimraf" "^2.2.8" + + "delayed-stream@~1.0.0": + "integrity" "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + "version" "1.0.0" + + "depd@~1.1.2": + "integrity" "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + "resolved" "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" + "version" "1.1.2" + + "depd@0.4.5": + "integrity" "sha1-GmZLUziLSmVz6K5ntfdnxpPKl/E=" + "resolved" "https://registry.npmjs.org/depd/-/depd-0.4.5.tgz" + "version" "0.4.5" + + "deprecated@^0.0.1": + "integrity" "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=" + "resolved" "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz" + "version" "0.0.1" + + "desandro-matches-selector@^2.0.0": + "integrity" "sha1-cXvu1NwT59jzdi9wem1YpndCGOE=" + "resolved" "https://registry.npmjs.org/desandro-matches-selector/-/desandro-matches-selector-2.0.2.tgz" + "version" "2.0.2" + + "destroy@~1.0.4": + "integrity" "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + "resolved" "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" + "version" "1.0.4" + + "detect-file@^1.0.0": + "integrity" "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=" + "resolved" "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz" + "version" "1.0.0" + + "detect-newline@^3.0.0": + "integrity" "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" + "resolved" "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" + "version" "3.1.0" + + "dicer@^0.3.0": + "integrity" "sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==" + "resolved" "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz" + "version" "0.3.0" + dependencies: + "streamsearch" "0.1.2" + + "diff-sequences@^26.3.0": + "integrity" "sha512-5j5vdRcw3CNctePNYN0Wy2e/JbWT6cAYnXv5OuqPhDpyCGc0uLu2TK0zOCJWNB9kOIfYMSpIulRaDgIi4HJ6Ig==" + "resolved" "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.3.0.tgz" + "version" "26.3.0" + + "docsearch.js@2.4.1": + "integrity" "sha512-hoWC9aCyWYbxwAkn4DNSv+ZZUwgkEqgfXDkncbJ/PagLmT5hjurNFZ+hWkgzolFRSYN8K3mENkWlsXsm61Ggaw==" + "resolved" "https://registry.npmjs.org/docsearch.js/-/docsearch.js-2.4.1.tgz" + "version" "2.4.1" + dependencies: + "algoliasearch" "^3.22.1" + "autocomplete.js" "^0.28.0" + "hogan.js" "^3.0.2" + "to-factory" "^1.0.0" + + "dom-storage@2.1.0": + "integrity" "sha512-g6RpyWXzl0RR6OTElHKBl7nwnK87GUyZMYC7JWsB/IA73vpqK2K6LT39x4VepLxlSsWBFrPVLnsSR5Jyty0+2Q==" + "resolved" "https://registry.npmjs.org/dom-storage/-/dom-storage-2.1.0.tgz" + "version" "2.1.0" + + "dom-walk@^0.1.0": + "integrity" "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" + "resolved" "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz" + "version" "0.1.2" + + "domexception@^2.0.1": + "integrity" "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==" + "resolved" "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "webidl-conversions" "^5.0.0" + + "dot-prop@^5.2.0": + "integrity" "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==" + "resolved" "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" + "version" "5.3.0" + dependencies: + "is-obj" "^2.0.0" + + "duplexer@~0.1.1": + "integrity" "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + "resolved" "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" + "version" "0.1.2" + + "duplexer2@0.0.2": + "integrity" "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=" + "resolved" "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz" + "version" "0.0.2" + dependencies: + "readable-stream" "~1.1.9" + + "duplexify@^3.5.0", "duplexify@^3.6.0": + "integrity" "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==" + "resolved" "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz" + "version" "3.7.1" + dependencies: + "end-of-stream" "^1.0.0" + "inherits" "^2.0.1" + "readable-stream" "^2.0.0" + "stream-shift" "^1.0.0" + + "duplexify@^4.1.1": + "integrity" "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==" + "resolved" "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz" + "version" "4.1.1" + dependencies: + "end-of-stream" "^1.4.1" + "inherits" "^2.0.3" + "readable-stream" "^3.1.1" + "stream-shift" "^1.0.0" + + "ecc-jsbn@~0.1.1": + "integrity" "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=" + "resolved" "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" + "version" "0.1.2" + dependencies: + "jsbn" "~0.1.0" + "safer-buffer" "^2.1.0" + + "ecdsa-sig-formatter@^1.0.11", "ecdsa-sig-formatter@1.0.11": + "integrity" "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==" + "resolved" "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz" + "version" "1.0.11" + dependencies: + "safe-buffer" "^5.0.1" + + "ee-first@1.0.5": + "integrity" "sha1-jJshKJjYzZ8alDZlDOe+ICyen/A=" + "resolved" "https://registry.npmjs.org/ee-first/-/ee-first-1.0.5.tgz" + "version" "1.0.5" + + "ee-first@1.1.1": + "integrity" "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + "resolved" "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + "version" "1.1.1" + + "emittery@^0.7.1": + "integrity" "sha512-d34LN4L6h18Bzz9xpoku2nPwKxCPlPMr3EEKTkoEBi+1/+b0lcRkRJ1UVyyZaKNeqGR3swcGl6s390DNO4YVgQ==" + "resolved" "https://registry.npmjs.org/emittery/-/emittery-0.7.1.tgz" + "version" "0.7.1" + + "emoji-regex@^8.0.0": + "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + "version" "8.0.0" + + "encodeurl@~1.0.2": + "integrity" "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + "resolved" "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" + "version" "1.0.2" + + "encoding@^0.1.11": + "integrity" "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==" + "resolved" "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz" + "version" "0.1.13" + dependencies: + "iconv-lite" "^0.6.2" + + "end-of-stream@^1.0.0", "end-of-stream@^1.1.0", "end-of-stream@^1.4.1": + "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" + "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + "version" "1.4.4" + dependencies: + "once" "^1.4.0" + + "end-of-stream@~0.1.5": + "integrity" "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=" + "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz" + "version" "0.1.5" + dependencies: + "once" "~1.3.0" + + "ent@^2.2.0": + "integrity" "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=" + "resolved" "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz" + "version" "2.2.0" + + "entities@~1.1.1": + "integrity" "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + "resolved" "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz" + "version" "1.1.2" + + "envify@^4.0.0": + "integrity" "sha512-IKRVVoAYr4pIx4yIWNsz9mOsboxlNXiu7TNBnem/K/uTHdkyzXWDzHCK7UTolqBbgaBz0tQHsD3YNls0uIIjiw==" + "resolved" "https://registry.npmjs.org/envify/-/envify-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "esprima" "^4.0.0" + "through" "~2.3.4" + + "errno@^0.1.1": + "integrity" "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==" + "resolved" "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz" + "version" "0.1.7" + dependencies: + "prr" "~1.0.1" + + "error-ex@^1.2.0", "error-ex@^1.3.1": + "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" + "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "is-arrayish" "^0.2.1" + + "es-abstract@^1.17.0-next.1", "es-abstract@^1.17.4", "es-abstract@^1.17.5": + "integrity" "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==" + "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz" + "version" "1.17.6" + dependencies: + "es-to-primitive" "^1.2.1" + "function-bind" "^1.1.1" + "has" "^1.0.3" + "has-symbols" "^1.0.1" + "is-callable" "^1.2.0" + "is-regex" "^1.1.0" + "object-inspect" "^1.7.0" + "object-keys" "^1.1.1" + "object.assign" "^4.1.0" + "string.prototype.trimend" "^1.0.1" + "string.prototype.trimstart" "^1.0.1" + + "es-abstract@^1.18.0-next.0": + "integrity" "sha512-elZXTZXKn51hUBdJjSZGYRujuzilgXo8vSPQzjGYXLvSlGiCo8VO8ZGV3kjo9a0WNJJ57hENagwbtlRuHuzkcQ==" + "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.0.tgz" + "version" "1.18.0-next.0" + dependencies: + "es-to-primitive" "^1.2.1" + "function-bind" "^1.1.1" + "has" "^1.0.3" + "has-symbols" "^1.0.1" + "is-callable" "^1.2.0" + "is-negative-zero" "^2.0.0" + "is-regex" "^1.1.1" + "object-inspect" "^1.8.0" + "object-keys" "^1.1.1" + "object.assign" "^4.1.0" + "string.prototype.trimend" "^1.0.1" + "string.prototype.trimstart" "^1.0.1" + + "es-get-iterator@^1.1.0": + "integrity" "sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ==" + "resolved" "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "es-abstract" "^1.17.4" + "has-symbols" "^1.0.1" + "is-arguments" "^1.0.4" + "is-map" "^2.0.1" + "is-set" "^2.0.1" + "is-string" "^1.0.5" + "isarray" "^2.0.5" + + "es-to-primitive@^1.2.1": + "integrity" "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==" + "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + "version" "1.2.1" + dependencies: + "is-callable" "^1.1.4" + "is-date-object" "^1.0.1" + "is-symbol" "^1.0.2" + + "es6-promise@^4.1.0": + "integrity" "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + "resolved" "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz" + "version" "4.2.8" + + "escape-html@~1.0.3": + "integrity" "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + "resolved" "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + "version" "1.0.3" + + "escape-string-regexp@^1.0.0", "escape-string-regexp@^1.0.2", "escape-string-regexp@^1.0.5": + "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + "version" "1.0.5" + + "escape-string-regexp@^2.0.0": + "integrity" "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + "version" "2.0.0" + + "escodegen@^1.14.1": + "integrity" "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==" + "resolved" "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz" + "version" "1.14.3" + dependencies: + "esprima" "^4.0.1" + "estraverse" "^4.2.0" + "esutils" "^2.0.2" + "optionator" "^0.8.1" + optionalDependencies: + "source-map" "~0.6.1" + + "esprima@^4.0.0", "esprima@^4.0.1": + "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + "version" "4.0.1" + + "estraverse@^4.2.0": + "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + "version" "4.3.0" + + "esutils@^2.0.2": + "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + "version" "2.0.3" + + "etag@~1.8.1": + "integrity" "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + "resolved" "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" + "version" "1.8.1" + + "ev-emitter@^1.0.0": + "integrity" "sha512-ipiDYhdQSCZ4hSbX4rMW+XzNKMD1prg/sTvoVmSLkuQ1MVlwjJQQA+sW8tMYR3BLUr9KjodFV4pvzunvRhd33Q==" + "resolved" "https://registry.npmjs.org/ev-emitter/-/ev-emitter-1.1.1.tgz" + "version" "1.1.1" + + "event-stream@~3.0.20": + "integrity" "sha1-A4u7LqnqkDhbJvvBhU0LU58qvqM=" + "resolved" "https://registry.npmjs.org/event-stream/-/event-stream-3.0.20.tgz" + "version" "3.0.20" + dependencies: + "duplexer" "~0.1.1" + "from" "~0" + "map-stream" "~0.0.3" + "pause-stream" "0.0.11" + "split" "0.2" + "stream-combiner" "~0.0.3" + "through" "~2.3.1" + + "event-target-shim@^5.0.0": + "integrity" "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + "resolved" "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" + "version" "5.0.1" + + "events@^1.1.0": + "integrity" "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + "resolved" "https://registry.npmjs.org/events/-/events-1.1.1.tgz" + "version" "1.1.1" + + "exec-sh@^0.3.2": + "integrity" "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==" + "resolved" "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz" + "version" "0.3.4" + + "execa@^1.0.0": + "integrity" "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==" + "resolved" "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "cross-spawn" "^6.0.0" + "get-stream" "^4.0.0" + "is-stream" "^1.1.0" + "npm-run-path" "^2.0.0" + "p-finally" "^1.0.0" + "signal-exit" "^3.0.0" + "strip-eof" "^1.0.0" + + "execa@^4.0.0": + "integrity" "sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==" + "resolved" "https://registry.npmjs.org/execa/-/execa-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "cross-spawn" "^7.0.0" + "get-stream" "^5.0.0" + "human-signals" "^1.1.1" + "is-stream" "^2.0.0" + "merge-stream" "^2.0.0" + "npm-run-path" "^4.0.0" + "onetime" "^5.1.0" + "signal-exit" "^3.0.2" + "strip-final-newline" "^2.0.0" + + "exit-hook@^1.0.0": + "integrity" "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=" + "resolved" "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz" + "version" "1.1.1" + + "exit@^0.1.2": + "integrity" "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" + "resolved" "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + "version" "0.1.2" + + "expand-brackets@^2.1.4": + "integrity" "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=" + "resolved" "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" + "version" "2.1.4" + dependencies: + "debug" "^2.3.3" + "define-property" "^0.2.5" + "extend-shallow" "^2.0.1" + "posix-character-classes" "^0.1.0" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.1" + + "expand-tilde@^2.0.0", "expand-tilde@^2.0.2": + "integrity" "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=" + "resolved" "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "homedir-polyfill" "^1.0.1" + + "expect@^26.4.2": + "integrity" "sha512-IlJ3X52Z0lDHm7gjEp+m76uX46ldH5VpqmU0006vqDju/285twh7zaWMRhs67VpQhBwjjMchk+p5aA0VkERCAA==" + "resolved" "https://registry.npmjs.org/expect/-/expect-26.4.2.tgz" + "version" "26.4.2" + dependencies: + "@jest/types" "^26.3.0" + "ansi-styles" "^4.0.0" + "jest-get-type" "^26.3.0" + "jest-matcher-utils" "^26.4.2" + "jest-message-util" "^26.3.0" + "jest-regex-util" "^26.0.0" + + "extend-shallow@^1.1.2": + "integrity" "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=" + "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz" + "version" "1.1.4" + dependencies: + "kind-of" "^1.1.0" + + "extend-shallow@^2.0.1": + "integrity" "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=" + "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "is-extendable" "^0.1.0" + + "extend-shallow@^3.0.0": + "integrity" "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=" + "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "assign-symbols" "^1.0.0" + "is-extendable" "^1.0.1" + + "extend-shallow@^3.0.2": + "integrity" "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=" + "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "assign-symbols" "^1.0.0" + "is-extendable" "^1.0.1" + + "extend@^3.0.0", "extend@^3.0.2", "extend@~3.0.0", "extend@~3.0.2": + "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + "version" "3.0.2" + + "extglob@^2.0.4": + "integrity" "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==" + "resolved" "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" + "version" "2.0.4" + dependencies: + "array-unique" "^0.3.2" + "define-property" "^1.0.0" + "expand-brackets" "^2.1.4" + "extend-shallow" "^2.0.1" + "fragment-cache" "^0.2.1" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.1" + + "extsprintf@^1.2.0": + "integrity" "sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=" + "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz" + "version" "1.4.0" + + "extsprintf@1.3.0": + "integrity" "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" + "version" "1.3.0" + + "fancy-log@^1.1.0", "fancy-log@^1.3.2": + "integrity" "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==" + "resolved" "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz" + "version" "1.3.3" + dependencies: + "ansi-gray" "^0.1.1" + "color-support" "^1.1.3" + "parse-node-version" "^1.0.0" + "time-stamp" "^1.0.0" + + "fast-deep-equal@^3.1.1": + "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + "version" "3.1.3" + + "fast-json-stable-stringify@^2.0.0": + "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + "version" "2.1.0" + + "fast-levenshtein@~2.0.6": + "integrity" "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + "version" "2.0.6" + + "fast-text-encoding@^1.0.0": + "integrity" "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" + "resolved" "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz" + "version" "1.0.3" + + "faye-websocket@~0.7.2": + "integrity" "sha1-zEB0x/Sk39A69U3WXDVLE1EyzhE=" + "resolved" "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.7.3.tgz" + "version" "0.7.3" + dependencies: + "websocket-driver" ">=0.3.6" + + "faye-websocket@0.11.3": + "integrity" "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==" + "resolved" "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz" + "version" "0.11.3" + dependencies: + "websocket-driver" ">=0.5.1" + + "fb-watchman@^2.0.0": + "integrity" "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==" + "resolved" "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "bser" "2.1.1" + + "figures@^1.3.5": + "integrity" "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=" + "resolved" "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz" + "version" "1.7.0" + dependencies: + "escape-string-regexp" "^1.0.5" + "object-assign" "^4.1.0" + + "file-extension@^1.0.1": + "integrity" "sha1-Ih29nCMc1QpavCAxUKn/QLMxUHA=" + "resolved" "https://registry.npmjs.org/file-extension/-/file-extension-1.1.4.tgz" + "version" "1.1.4" + + "fill-range@^4.0.0": + "integrity" "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=" + "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "extend-shallow" "^2.0.1" + "is-number" "^3.0.0" + "repeat-string" "^1.6.1" + "to-regex-range" "^2.1.0" + + "fill-range@^7.0.1": + "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" + "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "to-regex-range" "^5.0.1" + + "finalhandler@1.1.2": + "integrity" "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==" + "resolved" "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "debug" "2.6.9" + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "on-finished" "~2.3.0" + "parseurl" "~1.3.3" + "statuses" "~1.5.0" + "unpipe" "~1.0.0" + + "find-index@^0.1.1": + "integrity" "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=" + "resolved" "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz" + "version" "0.1.1" + + "find-up@^1.0.0": + "integrity" "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "path-exists" "^2.0.0" + "pinkie-promise" "^2.0.0" + + "find-up@^4.0.0", "find-up@^4.1.0": + "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "locate-path" "^5.0.0" + "path-exists" "^4.0.0" + + "findup-sync@^2.0.0": + "integrity" "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=" + "resolved" "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "detect-file" "^1.0.0" + "is-glob" "^3.1.0" + "micromatch" "^3.0.4" + "resolve-dir" "^1.0.1" + + "fined@^1.0.1": + "integrity" "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==" + "resolved" "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "expand-tilde" "^2.0.2" + "is-plain-object" "^2.0.3" + "object.defaults" "^1.1.0" + "object.pick" "^1.2.0" + "parse-filepath" "^1.0.1" + + "firebase-admin@^8.12.1": + "integrity" "sha512-krXj5ncWMJBhCpXSn9UFY6zmDWjFjqgx+1e9ATXKFYndEjmKtNBuJzqdrAdDh7aTUR7X6+0TPx4Hbc08kd0lwQ==" + "resolved" "https://registry.npmjs.org/firebase-admin/-/firebase-admin-8.13.0.tgz" + "version" "8.13.0" + dependencies: + "@firebase/database" "^0.6.0" + "@types/node" "^8.10.59" + "dicer" "^0.3.0" + "jsonwebtoken" "^8.5.1" + "node-forge" "^0.7.6" + optionalDependencies: + "@google-cloud/firestore" "^3.0.0" + "@google-cloud/storage" "^4.1.2" + + "firebase@7.18.0": + "integrity" "sha512-RGq0rWX25EDsM21TjRe1FbnygJwHXL7yN4P0Zh2Z7dWrBcfJ8tQpDxgwMDtiJTuo9UYExK3py4wjgpGJBau6wg==" + "resolved" "https://registry.npmjs.org/firebase/-/firebase-7.18.0.tgz" + "version" "7.18.0" + dependencies: + "@firebase/analytics" "0.4.2" + "@firebase/app" "0.6.10" + "@firebase/app-types" "0.6.1" + "@firebase/auth" "0.14.9" + "@firebase/database" "0.6.11" + "@firebase/firestore" "1.16.4" + "@firebase/functions" "0.4.50" + "@firebase/installations" "0.4.16" + "@firebase/messaging" "0.7.0" + "@firebase/performance" "0.3.11" + "@firebase/polyfill" "0.3.36" + "@firebase/remote-config" "0.1.27" + "@firebase/storage" "0.3.42" + "@firebase/util" "0.3.1" + + "first-chunk-stream@^1.0.0": + "integrity" "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=" + "resolved" "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz" + "version" "1.0.0" + + "fizzy-ui-utils@^2.0.0", "fizzy-ui-utils@^2.0.4": + "integrity" "sha512-CZXDVXQ1If3/r8s0T+v+qVeMshhfcuq0rqIFgJnrtd+Bu8GmDmqMjntjUePypVtjHXKJ6V4sw9zeyox34n9aCg==" + "resolved" "https://registry.npmjs.org/fizzy-ui-utils/-/fizzy-ui-utils-2.0.7.tgz" + "version" "2.0.7" + dependencies: + "desandro-matches-selector" "^2.0.0" + + "flagged-respawn@^1.0.0": + "integrity" "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==" + "resolved" "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz" + "version" "1.0.1" + + "for-in@^1.0.1", "for-in@^1.0.2": + "integrity" "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + "resolved" "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" + "version" "1.0.2" + + "for-own@^1.0.0": + "integrity" "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=" + "resolved" "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "for-in" "^1.0.1" + + "foreach@^2.0.5": + "integrity" "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + "resolved" "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz" + "version" "2.0.5" + + "forever-agent@~0.6.1": + "integrity" "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + "resolved" "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" + "version" "0.6.1" + + "fork-stream@^0.0.4": + "integrity" "sha1-24Sfznf2cIpfjzhq5TOgkHtUrnA=" + "resolved" "https://registry.npmjs.org/fork-stream/-/fork-stream-0.0.4.tgz" + "version" "0.0.4" + + "form-data@~2.1.1": + "integrity" "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=" + "resolved" "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz" + "version" "2.1.4" + dependencies: + "asynckit" "^0.4.0" + "combined-stream" "^1.0.5" + "mime-types" "^2.1.12" + + "form-data@~2.3.2": + "integrity" "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==" + "resolved" "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" + "version" "2.3.3" + dependencies: + "asynckit" "^0.4.0" + "combined-stream" "^1.0.6" + "mime-types" "^2.1.12" + + "fragment-cache@^0.2.1": + "integrity" "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=" + "resolved" "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" + "version" "0.2.1" + dependencies: + "map-cache" "^0.2.2" + + "fresh@0.5.2": + "integrity" "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + "resolved" "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" + "version" "0.5.2" + + "from@~0": + "integrity" "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=" + "resolved" "https://registry.npmjs.org/from/-/from-0.1.7.tgz" + "version" "0.1.7" + + "front-matter@^2.0.0": + "integrity" "sha1-cgOviWzjV+4E4qpFFp6pHtf2dQQ=" + "resolved" "https://registry.npmjs.org/front-matter/-/front-matter-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "js-yaml" "^3.10.0" + + "fs.realpath@^1.0.0": + "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + "version" "1.0.0" + + "fsevents@^2.1.2": + "integrity" "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==" + "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz" + "version" "2.1.3" + + "function-bind@^1.1.1": + "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + "version" "1.1.1" + + "functional-red-black-tree@^1.0.1": + "integrity" "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + "resolved" "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" + "version" "1.0.1" + + "gaxios@^2.0.0", "gaxios@^2.1.0": + "integrity" "sha512-US8UMj8C5pRnao3Zykc4AAVr+cffoNKRTg9Rsf2GiuZCW69vgJj38VK2PzlPuQU73FZ/nTk9/Av6/JGcE1N9vA==" + "resolved" "https://registry.npmjs.org/gaxios/-/gaxios-2.3.4.tgz" + "version" "2.3.4" + dependencies: + "abort-controller" "^3.0.0" + "extend" "^3.0.2" + "https-proxy-agent" "^5.0.0" + "is-stream" "^2.0.0" + "node-fetch" "^2.3.0" + + "gaxios@^3.0.0": + "integrity" "sha512-+6WPeVzPvOshftpxJwRi2Ozez80tn/hdtOUag7+gajDHRJvAblKxTFSSMPtr2hmnLy7p0mvYz0rMXLBl8pSO7Q==" + "resolved" "https://registry.npmjs.org/gaxios/-/gaxios-3.2.0.tgz" + "version" "3.2.0" + dependencies: + "abort-controller" "^3.0.0" + "extend" "^3.0.2" + "https-proxy-agent" "^5.0.0" + "is-stream" "^2.0.0" + "node-fetch" "^2.3.0" + + "gaze@^0.5.1": + "integrity" "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=" + "resolved" "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz" + "version" "0.5.2" + dependencies: + "globule" "~0.1.0" + + "gcp-metadata@^3.4.0": + "integrity" "sha512-ZQf+DLZ5aKcRpLzYUyBS3yo3N0JSa82lNDO8rj3nMSlovLcz2riKFBsYgDzeXcv75oo5eqB2lx+B14UvPoCRnA==" + "resolved" "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-3.5.0.tgz" + "version" "3.5.0" + dependencies: + "gaxios" "^2.1.0" + "json-bigint" "^0.3.0" + + "gcp-metadata@^4.1.0": + "integrity" "sha512-vQZD57cQkqIA6YPGXM/zc+PIZfNRFdukWGsGZ5+LcJzesi5xp6Gn7a02wRJi4eXPyArNMIYpPET4QMxGqtlk6Q==" + "resolved" "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "gaxios" "^3.0.0" + "json-bigint" "^1.0.0" + + "gcs-resumable-upload@^2.2.4": + "integrity" "sha512-sf896I5CC/1AxeaGfSFg3vKMjUq/r+A3bscmVzZm10CElyRanN0XwPu/MxeIO4LSP+9uF6yKzXvNsaTsMXUG6Q==" + "resolved" "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-2.3.3.tgz" + "version" "2.3.3" + dependencies: + "abort-controller" "^3.0.0" + "configstore" "^5.0.0" + "gaxios" "^2.0.0" + "google-auth-library" "^5.0.0" + "pumpify" "^2.0.0" + "stream-events" "^1.0.4" + + "gensync@^1.0.0-beta.1": + "integrity" "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==" + "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz" + "version" "1.0.0-beta.1" + + "get-caller-file@^2.0.1": + "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + "version" "2.0.5" + + "get-package-type@^0.1.0": + "integrity" "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" + "resolved" "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" + "version" "0.1.0" + + "get-size@^2.0.0", "get-size@^2.0.2": + "integrity" "sha512-lXNzT/h/dTjTxRbm9BXb+SGxxzkm97h/PCIKtlN/CBCxxmkkIVV21udumMS93MuVTDX583gqc94v3RjuHmI+2Q==" + "resolved" "https://registry.npmjs.org/get-size/-/get-size-2.0.3.tgz" + "version" "2.0.3" + + "get-stdin@^4.0.1": + "integrity" "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" + "resolved" "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" + "version" "4.0.1" + + "get-stream@^4.0.0": + "integrity" "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "pump" "^3.0.0" + + "get-stream@^5.0.0": + "integrity" "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "pump" "^3.0.0" + + "get-value@^2.0.3", "get-value@^2.0.6": + "integrity" "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + "resolved" "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" + "version" "2.0.6" + + "getpass@^0.1.1": + "integrity" "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=" + "resolved" "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" + "version" "0.1.7" + dependencies: + "assert-plus" "^1.0.0" + + "glob-stream@^3.1.5": + "integrity" "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=" + "resolved" "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz" + "version" "3.1.18" + dependencies: + "glob" "^4.3.1" + "glob2base" "^0.0.12" + "minimatch" "^2.0.1" + "ordered-read-streams" "^0.1.0" + "through2" "^0.6.1" + "unique-stream" "^1.0.0" + + "glob-watcher@^0.0.6": + "integrity" "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=" + "resolved" "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz" + "version" "0.0.6" + dependencies: + "gaze" "^0.5.1" + + "glob@^4.3.1": + "integrity" "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=" + "resolved" "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz" + "version" "4.5.3" + dependencies: + "inflight" "^1.0.4" + "inherits" "2" + "minimatch" "^2.0.1" + "once" "^1.3.0" + + "glob@^7.0.3", "glob@^7.0.5", "glob@^7.1.1", "glob@^7.1.2", "glob@^7.1.3", "glob@^7.1.4": + "integrity" "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==" + "resolved" "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" + "version" "7.1.6" + 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@~3.1.21": + "integrity" "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=" + "resolved" "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz" + "version" "3.1.21" + dependencies: + "graceful-fs" "~1.2.0" + "inherits" "1" + "minimatch" "~0.2.11" + + "glob2base@^0.0.12": + "integrity" "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=" + "resolved" "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz" + "version" "0.0.12" + dependencies: + "find-index" "^0.1.1" + + "global-modules@^1.0.0": + "integrity" "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==" + "resolved" "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "global-prefix" "^1.0.1" + "is-windows" "^1.0.1" + "resolve-dir" "^1.0.0" + + "global-prefix@^1.0.1": + "integrity" "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=" + "resolved" "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "expand-tilde" "^2.0.2" + "homedir-polyfill" "^1.0.1" + "ini" "^1.3.4" + "is-windows" "^1.0.1" + "which" "^1.2.14" + + "global@^4.3.2": + "integrity" "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==" + "resolved" "https://registry.npmjs.org/global/-/global-4.4.0.tgz" + "version" "4.4.0" + dependencies: + "min-document" "^2.19.0" + "process" "^0.11.10" + + "globals@^11.1.0": + "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + "version" "11.12.0" + + "globby@^6.1.0": + "integrity" "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=" + "resolved" "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "array-union" "^1.0.1" + "glob" "^7.0.3" + "object-assign" "^4.0.1" + "pify" "^2.0.0" + "pinkie-promise" "^2.0.0" + + "globule@~0.1.0": + "integrity" "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=" + "resolved" "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz" + "version" "0.1.0" + dependencies: + "glob" "~3.1.21" + "lodash" "~1.0.1" + "minimatch" "~0.2.11" + + "glogg@^1.0.0": + "integrity" "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==" + "resolved" "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "sparkles" "^1.0.0" + + "google-auth-library@^5.0.0", "google-auth-library@^5.5.0", "google-auth-library@5.x || 6.x": + "integrity" "sha512-rOlaok5vlpV9rSiUu5EpR0vVpc+PhN62oF4RyX/6++DG1VsaulAFEMlDYBLjJDDPI6OcNOCGAKy9UVB/3NIDXg==" + "resolved" "https://registry.npmjs.org/google-auth-library/-/google-auth-library-5.10.1.tgz" + "version" "5.10.1" + dependencies: + "arrify" "^2.0.0" + "base64-js" "^1.3.0" + "ecdsa-sig-formatter" "^1.0.11" + "fast-text-encoding" "^1.0.0" + "gaxios" "^2.1.0" + "gcp-metadata" "^3.4.0" + "gtoken" "^4.1.0" + "jws" "^4.0.0" + "lru-cache" "^5.0.0" + + "google-auth-library@^6.0.0": + "integrity" "sha512-fWYdRdg55HSJoRq9k568jJA1lrhg9i2xgfhVIMJbskUmbDpJGHsbv9l41DGhCDXM21F9Kn4kUwdysgxSYBYJUw==" + "resolved" "https://registry.npmjs.org/google-auth-library/-/google-auth-library-6.0.6.tgz" + "version" "6.0.6" + dependencies: + "arrify" "^2.0.0" + "base64-js" "^1.3.0" + "ecdsa-sig-formatter" "^1.0.11" + "fast-text-encoding" "^1.0.0" + "gaxios" "^3.0.0" + "gcp-metadata" "^4.1.0" + "gtoken" "^5.0.0" + "jws" "^4.0.0" + "lru-cache" "^6.0.0" + + "google-gax@^1.15.3": + "integrity" "sha512-3JKJCRumNm3x2EksUTw4P1Rad43FTpqrtW9jzpf3xSMYXx+ogaqTM1vGo7VixHB4xkAyATXVIa3OcNSh8H9zsQ==" + "resolved" "https://registry.npmjs.org/google-gax/-/google-gax-1.15.3.tgz" + "version" "1.15.3" + dependencies: + "@grpc/grpc-js" "~1.0.3" + "@grpc/proto-loader" "^0.5.1" + "@types/fs-extra" "^8.0.1" + "@types/long" "^4.0.0" + "abort-controller" "^3.0.0" + "duplexify" "^3.6.0" + "google-auth-library" "^5.0.0" + "is-stream-ended" "^0.1.4" + "lodash.at" "^4.6.0" + "lodash.has" "^4.5.2" + "node-fetch" "^2.6.0" + "protobufjs" "^6.8.9" + "retry-request" "^4.0.0" + "semver" "^6.0.0" + "walkdir" "^0.4.0" + + "google-p12-pem@^2.0.0": + "integrity" "sha512-S4blHBQWZRnEW44OcR7TL9WR+QCqByRvhNDZ/uuQfpxywfupikf/miba8js1jZi6ZOGv5slgSuoshCWh6EMDzg==" + "resolved" "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-2.0.4.tgz" + "version" "2.0.4" + dependencies: + "node-forge" "^0.9.0" + + "google-p12-pem@^3.0.0": + "integrity" "sha512-wS0ek4ZtFx/ACKYF3JhyGe5kzH7pgiQ7J5otlumqR9psmWMYc+U9cErKlCYVYHoUaidXHdZ2xbo34kB+S+24hA==" + "resolved" "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "node-forge" "^0.10.0" + + "graceful-fs@^3.0.0": + "integrity" "sha512-J55gaCS4iTTJfTXIxSVw3EMQckcqkpdRv3IR7gu6sq0+tbC363Zx6KH/SEwXASK9JRbhyZmVjJEVJIOxYsB3Qg==" + "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.12.tgz" + "version" "3.0.12" + dependencies: + "natives" "^1.1.3" + + "graceful-fs@^4.1.2", "graceful-fs@^4.2.4": + "integrity" "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz" + "version" "4.2.4" + + "graceful-fs@~1.2.0": + "integrity" "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=" + "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" + "version" "1.2.3" + + "growly@^1.3.0": + "integrity" "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" + "resolved" "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz" + "version" "1.3.0" + + "gtoken@^4.1.0": + "integrity" "sha512-VxirzD0SWoFUo5p8RDP8Jt2AGyOmyYcT/pOUgDKJCK+iSw0TMqwrVfY37RXTNmoKwrzmDHSk0GMT9FsgVmnVSA==" + "resolved" "https://registry.npmjs.org/gtoken/-/gtoken-4.1.4.tgz" + "version" "4.1.4" + dependencies: + "gaxios" "^2.1.0" + "google-p12-pem" "^2.0.0" + "jws" "^4.0.0" + "mime" "^2.2.0" + + "gtoken@^5.0.0": + "integrity" "sha512-Nyd1wZCMRc2dj/mAD0LlfQLcAO06uKdpKJXvK85SGrF5+5+Bpfil9u/2aw35ltvEHjvl0h5FMKN5knEU+9JrOg==" + "resolved" "https://registry.npmjs.org/gtoken/-/gtoken-5.0.3.tgz" + "version" "5.0.3" + dependencies: + "gaxios" "^3.0.0" + "google-p12-pem" "^3.0.0" + "jws" "^4.0.0" + "mime" "^2.2.0" + + "gulp-base64-inline@1.0.6": + "integrity" "sha512-vpKJNdeIfoqd5XX6sIJwb5IDseqZxmKD0CRaKBHV+vHuWeITM2d8lQ4RRK/wDcJU0tiOXg2SDB1vkmyXms6INA==" + "resolved" "https://registry.npmjs.org/gulp-base64-inline/-/gulp-base64-inline-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "ansi-colors" "^2.0.2" + "fancy-log" "^1.3.2" + "file-extension" "^1.0.1" + "mime" "^1.3.4" + "plugin-error" "^1.0.1" + "through2" "^0.6.3" + + "gulp-concat@2.6.1": + "integrity" "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=" + "resolved" "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz" + "version" "2.6.1" + dependencies: + "concat-with-sourcemaps" "^1.0.0" + "through2" "^2.0.0" + "vinyl" "^2.0.0" + + "gulp-filter@^6.0.0": + "integrity" "sha512-veQFW93kf6jBdWdF/RxMEIlDK2mkjHyPftM381DID2C9ImTVngwYpyyThxm4/EpgcNOT37BLefzMOjEKbyYg0Q==" + "resolved" "https://registry.npmjs.org/gulp-filter/-/gulp-filter-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "multimatch" "^4.0.0" + "plugin-error" "^1.0.1" + "streamfilter" "^3.0.0" + + "gulp-flatmap@1.0.0": + "integrity" "sha1-5jTgPP+yY666z9wi3Yzi89dv/pc=" + "resolved" "https://registry.npmjs.org/gulp-flatmap/-/gulp-flatmap-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "gulp-util" "~2.2.14" + "through2" "~0.6.3" + + "gulp-front-matter@1.3.0": + "integrity" "sha1-XuRm+/r7M0ILzV4CZ7toGURKsG0=" + "resolved" "https://registry.npmjs.org/gulp-front-matter/-/gulp-front-matter-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "front-matter" "^2.0.0" + "gulp-util" "^3.0.6" + "object-path" "^0.9.2" + "readable-stream" "^2.0.3" + "tryit" "^1.0.1" + "vinyl-bufferstream" "^1.0.1" + + "gulp-handlebars-html@0.0.2": + "integrity" "sha1-R642nlYALvv/YvPXdZYs6uQQftE=" + "resolved" "https://registry.npmjs.org/gulp-handlebars-html/-/gulp-handlebars-html-0.0.2.tgz" + "version" "0.0.2" + dependencies: + "gulp-util" "~2.2.10" + "through2" "~0.4.0" + + "gulp-if@2.0.2": + "integrity" "sha1-pJe351cwBQQcqivIt92jyARE1ik=" + "resolved" "https://registry.npmjs.org/gulp-if/-/gulp-if-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "gulp-match" "^1.0.3" + "ternary-stream" "^2.0.1" + "through2" "^2.0.1" + + "gulp-insert@0.5.0": + "integrity" "sha1-MjE/E+SiPPWsylzl8MCAkjx3hgI=" + "resolved" "https://registry.npmjs.org/gulp-insert/-/gulp-insert-0.5.0.tgz" + "version" "0.5.0" + dependencies: + "readable-stream" "^1.0.26-4" + "streamqueue" "0.0.6" + + "gulp-json-transform@0.4.2": + "integrity" "sha1-IkXtJS+jCcl7i92dGhnN0UnjJoU=" + "resolved" "https://registry.npmjs.org/gulp-json-transform/-/gulp-json-transform-0.4.2.tgz" + "version" "0.4.2" + dependencies: + "gulp-util" "^3.0.7" + "promise" "^7.1.1" + "through2" "^2.0.1" + + "gulp-jsoncombine@1.0.4": + "integrity" "sha1-5RAomwKoHUBR/JOUnGufFWT7V6c=" + "resolved" "https://registry.npmjs.org/gulp-jsoncombine/-/gulp-jsoncombine-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "plugin-error" "^0.1.2" + "through" "*" + "vinyl" "^2.1.0" + + "gulp-less@3.3.0": + "integrity" "sha1-0IVWXaPIEDB/3nx4dOhlINxQMjQ=" + "resolved" "https://registry.npmjs.org/gulp-less/-/gulp-less-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "accord" "^0.26.3" + "gulp-util" "^3.0.7" + "less" "2.6.x || ^2.7.1" + "object-assign" "^4.0.1" + "through2" "^2.0.0" + "vinyl-sourcemaps-apply" "^0.2.0" + + "gulp-markdown-it-adapter@0.1.1": + "integrity" "sha1-vlxCzosw/kje5xfl458hA3kiu00=" + "resolved" "https://registry.npmjs.org/gulp-markdown-it-adapter/-/gulp-markdown-it-adapter-0.1.1.tgz" + "version" "0.1.1" + dependencies: + "gulp-util" "^3.0.7" + "through2" "^2.0.1" + + "gulp-match@^1.0.3": + "integrity" "sha512-DlyVxa1Gj24DitY2OjEsS+X6tDpretuxD6wTfhXE/Rw2hweqc1f6D/XtsJmoiCwLWfXgR87W9ozEityPCVzGtQ==" + "resolved" "https://registry.npmjs.org/gulp-match/-/gulp-match-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "minimatch" "^3.0.3" + + "gulp-prompt@0.2.0": + "integrity" "sha1-l2DJC72H6AAigzDrrHTWWcwt23g=" + "resolved" "https://registry.npmjs.org/gulp-prompt/-/gulp-prompt-0.2.0.tgz" + "version" "0.2.0" + dependencies: + "event-stream" "~3.0.20" + "inquirer" "~0.10" + + "gulp-rename@1.2.2": + "integrity" "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=" + "resolved" "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz" + "version" "1.2.2" + + "gulp-rev-replace@0.4.3": + "integrity" "sha1-crUYSPXwk61Ld7HSQRCB63is1G4=" + "resolved" "https://registry.npmjs.org/gulp-rev-replace/-/gulp-rev-replace-0.4.3.tgz" + "version" "0.4.3" + dependencies: + "gulp-util" "^3.0.7" + "through2" "^2.0.0" + + "gulp-rev@7.1.2": + "integrity" "sha1-XhfMIp9rRcdCVviK0/LT6aMwWCk=" + "resolved" "https://registry.npmjs.org/gulp-rev/-/gulp-rev-7.1.2.tgz" + "version" "7.1.2" + dependencies: + "gulp-util" "^3.0.0" + "modify-filename" "^1.1.0" + "object-assign" "^4.0.1" + "rev-hash" "^1.0.0" + "rev-path" "^1.0.0" + "sort-keys" "^1.0.0" + "through2" "^2.0.0" + "vinyl-file" "^1.1.0" + + "gulp-tap@1.0.1": + "integrity" "sha1-5nESThJZtM6iGe0cqXt/WFwzRpA=" + "resolved" "https://registry.npmjs.org/gulp-tap/-/gulp-tap-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "through2" "^2.0.3" + + "gulp-util@^2.2.19": + "integrity" "sha1-1xRuVyiRC9jwR6awseVJvCLb1kw=" + "resolved" "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz" + "version" "2.2.20" + dependencies: + "chalk" "^0.5.0" + "dateformat" "^1.0.7-1.2.3" + "lodash._reinterpolate" "^2.4.1" + "lodash.template" "^2.4.1" + "minimist" "^0.2.0" + "multipipe" "^0.1.0" + "through2" "^0.5.0" + "vinyl" "^0.2.1" + + "gulp-util@^3.0.0", "gulp-util@^3.0.6", "gulp-util@^3.0.7", "gulp-util@3.0.8": + "integrity" "sha1-AFTh50RQLifATBh8PsxQXdVLu08=" + "resolved" "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz" + "version" "3.0.8" + dependencies: + "array-differ" "^1.0.0" + "array-uniq" "^1.0.2" + "beeper" "^1.0.0" + "chalk" "^1.0.0" + "dateformat" "^2.0.0" + "fancy-log" "^1.1.0" + "gulplog" "^1.0.0" + "has-gulplog" "^0.1.0" + "lodash._reescape" "^3.0.0" + "lodash._reevaluate" "^3.0.0" + "lodash._reinterpolate" "^3.0.0" + "lodash.template" "^3.0.0" + "minimist" "^1.1.0" + "multipipe" "^0.1.2" + "object-assign" "^3.0.0" + "replace-ext" "0.0.1" + "through2" "^2.0.0" + "vinyl" "^0.5.0" + + "gulp-util@~2.2.10": + "integrity" "sha1-1xRuVyiRC9jwR6awseVJvCLb1kw=" + "resolved" "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz" + "version" "2.2.20" + dependencies: + "chalk" "^0.5.0" + "dateformat" "^1.0.7-1.2.3" + "lodash._reinterpolate" "^2.4.1" + "lodash.template" "^2.4.1" + "minimist" "^0.2.0" + "multipipe" "^0.1.0" + "through2" "^0.5.0" + "vinyl" "^0.2.1" + + "gulp-util@~2.2.14": + "integrity" "sha1-1xRuVyiRC9jwR6awseVJvCLb1kw=" + "resolved" "https://registry.npmjs.org/gulp-util/-/gulp-util-2.2.20.tgz" + "version" "2.2.20" + dependencies: + "chalk" "^0.5.0" + "dateformat" "^1.0.7-1.2.3" + "lodash._reinterpolate" "^2.4.1" + "lodash.template" "^2.4.1" + "minimist" "^0.2.0" + "multipipe" "^0.1.0" + "through2" "^0.5.0" + "vinyl" "^0.2.1" + + "gulp-webserver@0.9.1": + "integrity" "sha1-4JmSFl2XxYZWFtZCoWAVKbA2cGQ=" + "resolved" "https://registry.npmjs.org/gulp-webserver/-/gulp-webserver-0.9.1.tgz" + "version" "0.9.1" + dependencies: + "connect" "^3.0.1" + "connect-livereload" "^0.4.0" + "gulp-util" "^2.2.19" + "isarray" "0.0.1" + "node.extend" "^1.0.10" + "open" "^0.0.5" + "proxy-middleware" "^0.5.0" + "serve-index" "^1.1.4" + "serve-static" "^1.3.0" + "through2" "^0.5.1" + "tiny-lr" "0.1.4" + "watch" "^0.11.0" + + "gulp@3.9.1": + "integrity" "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=" + "resolved" "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz" + "version" "3.9.1" + dependencies: + "archy" "^1.0.0" + "chalk" "^1.0.0" + "deprecated" "^0.0.1" + "gulp-util" "^3.0.0" + "interpret" "^1.0.0" + "liftoff" "^2.1.0" + "minimist" "^1.1.0" + "orchestrator" "^0.3.0" + "pretty-hrtime" "^1.0.0" + "semver" "^4.1.0" + "tildify" "^1.0.0" + "v8flags" "^2.0.2" + "vinyl-fs" "^0.3.0" + + "gulplog@^1.0.0": + "integrity" "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=" + "resolved" "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "glogg" "^1.0.0" + + "handlebars@4.7.7": + "integrity" "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==" + "resolved" "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz" + "version" "4.7.7" + dependencies: + "minimist" "^1.2.5" + "neo-async" "^2.6.0" + "source-map" "^0.6.1" + "wordwrap" "^1.0.0" + optionalDependencies: + "uglify-js" "^3.1.4" + + "har-schema@^1.0.5": + "integrity" "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=" + "resolved" "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz" + "version" "1.0.5" + + "har-schema@^2.0.0": + "integrity" "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + "resolved" "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" + "version" "2.0.0" + + "har-validator@~4.2.1": + "integrity" "sha1-M0gdDxu/9gDdID11gSpqX7oALio=" + "resolved" "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz" + "version" "4.2.1" + dependencies: + "ajv" "^4.9.1" + "har-schema" "^1.0.5" + + "har-validator@~5.1.3": + "integrity" "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==" + "resolved" "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" + "version" "5.1.5" + dependencies: + "ajv" "^6.12.3" + "har-schema" "^2.0.0" + + "has-ansi@^0.1.0": + "integrity" "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=" + "resolved" "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz" + "version" "0.1.0" + dependencies: + "ansi-regex" "^0.2.0" + + "has-ansi@^2.0.0": + "integrity" "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=" + "resolved" "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "ansi-regex" "^2.0.0" + + "has-flag@^3.0.0": + "integrity" "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + "version" "3.0.0" + + "has-flag@^4.0.0": + "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + "version" "4.0.0" + + "has-gulplog@^0.1.0": + "integrity" "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=" + "resolved" "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz" + "version" "0.1.0" + dependencies: + "sparkles" "^1.0.0" + + "has-symbols@^1.0.1": + "integrity" "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz" + "version" "1.0.1" + + "has-value@^0.3.1": + "integrity" "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=" + "resolved" "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" + "version" "0.3.1" + dependencies: + "get-value" "^2.0.3" + "has-values" "^0.1.4" + "isobject" "^2.0.0" + + "has-value@^1.0.0": + "integrity" "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=" + "resolved" "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "get-value" "^2.0.6" + "has-values" "^1.0.0" + "isobject" "^3.0.0" + + "has-values@^0.1.4": + "integrity" "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + "resolved" "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" + "version" "0.1.4" + + "has-values@^1.0.0": + "integrity" "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=" + "resolved" "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "is-number" "^3.0.0" + "kind-of" "^4.0.0" + + "has@^1.0.3": + "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" + "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "function-bind" "^1.1.1" + + "hash-stream-validation@^0.2.2": + "integrity" "sha512-Gjzu0Xn7IagXVkSu9cSFuK1fqzwtLwFhNhVL8IFJijRNMgUttFbBSIAzKuSIrsFMO1+g1RlsoN49zPIbwPDMGQ==" + "resolved" "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.4.tgz" + "version" "0.2.4" + + "hawk@~3.1.3": + "integrity" "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=" + "resolved" "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz" + "version" "3.1.3" + dependencies: + "boom" "2.x.x" + "cryptiles" "2.x.x" + "hoek" "2.x.x" + "sntp" "1.x.x" + + "highlightjs@9.10.0": + "integrity" "sha1-/Km3jdqjsavKidbD7hBa0nCoAZA=" + "resolved" "https://registry.npmjs.org/highlightjs/-/highlightjs-9.10.0.tgz" + "version" "9.10.0" + + "hoek@2.x.x": + "integrity" "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" + "resolved" "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" + "version" "2.16.3" + + "hogan.js@^3.0.2": + "integrity" "sha1-TNnhq9QpQUbnZ55B14mHMrAse/0=" + "resolved" "https://registry.npmjs.org/hogan.js/-/hogan.js-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "mkdirp" "0.3.0" + "nopt" "1.0.10" + + "homedir-polyfill@^1.0.1": + "integrity" "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==" + "resolved" "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "parse-passwd" "^1.0.0" + + "hosted-git-info@^2.1.4": + "integrity" "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==" + "resolved" "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz" + "version" "2.8.8" + + "html-encoding-sniffer@^2.0.1": + "integrity" "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==" + "resolved" "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "whatwg-encoding" "^1.0.5" + + "html-escaper@^2.0.0": + "integrity" "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + "resolved" "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + "version" "2.0.2" + + "http-errors@~1.6.2": + "integrity" "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=" + "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + "version" "1.6.3" + dependencies: + "depd" "~1.1.2" + "inherits" "2.0.3" + "setprototypeof" "1.1.0" + "statuses" ">= 1.4.0 < 2" + + "http-errors@~1.7.2": + "integrity" "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==" + "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz" + "version" "1.7.3" + dependencies: + "depd" "~1.1.2" + "inherits" "2.0.4" + "setprototypeof" "1.1.1" + "statuses" ">= 1.5.0 < 2" + "toidentifier" "1.0.0" + + "http-parser-js@>=0.5.1": + "integrity" "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==" + "resolved" "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz" + "version" "0.5.2" + + "http-proxy-agent@^4.0.0": + "integrity" "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==" + "resolved" "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "@tootallnate/once" "1" + "agent-base" "6" + "debug" "4" + + "http-signature@~1.1.0": + "integrity" "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=" + "resolved" "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "assert-plus" "^0.2.0" + "jsprim" "^1.2.2" + "sshpk" "^1.7.0" + + "http-signature@~1.2.0": + "integrity" "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=" + "resolved" "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "assert-plus" "^1.0.0" + "jsprim" "^1.2.2" + "sshpk" "^1.7.0" + + "https-proxy-agent@^5.0.0": + "integrity" "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==" + "resolved" "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "agent-base" "6" + "debug" "4" + + "human-signals@^1.1.1": + "integrity" "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" + "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz" + "version" "1.1.1" + + "iconv-lite@^0.6.2": + "integrity" "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==" + "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz" + "version" "0.6.2" + dependencies: + "safer-buffer" ">= 2.1.2 < 3.0.0" + + "iconv-lite@0.4.24": + "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" + "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + "version" "0.4.24" + dependencies: + "safer-buffer" ">= 2.1.2 < 3" + + "iconv-lite@0.4.4": + "integrity" "sha1-6V8uQdsHNfwhZS94J6XuMuY8g6g=" + "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.4.tgz" + "version" "0.4.4" + + "idb@3.0.2": + "integrity" "sha512-+FLa/0sTXqyux0o6C+i2lOR0VoS60LU/jzUo5xjfY6+7sEEgy4Gz1O7yFBXvjd7N0NyIGWIRg8DcQSLEG+VSPw==" + "resolved" "https://registry.npmjs.org/idb/-/idb-3.0.2.tgz" + "version" "3.0.2" + + "image-size@~0.5.0": + "integrity" "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=" + "resolved" "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz" + "version" "0.5.5" + + "immediate@^3.2.3": + "integrity" "sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q==" + "resolved" "https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz" + "version" "3.3.0" + + "import-local@^3.0.2": + "integrity" "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==" + "resolved" "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "pkg-dir" "^4.2.0" + "resolve-cwd" "^3.0.0" + + "imurmurhash@^0.1.4": + "integrity" "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + "version" "0.1.4" + + "indent-string@^2.1.0": + "integrity" "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=" + "resolved" "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "repeating" "^2.0.0" + + "indx@^0.2.3": + "integrity" "sha1-Fdz1bunPZcAjTFE8J/vVgOcPvFA=" + "resolved" "https://registry.npmjs.org/indx/-/indx-0.2.3.tgz" + "version" "0.2.3" + + "inflight@^1.0.4": + "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=" + "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "once" "^1.3.0" + "wrappy" "1" + + "inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.1", "inherits@~2.0.3", "inherits@2", "inherits@2.0.4": + "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + "version" "2.0.4" + + "inherits@1": + "integrity" "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz" + "version" "1.0.2" + + "inherits@2.0.3": + "integrity" "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + "version" "2.0.3" + + "ini@^1.3.4": + "integrity" "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz" + "version" "1.3.5" + + "inquirer@~0.10": + "integrity" "sha1-6iXkzmnKFF4FyZ5G3P7AXkASWUo=" + "resolved" "https://registry.npmjs.org/inquirer/-/inquirer-0.10.1.tgz" + "version" "0.10.1" + dependencies: + "ansi-escapes" "^1.1.0" + "ansi-regex" "^2.0.0" + "chalk" "^1.0.0" + "cli-cursor" "^1.0.1" + "cli-width" "^1.0.1" + "figures" "^1.3.5" + "lodash" "^3.3.1" + "readline2" "^1.0.1" + "run-async" "^0.1.0" + "rx-lite" "^3.1.2" + "strip-ansi" "^3.0.0" + "through" "^2.3.6" + + "interpret@^1.0.0": + "integrity" "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + "resolved" "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" + "version" "1.4.0" + + "ip-regex@^2.1.0": + "integrity" "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + "resolved" "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz" + "version" "2.1.0" + + "is-absolute@^1.0.0": + "integrity" "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==" + "resolved" "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "is-relative" "^1.0.0" + "is-windows" "^1.0.1" + + "is-accessor-descriptor@^0.1.6": + "integrity" "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=" + "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" + "version" "0.1.6" + dependencies: + "kind-of" "^3.0.2" + + "is-accessor-descriptor@^1.0.0": + "integrity" "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==" + "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "kind-of" "^6.0.0" + + "is-arguments@^1.0.4": + "integrity" "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" + "resolved" "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz" + "version" "1.0.4" + + "is-arrayish@^0.2.1": + "integrity" "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + "version" "0.2.1" + + "is-bigint@^1.0.0": + "integrity" "sha512-t5mGUXC/xRheCK431ylNiSkGGpBp8bHENBcENTkDT6ppwPzEVxNGZRvgvmOEfbWkFhA7D2GEuE2mmQTr78sl2g==" + "resolved" "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.0.tgz" + "version" "1.0.0" + + "is-boolean-object@^1.0.0": + "integrity" "sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ==" + "resolved" "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.1.tgz" + "version" "1.0.1" + + "is-buffer@^1.1.5": + "integrity" "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" + "version" "1.1.6" + + "is-callable@^1.1.4", "is-callable@^1.2.0": + "integrity" "sha512-wliAfSzx6V+6WfMOmus1xy0XvSgf/dlStkvTfq7F0g4bOIW0PSUbnyse3NhDwdyYS1ozfUtAAySqTws3z9Eqgg==" + "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.1.tgz" + "version" "1.2.1" + + "is-ci@^2.0.0": + "integrity" "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==" + "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "ci-info" "^2.0.0" + + "is-data-descriptor@^0.1.4": + "integrity" "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=" + "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" + "version" "0.1.4" + dependencies: + "kind-of" "^3.0.2" + + "is-data-descriptor@^1.0.0": + "integrity" "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==" + "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "kind-of" "^6.0.0" + + "is-date-object@^1.0.1", "is-date-object@^1.0.2": + "integrity" "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" + "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz" + "version" "1.0.2" + + "is-descriptor@^0.1.0": + "integrity" "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==" + "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" + "version" "0.1.6" + dependencies: + "is-accessor-descriptor" "^0.1.6" + "is-data-descriptor" "^0.1.4" + "kind-of" "^5.0.0" + + "is-descriptor@^1.0.0", "is-descriptor@^1.0.2": + "integrity" "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==" + "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "is-accessor-descriptor" "^1.0.0" + "is-data-descriptor" "^1.0.0" + "kind-of" "^6.0.2" + + "is-docker@^2.0.0": + "integrity" "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==" + "resolved" "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz" + "version" "2.1.1" + + "is-extendable@^0.1.0", "is-extendable@^0.1.1": + "integrity" "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + "version" "0.1.1" + + "is-extendable@^1.0.1": + "integrity" "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==" + "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "is-plain-object" "^2.0.4" + + "is-extglob@^2.1.0": + "integrity" "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + "version" "2.1.1" + + "is-finite@^1.0.0": + "integrity" "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" + "resolved" "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz" + "version" "1.1.0" + + "is-fullwidth-code-point@^1.0.0": + "integrity" "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=" + "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "number-is-nan" "^1.0.0" + + "is-fullwidth-code-point@^3.0.0": + "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + "version" "3.0.0" + + "is-generator-fn@^2.0.0": + "integrity" "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" + "resolved" "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" + "version" "2.1.0" + + "is-glob@^3.1.0": + "integrity" "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=" + "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "is-extglob" "^2.1.0" + + "is-map@^2.0.1": + "integrity" "sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==" + "resolved" "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz" + "version" "2.0.1" + + "is-negative-zero@^2.0.0": + "integrity" "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=" + "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz" + "version" "2.0.0" + + "is-number-object@^1.0.3": + "integrity" "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==" + "resolved" "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz" + "version" "1.0.4" + + "is-number@^3.0.0": + "integrity" "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=" + "resolved" "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "kind-of" "^3.0.2" + + "is-number@^7.0.0": + "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + "version" "7.0.0" + + "is-obj@^2.0.0": + "integrity" "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" + "version" "2.0.0" + + "is-path-cwd@^1.0.0": + "integrity" "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=" + "resolved" "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz" + "version" "1.0.0" + + "is-path-in-cwd@^1.0.0": + "integrity" "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==" + "resolved" "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "is-path-inside" "^1.0.0" + + "is-path-inside@^1.0.0": + "integrity" "sha1-jvW33lBDej/cprToZe96pVy0gDY=" + "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "path-is-inside" "^1.0.1" + + "is-plain-obj@^1.0.0": + "integrity" "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" + "version" "1.1.0" + + "is-plain-object@^2.0.3", "is-plain-object@^2.0.4": + "integrity" "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==" + "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + "version" "2.0.4" + dependencies: + "isobject" "^3.0.1" + + "is-potential-custom-element-name@^1.0.0": + "integrity" "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=" + "resolved" "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz" + "version" "1.0.0" + + "is-regex@^1.0.5", "is-regex@^1.1.0", "is-regex@^1.1.1": + "integrity" "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==" + "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "has-symbols" "^1.0.1" + + "is-relative@^1.0.0": + "integrity" "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==" + "resolved" "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "is-unc-path" "^1.0.0" + + "is-set@^2.0.1": + "integrity" "sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==" + "resolved" "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz" + "version" "2.0.1" + + "is-stream-ended@^0.1.4": + "integrity" "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw==" + "resolved" "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz" + "version" "0.1.4" + + "is-stream@^1.0.1": + "integrity" "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" + "version" "1.1.0" + + "is-stream@^1.1.0": + "integrity" "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" + "version" "1.1.0" + + "is-stream@^2.0.0": + "integrity" "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" + "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz" + "version" "2.0.0" + + "is-string@^1.0.4", "is-string@^1.0.5": + "integrity" "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" + "resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz" + "version" "1.0.5" + + "is-symbol@^1.0.2": + "integrity" "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==" + "resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "has-symbols" "^1.0.1" + + "is-typed-array@^1.1.3": + "integrity" "sha512-BSYUBOK/HJibQ30wWkWold5txYwMUXQct9YHAQJr8fSwvZoiglcqB0pd7vEN23+Tsi9IUEjztdOSzl4qLVYGTQ==" + "resolved" "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "available-typed-arrays" "^1.0.0" + "es-abstract" "^1.17.4" + "foreach" "^2.0.5" + "has-symbols" "^1.0.1" + + "is-typedarray@^1.0.0", "is-typedarray@~1.0.0": + "integrity" "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + "version" "1.0.0" + + "is-unc-path@^1.0.0": + "integrity" "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==" + "resolved" "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "unc-path-regex" "^0.1.2" + + "is-utf8@^0.2.0": + "integrity" "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + "resolved" "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" + "version" "0.2.1" + + "is-weakmap@^2.0.1": + "integrity" "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" + "resolved" "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz" + "version" "2.0.1" + + "is-weakset@^2.0.1": + "integrity" "sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==" + "resolved" "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz" + "version" "2.0.1" + + "is-windows@^1.0.1", "is-windows@^1.0.2": + "integrity" "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + "resolved" "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" + "version" "1.0.2" + + "is-wsl@^2.2.0": + "integrity" "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" + "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "is-docker" "^2.0.0" + + "is@^3.2.1": + "integrity" "sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg==" + "resolved" "https://registry.npmjs.org/is/-/is-3.3.0.tgz" + "version" "3.3.0" + + "isarray@^2.0.1": + "integrity" "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + "version" "2.0.5" + + "isarray@^2.0.5": + "integrity" "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + "version" "2.0.5" + + "isarray@~1.0.0": + "integrity" "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + "version" "1.0.0" + + "isarray@0.0.1": + "integrity" "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + "version" "0.0.1" + + "isarray@1.0.0": + "integrity" "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + "version" "1.0.0" + + "isexe@^2.0.0": + "integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + "version" "2.0.0" + + "isobject@^2.0.0": + "integrity" "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=" + "resolved" "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "isarray" "1.0.0" + + "isobject@^3.0.0", "isobject@^3.0.1": + "integrity" "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "resolved" "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + "version" "3.0.1" + + "isomorphic-fetch@2.2.1": + "integrity" "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=" + "resolved" "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz" + "version" "2.2.1" + dependencies: + "node-fetch" "^1.0.1" + "whatwg-fetch" ">=0.10.0" + + "isotope-layout@^3.0.6": + "integrity" "sha512-z2ZKablhocXhoNyWwzJPFd7u7FWbYbVJA51Nvsqsod8jH2ExGc1SwDsSWKE54e3PhXzqf2yZPhFSq/c2MR1arw==" + "resolved" "https://registry.npmjs.org/isotope-layout/-/isotope-layout-3.0.6.tgz" + "version" "3.0.6" + dependencies: + "desandro-matches-selector" "^2.0.0" + "fizzy-ui-utils" "^2.0.4" + "get-size" "^2.0.0" + "masonry-layout" "^4.1.0" + "outlayer" "^2.1.0" + + "isstream@~0.1.2": + "integrity" "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "resolved" "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" + "version" "0.1.2" + + "istanbul-lib-coverage@^3.0.0": + "integrity" "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==" + "resolved" "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz" + "version" "3.0.0" + + "istanbul-lib-instrument@^4.0.0", "istanbul-lib-instrument@^4.0.3": + "integrity" "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==" + "resolved" "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + "istanbul-lib-coverage" "^3.0.0" + "semver" "^6.3.0" + + "istanbul-lib-report@^3.0.0": + "integrity" "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==" + "resolved" "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "istanbul-lib-coverage" "^3.0.0" + "make-dir" "^3.0.0" + "supports-color" "^7.1.0" + + "istanbul-lib-source-maps@^4.0.0": + "integrity" "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==" + "resolved" "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "debug" "^4.1.1" + "istanbul-lib-coverage" "^3.0.0" + "source-map" "^0.6.1" + + "istanbul-reports@^3.0.2": + "integrity" "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==" + "resolved" "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "html-escaper" "^2.0.0" + "istanbul-lib-report" "^3.0.0" + + "jest-changed-files@^26.3.0": + "integrity" "sha512-1C4R4nijgPltX6fugKxM4oQ18zimS7LqQ+zTTY8lMCMFPrxqBFb7KJH0Z2fRQJvw2Slbaipsqq7s1mgX5Iot+g==" + "resolved" "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.3.0.tgz" + "version" "26.3.0" + dependencies: + "@jest/types" "^26.3.0" + "execa" "^4.0.0" + "throat" "^5.0.0" + + "jest-cli@^26.0.1": + "integrity" "sha512-zb+lGd/SfrPvoRSC/0LWdaWCnscXc1mGYW//NP4/tmBvRPT3VntZ2jtKUONsRi59zc5JqmsSajA9ewJKFYp8Cw==" + "resolved" "https://registry.npmjs.org/jest-cli/-/jest-cli-26.4.2.tgz" + "version" "26.4.2" + dependencies: + "@jest/core" "^26.4.2" + "@jest/test-result" "^26.3.0" + "@jest/types" "^26.3.0" + "chalk" "^4.0.0" + "exit" "^0.1.2" + "graceful-fs" "^4.2.4" + "import-local" "^3.0.2" + "is-ci" "^2.0.0" + "jest-config" "^26.4.2" + "jest-util" "^26.3.0" + "jest-validate" "^26.4.2" + "prompts" "^2.0.1" + "yargs" "^15.3.1" + + "jest-config@^26.4.2": + "integrity" "sha512-QBf7YGLuToiM8PmTnJEdRxyYy3mHWLh24LJZKVdXZ2PNdizSe1B/E8bVm+HYcjbEzGuVXDv/di+EzdO/6Gq80A==" + "resolved" "https://registry.npmjs.org/jest-config/-/jest-config-26.4.2.tgz" + "version" "26.4.2" + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^26.4.2" + "@jest/types" "^26.3.0" + "babel-jest" "^26.3.0" + "chalk" "^4.0.0" + "deepmerge" "^4.2.2" + "glob" "^7.1.1" + "graceful-fs" "^4.2.4" + "jest-environment-jsdom" "^26.3.0" + "jest-environment-node" "^26.3.0" + "jest-get-type" "^26.3.0" + "jest-jasmine2" "^26.4.2" + "jest-regex-util" "^26.0.0" + "jest-resolve" "^26.4.0" + "jest-util" "^26.3.0" + "jest-validate" "^26.4.2" + "micromatch" "^4.0.2" + "pretty-format" "^26.4.2" + + "jest-diff@^26.4.2": + "integrity" "sha512-6T1XQY8U28WH0Z5rGpQ+VqZSZz8EN8rZcBtfvXaOkbwxIEeRre6qnuZQlbY1AJ4MKDxQF8EkrCvK+hL/VkyYLQ==" + "resolved" "https://registry.npmjs.org/jest-diff/-/jest-diff-26.4.2.tgz" + "version" "26.4.2" + dependencies: + "chalk" "^4.0.0" + "diff-sequences" "^26.3.0" + "jest-get-type" "^26.3.0" + "pretty-format" "^26.4.2" + + "jest-docblock@^26.0.0": + "integrity" "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==" + "resolved" "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz" + "version" "26.0.0" + dependencies: + "detect-newline" "^3.0.0" + + "jest-each@^26.4.2": + "integrity" "sha512-p15rt8r8cUcRY0Mvo1fpkOGYm7iI8S6ySxgIdfh3oOIv+gHwrHTy5VWCGOecWUhDsit4Nz8avJWdT07WLpbwDA==" + "resolved" "https://registry.npmjs.org/jest-each/-/jest-each-26.4.2.tgz" + "version" "26.4.2" + dependencies: + "@jest/types" "^26.3.0" + "chalk" "^4.0.0" + "jest-get-type" "^26.3.0" + "jest-util" "^26.3.0" + "pretty-format" "^26.4.2" + + "jest-environment-jsdom@^26.3.0": + "integrity" "sha512-zra8He2btIMJkAzvLaiZ9QwEPGEetbxqmjEBQwhH3CA+Hhhu0jSiEJxnJMbX28TGUvPLxBt/zyaTLrOPF4yMJA==" + "resolved" "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.3.0.tgz" + "version" "26.3.0" + dependencies: + "@jest/environment" "^26.3.0" + "@jest/fake-timers" "^26.3.0" + "@jest/types" "^26.3.0" + "@types/node" "*" + "jest-mock" "^26.3.0" + "jest-util" "^26.3.0" + "jsdom" "^16.2.2" + + "jest-environment-node@^26.3.0": + "integrity" "sha512-c9BvYoo+FGcMj5FunbBgtBnbR5qk3uky8PKyRVpSfe2/8+LrNQMiXX53z6q2kY+j15SkjQCOSL/6LHnCPLVHNw==" + "resolved" "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.3.0.tgz" + "version" "26.3.0" + dependencies: + "@jest/environment" "^26.3.0" + "@jest/fake-timers" "^26.3.0" + "@jest/types" "^26.3.0" + "@types/node" "*" + "jest-mock" "^26.3.0" + "jest-util" "^26.3.0" + + "jest-get-type@^26.3.0": + "integrity" "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" + "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz" + "version" "26.3.0" + + "jest-haste-map@^26.3.0": + "integrity" "sha512-DHWBpTJgJhLLGwE5Z1ZaqLTYqeODQIZpby0zMBsCU9iRFHYyhklYqP4EiG73j5dkbaAdSZhgB938mL51Q5LeZA==" + "resolved" "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.3.0.tgz" + "version" "26.3.0" + dependencies: + "@jest/types" "^26.3.0" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + "anymatch" "^3.0.3" + "fb-watchman" "^2.0.0" + "graceful-fs" "^4.2.4" + "jest-regex-util" "^26.0.0" + "jest-serializer" "^26.3.0" + "jest-util" "^26.3.0" + "jest-worker" "^26.3.0" + "micromatch" "^4.0.2" + "sane" "^4.0.3" + "walker" "^1.0.7" + optionalDependencies: + "fsevents" "^2.1.2" + + "jest-jasmine2@^26.4.2": + "integrity" "sha512-z7H4EpCldHN1J8fNgsja58QftxBSL+JcwZmaXIvV9WKIM+x49F4GLHu/+BQh2kzRKHAgaN/E82od+8rTOBPyPA==" + "resolved" "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.4.2.tgz" + "version" "26.4.2" + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.3.0" + "@jest/source-map" "^26.3.0" + "@jest/test-result" "^26.3.0" + "@jest/types" "^26.3.0" + "@types/node" "*" + "chalk" "^4.0.0" + "co" "^4.6.0" + "expect" "^26.4.2" + "is-generator-fn" "^2.0.0" + "jest-each" "^26.4.2" + "jest-matcher-utils" "^26.4.2" + "jest-message-util" "^26.3.0" + "jest-runtime" "^26.4.2" + "jest-snapshot" "^26.4.2" + "jest-util" "^26.3.0" + "pretty-format" "^26.4.2" + "throat" "^5.0.0" + + "jest-leak-detector@^26.4.2": + "integrity" "sha512-akzGcxwxtE+9ZJZRW+M2o+nTNnmQZxrHJxX/HjgDaU5+PLmY1qnQPnMjgADPGCRPhB+Yawe1iij0REe+k/aHoA==" + "resolved" "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.4.2.tgz" + "version" "26.4.2" + dependencies: + "jest-get-type" "^26.3.0" + "pretty-format" "^26.4.2" + + "jest-matcher-utils@^26.4.2": + "integrity" "sha512-KcbNqWfWUG24R7tu9WcAOKKdiXiXCbMvQYT6iodZ9k1f7065k0keUOW6XpJMMvah+hTfqkhJhRXmA3r3zMAg0Q==" + "resolved" "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.4.2.tgz" + "version" "26.4.2" + dependencies: + "chalk" "^4.0.0" + "jest-diff" "^26.4.2" + "jest-get-type" "^26.3.0" + "pretty-format" "^26.4.2" + + "jest-message-util@^26.3.0": + "integrity" "sha512-xIavRYqr4/otGOiLxLZGj3ieMmjcNE73Ui+LdSW/Y790j5acqCsAdDiLIbzHCZMpN07JOENRWX5DcU+OQ+TjTA==" + "resolved" "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.3.0.tgz" + "version" "26.3.0" + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^26.3.0" + "@types/stack-utils" "^1.0.1" + "chalk" "^4.0.0" + "graceful-fs" "^4.2.4" + "micromatch" "^4.0.2" + "slash" "^3.0.0" + "stack-utils" "^2.0.2" + + "jest-mock@^26.3.0": + "integrity" "sha512-PeaRrg8Dc6mnS35gOo/CbZovoDPKAeB1FICZiuagAgGvbWdNNyjQjkOaGUa/3N3JtpQ/Mh9P4A2D4Fv51NnP8Q==" + "resolved" "https://registry.npmjs.org/jest-mock/-/jest-mock-26.3.0.tgz" + "version" "26.3.0" + dependencies: + "@jest/types" "^26.3.0" + "@types/node" "*" + + "jest-pnp-resolver@^1.2.2": + "integrity" "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==" + "resolved" "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz" + "version" "1.2.2" + + "jest-regex-util@^26.0.0": + "integrity" "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==" + "resolved" "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz" + "version" "26.0.0" + + "jest-resolve-dependencies@^26.4.2": + "integrity" "sha512-ADHaOwqEcVc71uTfySzSowA/RdxUpCxhxa2FNLiin9vWLB1uLPad3we+JSSROq5+SrL9iYPdZZF8bdKM7XABTQ==" + "resolved" "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.4.2.tgz" + "version" "26.4.2" + dependencies: + "@jest/types" "^26.3.0" + "jest-regex-util" "^26.0.0" + "jest-snapshot" "^26.4.2" + + "jest-resolve@*", "jest-resolve@^26.4.0": + "integrity" "sha512-bn/JoZTEXRSlEx3+SfgZcJAVuTMOksYq9xe9O6s4Ekg84aKBObEaVXKOEilULRqviSLAYJldnoWV9c07kwtiCg==" + "resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.4.0.tgz" + "version" "26.4.0" + dependencies: + "@jest/types" "^26.3.0" + "chalk" "^4.0.0" + "graceful-fs" "^4.2.4" + "jest-pnp-resolver" "^1.2.2" + "jest-util" "^26.3.0" + "read-pkg-up" "^7.0.1" + "resolve" "^1.17.0" + "slash" "^3.0.0" + + "jest-runner@^26.4.2": + "integrity" "sha512-FgjDHeVknDjw1gRAYaoUoShe1K3XUuFMkIaXbdhEys+1O4bEJS8Avmn4lBwoMfL8O5oFTdWYKcf3tEJyyYyk8g==" + "resolved" "https://registry.npmjs.org/jest-runner/-/jest-runner-26.4.2.tgz" + "version" "26.4.2" + dependencies: + "@jest/console" "^26.3.0" + "@jest/environment" "^26.3.0" + "@jest/test-result" "^26.3.0" + "@jest/types" "^26.3.0" + "@types/node" "*" + "chalk" "^4.0.0" + "emittery" "^0.7.1" + "exit" "^0.1.2" + "graceful-fs" "^4.2.4" + "jest-config" "^26.4.2" + "jest-docblock" "^26.0.0" + "jest-haste-map" "^26.3.0" + "jest-leak-detector" "^26.4.2" + "jest-message-util" "^26.3.0" + "jest-resolve" "^26.4.0" + "jest-runtime" "^26.4.2" + "jest-util" "^26.3.0" + "jest-worker" "^26.3.0" + "source-map-support" "^0.5.6" + "throat" "^5.0.0" + + "jest-runtime@^26.4.2": + "integrity" "sha512-4Pe7Uk5a80FnbHwSOk7ojNCJvz3Ks2CNQWT5Z7MJo4tX0jb3V/LThKvD9tKPNVNyeMH98J/nzGlcwc00R2dSHQ==" + "resolved" "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.4.2.tgz" + "version" "26.4.2" + dependencies: + "@jest/console" "^26.3.0" + "@jest/environment" "^26.3.0" + "@jest/fake-timers" "^26.3.0" + "@jest/globals" "^26.4.2" + "@jest/source-map" "^26.3.0" + "@jest/test-result" "^26.3.0" + "@jest/transform" "^26.3.0" + "@jest/types" "^26.3.0" + "@types/yargs" "^15.0.0" + "chalk" "^4.0.0" + "collect-v8-coverage" "^1.0.0" + "exit" "^0.1.2" + "glob" "^7.1.3" + "graceful-fs" "^4.2.4" + "jest-config" "^26.4.2" + "jest-haste-map" "^26.3.0" + "jest-message-util" "^26.3.0" + "jest-mock" "^26.3.0" + "jest-regex-util" "^26.0.0" + "jest-resolve" "^26.4.0" + "jest-snapshot" "^26.4.2" + "jest-util" "^26.3.0" + "jest-validate" "^26.4.2" + "slash" "^3.0.0" + "strip-bom" "^4.0.0" + "yargs" "^15.3.1" + + "jest-serializer@^26.3.0": + "integrity" "sha512-IDRBQBLPlKa4flg77fqg0n/pH87tcRKwe8zxOVTWISxGpPHYkRZ1dXKyh04JOja7gppc60+soKVZ791mruVdow==" + "resolved" "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.3.0.tgz" + "version" "26.3.0" + dependencies: + "@types/node" "*" + "graceful-fs" "^4.2.4" + + "jest-snapshot@^26.4.2": + "integrity" "sha512-N6Uub8FccKlf5SBFnL2Ri/xofbaA68Cc3MGjP/NuwgnsvWh+9hLIR/DhrxbSiKXMY9vUW5dI6EW1eHaDHqe9sg==" + "resolved" "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.4.2.tgz" + "version" "26.4.2" + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^26.3.0" + "@types/prettier" "^2.0.0" + "chalk" "^4.0.0" + "expect" "^26.4.2" + "graceful-fs" "^4.2.4" + "jest-diff" "^26.4.2" + "jest-get-type" "^26.3.0" + "jest-haste-map" "^26.3.0" + "jest-matcher-utils" "^26.4.2" + "jest-message-util" "^26.3.0" + "jest-resolve" "^26.4.0" + "natural-compare" "^1.4.0" + "pretty-format" "^26.4.2" + "semver" "^7.3.2" + + "jest-util@^26.3.0": + "integrity" "sha512-4zpn6bwV0+AMFN0IYhH/wnzIQzRaYVrz1A8sYnRnj4UXDXbOVtWmlaZkO9mipFqZ13okIfN87aDoJWB7VH6hcw==" + "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-26.3.0.tgz" + "version" "26.3.0" + dependencies: + "@jest/types" "^26.3.0" + "@types/node" "*" + "chalk" "^4.0.0" + "graceful-fs" "^4.2.4" + "is-ci" "^2.0.0" + "micromatch" "^4.0.2" + + "jest-validate@^26.4.2": + "integrity" "sha512-blft+xDX7XXghfhY0mrsBCYhX365n8K5wNDC4XAcNKqqjEzsRUSXP44m6PL0QJEW2crxQFLLztVnJ4j7oPlQrQ==" + "resolved" "https://registry.npmjs.org/jest-validate/-/jest-validate-26.4.2.tgz" + "version" "26.4.2" + dependencies: + "@jest/types" "^26.3.0" + "camelcase" "^6.0.0" + "chalk" "^4.0.0" + "jest-get-type" "^26.3.0" + "leven" "^3.1.0" + "pretty-format" "^26.4.2" + + "jest-watcher@^26.3.0": + "integrity" "sha512-XnLdKmyCGJ3VoF6G/p5ohbJ04q/vv5aH9ENI+i6BL0uu9WWB6Z7Z2lhQQk0d2AVZcRGp1yW+/TsoToMhBFPRdQ==" + "resolved" "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.3.0.tgz" + "version" "26.3.0" + dependencies: + "@jest/test-result" "^26.3.0" + "@jest/types" "^26.3.0" + "@types/node" "*" + "ansi-escapes" "^4.2.1" + "chalk" "^4.0.0" + "jest-util" "^26.3.0" + "string-length" "^4.0.1" + + "jest-worker@^26.3.0": + "integrity" "sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw==" + "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-26.3.0.tgz" + "version" "26.3.0" + dependencies: + "@types/node" "*" + "merge-stream" "^2.0.0" + "supports-color" "^7.0.0" + + "jquery@3.5.1": + "integrity" "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==" + "resolved" "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz" + "version" "3.5.1" + + "js-tokens@^4.0.0": + "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + "version" "4.0.0" + + "js-yaml@^3.10.0", "js-yaml@^3.13.1": + "integrity" "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==" + "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz" + "version" "3.14.0" + dependencies: + "argparse" "^1.0.7" + "esprima" "^4.0.0" + + "jsbn@~0.1.0": + "integrity" "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + "resolved" "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" + "version" "0.1.1" + + "jsdom@^16.2.2": + "integrity" "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==" + "resolved" "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz" + "version" "16.4.0" + dependencies: + "abab" "^2.0.3" + "acorn" "^7.1.1" + "acorn-globals" "^6.0.0" + "cssom" "^0.4.4" + "cssstyle" "^2.2.0" + "data-urls" "^2.0.0" + "decimal.js" "^10.2.0" + "domexception" "^2.0.1" + "escodegen" "^1.14.1" + "html-encoding-sniffer" "^2.0.1" + "is-potential-custom-element-name" "^1.0.0" + "nwsapi" "^2.2.0" + "parse5" "5.1.1" + "request" "^2.88.2" + "request-promise-native" "^1.0.8" + "saxes" "^5.0.0" + "symbol-tree" "^3.2.4" + "tough-cookie" "^3.0.1" + "w3c-hr-time" "^1.0.2" + "w3c-xmlserializer" "^2.0.0" + "webidl-conversions" "^6.1.0" + "whatwg-encoding" "^1.0.5" + "whatwg-mimetype" "^2.3.0" + "whatwg-url" "^8.0.0" + "ws" "^7.2.3" + "xml-name-validator" "^3.0.0" + + "jsesc@^2.5.1": + "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + "version" "2.5.2" + + "json-bigint@^0.3.0": + "integrity" "sha512-DGWnSzmusIreWlEupsUelHrhwmPPE+FiQvg+drKfk2p+bdEYa5mp4PJ8JsCWqae0M2jQNb0HPvnwvf1qOTThzQ==" + "resolved" "https://registry.npmjs.org/json-bigint/-/json-bigint-0.3.1.tgz" + "version" "0.3.1" + dependencies: + "bignumber.js" "^9.0.0" + + "json-bigint@^1.0.0": + "integrity" "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==" + "resolved" "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "bignumber.js" "^9.0.0" + + "json-parse-even-better-errors@^2.3.0": + "integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "resolved" "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + "version" "2.3.1" + + "json-schema-traverse@^0.4.1": + "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + "version" "0.4.1" + + "json-schema@0.2.3": + "integrity" "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" + "version" "0.2.3" + + "json-stable-stringify@^1.0.1": + "integrity" "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=" + "resolved" "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "jsonify" "~0.0.0" + + "json-stringify-safe@~5.0.1": + "integrity" "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "resolved" "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + "version" "5.0.1" + + "json5@^2.1.2": + "integrity" "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==" + "resolved" "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz" + "version" "2.1.3" + dependencies: + "minimist" "^1.2.5" + + "jsonify@~0.0.0": + "integrity" "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + "resolved" "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz" + "version" "0.0.0" + + "jsonwebtoken@^8.5.1": + "integrity" "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==" + "resolved" "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz" + "version" "8.5.1" + dependencies: + "jws" "^3.2.2" + "lodash.includes" "^4.3.0" + "lodash.isboolean" "^3.0.3" + "lodash.isinteger" "^4.0.4" + "lodash.isnumber" "^3.0.3" + "lodash.isplainobject" "^4.0.6" + "lodash.isstring" "^4.0.1" + "lodash.once" "^4.0.0" + "ms" "^2.1.1" + "semver" "^5.6.0" + + "jsprim@^1.2.2": + "integrity" "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=" + "resolved" "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz" + "version" "1.4.1" + dependencies: + "assert-plus" "1.0.0" + "extsprintf" "1.3.0" + "json-schema" "0.2.3" + "verror" "1.10.0" + + "jwa@^1.4.1": + "integrity" "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==" + "resolved" "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz" + "version" "1.4.1" + dependencies: + "buffer-equal-constant-time" "1.0.1" + "ecdsa-sig-formatter" "1.0.11" + "safe-buffer" "^5.0.1" + + "jwa@^2.0.0": + "integrity" "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==" + "resolved" "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "buffer-equal-constant-time" "1.0.1" + "ecdsa-sig-formatter" "1.0.11" + "safe-buffer" "^5.0.1" + + "jws@^3.2.2": + "integrity" "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==" + "resolved" "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz" + "version" "3.2.2" + dependencies: + "jwa" "^1.4.1" + "safe-buffer" "^5.0.1" + + "jws@^4.0.0": + "integrity" "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==" + "resolved" "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "jwa" "^2.0.0" + "safe-buffer" "^5.0.1" + + "kind-of@^1.1.0": + "integrity" "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz" + "version" "1.1.0" + + "kind-of@^3.0.2", "kind-of@^3.0.3", "kind-of@^3.2.0": + "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + "version" "3.2.2" + dependencies: + "is-buffer" "^1.1.5" + + "kind-of@^4.0.0": + "integrity" "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "is-buffer" "^1.1.5" + + "kind-of@^5.0.0": + "integrity" "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" + "version" "5.1.0" + + "kind-of@^6.0.0": + "integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + "version" "6.0.3" + + "kind-of@^6.0.2": + "integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + "version" "6.0.3" + + "kleur@^3.0.3": + "integrity" "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + "resolved" "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + "version" "3.0.3" + + "lato-font@3.0.0": + "integrity" "sha1-kbg34jdLZo+3Mx1EyJTTei2fjhE=" + "resolved" "https://registry.npmjs.org/lato-font/-/lato-font-3.0.0.tgz" + "version" "3.0.0" + + "lazy-cache@^1.0.3": + "integrity" "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + "resolved" "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz" + "version" "1.0.4" + + "less@2.6.x || ^2.7.1": + "integrity" "sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==" + "resolved" "https://registry.npmjs.org/less/-/less-2.7.3.tgz" + "version" "2.7.3" + optionalDependencies: + "errno" "^0.1.1" + "graceful-fs" "^4.1.2" + "image-size" "~0.5.0" + "mime" "^1.2.11" + "mkdirp" "^0.5.0" + "promise" "^7.1.1" + "request" "2.81.0" + "source-map" "^0.5.3" + + "leven@^3.1.0": + "integrity" "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + "resolved" "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + "version" "3.1.0" + + "levn@~0.3.0": + "integrity" "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=" + "resolved" "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" + "version" "0.3.0" + dependencies: + "prelude-ls" "~1.1.2" + "type-check" "~0.3.2" + + "liftoff@^2.1.0": + "integrity" "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=" + "resolved" "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz" + "version" "2.5.0" + dependencies: + "extend" "^3.0.0" + "findup-sync" "^2.0.0" + "fined" "^1.0.1" + "flagged-respawn" "^1.0.0" + "is-plain-object" "^2.0.4" + "object.map" "^1.0.0" + "rechoir" "^0.6.2" + "resolve" "^1.1.7" + + "lines-and-columns@^1.1.6": + "integrity" "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz" + "version" "1.1.6" + + "linkify-it@^2.0.0": + "integrity" "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==" + "resolved" "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "uc.micro" "^1.0.1" + + "load-json-file@^1.0.0": + "integrity" "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=" + "resolved" "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "graceful-fs" "^4.1.2" + "parse-json" "^2.2.0" + "pify" "^2.0.0" + "pinkie-promise" "^2.0.0" + "strip-bom" "^2.0.0" + + "load-script@^1.0.0": + "integrity" "sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=" + "resolved" "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz" + "version" "1.0.0" + + "locate-path@^5.0.0": + "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "p-locate" "^4.1.0" + + "lodash._basecopy@^3.0.0": + "integrity" "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" + "resolved" "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz" + "version" "3.0.1" + + "lodash._basetostring@^3.0.0": + "integrity" "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=" + "resolved" "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz" + "version" "3.0.1" + + "lodash._basevalues@^3.0.0": + "integrity" "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=" + "resolved" "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz" + "version" "3.0.0" + + "lodash._escapehtmlchar@~2.4.1": + "integrity" "sha1-32fDu2t+jh6DGrSL+geVuSr+iZ0=" + "resolved" "https://registry.npmjs.org/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz" + "version" "2.4.1" + dependencies: + "lodash._htmlescapes" "~2.4.1" + + "lodash._escapestringchar@~2.4.1": + "integrity" "sha1-7P4iYYoq3lC/7qQ5N+Ud9m8O23I=" + "resolved" "https://registry.npmjs.org/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz" + "version" "2.4.1" + + "lodash._getnative@^3.0.0": + "integrity" "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" + "resolved" "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz" + "version" "3.9.1" + + "lodash._htmlescapes@~2.4.1": + "integrity" "sha1-MtFL8IRLbeb4tioFG09nwii2JMs=" + "resolved" "https://registry.npmjs.org/lodash._htmlescapes/-/lodash._htmlescapes-2.4.1.tgz" + "version" "2.4.1" + + "lodash._isiterateecall@^3.0.0": + "integrity" "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" + "resolved" "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz" + "version" "3.0.9" + + "lodash._isnative@~2.4.1": + "integrity" "sha1-PqZAS3hKe+g2x7V1gOHN95sUgyw=" + "resolved" "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz" + "version" "2.4.1" + + "lodash._objecttypes@~2.4.1": + "integrity" "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=" + "resolved" "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz" + "version" "2.4.1" + + "lodash._reescape@^3.0.0": + "integrity" "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=" + "resolved" "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz" + "version" "3.0.0" + + "lodash._reevaluate@^3.0.0": + "integrity" "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=" + "resolved" "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz" + "version" "3.0.0" + + "lodash._reinterpolate@^2.4.1", "lodash._reinterpolate@~2.4.1": + "integrity" "sha1-TxInqlqHEfxjL1sHofRgequLMiI=" + "resolved" "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz" + "version" "2.4.1" + + "lodash._reinterpolate@^3.0.0": + "integrity" "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + "resolved" "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz" + "version" "3.0.0" + + "lodash._reunescapedhtml@~2.4.1": + "integrity" "sha1-dHxPxAED6zu4oJduVx96JlnpO6c=" + "resolved" "https://registry.npmjs.org/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz" + "version" "2.4.1" + dependencies: + "lodash._htmlescapes" "~2.4.1" + "lodash.keys" "~2.4.1" + + "lodash._root@^3.0.0": + "integrity" "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=" + "resolved" "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz" + "version" "3.0.1" + + "lodash._shimkeys@~2.4.1": + "integrity" "sha1-bpzJZm/wgfC1psl4uD4kLmlJ0gM=" + "resolved" "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz" + "version" "2.4.1" + dependencies: + "lodash._objecttypes" "~2.4.1" + + "lodash.at@^4.6.0": + "integrity" "sha1-k83OZk8KGZTqM9181A4jr9EbD/g=" + "resolved" "https://registry.npmjs.org/lodash.at/-/lodash.at-4.6.0.tgz" + "version" "4.6.0" + + "lodash.camelcase@^4.3.0": + "integrity" "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" + "resolved" "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" + "version" "4.3.0" + + "lodash.clone@^4.3.2": + "integrity" "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" + "resolved" "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz" + "version" "4.5.0" + + "lodash.defaults@^4.0.1": + "integrity" "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + "resolved" "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz" + "version" "4.2.0" + + "lodash.defaults@~2.4.1": + "integrity" "sha1-p+iIXwXmiFEUS24SqPNngCa8TFQ=" + "resolved" "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-2.4.1.tgz" + "version" "2.4.1" + dependencies: + "lodash._objecttypes" "~2.4.1" + "lodash.keys" "~2.4.1" + + "lodash.escape@^3.0.0": + "integrity" "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=" + "resolved" "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz" + "version" "3.2.0" + dependencies: + "lodash._root" "^3.0.0" + + "lodash.escape@~2.4.1": + "integrity" "sha1-LOEsXghNsKV92l5dHu659dF1o7Q=" + "resolved" "https://registry.npmjs.org/lodash.escape/-/lodash.escape-2.4.1.tgz" + "version" "2.4.1" + dependencies: + "lodash._escapehtmlchar" "~2.4.1" + "lodash._reunescapedhtml" "~2.4.1" + "lodash.keys" "~2.4.1" + + "lodash.flatten@^4.2.0": + "integrity" "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + "resolved" "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz" + "version" "4.4.0" + + "lodash.has@^4.5.2": + "integrity" "sha1-0Z9NwQlQWMzL4rDN9O4P5Ko3yGI=" + "resolved" "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz" + "version" "4.5.2" + + "lodash.includes@^4.3.0": + "integrity" "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" + "resolved" "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz" + "version" "4.3.0" + + "lodash.isarguments@^3.0.0": + "integrity" "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" + "resolved" "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz" + "version" "3.1.0" + + "lodash.isarray@^3.0.0": + "integrity" "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" + "resolved" "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz" + "version" "3.0.4" + + "lodash.isboolean@^3.0.3": + "integrity" "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" + "resolved" "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz" + "version" "3.0.3" + + "lodash.isinteger@^4.0.4": + "integrity" "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" + "resolved" "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz" + "version" "4.0.4" + + "lodash.isnumber@^3.0.3": + "integrity" "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" + "resolved" "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz" + "version" "3.0.3" + + "lodash.isobject@~2.4.1": + "integrity" "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=" + "resolved" "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz" + "version" "2.4.1" + dependencies: + "lodash._objecttypes" "~2.4.1" + + "lodash.isplainobject@^4.0.6": + "integrity" "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + "resolved" "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" + "version" "4.0.6" + + "lodash.isstring@^4.0.1": + "integrity" "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" + "resolved" "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz" + "version" "4.0.1" + + "lodash.keys@^3.0.0": + "integrity" "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=" + "resolved" "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "lodash._getnative" "^3.0.0" + "lodash.isarguments" "^3.0.0" + "lodash.isarray" "^3.0.0" + + "lodash.keys@~2.4.1": + "integrity" "sha1-SN6kbfj/djKxDXBrissmWR4rNyc=" + "resolved" "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz" + "version" "2.4.1" + dependencies: + "lodash._isnative" "~2.4.1" + "lodash._shimkeys" "~2.4.1" + "lodash.isobject" "~2.4.1" + + "lodash.merge@^4.4.0": + "integrity" "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + "version" "4.6.2" + + "lodash.once@^4.0.0": + "integrity" "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" + "resolved" "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz" + "version" "4.1.1" + + "lodash.partialright@^4.1.4": + "integrity" "sha1-ATDYDoM2MmTUAHTzKbij56ihzEs=" + "resolved" "https://registry.npmjs.org/lodash.partialright/-/lodash.partialright-4.2.1.tgz" + "version" "4.2.1" + + "lodash.pick@^4.2.1": + "integrity" "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + "resolved" "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz" + "version" "4.4.0" + + "lodash.restparam@^3.0.0": + "integrity" "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" + "resolved" "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz" + "version" "3.6.1" + + "lodash.sortby@^4.7.0": + "integrity" "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + "resolved" "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" + "version" "4.7.0" + + "lodash.template@^2.4.1": + "integrity" "sha1-nmEQB+32KRKal0qzxIuBez4c8g0=" + "resolved" "https://registry.npmjs.org/lodash.template/-/lodash.template-2.4.1.tgz" + "version" "2.4.1" + dependencies: + "lodash._escapestringchar" "~2.4.1" + "lodash._reinterpolate" "~2.4.1" + "lodash.defaults" "~2.4.1" + "lodash.escape" "~2.4.1" + "lodash.keys" "~2.4.1" + "lodash.templatesettings" "~2.4.1" + "lodash.values" "~2.4.1" + + "lodash.template@^3.0.0": + "integrity" "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=" + "resolved" "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz" + "version" "3.6.2" + dependencies: + "lodash._basecopy" "^3.0.0" + "lodash._basetostring" "^3.0.0" + "lodash._basevalues" "^3.0.0" + "lodash._isiterateecall" "^3.0.0" + "lodash._reinterpolate" "^3.0.0" + "lodash.escape" "^3.0.0" + "lodash.keys" "^3.0.0" + "lodash.restparam" "^3.0.0" + "lodash.templatesettings" "^3.0.0" + + "lodash.templatesettings@^3.0.0": + "integrity" "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=" + "resolved" "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "lodash._reinterpolate" "^3.0.0" + "lodash.escape" "^3.0.0" + + "lodash.templatesettings@~2.4.1": + "integrity" "sha1-6nbHXRHrhtTb6JqDiTu4YZKaxpk=" + "resolved" "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz" + "version" "2.4.1" + dependencies: + "lodash._reinterpolate" "~2.4.1" + "lodash.escape" "~2.4.1" + + "lodash.uniq@^4.3.0": + "integrity" "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + "resolved" "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + "version" "4.5.0" + + "lodash.values@~2.4.1": + "integrity" "sha1-q/UUQ2s8twUAFieXjLzzCxKA7qQ=" + "resolved" "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz" + "version" "2.4.1" + dependencies: + "lodash.keys" "~2.4.1" + + "lodash@^3.3.1": + "integrity" "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + "resolved" "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" + "version" "3.10.1" + + "lodash@^4.17.19", "lodash@^4.17.21": + "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + "version" "4.17.21" + + "lodash@~1.0.1": + "integrity" "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=" + "resolved" "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz" + "version" "1.0.2" + + "long@^4.0.0": + "integrity" "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + "resolved" "https://registry.npmjs.org/long/-/long-4.0.0.tgz" + "version" "4.0.0" + + "longest@^1.0.1": + "integrity" "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + "resolved" "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz" + "version" "1.0.1" + + "loud-rejection@^1.0.0": + "integrity" "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=" + "resolved" "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz" + "version" "1.6.0" + dependencies: + "currently-unhandled" "^0.4.1" + "signal-exit" "^3.0.0" + + "lru-cache@^5.0.0": + "integrity" "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "yallist" "^3.0.2" + + "lru-cache@^6.0.0": + "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "yallist" "^4.0.0" + + "lru-cache@2": + "integrity" "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz" + "version" "2.7.3" + + "make-dir@^3.0.0": + "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "semver" "^6.0.0" + + "make-iterator@^1.0.0": + "integrity" "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==" + "resolved" "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "kind-of" "^6.0.2" + + "makeerror@1.0.x": + "integrity" "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=" + "resolved" "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz" + "version" "1.0.11" + dependencies: + "tmpl" "1.0.x" + + "map-cache@^0.2.0", "map-cache@^0.2.2": + "integrity" "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + "resolved" "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" + "version" "0.2.2" + + "map-obj@^1.0.0", "map-obj@^1.0.1": + "integrity" "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + "resolved" "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" + "version" "1.0.1" + + "map-stream@~0.0.3": + "integrity" "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=" + "resolved" "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz" + "version" "0.0.7" + + "map-visit@^1.0.0": + "integrity" "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=" + "resolved" "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "object-visit" "^1.0.0" + + "markdown-it-container@2.0.0": + "integrity" "sha1-ABm0P9Au7+zi8ZYKKJX7qBpARpU=" + "resolved" "https://registry.npmjs.org/markdown-it-container/-/markdown-it-container-2.0.0.tgz" + "version" "2.0.0" + + "markdown-it-emoji@1.4.0": + "integrity" "sha1-m+4OmpkKljupbfaYDE/dsF37Tcw=" + "resolved" "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz" + "version" "1.4.0" + + "markdown-it-toc-and-anchor@4.2.0": + "integrity" "sha512-DusSbKtg8CwZ92ztN7bOojDpP4h0+w7BVOPuA3PHDIaabMsERYpwsazLYSP/UlKedoQjOz21mwlai36TQ04EpA==" + "resolved" "https://registry.npmjs.org/markdown-it-toc-and-anchor/-/markdown-it-toc-and-anchor-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "clone" "^2.1.0" + "uslug" "^1.0.4" + + "markdown-it@8.2.2": + "integrity" "sha1-45WT2Xb5xLfufzOKOh6eEMPbTjY=" + "resolved" "https://registry.npmjs.org/markdown-it/-/markdown-it-8.2.2.tgz" + "version" "8.2.2" + dependencies: + "argparse" "^1.0.7" + "entities" "~1.1.1" + "linkify-it" "^2.0.0" + "mdurl" "^1.0.1" + "uc.micro" "^1.0.3" + + "masonry-layout@^4.1.0": + "integrity" "sha512-iGtAlrpHNyxaR19CvKC3npnEcAwszXoyJiI8ARV2ePi7fmYhIud25MHK8Zx4P0LCC4d3TNO9+rFa1KoK1OEOaA==" + "resolved" "https://registry.npmjs.org/masonry-layout/-/masonry-layout-4.2.2.tgz" + "version" "4.2.2" + dependencies: + "get-size" "^2.0.2" + "outlayer" "^2.1.0" + + "mdurl@^1.0.1": + "integrity" "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + "resolved" "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" + "version" "1.0.1" + + "media-typer@0.3.0": + "integrity" "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + "resolved" "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + "version" "0.3.0" + + "meow@^3.3.0": + "integrity" "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=" + "resolved" "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz" + "version" "3.7.0" + dependencies: + "camelcase-keys" "^2.0.0" + "decamelize" "^1.1.2" + "loud-rejection" "^1.0.0" + "map-obj" "^1.0.1" + "minimist" "^1.1.3" + "normalize-package-data" "^2.3.4" + "object-assign" "^4.0.1" + "read-pkg-up" "^1.0.1" + "redent" "^1.0.0" + "trim-newlines" "^1.0.0" + + "merge-stream@^1.0.0", "merge-stream@1.0.1": + "integrity" "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=" + "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "readable-stream" "^2.0.1" + + "merge-stream@^2.0.0": + "integrity" "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + "version" "2.0.0" + + "micromatch@^3.0.4": + "integrity" "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" + "version" "3.1.10" + dependencies: + "arr-diff" "^4.0.0" + "array-unique" "^0.3.2" + "braces" "^2.3.1" + "define-property" "^2.0.2" + "extend-shallow" "^3.0.2" + "extglob" "^2.0.4" + "fragment-cache" "^0.2.1" + "kind-of" "^6.0.2" + "nanomatch" "^1.2.9" + "object.pick" "^1.3.0" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.2" + + "micromatch@^3.1.4": + "integrity" "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" + "version" "3.1.10" + dependencies: + "arr-diff" "^4.0.0" + "array-unique" "^0.3.2" + "braces" "^2.3.1" + "define-property" "^2.0.2" + "extend-shallow" "^3.0.2" + "extglob" "^2.0.4" + "fragment-cache" "^0.2.1" + "kind-of" "^6.0.2" + "nanomatch" "^1.2.9" + "object.pick" "^1.3.0" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.2" + + "micromatch@^4.0.2": + "integrity" "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz" + "version" "4.0.2" + dependencies: + "braces" "^3.0.1" + "picomatch" "^2.0.5" + + "mime-db@>= 1.43.0 < 2", "mime-db@1.44.0": + "integrity" "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz" + "version" "1.44.0" + + "mime-db@~1.12.0": + "integrity" "sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc=" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz" + "version" "1.12.0" + + "mime-types@^2.0.8", "mime-types@^2.1.12", "mime-types@~2.1.17", "mime-types@~2.1.19", "mime-types@~2.1.24", "mime-types@~2.1.7": + "integrity" "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz" + "version" "2.1.27" + dependencies: + "mime-db" "1.44.0" + + "mime-types@~2.0.9": + "integrity" "sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz" + "version" "2.0.14" + dependencies: + "mime-db" "~1.12.0" + + "mime@^1.2.11", "mime@^1.3.4", "mime@1.6.0": + "integrity" "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + "resolved" "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + "version" "1.6.0" + + "mime@^2.2.0": + "integrity" "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==" + "resolved" "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz" + "version" "2.4.6" + + "mimic-fn@^2.1.0": + "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + "version" "2.1.0" + + "min-document@^2.19.0": + "integrity" "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=" + "resolved" "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz" + "version" "2.19.0" + dependencies: + "dom-walk" "^0.1.0" + + "minimatch@^2.0.1": + "integrity" "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=" + "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz" + "version" "2.0.10" + dependencies: + "brace-expansion" "^1.0.0" + + "minimatch@^3.0.3", "minimatch@^3.0.4": + "integrity" "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" + "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "brace-expansion" "^1.1.7" + + "minimatch@~0.2.11": + "integrity" "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=" + "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz" + "version" "0.2.14" + dependencies: + "lru-cache" "2" + "sigmund" "~1.0.0" + + "minimist@^0.2.0": + "integrity" "sha512-GY8fANSrTMfBVfInqJAY41QkOM+upUTytK1jZ0c8+3HdHrJxBJ3rF5i9moClXTE8uUSnUo8cAsCoxDXvSY4DHg==" + "resolved" "https://registry.npmjs.org/minimist/-/minimist-0.2.1.tgz" + "version" "0.2.1" + + "minimist@^1.1.0", "minimist@^1.1.1", "minimist@^1.1.3", "minimist@^1.2.0", "minimist@^1.2.5": + "integrity" "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" + "version" "1.2.5" + + "mixin-deep@^1.2.0": + "integrity" "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==" + "resolved" "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "for-in" "^1.0.2" + "is-extendable" "^1.0.1" + + "mkdirp@^0.5.0": + "integrity" "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" + "version" "0.5.5" + dependencies: + "minimist" "^1.2.5" + + "mkdirp@0.3.0": + "integrity" "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz" + "version" "0.3.0" + + "modify-filename@^1.0.0", "modify-filename@^1.1.0": + "integrity" "sha1-mi3sg4Bvuy2XXyK+7IWcoms5OqE=" + "resolved" "https://registry.npmjs.org/modify-filename/-/modify-filename-1.1.0.tgz" + "version" "1.1.0" + + "moment@2.27.0": + "integrity" "sha512-al0MUK7cpIcglMv3YF13qSgdAIqxHTO7brRtaz3DlSULbqfazqkc5kEjNrLDOM7fsjshoFIihnU8snrP7zUvhQ==" + "resolved" "https://registry.npmjs.org/moment/-/moment-2.27.0.tgz" + "version" "2.27.0" + + "ms@^2.1.1", "ms@2.1.2": + "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + "version" "2.1.2" + + "ms@2.0.0": + "integrity" "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + "version" "2.0.0" + + "ms@2.1.1": + "integrity" "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz" + "version" "2.1.1" + + "multimatch@^4.0.0": + "integrity" "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==" + "resolved" "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "@types/minimatch" "^3.0.3" + "array-differ" "^3.0.0" + "array-union" "^2.1.0" + "arrify" "^2.0.1" + "minimatch" "^3.0.4" + + "multipipe@^0.1.0", "multipipe@^0.1.2": + "integrity" "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=" + "resolved" "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz" + "version" "0.1.2" + dependencies: + "duplexer2" "0.0.2" + + "mute-stream@0.0.5": + "integrity" "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=" + "resolved" "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz" + "version" "0.0.5" + + "nanomatch@^1.2.9": + "integrity" "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==" + "resolved" "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" + "version" "1.2.13" + dependencies: + "arr-diff" "^4.0.0" + "array-unique" "^0.3.2" + "define-property" "^2.0.2" + "extend-shallow" "^3.0.2" + "fragment-cache" "^0.2.1" + "is-windows" "^1.0.2" + "kind-of" "^6.0.2" + "object.pick" "^1.3.0" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.1" + + "natives@^1.1.3": + "integrity" "sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==" + "resolved" "https://registry.npmjs.org/natives/-/natives-1.1.6.tgz" + "version" "1.1.6" + + "natural-compare@^1.4.0": + "integrity" "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + "version" "1.4.0" + + "negotiator@0.6.2": + "integrity" "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz" + "version" "0.6.2" + + "neo-async@^2.6.0": + "integrity" "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "resolved" "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + "version" "2.6.2" + + "nice-try@^1.0.4": + "integrity" "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + "resolved" "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" + "version" "1.0.5" + + "node-fetch@^1.0.1": + "integrity" "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==" + "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz" + "version" "1.7.3" + dependencies: + "encoding" "^0.1.11" + "is-stream" "^1.0.1" + + "node-fetch@^2.2.0", "node-fetch@^2.3.0", "node-fetch@^2.6.0": + "integrity" "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz" + "version" "2.6.1" + + "node-fetch@2.6.0": + "integrity" "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz" + "version" "2.6.0" + + "node-forge@^0.10.0": + "integrity" "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" + "resolved" "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz" + "version" "0.10.0" + + "node-forge@^0.7.6": + "integrity" "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==" + "resolved" "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz" + "version" "0.7.6" + + "node-forge@^0.9.0": + "integrity" "sha512-naKSScof4Wn+aoHU6HBsifh92Zeicm1GDQKd1vp3Y/kOi8ub0DozCa9KpvYNCXslFHYRmLNiqRopGdTGwNLpNw==" + "resolved" "https://registry.npmjs.org/node-forge/-/node-forge-0.9.2.tgz" + "version" "0.9.2" + + "node-int64@^0.4.0": + "integrity" "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + "resolved" "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" + "version" "0.4.0" + + "node-modules-regexp@^1.0.0": + "integrity" "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" + "resolved" "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz" + "version" "1.0.0" + + "node-notifier@^8.0.0": + "integrity" "sha512-46z7DUmcjoYdaWyXouuFNNfUo6eFa94t23c53c+lG/9Cvauk4a98rAUp9672X5dxGdQmLpPzTxzu8f/OeEPaFA==" + "resolved" "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.0.tgz" + "version" "8.0.0" + dependencies: + "growly" "^1.3.0" + "is-wsl" "^2.2.0" + "semver" "^7.3.2" + "shellwords" "^0.1.1" + "uuid" "^8.3.0" + "which" "^2.0.2" + + "node.extend@^1.0.10": + "integrity" "sha512-L/dvEBwyg3UowwqOUTyDsGBU6kjBQOpOhshio9V3i3BMPv5YUb9+mWNN8MK0IbWqT0AqaTSONZf0aTuMMahWgA==" + "resolved" "https://registry.npmjs.org/node.extend/-/node.extend-1.1.8.tgz" + "version" "1.1.8" + dependencies: + "has" "^1.0.3" + "is" "^3.2.1" + + "nopt@1.0.10": + "integrity" "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=" + "resolved" "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz" + "version" "1.0.10" + dependencies: + "abbrev" "1" + + "normalize-package-data@^2.3.2", "normalize-package-data@^2.3.4", "normalize-package-data@^2.5.0": + "integrity" "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==" + "resolved" "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" + "version" "2.5.0" + dependencies: + "hosted-git-info" "^2.1.4" + "resolve" "^1.10.0" + "semver" "2 || 3 || 4 || 5" + "validate-npm-package-license" "^3.0.1" + + "normalize-path@^2.1.1": + "integrity" "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=" + "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "remove-trailing-separator" "^1.0.1" + + "normalize-path@^3.0.0": + "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + "version" "3.0.0" + + "npm-run-path@^2.0.0": + "integrity" "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=" + "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "path-key" "^2.0.0" + + "npm-run-path@^4.0.0": + "integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" + "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "path-key" "^3.0.0" + + "number-is-nan@^1.0.0": + "integrity" "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "resolved" "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" + "version" "1.0.1" + + "nwsapi@^2.2.0": + "integrity" "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" + "resolved" "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz" + "version" "2.2.0" + + "oauth-sign@~0.8.1": + "integrity" "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" + "resolved" "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz" + "version" "0.8.2" + + "oauth-sign@~0.9.0": + "integrity" "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + "resolved" "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" + "version" "0.9.0" + + "object-assign@^3.0.0": + "integrity" "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" + "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz" + "version" "3.0.0" + + "object-assign@^4.0.1", "object-assign@^4.1.0": + "integrity" "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + "version" "4.1.1" + + "object-copy@^0.1.0": + "integrity" "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=" + "resolved" "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" + "version" "0.1.0" + dependencies: + "copy-descriptor" "^0.1.0" + "define-property" "^0.2.5" + "kind-of" "^3.0.3" + + "object-inspect@^1.7.0", "object-inspect@^1.8.0": + "integrity" "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==" + "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz" + "version" "1.8.0" + + "object-is@^1.1.2": + "integrity" "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==" + "resolved" "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "define-properties" "^1.1.3" + "es-abstract" "^1.17.5" + + "object-keys@^1.0.11", "object-keys@^1.0.12", "object-keys@^1.1.0", "object-keys@^1.1.1": + "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + "version" "1.1.1" + + "object-keys@~0.4.0": + "integrity" "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=" + "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz" + "version" "0.4.0" + + "object-path@^0.9.2": + "integrity" "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=" + "resolved" "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz" + "version" "0.9.2" + + "object-visit@^1.0.0": + "integrity" "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=" + "resolved" "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "isobject" "^3.0.0" + + "object.assign@^4.1.0": + "integrity" "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==" + "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz" + "version" "4.1.1" + dependencies: + "define-properties" "^1.1.3" + "es-abstract" "^1.18.0-next.0" + "has-symbols" "^1.0.1" + "object-keys" "^1.1.1" + + "object.defaults@^1.1.0": + "integrity" "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=" + "resolved" "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "array-each" "^1.0.1" + "array-slice" "^1.0.0" + "for-own" "^1.0.0" + "isobject" "^3.0.0" + + "object.map@^1.0.0": + "integrity" "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=" + "resolved" "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "for-own" "^1.0.0" + "make-iterator" "^1.0.0" + + "object.pick@^1.2.0", "object.pick@^1.3.0": + "integrity" "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=" + "resolved" "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "isobject" "^3.0.1" + + "on-finished@~2.3.0": + "integrity" "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=" + "resolved" "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "ee-first" "1.1.1" + + "on-finished@2.1.0": + "integrity" "sha1-DFOfCSkej/rd4MiiWFD7LO3HAi0=" + "resolved" "https://registry.npmjs.org/on-finished/-/on-finished-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "ee-first" "1.0.5" + + "once@^1.3.0", "once@^1.3.1", "once@^1.4.0": + "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" + "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "wrappy" "1" + + "once@~1.3.0": + "integrity" "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=" + "resolved" "https://registry.npmjs.org/once/-/once-1.3.3.tgz" + "version" "1.3.3" + dependencies: + "wrappy" "1" + + "onetime@^1.0.0": + "integrity" "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=" + "resolved" "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz" + "version" "1.1.0" + + "onetime@^5.1.0": + "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" + "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "mimic-fn" "^2.1.0" + + "open@^0.0.5": + "integrity" "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=" + "resolved" "https://registry.npmjs.org/open/-/open-0.0.5.tgz" + "version" "0.0.5" + + "optionator@^0.8.1": + "integrity" "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==" + "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" + "version" "0.8.3" + dependencies: + "deep-is" "~0.1.3" + "fast-levenshtein" "~2.0.6" + "levn" "~0.3.0" + "prelude-ls" "~1.1.2" + "type-check" "~0.3.2" + "word-wrap" "~1.2.3" + + "orchestrator@^0.3.0": + "integrity" "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=" + "resolved" "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz" + "version" "0.3.8" + dependencies: + "end-of-stream" "~0.1.5" + "sequencify" "~0.0.7" + "stream-consume" "~0.1.0" + + "ordered-read-streams@^0.1.0": + "integrity" "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=" + "resolved" "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz" + "version" "0.1.0" + + "os-homedir@^1.0.0": + "integrity" "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + "resolved" "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" + "version" "1.0.2" + + "outlayer@^2.1.0": + "integrity" "sha1-KYY7beEOpdrf/8rfoNcokHOH6aI=" + "resolved" "https://registry.npmjs.org/outlayer/-/outlayer-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "ev-emitter" "^1.0.0" + "fizzy-ui-utils" "^2.0.0" + "get-size" "^2.0.2" + + "p-each-series@^2.1.0": + "integrity" "sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ==" + "resolved" "https://registry.npmjs.org/p-each-series/-/p-each-series-2.1.0.tgz" + "version" "2.1.0" + + "p-finally@^1.0.0": + "integrity" "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + "resolved" "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" + "version" "1.0.0" + + "p-limit@^2.2.0": + "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" + "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "p-try" "^2.0.0" + + "p-locate@^4.1.0": + "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "p-limit" "^2.2.0" + + "p-map@^1.1.1": + "integrity" "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==" + "resolved" "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz" + "version" "1.2.0" + + "p-try@^2.0.0": + "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + "version" "2.2.0" + + "parse-filepath@^1.0.1": + "integrity" "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=" + "resolved" "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "is-absolute" "^1.0.0" + "map-cache" "^0.2.0" + "path-root" "^0.1.1" + + "parse-json@^2.2.0": + "integrity" "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=" + "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "error-ex" "^1.2.0" + + "parse-json@^5.0.0": + "integrity" "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==" + "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "@babel/code-frame" "^7.0.0" + "error-ex" "^1.3.1" + "json-parse-even-better-errors" "^2.3.0" + "lines-and-columns" "^1.1.6" + + "parse-node-version@^1.0.0": + "integrity" "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==" + "resolved" "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz" + "version" "1.0.1" + + "parse-passwd@^1.0.0": + "integrity" "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" + "resolved" "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz" + "version" "1.0.0" + + "parse5@5.1.1": + "integrity" "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" + "resolved" "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz" + "version" "5.1.1" + + "parseurl@~1.3.0", "parseurl@~1.3.2", "parseurl@~1.3.3": + "integrity" "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + "resolved" "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + "version" "1.3.3" + + "pascalcase@^0.1.1": + "integrity" "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + "resolved" "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" + "version" "0.1.1" + + "path-exists@^2.0.0": + "integrity" "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=" + "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "pinkie-promise" "^2.0.0" + + "path-exists@^4.0.0": + "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + "version" "4.0.0" + + "path-is-absolute@^1.0.0": + "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + "version" "1.0.1" + + "path-is-inside@^1.0.1": + "integrity" "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + "resolved" "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" + "version" "1.0.2" + + "path-key@^2.0.0", "path-key@^2.0.1": + "integrity" "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + "resolved" "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" + "version" "2.0.1" + + "path-key@^3.0.0": + "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + "version" "3.1.1" + + "path-key@^3.1.0": + "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + "version" "3.1.1" + + "path-parse@^1.0.6": + "integrity" "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz" + "version" "1.0.6" + + "path-root-regex@^0.1.0": + "integrity" "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=" + "resolved" "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz" + "version" "0.1.2" + + "path-root@^0.1.1": + "integrity" "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=" + "resolved" "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz" + "version" "0.1.1" + dependencies: + "path-root-regex" "^0.1.0" + + "path-type@^1.0.0": + "integrity" "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=" + "resolved" "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "graceful-fs" "^4.1.2" + "pify" "^2.0.0" + "pinkie-promise" "^2.0.0" + + "pause-stream@0.0.11": + "integrity" "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=" + "resolved" "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz" + "version" "0.0.11" + dependencies: + "through" "~2.3" + + "performance-now@^0.2.0": + "integrity" "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=" + "resolved" "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz" + "version" "0.2.0" + + "performance-now@^2.1.0": + "integrity" "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "resolved" "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" + "version" "2.1.0" + + "picomatch@^2.0.4", "picomatch@^2.0.5": + "integrity" "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz" + "version" "2.2.2" + + "pify@^2.0.0": + "integrity" "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "resolved" "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + "version" "2.3.0" + + "pify@^3.0.0": + "integrity" "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "resolved" "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" + "version" "3.0.0" + + "pinkie-promise@^2.0.0": + "integrity" "sha1-ITXW36ejWMBprJsXh3YogihFD/o=" + "resolved" "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "pinkie" "^2.0.0" + + "pinkie@^2.0.0": + "integrity" "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + "resolved" "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + "version" "2.0.4" + + "pirates@^4.0.1": + "integrity" "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==" + "resolved" "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "node-modules-regexp" "^1.0.0" + + "pkg-dir@^4.2.0": + "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" + "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "find-up" "^4.0.0" + + "plugin-error@^0.1.2": + "integrity" "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=" + "resolved" "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz" + "version" "0.1.2" + dependencies: + "ansi-cyan" "^0.1.1" + "ansi-red" "^0.1.1" + "arr-diff" "^1.0.1" + "arr-union" "^2.0.1" + "extend-shallow" "^1.1.2" + + "plugin-error@^1.0.1": + "integrity" "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==" + "resolved" "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "ansi-colors" "^1.0.1" + "arr-diff" "^4.0.0" + "arr-union" "^3.1.0" + "extend-shallow" "^3.0.2" + + "posix-character-classes@^0.1.0": + "integrity" "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + "resolved" "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" + "version" "0.1.1" + + "prelude-ls@~1.1.2": + "integrity" "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" + "version" "1.1.2" + + "pretty-format@^26.4.2": + "integrity" "sha512-zK6Gd8zDsEiVydOCGLkoBoZuqv8VTiHyAbKznXe/gaph/DAeZOmit9yMfgIz5adIgAMMs5XfoYSwAX3jcCO1tA==" + "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-26.4.2.tgz" + "version" "26.4.2" + dependencies: + "@jest/types" "^26.3.0" + "ansi-regex" "^5.0.0" + "ansi-styles" "^4.0.0" + "react-is" "^16.12.0" + + "pretty-hrtime@^1.0.0": + "integrity" "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" + "resolved" "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz" + "version" "1.0.3" + + "process-nextick-args@^2.0.0", "process-nextick-args@~2.0.0": + "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + "version" "2.0.1" + + "process@^0.11.10": + "integrity" "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + "resolved" "https://registry.npmjs.org/process/-/process-0.11.10.tgz" + "version" "0.11.10" + + "promise-polyfill@8.1.3": + "integrity" "sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g==" + "resolved" "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.3.tgz" + "version" "8.1.3" + + "promise@^7.1.1": + "integrity" "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==" + "resolved" "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" + "version" "7.3.1" + dependencies: + "asap" "~2.0.3" + + "prompts@^2.0.1": + "integrity" "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==" + "resolved" "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz" + "version" "2.3.2" + dependencies: + "kleur" "^3.0.3" + "sisteransi" "^1.0.4" + + "protobufjs@^6.8.6", "protobufjs@^6.8.9", "protobufjs@^6.9.0": + "integrity" "sha512-pb8kTchL+1Ceg4lFd5XUpK8PdWacbvV5SK2ULH2ebrYtl4GjJmS24m6CKME67jzV53tbJxHlnNOSqQHbTsR9JQ==" + "resolved" "https://registry.npmjs.org/protobufjs/-/protobufjs-6.10.1.tgz" + "version" "6.10.1" + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.1" + "@types/node" "^13.7.0" + "long" "^4.0.0" + + "proxy-middleware@^0.5.0": + "integrity" "sha1-2iTV1Ywd3xPa0jfH7KUDhJ6uqQM=" + "resolved" "https://registry.npmjs.org/proxy-middleware/-/proxy-middleware-0.5.1.tgz" + "version" "0.5.1" + + "prr@~1.0.1": + "integrity" "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + "resolved" "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" + "version" "1.0.1" + + "psl@^1.1.28": + "integrity" "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + "resolved" "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz" + "version" "1.8.0" + + "pump@^3.0.0": + "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" + "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "end-of-stream" "^1.1.0" + "once" "^1.3.1" + + "pumpify@^2.0.0": + "integrity" "sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==" + "resolved" "https://registry.npmjs.org/pumpify/-/pumpify-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "duplexify" "^4.1.1" + "inherits" "^2.0.3" + "pump" "^3.0.0" + + "punycode@^1.4.1": + "integrity" "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + "version" "1.4.1" + + "punycode@^2.1.0", "punycode@^2.1.1": + "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" + "version" "2.1.1" + + "qs@~2.2.3": + "integrity" "sha1-EIirr53MCuWuRbcJ5sa1iIsjkjw=" + "resolved" "https://registry.npmjs.org/qs/-/qs-2.2.5.tgz" + "version" "2.2.5" + + "qs@~6.4.0": + "integrity" "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=" + "resolved" "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz" + "version" "6.4.0" + + "qs@~6.5.2": + "integrity" "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + "resolved" "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz" + "version" "6.5.2" + + "qs@2.2.4": + "integrity" "sha1-Lp+800tUDjQhySTs0B6QqpdTGcg=" + "resolved" "https://registry.npmjs.org/qs/-/qs-2.2.4.tgz" + "version" "2.2.4" + + "querystring-es3@^0.2.1": + "integrity" "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + "resolved" "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" + "version" "0.2.1" + + "range-parser@~1.2.1": + "integrity" "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + "resolved" "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + "version" "1.2.1" + + "raw-body@1.3.0": + "integrity" "sha1-l4IwoValVI9C7vFN4i0PT2EAg9E=" + "resolved" "https://registry.npmjs.org/raw-body/-/raw-body-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "bytes" "1" + "iconv-lite" "0.4.4" + + "react-is@^16.12.0": + "integrity" "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "resolved" "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + "version" "16.13.1" + + "read-pkg-up@^1.0.1": + "integrity" "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=" + "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "find-up" "^1.0.0" + "read-pkg" "^1.0.0" + + "read-pkg-up@^7.0.1": + "integrity" "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==" + "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "find-up" "^4.1.0" + "read-pkg" "^5.2.0" + "type-fest" "^0.8.1" + + "read-pkg@^1.0.0": + "integrity" "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=" + "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "load-json-file" "^1.0.0" + "normalize-package-data" "^2.3.2" + "path-type" "^1.0.0" + + "read-pkg@^5.2.0": + "integrity" "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==" + "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "@types/normalize-package-data" "^2.4.0" + "normalize-package-data" "^2.5.0" + "parse-json" "^5.0.0" + "type-fest" "^0.6.0" + + "readable-stream@^1.0.26-2": + "integrity" "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" + "version" "1.1.14" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.1" + "isarray" "0.0.1" + "string_decoder" "~0.10.x" + + "readable-stream@^1.0.26-4": + "integrity" "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" + "version" "1.1.14" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.1" + "isarray" "0.0.1" + "string_decoder" "~0.10.x" + + "readable-stream@^1.0.33": + "integrity" "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" + "version" "1.1.14" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.1" + "isarray" "0.0.1" + "string_decoder" "~0.10.x" + + "readable-stream@^2.0.0": + "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + "version" "2.3.7" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.3" + "isarray" "~1.0.0" + "process-nextick-args" "~2.0.0" + "safe-buffer" "~5.1.1" + "string_decoder" "~1.1.1" + "util-deprecate" "~1.0.1" + + "readable-stream@^2.0.1": + "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + "version" "2.3.7" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.3" + "isarray" "~1.0.0" + "process-nextick-args" "~2.0.0" + "safe-buffer" "~5.1.1" + "string_decoder" "~1.1.1" + "util-deprecate" "~1.0.1" + + "readable-stream@^2.0.3": + "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + "version" "2.3.7" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.3" + "isarray" "~1.0.0" + "process-nextick-args" "~2.0.0" + "safe-buffer" "~5.1.1" + "string_decoder" "~1.1.1" + "util-deprecate" "~1.0.1" + + "readable-stream@^2.3.5": + "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + "version" "2.3.7" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.3" + "isarray" "~1.0.0" + "process-nextick-args" "~2.0.0" + "safe-buffer" "~5.1.1" + "string_decoder" "~1.1.1" + "util-deprecate" "~1.0.1" + + "readable-stream@^3.0.2", "readable-stream@^3.0.6", "readable-stream@^3.1.1", "readable-stream@^3.4.0", "readable-stream@2 || 3": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + + "readable-stream@>=1.0.33-1 <1.1.0-0", "readable-stream@~1.0.17": + "integrity" "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz" + "version" "1.0.34" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.1" + "isarray" "0.0.1" + "string_decoder" "~0.10.x" + + "readable-stream@~1.0.17": + "integrity" "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz" + "version" "1.0.34" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.1" + "isarray" "0.0.1" + "string_decoder" "~0.10.x" + + "readable-stream@~1.1.9": + "integrity" "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" + "version" "1.1.14" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.1" + "isarray" "0.0.1" + "string_decoder" "~0.10.x" + + "readable-stream@~2.3.6": + "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + "version" "2.3.7" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.3" + "isarray" "~1.0.0" + "process-nextick-args" "~2.0.0" + "safe-buffer" "~5.1.1" + "string_decoder" "~1.1.1" + "util-deprecate" "~1.0.1" + + "readline2@^1.0.1": + "integrity" "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=" + "resolved" "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "code-point-at" "^1.0.0" + "is-fullwidth-code-point" "^1.0.0" + "mute-stream" "0.0.5" + + "rechoir@^0.6.2": + "integrity" "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=" + "resolved" "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + "version" "0.6.2" + dependencies: + "resolve" "^1.1.6" + + "redent@^1.0.0": + "integrity" "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=" + "resolved" "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "indent-string" "^2.1.0" + "strip-indent" "^1.0.1" + + "reduce@^1.0.1": + "integrity" "sha512-xX7Fxke/oHO5IfZSk77lvPa/7bjMh9BuCk4OOoX5XTXrM7s0Z+MkPfSDfz0q7r91BhhGSs8gii/VEN/7zhCPpQ==" + "resolved" "https://registry.npmjs.org/reduce/-/reduce-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "object-keys" "^1.1.0" + + "regex-not@^1.0.0", "regex-not@^1.0.2": + "integrity" "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==" + "resolved" "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "extend-shallow" "^3.0.2" + "safe-regex" "^1.1.0" + + "regexp.prototype.flags@^1.3.0": + "integrity" "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==" + "resolved" "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "define-properties" "^1.1.3" + "es-abstract" "^1.17.0-next.1" + + "remove-trailing-separator@^1.0.1": + "integrity" "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + "resolved" "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" + "version" "1.1.0" + + "repeat-element@^1.1.2": + "integrity" "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + "resolved" "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz" + "version" "1.1.3" + + "repeat-string@^1.5.2", "repeat-string@^1.6.1": + "integrity" "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "resolved" "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + "version" "1.6.1" + + "repeating@^2.0.0": + "integrity" "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=" + "resolved" "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "is-finite" "^1.0.0" + + "replace-ext@^1.0.0": + "integrity" "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==" + "resolved" "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz" + "version" "1.0.1" + + "replace-ext@0.0.1": + "integrity" "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" + "resolved" "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz" + "version" "0.0.1" + + "request-promise-core@1.1.4": + "integrity" "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==" + "resolved" "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz" + "version" "1.1.4" + dependencies: + "lodash" "^4.17.19" + + "request-promise-native@^1.0.8": + "integrity" "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==" + "resolved" "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz" + "version" "1.0.9" + dependencies: + "request-promise-core" "1.1.4" + "stealthy-require" "^1.1.1" + "tough-cookie" "^2.3.3" + + "request@^2.34", "request@^2.88.2", "request@2.88.2": + "integrity" "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==" + "resolved" "https://registry.npmjs.org/request/-/request-2.88.2.tgz" + "version" "2.88.2" + dependencies: + "aws-sign2" "~0.7.0" + "aws4" "^1.8.0" + "caseless" "~0.12.0" + "combined-stream" "~1.0.6" + "extend" "~3.0.2" + "forever-agent" "~0.6.1" + "form-data" "~2.3.2" + "har-validator" "~5.1.3" + "http-signature" "~1.2.0" + "is-typedarray" "~1.0.0" + "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" + + "request@2.81.0": + "integrity" "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=" + "resolved" "https://registry.npmjs.org/request/-/request-2.81.0.tgz" + "version" "2.81.0" + dependencies: + "aws-sign2" "~0.6.0" + "aws4" "^1.2.1" + "caseless" "~0.12.0" + "combined-stream" "~1.0.5" + "extend" "~3.0.0" + "forever-agent" "~0.6.1" + "form-data" "~2.1.1" + "har-validator" "~4.2.1" + "hawk" "~3.1.3" + "http-signature" "~1.1.0" + "is-typedarray" "~1.0.0" + "isstream" "~0.1.2" + "json-stringify-safe" "~5.0.1" + "mime-types" "~2.1.7" + "oauth-sign" "~0.8.1" + "performance-now" "^0.2.0" + "qs" "~6.4.0" + "safe-buffer" "^5.0.1" + "stringstream" "~0.0.4" + "tough-cookie" "~2.3.0" + "tunnel-agent" "^0.6.0" + "uuid" "^3.0.0" + + "require-dir@0.3.2": + "integrity" "sha1-wdXHXp+//eny5rM+OD209ZS1pqk=" + "resolved" "https://registry.npmjs.org/require-dir/-/require-dir-0.3.2.tgz" + "version" "0.3.2" + + "require-directory@^2.1.1": + "integrity" "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + "version" "2.1.1" + + "require-main-filename@^2.0.0": + "integrity" "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "resolved" "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" + "version" "2.0.0" + + "resolve-cwd@^3.0.0": + "integrity" "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==" + "resolved" "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "resolve-from" "^5.0.0" + + "resolve-dir@^1.0.0", "resolve-dir@^1.0.1": + "integrity" "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=" + "resolved" "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "expand-tilde" "^2.0.0" + "global-modules" "^1.0.0" + + "resolve-from@^5.0.0": + "integrity" "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + "version" "5.0.0" + + "resolve-url@^0.2.1": + "integrity" "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + "resolved" "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" + "version" "0.2.1" + + "resolve@^1.1.6", "resolve@^1.1.7", "resolve@^1.10.0", "resolve@^1.17.0", "resolve@^1.3.2": + "integrity" "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==" + "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz" + "version" "1.17.0" + dependencies: + "path-parse" "^1.0.6" + + "restore-cursor@^1.0.1": + "integrity" "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=" + "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "exit-hook" "^1.0.0" + "onetime" "^1.0.0" + + "ret@~0.1.10": + "integrity" "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + "resolved" "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" + "version" "0.1.15" + + "retry-request@^4.0.0": + "integrity" "sha512-QnRZUpuPNgX0+D1xVxul6DbJ9slvo4Rm6iV/dn63e048MvGbUZiKySVt6Tenp04JqmchxjiLltGerOJys7kJYQ==" + "resolved" "https://registry.npmjs.org/retry-request/-/retry-request-4.1.3.tgz" + "version" "4.1.3" + dependencies: + "debug" "^4.1.1" + + "rev-hash@^1.0.0": + "integrity" "sha1-lpk5Weqb+xxZsTrfAqwuNLs3NgM=" + "resolved" "https://registry.npmjs.org/rev-hash/-/rev-hash-1.0.0.tgz" + "version" "1.0.0" + + "rev-path@^1.0.0": + "integrity" "sha1-1My0NqwzcMRgcXXOiOr8XGXF1lM=" + "resolved" "https://registry.npmjs.org/rev-path/-/rev-path-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "modify-filename" "^1.0.0" + + "right-align@^0.1.1": + "integrity" "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=" + "resolved" "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz" + "version" "0.1.3" + dependencies: + "align-text" "^0.1.1" + + "rimraf@^2.2.8": + "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" + "version" "2.7.1" + dependencies: + "glob" "^7.1.3" + + "rimraf@^3.0.0": + "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "glob" "^7.1.3" + + "rsvp@^4.8.4": + "integrity" "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==" + "resolved" "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz" + "version" "4.8.5" + + "run-async@^0.1.0": + "integrity" "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=" + "resolved" "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz" + "version" "0.1.0" + dependencies: + "once" "^1.3.0" + + "rx-lite@^3.1.2": + "integrity" "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=" + "resolved" "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz" + "version" "3.1.2" + + "safe-buffer@^5.0.1", "safe-buffer@^5.1.2", "safe-buffer@>=5.1.0", "safe-buffer@~5.2.0": + "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + "version" "5.2.1" + + "safe-buffer@~5.1.0", "safe-buffer@~5.1.1": + "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + "version" "5.1.2" + + "safe-regex@^1.1.0": + "integrity" "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=" + "resolved" "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "ret" "~0.1.10" + + "safer-buffer@^2.0.2", "safer-buffer@^2.1.0", "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", "safer-buffer@~2.1.0": + "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + "version" "2.1.2" + + "sane@^4.0.3": + "integrity" "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==" + "resolved" "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "@cnakazawa/watch" "^1.0.3" + "anymatch" "^2.0.0" + "capture-exit" "^2.0.0" + "exec-sh" "^0.3.2" + "execa" "^1.0.0" + "fb-watchman" "^2.0.0" + "micromatch" "^3.1.4" + "minimist" "^1.1.1" + "walker" "~1.0.5" + + "saxes@^5.0.0": + "integrity" "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==" + "resolved" "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "xmlchars" "^2.2.0" + + "semver@^4.1.0": + "integrity" "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=" + "resolved" "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz" + "version" "4.3.6" + + "semver@^5.1.0", "semver@^5.3.0", "semver@^5.4.1", "semver@^5.5.0", "semver@^5.6.0", "semver@2 || 3 || 4 || 5": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + + "semver@^6.0.0", "semver@^6.2.0": + "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + "version" "6.3.0" + + "semver@^6.3.0": + "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + "version" "6.3.0" + + "semver@^7.3.2": + "integrity" "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz" + "version" "7.3.2" + + "send@0.17.1": + "integrity" "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==" + "resolved" "https://registry.npmjs.org/send/-/send-0.17.1.tgz" + "version" "0.17.1" + dependencies: + "debug" "2.6.9" + "depd" "~1.1.2" + "destroy" "~1.0.4" + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "etag" "~1.8.1" + "fresh" "0.5.2" + "http-errors" "~1.7.2" + "mime" "1.6.0" + "ms" "2.1.1" + "on-finished" "~2.3.0" + "range-parser" "~1.2.1" + "statuses" "~1.5.0" + + "sequencify@~0.0.7": + "integrity" "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=" + "resolved" "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz" + "version" "0.0.7" + + "serve-index@^1.1.4": + "integrity" "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=" + "resolved" "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" + "version" "1.9.1" + dependencies: + "accepts" "~1.3.4" + "batch" "0.6.1" + "debug" "2.6.9" + "escape-html" "~1.0.3" + "http-errors" "~1.6.2" + "mime-types" "~2.1.17" + "parseurl" "~1.3.2" + + "serve-static@^1.3.0": + "integrity" "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==" + "resolved" "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz" + "version" "1.14.1" + dependencies: + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "parseurl" "~1.3.3" + "send" "0.17.1" + + "set-blocking@^2.0.0": + "integrity" "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "resolved" "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" + "version" "2.0.0" + + "set-value@^2.0.0", "set-value@^2.0.1": + "integrity" "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==" + "resolved" "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "extend-shallow" "^2.0.1" + "is-extendable" "^0.1.1" + "is-plain-object" "^2.0.3" + "split-string" "^3.0.1" + + "setprototypeof@1.1.0": + "integrity" "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" + "version" "1.1.0" + + "setprototypeof@1.1.1": + "integrity" "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz" + "version" "1.1.1" + + "shebang-command@^1.2.0": + "integrity" "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=" + "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "shebang-regex" "^1.0.0" + + "shebang-command@^2.0.0": + "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" + "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "shebang-regex" "^3.0.0" + + "shebang-regex@^1.0.0": + "integrity" "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" + "version" "1.0.0" + + "shebang-regex@^3.0.0": + "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + "version" "3.0.0" + + "shellwords@^0.1.1": + "integrity" "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" + "resolved" "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz" + "version" "0.1.1" + + "side-channel@^1.0.2": + "integrity" "sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g==" + "resolved" "https://registry.npmjs.org/side-channel/-/side-channel-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "es-abstract" "^1.18.0-next.0" + "object-inspect" "^1.8.0" + + "sigmund@~1.0.0": + "integrity" "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" + "resolved" "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" + "version" "1.0.1" + + "signal-exit@^3.0.0", "signal-exit@^3.0.2": + "integrity" "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz" + "version" "3.0.3" + + "sisteransi@^1.0.4": + "integrity" "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "resolved" "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + "version" "1.0.5" + + "slash@^3.0.0": + "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + "version" "3.0.0" + + "snakeize@^0.1.0": + "integrity" "sha1-EMCI2LWOsHazIpu1oE4jLOEmQi0=" + "resolved" "https://registry.npmjs.org/snakeize/-/snakeize-0.1.0.tgz" + "version" "0.1.0" + + "snapdragon-node@^2.0.1": + "integrity" "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==" + "resolved" "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "define-property" "^1.0.0" + "isobject" "^3.0.0" + "snapdragon-util" "^3.0.1" + + "snapdragon-util@^3.0.1": + "integrity" "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==" + "resolved" "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "kind-of" "^3.2.0" + + "snapdragon@^0.8.1": + "integrity" "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==" + "resolved" "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" + "version" "0.8.2" + dependencies: + "base" "^0.11.1" + "debug" "^2.2.0" + "define-property" "^0.2.5" + "extend-shallow" "^2.0.1" + "map-cache" "^0.2.2" + "source-map" "^0.5.6" + "source-map-resolve" "^0.5.0" + "use" "^3.1.0" + + "sntp@1.x.x": + "integrity" "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=" + "resolved" "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" + "version" "1.0.9" + dependencies: + "hoek" "2.x.x" + + "sort-keys@^1.0.0": + "integrity" "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=" + "resolved" "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "is-plain-obj" "^1.0.0" + + "source-map-resolve@^0.5.0": + "integrity" "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==" + "resolved" "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz" + "version" "0.5.3" + dependencies: + "atob" "^2.1.2" + "decode-uri-component" "^0.2.0" + "resolve-url" "^0.2.1" + "source-map-url" "^0.4.0" + "urix" "^0.1.0" + + "source-map-support@^0.5.6": + "integrity" "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==" + "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz" + "version" "0.5.19" + dependencies: + "buffer-from" "^1.0.0" + "source-map" "^0.6.0" + + "source-map-url@^0.4.0": + "integrity" "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + "resolved" "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz" + "version" "0.4.0" + + "source-map@^0.5.0": + "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + "version" "0.5.7" + + "source-map@^0.5.1": + "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + "version" "0.5.7" + + "source-map@^0.5.3": + "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + "version" "0.5.7" + + "source-map@^0.5.6": + "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + "version" "0.5.7" + + "source-map@^0.6.0", "source-map@^0.6.1", "source-map@~0.6.1": + "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + "version" "0.6.1" + + "source-map@^0.7.3": + "integrity" "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz" + "version" "0.7.3" + + "source-map@~0.5.1": + "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + "version" "0.5.7" + + "sparkles@^1.0.0": + "integrity" "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==" + "resolved" "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz" + "version" "1.0.1" + + "spdx-correct@^3.0.0": + "integrity" "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==" + "resolved" "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "spdx-expression-parse" "^3.0.0" + "spdx-license-ids" "^3.0.0" + + "spdx-exceptions@^2.1.0": + "integrity" "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + "resolved" "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" + "version" "2.3.0" + + "spdx-expression-parse@^3.0.0": + "integrity" "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==" + "resolved" "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "spdx-exceptions" "^2.1.0" + "spdx-license-ids" "^3.0.0" + + "spdx-license-ids@^3.0.0": + "integrity" "sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==" + "resolved" "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz" + "version" "3.0.6" + + "split-string@^3.0.1", "split-string@^3.0.2": + "integrity" "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==" + "resolved" "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "extend-shallow" "^3.0.0" + + "split@0.2": + "integrity" "sha1-Zwl8YB1pfOE2j0GPBs0gHPBSGlc=" + "resolved" "https://registry.npmjs.org/split/-/split-0.2.10.tgz" + "version" "0.2.10" + dependencies: + "through" "2" + + "sprintf-js@~1.0.2": + "integrity" "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + "version" "1.0.3" + + "sshpk@^1.7.0": + "integrity" "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==" + "resolved" "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz" + "version" "1.16.1" + dependencies: + "asn1" "~0.2.3" + "assert-plus" "^1.0.0" + "bcrypt-pbkdf" "^1.0.0" + "dashdash" "^1.12.0" + "ecc-jsbn" "~0.1.1" + "getpass" "^0.1.1" + "jsbn" "~0.1.0" + "safer-buffer" "^2.0.2" + "tweetnacl" "~0.14.0" + + "stack-utils@^2.0.2": + "integrity" "sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg==" + "resolved" "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "escape-string-regexp" "^2.0.0" + + "static-extend@^0.1.1": + "integrity" "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=" + "resolved" "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" + "version" "0.1.2" + dependencies: + "define-property" "^0.2.5" + "object-copy" "^0.1.0" + + "statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", "statuses@~1.5.0": + "integrity" "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + "resolved" "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" + "version" "1.5.0" + + "stealthy-require@^1.1.1": + "integrity" "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + "resolved" "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz" + "version" "1.1.1" + + "stream-combiner@~0.0.3": + "integrity" "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=" + "resolved" "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz" + "version" "0.0.4" + dependencies: + "duplexer" "~0.1.1" + + "stream-consume@~0.1.0": + "integrity" "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==" + "resolved" "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz" + "version" "0.1.1" + + "stream-events@^1.0.1", "stream-events@^1.0.4", "stream-events@^1.0.5": + "integrity" "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==" + "resolved" "https://registry.npmjs.org/stream-events/-/stream-events-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "stubs" "^3.0.0" + + "stream-shift@^1.0.0": + "integrity" "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + "resolved" "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz" + "version" "1.0.1" + + "streamfilter@^3.0.0": + "integrity" "sha512-kvKNfXCmUyC8lAXSSHCIXBUlo/lhsLcCU/OmzACZYpRUdtKIH68xYhm/+HI15jFJYtNJGYtCgn2wmIiExY1VwA==" + "resolved" "https://registry.npmjs.org/streamfilter/-/streamfilter-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "readable-stream" "^3.0.6" + + "streamqueue@0.0.6": + "integrity" "sha1-ZvX17JTpuK8knkrsLdH3Qb/pTeM=" + "resolved" "https://registry.npmjs.org/streamqueue/-/streamqueue-0.0.6.tgz" + "version" "0.0.6" + dependencies: + "readable-stream" "^1.0.26-2" + + "streamsearch@0.1.2": + "integrity" "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" + "resolved" "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz" + "version" "0.1.2" + + "string_decoder@^1.1.1": + "integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "safe-buffer" "~5.2.0" + + "string_decoder@~0.10.x": + "integrity" "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" + "version" "0.10.31" + + "string_decoder@~1.1.1": + "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "safe-buffer" "~5.1.0" + + "string-length@^4.0.1": + "integrity" "sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==" + "resolved" "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "char-regex" "^1.0.2" + "strip-ansi" "^6.0.0" + + "string-width@^4.1.0", "string-width@^4.2.0": + "integrity" "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "emoji-regex" "^8.0.0" + "is-fullwidth-code-point" "^3.0.0" + "strip-ansi" "^6.0.0" + + "string.prototype.trimend@^1.0.1": + "integrity" "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==" + "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "define-properties" "^1.1.3" + "es-abstract" "^1.17.5" + + "string.prototype.trimstart@^1.0.1": + "integrity" "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==" + "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "define-properties" "^1.1.3" + "es-abstract" "^1.17.5" + + "stringstream@~0.0.4": + "integrity" "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==" + "resolved" "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz" + "version" "0.0.6" + + "strip-ansi@^0.3.0": + "integrity" "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz" + "version" "0.3.0" + dependencies: + "ansi-regex" "^0.2.1" + + "strip-ansi@^3.0.0": + "integrity" "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "ansi-regex" "^2.0.0" + + "strip-ansi@^6.0.0": + "integrity" "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "ansi-regex" "^5.0.0" + + "strip-bom-stream@^1.0.0": + "integrity" "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=" + "resolved" "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "first-chunk-stream" "^1.0.0" + "strip-bom" "^2.0.0" + + "strip-bom@^1.0.0": + "integrity" "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=" + "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "first-chunk-stream" "^1.0.0" + "is-utf8" "^0.2.0" + + "strip-bom@^2.0.0": + "integrity" "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=" + "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "is-utf8" "^0.2.0" + + "strip-bom@^4.0.0": + "integrity" "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" + "version" "4.0.0" + + "strip-eof@^1.0.0": + "integrity" "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + "resolved" "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" + "version" "1.0.0" + + "strip-final-newline@^2.0.0": + "integrity" "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + "resolved" "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + "version" "2.0.0" + + "strip-indent@^1.0.1": + "integrity" "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=" + "resolved" "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "get-stdin" "^4.0.1" + + "stubs@^3.0.0": + "integrity" "sha1-6NK6H6nJBXAwPAMLaQD31fiavls=" + "resolved" "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz" + "version" "3.0.0" + + "supports-color@^0.2.0": + "integrity" "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz" + "version" "0.2.0" + + "supports-color@^2.0.0": + "integrity" "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + "version" "2.0.0" + + "supports-color@^5.3.0": + "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + "version" "5.5.0" + dependencies: + "has-flag" "^3.0.0" + + "supports-color@^7.0.0", "supports-color@^7.1.0": + "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + "version" "7.2.0" + dependencies: + "has-flag" "^4.0.0" + + "supports-hyperlinks@^2.0.0": + "integrity" "sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA==" + "resolved" "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "has-flag" "^4.0.0" + "supports-color" "^7.0.0" + + "symbol-tree@^3.2.4": + "integrity" "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + "resolved" "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" + "version" "3.2.4" + + "teeny-request@^6.0.0": + "integrity" "sha512-TZG/dfd2r6yeji19es1cUIwAlVD8y+/svB1kAC2Y0bjEyysrfbO8EZvJBRwIE6WkwmUoB7uvWLwTIhJbMXZ1Dw==" + "resolved" "https://registry.npmjs.org/teeny-request/-/teeny-request-6.0.3.tgz" + "version" "6.0.3" + dependencies: + "http-proxy-agent" "^4.0.0" + "https-proxy-agent" "^5.0.0" + "node-fetch" "^2.2.0" + "stream-events" "^1.0.5" + "uuid" "^7.0.0" + + "terminal-link@^2.0.0": + "integrity" "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==" + "resolved" "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "ansi-escapes" "^4.2.1" + "supports-hyperlinks" "^2.0.0" + + "ternary-stream@^2.0.1": + "integrity" "sha512-j6ei9hxSoyGlqTmoMjOm+QNvUKDOIY6bNl4Uh1lhBvl6yjPW2iLqxDUYyfDPZknQ4KdRziFl+ec99iT4l7g0cw==" + "resolved" "https://registry.npmjs.org/ternary-stream/-/ternary-stream-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "duplexify" "^3.5.0" + "fork-stream" "^0.0.4" + "merge-stream" "^1.0.0" + "through2" "^2.0.1" + + "test-exclude@^6.0.0": + "integrity" "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==" + "resolved" "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "@istanbuljs/schema" "^0.1.2" + "glob" "^7.1.4" + "minimatch" "^3.0.4" + + "throat@^5.0.0": + "integrity" "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" + "resolved" "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz" + "version" "5.0.0" + + "through@*", "through@^2.3.6", "through@~2.3", "through@~2.3.1", "through@~2.3.4", "through@2": + "integrity" "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + "resolved" "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + "version" "2.3.8" + + "through2@^0.5.0", "through2@^0.5.1": + "integrity" "sha1-390BLrnHAOIyP9M084rGIqs3Lac=" + "resolved" "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz" + "version" "0.5.1" + dependencies: + "readable-stream" "~1.0.17" + "xtend" "~3.0.0" + + "through2@^0.6.1": + "integrity" "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=" + "resolved" "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz" + "version" "0.6.5" + dependencies: + "readable-stream" ">=1.0.33-1 <1.1.0-0" + "xtend" ">=4.0.0 <4.1.0-0" + + "through2@^0.6.3": + "integrity" "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=" + "resolved" "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz" + "version" "0.6.5" + dependencies: + "readable-stream" ">=1.0.33-1 <1.1.0-0" + "xtend" ">=4.0.0 <4.1.0-0" + + "through2@^2.0.0", "through2@^2.0.1", "through2@^2.0.3": + "integrity" "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==" + "resolved" "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" + "version" "2.0.5" + dependencies: + "readable-stream" "~2.3.6" + "xtend" "~4.0.1" + + "through2@^3.0.0": + "integrity" "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==" + "resolved" "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "inherits" "^2.0.4" + "readable-stream" "2 || 3" + + "through2@~0.4.0": + "integrity" "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=" + "resolved" "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz" + "version" "0.4.2" + dependencies: + "readable-stream" "~1.0.17" + "xtend" "~2.1.1" + + "through2@~0.6.3": + "integrity" "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=" + "resolved" "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz" + "version" "0.6.5" + dependencies: + "readable-stream" ">=1.0.33-1 <1.1.0-0" + "xtend" ">=4.0.0 <4.1.0-0" + + "tildify@^1.0.0": + "integrity" "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=" + "resolved" "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "os-homedir" "^1.0.0" + + "time-stamp@^1.0.0": + "integrity" "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=" + "resolved" "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz" + "version" "1.1.0" + + "tiny-lr@0.1.4": + "integrity" "sha1-bkHX5n39CHjl4LN+N6BtZ+MJ/00=" + "resolved" "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.1.4.tgz" + "version" "0.1.4" + dependencies: + "body-parser" "~1.8.0" + "debug" "~0.8.1" + "faye-websocket" "~0.7.2" + "parseurl" "~1.3.0" + "qs" "~2.2.3" + + "tmpl@1.0.x": + "integrity" "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=" + "resolved" "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz" + "version" "1.0.4" + + "to-factory@^1.0.0": + "integrity" "sha1-hzivi9lxIK0dQEeXKtpVY7+UebE=" + "resolved" "https://registry.npmjs.org/to-factory/-/to-factory-1.0.0.tgz" + "version" "1.0.0" + + "to-fast-properties@^2.0.0": + "integrity" "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + "version" "2.0.0" + + "to-object-path@^0.3.0": + "integrity" "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=" + "resolved" "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" + "version" "0.3.0" + dependencies: + "kind-of" "^3.0.2" + + "to-regex-range@^2.1.0": + "integrity" "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=" + "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "is-number" "^3.0.0" + "repeat-string" "^1.6.1" + + "to-regex-range@^5.0.1": + "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" + "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "is-number" "^7.0.0" + + "to-regex@^3.0.1", "to-regex@^3.0.2": + "integrity" "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==" + "resolved" "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "define-property" "^2.0.2" + "extend-shallow" "^3.0.2" + "regex-not" "^1.0.2" + "safe-regex" "^1.1.0" + + "toidentifier@1.0.0": + "integrity" "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + "resolved" "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz" + "version" "1.0.0" + + "tough-cookie@^2.3.3", "tough-cookie@~2.5.0": + "integrity" "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==" + "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" + "version" "2.5.0" + dependencies: + "psl" "^1.1.28" + "punycode" "^2.1.1" + + "tough-cookie@^3.0.1": + "integrity" "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==" + "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "ip-regex" "^2.1.0" + "psl" "^1.1.28" + "punycode" "^2.1.1" + + "tough-cookie@~2.3.0": + "integrity" "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==" + "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz" + "version" "2.3.4" + dependencies: + "punycode" "^1.4.1" + + "tr46@^2.0.2": + "integrity" "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==" + "resolved" "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "punycode" "^2.1.1" + + "trim-newlines@^1.0.0": + "integrity" "sha1-WIeWa7WCpFA6QetST301ARgVphM=" + "resolved" "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz" + "version" "1.0.0" + + "tryit@^1.0.1": + "integrity" "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=" + "resolved" "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz" + "version" "1.0.3" + + "tslib@^1.11.1": + "integrity" "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz" + "version" "1.13.0" + + "tunnel-agent@^0.6.0": + "integrity" "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=" + "resolved" "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" + "version" "0.6.0" + dependencies: + "safe-buffer" "^5.0.1" + + "tweetnacl@^0.14.3", "tweetnacl@~0.14.0": + "integrity" "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + "resolved" "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" + "version" "0.14.5" + + "type-check@~0.3.2": + "integrity" "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=" + "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" + "version" "0.3.2" + dependencies: + "prelude-ls" "~1.1.2" + + "type-detect@4.0.8": + "integrity" "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + "resolved" "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" + "version" "4.0.8" + + "type-fest@^0.11.0": + "integrity" "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz" + "version" "0.11.0" + + "type-fest@^0.6.0": + "integrity" "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" + "version" "0.6.0" + + "type-fest@^0.8.1": + "integrity" "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" + "version" "0.8.1" + + "type-is@~1.5.1": + "integrity" "sha1-uTaKWTzG730GReeLL0xky+zQXpA=" + "resolved" "https://registry.npmjs.org/type-is/-/type-is-1.5.7.tgz" + "version" "1.5.7" + dependencies: + "media-typer" "0.3.0" + "mime-types" "~2.0.9" + + "typedarray-to-buffer@^3.1.5": + "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==" + "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + "version" "3.1.5" + dependencies: + "is-typedarray" "^1.0.0" + + "typedarray@^0.0.6": + "integrity" "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "resolved" "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + "version" "0.0.6" + + "typeface-comfortaa@0.0.35": + "integrity" "sha512-KZJ1lxIR2TruDhzoPKKBEItNAjg1mfYYnksuOBVozISM7BGdfW99T+TO+DGRysA17dsK9WYWSRn8KM7tXcU1+g==" + "resolved" "https://registry.npmjs.org/typeface-comfortaa/-/typeface-comfortaa-0.0.35.tgz" + "version" "0.0.35" + + "uc.micro@^1.0.1", "uc.micro@^1.0.3": + "integrity" "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + "resolved" "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz" + "version" "1.0.6" + + "uglify-js@^2.7.0": + "integrity" "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=" + "resolved" "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz" + "version" "2.8.29" + dependencies: + "source-map" "~0.5.1" + "yargs" "~3.10.0" + optionalDependencies: + "uglify-to-browserify" "~1.0.0" + + "uglify-js@^3.1.4": + "integrity" "sha512-kBFT3U4Dcj4/pJ52vfjCSfyLyvG9VYYuGYPmrPvAxRw/i7xHiT4VvCev+uiEMcEEiu6UNB6KgWmGtSUYIWScbw==" + "resolved" "https://registry.npmjs.org/uglify-js/-/uglify-js-3.10.4.tgz" + "version" "3.10.4" + + "uglify-to-browserify@~1.0.0": + "integrity" "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=" + "resolved" "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz" + "version" "1.0.2" + + "unc-path-regex@^0.1.2": + "integrity" "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" + "resolved" "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz" + "version" "0.1.2" + + "union-value@^1.0.0": + "integrity" "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==" + "resolved" "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "arr-union" "^3.1.0" + "get-value" "^2.0.6" + "is-extendable" "^0.1.1" + "set-value" "^2.0.1" + + "unique-stream@^1.0.0": + "integrity" "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=" + "resolved" "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz" + "version" "1.0.0" + + "unique-string@^2.0.0": + "integrity" "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==" + "resolved" "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "crypto-random-string" "^2.0.0" + + "unorm@>= 1.0.0": + "integrity" "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==" + "resolved" "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz" + "version" "1.6.0" + + "unpipe@~1.0.0": + "integrity" "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + "resolved" "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + "version" "1.0.0" + + "unset-value@^1.0.0": + "integrity" "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=" + "resolved" "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "has-value" "^0.3.1" + "isobject" "^3.0.0" + + "uri-js@^4.2.2": + "integrity" "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==" + "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz" + "version" "4.4.0" + dependencies: + "punycode" "^2.1.0" + + "urix@^0.1.0": + "integrity" "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + "resolved" "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" + "version" "0.1.0" + + "use@^3.1.0": + "integrity" "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + "resolved" "https://registry.npmjs.org/use/-/use-3.1.1.tgz" + "version" "3.1.1" + + "user-home@^1.1.1": + "integrity" "sha1-K1viOjK2Onyd640PKNSFcko98ZA=" + "resolved" "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz" + "version" "1.1.1" + + "uslug@^1.0.4": + "integrity" "sha1-uaIvCRTgqGFAYz2swwLl9PpFBnc=" + "resolved" "https://registry.npmjs.org/uslug/-/uslug-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "unorm" ">= 1.0.0" + + "util-deprecate@^1.0.1", "util-deprecate@~1.0.1": + "integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + "version" "1.0.2" + + "utils-merge@1.0.1": + "integrity" "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + "resolved" "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + "version" "1.0.1" + + "uuid@^3.0.0", "uuid@^3.3.2": + "integrity" "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "resolved" "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" + "version" "3.4.0" + + "uuid@^7.0.0": + "integrity" "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" + "resolved" "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz" + "version" "7.0.3" + + "uuid@^8.3.0": + "integrity" "sha512-fX6Z5o4m6XsXBdli9g7DtWgAx+osMsRRZFKma1mIUsLCz6vRvv+pz5VNbyu9UEDzpMWulZfvpgb/cmDXVulYFQ==" + "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.0.tgz" + "version" "8.3.0" + + "v8-to-istanbul@^5.0.1": + "integrity" "sha512-mbDNjuDajqYe3TXFk5qxcQy8L1msXNE37WTlLoqqpBfRsimbNcrlhQlDPntmECEcUvdC+AQ8CyMMf6EUx1r74Q==" + "resolved" "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + "convert-source-map" "^1.6.0" + "source-map" "^0.7.3" + + "v8flags@^2.0.2": + "integrity" "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=" + "resolved" "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "user-home" "^1.1.1" + + "validate-npm-package-license@^3.0.1": + "integrity" "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==" + "resolved" "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "spdx-correct" "^3.0.0" + "spdx-expression-parse" "^3.0.0" + + "verror@1.10.0": + "integrity" "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=" + "resolved" "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" + "version" "1.10.0" + dependencies: + "assert-plus" "^1.0.0" + "core-util-is" "1.0.2" + "extsprintf" "^1.2.0" + + "vinyl-bufferstream@^1.0.1": + "integrity" "sha1-BTeGn1gO/6TKRay0dXnkuf5jCBo=" + "resolved" "https://registry.npmjs.org/vinyl-bufferstream/-/vinyl-bufferstream-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "bufferstreams" "1.0.1" + + "vinyl-file@^1.1.0": + "integrity" "sha1-qgVjTTqGe6kUR77bs0r8sm9E9uc=" + "resolved" "https://registry.npmjs.org/vinyl-file/-/vinyl-file-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "graceful-fs" "^4.1.2" + "strip-bom" "^2.0.0" + "strip-bom-stream" "^1.0.0" + "vinyl" "^1.1.0" + + "vinyl-fs@^0.3.0": + "integrity" "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=" + "resolved" "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz" + "version" "0.3.14" + dependencies: + "defaults" "^1.0.0" + "glob-stream" "^3.1.5" + "glob-watcher" "^0.0.6" + "graceful-fs" "^3.0.0" + "mkdirp" "^0.5.0" + "strip-bom" "^1.0.0" + "through2" "^0.6.1" + "vinyl" "^0.4.0" + + "vinyl-sourcemaps-apply@^0.2.0": + "integrity" "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=" + "resolved" "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz" + "version" "0.2.1" + dependencies: + "source-map" "^0.5.1" + + "vinyl@^0.2.1": + "integrity" "sha1-vKk4IJWC7FpJrVOKAPofEl5RMlI=" + "resolved" "https://registry.npmjs.org/vinyl/-/vinyl-0.2.3.tgz" + "version" "0.2.3" + dependencies: + "clone-stats" "~0.0.1" + + "vinyl@^0.4.0": + "integrity" "sha1-LzVsh6VQolVGHza76ypbqL94SEc=" + "resolved" "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz" + "version" "0.4.6" + dependencies: + "clone" "^0.2.0" + "clone-stats" "^0.0.1" + + "vinyl@^0.5.0": + "integrity" "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=" + "resolved" "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz" + "version" "0.5.3" + dependencies: + "clone" "^1.0.0" + "clone-stats" "^0.0.1" + "replace-ext" "0.0.1" + + "vinyl@^1.1.0": + "integrity" "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=" + "resolved" "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "clone" "^1.0.0" + "clone-stats" "^0.0.1" + "replace-ext" "0.0.1" + + "vinyl@^2.0.0", "vinyl@^2.1.0": + "integrity" "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==" + "resolved" "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "clone" "^2.1.1" + "clone-buffer" "^1.0.0" + "clone-stats" "^1.0.0" + "cloneable-readable" "^1.0.0" + "remove-trailing-separator" "^1.0.1" + "replace-ext" "^1.0.0" + + "w3c-hr-time@^1.0.2": + "integrity" "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==" + "resolved" "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "browser-process-hrtime" "^1.0.0" + + "w3c-xmlserializer@^2.0.0": + "integrity" "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==" + "resolved" "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "xml-name-validator" "^3.0.0" + + "walkdir@^0.4.0": + "integrity" "sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==" + "resolved" "https://registry.npmjs.org/walkdir/-/walkdir-0.4.1.tgz" + "version" "0.4.1" + + "walker@^1.0.7", "walker@~1.0.5": + "integrity" "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=" + "resolved" "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz" + "version" "1.0.7" + dependencies: + "makeerror" "1.0.x" + + "watch@^0.11.0": + "integrity" "sha1-6NugkbdFZ5mjr1eXi5hud+EyBAY=" + "resolved" "https://registry.npmjs.org/watch/-/watch-0.11.0.tgz" + "version" "0.11.0" + + "webidl-conversions@^5.0.0": + "integrity" "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" + "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz" + "version" "5.0.0" + + "webidl-conversions@^6.1.0": + "integrity" "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz" + "version" "6.1.0" + + "websocket-driver@>=0.3.6", "websocket-driver@>=0.5.1": + "integrity" "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==" + "resolved" "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" + "version" "0.7.4" + dependencies: + "http-parser-js" ">=0.5.1" + "safe-buffer" ">=5.1.0" + "websocket-extensions" ">=0.1.1" + + "websocket-extensions@>=0.1.1": + "integrity" "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + "resolved" "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" + "version" "0.1.4" + + "whatwg-encoding@^1.0.5": + "integrity" "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==" + "resolved" "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "iconv-lite" "0.4.24" + + "whatwg-fetch@>=0.10.0": + "integrity" "sha512-sofZVzE1wKwO+EYPbWfiwzaKovWiZXf4coEzjGP9b2GBVgQRLQUZ2QcuPpQExGDAW5GItpEm6Tl4OU5mywnAoQ==" + "resolved" "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.4.1.tgz" + "version" "3.4.1" + + "whatwg-fetch@2.0.4": + "integrity" "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + "resolved" "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz" + "version" "2.0.4" + + "whatwg-mimetype@^2.3.0": + "integrity" "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + "resolved" "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz" + "version" "2.3.0" + + "whatwg-url@^8.0.0": + "integrity" "sha512-PcVnO6NiewhkmzV0qn7A+UZ9Xx4maNTI+O+TShmfE4pqjoCMwUMjkvoNhNHPTvgR7QH9Xt3R13iHuWy2sToFxQ==" + "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.2.2.tgz" + "version" "8.2.2" + dependencies: + "lodash.sortby" "^4.7.0" + "tr46" "^2.0.2" + "webidl-conversions" "^6.1.0" + + "when@^3.7.7": + "integrity" "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=" + "resolved" "https://registry.npmjs.org/when/-/when-3.7.8.tgz" + "version" "3.7.8" + + "which-boxed-primitive@^1.0.1": + "integrity" "sha512-7BT4TwISdDGBgaemWU0N0OU7FeAEJ9Oo2P1PHRm/FCWoEi2VLWC9b6xvxAA3C/NMpxg3HXVgi0sMmGbNUbNepQ==" + "resolved" "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "is-bigint" "^1.0.0" + "is-boolean-object" "^1.0.0" + "is-number-object" "^1.0.3" + "is-string" "^1.0.4" + "is-symbol" "^1.0.2" + + "which-collection@^1.0.1": + "integrity" "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==" + "resolved" "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "is-map" "^2.0.1" + "is-set" "^2.0.1" + "is-weakmap" "^2.0.1" + "is-weakset" "^2.0.1" + + "which-module@^2.0.0": + "integrity" "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + "resolved" "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" + "version" "2.0.0" + + "which-typed-array@^1.1.2": + "integrity" "sha512-KT6okrd1tE6JdZAy3o2VhMoYPh3+J6EMZLyrxBQsZflI1QCZIxMrIYLkosd8Twf+YfknVIHmYQPgJt238p8dnQ==" + "resolved" "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "available-typed-arrays" "^1.0.2" + "es-abstract" "^1.17.5" + "foreach" "^2.0.5" + "function-bind" "^1.1.1" + "has-symbols" "^1.0.1" + "is-typed-array" "^1.1.3" + + "which@^1.2.14", "which@^1.2.9": + "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" + "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + "version" "1.3.1" + dependencies: + "isexe" "^2.0.0" + + "which@^2.0.1": + "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" + "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "isexe" "^2.0.0" + + "which@^2.0.2": + "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" + "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "isexe" "^2.0.0" + + "window-size@0.1.0": + "integrity" "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + "resolved" "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz" + "version" "0.1.0" + + "word-wrap@~1.2.3": + "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" + "version" "1.2.3" + + "wordwrap@^1.0.0": + "integrity" "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + "resolved" "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" + "version" "1.0.0" + + "wordwrap@0.0.2": + "integrity" "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + "resolved" "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + "version" "0.0.2" + + "wrap-ansi@^6.2.0": + "integrity" "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" + "version" "6.2.0" + dependencies: + "ansi-styles" "^4.0.0" + "string-width" "^4.1.0" + "strip-ansi" "^6.0.0" + + "wrappy@1": + "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + "version" "1.0.2" + + "write-file-atomic@^3.0.0": + "integrity" "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==" + "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "imurmurhash" "^0.1.4" + "is-typedarray" "^1.0.0" + "signal-exit" "^3.0.2" + "typedarray-to-buffer" "^3.1.5" + + "ws@^7.2.3": + "integrity" "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==" + "resolved" "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz" + "version" "7.3.1" + + "xdg-basedir@^4.0.0": + "integrity" "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" + "resolved" "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" + "version" "4.0.0" + + "xml-name-validator@^3.0.0": + "integrity" "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + "resolved" "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz" + "version" "3.0.0" + + "xmlchars@^2.2.0": + "integrity" "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + "resolved" "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" + "version" "2.2.0" + + "xmlhttprequest@1.8.0": + "integrity" "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=" + "resolved" "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz" + "version" "1.8.0" + + "xtend@>=4.0.0 <4.1.0-0", "xtend@~4.0.1": + "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + "version" "4.0.2" + + "xtend@~2.1.1": + "integrity" "sha1-bv7MKk2tjmlixJAbM3znuoe10os=" + "resolved" "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz" + "version" "2.1.2" + dependencies: + "object-keys" "~0.4.0" + + "xtend@~3.0.0": + "integrity" "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=" + "resolved" "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz" + "version" "3.0.0" + + "y18n@^4.0.0": + "integrity" "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + "resolved" "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz" + "version" "4.0.0" + + "yallist@^3.0.2": + "integrity" "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + "version" "3.1.1" + + "yallist@^4.0.0": + "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + "version" "4.0.0" + + "yargs-parser@^18.1.2": + "integrity" "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" + "version" "18.1.3" + dependencies: + "camelcase" "^5.0.0" + "decamelize" "^1.2.0" + + "yargs@^15.3.1": + "integrity" "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" + "version" "15.4.1" + dependencies: + "cliui" "^6.0.0" + "decamelize" "^1.2.0" + "find-up" "^4.1.0" + "get-caller-file" "^2.0.1" + "require-directory" "^2.1.1" + "require-main-filename" "^2.0.0" + "set-blocking" "^2.0.0" + "string-width" "^4.2.0" + "which-module" "^2.0.0" + "y18n" "^4.0.0" + "yargs-parser" "^18.1.2" + + "yargs@~3.10.0": + "integrity" "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz" + "version" "3.10.0" + dependencies: + "camelcase" "^1.0.2" + "cliui" "^2.1.0" + "decamelize" "^1.0.0" + "window-size" "0.1.0"