diff --git a/404.html b/404.html index dada1f0e2..1767ec4f8 100644 --- a/404.html +++ b/404.html @@ -12,15 +12,15 @@ - - + +
Skip to main content

Page Not Found

You may have used an outdated link as there have been some changes in the structure of the documentation.

But it/'s clearly here somewhere!
Please, use the keyword search to find it!

- - + + \ No newline at end of file diff --git a/FAQ/index.html b/FAQ/index.html index 1a6b9d26c..87b11c446 100644 --- a/FAQ/index.html +++ b/FAQ/index.html @@ -12,15 +12,15 @@ - - + +
Skip to main content

FAQ

On this page, we have put together a list of the most frequently asked questions. Here, you can find prompt responses.

1. Does on-prem installed ReportPortal make any external calls? What are the content and nature of these calls?

All test results and testing data reside in-house, within your instance of ReportPortal. However, there are two types of external calls that ReportPortal makes. The first checks our status page for the latest version and informs users of it on the login page. The second sends anonymized data to Google Analytics, helping us refine the user experience and better understand application usage. This can be toggled off if desired.

2. Assuming ReportPortal locally caches logs to understand their content, where are these stored, and what are the associated retention policies?

ReportPortal utilizes PostgreSQL for its database, MinIO and the local system for file storage, and Elasticsearch for log indexing and ML processes.

Retention policies can be set and adjusted within the application on a per-project basis.

3. How is data encrypted in transit and at rest?

We use encryption in transit via SSL for our SaaS instances. For on-prem installation it depends on your LoadBalancer.

We use encryption at rest for our SaaS instances. It is provided by AWS and configured during VM provisioning. For on-prem installation it depends on your DevOps.

4. Does the containerized solution function as a standalone, or can it be integrated with K8S or other orchestration platforms? Is there a helm chart available?

ReportPortal is containerized and can be orchestrated using either docker-compose or Kubernetes.

5. Is there any training available to use ReportPortal effectively?

Check our Tutorial and read blog post with tips to get ReportPortal benefits. We also recommend investigate our documentation where you can find screenshots and video instructions on ReportPortal functionality.

6. Is there a demo available?

For sure, you can explore ReportPortal without installation visiting our Demo instance.

7. How can I begin using ReportPortal?

The initial steps involve installing and configuring the tool. Installation steps you can find in our documentation.

8. Does the tool integrate with my existing test automation framework?

ReportPortal can be integrated with common testing frameworks and CI tools. Consult this section of the documentation for detailed information on test framework integration. And use following links for Integration with CI/CD: Integration with GitLab CI, Integration with Jenkins.

9. What type of license does ReportPortal use?

ReportPortal is licensed under Apache v2.0, which means it’s free to use, comes with no liability and warranty, and there is no service and support included. And can be utilized even for commercial usage.

10. Does ReportPortal have any paid features?

At that moment, we offer the only premium feature – Quality Gates. It is a set of predefined criteria that must be satisfied for a run to be deemed successful.

11. Does ReportPortal use AI?

We provide ML-driven failure triage. Read this article to know how we use AI.

12. Do we need specific infrastructure prerequisites to avoid performance problems?

Look into Optimal Performance Hardware setup.

13. What types of reports can I generate with the ReportPortal?

ReportPortal has a lot of widgets to visualize test results and understand the state of the product. Most popular our widgets: Overall statistics chart, Launch statistics chart, Failed cases trend chart, Launch execution and issue statistic, Component health check.

14. Can ReportPortal aggregate performance test results?

We do not support direct integration with performance testing frameworks, but as a workaround you can import performance test results in JUnit format into ReportPortal. Further information on this topic can be found here.

15. Does ReportPortal have integration with Jira?

Our test automation reporting dashboard have integration with following Bug Tracking Systems: Jira Server, Jira Cloud, Azure DevOps, and Rally.

- - + + \ No newline at end of file diff --git a/admin-panel/AllProjectsPage/index.html b/admin-panel/AllProjectsPage/index.html index a925583fe..9144da168 100644 --- a/admin-panel/AllProjectsPage/index.html +++ b/admin-panel/AllProjectsPage/index.html @@ -12,14 +12,14 @@ - - + +
-
Skip to main content

All Projects page

Users with the Administrator role have access to the ReportPortal "Administrate" section.

In "Administrate" section you can:

  • Manage projects: create a project, delete a project, update project settings.

  • Manage users: create a user, invite a user to ReportPortal, delete a user, update a user project role, assign a user to projects/unassign a user from +

    All Projects page

    Users with the Administrator role have access to the ReportPortal "Administrate" section.

    In "Administrate" section you can:

    • Manage projects: create a project, delete a project, update project settings.

    • Manage users: create a user, invite a user to ReportPortal, delete a user, update a user project role, assign a user to projects/unassign a user from projects.

    To go to the "Administrate" section, open menu at the bottom of the page and select "Administrate" option.

    All existing projects are displayed on the "Projects" page.

    For each project, the following information is displayed:

    • Project name - the link to the "Dashboards" page of a project
    • Project type: "Internal" or "Personal"
    • Number of assigned team members
    • Number of launches
    • Last Launch date
    • "See detailed information" button
    • Ellipsis button

    By clicking on ellipsis button, a dropdown with the next options appears:

    • Members
    • Settings
    • Assign/Unassign
    • Delete
    note

    Administrator has access to a project even if they are not assigned to this project.

    By default, projects are sorted by the name in our test automation reporting dashboard.

    You can sort projects using the buttons from the "Sort by" section at the top. The sorting can be performed by: Creation date, Name, Members, Launches, Last Launch date, Project Type, Organization.

    To find a project quickly, type 3 or more symbols of the project name into the "Search" field.

    All Projects page allows:

    • to create a project
    • to update project settings
    • to invite users
    • to view project information
    • to delete a project (except PERSONAL project)

    Create projects

    To create a project, please refer to Creation of project and adding users

    Modify project settings

    To modify project settings please refer to Project Configuration

    Invite user on "All Projects" page

    To invite a user to a project on "All Projects" page, perform the following steps:

    1. Login into the ReportPortal instance as an Administrator.

    2. Navigate to the "Administrate" section -> "All Projects" page

    3. Click on ellipsis button on the project preview.

    4. Select the "Members" option.

    5. Click on the "Invite User" button.

    6. Enter the email address of the user in case he/she is not present in ReportPortal database @@ -30,7 +30,7 @@ button to complete the registration.

    7. The user will be assigned to the project that the invitation was sent from, and to "Personal Project" with the PROJECT MANAGER project role.

    note

    The link for registration will be active until the user registers in the system for up to, but not exceeding 24 hours.

    Detailed project info

    1. Login into ReportPortal instance as Administrator.

    2. Navigate to the "Administrate" section -> "All Projects" page.

    3. Click "See detailed information" button.

    4. View aggregated data of the selected project. Available period options are:

    • last 6 months
    • last 3 months
    • last month.

    Delete projects

    To delete a project, perform the following steps:

    1. Login into ReportPortal instance as Administrator.

    2. Navigate to the "Administrate" section -> "All Projects" page.

    3. Click on ellipsis button on the project preview.

    4. Click on the "Delete" option. A warning pop-up message will appear.

    5. Click "Delete". The project will be deleted from ReportPortal.

    note

    PERSONAL PROJECTS cannot be deleted from the system.

- - + + \ No newline at end of file diff --git a/admin-panel/AllUsersPage/index.html b/admin-panel/AllUsersPage/index.html index ac25267f9..5d42935e2 100644 --- a/admin-panel/AllUsersPage/index.html +++ b/admin-panel/AllUsersPage/index.html @@ -12,14 +12,14 @@ - - + +
-

All Users page

The "All Users" page in "Administrate" section provides the access to see all available users in the our Testops system.

The page provides next information:

  • user's information: login, full name, email address
  • last login date: in 'time ago' format
  • projects on which users are assigned and roles on them
  • Delete button: only Admin is able to delete user from the system

"All Users" page allows:

  • to add and invite new ReportPortal users.
  • to assign users to the projects with any project role.
  • to unassign users from projects.
  • to update project role
  • to delete users from ReportPortal.

ReportPortal allows to create a new user account on the "All Users" page in the "Administration" section.

Add user

To add a user on the "All Users" page, perform the following steps:

  1. Login into ReportPortal instance as Administrator.

  2. Navigate to the "Administrate" section -> "All users" page.

  3. Click on the "Add User" button.

  4. Fill all fields with valid data in the "Add user" form and click on the "Add" button. A new user will be added to +

    All Users page

    The "All Users" page in "Administrate" section provides the access to see all available users in the our Testops system.

    The page provides next information:

    • user's information: login, full name, email address
    • last login date: in 'time ago' format
    • projects on which users are assigned and roles on them
    • Delete button: only Admin is able to delete user from the system

    "All Users" page allows:

    • to add and invite new ReportPortal users.
    • to assign users to the projects with any project role.
    • to unassign users from projects.
    • to update project role
    • to delete users from ReportPortal.

    ReportPortal allows to create a new user account on the "All Users" page in the "Administration" section.

    Add user

    To add a user on the "All Users" page, perform the following steps:

    1. Login into ReportPortal instance as Administrator.

    2. Navigate to the "Administrate" section -> "All users" page.

    3. Click on the "Add User" button.

    4. Fill all fields with valid data in the "Add user" form and click on the "Add" button. A new user will be added to the system and assigned to the selected project, and to "Personal Project" with the PROJECT MANAGER project role. Message with authorization data will be sent to the user's email.

    note

    This is the only place in the system where an Administrator can be created from. "Project role" is disabled, if Administrator has been selected in the @@ -35,8 +35,8 @@ steps:

    1. Login into ReportPortal instance as Administrator.

    2. Navigate to the "Administrate" section -> "All Users" page.

    3. Find a user and their project in the "Projects and roles" column.

    4. Click on the name of project.

    5. Select a new value from the "Project Role" drop-down.

    6. Click on the tick button.

    Delete user

    To delete a user from ReportPortal, perform the following steps:

    1. Login into ReportPortal instance as Administrator.

    2. Navigate to the "Administrate" section -> "All Users" page.

    3. Select a user and click the "Delete" button.

    4. The warning message will be displayed.

    5. Click the "Delete" button. The user will be deleted from the ReportPortal. All launches and shared data (filters, dashboards and widgets), that the user owns on the projects will be kept in ReportPortal.

    Edit user account role

    The only space in ReportPortal where user can get the Administrator rights is All Users page.

    Give ADMINISTRATOR role

    To give Administrator role for any user, perform the following steps:

    1. Login into the ReportPortal instance as Administrator.

    2. Navigate to the "Administrate" section -> "All Users" page.

    3. Hover over user's name. - "Make admin" button will be displayed.

    4. Click on the "Make admin" button. - A confirmation message will be shown.

    5. Click "Change" button on pop-up window. Account role User will be changed to Administrator. The user account will be marked with "admin" label.

    Take away ADMINISTRATOR role

    To take away Administrator account role, perform the following steps:

    1. Login into ReportPortal instance as Administrator.

    2. Navigate to the "Administrate" section -> "All Users" page.

    3. Click on the "Admin" button near the user's name.

    4. A confirm message will be shown.

    5. Click "Change" button. Account role "Administrator" will be changed to -"User".

- - +"User".

+ + \ No newline at end of file diff --git a/admin-panel/EventMonitoring/index.html b/admin-panel/EventMonitoring/index.html new file mode 100644 index 000000000..73909775f --- /dev/null +++ b/admin-panel/EventMonitoring/index.html @@ -0,0 +1,26 @@ + + + + + +Event monitoring | ReportPortal Documentation + + + + + + + + + + + + + + +
+
Skip to main content

Event monitoring

Starting from version 23.2, ReportPortal can monitor all activities (events) at both the project and instance levels.

Project level event monitoring

To view the list of all activities within your project, open the menu at the bottom of the page as an Administrator and select the "Administrate" option. All existing projects are listed on the "All Projects" page. Click on the ellipsis button next to the project and choose the "Monitoring" option from the dropdown.

Here, you will find a table with the following columns: Time, User, Action, Object Type, Object Name, Old Value, and New Value.

Time

This column displays the time in a "time ago" format (e.g., "10 minutes ago"). Hovering over it, the system should show the precise action time.

User

This column shows who acted. We track not only actions by specific users but also, for your convenience, actions performed by ReportPortal itself or certain ReportPortal services. For example, actions by Jobs Service (such as Launch deletions) are included.

If the activity was on behalf of a user, and their account was deleted, then there will be a "deleted user" entry in the "User" column.

Action

This column displays all events within this project.

Event actions: Create dashboard, Update dashboard, Delete dashboard, Create widget, Update widget, Delete widget, Create filter, Update filter, Delete filter, Create custom defect type, Update defect, Delete defect, Create integration, Update integration, Delete integration, Start launch, Finish launch, Delete launch, Update project, Update analyzer, Post issue, Link issue, Unlink issue, Generate index, Delete index, Start import, Finish import, Update item, AA linked issue, AA changed defect type, Create pattern rule, Update pattern rule, Delete pattern rule, PA find pattern.

Object Type

This refers to the object on which the action was taken.

Event objects: Launch, Dashboard, Custom defect type, Notification rule, Filter, Import, Integration, Test item, Project, Ticket, User, Widget, Pattern Rule, index, Plugin.

Object Name

This is the name of the widget, launch, etc.

The Old Value and New Value columns display the changes that were made.

You can filter activities by user, action, object type, and object name.

Another way to view the event list in your project is by creating a "Project Activity Panel" widget.

Instance level event monitoring

Instance level events are not displayed in the UI – they are stored in the database.

Instance level events: Account deletion, Bulk account deletion, Administrator unassign, Provide Administrator permission for a user, Project creation, Bulk delete project by ReportPortal administrator, Delete project by ReportPortal administrator, Delete project by ReportPortal administrator, Delete Personal project when deleting user, Create Global Integration, Update Global Integration, Delete Global Integration, Bulk delete of Global Integration via API only, Manual plugin upload, Delete Plugin, Update Plugin (disable/enable), Create user in Administrate, Create user via auth service SAML.

Additionally, during instance setup, you can enable event storage in an audit log file. This data can be sent to a Security Information and Event Management (SIEM) system using tools like Fluentd, Fluentbit, or Filebeat. Logs and events are then checked and monitored within the SIEM system.

The primary advantage of the audit log file is that it preserves all records without alterations or deletions. In contrast, data in the database can be modified or deleted. For example, if launches or projects are deleted, the corresponding data is removed from the database. Deleting accounts leads to data obfuscation in the database.

Hence, if historical monitoring and strict accountability are required, enabling event storage in an audit log file is recommended. Financial companies, for example, are often mandated to retain all user actions in their services for 3 years.

note

Administrators should ensure that log rotation is configured for the location where the audit log will be saved, as a substantial amount of data will accumulate.

Event monitoring assists organizations, especially in industries like finance and healthcare, in maintaining the security of their systems and data.

+ + + + \ No newline at end of file diff --git a/analysis/AutoAnalysisOfLaunches/index.html b/analysis/AutoAnalysisOfLaunches/index.html index 546117e08..e68dfc481 100644 --- a/analysis/AutoAnalysisOfLaunches/index.html +++ b/analysis/AutoAnalysisOfLaunches/index.html @@ -12,8 +12,8 @@ - - + + @@ -23,7 +23,7 @@ For effective using Auto–Analysis you should come through several stages.

Create an analytical base in the ElasticSearch

First of all, you need to create an analytical base. For that, you should start to analyze test results manually.

All test items with a defect type which have been analyzed manually or automatically by ReportPortal are sent to the Elastic Search.

The following info is sent:

For the better analysis, we merge small logs (which consist of 1-2 log lines and words number <= 100) together. We store this merged log message as a separate document if there are no other big logs (consisting of more than 2 log lines or having a stacktrace) in the test item. We store this merged log message in a separate field "merged_small_logs" for all the big logs if there are ones.

The Analyzer preprocesses log messages from the request for test failure analysis: extracts error message, stacktrace, numbers, exceptions, urls, paths, parameters and other parts from text to search for the most similar items by these parts in the analytical base. These parts are saved in a separate fields for each log entry.

Each log entry along with its defect type is saved to ElasticSearch in the form of a separate document. All documents created compose an Index. The more test results index has, the more accurate results will be generated by the end of the analysis process.

tip

If you do not sure how many documents(logs) are contained in the Index at that moment, you can check it. For that, perform the following actions:

Test items of a launch in Debug mode are not sent to the service Analyzer. If the test item is deleted or moved to the Debug mode, it is removed from the Index.

Auto-Analysis process

After your Index has been completed. You can start to use the auto-analysis feature.

Analysis can be launched automatically (via Project Settings) or manually (via the menu on All launches view). After the process is started, all items with defect type “To investigate” with logs (log level >= 40 000) from the analyzed launch are picked and sent to the Analyzer Service and the service ElasticSearch for investigations.

How Elasticsearch returns candidates for Analysis

Here is a simplified procedure of the Auto-analysis candidates searching via ElasticSearch.

When a "To investigate" test item appears we search for the most similar test items in the analytical base. We create a query which searches by several fields, message similarity is a compulsory condition, other conditions boost the better results and they will have a higher score (boost conditions are similarity by unique id, launch name, error message, found exceptions, numbers in the logs and etc.).

Then ElasticSearch receives a log message and divides it into the terms (words) with a tokenizer and calculates the importance of each term (word). For that ElasticSearch computes TF-IDF for each term (word) in the analyzed log. If the level of term importance is low, the ElasticSearch ignores it.

note

Term frequency (TF) – how many time term (word) is used in an analyzed log;

Document frequency (DF) – in how many documents this term (word) is used in Index;

TF-IDF (TF — term frequency, IDF — inverse document frequency) — a statistical measure used to assess the importance of a term (word) in the context of a log that is part of an Index. The weight of a term (word) is proportional to the amount of use of this term (word) in the analyzed log and inversely proportional to the frequency of term (word) usage in Index.

The term (word) with the highest level of importance is the term (word) that is used very frequently in analyzed log and moderately in the Index.

After all important terms are defined, Elastic search calculates the level of equality between an analyzed log and each log in the Index. For each log from the Index is calculated a score.

note

How calculated a score:

score(q,d) =

     coord(q,d) -
SUM (
tf(t in d),
idf(t)²,
t.getBoost(),
) (t in q)

Where:

The results are sorted by the score, in case the scores are the same, they are sorted by "start_time" field, which helps to boost the test items with closer to today dates. So the latest defect types will be higher in the returned by Elasticsearch results.

The ElasticSearch returns to the service Analyzer 10 logs with the highest score for each log. Analyzer regroups all the results by a defect type and chooses the best representative for each defect type group, based on their scores.

note

In the case the test item has several logs, the best representative for a defect type group will become the log with the highest score among all logs.

How Auto-analysis makes decisions for candidates, returned by Elasticsearch

The ElasticSearch returns to the service Analyzer 10 logs with the highest score for each query and all these candidates will be processed further by the ML model. Analyzer regroups all the results by a defect type and chooses the best representative for each defect type group, based on their scores.

The ML model is an XGBoost model which features (about 30 features) represent different statistics about the test item, log message texts, launch info and etc, for example:

The model gives a probability for each defect type group, and we choose the defect type group with the highest probability and the probability should be >= 50%.

A defect comment and a link to BTS of the best representative from this group come to the analyzed item.

The Auto-analysis model is retrained for the project and this information can be found in the section "How models are retrained" below.

So this is how Auto-Analysis works and defines the most relevant defect type on the base of the previous investigations. We give an ability to our users to configure auto-analysis manually.

Auto-analysis Settings

All settings and configurations of Analyzer and ElasticSearch are situated on a separate tab on Project settings.

  1. Login into ReportPortal instance as Administrator or project member with PROJECT MANAGER role on the project;

  2. Come on Project Settings, choose Auto-Analysis section;

In this section user can perform the following actions:

  1. Switch ON/OFF auto-analysis;

  2. Choose a base for analysis (All launches/ Launches with the same name);

  3. Configure ElasticSearch settings;

  4. Remove/Generate ElasticSearch index.

Switch ON/OFF automatic analysis;

To activate the "Auto-Analysis" functionality in a project, perform the following steps:

  1. Login ReportPortal instance as Administrator or project member with PROJECT MANAGER role on the project.

  2. Select ON in the "Auto-Analysis" selector on the Project settings / Auto-analysis section.

  3. Click the "Submit" button. Now "Auto-Analysis" will start as soon as any launch finishes.

Base for analysis (All launches/ Launches with the same name);

You can choose which results from previous runs should be considered in Auto –Analysis for defining the failure reason.

There two options:

If you choose “All launches”, test results in the launch will have analyzed on the base of all data in Elastic search of the project.

If you choose “Launches with the same name”, test results in the launch will have analyzed on the base of all data in Elastic search that have the same Launch name.

You can choose those configurations via Project configuration or from the list of actions on All launches view.

Configure ElasticSearch settings

Also, we give the possibility for our users to configure 2 main parameters of ElasticSearch manually:

Parameter MinShouldMatch is involved in the calculation of a score. It is a minimum value for coord(q,d) (the percent of words equality between an analyzed log and a particular log from the ElasticSearch). So you can increase search hardness and choose a minimum level of similarity that is required.

With the parameter Number of log lines - you can write the root cause of test failure in the first lines and configure the analyzer to take into account only the required lines.

With these 2 parameters, you can configure the accuracy of the analysis that you need. For your facilities we have prepared 3 pre-sets with values:

Remove/Generate ElasticSearch index

There two possible actions that can be performed under Index in ElasticSearch.

You can remove the Index from ElasticSearch and all logs with there defect type will be deleted. ML will be set to zero. All data with your investigations will be deleted from the ElasticSearch. For creating a new one you could start to investigate test results manually or generate data based on previous results on the project once again.

note

Your investigations in ReportPortal will not be changed. The operation concerns only ElasticSearch base.

Another option, you can generate the Index in ElasticSearch. In the case of generation, all data will be removed from ElasticSearch and the new one will be generated based on all previous investigations on the project following current analysis settings.

At the end of the process, you will receive a letter with info about the end of the process and with several items that will be appeared in ElasticSearch.

You can use index generation for several goals. For example, assume two hypothetical situations when index generation can be used:

note

The new base will be generated following logs and settings that are existing on the moment of operating. So index before removing and index after generation can be different.

We strongly do not recommend use auto-analysis until the new index will be generated.

Manual analysis

Analysis can be launched manually. To start the analysis manually, perform the following steps:

  1. Navigate to the "Launches" page.

  2. Select the "Analysis" option from the context menu next to the selected launch name.

  3. Choose the scope of previous results on the base of which test items should be auto-analyzed. The default is the one that is chosen on the setting page, but you can change it manually.

Via this menu you can choose 3 options unlike on Project Settings:

Options All launches and Launches with the same name are working the same as on project settings. If you choose Only current launch, the system is analyzing the test items of chosen launch only on a base of already investigated date of this launch.

  1. Choose which items from launch should be analyzed:

In case the user chooses Only To investigate items - the system is analyzing only items with defect type "To investigate" in the chosen launch;

In case the user chooses Items analyzed automatically (by AA) - the system is analyzing only items that have been already analyzed by auto-analysis. The results of the previous run of analysis will be set to zero and items will be analyzed once again.

In case the user chooses Items analyzed manually - the system is analyzing only items that have been already analyzed by the user manually. The results of the previous run of analysis will be set to zero and items will be analyzed once again.

In the case of multi-combination - the system is analyzing results dependence on chosen options.

note

The Ignore flag is saved. If the item has flag Ignore in AA, it will not be re-analyzed.

tip

For option Only current lunch you can not choose Items analyzed automatically (by AA) and Items analyzed manually simultaneously.

  1. Click the "Analysis" button. Now "Auto-Analysis" will start.

Any launches with an active analyzing process will be marked with the "Analysis" label.

Label AA

When the test item is analyzed by the ReportPortal, a label "AA" is set on the test item on a Step Level. You can filter results with a parameter “Analysed by RP (AA)”

Ignore in Auto-Analysis

If you don't want to save some test items in ElasticSearch, you can "Ignore in Auto-Analysis". For that you can choose this action in “Make decision” modal:

Or from the action list for several test items:

When you choose “Ignore in AA”, logs of the chosen item are removed from the ElasticSearch.

- - + + \ No newline at end of file diff --git a/analysis/HowModelsAreRetrained/index.html b/analysis/HowModelsAreRetrained/index.html index fc50ff4f5..44b1549c2 100644 --- a/analysis/HowModelsAreRetrained/index.html +++ b/analysis/HowModelsAreRetrained/index.html @@ -12,15 +12,15 @@ - - + +
Skip to main content

How models are retrained

In the Auto-analysis and ML suggestions processes several models take part:

  • Auto-analysis XGBoost model, which gives the probability for a test item to be of a specific type based on the most similar test item in the history with this defect type
  • ML suggestions XGBoost model, which gives the probability for a test item to be similar to the test item from the history
  • Error message language model on Tf-Idf vectors(Random Forest Classifier), which gives a probability for the error message to be of a specific defect type or its subtype based on the words in the message. The probability from this model is taken as a feature in the main boosting algorithm.

At the start of the project, you have global models. They were trained on 6 projects and were validated to give a good accuracy on average. To have a more powerful and personalized test failure analysis, the models should be retrained on the data from the project.

note

If a global model performs better on your data, the retrained model won't be saved. As far as we save a custom model only if it performs better for your data than the global one.

Triggering information and retrained models are saved in Minio(or a filesystem) as you set up in the Analyzer service settings.

Retraining triggering conditions for Error message Random Forest Classifier:

  • Each time the test item defect type is changed to another issue type(except "To Investigate"), we update the triggering info, which saves the quantity of test items with defect types and the quantity of test items with defect types since the last training. This information is saved in the file "defect_type_trigger_info" in Minio.
  • When we have more than 100 labelled items, and since last training we have 100 labelled test items, retraining is triggered and if validation data metrics are better than metrics for a global model for the same data points, then we save a custom "defect_type" model in Minio and use it further in the auto-analysis and suggestions functionality.

Retraining triggering conditions for Auto-analysis and Suggestion XGBoost models:

  • We gather training data for training from several sources:
    • when you choose one of the suggestions(the chosen test item will be a positive example, others will be negative ones)
    • when you don't choose any suggestion and edit the test item somehow(set up a defect type manually, add a comment, etc.), all suggestions become negative examples;
    • when auto-analysis runs and for a test item it finds a similar test item, we consider it a positive example, until the user changes the defect type for it manually. In this case, the result will be marked as a negative one.
  • Each time a suggestion analysis runs or changing a defect type happens, we update the triggering info for both models. This information is saved in the files "auto_analysis_trigger_info" and "suggestion_tgrigger_info" in Minio.
  • When we have more than 300 labelled items, and since last training we have 100 labelled test items, retraining is triggered and if validation data metrics are better than metrics for a global model for the same data points, then we save a custom "auto_anlysis" model in Minio and use it further in the auto-analysis functionality.
  • When we have more than 100 labelled items, and since last training we have 50 labelled test items, retraining is triggered and if validation data metrics are better than metrics for a global model for the same data points, then we save a custom "suggestion" model in Minio and use it further in the suggestions functionality.
- - + + \ No newline at end of file diff --git a/analysis/MLSuggestions/index.html b/analysis/MLSuggestions/index.html index 30a0a85c0..de5726ee1 100644 --- a/analysis/MLSuggestions/index.html +++ b/analysis/MLSuggestions/index.html @@ -12,15 +12,15 @@ - - + +
Skip to main content

ML Suggestions

ML suggestions functionality is based on previously analyzed results (either manually or via Auto-analysis feature) using Machine Learning. The functionality is provided by the Analyzer service in combination with ElasticSearch.

This analysis hints what are the most similar analyzed items to the current test item. You can interact with this functionality in several ways:

  • Choose one of the suggested items if you see that the reason for the current test item is similar to the suggested one. When you choose the item and apply changes to the current item, the following test item characteristics will be copied from the chosen test item:

    • a defect type;
    • a link to BTS (in case if it exists);
    • comment (in case if it exists);
  • If you see no suitable suggested test item for the current test item, just do not select any of them.

How the ML suggestions functionality is working

ML Suggestions searches for similar previously analyzed items to the current test item, so it requires an analytical base saved in Elasticsearch. ML suggestions takes into account all user-investigated, auto-analyzed items or items chosen from ML suggestions. While the analytical base is growing ML suggestions functionality will have more examples to search by and suggest you the best options.

ML suggestions analysis is run everytime you enter "Make decision" editor. ML suggestions are run for all test items no matter what defect type they have now. This functionality is processing only test items with logs (log level >= 40000).

The request for the suggestions part looks like this:

  • testItemId;
  • uniqueId;
  • testCaseHash;
  • launchId;
  • launchName;
  • project;
  • analyzerConfig;
  • logs = List of log objects (logId, logLevel, message)

The Analyzer preprocesses log messages from the request for analysis: extracts error message, stacktrace, numbers, exceptions, urls, paths, parameters and other parts from text to search for the most similar items by these parts in the analytical base. We make several requests to the Elasticsearch to find similar test items by all the error logs.

note

When a test item has several error logs, we will use the log with the highest score as a representative of this test item.

The ElasticSearch returns to the service Analyzer 10 logs with the highest score for each query and all these candidates will be processed further by the ML model. The ML model is an XGBoost model which features (about 40 features) represent different statistics about the test item, log message texts, launch info and etc, for example:

  • the percent of selected test items with the following defect type
  • max/min/mean scores for the following defect type
  • cosine similarity between vectors, representing error message/stacktrace/the whole message/urls/paths and other text fields
  • whether it has the same unique id, from the same launch
  • the probability for being of a specific defect type given by the Random Forest Classifier trained on Tf-Idf vectors

The model gives a probability for each candidate, we filter out test items with the probability <= 40%. We sort the test items by this probability, after that we deduplicate test items inside this ranked list. If two test items are similar with >= 98% by their messages, then we will leave the test item with the highest probability. After deduplication we take maximimum 5 items with the highest score to show in the ML Suggestions section.

ML suggestions section contains at maximum 5 suggested items, they are shown together with the scores given by the model and we divide them into 3 groups:

  • the group "SAME", test items with the score = 100%
  • the group "HIGH", test items with the score in the range [70% - 99.9%]
  • the group "LOW", test items with the score in the range [40% - 69.9%]
- - + + \ No newline at end of file diff --git a/analysis/ManualAnalysis/index.html b/analysis/ManualAnalysis/index.html index 919cfb92e..cd5d6f005 100644 --- a/analysis/ManualAnalysis/index.html +++ b/analysis/ManualAnalysis/index.html @@ -12,15 +12,15 @@ - - + +
Skip to main content

Manual Analysis

Manual Analysis is presented on our test report dashboard by “Make decision” modal.

“Make decision” modal redesign

Redesign of the “Make decision” modal was implemented in version 5.7. This feature helps to sort out auto tests and decide: What is the problem? How can it be marked? Is it required to post issue or link issue? It became easier to use this functionality after the redesign.

The “Make decision” modal can be opened in three ways:

1) from the Step level

2) via Actions

3) from the Log level

“Execution to change” section

“Execution to change” section is displayed at the top left of the “Make decision” modal. It includes Step name, current defect type. Also it can have a log, a comment, a link to a Bug Tracking System (BTS), a label (AA, PA, Ignore AA) if exist. You can expand logs to understand why this step was failed.

How to set a defect type and type a comment

“Select defect” section is displayed at the top right of the “Make decision” modal. It includes “Manual selection”, “Analyzer suggestions”, “History of the test”.

You can select a defect type and type a comment manually. Selected defect type and added comment will be applied to the current item (there is also a possibility to apply them to other items – please, have a look at “Apply for” section).

How to use “Analyzer suggestions”

You also can select any step from the “Analyzer suggestions” with a similar log. Similar log is marked with a red asterisk. Then the defect type, the comment and linked BTS ticket (if exist) of the suggested step will be applied to the current item (there is also a possibility to apply them to other items – please, have a look at “Apply for” section).

“History of the test” section

You can see the “History of the test” – which defect type this step had in previous runs. You can select any item from the “History of the test”. Then the defect type, the comment and linked BTS ticket (if exist) of the suggested step will be applied to the current item (there is also a possibility to apply them to other items – please, have a look at “Apply for” section).

How to select other steps for analysis

The “Make decision” modal works not only with the current step. This feature allows to select other steps with “To Investigate” defect type which can be changed as well. For that, please, expand the “Apply for” section and select the needed option.

The “Results will be applied for” message is displayed at the bottom after selection. This section was added in version 5.7.

Now you can view all changes before applying. Expand the “Results will be applied for” section to see information about changes. You should click “Apply” button to apply selected changes.

Bulk update

There is also a possibility for Bulk update, when the changes are applied to all selected test items.

As you can see, “Make decision” modal is a time-saving tool for engineers.

- - + + \ No newline at end of file diff --git a/analysis/PatternAnalysis/index.html b/analysis/PatternAnalysis/index.html index b4f7533da..569dd114f 100644 --- a/analysis/PatternAnalysis/index.html +++ b/analysis/PatternAnalysis/index.html @@ -12,8 +12,8 @@ - - + + @@ -26,7 +26,7 @@ Add The most popular pattern widget (TOP-20) and track the TOP-20 the most popular reason of test failing in the build.

Use case 2:

Problem: Test run has finished. A user found that more than 3 items have failed by the same reason. And he want to find all such items.

Solution: Create a new pattern rule on Project Settings. Launch a pattern analysis manually for one launch. name. Find all items failed by the same reason by choosing a filter by Pattern Name on the Step view.

- - + + \ No newline at end of file diff --git a/analysis/SearchForTheSimilarToInvestigateItems/index.html b/analysis/SearchForTheSimilarToInvestigateItems/index.html index c771afbd5..3ddffdffe 100644 --- a/analysis/SearchForTheSimilarToInvestigateItems/index.html +++ b/analysis/SearchForTheSimilarToInvestigateItems/index.html @@ -12,15 +12,15 @@ - - + +
Skip to main content

Search for the similar "To investigate" items

Let's consider below an example of ML-driven failure triage in ReportPortal.

Use case:

Situation: Analyzer has completed its work and marked known issues with defect types.

But there are a lot of failures with a similar unknown reason in the run. All such items have "To investigate" defect type.

Problem: A user should check and analyze all failed items.

Solution:

A user is on All launches, he clicks on "To investigate" and opens a list with items. When a user clicks on a pencil next to a defect type, the system opens the "Make decision" modal. In this modal a user can see all items with "To investigate" defect type and the same failure reason.

There are 3 options for search the similar "To investigate" items on the Step level:

  • Current item only
  • Similar "To investigate" in the launch & current item
  • Similar "To investigate" in 10 launches & current item

There are 4 options for search the similar "To investigate" items on the Log level:

  • Current item only
  • Similar "To investigate" in the launch & current item
  • Similar "To investigate" in 10 launches & current item
  • "To investigate" from the history line & current item

If launches are filtered by filter on All Launches page, then addition option Similar "To investigate" in the Filter & current item appears on the Step and Log levels.

A user can select all identical failures and perform the bulk operation for them.

- - + + \ No newline at end of file diff --git a/analysis/UniqueErrorAnalysis/index.html b/analysis/UniqueErrorAnalysis/index.html index 51b3492a4..3584d3e5c 100644 --- a/analysis/UniqueErrorAnalysis/index.html +++ b/analysis/UniqueErrorAnalysis/index.html @@ -12,15 +12,15 @@ - - + +
Skip to main content

Unique Error Analysis

You can look at the test failure analysis from different points of view: qualitative (passing rate – How many tests have failed?) and quantitative (Why have they failed?). For example, if 1000 test cases are failed, then

  1. they could fail for the same reason

  2. they could fail for various reasons

While failed tests allow you to understand what is broken, “Unique Error analysis” functionality implemented in version 5.7 will show you why it broke. The main advantage of this solution is that a list of all unique errors of the launch is presented in one place. Moreover, the system automatically groups tests by the same errors: when you expand some error, you see a list of steps where it occurred.

“Unique error auto-analysis” is set ON by default.

“Include/exclude numbers” settings

There are 2 settings: “include/exclude numbers” – it depends if you decide that numbers in error logs have significant value for analysis or not.

Now, Unique error auto-analysis will be started after a launch has been finished.

To see the list of “Unique errors” for the launch, open any item level in the launch and click “Unique errors” tab.

Finally, you can see the list of “Unique errors”.

There you can see a list with groups of error logs. You can expand a group to check what tests belong to the same one and it could give you a hint during error analysis and defects assigning. The groups are formed based on unique error logs, some small error logs can be merged and displayed as one error.

How to run “Unique error analysis” manually

tip

You can also run “Unique error analysis” manually from any item level in case auto analysis is set OFF. Please, follow the steps below:

You can also run “Unique Error analysis” from the menu next to a particular launch.

Examples with “Include/exclude numbers” settings

Let’s consider some examples with the same Unique Errors but with different include/exclude numbers settings.

We have 2 errors with identical text, but the difference is numeric value in the first error.

  1. An example with “Include numbers to analyzed logs” setting. Error with numeric value is displayed:
  1. An example with “Exclude numbers from analyzed logs” setting. As you can see, error with numeric value is not displayed:

How to get ML suggestions for the group of steps

In addition, there is a possibility to get ML suggestions for the group of steps. It speeds up the process of analyzing failed tests and assigning defect types by several times.

Also, the new Quality Gates rule – “New Errors” – was implemented based on the “Unique Error analysis” functionality. This rule helps to identify if there are new unique errors in the current launch by comparing it to another specified launch.

To summarize, ReportPortal got the following benefits thanks to the “Unique Error analysis” functionality:

  1. a list of unique errors for the launch with grouping,
  2. facilitating tests results analysis,
  3. ML suggestions for a group of steps,
  4. new Quality Gates rule.

This way you can easily sort out the failures based on the unique errors found.

- - + + \ No newline at end of file diff --git a/assets/images/DeleteAccount1-0519b3a4cde03dd7a3b696f01d7edb46.png b/assets/images/DeleteAccount1-0519b3a4cde03dd7a3b696f01d7edb46.png new file mode 100644 index 000000000..783c3841a Binary files /dev/null and b/assets/images/DeleteAccount1-0519b3a4cde03dd7a3b696f01d7edb46.png differ diff --git a/assets/images/DeleteAccount2-fcff873835db60d2e0e985f53b199676.png b/assets/images/DeleteAccount2-fcff873835db60d2e0e985f53b199676.png new file mode 100644 index 000000000..f551cc0b6 Binary files /dev/null and b/assets/images/DeleteAccount2-fcff873835db60d2e0e985f53b199676.png differ diff --git a/assets/images/EventMonitoring-28e4b40b2bd051e3237c69c40a05a573.png b/assets/images/EventMonitoring-28e4b40b2bd051e3237c69c40a05a573.png new file mode 100644 index 000000000..0622a8122 Binary files /dev/null and b/assets/images/EventMonitoring-28e4b40b2bd051e3237c69c40a05a573.png differ diff --git a/assets/images/ProjectActivityPanel-5b227d5782302f0aed9d8e49bd7bfc12.png b/assets/images/ProjectActivityPanel-5b227d5782302f0aed9d8e49bd7bfc12.png deleted file mode 100644 index e5e70a518..000000000 Binary files a/assets/images/ProjectActivityPanel-5b227d5782302f0aed9d8e49bd7bfc12.png and /dev/null differ diff --git a/assets/images/ProjectActivityPanel-ba14b62374b30284ee04cf2d002d63b1.png b/assets/images/ProjectActivityPanel-ba14b62374b30284ee04cf2d002d63b1.png new file mode 100644 index 000000000..bacb5beb9 Binary files /dev/null and b/assets/images/ProjectActivityPanel-ba14b62374b30284ee04cf2d002d63b1.png differ diff --git a/assets/js/3ac6333e.d344e8e4.js b/assets/js/3ac6333e.3ec4d584.js similarity index 51% rename from assets/js/3ac6333e.d344e8e4.js rename to assets/js/3ac6333e.3ec4d584.js index 892396638..3aa397ff5 100644 --- a/assets/js/3ac6333e.d344e8e4.js +++ b/assets/js/3ac6333e.3ec4d584.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[9998],{56373:t=>{t.exports=JSON.parse('{"title":"Log data in ReportPortal","slug":"/category/log-data-in-reportportal","permalink":"/docs/category/log-data-in-reportportal","navigation":{"previous":{"title":"Restore a password","permalink":"/docs/user-account/RestoreAPassword"},"next":{"title":"Implement own integration","permalink":"/docs/log-data-in-reportportal/ImplementOwnIntegration"}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[9998],{56373:t=>{t.exports=JSON.parse('{"title":"Log data in ReportPortal","slug":"/category/log-data-in-reportportal","permalink":"/docs/category/log-data-in-reportportal","navigation":{"previous":{"title":"Data retention procedure","permalink":"/docs/user-account/DataRetentionProcedure"},"next":{"title":"Implement own integration","permalink":"/docs/log-data-in-reportportal/ImplementOwnIntegration"}}}')}}]); \ No newline at end of file diff --git a/assets/js/525802b3.b0c0f464.js b/assets/js/525802b3.15a38441.js similarity index 55% rename from assets/js/525802b3.b0c0f464.js rename to assets/js/525802b3.15a38441.js index d733c8024..e8a3a09fa 100644 --- a/assets/js/525802b3.b0c0f464.js +++ b/assets/js/525802b3.15a38441.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[8934],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>f});var o=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function s(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var l=o.createContext({}),p=function(e){var t=o.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},c=function(e){var t=p(e.components);return o.createElement(l.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,l=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),u=p(r),m=n,f=u["".concat(l,".").concat(m)]||u[m]||d[m]||a;return r?o.createElement(f,s(s({ref:t},c),{},{components:r})):o.createElement(f,s({ref:t},c))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,s=new Array(a);s[0]=m;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[u]="string"==typeof e?e:n,s[1]=i;for(var p=2;p{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>a,metadata:()=>i,toc:()=>p});var o=r(87462),n=(r(67294),r(3905));const a={sidebar_position:2,sidebar_label:"Restore a password"},s="Restore a password",i={unversionedId:"user-account/RestoreAPassword",id:"user-account/RestoreAPassword",title:"Restore a password",description:"If you forgot your password, you can restore it on the login page. To do that, perform the following steps:",source:"@site/docs/user-account/RestoreAPassword.mdx",sourceDirName:"user-account",slug:"/user-account/RestoreAPassword",permalink:"/docs/user-account/RestoreAPassword",draft:!1,editUrl:"https://github.com/reportportal/docs/blob/develop/docs/user-account/RestoreAPassword.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,sidebar_label:"Restore a password"},sidebar:"defaultSidebar",previous:{title:"Edit personal information",permalink:"/docs/user-account/EditPersonalInformation"},next:{title:"Log data in ReportPortal",permalink:"/docs/category/log-data-in-reportportal"}},l={},p=[],c={toc:p},u="wrapper";function d(e){let{components:t,...a}=e;return(0,n.kt)(u,(0,o.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"restore-a-password"},"Restore a password"),(0,n.kt)("p",null,"If you forgot your password, you can restore it on the login page. To do that, perform the following steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click the "Forgot your password?" link on the login page.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Enter your email in the form that appears and click the "Change Password"\nbutton. The password recovery instructions will be sent to your email.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Follow the link from the email. The Restore Password form will appear.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Fill in the restore password form and click the "Change Password" button. Now you can log in ReportPortal with the new\ncredentials.'))),(0,n.kt)("media-view",{thumbnail:r(72282),src:"https://youtu.be/i_l3qtLNMhs",alt:"Restore Password in our test automation dashboard",type:"video"}),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"GitHub user cannot restore the password on ReportPortal.")))}d.isMDXComponent=!0},72282:(e,t,r)=>{r.r(t),r.d(t,{default:()=>o});const o=r.p+"assets/images/RestoreAPassword-2813f90fd41eaee32ab3684764da329a.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[8934],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>f});var o=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function s(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var l=o.createContext({}),c=function(e){var t=o.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):s(s({},t),e)),r},p=function(e){var t=c(e.components);return o.createElement(l.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,a=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),u=c(r),m=n,f=u["".concat(l,".").concat(m)]||u[m]||d[m]||a;return r?o.createElement(f,s(s({ref:t},p),{},{components:r})):o.createElement(f,s({ref:t},p))}));function f(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=r.length,s=new Array(a);s[0]=m;var i={};for(var l in t)hasOwnProperty.call(t,l)&&(i[l]=t[l]);i.originalType=e,i[u]="string"==typeof e?e:n,s[1]=i;for(var c=2;c{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>d,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var o=r(87462),n=(r(67294),r(3905));const a={sidebar_position:2,sidebar_label:"Restore a password"},s="Restore a password",i={unversionedId:"user-account/RestoreAPassword",id:"user-account/RestoreAPassword",title:"Restore a password",description:"If you forgot your password, you can restore it on the login page. To do that, perform the following steps:",source:"@site/docs/user-account/RestoreAPassword.mdx",sourceDirName:"user-account",slug:"/user-account/RestoreAPassword",permalink:"/docs/user-account/RestoreAPassword",draft:!1,editUrl:"https://github.com/reportportal/docs/blob/develop/docs/user-account/RestoreAPassword.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,sidebar_label:"Restore a password"},sidebar:"defaultSidebar",previous:{title:"Edit personal information",permalink:"/docs/user-account/EditPersonalInformation"},next:{title:"Delete account",permalink:"/docs/user-account/DeleteAccount"}},l={},c=[],p={toc:c},u="wrapper";function d(e){let{components:t,...a}=e;return(0,n.kt)(u,(0,o.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"restore-a-password"},"Restore a password"),(0,n.kt)("p",null,"If you forgot your password, you can restore it on the login page. To do that, perform the following steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click the "Forgot your password?" link on the login page.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Enter your email in the form that appears and click the "Change Password"\nbutton. The password recovery instructions will be sent to your email.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Follow the link from the email. The Restore Password form will appear.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Fill in the restore password form and click the "Change Password" button. Now you can log in ReportPortal with the new\ncredentials.'))),(0,n.kt)("media-view",{thumbnail:r(72282),src:"https://youtu.be/i_l3qtLNMhs",alt:"Restore Password in our test automation dashboard",type:"video"}),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"GitHub user cannot restore the password on ReportPortal.")))}d.isMDXComponent=!0},72282:(e,t,r)=>{r.r(t),r.d(t,{default:()=>o});const o=r.p+"assets/images/RestoreAPassword-2813f90fd41eaee32ab3684764da329a.png"}}]); \ No newline at end of file diff --git a/assets/js/8f8fcdca.df44a654.js b/assets/js/8f8fcdca.df44a654.js new file mode 100644 index 000000000..d0ad23bf9 --- /dev/null +++ b/assets/js/8f8fcdca.df44a654.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[5618],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>f});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var s=r.createContext({}),l=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):c(c({},t),e)),n},u=function(e){var t=l(e.components);return r.createElement(s.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(n),m=o,f=p["".concat(s,".").concat(m)]||p[m]||d[m]||a;return n?r.createElement(f,c(c({ref:t},u),{},{components:n})):r.createElement(f,c({ref:t},u))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,c=new Array(a);c[0]=m;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>d,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var r=n(87462),o=(n(67294),n(3905));const a={sidebar_position:3,sidebar_label:"Delete account"},c="Delete account",i={unversionedId:"user-account/DeleteAccount",id:"user-account/DeleteAccount",title:"Delete account",description:"Starting from version 23.2, ReportPortal users can delete their accounts along with their personal data.",source:"@site/docs/user-account/DeleteAccount.mdx",sourceDirName:"user-account",slug:"/user-account/DeleteAccount",permalink:"/docs/user-account/DeleteAccount",draft:!1,editUrl:"https://github.com/reportportal/docs/blob/develop/docs/user-account/DeleteAccount.mdx",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3,sidebar_label:"Delete account"},sidebar:"defaultSidebar",previous:{title:"Restore a password",permalink:"/docs/user-account/RestoreAPassword"},next:{title:"Data retention procedure",permalink:"/docs/user-account/DataRetentionProcedure"}},s={},l=[],u={toc:l},p="wrapper";function d(e){let{components:t,...a}=e;return(0,o.kt)(p,(0,r.Z)({},u,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"delete-account"},"Delete account"),(0,o.kt)("p",null,"Starting from version 23.2, ReportPortal users can delete their accounts along with their personal data."),(0,o.kt)("p",null,'During the instance setup, the DevOps engineer (or whoever is deploying the instance) can use a variable to decide whether the "Delete account" button will appear in each user\'s profile or not. This setting is specific to each instance.'),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"RP_ENVIRONMENT_VARIABLE_ALLOW_DELETE_ACCOUNT: true\n")),(0,o.kt)("p",null,"When a user clicks on the ",(0,o.kt)("strong",{parentName:"p"},'"Delete account" button'),', a modal window with feedback options appears. The user can select from predefined options or choose "Other" and provide a specific reason for deleting their account. Alternatively, they can simply select "Other" without leaving any comments.'),(0,o.kt)("media-view",{src:n(60058),alt:"Feedback options"}),(0,o.kt)("p",null,'To prevent accidental deletions, the user must enter "Delete" in capital letters to confirm their intention to delete the account. This extra step ensures that the user genuinely wants to proceed with the account deletion. Once the user clicks the "Delete" button, all personal information related to their account, including account name, email, and photo, will be removed from our test automation reporting platform. However, any data created or reported by the user in ReportPortal, such as launches, filters, widgets, and dashboards, will still be retained in the application but will no longer be accessible to the user. Additionally, the user will receive an email notification confirming the account deletion.'),(0,o.kt)("media-view",{src:n(74810),alt:"Confirming the account deletion in our test automation reporting dashboard"}),(0,o.kt)("p",null,"In summary, allowing users to delete their accounts and personal data from our automated testing tool is a critical measure to protect user privacy. ReportPortal is committed to adhering to data protection regulations and staying up to date with industry trends to ensure compliance."),(0,o.kt)("media-view",{thumbnail:n(74810),src:"https://youtu.be/BdIP6Jj9pHg",alt:"Delete Account in our test automation results dashboard",type:"video"}))}d.isMDXComponent=!0},60058:(e,t,n)=>{n.r(t),n.d(t,{default:()=>r});const r=n.p+"assets/images/DeleteAccount1-0519b3a4cde03dd7a3b696f01d7edb46.png"},74810:(e,t,n)=>{n.r(t),n.d(t,{default:()=>r});const r=n.p+"assets/images/DeleteAccount2-fcff873835db60d2e0e985f53b199676.png"}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.1f2936cb.js b/assets/js/935f2afb.1f2936cb.js new file mode 100644 index 000000000..51f862907 --- /dev/null +++ b/assets/js/935f2afb.1f2936cb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"defaultSidebar":[{"type":"link","label":"What is ReportPortal?","href":"/docs/","docId":"intro"},{"type":"category","label":"Features","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Unified test reporting","href":"/docs/features/UnifiedTestReporting","docId":"features/UnifiedTestReporting"},{"type":"link","label":"Categorisation of failures","href":"/docs/features/CategorisationOfFailures","docId":"features/CategorisationOfFailures"},{"type":"link","label":"AI failure reason detection","href":"/docs/features/AIFailureReasonDetection","docId":"features/AIFailureReasonDetection"},{"type":"link","label":"Rich artifacts in test reports","href":"/docs/features/RichArtifactsInTestReports","docId":"features/RichArtifactsInTestReports"},{"type":"link","label":"Real-time reporting","href":"/docs/features/RealTimeReporting","docId":"features/RealTimeReporting"},{"type":"link","label":"Visualisation of test results","href":"/docs/features/VisualisationOfTestResults","docId":"features/VisualisationOfTestResults"},{"type":"link","label":"Quality Gates","href":"/docs/features/QualityGates","docId":"features/QualityGates"},{"type":"link","label":"REST API","href":"/docs/features/RESTAPI","docId":"features/RESTAPI"}],"href":"/docs/category/features"},{"type":"link","label":"ReportPortal Tutorial","href":"/docs/reportportal-tutorial/","docId":"reportportal-tutorial/index"},{"type":"category","label":"Installation Steps","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Optimal Performance Hardware setup","href":"/docs/installation-steps/OptimalPerformanceHardwareSetup","docId":"installation-steps/OptimalPerformanceHardwareSetup"},{"type":"link","label":"Basic monitoring configuration","href":"/docs/installation-steps/BasicMonitoringConfiguration","docId":"installation-steps/BasicMonitoringConfiguration"},{"type":"link","label":"Deploy with Docker on Linux/Mac","href":"/docs/installation-steps/DeployWithDockerOnLinuxMac","docId":"installation-steps/DeployWithDockerOnLinuxMac"},{"type":"link","label":"Deploy with Docker on Windows","href":"/docs/installation-steps/DeployWithDockerOnWindows","docId":"installation-steps/DeployWithDockerOnWindows"},{"type":"link","label":"Deploy without Docker","href":"/docs/installation-steps/DeployWithoutDocker","docId":"installation-steps/DeployWithoutDocker"},{"type":"link","label":"Deploy with Kubernetes","href":"/docs/installation-steps/DeployWithKubernetes","docId":"installation-steps/DeployWithKubernetes"},{"type":"link","label":"Maintain commands Cheat sheet","href":"/docs/installation-steps/MaintainCommandsCheatSheet","docId":"installation-steps/MaintainCommandsCheatSheet"},{"type":"link","label":"Additional configuration parameters","href":"/docs/installation-steps/AdditionalConfigurationParameters","docId":"installation-steps/AdditionalConfigurationParameters"},{"type":"link","label":"Setup TLS(SSL) in Traefik 2.0.x","href":"/docs/installation-steps/SetupTSLSSLInTraefik2.0.x","docId":"installation-steps/SetupTSLSSLInTraefik2.0.x"},{"type":"link","label":"Deploy on Ubuntu OS","href":"/docs/installation-steps/DeployOnUbuntuOS","docId":"installation-steps/DeployOnUbuntuOS"},{"type":"link","label":"Deploy with AWS ECS Fargate","href":"/docs/installation-steps/DeployWithAWSECSFargate","docId":"installation-steps/DeployWithAWSECSFargate"},{"type":"link","label":"ReportPortal 23.1 File storage options","href":"/docs/installation-steps/ReportPortal23.1FileStorageOptions","docId":"installation-steps/ReportPortal23.1FileStorageOptions"}],"href":"/docs/category/installation-steps"},{"type":"category","label":"Releases","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Version v.23.1","href":"/docs/releases/Versionv23.1","docId":"releases/Versionv23.1"},{"type":"link","label":"Version 5.7.4","href":"/docs/releases/Version5.7.4","docId":"releases/Version5.7.4"},{"type":"link","label":"Version 5.7.3","href":"/docs/releases/Version5.7.3","docId":"releases/Version5.7.3"},{"type":"link","label":"Version 5.7.2","href":"/docs/releases/Version5.7.2","docId":"releases/Version5.7.2"},{"type":"link","label":"Version 5.7.1","href":"/docs/releases/Version5.7.1","docId":"releases/Version5.7.1"},{"type":"link","label":"Version 5.7.0","href":"/docs/releases/Version5.7.0","docId":"releases/Version5.7.0"},{"type":"link","label":"Version 5.6.3","href":"/docs/releases/Version5.6.3","docId":"releases/Version5.6.3"},{"type":"link","label":"Version 5.6.2","href":"/docs/releases/Version5.6.2","docId":"releases/Version5.6.2"},{"type":"link","label":"Version 5.6.1","href":"/docs/releases/Version5.6.1","docId":"releases/Version5.6.1"},{"type":"link","label":"Version 5.6.0","href":"/docs/releases/Version5.6.0","docId":"releases/Version5.6.0"},{"type":"link","label":"Version 5.5.0","href":"/docs/releases/Version5.5.0","docId":"releases/Version5.5.0"},{"type":"link","label":"Version 5.4.0","href":"/docs/releases/Version5.4.0","docId":"releases/Version5.4.0"},{"type":"link","label":"Version 5.3.5","href":"/docs/releases/Version5.3.5","docId":"releases/Version5.3.5"},{"type":"link","label":"Version 5.3.3","href":"/docs/releases/Version5.3.3","docId":"releases/Version5.3.3"},{"type":"link","label":"Version 5.3.2","href":"/docs/releases/Version5.3.2","docId":"releases/Version5.3.2"},{"type":"link","label":"Version 5.3.1","href":"/docs/releases/Version5.3.1.","docId":"releases/Version5.3.1."},{"type":"link","label":"Version 5.3.0","href":"/docs/releases/Version5.3.0","docId":"releases/Version5.3.0"},{"type":"link","label":"Version 5.2.3","href":"/docs/releases/Version5.2.3","docId":"releases/Version5.2.3"},{"type":"link","label":"Version 5.2.2","href":"/docs/releases/Version5.2.2","docId":"releases/Version5.2.2"},{"type":"link","label":"Version 5.2.1","href":"/docs/releases/Version5.2.1","docId":"releases/Version5.2.1"},{"type":"link","label":"Version 5.2.0","href":"/docs/releases/Version5.2.0","docId":"releases/Version5.2.0"},{"type":"link","label":"Version 5.1.0","href":"/docs/releases/Version5.1.0","docId":"releases/Version5.1.0"},{"type":"link","label":"Version 5.0.0","href":"/docs/releases/Version5.0.0","docId":"releases/Version5.0.0"},{"type":"link","label":"Version 5.0RC","href":"/docs/releases/Version5.0RC","docId":"releases/Version5.0RC"},{"type":"link","label":"Version 4.3","href":"/docs/releases/Version4.3","docId":"releases/Version4.3"},{"type":"link","label":"Version 4.2.0","href":"/docs/releases/Version4.2.0","docId":"releases/Version4.2.0"},{"type":"link","label":"Version 4.1.0","href":"/docs/releases/Version4.1.0","docId":"releases/Version4.1.0"},{"type":"link","label":"Version 4.0.0","href":"/docs/releases/Version4.0.0","docId":"releases/Version4.0.0"},{"type":"link","label":"Version 3.3.2-1","href":"/docs/releases/Version3.3.2-1","docId":"releases/Version3.3.2-1"},{"type":"link","label":"Version 3.3.2","href":"/docs/releases/Version3.3.2","docId":"releases/Version3.3.2"}],"href":"/docs/category/releases"},{"type":"category","label":"ReportPortal Configuration","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Components Overview","href":"/docs/reportportal-configuration/ComponentsOverview","docId":"reportportal-configuration/ComponentsOverview"},{"type":"link","label":"Creation of project and adding users","href":"/docs/reportportal-configuration/CreationOfProjectAndAddingUsers","docId":"reportportal-configuration/CreationOfProjectAndAddingUsers"},{"type":"link","label":"Project configuration","href":"/docs/reportportal-configuration/ProjectConfiguration","docId":"reportportal-configuration/ProjectConfiguration"},{"type":"link","label":"ReportPortal jobs configuration","href":"/docs/reportportal-configuration/ReportPortalJobsConfiguration","docId":"reportportal-configuration/ReportPortalJobsConfiguration"},{"type":"link","label":"Integration via plugin","href":"/docs/reportportal-configuration/IntegrationViaPlugin","docId":"reportportal-configuration/IntegrationViaPlugin"},{"type":"link","label":"How to get an access token in ReportPortal","href":"/docs/reportportal-configuration/HowToGetAnAccessTokenInReportPortal","docId":"reportportal-configuration/HowToGetAnAccessTokenInReportPortal"},{"type":"category","label":"Authorization","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Active Directory","href":"/docs/reportportal-configuration/authorization/ActiveDirectory","docId":"reportportal-configuration/authorization/ActiveDirectory"},{"type":"link","label":"GitHub","href":"/docs/reportportal-configuration/authorization/GitHub","docId":"reportportal-configuration/authorization/GitHub"},{"type":"link","label":"LDAP","href":"/docs/reportportal-configuration/authorization/LDAP","docId":"reportportal-configuration/authorization/LDAP"},{"type":"category","label":"SAML Provider","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Azure SAML","href":"/docs/reportportal-configuration/authorization/SAMLProvider/AzureSAML","docId":"reportportal-configuration/authorization/SAMLProvider/AzureSAML"},{"type":"link","label":"Okta SAML","href":"/docs/reportportal-configuration/authorization/SAMLProvider/OktaSAML","docId":"reportportal-configuration/authorization/SAMLProvider/OktaSAML"}],"href":"/docs/reportportal-configuration/authorization/SAMLProvider/"}],"href":"/docs/reportportal-configuration/authorization/"}],"href":"/docs/category/reportportal-configuration"},{"type":"category","label":"User account","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Edit personal information","href":"/docs/user-account/EditPersonalInformation","docId":"user-account/EditPersonalInformation"},{"type":"link","label":"Restore a password","href":"/docs/user-account/RestoreAPassword","docId":"user-account/RestoreAPassword"},{"type":"link","label":"Delete account","href":"/docs/user-account/DeleteAccount","docId":"user-account/DeleteAccount"},{"type":"link","label":"Data retention procedure","href":"/docs/user-account/DataRetentionProcedure","docId":"user-account/DataRetentionProcedure"}],"href":"/docs/category/user-account"},{"type":"category","label":"Log data in ReportPortal","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Implement own integration","href":"/docs/log-data-in-reportportal/ImplementOwnIntegration","docId":"log-data-in-reportportal/ImplementOwnIntegration"},{"type":"link","label":"Reporting SDK","href":"/docs/log-data-in-reportportal/ReportingSDK","docId":"log-data-in-reportportal/ReportingSDK"},{"type":"link","label":"Import data to ReportPortal","href":"/docs/log-data-in-reportportal/ImportDataToReportPortal","docId":"log-data-in-reportportal/ImportDataToReportPortal"},{"type":"link","label":"How to run your tests","href":"/docs/log-data-in-reportportal/HowToRunYourTests","docId":"log-data-in-reportportal/HowToRunYourTests"},{"type":"category","label":"Test Framework Integration","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Java","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"JUnit5","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/JUnit5","docId":"log-data-in-reportportal/test-framework-integration/Java/JUnit5"},{"type":"link","label":"JUnit4","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/JUnit4","docId":"log-data-in-reportportal/test-framework-integration/Java/JUnit4"},{"type":"link","label":"TestNG","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/TestNG","docId":"log-data-in-reportportal/test-framework-integration/Java/TestNG"},{"type":"link","label":"Cucumber","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/Cucumber","docId":"log-data-in-reportportal/test-framework-integration/Java/Cucumber"},{"type":"link","label":"JBehave","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/JBehave","docId":"log-data-in-reportportal/test-framework-integration/Java/JBehave"},{"type":"link","label":"Spock","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/Spock","docId":"log-data-in-reportportal/test-framework-integration/Java/Spock"},{"type":"link","label":"SoapUI (outdated)","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/SoapUI","docId":"log-data-in-reportportal/test-framework-integration/Java/SoapUI"},{"type":"category","label":"Loggers","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Logback","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/Logback","docId":"log-data-in-reportportal/test-framework-integration/Java/Loggers/Logback"},{"type":"link","label":"Log4J","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/Log4J","docId":"log-data-in-reportportal/test-framework-integration/Java/Loggers/Log4J"},{"type":"link","label":"Rest Assured","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/RestAssured","docId":"log-data-in-reportportal/test-framework-integration/Java/Loggers/RestAssured"},{"type":"link","label":"Selenide","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/Selenide","docId":"log-data-in-reportportal/test-framework-integration/Java/Loggers/Selenide"},{"type":"link","label":"OkHttp3","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/OkHttp3","docId":"log-data-in-reportportal/test-framework-integration/Java/Loggers/OkHttp3"},{"type":"link","label":"Apache HttpComponents","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/ApacheHttpComponents","docId":"log-data-in-reportportal/test-framework-integration/Java/Loggers/ApacheHttpComponents"}],"href":"/docs/category/loggers"}],"href":"/docs/log-data-in-reportportal/test-framework-integration/Java/"},{"type":"category","label":"JavaScript","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Playwright","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Playwright","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/Playwright"},{"type":"link","label":"CucumberJS","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/CucumberJS","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/CucumberJS"},{"type":"link","label":"Codecept","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Codecept","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/Codecept"},{"type":"link","label":"WebdriverIO","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/WebdriverIO","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/WebdriverIO"},{"type":"link","label":"Postman","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Postman","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/Postman"},{"type":"link","label":"Cypress","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Cypress","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/Cypress"},{"type":"link","label":"Mocha","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Mocha","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/Mocha"},{"type":"link","label":"Jest","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Jest","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/Jest"},{"type":"link","label":"TestCafe","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/TestCafe","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/TestCafe"},{"type":"link","label":"Jasmine","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Jasmine","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/Jasmine"},{"type":"link","label":"Nightwatch","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Nightwatch","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/Nightwatch"}],"href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/"},{"type":"category","label":".Net","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"NUnit","href":"/docs/log-data-in-reportportal/test-framework-integration/Net/NUnit","docId":"log-data-in-reportportal/test-framework-integration/Net/NUnit"},{"type":"link","label":"VSTest","href":"/docs/log-data-in-reportportal/test-framework-integration/Net/VSTest","docId":"log-data-in-reportportal/test-framework-integration/Net/VSTest"},{"type":"link","label":"SpecFlow","href":"/docs/log-data-in-reportportal/test-framework-integration/Net/SpecFlow","docId":"log-data-in-reportportal/test-framework-integration/Net/SpecFlow"},{"type":"link","label":"xUnit","href":"/docs/log-data-in-reportportal/test-framework-integration/Net/xUnit","docId":"log-data-in-reportportal/test-framework-integration/Net/xUnit"},{"type":"category","label":"Loggers","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Serilog","href":"/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/Serilog","docId":"log-data-in-reportportal/test-framework-integration/Net/Loggers/Serilog"},{"type":"link","label":"Log4Net","href":"/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/Log4Net","docId":"log-data-in-reportportal/test-framework-integration/Net/Loggers/Log4Net"},{"type":"link","label":"NLog","href":"/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/NLog","docId":"log-data-in-reportportal/test-framework-integration/Net/Loggers/NLog"},{"type":"link","label":"TraceListener","href":"/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/TraceListener","docId":"log-data-in-reportportal/test-framework-integration/Net/Loggers/TraceListener"}],"href":"/docs/category/loggers-1"}],"href":"/docs/log-data-in-reportportal/test-framework-integration/Net/"},{"type":"category","label":"Python","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"pytest","href":"/docs/log-data-in-reportportal/test-framework-integration/Python/pytest","docId":"log-data-in-reportportal/test-framework-integration/Python/pytest"},{"type":"link","label":"Robot Framework","href":"/docs/log-data-in-reportportal/test-framework-integration/Python/RobotFramework","docId":"log-data-in-reportportal/test-framework-integration/Python/RobotFramework"},{"type":"link","label":"behave","href":"/docs/log-data-in-reportportal/test-framework-integration/Python/behave","docId":"log-data-in-reportportal/test-framework-integration/Python/behave"},{"type":"link","label":"nosetests","href":"/docs/log-data-in-reportportal/test-framework-integration/Python/nosetests","docId":"log-data-in-reportportal/test-framework-integration/Python/nosetests"}],"href":"/docs/log-data-in-reportportal/test-framework-integration/Python/"},{"type":"category","label":"PHP","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"PHPUnit","href":"/docs/log-data-in-reportportal/test-framework-integration/PHP/PHPUnit","docId":"log-data-in-reportportal/test-framework-integration/PHP/PHPUnit"},{"type":"link","label":"Behat","href":"/docs/log-data-in-reportportal/test-framework-integration/PHP/Behat","docId":"log-data-in-reportportal/test-framework-integration/PHP/Behat"},{"type":"link","label":"Codeception","href":"/docs/log-data-in-reportportal/test-framework-integration/PHP/Codeception","docId":"log-data-in-reportportal/test-framework-integration/PHP/Codeception"}],"href":"/docs/log-data-in-reportportal/test-framework-integration/PHP/"},{"type":"link","label":"Other","href":"/docs/log-data-in-reportportal/test-framework-integration/Other/","docId":"log-data-in-reportportal/test-framework-integration/Other/index"}],"href":"/docs/log-data-in-reportportal/test-framework-integration/"}],"href":"/docs/category/log-data-in-reportportal"},{"type":"category","label":"Developers guides","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"API differences between v4 and v5","href":"/docs/dev-guides/APIDifferencesBetweenV4AndV5","docId":"dev-guides/APIDifferencesBetweenV4AndV5"},{"type":"link","label":"Asynchronous reporting","href":"/docs/dev-guides/AsynchronousReporting","docId":"dev-guides/AsynchronousReporting"},{"type":"link","label":"Attachments (Screenshots) Guide","href":"/docs/dev-guides/AttachmentsGuide","docId":"dev-guides/AttachmentsGuide"},{"type":"link","label":"Back-end Java contribution guide","href":"/docs/dev-guides/BackEndJavaContributionGuide","docId":"dev-guides/BackEndJavaContributionGuide"},{"type":"link","label":"Interactions between API and Analyzer","href":"/docs/dev-guides/InteractionsBetweenAPIAndAnalyzer","docId":"dev-guides/InteractionsBetweenAPIAndAnalyzer"},{"type":"link","label":"Plugin developers guide","href":"/docs/dev-guides/PluginDevelopersGuide","docId":"dev-guides/PluginDevelopersGuide"},{"type":"link","label":"ReportPortal API","href":"/docs/dev-guides/ReportPortalAPI","docId":"dev-guides/ReportPortalAPI"},{"type":"link","label":"Reporting developers guide","href":"/docs/dev-guides/ReportingDevelopersGuide","docId":"dev-guides/ReportingDevelopersGuide"},{"type":"link","label":"Rerun developers guide","href":"/docs/dev-guides/RerunDevelopersGuide","docId":"dev-guides/RerunDevelopersGuide"},{"type":"link","label":"Retries reporting","href":"/docs/dev-guides/RetriesReporting","docId":"dev-guides/RetriesReporting"}],"href":"/docs/category/developers-guides"},{"type":"category","label":"Work with reports","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"View launches","href":"/docs/work-with-reports/ViewLaunches","docId":"work-with-reports/ViewLaunches"},{"type":"link","label":"Operations under launches","href":"/docs/work-with-reports/OperationsUnderLaunches","docId":"work-with-reports/OperationsUnderLaunches"},{"type":"link","label":"Filtering launches","href":"/docs/work-with-reports/FilteringLaunches","docId":"work-with-reports/FilteringLaunches"},{"type":"link","label":"Investigation of failure","href":"/docs/work-with-reports/InvestigationOfFailure","docId":"work-with-reports/InvestigationOfFailure"},{"type":"link","label":"History of launches","href":"/docs/work-with-reports/HistoryOfLaunches","docId":"work-with-reports/HistoryOfLaunches"},{"type":"link","label":"Test case ID","href":"/docs/work-with-reports/TestCaseId","docId":"work-with-reports/TestCaseId"},{"type":"link","label":"Unique ID","href":"/docs/work-with-reports/UniqueId","docId":"work-with-reports/UniqueId"}],"href":"/docs/category/work-with-reports"},{"type":"category","label":"Analysis","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Auto-Analysis of launches","href":"/docs/analysis/AutoAnalysisOfLaunches","docId":"analysis/AutoAnalysisOfLaunches"},{"type":"link","label":"Search for the similar \\"To investigate\\" items","href":"/docs/analysis/SearchForTheSimilarToInvestigateItems","docId":"analysis/SearchForTheSimilarToInvestigateItems"},{"type":"link","label":"ML Suggestions","href":"/docs/analysis/MLSuggestions","docId":"analysis/MLSuggestions"},{"type":"link","label":"How models are retrained","href":"/docs/analysis/HowModelsAreRetrained","docId":"analysis/HowModelsAreRetrained"},{"type":"link","label":"Manual Analysis","href":"/docs/analysis/ManualAnalysis","docId":"analysis/ManualAnalysis"},{"type":"link","label":"Pattern Analysis","href":"/docs/analysis/PatternAnalysis","docId":"analysis/PatternAnalysis"},{"type":"link","label":"Unique Error Analysis","href":"/docs/analysis/UniqueErrorAnalysis","docId":"analysis/UniqueErrorAnalysis"}],"href":"/docs/category/analysis"},{"type":"category","label":"Saved searches (filters)","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Create filters","href":"/docs/saved-searches-filters/CreateFilters","docId":"saved-searches-filters/CreateFilters"},{"type":"link","label":"Manage filters","href":"/docs/saved-searches-filters/ManageFilters","docId":"saved-searches-filters/ManageFilters"},{"type":"link","label":"Filters page","href":"/docs/saved-searches-filters/FiltersPage","docId":"saved-searches-filters/FiltersPage"}],"href":"/docs/category/saved-searches-filters"},{"type":"category","label":"Dashboards and widgets","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Possible Dashboards in ReportPortal","href":"/docs/dashboards-and-widgets/PossibleDashboardsInReportPortal","docId":"dashboards-and-widgets/PossibleDashboardsInReportPortal"},{"type":"link","label":"Work with dashboards","href":"/docs/dashboards-and-widgets/WorkWithDashboards","docId":"dashboards-and-widgets/WorkWithDashboards"},{"type":"link","label":"Widget Creation","href":"/docs/dashboards-and-widgets/WidgetCreation","docId":"dashboards-and-widgets/WidgetCreation"},{"type":"link","label":"Manage Widgets","href":"/docs/dashboards-and-widgets/ManageWidgets","docId":"dashboards-and-widgets/ManageWidgets"},{"type":"link","label":"Launch statistics chart","href":"/docs/dashboards-and-widgets/LaunchStatisticsChart","docId":"dashboards-and-widgets/LaunchStatisticsChart"},{"type":"link","label":"Overall statistics","href":"/docs/dashboards-and-widgets/OverallStatistics","docId":"dashboards-and-widgets/OverallStatistics"},{"type":"link","label":"Launches duration chart","href":"/docs/dashboards-and-widgets/LaunchesDurationChart","docId":"dashboards-and-widgets/LaunchesDurationChart"},{"type":"link","label":"Launch execution and issue statistic","href":"/docs/dashboards-and-widgets/LaunchExecutionAndIssueStatistic","docId":"dashboards-and-widgets/LaunchExecutionAndIssueStatistic"},{"type":"link","label":"Project activity panel","href":"/docs/dashboards-and-widgets/ProjectActivityPanel","docId":"dashboards-and-widgets/ProjectActivityPanel"},{"type":"link","label":"Test-cases growth trend chart","href":"/docs/dashboards-and-widgets/TestCasesGrowthTrendChart","docId":"dashboards-and-widgets/TestCasesGrowthTrendChart"},{"type":"link","label":"Investigated percentage of launches","href":"/docs/dashboards-and-widgets/InvestigatedPercentageOfLaunches","docId":"dashboards-and-widgets/InvestigatedPercentageOfLaunches"},{"type":"link","label":"Launches table","href":"/docs/dashboards-and-widgets/LaunchesTable","docId":"dashboards-and-widgets/LaunchesTable"},{"type":"link","label":"Unique bugs table","href":"/docs/dashboards-and-widgets/UniqueBugsTable","docId":"dashboards-and-widgets/UniqueBugsTable"},{"type":"link","label":"Most failed test-cases table (TOP-20)","href":"/docs/dashboards-and-widgets/MostFailedTestCasesTableTop20","docId":"dashboards-and-widgets/MostFailedTestCasesTableTop20"},{"type":"link","label":"Failed cases trend chart","href":"/docs/dashboards-and-widgets/FailedCasesTrendChart","docId":"dashboards-and-widgets/FailedCasesTrendChart"},{"type":"link","label":"Non-passed test-cases trend chart","href":"/docs/dashboards-and-widgets/NonPassedTestCasesTrendChart","docId":"dashboards-and-widgets/NonPassedTestCasesTrendChart"},{"type":"link","label":"Different launches comparison chart","href":"/docs/dashboards-and-widgets/DifferentLaunchesComparisonChart","docId":"dashboards-and-widgets/DifferentLaunchesComparisonChart"},{"type":"link","label":"Passing rate per launch","href":"/docs/dashboards-and-widgets/PassingRatePerLaunch","docId":"dashboards-and-widgets/PassingRatePerLaunch"},{"type":"link","label":"Passing rate summary","href":"/docs/dashboards-and-widgets/PassingRateSummary","docId":"dashboards-and-widgets/PassingRateSummary"},{"type":"link","label":"Flaky test cases table (TOP-20)","href":"/docs/dashboards-and-widgets/FlakyTestCasesTableTop20","docId":"dashboards-and-widgets/FlakyTestCasesTableTop20"},{"type":"link","label":"Cumulative trend chart","href":"/docs/dashboards-and-widgets/CumulativeTrendChart","docId":"dashboards-and-widgets/CumulativeTrendChart"},{"type":"link","label":"Most popular pattern table (TOP-20)","href":"/docs/dashboards-and-widgets/MostPopularPatternTableTop20","docId":"dashboards-and-widgets/MostPopularPatternTableTop20"},{"type":"link","label":"Component health check","href":"/docs/dashboards-and-widgets/ComponentHealthCheck","docId":"dashboards-and-widgets/ComponentHealthCheck"},{"type":"link","label":"Table Component health check","href":"/docs/dashboards-and-widgets/TableComponentHealthCheck","docId":"dashboards-and-widgets/TableComponentHealthCheck"},{"type":"link","label":"Most time-consuming test cases widget (TOP-20)","href":"/docs/dashboards-and-widgets/MostTimeConsumingTestCasesWidgetTop20","docId":"dashboards-and-widgets/MostTimeConsumingTestCasesWidgetTop20"}],"href":"/docs/category/dashboards-and-widgets"},{"type":"category","label":"Admin Panel","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"All Projects page","href":"/docs/admin-panel/AllProjectsPage","docId":"admin-panel/AllProjectsPage"},{"type":"link","label":"All Users page","href":"/docs/admin-panel/AllUsersPage","docId":"admin-panel/AllUsersPage"},{"type":"link","label":"Event monitoring","href":"/docs/admin-panel/EventMonitoring","docId":"admin-panel/EventMonitoring"}],"href":"/docs/category/admin-panel"},{"type":"category","label":"Plugins","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Manage plugins","href":"/docs/plugins/ManagePlugins","docId":"plugins/ManagePlugins"},{"type":"link","label":"Atlassian Jira Server","href":"/docs/plugins/AtlassianJiraServer","docId":"plugins/AtlassianJiraServer"},{"type":"link","label":"Atlassian Jira Cloud","href":"/docs/plugins/AtlassianJiraCloud","docId":"plugins/AtlassianJiraCloud"},{"type":"link","label":"Azure DevOps BTS","href":"/docs/plugins/AzureDevOpsBTS","docId":"plugins/AzureDevOpsBTS"},{"type":"link","label":"Rally","href":"/docs/plugins/Rally","docId":"plugins/Rally"},{"type":"link","label":"E-mail server","href":"/docs/plugins/EmailServer","docId":"plugins/EmailServer"},{"type":"link","label":"Sauce Labs","href":"/docs/plugins/SauceLabs","docId":"plugins/SauceLabs"}],"href":"/docs/category/plugins"},{"type":"category","label":"Quality Gates","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Quality Gate Purpose","href":"/docs/quality-gates/QualityGatePurpose","docId":"quality-gates/QualityGatePurpose"},{"type":"link","label":"How to install Quality Gates","href":"/docs/quality-gates/HowToInstallQualityGates","docId":"quality-gates/HowToInstallQualityGates"},{"type":"link","label":"Feature overview","href":"/docs/quality-gates/FeatureOverview","docId":"quality-gates/FeatureOverview"},{"type":"link","label":"Upload Quality Gate to ReportPortal","href":"/docs/quality-gates/UploadQualityGateToReportPortal","docId":"quality-gates/UploadQualityGateToReportPortal"},{"type":"link","label":"Quality Rules Configuration","href":"/docs/quality-gates/QualityRulesConfiguration","docId":"quality-gates/QualityRulesConfiguration"},{"type":"link","label":"Quality Gate Edit","href":"/docs/quality-gates/QualityGateEdit","docId":"quality-gates/QualityGateEdit"},{"type":"link","label":"Delete Quality Gates","href":"/docs/quality-gates/DeleteQualityGates","docId":"quality-gates/DeleteQualityGates"},{"type":"link","label":"Assessment of test results using Quality Gates","href":"/docs/quality-gates/AssessmentOfTestResultsUsingQualityGates","docId":"quality-gates/AssessmentOfTestResultsUsingQualityGates"},{"type":"category","label":"Integration with CI/CD","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Integration with GitLab CI","href":"/docs/quality-gates/IntegrationWithCICD/IntegrationWithGitLabCI","docId":"quality-gates/IntegrationWithCICD/IntegrationWithGitLabCI"},{"type":"link","label":"Integration with Jenkins","href":"/docs/quality-gates/IntegrationWithCICD/IntegrationWithJenkins","docId":"quality-gates/IntegrationWithCICD/IntegrationWithJenkins"}],"href":"/docs/quality-gates/IntegrationWithCICD/"}],"href":"/docs/category/quality-gates"},{"type":"link","label":"User role guides","href":"/docs/user-role-guides/","docId":"user-role-guides/index"},{"type":"category","label":"Issues Troubleshooting","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Tuning CI tool","href":"/docs/issues-troubleshooting/TuningCITool","docId":"issues-troubleshooting/TuningCITool"},{"type":"link","label":"Issues with JIRA bug tracking system: how to resolve","href":"/docs/issues-troubleshooting/IssuesWithJIRABugTrackingSystemHowToResolve","docId":"issues-troubleshooting/IssuesWithJIRABugTrackingSystemHowToResolve"},{"type":"link","label":"How to avoid local execution reported into project space","href":"/docs/issues-troubleshooting/HowToAvoidLocalExecutionReportedIntoProjectSpace","docId":"issues-troubleshooting/HowToAvoidLocalExecutionReportedIntoProjectSpace"},{"type":"link","label":"How to add a test stack trace to a description automatically","href":"/docs/issues-troubleshooting/HowToAddATestStackTraceToADescriptionAutomatically","docId":"issues-troubleshooting/HowToAddATestStackTraceToADescriptionAutomatically"},{"type":"link","label":"Issues with LDAPS: how to resolve","href":"/docs/issues-troubleshooting/IssuesWithLDAPSHowToResolve","docId":"issues-troubleshooting/IssuesWithLDAPSHowToResolve"},{"type":"link","label":"Resolve Analyzer Known Issues","href":"/docs/issues-troubleshooting/ResolveAnalyzerKnownIssues","docId":"issues-troubleshooting/ResolveAnalyzerKnownIssues"},{"type":"link","label":"How to check LDAP connection","href":"/docs/issues-troubleshooting/HowToCheckLDAPConnection","docId":"issues-troubleshooting/HowToCheckLDAPConnection"},{"type":"link","label":"How to clean up the ReportPortal database using PG_REPACK","href":"/docs/issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingPGRepack","docId":"issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingPGRepack"},{"type":"link","label":"How to clean up the ReportPortal database using VACUUM FULL","href":"/docs/issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingVacuumFull","docId":"issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingVacuumFull"},{"type":"link","label":"How to resolve issues with migration to the new version","href":"/docs/issues-troubleshooting/HowToResolveIssuesWithMigrationToTheNewVersion","docId":"issues-troubleshooting/HowToResolveIssuesWithMigrationToTheNewVersion"}],"href":"/docs/category/issues-troubleshooting"},{"type":"category","label":"Case Studies","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Reducing regression time by 50%","href":"/docs/case-studies/ReducingRegressionTimeBy50","docId":"case-studies/ReducingRegressionTimeBy50"},{"type":"link","label":"Increasing test automation stability and visibility","href":"/docs/case-studies/IncreasingTestAutomationStabilityAndVisibility","docId":"case-studies/IncreasingTestAutomationStabilityAndVisibility"},{"type":"link","label":"Reducing regression analysis efforts","href":"/docs/case-studies/ReducingRegressionAnalysisEfforts","docId":"case-studies/ReducingRegressionAnalysisEfforts"},{"type":"link","label":"Improving test automation stability","href":"/docs/case-studies/ImprovingTestAutomationStability","docId":"case-studies/ImprovingTestAutomationStability"}],"href":"/docs/category/case-studies"},{"type":"link","label":"ReportPortal Glossary","href":"/docs/reportportal-glossary/","docId":"reportportal-glossary/index"},{"type":"link","label":"FAQ","href":"/docs/FAQ/","docId":"FAQ/index"},{"type":"category","label":"Terms & conditions","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Premium Features","href":"/docs/terms-and-conditions/PremiumFeatures","docId":"terms-and-conditions/PremiumFeatures"},{"type":"link","label":"Google Analytics usage by ReportPortal","href":"/docs/terms-and-conditions/GoogleAnalyticsUsageByReportPortal","docId":"terms-and-conditions/GoogleAnalyticsUsageByReportPortal"}],"href":"/docs/category/terms--conditions"}]},"docs":{"admin-panel/AllProjectsPage":{"id":"admin-panel/AllProjectsPage","title":"All Projects page","description":"Users with the Administrator role have access to the ReportPortal \\"Administrate\\" section.","sidebar":"defaultSidebar"},"admin-panel/AllUsersPage":{"id":"admin-panel/AllUsersPage","title":"All Users page","description":"The \\"All Users\\" page in \\"Administrate\\" section provides the access to see all available users in the our Testops system.","sidebar":"defaultSidebar"},"admin-panel/EventMonitoring":{"id":"admin-panel/EventMonitoring","title":"Event monitoring","description":"Starting from version 23.2, ReportPortal can monitor all activities (events) at both the project and instance levels.","sidebar":"defaultSidebar"},"analysis/AutoAnalysisOfLaunches":{"id":"analysis/AutoAnalysisOfLaunches","title":"Auto-Analysis of launches","description":"The analysis feature of the ReportPortal makes it possible for the application to check and pass part of the routine duties by itself.","sidebar":"defaultSidebar"},"analysis/HowModelsAreRetrained":{"id":"analysis/HowModelsAreRetrained","title":"How models are retrained","description":"In the Auto-analysis and ML suggestions processes several models take part:","sidebar":"defaultSidebar"},"analysis/ManualAnalysis":{"id":"analysis/ManualAnalysis","title":"Manual Analysis","description":"Manual Analysis is presented on our test report dashboard by \u201cMake decision\u201d modal.","sidebar":"defaultSidebar"},"analysis/MLSuggestions":{"id":"analysis/MLSuggestions","title":"ML Suggestions","description":"ML suggestions functionality is based on previously analyzed results (either manually or via Auto-analysis feature) using Machine Learning. The functionality is provided by the Analyzer service in combination with ElasticSearch.","sidebar":"defaultSidebar"},"analysis/PatternAnalysis":{"id":"analysis/PatternAnalysis","title":"Pattern Analysis","description":"Pattern analysis is a feature that helps you to speed up test failure analysis by finding common patterns in error logs.","sidebar":"defaultSidebar"},"analysis/SearchForTheSimilarToInvestigateItems":{"id":"analysis/SearchForTheSimilarToInvestigateItems","title":"Search for the similar \\"To investigate\\" items","description":"Let\'s consider below an example of ML-driven failure triage in ReportPortal.","sidebar":"defaultSidebar"},"analysis/UniqueErrorAnalysis":{"id":"analysis/UniqueErrorAnalysis","title":"Unique Error Analysis","description":"You can look at the test failure analysis from different points of view: qualitative (passing rate \u2013 How many tests have failed?) and quantitative (Why have they failed?). For example, if 1000 test cases are failed, then","sidebar":"defaultSidebar"},"case-studies/ImprovingTestAutomationStability":{"id":"case-studies/ImprovingTestAutomationStability","title":"Improving test automation stability","description":"Challenges","sidebar":"defaultSidebar"},"case-studies/IncreasingTestAutomationStabilityAndVisibility":{"id":"case-studies/IncreasingTestAutomationStabilityAndVisibility","title":"Increasing test automation stability and visibility","description":"Challenges","sidebar":"defaultSidebar"},"case-studies/ReducingRegressionAnalysisEfforts":{"id":"case-studies/ReducingRegressionAnalysisEfforts","title":"Reducing regression analysis efforts","description":"Challenges","sidebar":"defaultSidebar"},"case-studies/ReducingRegressionTimeBy50":{"id":"case-studies/ReducingRegressionTimeBy50","title":"Reducing regression time by 50%","description":"EPAM helps a Canadian retail company to reverse-engineer their legacy IBM-based store management system to a modern tech stack. As part of this project, ReportPortal was deployed as a centralized test reporting tool.","sidebar":"defaultSidebar"},"dashboards-and-widgets/ComponentHealthCheck":{"id":"dashboards-and-widgets/ComponentHealthCheck","title":"Component health check","description":"Shows the passing rate of the application components which are indicated by the specified attributes.","sidebar":"defaultSidebar"},"dashboards-and-widgets/CumulativeTrendChart":{"id":"dashboards-and-widgets/CumulativeTrendChart","title":"Cumulative trend chart","description":"Shows the growth trend of summary statistics of launches with the same attribute key.","sidebar":"defaultSidebar"},"dashboards-and-widgets/DifferentLaunchesComparisonChart":{"id":"dashboards-and-widgets/DifferentLaunchesComparisonChart","title":"Different launches comparison chart","description":"The widget allows you to compare statistics for the 2 last launches side by side.","sidebar":"defaultSidebar"},"dashboards-and-widgets/FailedCasesTrendChart":{"id":"dashboards-and-widgets/FailedCasesTrendChart","title":"Failed cases trend chart","description":"The widget shows the trend of growth in the number of failed test cases (Product Bugs + Auto Bugs + System Issues + No Defects + To Investigates) from run to run.","sidebar":"defaultSidebar"},"dashboards-and-widgets/FlakyTestCasesTableTop20":{"id":"dashboards-and-widgets/FlakyTestCasesTableTop20","title":"Flaky test cases table (TOP-20)","description":"Shows the TOP-20 the flakiest test cases within the specified previous launches. The widget defines test cases with the highest percentage of switching their status in the execution. So that you can click on the test cases and be redirected to the last test item in execution to check the reasons.","sidebar":"defaultSidebar"},"dashboards-and-widgets/InvestigatedPercentageOfLaunches":{"id":"dashboards-and-widgets/InvestigatedPercentageOfLaunches","title":"Investigated percentage of launches","description":"The widget can be used in two modes - Launch mode and Timeline mode:","sidebar":"defaultSidebar"},"dashboards-and-widgets/LaunchesDurationChart":{"id":"dashboards-and-widgets/LaunchesDurationChart","title":"Launches duration chart","description":"The Launch Duration Chart shows the duration of the selected launches.","sidebar":"defaultSidebar"},"dashboards-and-widgets/LaunchesTable":{"id":"dashboards-and-widgets/LaunchesTable","title":"Launches table","description":"The widget shows a configurable table of launches.","sidebar":"defaultSidebar"},"dashboards-and-widgets/LaunchExecutionAndIssueStatistic":{"id":"dashboards-and-widgets/LaunchExecutionAndIssueStatistic","title":"Launch execution and issue statistic","description":"The Launch Execution and Issue Statistic chart shows the status and issues statistics for the last launch of a specified range.","sidebar":"defaultSidebar"},"dashboards-and-widgets/LaunchStatisticsChart":{"id":"dashboards-and-widgets/LaunchStatisticsChart","title":"Launch statistics chart","description":"The widget can be used in two modes - Launch mode and Timeline mode:","sidebar":"defaultSidebar"},"dashboards-and-widgets/ManageWidgets":{"id":"dashboards-and-widgets/ManageWidgets","title":"Manage Widgets","description":"Customize widget","sidebar":"defaultSidebar"},"dashboards-and-widgets/MostFailedTestCasesTableTop20":{"id":"dashboards-and-widgets/MostFailedTestCasesTableTop20","title":"Most failed test-cases table (TOP-20)","description":"The widget contains a table with statistical information about the TOP-20 most problematic test cases.","sidebar":"defaultSidebar"},"dashboards-and-widgets/MostPopularPatternTableTop20":{"id":"dashboards-and-widgets/MostPopularPatternTableTop20","title":"Most popular pattern table (TOP-20)","description":"Widget\'s parameters:","sidebar":"defaultSidebar"},"dashboards-and-widgets/MostTimeConsumingTestCasesWidgetTop20":{"id":"dashboards-and-widgets/MostTimeConsumingTestCasesWidgetTop20","title":"Most time-consuming test cases widget (TOP-20)","description":"Show the TOP 20 test cases with the highest duration in the last execution of the specified launch.","sidebar":"defaultSidebar"},"dashboards-and-widgets/NonPassedTestCasesTrendChart":{"id":"dashboards-and-widgets/NonPassedTestCasesTrendChart","title":"Non-passed test-cases trend chart","description":"The widget shows the percent ratio of non-passed test cases \\"Failed + Skipped\\" and \\"Total\\" cases from run to run.","sidebar":"defaultSidebar"},"dashboards-and-widgets/OverallStatistics":{"id":"dashboards-and-widgets/OverallStatistics","title":"Overall statistics","description":"The panel shows a summary of test cases with each status for each selected launch.","sidebar":"defaultSidebar"},"dashboards-and-widgets/PassingRatePerLaunch":{"id":"dashboards-and-widgets/PassingRatePerLaunch","title":"Passing rate per launch","description":"Shows the percentage ratio of Passed test cases to Total test cases for the last run of selected launch.","sidebar":"defaultSidebar"},"dashboards-and-widgets/PassingRateSummary":{"id":"dashboards-and-widgets/PassingRateSummary","title":"Passing rate summary","description":"Shows the percentage ratio of Passed test cases to Total test cases for set of launches.","sidebar":"defaultSidebar"},"dashboards-and-widgets/PossibleDashboardsInReportPortal":{"id":"dashboards-and-widgets/PossibleDashboardsInReportPortal","title":"Possible Dashboards in ReportPortal","description":"ReportPortal.io is a powerful test automation reporting dashboard that acquires a lot of analytics. With this manual, we are wanting to help you to configure simple and understandable reports for your teams.","sidebar":"defaultSidebar"},"dashboards-and-widgets/ProjectActivityPanel":{"id":"dashboards-and-widgets/ProjectActivityPanel","title":"Project activity panel","description":"The widget shows all activities occurring on the project.","sidebar":"defaultSidebar"},"dashboards-and-widgets/TableComponentHealthCheck":{"id":"dashboards-and-widgets/TableComponentHealthCheck","title":"Table Component health check","description":"Shows the detailed statistics of the application components which are indicated by the specified attributes.","sidebar":"defaultSidebar"},"dashboards-and-widgets/TestCasesGrowthTrendChart":{"id":"dashboards-and-widgets/TestCasesGrowthTrendChart","title":"Test-cases growth trend chart","description":"The widget can be used in two modes - Launch mode and Timeline mode:","sidebar":"defaultSidebar"},"dashboards-and-widgets/UniqueBugsTable":{"id":"dashboards-and-widgets/UniqueBugsTable","title":"Unique bugs table","description":"The widget shows real identified bugs, posted to the Bug Tracking System from ReportPortal, and existing bugs, that were added to the items on ReportPortal.","sidebar":"defaultSidebar"},"dashboards-and-widgets/WidgetCreation":{"id":"dashboards-and-widgets/WidgetCreation","title":"Widget Creation","description":"In our test automation dashboard widgets contain special graphical control elements that were designed to provide a simple and","sidebar":"defaultSidebar"},"dashboards-and-widgets/WorkWithDashboards":{"id":"dashboards-and-widgets/WorkWithDashboards","title":"Work with dashboards","description":"Dashboards on our continuous testing platform are special containers, where users can create widgets.","sidebar":"defaultSidebar"},"dev-guides/APIDifferencesBetweenV4AndV5":{"id":"dev-guides/APIDifferencesBetweenV4AndV5","title":"API differences between v4 and v5","description":"New endpoints","sidebar":"defaultSidebar"},"dev-guides/AsynchronousReporting":{"id":"dev-guides/AsynchronousReporting","title":"Asynchronous reporting","description":"Overview","sidebar":"defaultSidebar"},"dev-guides/AttachmentsGuide":{"id":"dev-guides/AttachmentsGuide","title":"Attachments (Screenshots) Guide","description":"The Attachments feature allows you to add any file or screenshot to the test case logs. It can be useful for further test failure analysis.","sidebar":"defaultSidebar"},"dev-guides/BackEndJavaContributionGuide":{"id":"dev-guides/BackEndJavaContributionGuide","title":"Back-end Java contribution guide","description":"Useful links","sidebar":"defaultSidebar"},"dev-guides/InteractionsBetweenAPIAndAnalyzer":{"id":"dev-guides/InteractionsBetweenAPIAndAnalyzer","title":"Interactions between API and Analyzer","description":"Overview","sidebar":"defaultSidebar"},"dev-guides/PluginDevelopersGuide":{"id":"dev-guides/PluginDevelopersGuide","title":"Plugin developers guide","description":"Introduction","sidebar":"defaultSidebar"},"dev-guides/ReportingDevelopersGuide":{"id":"dev-guides/ReportingDevelopersGuide","title":"Reporting developers guide","description":"Preconditions","sidebar":"defaultSidebar"},"dev-guides/ReportPortalAPI":{"id":"dev-guides/ReportPortalAPI","title":"ReportPortal API","description":"To find API documentation for our test automation reporting platform, log in to the ReportPortal application and open the API section in the left menu.","sidebar":"defaultSidebar"},"dev-guides/RerunDevelopersGuide":{"id":"dev-guides/RerunDevelopersGuide","title":"Rerun developers guide","description":"What is rerun","sidebar":"defaultSidebar"},"dev-guides/RetriesReporting":{"id":"dev-guides/RetriesReporting","title":"Retries reporting","description":"Some frameworks allow to retry Test execution according to provided conditions (TestNG) or just retry it predefined number of times.","sidebar":"defaultSidebar"},"FAQ/index":{"id":"FAQ/index","title":"FAQ","description":"On this page, we have put together a list of the most frequently asked questions. Here, you can find prompt responses.","sidebar":"defaultSidebar"},"features/AIFailureReasonDetection":{"id":"features/AIFailureReasonDetection","title":"AI-based failure reason detection","description":"In the realm of test automation, failure analysis often becomes a bottleneck, consuming valuable time and resources. ReportPortal introduces a game-changing solution with its AI-powered failure reason detection feature. Employing advanced Machine Learning (ML) algorithms, this feature streamlines your test processes, enabling quicker, more accurate results.","sidebar":"defaultSidebar"},"features/CategorisationOfFailures":{"id":"features/CategorisationOfFailures","title":"Categorization of failures based on issue roots","description":"In the realm of software development and QA, test failure analysis isn\'t just a task\u2014it\'s a critical practice. The way we categorize test failures informs not only the testing process but also how quickly and efficiently developers can resolve issues. ReportPortal provides an advanced, feature-rich environment for streamlined failure categorization, which is an integral part of any agile development cycle.","sidebar":"defaultSidebar"},"features/QualityGates":{"id":"features/QualityGates","title":"Quality Gates","description":"Quality Gates is a feature thanks to which ReportPortal becomes an integral part of continuous testing platform. It prevents the code from moving forward if it doesn\u2019t meet testing criteria. ReportPortal uses aggregated data and rule engine to verify testing results against required conditions.","sidebar":"defaultSidebar"},"features/RealTimeReporting":{"id":"features/RealTimeReporting","title":"Real-time reporting","description":"Real-time test reporting provides the most current data without delay. Thanks to near real-time capabilities, you can receive the first test results in a matter of seconds after the execution has started and benefit from the advantage of getting the entire execution results before it is completed.","sidebar":"defaultSidebar"},"features/RESTAPI":{"id":"features/RESTAPI","title":"REST API","description":"ReportPortal offers a robust set of features through its REST API, covering test data, user data, project data, statistics, integrations, and more.","sidebar":"defaultSidebar"},"features/RichArtifactsInTestReports":{"id":"features/RichArtifactsInTestReports","title":"Rich artifacts in test reports","description":"Test execution report in ReportPortal may contain extra details in addition to the standard test results (passed/failed status).","sidebar":"defaultSidebar"},"features/UnifiedTestReporting":{"id":"features/UnifiedTestReporting","title":"Single-entry point and unified test reporting","description":"ReportPortal was created with the idea in mind to be a single tool to acquire and aggregate the results of all automated tests for projects. Our centralized test automation tool is a great focus area for managers and test engineers because all test results can be accessed, reviewed and analyzed in one place.","sidebar":"defaultSidebar"},"features/VisualisationOfTestResults":{"id":"features/VisualisationOfTestResults","title":"Visualization of test data","description":"ReportPortal\'s dynamic visualization capabilities provide teams with real-time insights, enabling them to make informed decisions quickly and efficiently.","sidebar":"defaultSidebar"},"installation-steps/AdditionalConfigurationParameters":{"id":"installation-steps/AdditionalConfigurationParameters","title":"Additional configuration parameters","description":"| Configuration parameter | Default Value | Service | Description |","sidebar":"defaultSidebar"},"installation-steps/BasicMonitoringConfiguration":{"id":"installation-steps/BasicMonitoringConfiguration","title":"Basic monitoring configuration","description":"The common ReportPortal instance consists of two main parts \u2013 the application server and the database server \u2013 both of which must be covered by basic system-level and application-level metrics. Basic system-level monitoring should include metrics tracking the main application and database servers\' VM and cluster resources, such as:","sidebar":"defaultSidebar"},"installation-steps/DeployOnUbuntuOS":{"id":"installation-steps/DeployOnUbuntuOS","title":"Deploy on Ubuntu OS","description":"*Provided by @Tset Noitamotuahe. The article might be outdated.","sidebar":"defaultSidebar"},"installation-steps/DeployWithAWSECSFargate":{"id":"installation-steps/DeployWithAWSECSFargate","title":"Deploy with AWS ECS Fargate","description":"Provided by contributor, not verified by RP team, please use with caution.","sidebar":"defaultSidebar"},"installation-steps/DeployWithDockerOnLinuxMac":{"id":"installation-steps/DeployWithDockerOnLinuxMac","title":"Deploy with Docker on Linux/Mac","description":"Make your test automation reporting more portable. Reduce the risk of configuration issues with your test reporting tool using Docker.","sidebar":"defaultSidebar"},"installation-steps/DeployWithDockerOnWindows":{"id":"installation-steps/DeployWithDockerOnWindows","title":"Deploy with Docker on Windows","description":"A portable way to manage your real time test results. Using Docker makes it easy to share test execution report and collaborate with other team members.","sidebar":"defaultSidebar"},"installation-steps/DeployWithKubernetes":{"id":"installation-steps/DeployWithKubernetes","title":"Deploy with Kubernetes","description":"We use Helm package manager charts to bootstrap a ReportPortal deployment on a Kubernetes cluster","sidebar":"defaultSidebar"},"installation-steps/DeployWithoutDocker":{"id":"installation-steps/DeployWithoutDocker","title":"Deploy without Docker","description":"*The instruction designed for the version 5.3.5 and might be outdated for the latest versions.","sidebar":"defaultSidebar"},"installation-steps/MaintainCommandsCheatSheet":{"id":"installation-steps/MaintainCommandsCheatSheet","title":"Maintain commands Cheat sheet","description":"Export as env var:","sidebar":"defaultSidebar"},"installation-steps/OptimalPerformanceHardwareSetup":{"id":"installation-steps/OptimalPerformanceHardwareSetup","title":"Optimal Performance Hardware setup","description":"Find below the recommended hardware configuration to set up ReportPortal and have good performance using our centralized test automation tool.","sidebar":"defaultSidebar"},"installation-steps/ReportPortal23.1FileStorageOptions":{"id":"installation-steps/ReportPortal23.1FileStorageOptions","title":"ReportPortal 23.1 File storage options","description":"In ReportPortal 23.1 we can use multiple ways to store log attachments, user pictures and plugins.","sidebar":"defaultSidebar"},"installation-steps/SetupTSLSSLInTraefik2.0.x":{"id":"installation-steps/SetupTSLSSLInTraefik2.0.x","title":"Setup TLS(SSL) in Traefik 2.0.x","description":"This is a short guideline that provides information on how to configure ReportPortal to use Let TLS/SSL certificate setup for your existing ReportPortal environment.","sidebar":"defaultSidebar"},"intro":{"id":"intro","title":"What is ReportPortal?","description":"How to get started with our test reporting tool. Improve testing process with ML-driven failure triage. Get real time results and test failure analytics.","sidebar":"defaultSidebar"},"issues-troubleshooting/HowToAddATestStackTraceToADescriptionAutomatically":{"id":"issues-troubleshooting/HowToAddATestStackTraceToADescriptionAutomatically","title":"How to add a test stack trace to a description automatically","description":"You can make your process of a test analysis more convenient and quick by adding a description for failed tests that will include a last error message from the test log.","sidebar":"defaultSidebar"},"issues-troubleshooting/HowToAvoidLocalExecutionReportedIntoProjectSpace":{"id":"issues-troubleshooting/HowToAvoidLocalExecutionReportedIntoProjectSpace","title":"How to avoid local execution reported into project space","description":"Option 1:","sidebar":"defaultSidebar"},"issues-troubleshooting/HowToCheckLDAPConnection":{"id":"issues-troubleshooting/HowToCheckLDAPConnection","title":"How to check LDAP connection","description":"Firstly, check the availability of your LDAP server from the server when ReportPortal is installed. For example, use the command ldapsearch.","sidebar":"defaultSidebar"},"issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingPGRepack":{"id":"issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingPGRepack","title":"How to clean up the ReportPortal database using PG_REPACK","description":"Description","sidebar":"defaultSidebar"},"issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingVacuumFull":{"id":"issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingVacuumFull","title":"How to clean up the ReportPortal database using VACUUM FULL","description":"General information","sidebar":"defaultSidebar"},"issues-troubleshooting/HowToResolveIssuesWithMigrationToTheNewVersion":{"id":"issues-troubleshooting/HowToResolveIssuesWithMigrationToTheNewVersion","title":"How to resolve issues with migration to the new version","description":"Error: Dirty database version XX. Fix and force version.","sidebar":"defaultSidebar"},"issues-troubleshooting/IssuesWithJIRABugTrackingSystemHowToResolve":{"id":"issues-troubleshooting/IssuesWithJIRABugTrackingSystemHowToResolve","title":"Issues with JIRA bug tracking system: how to resolve","description":"In case user is connecting to JIRA system and gets the error like","sidebar":"defaultSidebar"},"issues-troubleshooting/IssuesWithLDAPSHowToResolve":{"id":"issues-troubleshooting/IssuesWithLDAPSHowToResolve","title":"Issues with LDAPS: how to resolve","description":"When configuring LDAP to work with ldaps","sidebar":"defaultSidebar"},"issues-troubleshooting/ResolveAnalyzerKnownIssues":{"id":"issues-troubleshooting/ResolveAnalyzerKnownIssues","title":"Resolve Analyzer Known Issues","description":"Problem 1. Auto-Analyser doesn\'t work. Analyzer health check status failed: Elasticsearch is not healthy","sidebar":"defaultSidebar"},"issues-troubleshooting/TuningCITool":{"id":"issues-troubleshooting/TuningCITool","title":"Tuning CI tool","description":"How to provide parameters via system variables in the CI tool (for example - Jenkins) for our continuous testing platform.","sidebar":"defaultSidebar"},"log-data-in-reportportal/HowToRunYourTests":{"id":"log-data-in-reportportal/HowToRunYourTests","title":"How to run your tests","description":"Automated tests can be executed in the any CI tool you are using on the project (Jenkins, Bamboo, Azure DevOps, GitHub Actions, CircleCI, TeamCity, GitLab, Travis CI, Codeship, Buddy, GoCD, Wercker and more).","sidebar":"defaultSidebar"},"log-data-in-reportportal/ImplementOwnIntegration":{"id":"log-data-in-reportportal/ImplementOwnIntegration","title":"Implement own integration","description":"You can find a detailed description of how report results to ReportPortal in our developers` guide.","sidebar":"defaultSidebar"},"log-data-in-reportportal/ImportDataToReportPortal":{"id":"log-data-in-reportportal/ImportDataToReportPortal","title":"Import data to ReportPortal","description":"Import functionality gives the opportunity to upload log files via UI.","sidebar":"defaultSidebar"},"log-data-in-reportportal/ReportingSDK":{"id":"log-data-in-reportportal/ReportingSDK","title":"Reporting SDK","description":"How to report tests with nested steps?","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/index":{"id":"log-data-in-reportportal/test-framework-integration/index","title":"Test Framework Integration","description":"ReportPortal is a system that integrates with your Test Framework, listens for events and visualizes test results. You cannot execute results right from ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/Cucumber":{"id":"log-data-in-reportportal/test-framework-integration/Java/Cucumber","title":"ReportPortal Cucumber Integration","description":"There is an agent to integrate Cucumber with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/index":{"id":"log-data-in-reportportal/test-framework-integration/Java/index","title":"Java","description":"To integrate your Java test framework with ReportPortal, you need to create a file named reportportal.properties in your in your Java project in a source folder src/main/resources or src/test/resources (depending on where your tests are located):","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/JBehave":{"id":"log-data-in-reportportal/test-framework-integration/Java/JBehave","title":"ReportPortal JBehave Integration","description":"There is an agent to integrate JBehave with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/JUnit4":{"id":"log-data-in-reportportal/test-framework-integration/Java/JUnit4","title":"ReportPortal JUnit4 Integration","description":"There is an agent to integrate JUnit4 with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/JUnit5":{"id":"log-data-in-reportportal/test-framework-integration/Java/JUnit5","title":"ReportPortal JUnit5 Integration","description":"There is an agent to integrate JUnit5 with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/Loggers/ApacheHttpComponents":{"id":"log-data-in-reportportal/test-framework-integration/Java/Loggers/ApacheHttpComponents","title":"ReportPortal Apache HttpComponents Integration","description":"The logger intercept and logs all Requests and Responses issued by Apache HttpComponents into ReportPortal in Markdown format, including multipart requests. It recognizes payload types and attach them in corresponding manner: image types will be logged as images with thumbnails, binary types will be logged as entry attachments, text types will be formatted and logged in Markdown code blocks.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/Loggers/Log4J":{"id":"log-data-in-reportportal/test-framework-integration/Java/Loggers/Log4J","title":"ReportPortal Log4J Integration","description":"Log4j is one of several Java logging frameworks that provides a flexible and configurable way to capture and manage application logs.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/Loggers/Logback":{"id":"log-data-in-reportportal/test-framework-integration/Java/Loggers/Logback","title":"ReportPortal Logback Integration","description":"Using the Logback appender for ReportPortal, developers can collect and send the logs generated by their application to ReportPortal for additional analysis and reporting. Using this appender, developers can configure Logback to send logs directly to ReportPortal, where they can be examined alongside other testing data to understand the behavior of the application and identify any issues.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/Loggers/OkHttp3":{"id":"log-data-in-reportportal/test-framework-integration/Java/Loggers/OkHttp3","title":"ReportPortal OkHttp3 Integration","description":"The logger intercept and logs all Requests and Responses issued by OkHttp into ReportPortal in Markdown format, including multipart requests. It recognizes payload types and attach them in corresponding manner: image types will be logged as images with thumbnails, binary types will be logged as entry attachments, text types will be formatted and logged in Markdown code blocks.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/Loggers/RestAssured":{"id":"log-data-in-reportportal/test-framework-integration/Java/Loggers/RestAssured","title":"ReportPortal Rest Assured Integration","description":"The logger intercept and logs all Requests and Responses issued by REST Assured into ReportPortal in Markdown format, including multipart","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/Loggers/Selenide":{"id":"log-data-in-reportportal/test-framework-integration/Java/Loggers/Selenide","title":"ReportPortal Selenide Integration","description":"Selenide step logging listener for ReportPortal. The listener listen for Selenide log events and send them to Report Portal as steps. It has ability to log screenshots and page sources on failure, this is enabled by default. Also, it is possible to attach different types of WebDriver logs on failure.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/SoapUI":{"id":"log-data-in-reportportal/test-framework-integration/Java/SoapUI","title":"ReportPortal SoapUI Integration","description":"There is an agent to integrate SoapUI with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/Spock":{"id":"log-data-in-reportportal/test-framework-integration/Java/Spock","title":"ReportPortal Spock Integration","description":"There is an agent to integrate Spock with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/TestNG":{"id":"log-data-in-reportportal/test-framework-integration/Java/TestNG","title":"ReportPortal TestNG Integration","description":"There is an agent to integrate TestNG with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/Codecept":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Codecept","title":"ReportPortal Codecept Integration","description":"There is an agent to integrate Codecept with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/CucumberJS":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/CucumberJS","title":"ReportPortal CucumberJS Integration","description":"There is an agent to integrate CucumberJS with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/Cypress":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Cypress","title":"ReportPortal Cypress Integration","description":"There is an agent to integrate Cypress with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/index":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/index","title":"JavaScript","description":"If you need a sophisticated and full-featured integration with a test framework, you can configure it by your self.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/Jasmine":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Jasmine","title":"ReportPortal Jasmine Integration","description":"There is an agent to integrate Jasmine with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/Jest":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Jest","title":"ReportPortal Jest Integration","description":"There is an agent to integrate Jest with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/Mocha":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Mocha","title":"ReportPortal Mocha Integration","description":"There is an agent to integrate Mocha with ReportPortal. It was designed to work with mocha programmatically, in order to be able to parametrize each test run.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/Nightwatch":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Nightwatch","title":"ReportPortal Nightwatch Integration","description":"There is an agent to integrate Nightwatch with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/Playwright":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Playwright","title":"ReportPortal Playwright Integration","description":"There is an agent to integrate Playwright with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/Postman":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Postman","title":"ReportPortal Postman Integration","description":"There is an agent to integrate Postman (based on Newman collection runner) with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/TestCafe":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/TestCafe","title":"ReportPortal TestCafe Integration","description":"There is an agent to integrate TestCafe with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/WebdriverIO":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/WebdriverIO","title":"ReportPortal WebdriverIO Integration","description":"There is an agent to integrate Webdriver.io with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Net/index":{"id":"log-data-in-reportportal/test-framework-integration/Net/index","title":".Net","description":"If you need a sophisticated and full-featured integration with a test framework, you can configure it by your self.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Net/Loggers/Log4Net":{"id":"log-data-in-reportportal/test-framework-integration/Net/Loggers/Log4Net","title":"ReportPortal Log4Net Integration","description":"Log4net is a logging library for .NET applications. It offers a versatile and customizable architecture for recording application events to a number of locations, including files, databases, and remote servers.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Net/Loggers/NLog":{"id":"log-data-in-reportportal/test-framework-integration/Net/Loggers/NLog","title":"ReportPortal NLog Integration","description":"NLog is a logging platform for .NET platforms. It supports a range of logging formats, including plain text and JSON.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Net/Loggers/Serilog":{"id":"log-data-in-reportportal/test-framework-integration/Net/Loggers/Serilog","title":"ReportPortal Serilog Integration","description":"Serilog is a logging library for .Net. Serilog was created with powerful organized event data in mind, unlike other logging libraries.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Net/Loggers/TraceListener":{"id":"log-data-in-reportportal/test-framework-integration/Net/Loggers/TraceListener","title":"ReportPortal TraceListener Integration","description":"TraceListener is a component of the .NET Framework\'s logging system. Provides receiving and handling trace messages and forwarding them to the appropriate destination.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Net/NUnit":{"id":"log-data-in-reportportal/test-framework-integration/Net/NUnit","title":"ReportPortal NUnit Integration","description":"There is an agent to integrate NUnit with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Net/SpecFlow":{"id":"log-data-in-reportportal/test-framework-integration/Net/SpecFlow","title":"ReportPortal SpecFlow Integration","description":"There is an agent to integrate SpecFlow with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Net/VSTest":{"id":"log-data-in-reportportal/test-framework-integration/Net/VSTest","title":"ReportPortal VSTest Integration","description":"There is an agent to integrate VSTest with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Net/xUnit":{"id":"log-data-in-reportportal/test-framework-integration/Net/xUnit","title":"ReportPortal xUnit Integration","description":"There is an agent to integrate xUnit with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Other/index":{"id":"log-data-in-reportportal/test-framework-integration/Other/index","title":"Other","description":"Please find the full list of available integrations with test frameworks in our GitHub repositories.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/PHP/Behat":{"id":"log-data-in-reportportal/test-framework-integration/PHP/Behat","title":"ReportPortal Behat Integration","description":"There is an agent to integrate Behat with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/PHP/Codeception":{"id":"log-data-in-reportportal/test-framework-integration/PHP/Codeception","title":"ReportPortal Codeception Integration","description":"There is an agent to integrate Codeception-based test framework with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/PHP/index":{"id":"log-data-in-reportportal/test-framework-integration/PHP/index","title":"PHP","description":"If you need a sophisticated and full-featured integration with a test framework, you can configure it by your self.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/PHP/PHPUnit":{"id":"log-data-in-reportportal/test-framework-integration/PHP/PHPUnit","title":"ReportPortal PHPUnit Integration","description":"There is an agent to integrate PHPUnit with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Python/behave":{"id":"log-data-in-reportportal/test-framework-integration/Python/behave","title":"ReportPortal behave Integration","description":"There is Behave extension for reporting test results of Behave to the ReportalPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Python/index":{"id":"log-data-in-reportportal/test-framework-integration/Python/index","title":"Python","description":"If you need a sophisticated and full-featured integration with a test framework, you can configure it by your self.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Python/nosetests":{"id":"log-data-in-reportportal/test-framework-integration/Python/nosetests","title":"ReportPortal nosetests Integration","description":"There is Nose plugin for reporting test results of Nose to the ReportalPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Python/pytest":{"id":"log-data-in-reportportal/test-framework-integration/Python/pytest","title":"ReportPortal pytest Integration","description":"There is an agent to integrate pytest with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Python/RobotFramework":{"id":"log-data-in-reportportal/test-framework-integration/Python/RobotFramework","title":"ReportPortal Robot Framework Integration","description":"There is a Listener for RobotFramework to report results to ReportPortal.","sidebar":"defaultSidebar"},"plugins/AtlassianJiraCloud":{"id":"plugins/AtlassianJiraCloud","title":"Atlassian Jira Cloud","description":"ReportPortal and Jira Cloud integration streamlines testing, tracks issues and enhances collaboration for improved productivity.","sidebar":"defaultSidebar"},"plugins/AtlassianJiraServer":{"id":"plugins/AtlassianJiraServer","title":"Atlassian Jira Server","description":"To install the Jira Server plugin, see Upload plugin section.","sidebar":"defaultSidebar"},"plugins/AzureDevOpsBTS":{"id":"plugins/AzureDevOpsBTS","title":"Azure DevOps BTS","description":"To install the Azure DevOps BTS plugin, see Upload plugin section.","sidebar":"defaultSidebar"},"plugins/EmailServer":{"id":"plugins/EmailServer","title":"E-mail server","description":"E-mail server plugin is available in ReportPortal on the Plugins page.","sidebar":"defaultSidebar"},"plugins/ManagePlugins":{"id":"plugins/ManagePlugins","title":"Manage plugins","description":"ReportPortal as a test management system can be reinforced by uploading plugins. For now, you can install the next plugins from the box:","sidebar":"defaultSidebar"},"plugins/Rally":{"id":"plugins/Rally","title":"Rally","description":"To install the Rally plugin, see Upload plugin section.","sidebar":"defaultSidebar"},"plugins/SauceLabs":{"id":"plugins/SauceLabs","title":"Sauce Labs","description":"To install the Sauce Labs plugin, see Upload plugin section.","sidebar":"defaultSidebar"},"quality-gates/AssessmentOfTestResultsUsingQualityGates":{"id":"quality-gates/AssessmentOfTestResultsUsingQualityGates","title":"Assessment of test results using Quality Gates","description":"Now the system is preconfigured, and you can start using Quality Gates Analysis.","sidebar":"defaultSidebar"},"quality-gates/DeleteQualityGates":{"id":"quality-gates/DeleteQualityGates","title":"Delete Quality Gates","description":"If you want to delete Quality Gate:","sidebar":"defaultSidebar"},"quality-gates/FeatureOverview":{"id":"quality-gates/FeatureOverview","title":"Feature overview","description":"Quality Gate analysis provides capabilities to speed up CI/CD pipeline by sending auto-feedback to your CI/CD tools. ReportPortal assesses the build quality and sends auto feedback to CI/CD.","sidebar":"defaultSidebar"},"quality-gates/HowToInstallQualityGates":{"id":"quality-gates/HowToInstallQualityGates","title":"How to install Quality Gates","description":"The Quality Gate feature is available in the scope of the ReportPortal premium version started from version 5.6. Our continuous testing platform provides it for clients in the scope of paid support engagement.","sidebar":"defaultSidebar"},"quality-gates/IntegrationWithCICD/index":{"id":"quality-gates/IntegrationWithCICD/index","title":"Integration with CI/CD","description":"ReportPortal is a CI agnostic tool, it integrates on the test framework level, but to ease configuration we have auxiliary code in RP for some CI tools.","sidebar":"defaultSidebar"},"quality-gates/IntegrationWithCICD/IntegrationWithGitLabCI":{"id":"quality-gates/IntegrationWithCICD/IntegrationWithGitLabCI","title":"Integration with GitLab CI","description":"In this tutorial we will walk you through the process of integrating ReportPortal with GitLab CI. It is not the case for GitLab, but there are some recipes.","sidebar":"defaultSidebar"},"quality-gates/IntegrationWithCICD/IntegrationWithJenkins":{"id":"quality-gates/IntegrationWithCICD/IntegrationWithJenkins","title":"Integration with Jenkins","description":"Jenkins configuration","sidebar":"defaultSidebar"},"quality-gates/QualityGateEdit":{"id":"quality-gates/QualityGateEdit","title":"Quality Gate Edit","description":"If user edit Quality Gates, previous reports for these Quality Gates would not be recalculated.","sidebar":"defaultSidebar"},"quality-gates/QualityGatePurpose":{"id":"quality-gates/QualityGatePurpose","title":"Quality Gate Purpose","description":"ReportPortal is a continuous testing platform with build-in functionality - Quality Gates.","sidebar":"defaultSidebar"},"quality-gates/QualityRulesConfiguration":{"id":"quality-gates/QualityRulesConfiguration","title":"Quality Rules Configuration","description":"Now let\'s configure the Quality rule, which will be used for launch quality assessment.","sidebar":"defaultSidebar"},"quality-gates/UploadQualityGateToReportPortal":{"id":"quality-gates/UploadQualityGateToReportPortal","title":"Upload Quality Gate to ReportPortal","description":"The default configuration of our continuous testing platform doesn\'t contain Quality Gate. For adding this feature, you need to receive a link to the .jar file from ReportPortal.","sidebar":"defaultSidebar"},"releases/Version3.3.2":{"id":"releases/Version3.3.2","title":"Version 3.3.2","description":"milestone 3.3","sidebar":"defaultSidebar"},"releases/Version3.3.2-1":{"id":"releases/Version3.3.2-1","title":"Version 3.3.2-1","description":"Update instructions","sidebar":"defaultSidebar"},"releases/Version4.0.0":{"id":"releases/Version4.0.0","title":"Version 4.0.0","description":"Issues and features in milestone 4.0","sidebar":"defaultSidebar"},"releases/Version4.1.0":{"id":"releases/Version4.1.0","title":"Version 4.1.0","description":"Issues and features in milestone 4.1","sidebar":"defaultSidebar"},"releases/Version4.2.0":{"id":"releases/Version4.2.0","title":"Version 4.2.0","description":"Features","sidebar":"defaultSidebar"},"releases/Version4.3":{"id":"releases/Version4.3","title":"Version 4.2.0","description":"Features","sidebar":"defaultSidebar"},"releases/Version5.0.0":{"id":"releases/Version5.0.0","title":"Version 5.0.0","description":"Finally we are glad to introduce a new release of ReportPortal.","sidebar":"defaultSidebar"},"releases/Version5.0RC":{"id":"releases/Version5.0RC","title":"Version 5.0RC","description":"This is the Beta release.","sidebar":"defaultSidebar"},"releases/Version5.1.0":{"id":"releases/Version5.1.0","title":"Version 5.1.0","description":"Important: We are constantly improving ReportPortal. And in version 5.1 we have changed a way we encrypt your personal data. Please be aware, that for successful interaction with version 5.1 you need to change a password at the first login.","sidebar":"defaultSidebar"},"releases/Version5.2.0":{"id":"releases/Version5.2.0","title":"Version 5.2.0","description":"Small and nice updates","sidebar":"defaultSidebar"},"releases/Version5.2.1":{"id":"releases/Version5.2.1","title":"Version 5.2.1","description":"Fix reportportal/kubernetes #115","sidebar":"defaultSidebar"},"releases/Version5.2.2":{"id":"releases/Version5.2.2","title":"Version 5.2.2","description":"Improvements","sidebar":"defaultSidebar"},"releases/Version5.2.3":{"id":"releases/Version5.2.3","title":"Version 5.2.3","description":"Bugs","sidebar":"defaultSidebar"},"releases/Version5.3.0":{"id":"releases/Version5.3.0","title":"Version 5.3.0","description":"Brand new features","sidebar":"defaultSidebar"},"releases/Version5.3.1.":{"id":"releases/Version5.3.1.","title":"Version 5.3.1","description":"Bug fixing","sidebar":"defaultSidebar"},"releases/Version5.3.2":{"id":"releases/Version5.3.2","title":"Version 5.3.2","description":"Bug fixing","sidebar":"defaultSidebar"},"releases/Version5.3.3":{"id":"releases/Version5.3.3","title":"Version 5.3.3","description":"New features","sidebar":"defaultSidebar"},"releases/Version5.3.5":{"id":"releases/Version5.3.5","title":"Version 5.3.5","description":"- Fixed: #950 Problems with DB locks on SELECT","sidebar":"defaultSidebar"},"releases/Version5.4.0":{"id":"releases/Version5.4.0","title":"Version 5.4.0","description":"Migration guide","sidebar":"defaultSidebar"},"releases/Version5.5.0":{"id":"releases/Version5.5.0","title":"Version 5.5.0","description":"Migration guide","sidebar":"defaultSidebar"},"releases/Version5.6.0":{"id":"releases/Version5.6.0","title":"Version 5.6.0","description":"Migration guide","sidebar":"defaultSidebar"},"releases/Version5.6.1":{"id":"releases/Version5.6.1","title":"Version 5.6.1","description":"Bugfixing","sidebar":"defaultSidebar"},"releases/Version5.6.2":{"id":"releases/Version5.6.2","title":"Version 5.6.2","description":"- ReportPortal release 5.6.2 aimed at fixing Log4J vulnerabilities: CVE-2021-44228, CVE-2021-45046 and CVE-2021-45105","sidebar":"defaultSidebar"},"releases/Version5.6.3":{"id":"releases/Version5.6.3","title":"Version 5.6.3","description":"Bugfixing","sidebar":"defaultSidebar"},"releases/Version5.7.0":{"id":"releases/Version5.7.0","title":"Version 5.7.0","description":"New Features:","sidebar":"defaultSidebar"},"releases/Version5.7.1":{"id":"releases/Version5.7.1","title":"Version 5.7.1","description":"Technical Improvements:","sidebar":"defaultSidebar"},"releases/Version5.7.2":{"id":"releases/Version5.7.2","title":"Version 5.7.2","description":"What\'s Changed:","sidebar":"defaultSidebar"},"releases/Version5.7.3":{"id":"releases/Version5.7.3","title":"Version 5.7.3","description":"Features:","sidebar":"defaultSidebar"},"releases/Version5.7.4":{"id":"releases/Version5.7.4","title":"Version 5.7.4","description":"What\'s Changed:","sidebar":"defaultSidebar"},"releases/Versionv23.1":{"id":"releases/Versionv23.1","title":"Version v.23.1","description":"- New ReportPortal logo","sidebar":"defaultSidebar"},"reportportal-configuration/authorization/ActiveDirectory":{"id":"reportportal-configuration/authorization/ActiveDirectory","title":"Active Directory","description":"Active Directory plugin is available in ReportPortal on the Plugins page.","sidebar":"defaultSidebar"},"reportportal-configuration/authorization/GitHub":{"id":"reportportal-configuration/authorization/GitHub","title":"GitHub","description":"Our open source test reporting tool allows logging in via GitHub OAuth Web Application Flow.","sidebar":"defaultSidebar"},"reportportal-configuration/authorization/index":{"id":"reportportal-configuration/authorization/index","title":"Authorization","description":"ReportPortal Admin can configure an easy authorization on the instance. From the box we provide OAuth with:","sidebar":"defaultSidebar"},"reportportal-configuration/authorization/LDAP":{"id":"reportportal-configuration/authorization/LDAP","title":"LDAP","description":"LDAP plugin is available in ReportPortal on the Plugins page.","sidebar":"defaultSidebar"},"reportportal-configuration/authorization/SAMLProvider/AzureSAML":{"id":"reportportal-configuration/authorization/SAMLProvider/AzureSAML","title":"Azure SAML","description":"SAML plugin is available in ReportPortal on the Plugins page.","sidebar":"defaultSidebar"},"reportportal-configuration/authorization/SAMLProvider/index":{"id":"reportportal-configuration/authorization/SAMLProvider/index","title":"SAML provider","description":"If you have a pre-created Internal user, you can\'t log in by SAML using their credentials (Email or Name).","sidebar":"defaultSidebar"},"reportportal-configuration/authorization/SAMLProvider/OktaSAML":{"id":"reportportal-configuration/authorization/SAMLProvider/OktaSAML","title":"Okta SAML","description":"SAML plugin is available in ReportPortal on the Plugins page.","sidebar":"defaultSidebar"},"reportportal-configuration/ComponentsOverview":{"id":"reportportal-configuration/ComponentsOverview","title":"Components Overview","description":"Gateway","sidebar":"defaultSidebar"},"reportportal-configuration/CreationOfProjectAndAddingUsers":{"id":"reportportal-configuration/CreationOfProjectAndAddingUsers","title":"Creation of project and adding users","description":"The main question of how you can organize your working space in ReportPortal.","sidebar":"defaultSidebar"},"reportportal-configuration/HowToGetAnAccessTokenInReportPortal":{"id":"reportportal-configuration/HowToGetAnAccessTokenInReportPortal","title":"How to get an access token in ReportPortal","description":"There are two ways to authorize in the ReportPortal API:","sidebar":"defaultSidebar"},"reportportal-configuration/IntegrationViaPlugin":{"id":"reportportal-configuration/IntegrationViaPlugin","title":"Integration via plugin","description":"Users can reinforce ReportPortal with adding additional integrations with:","sidebar":"defaultSidebar"},"reportportal-configuration/ProjectConfiguration":{"id":"reportportal-configuration/ProjectConfiguration","title":"Project configuration","description":"To see the list of available projects and open a project, click the drop-down list in the top of the left menu.","sidebar":"defaultSidebar"},"reportportal-configuration/ReportPortalJobsConfiguration":{"id":"reportportal-configuration/ReportPortalJobsConfiguration","title":"ReportPortal jobs configuration","description":"Currently, ReportPortal has 5 configurable jobs for data removing:","sidebar":"defaultSidebar"},"reportportal-glossary/index":{"id":"reportportal-glossary/index","title":"ReportPortal Glossary","description":"Agent","sidebar":"defaultSidebar"},"reportportal-tutorial/index":{"id":"reportportal-tutorial/index","title":"ReportPortal Tutorial","description":"ReportPortal guide. How to do test failure analysis, how to create dashboard to manage test results and use capabilities of continuous testing platform.","sidebar":"defaultSidebar"},"saved-searches-filters/CreateFilters":{"id":"saved-searches-filters/CreateFilters","title":"Create filters","description":"Filters in the our test automation reporting dashboard are saved searches of the launches.","sidebar":"defaultSidebar"},"saved-searches-filters/FiltersPage":{"id":"saved-searches-filters/FiltersPage","title":"Filters page","description":"You can see the list of your saved searches and filters created by other team members on the \\"Filters\\" page.","sidebar":"defaultSidebar"},"saved-searches-filters/ManageFilters":{"id":"saved-searches-filters/ManageFilters","title":"Manage filters","description":"Filters feature is a base for data visualization in test automation because widgets are built on their basis.","sidebar":"defaultSidebar"},"terms-and-conditions/GoogleAnalyticsUsageByReportPortal":{"id":"terms-and-conditions/GoogleAnalyticsUsageByReportPortal","title":"Google Analytics usage by ReportPortal","description":"ReportPortal uses Google Analytics (GA) for web analytics capabilities. GA helps the ReportPortal Team to understand product usage and make ReportPortal more convenient and useful for our users. To address any concerns about the data we collect, we want to be transparent about which data is sent to GA, and assure you that no personal or confidential data is transferred. To be clear, we do not gather personal information at all through GA. In this article, we explain how Google Analytics works on ReportPortal, its benefits, and how you can turn it off if you want.","sidebar":"defaultSidebar"},"terms-and-conditions/PremiumFeatures":{"id":"terms-and-conditions/PremiumFeatures","title":"Premium Features","description":"At ReportPortal, we understand that every enterprise\'s testing environment is unique, requiring tailored solutions that address specific needs. To cater to this demand, we\'ve introduced our Premium Features, exclusively available to our Managed Services and SaaS subscription clients.","sidebar":"defaultSidebar"},"user-account/DataRetentionProcedure":{"id":"user-account/DataRetentionProcedure","title":"Data retention procedure","description":"Starting from version 23.2, ReportPortal introduces an option to establish a retention period for collected Personally Identifiable Information (PII) data during instance configuration. This configuration allows for setting an individual retention duration for the instance in days, such as N=90, 180, 540 or any other number of days.","sidebar":"defaultSidebar"},"user-account/DeleteAccount":{"id":"user-account/DeleteAccount","title":"Delete account","description":"Starting from version 23.2, ReportPortal users can delete their accounts along with their personal data.","sidebar":"defaultSidebar"},"user-account/EditPersonalInformation":{"id":"user-account/EditPersonalInformation","title":"Edit personal information","description":"To navigate to the User Profile page, open menu at the bottom of the page and select \\"Profile\\" option.","sidebar":"defaultSidebar"},"user-account/RestoreAPassword":{"id":"user-account/RestoreAPassword","title":"Restore a password","description":"If you forgot your password, you can restore it on the login page. To do that, perform the following steps:","sidebar":"defaultSidebar"},"user-role-guides/index":{"id":"user-role-guides/index","title":"User role guides","description":"Here are the links to User Guide sections divided by ReportPortal User roles.","sidebar":"defaultSidebar"},"work-with-reports/FilteringLaunches":{"id":"work-with-reports/FilteringLaunches","title":"Filtering launches","description":"The data tables for the \\"Launches\\" and the \\"Debug\\" modes can be filtered with","sidebar":"defaultSidebar"},"work-with-reports/HistoryOfLaunches":{"id":"work-with-reports/HistoryOfLaunches","title":"History of launches","description":"Historical trend of executions","sidebar":"defaultSidebar"},"work-with-reports/InvestigationOfFailure":{"id":"work-with-reports/InvestigationOfFailure","title":"Investigation of failure","description":"Set defect type","sidebar":"defaultSidebar"},"work-with-reports/OperationsUnderLaunches":{"id":"work-with-reports/OperationsUnderLaunches","title":"Operations under launches","description":"There are several ways of how launches could be modified and managed in our test automation reporting dashboard.","sidebar":"defaultSidebar"},"work-with-reports/TestCaseId":{"id":"work-with-reports/TestCaseId","title":"Test case ID","description":"What is it: Test case ID","sidebar":"defaultSidebar"},"work-with-reports/UniqueId":{"id":"work-with-reports/UniqueId","title":"Unique ID","description":"(deprecated/ will be replaced by Test Case ID gradually)","sidebar":"defaultSidebar"},"work-with-reports/ViewLaunches":{"id":"work-with-reports/ViewLaunches","title":"View launches","description":"Viewing information about all launches","sidebar":"defaultSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.fb8aff30.js b/assets/js/935f2afb.fb8aff30.js deleted file mode 100644 index 58411ff56..000000000 --- a/assets/js/935f2afb.fb8aff30.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"defaultSidebar":[{"type":"link","label":"What is ReportPortal?","href":"/docs/","docId":"intro"},{"type":"category","label":"Features","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Unified test reporting","href":"/docs/features/UnifiedTestReporting","docId":"features/UnifiedTestReporting"},{"type":"link","label":"Categorisation of failures","href":"/docs/features/CategorisationOfFailures","docId":"features/CategorisationOfFailures"},{"type":"link","label":"AI failure reason detection","href":"/docs/features/AIFailureReasonDetection","docId":"features/AIFailureReasonDetection"},{"type":"link","label":"Rich artifacts in test reports","href":"/docs/features/RichArtifactsInTestReports","docId":"features/RichArtifactsInTestReports"},{"type":"link","label":"Real-time reporting","href":"/docs/features/RealTimeReporting","docId":"features/RealTimeReporting"},{"type":"link","label":"Visualisation of test results","href":"/docs/features/VisualisationOfTestResults","docId":"features/VisualisationOfTestResults"},{"type":"link","label":"Quality Gates","href":"/docs/features/QualityGates","docId":"features/QualityGates"},{"type":"link","label":"REST API","href":"/docs/features/RESTAPI","docId":"features/RESTAPI"}],"href":"/docs/category/features"},{"type":"link","label":"ReportPortal Tutorial","href":"/docs/reportportal-tutorial/","docId":"reportportal-tutorial/index"},{"type":"category","label":"Installation Steps","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Optimal Performance Hardware setup","href":"/docs/installation-steps/OptimalPerformanceHardwareSetup","docId":"installation-steps/OptimalPerformanceHardwareSetup"},{"type":"link","label":"Basic monitoring configuration","href":"/docs/installation-steps/BasicMonitoringConfiguration","docId":"installation-steps/BasicMonitoringConfiguration"},{"type":"link","label":"Deploy with Docker on Linux/Mac","href":"/docs/installation-steps/DeployWithDockerOnLinuxMac","docId":"installation-steps/DeployWithDockerOnLinuxMac"},{"type":"link","label":"Deploy with Docker on Windows","href":"/docs/installation-steps/DeployWithDockerOnWindows","docId":"installation-steps/DeployWithDockerOnWindows"},{"type":"link","label":"Deploy without Docker","href":"/docs/installation-steps/DeployWithoutDocker","docId":"installation-steps/DeployWithoutDocker"},{"type":"link","label":"Deploy with Kubernetes","href":"/docs/installation-steps/DeployWithKubernetes","docId":"installation-steps/DeployWithKubernetes"},{"type":"link","label":"Maintain commands Cheat sheet","href":"/docs/installation-steps/MaintainCommandsCheatSheet","docId":"installation-steps/MaintainCommandsCheatSheet"},{"type":"link","label":"Additional configuration parameters","href":"/docs/installation-steps/AdditionalConfigurationParameters","docId":"installation-steps/AdditionalConfigurationParameters"},{"type":"link","label":"Setup TLS(SSL) in Traefik 2.0.x","href":"/docs/installation-steps/SetupTSLSSLInTraefik2.0.x","docId":"installation-steps/SetupTSLSSLInTraefik2.0.x"},{"type":"link","label":"Deploy on Ubuntu OS","href":"/docs/installation-steps/DeployOnUbuntuOS","docId":"installation-steps/DeployOnUbuntuOS"},{"type":"link","label":"Deploy with AWS ECS Fargate","href":"/docs/installation-steps/DeployWithAWSECSFargate","docId":"installation-steps/DeployWithAWSECSFargate"},{"type":"link","label":"ReportPortal 23.1 File storage options","href":"/docs/installation-steps/ReportPortal23.1FileStorageOptions","docId":"installation-steps/ReportPortal23.1FileStorageOptions"}],"href":"/docs/category/installation-steps"},{"type":"category","label":"Releases","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Version v.23.1","href":"/docs/releases/Versionv23.1","docId":"releases/Versionv23.1"},{"type":"link","label":"Version 5.7.4","href":"/docs/releases/Version5.7.4","docId":"releases/Version5.7.4"},{"type":"link","label":"Version 5.7.3","href":"/docs/releases/Version5.7.3","docId":"releases/Version5.7.3"},{"type":"link","label":"Version 5.7.2","href":"/docs/releases/Version5.7.2","docId":"releases/Version5.7.2"},{"type":"link","label":"Version 5.7.1","href":"/docs/releases/Version5.7.1","docId":"releases/Version5.7.1"},{"type":"link","label":"Version 5.7.0","href":"/docs/releases/Version5.7.0","docId":"releases/Version5.7.0"},{"type":"link","label":"Version 5.6.3","href":"/docs/releases/Version5.6.3","docId":"releases/Version5.6.3"},{"type":"link","label":"Version 5.6.2","href":"/docs/releases/Version5.6.2","docId":"releases/Version5.6.2"},{"type":"link","label":"Version 5.6.1","href":"/docs/releases/Version5.6.1","docId":"releases/Version5.6.1"},{"type":"link","label":"Version 5.6.0","href":"/docs/releases/Version5.6.0","docId":"releases/Version5.6.0"},{"type":"link","label":"Version 5.5.0","href":"/docs/releases/Version5.5.0","docId":"releases/Version5.5.0"},{"type":"link","label":"Version 5.4.0","href":"/docs/releases/Version5.4.0","docId":"releases/Version5.4.0"},{"type":"link","label":"Version 5.3.5","href":"/docs/releases/Version5.3.5","docId":"releases/Version5.3.5"},{"type":"link","label":"Version 5.3.3","href":"/docs/releases/Version5.3.3","docId":"releases/Version5.3.3"},{"type":"link","label":"Version 5.3.2","href":"/docs/releases/Version5.3.2","docId":"releases/Version5.3.2"},{"type":"link","label":"Version 5.3.1","href":"/docs/releases/Version5.3.1.","docId":"releases/Version5.3.1."},{"type":"link","label":"Version 5.3.0","href":"/docs/releases/Version5.3.0","docId":"releases/Version5.3.0"},{"type":"link","label":"Version 5.2.3","href":"/docs/releases/Version5.2.3","docId":"releases/Version5.2.3"},{"type":"link","label":"Version 5.2.2","href":"/docs/releases/Version5.2.2","docId":"releases/Version5.2.2"},{"type":"link","label":"Version 5.2.1","href":"/docs/releases/Version5.2.1","docId":"releases/Version5.2.1"},{"type":"link","label":"Version 5.2.0","href":"/docs/releases/Version5.2.0","docId":"releases/Version5.2.0"},{"type":"link","label":"Version 5.1.0","href":"/docs/releases/Version5.1.0","docId":"releases/Version5.1.0"},{"type":"link","label":"Version 5.0.0","href":"/docs/releases/Version5.0.0","docId":"releases/Version5.0.0"},{"type":"link","label":"Version 5.0RC","href":"/docs/releases/Version5.0RC","docId":"releases/Version5.0RC"},{"type":"link","label":"Version 4.3","href":"/docs/releases/Version4.3","docId":"releases/Version4.3"},{"type":"link","label":"Version 4.2.0","href":"/docs/releases/Version4.2.0","docId":"releases/Version4.2.0"},{"type":"link","label":"Version 4.1.0","href":"/docs/releases/Version4.1.0","docId":"releases/Version4.1.0"},{"type":"link","label":"Version 4.0.0","href":"/docs/releases/Version4.0.0","docId":"releases/Version4.0.0"},{"type":"link","label":"Version 3.3.2-1","href":"/docs/releases/Version3.3.2-1","docId":"releases/Version3.3.2-1"},{"type":"link","label":"Version 3.3.2","href":"/docs/releases/Version3.3.2","docId":"releases/Version3.3.2"}],"href":"/docs/category/releases"},{"type":"category","label":"ReportPortal Configuration","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Components Overview","href":"/docs/reportportal-configuration/ComponentsOverview","docId":"reportportal-configuration/ComponentsOverview"},{"type":"link","label":"Creation of project and adding users","href":"/docs/reportportal-configuration/CreationOfProjectAndAddingUsers","docId":"reportportal-configuration/CreationOfProjectAndAddingUsers"},{"type":"link","label":"Project configuration","href":"/docs/reportportal-configuration/ProjectConfiguration","docId":"reportportal-configuration/ProjectConfiguration"},{"type":"link","label":"ReportPortal jobs configuration","href":"/docs/reportportal-configuration/ReportPortalJobsConfiguration","docId":"reportportal-configuration/ReportPortalJobsConfiguration"},{"type":"link","label":"Integration via plugin","href":"/docs/reportportal-configuration/IntegrationViaPlugin","docId":"reportportal-configuration/IntegrationViaPlugin"},{"type":"link","label":"How to get an access token in ReportPortal","href":"/docs/reportportal-configuration/HowToGetAnAccessTokenInReportPortal","docId":"reportportal-configuration/HowToGetAnAccessTokenInReportPortal"},{"type":"category","label":"Authorization","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Active Directory","href":"/docs/reportportal-configuration/authorization/ActiveDirectory","docId":"reportportal-configuration/authorization/ActiveDirectory"},{"type":"link","label":"GitHub","href":"/docs/reportportal-configuration/authorization/GitHub","docId":"reportportal-configuration/authorization/GitHub"},{"type":"link","label":"LDAP","href":"/docs/reportportal-configuration/authorization/LDAP","docId":"reportportal-configuration/authorization/LDAP"},{"type":"category","label":"SAML Provider","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Azure SAML","href":"/docs/reportportal-configuration/authorization/SAMLProvider/AzureSAML","docId":"reportportal-configuration/authorization/SAMLProvider/AzureSAML"},{"type":"link","label":"Okta SAML","href":"/docs/reportportal-configuration/authorization/SAMLProvider/OktaSAML","docId":"reportportal-configuration/authorization/SAMLProvider/OktaSAML"}],"href":"/docs/reportportal-configuration/authorization/SAMLProvider/"}],"href":"/docs/reportportal-configuration/authorization/"}],"href":"/docs/category/reportportal-configuration"},{"type":"category","label":"User account","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Edit personal information","href":"/docs/user-account/EditPersonalInformation","docId":"user-account/EditPersonalInformation"},{"type":"link","label":"Restore a password","href":"/docs/user-account/RestoreAPassword","docId":"user-account/RestoreAPassword"}],"href":"/docs/category/user-account"},{"type":"category","label":"Log data in ReportPortal","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Implement own integration","href":"/docs/log-data-in-reportportal/ImplementOwnIntegration","docId":"log-data-in-reportportal/ImplementOwnIntegration"},{"type":"link","label":"Reporting SDK","href":"/docs/log-data-in-reportportal/ReportingSDK","docId":"log-data-in-reportportal/ReportingSDK"},{"type":"link","label":"Import data to ReportPortal","href":"/docs/log-data-in-reportportal/ImportDataToReportPortal","docId":"log-data-in-reportportal/ImportDataToReportPortal"},{"type":"link","label":"How to run your tests","href":"/docs/log-data-in-reportportal/HowToRunYourTests","docId":"log-data-in-reportportal/HowToRunYourTests"},{"type":"category","label":"Test Framework Integration","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Java","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"JUnit5","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/JUnit5","docId":"log-data-in-reportportal/test-framework-integration/Java/JUnit5"},{"type":"link","label":"JUnit4","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/JUnit4","docId":"log-data-in-reportportal/test-framework-integration/Java/JUnit4"},{"type":"link","label":"TestNG","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/TestNG","docId":"log-data-in-reportportal/test-framework-integration/Java/TestNG"},{"type":"link","label":"Cucumber","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/Cucumber","docId":"log-data-in-reportportal/test-framework-integration/Java/Cucumber"},{"type":"link","label":"JBehave","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/JBehave","docId":"log-data-in-reportportal/test-framework-integration/Java/JBehave"},{"type":"link","label":"Spock","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/Spock","docId":"log-data-in-reportportal/test-framework-integration/Java/Spock"},{"type":"link","label":"SoapUI (outdated)","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/SoapUI","docId":"log-data-in-reportportal/test-framework-integration/Java/SoapUI"},{"type":"category","label":"Loggers","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Logback","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/Logback","docId":"log-data-in-reportportal/test-framework-integration/Java/Loggers/Logback"},{"type":"link","label":"Log4J","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/Log4J","docId":"log-data-in-reportportal/test-framework-integration/Java/Loggers/Log4J"},{"type":"link","label":"Rest Assured","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/RestAssured","docId":"log-data-in-reportportal/test-framework-integration/Java/Loggers/RestAssured"},{"type":"link","label":"Selenide","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/Selenide","docId":"log-data-in-reportportal/test-framework-integration/Java/Loggers/Selenide"},{"type":"link","label":"OkHttp3","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/OkHttp3","docId":"log-data-in-reportportal/test-framework-integration/Java/Loggers/OkHttp3"},{"type":"link","label":"Apache HttpComponents","href":"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/ApacheHttpComponents","docId":"log-data-in-reportportal/test-framework-integration/Java/Loggers/ApacheHttpComponents"}],"href":"/docs/category/loggers"}],"href":"/docs/log-data-in-reportportal/test-framework-integration/Java/"},{"type":"category","label":"JavaScript","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Playwright","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Playwright","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/Playwright"},{"type":"link","label":"CucumberJS","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/CucumberJS","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/CucumberJS"},{"type":"link","label":"Codecept","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Codecept","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/Codecept"},{"type":"link","label":"WebdriverIO","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/WebdriverIO","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/WebdriverIO"},{"type":"link","label":"Postman","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Postman","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/Postman"},{"type":"link","label":"Cypress","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Cypress","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/Cypress"},{"type":"link","label":"Mocha","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Mocha","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/Mocha"},{"type":"link","label":"Jest","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Jest","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/Jest"},{"type":"link","label":"TestCafe","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/TestCafe","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/TestCafe"},{"type":"link","label":"Jasmine","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Jasmine","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/Jasmine"},{"type":"link","label":"Nightwatch","href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Nightwatch","docId":"log-data-in-reportportal/test-framework-integration/JavaScript/Nightwatch"}],"href":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/"},{"type":"category","label":".Net","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"NUnit","href":"/docs/log-data-in-reportportal/test-framework-integration/Net/NUnit","docId":"log-data-in-reportportal/test-framework-integration/Net/NUnit"},{"type":"link","label":"VSTest","href":"/docs/log-data-in-reportportal/test-framework-integration/Net/VSTest","docId":"log-data-in-reportportal/test-framework-integration/Net/VSTest"},{"type":"link","label":"SpecFlow","href":"/docs/log-data-in-reportportal/test-framework-integration/Net/SpecFlow","docId":"log-data-in-reportportal/test-framework-integration/Net/SpecFlow"},{"type":"link","label":"xUnit","href":"/docs/log-data-in-reportportal/test-framework-integration/Net/xUnit","docId":"log-data-in-reportportal/test-framework-integration/Net/xUnit"},{"type":"category","label":"Loggers","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Serilog","href":"/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/Serilog","docId":"log-data-in-reportportal/test-framework-integration/Net/Loggers/Serilog"},{"type":"link","label":"Log4Net","href":"/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/Log4Net","docId":"log-data-in-reportportal/test-framework-integration/Net/Loggers/Log4Net"},{"type":"link","label":"NLog","href":"/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/NLog","docId":"log-data-in-reportportal/test-framework-integration/Net/Loggers/NLog"},{"type":"link","label":"TraceListener","href":"/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/TraceListener","docId":"log-data-in-reportportal/test-framework-integration/Net/Loggers/TraceListener"}],"href":"/docs/category/loggers-1"}],"href":"/docs/log-data-in-reportportal/test-framework-integration/Net/"},{"type":"category","label":"Python","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"pytest","href":"/docs/log-data-in-reportportal/test-framework-integration/Python/pytest","docId":"log-data-in-reportportal/test-framework-integration/Python/pytest"},{"type":"link","label":"Robot Framework","href":"/docs/log-data-in-reportportal/test-framework-integration/Python/RobotFramework","docId":"log-data-in-reportportal/test-framework-integration/Python/RobotFramework"},{"type":"link","label":"behave","href":"/docs/log-data-in-reportportal/test-framework-integration/Python/behave","docId":"log-data-in-reportportal/test-framework-integration/Python/behave"},{"type":"link","label":"nosetests","href":"/docs/log-data-in-reportportal/test-framework-integration/Python/nosetests","docId":"log-data-in-reportportal/test-framework-integration/Python/nosetests"}],"href":"/docs/log-data-in-reportportal/test-framework-integration/Python/"},{"type":"category","label":"PHP","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"PHPUnit","href":"/docs/log-data-in-reportportal/test-framework-integration/PHP/PHPUnit","docId":"log-data-in-reportportal/test-framework-integration/PHP/PHPUnit"},{"type":"link","label":"Behat","href":"/docs/log-data-in-reportportal/test-framework-integration/PHP/Behat","docId":"log-data-in-reportportal/test-framework-integration/PHP/Behat"},{"type":"link","label":"Codeception","href":"/docs/log-data-in-reportportal/test-framework-integration/PHP/Codeception","docId":"log-data-in-reportportal/test-framework-integration/PHP/Codeception"}],"href":"/docs/log-data-in-reportportal/test-framework-integration/PHP/"},{"type":"link","label":"Other","href":"/docs/log-data-in-reportportal/test-framework-integration/Other/","docId":"log-data-in-reportportal/test-framework-integration/Other/index"}],"href":"/docs/log-data-in-reportportal/test-framework-integration/"}],"href":"/docs/category/log-data-in-reportportal"},{"type":"category","label":"Developers guides","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"API differences between v4 and v5","href":"/docs/dev-guides/APIDifferencesBetweenV4AndV5","docId":"dev-guides/APIDifferencesBetweenV4AndV5"},{"type":"link","label":"Asynchronous reporting","href":"/docs/dev-guides/AsynchronousReporting","docId":"dev-guides/AsynchronousReporting"},{"type":"link","label":"Attachments (Screenshots) Guide","href":"/docs/dev-guides/AttachmentsGuide","docId":"dev-guides/AttachmentsGuide"},{"type":"link","label":"Back-end Java contribution guide","href":"/docs/dev-guides/BackEndJavaContributionGuide","docId":"dev-guides/BackEndJavaContributionGuide"},{"type":"link","label":"Interactions between API and Analyzer","href":"/docs/dev-guides/InteractionsBetweenAPIAndAnalyzer","docId":"dev-guides/InteractionsBetweenAPIAndAnalyzer"},{"type":"link","label":"Plugin developers guide","href":"/docs/dev-guides/PluginDevelopersGuide","docId":"dev-guides/PluginDevelopersGuide"},{"type":"link","label":"ReportPortal API","href":"/docs/dev-guides/ReportPortalAPI","docId":"dev-guides/ReportPortalAPI"},{"type":"link","label":"Reporting developers guide","href":"/docs/dev-guides/ReportingDevelopersGuide","docId":"dev-guides/ReportingDevelopersGuide"},{"type":"link","label":"Rerun developers guide","href":"/docs/dev-guides/RerunDevelopersGuide","docId":"dev-guides/RerunDevelopersGuide"},{"type":"link","label":"Retries reporting","href":"/docs/dev-guides/RetriesReporting","docId":"dev-guides/RetriesReporting"}],"href":"/docs/category/developers-guides"},{"type":"category","label":"Work with reports","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"View launches","href":"/docs/work-with-reports/ViewLaunches","docId":"work-with-reports/ViewLaunches"},{"type":"link","label":"Operations under launches","href":"/docs/work-with-reports/OperationsUnderLaunches","docId":"work-with-reports/OperationsUnderLaunches"},{"type":"link","label":"Filtering launches","href":"/docs/work-with-reports/FilteringLaunches","docId":"work-with-reports/FilteringLaunches"},{"type":"link","label":"Investigation of failure","href":"/docs/work-with-reports/InvestigationOfFailure","docId":"work-with-reports/InvestigationOfFailure"},{"type":"link","label":"History of launches","href":"/docs/work-with-reports/HistoryOfLaunches","docId":"work-with-reports/HistoryOfLaunches"},{"type":"link","label":"Test case ID","href":"/docs/work-with-reports/TestCaseId","docId":"work-with-reports/TestCaseId"},{"type":"link","label":"Unique ID","href":"/docs/work-with-reports/UniqueId","docId":"work-with-reports/UniqueId"}],"href":"/docs/category/work-with-reports"},{"type":"category","label":"Analysis","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Auto-Analysis of launches","href":"/docs/analysis/AutoAnalysisOfLaunches","docId":"analysis/AutoAnalysisOfLaunches"},{"type":"link","label":"Search for the similar \\"To investigate\\" items","href":"/docs/analysis/SearchForTheSimilarToInvestigateItems","docId":"analysis/SearchForTheSimilarToInvestigateItems"},{"type":"link","label":"ML Suggestions","href":"/docs/analysis/MLSuggestions","docId":"analysis/MLSuggestions"},{"type":"link","label":"How models are retrained","href":"/docs/analysis/HowModelsAreRetrained","docId":"analysis/HowModelsAreRetrained"},{"type":"link","label":"Manual Analysis","href":"/docs/analysis/ManualAnalysis","docId":"analysis/ManualAnalysis"},{"type":"link","label":"Pattern Analysis","href":"/docs/analysis/PatternAnalysis","docId":"analysis/PatternAnalysis"},{"type":"link","label":"Unique Error Analysis","href":"/docs/analysis/UniqueErrorAnalysis","docId":"analysis/UniqueErrorAnalysis"}],"href":"/docs/category/analysis"},{"type":"category","label":"Saved searches (filters)","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Create filters","href":"/docs/saved-searches-filters/CreateFilters","docId":"saved-searches-filters/CreateFilters"},{"type":"link","label":"Manage filters","href":"/docs/saved-searches-filters/ManageFilters","docId":"saved-searches-filters/ManageFilters"},{"type":"link","label":"Filters page","href":"/docs/saved-searches-filters/FiltersPage","docId":"saved-searches-filters/FiltersPage"}],"href":"/docs/category/saved-searches-filters"},{"type":"category","label":"Dashboards and widgets","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Possible Dashboards in ReportPortal","href":"/docs/dashboards-and-widgets/PossibleDashboardsInReportPortal","docId":"dashboards-and-widgets/PossibleDashboardsInReportPortal"},{"type":"link","label":"Work with dashboards","href":"/docs/dashboards-and-widgets/WorkWithDashboards","docId":"dashboards-and-widgets/WorkWithDashboards"},{"type":"link","label":"Widget Creation","href":"/docs/dashboards-and-widgets/WidgetCreation","docId":"dashboards-and-widgets/WidgetCreation"},{"type":"link","label":"Manage Widgets","href":"/docs/dashboards-and-widgets/ManageWidgets","docId":"dashboards-and-widgets/ManageWidgets"},{"type":"link","label":"Launch statistics chart","href":"/docs/dashboards-and-widgets/LaunchStatisticsChart","docId":"dashboards-and-widgets/LaunchStatisticsChart"},{"type":"link","label":"Overall statistics","href":"/docs/dashboards-and-widgets/OverallStatistics","docId":"dashboards-and-widgets/OverallStatistics"},{"type":"link","label":"Launches duration chart","href":"/docs/dashboards-and-widgets/LaunchesDurationChart","docId":"dashboards-and-widgets/LaunchesDurationChart"},{"type":"link","label":"Launch execution and issue statistic","href":"/docs/dashboards-and-widgets/LaunchExecutionAndIssueStatistic","docId":"dashboards-and-widgets/LaunchExecutionAndIssueStatistic"},{"type":"link","label":"Project activity panel","href":"/docs/dashboards-and-widgets/ProjectActivityPanel","docId":"dashboards-and-widgets/ProjectActivityPanel"},{"type":"link","label":"Test-cases growth trend chart","href":"/docs/dashboards-and-widgets/TestCasesGrowthTrendChart","docId":"dashboards-and-widgets/TestCasesGrowthTrendChart"},{"type":"link","label":"Investigated percentage of launches","href":"/docs/dashboards-and-widgets/InvestigatedPercentageOfLaunches","docId":"dashboards-and-widgets/InvestigatedPercentageOfLaunches"},{"type":"link","label":"Launches table","href":"/docs/dashboards-and-widgets/LaunchesTable","docId":"dashboards-and-widgets/LaunchesTable"},{"type":"link","label":"Unique bugs table","href":"/docs/dashboards-and-widgets/UniqueBugsTable","docId":"dashboards-and-widgets/UniqueBugsTable"},{"type":"link","label":"Most failed test-cases table (TOP-20)","href":"/docs/dashboards-and-widgets/MostFailedTestCasesTableTop20","docId":"dashboards-and-widgets/MostFailedTestCasesTableTop20"},{"type":"link","label":"Failed cases trend chart","href":"/docs/dashboards-and-widgets/FailedCasesTrendChart","docId":"dashboards-and-widgets/FailedCasesTrendChart"},{"type":"link","label":"Non-passed test-cases trend chart","href":"/docs/dashboards-and-widgets/NonPassedTestCasesTrendChart","docId":"dashboards-and-widgets/NonPassedTestCasesTrendChart"},{"type":"link","label":"Different launches comparison chart","href":"/docs/dashboards-and-widgets/DifferentLaunchesComparisonChart","docId":"dashboards-and-widgets/DifferentLaunchesComparisonChart"},{"type":"link","label":"Passing rate per launch","href":"/docs/dashboards-and-widgets/PassingRatePerLaunch","docId":"dashboards-and-widgets/PassingRatePerLaunch"},{"type":"link","label":"Passing rate summary","href":"/docs/dashboards-and-widgets/PassingRateSummary","docId":"dashboards-and-widgets/PassingRateSummary"},{"type":"link","label":"Flaky test cases table (TOP-20)","href":"/docs/dashboards-and-widgets/FlakyTestCasesTableTop20","docId":"dashboards-and-widgets/FlakyTestCasesTableTop20"},{"type":"link","label":"Cumulative trend chart","href":"/docs/dashboards-and-widgets/CumulativeTrendChart","docId":"dashboards-and-widgets/CumulativeTrendChart"},{"type":"link","label":"Most popular pattern table (TOP-20)","href":"/docs/dashboards-and-widgets/MostPopularPatternTableTop20","docId":"dashboards-and-widgets/MostPopularPatternTableTop20"},{"type":"link","label":"Component health check","href":"/docs/dashboards-and-widgets/ComponentHealthCheck","docId":"dashboards-and-widgets/ComponentHealthCheck"},{"type":"link","label":"Table Component health check","href":"/docs/dashboards-and-widgets/TableComponentHealthCheck","docId":"dashboards-and-widgets/TableComponentHealthCheck"},{"type":"link","label":"Most time-consuming test cases widget (TOP-20)","href":"/docs/dashboards-and-widgets/MostTimeConsumingTestCasesWidgetTop20","docId":"dashboards-and-widgets/MostTimeConsumingTestCasesWidgetTop20"}],"href":"/docs/category/dashboards-and-widgets"},{"type":"category","label":"Admin Panel","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"All Projects page","href":"/docs/admin-panel/AllProjectsPage","docId":"admin-panel/AllProjectsPage"},{"type":"link","label":"All Users page","href":"/docs/admin-panel/AllUsersPage","docId":"admin-panel/AllUsersPage"}],"href":"/docs/category/admin-panel"},{"type":"category","label":"Plugins","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Manage plugins","href":"/docs/plugins/ManagePlugins","docId":"plugins/ManagePlugins"},{"type":"link","label":"Atlassian Jira Server","href":"/docs/plugins/AtlassianJiraServer","docId":"plugins/AtlassianJiraServer"},{"type":"link","label":"Atlassian Jira Cloud","href":"/docs/plugins/AtlassianJiraCloud","docId":"plugins/AtlassianJiraCloud"},{"type":"link","label":"Azure DevOps BTS","href":"/docs/plugins/AzureDevOpsBTS","docId":"plugins/AzureDevOpsBTS"},{"type":"link","label":"Rally","href":"/docs/plugins/Rally","docId":"plugins/Rally"},{"type":"link","label":"E-mail server","href":"/docs/plugins/EmailServer","docId":"plugins/EmailServer"},{"type":"link","label":"Sauce Labs","href":"/docs/plugins/SauceLabs","docId":"plugins/SauceLabs"}],"href":"/docs/category/plugins"},{"type":"category","label":"Quality Gates","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Quality Gate Purpose","href":"/docs/quality-gates/QualityGatePurpose","docId":"quality-gates/QualityGatePurpose"},{"type":"link","label":"How to install Quality Gates","href":"/docs/quality-gates/HowToInstallQualityGates","docId":"quality-gates/HowToInstallQualityGates"},{"type":"link","label":"Feature overview","href":"/docs/quality-gates/FeatureOverview","docId":"quality-gates/FeatureOverview"},{"type":"link","label":"Upload Quality Gate to ReportPortal","href":"/docs/quality-gates/UploadQualityGateToReportPortal","docId":"quality-gates/UploadQualityGateToReportPortal"},{"type":"link","label":"Quality Rules Configuration","href":"/docs/quality-gates/QualityRulesConfiguration","docId":"quality-gates/QualityRulesConfiguration"},{"type":"link","label":"Quality Gate Edit","href":"/docs/quality-gates/QualityGateEdit","docId":"quality-gates/QualityGateEdit"},{"type":"link","label":"Delete Quality Gates","href":"/docs/quality-gates/DeleteQualityGates","docId":"quality-gates/DeleteQualityGates"},{"type":"link","label":"Assessment of test results using Quality Gates","href":"/docs/quality-gates/AssessmentOfTestResultsUsingQualityGates","docId":"quality-gates/AssessmentOfTestResultsUsingQualityGates"},{"type":"category","label":"Integration with CI/CD","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Integration with GitLab CI","href":"/docs/quality-gates/IntegrationWithCICD/IntegrationWithGitLabCI","docId":"quality-gates/IntegrationWithCICD/IntegrationWithGitLabCI"},{"type":"link","label":"Integration with Jenkins","href":"/docs/quality-gates/IntegrationWithCICD/IntegrationWithJenkins","docId":"quality-gates/IntegrationWithCICD/IntegrationWithJenkins"}],"href":"/docs/quality-gates/IntegrationWithCICD/"}],"href":"/docs/category/quality-gates"},{"type":"link","label":"User role guides","href":"/docs/user-role-guides/","docId":"user-role-guides/index"},{"type":"category","label":"Issues Troubleshooting","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Tuning CI tool","href":"/docs/issues-troubleshooting/TuningCITool","docId":"issues-troubleshooting/TuningCITool"},{"type":"link","label":"Issues with JIRA bug tracking system: how to resolve","href":"/docs/issues-troubleshooting/IssuesWithJIRABugTrackingSystemHowToResolve","docId":"issues-troubleshooting/IssuesWithJIRABugTrackingSystemHowToResolve"},{"type":"link","label":"How to avoid local execution reported into project space","href":"/docs/issues-troubleshooting/HowToAvoidLocalExecutionReportedIntoProjectSpace","docId":"issues-troubleshooting/HowToAvoidLocalExecutionReportedIntoProjectSpace"},{"type":"link","label":"How to add a test stack trace to a description automatically","href":"/docs/issues-troubleshooting/HowToAddATestStackTraceToADescriptionAutomatically","docId":"issues-troubleshooting/HowToAddATestStackTraceToADescriptionAutomatically"},{"type":"link","label":"Issues with LDAPS: how to resolve","href":"/docs/issues-troubleshooting/IssuesWithLDAPSHowToResolve","docId":"issues-troubleshooting/IssuesWithLDAPSHowToResolve"},{"type":"link","label":"Resolve Analyzer Known Issues","href":"/docs/issues-troubleshooting/ResolveAnalyzerKnownIssues","docId":"issues-troubleshooting/ResolveAnalyzerKnownIssues"},{"type":"link","label":"How to check LDAP connection","href":"/docs/issues-troubleshooting/HowToCheckLDAPConnection","docId":"issues-troubleshooting/HowToCheckLDAPConnection"},{"type":"link","label":"How to clean up the ReportPortal database using PG_REPACK","href":"/docs/issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingPGRepack","docId":"issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingPGRepack"},{"type":"link","label":"How to clean up the ReportPortal database using VACUUM FULL","href":"/docs/issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingVacuumFull","docId":"issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingVacuumFull"},{"type":"link","label":"How to resolve issues with migration to the new version","href":"/docs/issues-troubleshooting/HowToResolveIssuesWithMigrationToTheNewVersion","docId":"issues-troubleshooting/HowToResolveIssuesWithMigrationToTheNewVersion"}],"href":"/docs/category/issues-troubleshooting"},{"type":"category","label":"Case Studies","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Reducing regression time by 50%","href":"/docs/case-studies/ReducingRegressionTimeBy50","docId":"case-studies/ReducingRegressionTimeBy50"},{"type":"link","label":"Increasing test automation stability and visibility","href":"/docs/case-studies/IncreasingTestAutomationStabilityAndVisibility","docId":"case-studies/IncreasingTestAutomationStabilityAndVisibility"},{"type":"link","label":"Reducing regression analysis efforts","href":"/docs/case-studies/ReducingRegressionAnalysisEfforts","docId":"case-studies/ReducingRegressionAnalysisEfforts"},{"type":"link","label":"Improving test automation stability","href":"/docs/case-studies/ImprovingTestAutomationStability","docId":"case-studies/ImprovingTestAutomationStability"}],"href":"/docs/category/case-studies"},{"type":"link","label":"ReportPortal Glossary","href":"/docs/reportportal-glossary/","docId":"reportportal-glossary/index"},{"type":"link","label":"FAQ","href":"/docs/FAQ/","docId":"FAQ/index"},{"type":"category","label":"Terms & conditions","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Premium Features","href":"/docs/terms-and-conditions/PremiumFeatures","docId":"terms-and-conditions/PremiumFeatures"},{"type":"link","label":"Google Analytics usage by ReportPortal","href":"/docs/terms-and-conditions/GoogleAnalyticsUsageByReportPortal","docId":"terms-and-conditions/GoogleAnalyticsUsageByReportPortal"}],"href":"/docs/category/terms--conditions"}]},"docs":{"admin-panel/AllProjectsPage":{"id":"admin-panel/AllProjectsPage","title":"All Projects page","description":"Users with the Administrator role have access to the ReportPortal \\"Administrate\\" section.","sidebar":"defaultSidebar"},"admin-panel/AllUsersPage":{"id":"admin-panel/AllUsersPage","title":"All Users page","description":"The \\"All Users\\" page in \\"Administrate\\" section provides the access to see all available users in the our Testops system.","sidebar":"defaultSidebar"},"analysis/AutoAnalysisOfLaunches":{"id":"analysis/AutoAnalysisOfLaunches","title":"Auto-Analysis of launches","description":"The analysis feature of the ReportPortal makes it possible for the application to check and pass part of the routine duties by itself.","sidebar":"defaultSidebar"},"analysis/HowModelsAreRetrained":{"id":"analysis/HowModelsAreRetrained","title":"How models are retrained","description":"In the Auto-analysis and ML suggestions processes several models take part:","sidebar":"defaultSidebar"},"analysis/ManualAnalysis":{"id":"analysis/ManualAnalysis","title":"Manual Analysis","description":"Manual Analysis is presented on our test report dashboard by \u201cMake decision\u201d modal.","sidebar":"defaultSidebar"},"analysis/MLSuggestions":{"id":"analysis/MLSuggestions","title":"ML Suggestions","description":"ML suggestions functionality is based on previously analyzed results (either manually or via Auto-analysis feature) using Machine Learning. The functionality is provided by the Analyzer service in combination with ElasticSearch.","sidebar":"defaultSidebar"},"analysis/PatternAnalysis":{"id":"analysis/PatternAnalysis","title":"Pattern Analysis","description":"Pattern analysis is a feature that helps you to speed up test failure analysis by finding common patterns in error logs.","sidebar":"defaultSidebar"},"analysis/SearchForTheSimilarToInvestigateItems":{"id":"analysis/SearchForTheSimilarToInvestigateItems","title":"Search for the similar \\"To investigate\\" items","description":"Let\'s consider below an example of ML-driven failure triage in ReportPortal.","sidebar":"defaultSidebar"},"analysis/UniqueErrorAnalysis":{"id":"analysis/UniqueErrorAnalysis","title":"Unique Error Analysis","description":"You can look at the test failure analysis from different points of view: qualitative (passing rate \u2013 How many tests have failed?) and quantitative (Why have they failed?). For example, if 1000 test cases are failed, then","sidebar":"defaultSidebar"},"case-studies/ImprovingTestAutomationStability":{"id":"case-studies/ImprovingTestAutomationStability","title":"Improving test automation stability","description":"Challenges","sidebar":"defaultSidebar"},"case-studies/IncreasingTestAutomationStabilityAndVisibility":{"id":"case-studies/IncreasingTestAutomationStabilityAndVisibility","title":"Increasing test automation stability and visibility","description":"Challenges","sidebar":"defaultSidebar"},"case-studies/ReducingRegressionAnalysisEfforts":{"id":"case-studies/ReducingRegressionAnalysisEfforts","title":"Reducing regression analysis efforts","description":"Challenges","sidebar":"defaultSidebar"},"case-studies/ReducingRegressionTimeBy50":{"id":"case-studies/ReducingRegressionTimeBy50","title":"Reducing regression time by 50%","description":"EPAM helps a Canadian retail company to reverse-engineer their legacy IBM-based store management system to a modern tech stack. As part of this project, ReportPortal was deployed as a centralized test reporting tool.","sidebar":"defaultSidebar"},"dashboards-and-widgets/ComponentHealthCheck":{"id":"dashboards-and-widgets/ComponentHealthCheck","title":"Component health check","description":"Shows the passing rate of the application components which are indicated by the specified attributes.","sidebar":"defaultSidebar"},"dashboards-and-widgets/CumulativeTrendChart":{"id":"dashboards-and-widgets/CumulativeTrendChart","title":"Cumulative trend chart","description":"Shows the growth trend of summary statistics of launches with the same attribute key.","sidebar":"defaultSidebar"},"dashboards-and-widgets/DifferentLaunchesComparisonChart":{"id":"dashboards-and-widgets/DifferentLaunchesComparisonChart","title":"Different launches comparison chart","description":"The widget allows you to compare statistics for the 2 last launches side by side.","sidebar":"defaultSidebar"},"dashboards-and-widgets/FailedCasesTrendChart":{"id":"dashboards-and-widgets/FailedCasesTrendChart","title":"Failed cases trend chart","description":"The widget shows the trend of growth in the number of failed test cases (Product Bugs + Auto Bugs + System Issues + No Defects + To Investigates) from run to run.","sidebar":"defaultSidebar"},"dashboards-and-widgets/FlakyTestCasesTableTop20":{"id":"dashboards-and-widgets/FlakyTestCasesTableTop20","title":"Flaky test cases table (TOP-20)","description":"Shows the TOP-20 the flakiest test cases within the specified previous launches. The widget defines test cases with the highest percentage of switching their status in the execution. So that you can click on the test cases and be redirected to the last test item in execution to check the reasons.","sidebar":"defaultSidebar"},"dashboards-and-widgets/InvestigatedPercentageOfLaunches":{"id":"dashboards-and-widgets/InvestigatedPercentageOfLaunches","title":"Investigated percentage of launches","description":"The widget can be used in two modes - Launch mode and Timeline mode:","sidebar":"defaultSidebar"},"dashboards-and-widgets/LaunchesDurationChart":{"id":"dashboards-and-widgets/LaunchesDurationChart","title":"Launches duration chart","description":"The Launch Duration Chart shows the duration of the selected launches.","sidebar":"defaultSidebar"},"dashboards-and-widgets/LaunchesTable":{"id":"dashboards-and-widgets/LaunchesTable","title":"Launches table","description":"The widget shows a configurable table of launches.","sidebar":"defaultSidebar"},"dashboards-and-widgets/LaunchExecutionAndIssueStatistic":{"id":"dashboards-and-widgets/LaunchExecutionAndIssueStatistic","title":"Launch execution and issue statistic","description":"The Launch Execution and Issue Statistic chart shows the status and issues statistics for the last launch of a specified range.","sidebar":"defaultSidebar"},"dashboards-and-widgets/LaunchStatisticsChart":{"id":"dashboards-and-widgets/LaunchStatisticsChart","title":"Launch statistics chart","description":"The widget can be used in two modes - Launch mode and Timeline mode:","sidebar":"defaultSidebar"},"dashboards-and-widgets/ManageWidgets":{"id":"dashboards-and-widgets/ManageWidgets","title":"Manage Widgets","description":"Customize widget","sidebar":"defaultSidebar"},"dashboards-and-widgets/MostFailedTestCasesTableTop20":{"id":"dashboards-and-widgets/MostFailedTestCasesTableTop20","title":"Most failed test-cases table (TOP-20)","description":"The widget contains a table with statistical information about the TOP-20 most problematic test cases.","sidebar":"defaultSidebar"},"dashboards-and-widgets/MostPopularPatternTableTop20":{"id":"dashboards-and-widgets/MostPopularPatternTableTop20","title":"Most popular pattern table (TOP-20)","description":"Widget\'s parameters:","sidebar":"defaultSidebar"},"dashboards-and-widgets/MostTimeConsumingTestCasesWidgetTop20":{"id":"dashboards-and-widgets/MostTimeConsumingTestCasesWidgetTop20","title":"Most time-consuming test cases widget (TOP-20)","description":"Show the TOP 20 test cases with the highest duration in the last execution of the specified launch.","sidebar":"defaultSidebar"},"dashboards-and-widgets/NonPassedTestCasesTrendChart":{"id":"dashboards-and-widgets/NonPassedTestCasesTrendChart","title":"Non-passed test-cases trend chart","description":"The widget shows the percent ratio of non-passed test cases \\"Failed + Skipped\\" and \\"Total\\" cases from run to run.","sidebar":"defaultSidebar"},"dashboards-and-widgets/OverallStatistics":{"id":"dashboards-and-widgets/OverallStatistics","title":"Overall statistics","description":"The panel shows a summary of test cases with each status for each selected launch.","sidebar":"defaultSidebar"},"dashboards-and-widgets/PassingRatePerLaunch":{"id":"dashboards-and-widgets/PassingRatePerLaunch","title":"Passing rate per launch","description":"Shows the percentage ratio of Passed test cases to Total test cases for the last run of selected launch.","sidebar":"defaultSidebar"},"dashboards-and-widgets/PassingRateSummary":{"id":"dashboards-and-widgets/PassingRateSummary","title":"Passing rate summary","description":"Shows the percentage ratio of Passed test cases to Total test cases for set of launches.","sidebar":"defaultSidebar"},"dashboards-and-widgets/PossibleDashboardsInReportPortal":{"id":"dashboards-and-widgets/PossibleDashboardsInReportPortal","title":"Possible Dashboards in ReportPortal","description":"ReportPortal.io is a powerful test automation reporting dashboard that acquires a lot of analytics. With this manual, we are wanting to help you to configure simple and understandable reports for your teams.","sidebar":"defaultSidebar"},"dashboards-and-widgets/ProjectActivityPanel":{"id":"dashboards-and-widgets/ProjectActivityPanel","title":"Project activity panel","description":"The widget shows all activities occurring on the project.","sidebar":"defaultSidebar"},"dashboards-and-widgets/TableComponentHealthCheck":{"id":"dashboards-and-widgets/TableComponentHealthCheck","title":"Table Component health check","description":"Shows the detailed statistics of the application components which are indicated by the specified attributes.","sidebar":"defaultSidebar"},"dashboards-and-widgets/TestCasesGrowthTrendChart":{"id":"dashboards-and-widgets/TestCasesGrowthTrendChart","title":"Test-cases growth trend chart","description":"The widget can be used in two modes - Launch mode and Timeline mode:","sidebar":"defaultSidebar"},"dashboards-and-widgets/UniqueBugsTable":{"id":"dashboards-and-widgets/UniqueBugsTable","title":"Unique bugs table","description":"The widget shows real identified bugs, posted to the Bug Tracking System from ReportPortal, and existing bugs, that were added to the items on ReportPortal.","sidebar":"defaultSidebar"},"dashboards-and-widgets/WidgetCreation":{"id":"dashboards-and-widgets/WidgetCreation","title":"Widget Creation","description":"In our test automation dashboard widgets contain special graphical control elements that were designed to provide a simple and","sidebar":"defaultSidebar"},"dashboards-and-widgets/WorkWithDashboards":{"id":"dashboards-and-widgets/WorkWithDashboards","title":"Work with dashboards","description":"Dashboards on our continuous testing platform are special containers, where users can create widgets.","sidebar":"defaultSidebar"},"dev-guides/APIDifferencesBetweenV4AndV5":{"id":"dev-guides/APIDifferencesBetweenV4AndV5","title":"API differences between v4 and v5","description":"New endpoints","sidebar":"defaultSidebar"},"dev-guides/AsynchronousReporting":{"id":"dev-guides/AsynchronousReporting","title":"Asynchronous reporting","description":"Overview","sidebar":"defaultSidebar"},"dev-guides/AttachmentsGuide":{"id":"dev-guides/AttachmentsGuide","title":"Attachments (Screenshots) Guide","description":"The Attachments feature allows you to add any file or screenshot to the test case logs. It can be useful for further test failure analysis.","sidebar":"defaultSidebar"},"dev-guides/BackEndJavaContributionGuide":{"id":"dev-guides/BackEndJavaContributionGuide","title":"Back-end Java contribution guide","description":"Useful links","sidebar":"defaultSidebar"},"dev-guides/InteractionsBetweenAPIAndAnalyzer":{"id":"dev-guides/InteractionsBetweenAPIAndAnalyzer","title":"Interactions between API and Analyzer","description":"Overview","sidebar":"defaultSidebar"},"dev-guides/PluginDevelopersGuide":{"id":"dev-guides/PluginDevelopersGuide","title":"Plugin developers guide","description":"Introduction","sidebar":"defaultSidebar"},"dev-guides/ReportingDevelopersGuide":{"id":"dev-guides/ReportingDevelopersGuide","title":"Reporting developers guide","description":"Preconditions","sidebar":"defaultSidebar"},"dev-guides/ReportPortalAPI":{"id":"dev-guides/ReportPortalAPI","title":"ReportPortal API","description":"To find API documentation for our test automation reporting platform, log in to the ReportPortal application and open the API section in the left menu.","sidebar":"defaultSidebar"},"dev-guides/RerunDevelopersGuide":{"id":"dev-guides/RerunDevelopersGuide","title":"Rerun developers guide","description":"What is rerun","sidebar":"defaultSidebar"},"dev-guides/RetriesReporting":{"id":"dev-guides/RetriesReporting","title":"Retries reporting","description":"Some frameworks allow to retry Test execution according to provided conditions (TestNG) or just retry it predefined number of times.","sidebar":"defaultSidebar"},"FAQ/index":{"id":"FAQ/index","title":"FAQ","description":"On this page, we have put together a list of the most frequently asked questions. Here, you can find prompt responses.","sidebar":"defaultSidebar"},"features/AIFailureReasonDetection":{"id":"features/AIFailureReasonDetection","title":"AI-based failure reason detection","description":"In the realm of test automation, failure analysis often becomes a bottleneck, consuming valuable time and resources. ReportPortal introduces a game-changing solution with its AI-powered failure reason detection feature. Employing advanced Machine Learning (ML) algorithms, this feature streamlines your test processes, enabling quicker, more accurate results.","sidebar":"defaultSidebar"},"features/CategorisationOfFailures":{"id":"features/CategorisationOfFailures","title":"Categorization of failures based on issue roots","description":"In the realm of software development and QA, test failure analysis isn\'t just a task\u2014it\'s a critical practice. The way we categorize test failures informs not only the testing process but also how quickly and efficiently developers can resolve issues. ReportPortal provides an advanced, feature-rich environment for streamlined failure categorization, which is an integral part of any agile development cycle.","sidebar":"defaultSidebar"},"features/QualityGates":{"id":"features/QualityGates","title":"Quality Gates","description":"Quality Gates is a feature thanks to which ReportPortal becomes an integral part of continuous testing platform. It prevents the code from moving forward if it doesn\u2019t meet testing criteria. ReportPortal uses aggregated data and rule engine to verify testing results against required conditions.","sidebar":"defaultSidebar"},"features/RealTimeReporting":{"id":"features/RealTimeReporting","title":"Real-time reporting","description":"Real-time test reporting provides the most current data without delay. Thanks to near real-time capabilities, you can receive the first test results in a matter of seconds after the execution has started and benefit from the advantage of getting the entire execution results before it is completed.","sidebar":"defaultSidebar"},"features/RESTAPI":{"id":"features/RESTAPI","title":"REST API","description":"ReportPortal offers a robust set of features through its REST API, covering test data, user data, project data, statistics, integrations, and more.","sidebar":"defaultSidebar"},"features/RichArtifactsInTestReports":{"id":"features/RichArtifactsInTestReports","title":"Rich artifacts in test reports","description":"Test execution report in ReportPortal may contain extra details in addition to the standard test results (passed/failed status).","sidebar":"defaultSidebar"},"features/UnifiedTestReporting":{"id":"features/UnifiedTestReporting","title":"Single-entry point and unified test reporting","description":"ReportPortal was created with the idea in mind to be a single tool to acquire and aggregate the results of all automated tests for projects. Our centralized test automation tool is a great focus area for managers and test engineers because all test results can be accessed, reviewed and analyzed in one place.","sidebar":"defaultSidebar"},"features/VisualisationOfTestResults":{"id":"features/VisualisationOfTestResults","title":"Visualization of test data","description":"ReportPortal\'s dynamic visualization capabilities provide teams with real-time insights, enabling them to make informed decisions quickly and efficiently.","sidebar":"defaultSidebar"},"installation-steps/AdditionalConfigurationParameters":{"id":"installation-steps/AdditionalConfigurationParameters","title":"Additional configuration parameters","description":"| Configuration parameter | Default Value | Service | Description |","sidebar":"defaultSidebar"},"installation-steps/BasicMonitoringConfiguration":{"id":"installation-steps/BasicMonitoringConfiguration","title":"Basic monitoring configuration","description":"The common ReportPortal instance consists of two main parts \u2013 the application server and the database server \u2013 both of which must be covered by basic system-level and application-level metrics. Basic system-level monitoring should include metrics tracking the main application and database servers\' VM and cluster resources, such as:","sidebar":"defaultSidebar"},"installation-steps/DeployOnUbuntuOS":{"id":"installation-steps/DeployOnUbuntuOS","title":"Deploy on Ubuntu OS","description":"*Provided by @Tset Noitamotuahe. The article might be outdated.","sidebar":"defaultSidebar"},"installation-steps/DeployWithAWSECSFargate":{"id":"installation-steps/DeployWithAWSECSFargate","title":"Deploy with AWS ECS Fargate","description":"Provided by contributor, not verified by RP team, please use with caution.","sidebar":"defaultSidebar"},"installation-steps/DeployWithDockerOnLinuxMac":{"id":"installation-steps/DeployWithDockerOnLinuxMac","title":"Deploy with Docker on Linux/Mac","description":"Make your test automation reporting more portable. Reduce the risk of configuration issues with your test reporting tool using Docker.","sidebar":"defaultSidebar"},"installation-steps/DeployWithDockerOnWindows":{"id":"installation-steps/DeployWithDockerOnWindows","title":"Deploy with Docker on Windows","description":"A portable way to manage your real time test results. Using Docker makes it easy to share test execution report and collaborate with other team members.","sidebar":"defaultSidebar"},"installation-steps/DeployWithKubernetes":{"id":"installation-steps/DeployWithKubernetes","title":"Deploy with Kubernetes","description":"We use Helm package manager charts to bootstrap a ReportPortal deployment on a Kubernetes cluster","sidebar":"defaultSidebar"},"installation-steps/DeployWithoutDocker":{"id":"installation-steps/DeployWithoutDocker","title":"Deploy without Docker","description":"*The instruction designed for the version 5.3.5 and might be outdated for the latest versions.","sidebar":"defaultSidebar"},"installation-steps/MaintainCommandsCheatSheet":{"id":"installation-steps/MaintainCommandsCheatSheet","title":"Maintain commands Cheat sheet","description":"Export as env var:","sidebar":"defaultSidebar"},"installation-steps/OptimalPerformanceHardwareSetup":{"id":"installation-steps/OptimalPerformanceHardwareSetup","title":"Optimal Performance Hardware setup","description":"Find below the recommended hardware configuration to set up ReportPortal and have good performance using our centralized test automation tool.","sidebar":"defaultSidebar"},"installation-steps/ReportPortal23.1FileStorageOptions":{"id":"installation-steps/ReportPortal23.1FileStorageOptions","title":"ReportPortal 23.1 File storage options","description":"In ReportPortal 23.1 we can use multiple ways to store log attachments, user pictures and plugins.","sidebar":"defaultSidebar"},"installation-steps/SetupTSLSSLInTraefik2.0.x":{"id":"installation-steps/SetupTSLSSLInTraefik2.0.x","title":"Setup TLS(SSL) in Traefik 2.0.x","description":"This is a short guideline that provides information on how to configure ReportPortal to use Let TLS/SSL certificate setup for your existing ReportPortal environment.","sidebar":"defaultSidebar"},"intro":{"id":"intro","title":"What is ReportPortal?","description":"How to get started with our test reporting tool. Improve testing process with ML-driven failure triage. Get real time results and test failure analytics.","sidebar":"defaultSidebar"},"issues-troubleshooting/HowToAddATestStackTraceToADescriptionAutomatically":{"id":"issues-troubleshooting/HowToAddATestStackTraceToADescriptionAutomatically","title":"How to add a test stack trace to a description automatically","description":"You can make your process of a test analysis more convenient and quick by adding a description for failed tests that will include a last error message from the test log.","sidebar":"defaultSidebar"},"issues-troubleshooting/HowToAvoidLocalExecutionReportedIntoProjectSpace":{"id":"issues-troubleshooting/HowToAvoidLocalExecutionReportedIntoProjectSpace","title":"How to avoid local execution reported into project space","description":"Option 1:","sidebar":"defaultSidebar"},"issues-troubleshooting/HowToCheckLDAPConnection":{"id":"issues-troubleshooting/HowToCheckLDAPConnection","title":"How to check LDAP connection","description":"Firstly, check the availability of your LDAP server from the server when ReportPortal is installed. For example, use the command ldapsearch.","sidebar":"defaultSidebar"},"issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingPGRepack":{"id":"issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingPGRepack","title":"How to clean up the ReportPortal database using PG_REPACK","description":"Description","sidebar":"defaultSidebar"},"issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingVacuumFull":{"id":"issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingVacuumFull","title":"How to clean up the ReportPortal database using VACUUM FULL","description":"General information","sidebar":"defaultSidebar"},"issues-troubleshooting/HowToResolveIssuesWithMigrationToTheNewVersion":{"id":"issues-troubleshooting/HowToResolveIssuesWithMigrationToTheNewVersion","title":"How to resolve issues with migration to the new version","description":"Error: Dirty database version XX. Fix and force version.","sidebar":"defaultSidebar"},"issues-troubleshooting/IssuesWithJIRABugTrackingSystemHowToResolve":{"id":"issues-troubleshooting/IssuesWithJIRABugTrackingSystemHowToResolve","title":"Issues with JIRA bug tracking system: how to resolve","description":"In case user is connecting to JIRA system and gets the error like","sidebar":"defaultSidebar"},"issues-troubleshooting/IssuesWithLDAPSHowToResolve":{"id":"issues-troubleshooting/IssuesWithLDAPSHowToResolve","title":"Issues with LDAPS: how to resolve","description":"When configuring LDAP to work with ldaps","sidebar":"defaultSidebar"},"issues-troubleshooting/ResolveAnalyzerKnownIssues":{"id":"issues-troubleshooting/ResolveAnalyzerKnownIssues","title":"Resolve Analyzer Known Issues","description":"Problem 1. Auto-Analyser doesn\'t work. Analyzer health check status failed: Elasticsearch is not healthy","sidebar":"defaultSidebar"},"issues-troubleshooting/TuningCITool":{"id":"issues-troubleshooting/TuningCITool","title":"Tuning CI tool","description":"How to provide parameters via system variables in the CI tool (for example - Jenkins) for our continuous testing platform.","sidebar":"defaultSidebar"},"log-data-in-reportportal/HowToRunYourTests":{"id":"log-data-in-reportportal/HowToRunYourTests","title":"How to run your tests","description":"Automated tests can be executed in the any CI tool you are using on the project (Jenkins, Bamboo, Azure DevOps, GitHub Actions, CircleCI, TeamCity, GitLab, Travis CI, Codeship, Buddy, GoCD, Wercker and more).","sidebar":"defaultSidebar"},"log-data-in-reportportal/ImplementOwnIntegration":{"id":"log-data-in-reportportal/ImplementOwnIntegration","title":"Implement own integration","description":"You can find a detailed description of how report results to ReportPortal in our developers` guide.","sidebar":"defaultSidebar"},"log-data-in-reportportal/ImportDataToReportPortal":{"id":"log-data-in-reportportal/ImportDataToReportPortal","title":"Import data to ReportPortal","description":"Import functionality gives the opportunity to upload log files via UI.","sidebar":"defaultSidebar"},"log-data-in-reportportal/ReportingSDK":{"id":"log-data-in-reportportal/ReportingSDK","title":"Reporting SDK","description":"How to report tests with nested steps?","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/index":{"id":"log-data-in-reportportal/test-framework-integration/index","title":"Test Framework Integration","description":"ReportPortal is a system that integrates with your Test Framework, listens for events and visualizes test results. You cannot execute results right from ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/Cucumber":{"id":"log-data-in-reportportal/test-framework-integration/Java/Cucumber","title":"ReportPortal Cucumber Integration","description":"There is an agent to integrate Cucumber with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/index":{"id":"log-data-in-reportportal/test-framework-integration/Java/index","title":"Java","description":"To integrate your Java test framework with ReportPortal, you need to create a file named reportportal.properties in your in your Java project in a source folder src/main/resources or src/test/resources (depending on where your tests are located):","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/JBehave":{"id":"log-data-in-reportportal/test-framework-integration/Java/JBehave","title":"ReportPortal JBehave Integration","description":"There is an agent to integrate JBehave with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/JUnit4":{"id":"log-data-in-reportportal/test-framework-integration/Java/JUnit4","title":"ReportPortal JUnit4 Integration","description":"There is an agent to integrate JUnit4 with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/JUnit5":{"id":"log-data-in-reportportal/test-framework-integration/Java/JUnit5","title":"ReportPortal JUnit5 Integration","description":"There is an agent to integrate JUnit5 with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/Loggers/ApacheHttpComponents":{"id":"log-data-in-reportportal/test-framework-integration/Java/Loggers/ApacheHttpComponents","title":"ReportPortal Apache HttpComponents Integration","description":"The logger intercept and logs all Requests and Responses issued by Apache HttpComponents into ReportPortal in Markdown format, including multipart requests. It recognizes payload types and attach them in corresponding manner: image types will be logged as images with thumbnails, binary types will be logged as entry attachments, text types will be formatted and logged in Markdown code blocks.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/Loggers/Log4J":{"id":"log-data-in-reportportal/test-framework-integration/Java/Loggers/Log4J","title":"ReportPortal Log4J Integration","description":"Log4j is one of several Java logging frameworks that provides a flexible and configurable way to capture and manage application logs.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/Loggers/Logback":{"id":"log-data-in-reportportal/test-framework-integration/Java/Loggers/Logback","title":"ReportPortal Logback Integration","description":"Using the Logback appender for ReportPortal, developers can collect and send the logs generated by their application to ReportPortal for additional analysis and reporting. Using this appender, developers can configure Logback to send logs directly to ReportPortal, where they can be examined alongside other testing data to understand the behavior of the application and identify any issues.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/Loggers/OkHttp3":{"id":"log-data-in-reportportal/test-framework-integration/Java/Loggers/OkHttp3","title":"ReportPortal OkHttp3 Integration","description":"The logger intercept and logs all Requests and Responses issued by OkHttp into ReportPortal in Markdown format, including multipart requests. It recognizes payload types and attach them in corresponding manner: image types will be logged as images with thumbnails, binary types will be logged as entry attachments, text types will be formatted and logged in Markdown code blocks.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/Loggers/RestAssured":{"id":"log-data-in-reportportal/test-framework-integration/Java/Loggers/RestAssured","title":"ReportPortal Rest Assured Integration","description":"The logger intercept and logs all Requests and Responses issued by REST Assured into ReportPortal in Markdown format, including multipart","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/Loggers/Selenide":{"id":"log-data-in-reportportal/test-framework-integration/Java/Loggers/Selenide","title":"ReportPortal Selenide Integration","description":"Selenide step logging listener for ReportPortal. The listener listen for Selenide log events and send them to Report Portal as steps. It has ability to log screenshots and page sources on failure, this is enabled by default. Also, it is possible to attach different types of WebDriver logs on failure.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/SoapUI":{"id":"log-data-in-reportportal/test-framework-integration/Java/SoapUI","title":"ReportPortal SoapUI Integration","description":"There is an agent to integrate SoapUI with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/Spock":{"id":"log-data-in-reportportal/test-framework-integration/Java/Spock","title":"ReportPortal Spock Integration","description":"There is an agent to integrate Spock with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Java/TestNG":{"id":"log-data-in-reportportal/test-framework-integration/Java/TestNG","title":"ReportPortal TestNG Integration","description":"There is an agent to integrate TestNG with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/Codecept":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Codecept","title":"ReportPortal Codecept Integration","description":"There is an agent to integrate Codecept with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/CucumberJS":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/CucumberJS","title":"ReportPortal CucumberJS Integration","description":"There is an agent to integrate CucumberJS with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/Cypress":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Cypress","title":"ReportPortal Cypress Integration","description":"There is an agent to integrate Cypress with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/index":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/index","title":"JavaScript","description":"If you need a sophisticated and full-featured integration with a test framework, you can configure it by your self.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/Jasmine":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Jasmine","title":"ReportPortal Jasmine Integration","description":"There is an agent to integrate Jasmine with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/Jest":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Jest","title":"ReportPortal Jest Integration","description":"There is an agent to integrate Jest with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/Mocha":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Mocha","title":"ReportPortal Mocha Integration","description":"There is an agent to integrate Mocha with ReportPortal. It was designed to work with mocha programmatically, in order to be able to parametrize each test run.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/Nightwatch":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Nightwatch","title":"ReportPortal Nightwatch Integration","description":"There is an agent to integrate Nightwatch with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/Playwright":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Playwright","title":"ReportPortal Playwright Integration","description":"There is an agent to integrate Playwright with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/Postman":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Postman","title":"ReportPortal Postman Integration","description":"There is an agent to integrate Postman (based on Newman collection runner) with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/TestCafe":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/TestCafe","title":"ReportPortal TestCafe Integration","description":"There is an agent to integrate TestCafe with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/JavaScript/WebdriverIO":{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/WebdriverIO","title":"ReportPortal WebdriverIO Integration","description":"There is an agent to integrate Webdriver.io with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Net/index":{"id":"log-data-in-reportportal/test-framework-integration/Net/index","title":".Net","description":"If you need a sophisticated and full-featured integration with a test framework, you can configure it by your self.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Net/Loggers/Log4Net":{"id":"log-data-in-reportportal/test-framework-integration/Net/Loggers/Log4Net","title":"ReportPortal Log4Net Integration","description":"Log4net is a logging library for .NET applications. It offers a versatile and customizable architecture for recording application events to a number of locations, including files, databases, and remote servers.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Net/Loggers/NLog":{"id":"log-data-in-reportportal/test-framework-integration/Net/Loggers/NLog","title":"ReportPortal NLog Integration","description":"NLog is a logging platform for .NET platforms. It supports a range of logging formats, including plain text and JSON.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Net/Loggers/Serilog":{"id":"log-data-in-reportportal/test-framework-integration/Net/Loggers/Serilog","title":"ReportPortal Serilog Integration","description":"Serilog is a logging library for .Net. Serilog was created with powerful organized event data in mind, unlike other logging libraries.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Net/Loggers/TraceListener":{"id":"log-data-in-reportportal/test-framework-integration/Net/Loggers/TraceListener","title":"ReportPortal TraceListener Integration","description":"TraceListener is a component of the .NET Framework\'s logging system. Provides receiving and handling trace messages and forwarding them to the appropriate destination.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Net/NUnit":{"id":"log-data-in-reportportal/test-framework-integration/Net/NUnit","title":"ReportPortal NUnit Integration","description":"There is an agent to integrate NUnit with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Net/SpecFlow":{"id":"log-data-in-reportportal/test-framework-integration/Net/SpecFlow","title":"ReportPortal SpecFlow Integration","description":"There is an agent to integrate SpecFlow with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Net/VSTest":{"id":"log-data-in-reportportal/test-framework-integration/Net/VSTest","title":"ReportPortal VSTest Integration","description":"There is an agent to integrate VSTest with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Net/xUnit":{"id":"log-data-in-reportportal/test-framework-integration/Net/xUnit","title":"ReportPortal xUnit Integration","description":"There is an agent to integrate xUnit with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Other/index":{"id":"log-data-in-reportportal/test-framework-integration/Other/index","title":"Other","description":"Please find the full list of available integrations with test frameworks in our GitHub repositories.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/PHP/Behat":{"id":"log-data-in-reportportal/test-framework-integration/PHP/Behat","title":"ReportPortal Behat Integration","description":"There is an agent to integrate Behat with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/PHP/Codeception":{"id":"log-data-in-reportportal/test-framework-integration/PHP/Codeception","title":"ReportPortal Codeception Integration","description":"There is an agent to integrate Codeception-based test framework with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/PHP/index":{"id":"log-data-in-reportportal/test-framework-integration/PHP/index","title":"PHP","description":"If you need a sophisticated and full-featured integration with a test framework, you can configure it by your self.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/PHP/PHPUnit":{"id":"log-data-in-reportportal/test-framework-integration/PHP/PHPUnit","title":"ReportPortal PHPUnit Integration","description":"There is an agent to integrate PHPUnit with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Python/behave":{"id":"log-data-in-reportportal/test-framework-integration/Python/behave","title":"ReportPortal behave Integration","description":"There is Behave extension for reporting test results of Behave to the ReportalPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Python/index":{"id":"log-data-in-reportportal/test-framework-integration/Python/index","title":"Python","description":"If you need a sophisticated and full-featured integration with a test framework, you can configure it by your self.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Python/nosetests":{"id":"log-data-in-reportportal/test-framework-integration/Python/nosetests","title":"ReportPortal nosetests Integration","description":"There is Nose plugin for reporting test results of Nose to the ReportalPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Python/pytest":{"id":"log-data-in-reportportal/test-framework-integration/Python/pytest","title":"ReportPortal pytest Integration","description":"There is an agent to integrate pytest with ReportPortal.","sidebar":"defaultSidebar"},"log-data-in-reportportal/test-framework-integration/Python/RobotFramework":{"id":"log-data-in-reportportal/test-framework-integration/Python/RobotFramework","title":"ReportPortal Robot Framework Integration","description":"There is a Listener for RobotFramework to report results to ReportPortal.","sidebar":"defaultSidebar"},"plugins/AtlassianJiraCloud":{"id":"plugins/AtlassianJiraCloud","title":"Atlassian Jira Cloud","description":"ReportPortal and Jira Cloud integration streamlines testing, tracks issues and enhances collaboration for improved productivity.","sidebar":"defaultSidebar"},"plugins/AtlassianJiraServer":{"id":"plugins/AtlassianJiraServer","title":"Atlassian Jira Server","description":"To install the Jira Server plugin, see Upload plugin section.","sidebar":"defaultSidebar"},"plugins/AzureDevOpsBTS":{"id":"plugins/AzureDevOpsBTS","title":"Azure DevOps BTS","description":"To install the Azure DevOps BTS plugin, see Upload plugin section.","sidebar":"defaultSidebar"},"plugins/EmailServer":{"id":"plugins/EmailServer","title":"E-mail server","description":"E-mail server plugin is available in ReportPortal on the Plugins page.","sidebar":"defaultSidebar"},"plugins/ManagePlugins":{"id":"plugins/ManagePlugins","title":"Manage plugins","description":"ReportPortal as a test management system can be reinforced by uploading plugins. For now, you can install the next plugins from the box:","sidebar":"defaultSidebar"},"plugins/Rally":{"id":"plugins/Rally","title":"Rally","description":"To install the Rally plugin, see Upload plugin section.","sidebar":"defaultSidebar"},"plugins/SauceLabs":{"id":"plugins/SauceLabs","title":"Sauce Labs","description":"To install the Sauce Labs plugin, see Upload plugin section.","sidebar":"defaultSidebar"},"quality-gates/AssessmentOfTestResultsUsingQualityGates":{"id":"quality-gates/AssessmentOfTestResultsUsingQualityGates","title":"Assessment of test results using Quality Gates","description":"Now the system is preconfigured, and you can start using Quality Gates Analysis.","sidebar":"defaultSidebar"},"quality-gates/DeleteQualityGates":{"id":"quality-gates/DeleteQualityGates","title":"Delete Quality Gates","description":"If you want to delete Quality Gate:","sidebar":"defaultSidebar"},"quality-gates/FeatureOverview":{"id":"quality-gates/FeatureOverview","title":"Feature overview","description":"Quality Gate analysis provides capabilities to speed up CI/CD pipeline by sending auto-feedback to your CI/CD tools. ReportPortal assesses the build quality and sends auto feedback to CI/CD.","sidebar":"defaultSidebar"},"quality-gates/HowToInstallQualityGates":{"id":"quality-gates/HowToInstallQualityGates","title":"How to install Quality Gates","description":"The Quality Gate feature is available in the scope of the ReportPortal premium version started from version 5.6. Our continuous testing platform provides it for clients in the scope of paid support engagement.","sidebar":"defaultSidebar"},"quality-gates/IntegrationWithCICD/index":{"id":"quality-gates/IntegrationWithCICD/index","title":"Integration with CI/CD","description":"ReportPortal is a CI agnostic tool, it integrates on the test framework level, but to ease configuration we have auxiliary code in RP for some CI tools.","sidebar":"defaultSidebar"},"quality-gates/IntegrationWithCICD/IntegrationWithGitLabCI":{"id":"quality-gates/IntegrationWithCICD/IntegrationWithGitLabCI","title":"Integration with GitLab CI","description":"In this tutorial we will walk you through the process of integrating ReportPortal with GitLab CI. It is not the case for GitLab, but there are some recipes.","sidebar":"defaultSidebar"},"quality-gates/IntegrationWithCICD/IntegrationWithJenkins":{"id":"quality-gates/IntegrationWithCICD/IntegrationWithJenkins","title":"Integration with Jenkins","description":"Jenkins configuration","sidebar":"defaultSidebar"},"quality-gates/QualityGateEdit":{"id":"quality-gates/QualityGateEdit","title":"Quality Gate Edit","description":"If user edit Quality Gates, previous reports for these Quality Gates would not be recalculated.","sidebar":"defaultSidebar"},"quality-gates/QualityGatePurpose":{"id":"quality-gates/QualityGatePurpose","title":"Quality Gate Purpose","description":"ReportPortal is a continuous testing platform with build-in functionality - Quality Gates.","sidebar":"defaultSidebar"},"quality-gates/QualityRulesConfiguration":{"id":"quality-gates/QualityRulesConfiguration","title":"Quality Rules Configuration","description":"Now let\'s configure the Quality rule, which will be used for launch quality assessment.","sidebar":"defaultSidebar"},"quality-gates/UploadQualityGateToReportPortal":{"id":"quality-gates/UploadQualityGateToReportPortal","title":"Upload Quality Gate to ReportPortal","description":"The default configuration of our continuous testing platform doesn\'t contain Quality Gate. For adding this feature, you need to receive a link to the .jar file from ReportPortal.","sidebar":"defaultSidebar"},"releases/Version3.3.2":{"id":"releases/Version3.3.2","title":"Version 3.3.2","description":"milestone 3.3","sidebar":"defaultSidebar"},"releases/Version3.3.2-1":{"id":"releases/Version3.3.2-1","title":"Version 3.3.2-1","description":"Update instructions","sidebar":"defaultSidebar"},"releases/Version4.0.0":{"id":"releases/Version4.0.0","title":"Version 4.0.0","description":"Issues and features in milestone 4.0","sidebar":"defaultSidebar"},"releases/Version4.1.0":{"id":"releases/Version4.1.0","title":"Version 4.1.0","description":"Issues and features in milestone 4.1","sidebar":"defaultSidebar"},"releases/Version4.2.0":{"id":"releases/Version4.2.0","title":"Version 4.2.0","description":"Features","sidebar":"defaultSidebar"},"releases/Version4.3":{"id":"releases/Version4.3","title":"Version 4.2.0","description":"Features","sidebar":"defaultSidebar"},"releases/Version5.0.0":{"id":"releases/Version5.0.0","title":"Version 5.0.0","description":"Finally we are glad to introduce a new release of ReportPortal.","sidebar":"defaultSidebar"},"releases/Version5.0RC":{"id":"releases/Version5.0RC","title":"Version 5.0RC","description":"This is the Beta release.","sidebar":"defaultSidebar"},"releases/Version5.1.0":{"id":"releases/Version5.1.0","title":"Version 5.1.0","description":"Important: We are constantly improving ReportPortal. And in version 5.1 we have changed a way we encrypt your personal data. Please be aware, that for successful interaction with version 5.1 you need to change a password at the first login.","sidebar":"defaultSidebar"},"releases/Version5.2.0":{"id":"releases/Version5.2.0","title":"Version 5.2.0","description":"Small and nice updates","sidebar":"defaultSidebar"},"releases/Version5.2.1":{"id":"releases/Version5.2.1","title":"Version 5.2.1","description":"Fix reportportal/kubernetes #115","sidebar":"defaultSidebar"},"releases/Version5.2.2":{"id":"releases/Version5.2.2","title":"Version 5.2.2","description":"Improvements","sidebar":"defaultSidebar"},"releases/Version5.2.3":{"id":"releases/Version5.2.3","title":"Version 5.2.3","description":"Bugs","sidebar":"defaultSidebar"},"releases/Version5.3.0":{"id":"releases/Version5.3.0","title":"Version 5.3.0","description":"Brand new features","sidebar":"defaultSidebar"},"releases/Version5.3.1.":{"id":"releases/Version5.3.1.","title":"Version 5.3.1","description":"Bug fixing","sidebar":"defaultSidebar"},"releases/Version5.3.2":{"id":"releases/Version5.3.2","title":"Version 5.3.2","description":"Bug fixing","sidebar":"defaultSidebar"},"releases/Version5.3.3":{"id":"releases/Version5.3.3","title":"Version 5.3.3","description":"New features","sidebar":"defaultSidebar"},"releases/Version5.3.5":{"id":"releases/Version5.3.5","title":"Version 5.3.5","description":"- Fixed: #950 Problems with DB locks on SELECT","sidebar":"defaultSidebar"},"releases/Version5.4.0":{"id":"releases/Version5.4.0","title":"Version 5.4.0","description":"Migration guide","sidebar":"defaultSidebar"},"releases/Version5.5.0":{"id":"releases/Version5.5.0","title":"Version 5.5.0","description":"Migration guide","sidebar":"defaultSidebar"},"releases/Version5.6.0":{"id":"releases/Version5.6.0","title":"Version 5.6.0","description":"Migration guide","sidebar":"defaultSidebar"},"releases/Version5.6.1":{"id":"releases/Version5.6.1","title":"Version 5.6.1","description":"Bugfixing","sidebar":"defaultSidebar"},"releases/Version5.6.2":{"id":"releases/Version5.6.2","title":"Version 5.6.2","description":"- ReportPortal release 5.6.2 aimed at fixing Log4J vulnerabilities: CVE-2021-44228, CVE-2021-45046 and CVE-2021-45105","sidebar":"defaultSidebar"},"releases/Version5.6.3":{"id":"releases/Version5.6.3","title":"Version 5.6.3","description":"Bugfixing","sidebar":"defaultSidebar"},"releases/Version5.7.0":{"id":"releases/Version5.7.0","title":"Version 5.7.0","description":"New Features:","sidebar":"defaultSidebar"},"releases/Version5.7.1":{"id":"releases/Version5.7.1","title":"Version 5.7.1","description":"Technical Improvements:","sidebar":"defaultSidebar"},"releases/Version5.7.2":{"id":"releases/Version5.7.2","title":"Version 5.7.2","description":"What\'s Changed:","sidebar":"defaultSidebar"},"releases/Version5.7.3":{"id":"releases/Version5.7.3","title":"Version 5.7.3","description":"Features:","sidebar":"defaultSidebar"},"releases/Version5.7.4":{"id":"releases/Version5.7.4","title":"Version 5.7.4","description":"What\'s Changed:","sidebar":"defaultSidebar"},"releases/Versionv23.1":{"id":"releases/Versionv23.1","title":"Version v.23.1","description":"- New ReportPortal logo","sidebar":"defaultSidebar"},"reportportal-configuration/authorization/ActiveDirectory":{"id":"reportportal-configuration/authorization/ActiveDirectory","title":"Active Directory","description":"Active Directory plugin is available in ReportPortal on the Plugins page.","sidebar":"defaultSidebar"},"reportportal-configuration/authorization/GitHub":{"id":"reportportal-configuration/authorization/GitHub","title":"GitHub","description":"Our open source test reporting tool allows logging in via GitHub OAuth Web Application Flow.","sidebar":"defaultSidebar"},"reportportal-configuration/authorization/index":{"id":"reportportal-configuration/authorization/index","title":"Authorization","description":"ReportPortal Admin can configure an easy authorization on the instance. From the box we provide OAuth with:","sidebar":"defaultSidebar"},"reportportal-configuration/authorization/LDAP":{"id":"reportportal-configuration/authorization/LDAP","title":"LDAP","description":"LDAP plugin is available in ReportPortal on the Plugins page.","sidebar":"defaultSidebar"},"reportportal-configuration/authorization/SAMLProvider/AzureSAML":{"id":"reportportal-configuration/authorization/SAMLProvider/AzureSAML","title":"Azure SAML","description":"SAML plugin is available in ReportPortal on the Plugins page.","sidebar":"defaultSidebar"},"reportportal-configuration/authorization/SAMLProvider/index":{"id":"reportportal-configuration/authorization/SAMLProvider/index","title":"SAML provider","description":"If you have a pre-created Internal user, you can\'t log in by SAML using their credentials (Email or Name).","sidebar":"defaultSidebar"},"reportportal-configuration/authorization/SAMLProvider/OktaSAML":{"id":"reportportal-configuration/authorization/SAMLProvider/OktaSAML","title":"Okta SAML","description":"SAML plugin is available in ReportPortal on the Plugins page.","sidebar":"defaultSidebar"},"reportportal-configuration/ComponentsOverview":{"id":"reportportal-configuration/ComponentsOverview","title":"Components Overview","description":"Gateway","sidebar":"defaultSidebar"},"reportportal-configuration/CreationOfProjectAndAddingUsers":{"id":"reportportal-configuration/CreationOfProjectAndAddingUsers","title":"Creation of project and adding users","description":"The main question of how you can organize your working space in ReportPortal.","sidebar":"defaultSidebar"},"reportportal-configuration/HowToGetAnAccessTokenInReportPortal":{"id":"reportportal-configuration/HowToGetAnAccessTokenInReportPortal","title":"How to get an access token in ReportPortal","description":"There are two ways to authorize in the ReportPortal API:","sidebar":"defaultSidebar"},"reportportal-configuration/IntegrationViaPlugin":{"id":"reportportal-configuration/IntegrationViaPlugin","title":"Integration via plugin","description":"Users can reinforce ReportPortal with adding additional integrations with:","sidebar":"defaultSidebar"},"reportportal-configuration/ProjectConfiguration":{"id":"reportportal-configuration/ProjectConfiguration","title":"Project configuration","description":"To see the list of available projects and open a project, click the drop-down list in the top of the left menu.","sidebar":"defaultSidebar"},"reportportal-configuration/ReportPortalJobsConfiguration":{"id":"reportportal-configuration/ReportPortalJobsConfiguration","title":"ReportPortal jobs configuration","description":"Currently, ReportPortal has 5 configurable jobs for data removing:","sidebar":"defaultSidebar"},"reportportal-glossary/index":{"id":"reportportal-glossary/index","title":"ReportPortal Glossary","description":"Agent","sidebar":"defaultSidebar"},"reportportal-tutorial/index":{"id":"reportportal-tutorial/index","title":"ReportPortal Tutorial","description":"ReportPortal guide. How to do test failure analysis, how to create dashboard to manage test results and use capabilities of continuous testing platform.","sidebar":"defaultSidebar"},"saved-searches-filters/CreateFilters":{"id":"saved-searches-filters/CreateFilters","title":"Create filters","description":"Filters in the our test automation reporting dashboard are saved searches of the launches.","sidebar":"defaultSidebar"},"saved-searches-filters/FiltersPage":{"id":"saved-searches-filters/FiltersPage","title":"Filters page","description":"You can see the list of your saved searches and filters created by other team members on the \\"Filters\\" page.","sidebar":"defaultSidebar"},"saved-searches-filters/ManageFilters":{"id":"saved-searches-filters/ManageFilters","title":"Manage filters","description":"Filters feature is a base for data visualization in test automation because widgets are built on their basis.","sidebar":"defaultSidebar"},"terms-and-conditions/GoogleAnalyticsUsageByReportPortal":{"id":"terms-and-conditions/GoogleAnalyticsUsageByReportPortal","title":"Google Analytics usage by ReportPortal","description":"ReportPortal uses Google Analytics (GA) for web analytics capabilities. GA helps the ReportPortal Team to understand product usage and make ReportPortal more convenient and useful for our users. To address any concerns about the data we collect, we want to be transparent about which data is sent to GA, and assure you that no personal or confidential data is transferred. To be clear, we do not gather personal information at all through GA. In this article, we explain how Google Analytics works on ReportPortal, its benefits, and how you can turn it off if you want.","sidebar":"defaultSidebar"},"terms-and-conditions/PremiumFeatures":{"id":"terms-and-conditions/PremiumFeatures","title":"Premium Features","description":"At ReportPortal, we understand that every enterprise\'s testing environment is unique, requiring tailored solutions that address specific needs. To cater to this demand, we\'ve introduced our Premium Features, exclusively available to our Managed Services and SaaS subscription clients.","sidebar":"defaultSidebar"},"user-account/EditPersonalInformation":{"id":"user-account/EditPersonalInformation","title":"Edit personal information","description":"To navigate to the User Profile page, open menu at the bottom of the page and select \\"Profile\\" option.","sidebar":"defaultSidebar"},"user-account/RestoreAPassword":{"id":"user-account/RestoreAPassword","title":"Restore a password","description":"If you forgot your password, you can restore it on the login page. To do that, perform the following steps:","sidebar":"defaultSidebar"},"user-role-guides/index":{"id":"user-role-guides/index","title":"User role guides","description":"Here are the links to User Guide sections divided by ReportPortal User roles.","sidebar":"defaultSidebar"},"work-with-reports/FilteringLaunches":{"id":"work-with-reports/FilteringLaunches","title":"Filtering launches","description":"The data tables for the \\"Launches\\" and the \\"Debug\\" modes can be filtered with","sidebar":"defaultSidebar"},"work-with-reports/HistoryOfLaunches":{"id":"work-with-reports/HistoryOfLaunches","title":"History of launches","description":"Historical trend of executions","sidebar":"defaultSidebar"},"work-with-reports/InvestigationOfFailure":{"id":"work-with-reports/InvestigationOfFailure","title":"Investigation of failure","description":"Set defect type","sidebar":"defaultSidebar"},"work-with-reports/OperationsUnderLaunches":{"id":"work-with-reports/OperationsUnderLaunches","title":"Operations under launches","description":"There are several ways of how launches could be modified and managed in our test automation reporting dashboard.","sidebar":"defaultSidebar"},"work-with-reports/TestCaseId":{"id":"work-with-reports/TestCaseId","title":"Test case ID","description":"What is it: Test case ID","sidebar":"defaultSidebar"},"work-with-reports/UniqueId":{"id":"work-with-reports/UniqueId","title":"Unique ID","description":"(deprecated/ will be replaced by Test Case ID gradually)","sidebar":"defaultSidebar"},"work-with-reports/ViewLaunches":{"id":"work-with-reports/ViewLaunches","title":"View launches","description":"Viewing information about all launches","sidebar":"defaultSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/a7c4da1a.0bb08f64.js b/assets/js/a7c4da1a.0bb08f64.js new file mode 100644 index 000000000..9f00969af --- /dev/null +++ b/assets/js/a7c4da1a.0bb08f64.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[8846],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>h});var a=n(67294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function o(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var s=a.createContext({}),c=function(e){var t=a.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},d=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var n=e.components,i=e.mdxType,r=e.originalType,s=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),p=c(n),m=i,h=p["".concat(s,".").concat(m)]||p[m]||u[m]||r;return n?a.createElement(h,o(o({ref:t},d),{},{components:n})):a.createElement(h,o({ref:t},d))}));function h(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=n.length,o=new Array(r);o[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:i,o[1]=l;for(var c=2;c{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>l,toc:()=>c});var a=n(87462),i=(n(67294),n(3905));const r={sidebar_position:3,sidebar_label:"Event monitoring"},o="Event monitoring",l={unversionedId:"admin-panel/EventMonitoring",id:"admin-panel/EventMonitoring",title:"Event monitoring",description:"Starting from version 23.2, ReportPortal can monitor all activities (events) at both the project and instance levels.",source:"@site/docs/admin-panel/EventMonitoring.mdx",sourceDirName:"admin-panel",slug:"/admin-panel/EventMonitoring",permalink:"/docs/admin-panel/EventMonitoring",draft:!1,editUrl:"https://github.com/reportportal/docs/blob/develop/docs/admin-panel/EventMonitoring.mdx",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3,sidebar_label:"Event monitoring"},sidebar:"defaultSidebar",previous:{title:"All Users page",permalink:"/docs/admin-panel/AllUsersPage"},next:{title:"Plugins",permalink:"/docs/category/plugins"}},s={},c=[{value:"Project level event monitoring",id:"project-level-event-monitoring",level:2},{value:"Time",id:"time",level:3},{value:"User",id:"user",level:3},{value:"Action",id:"action",level:3},{value:"Object Type",id:"object-type",level:3},{value:"Object Name",id:"object-name",level:3},{value:"Instance level event monitoring",id:"instance-level-event-monitoring",level:2}],d={toc:c},p="wrapper";function u(e){let{components:t,...r}=e;return(0,i.kt)(p,(0,a.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"event-monitoring"},"Event monitoring"),(0,i.kt)("p",null,"Starting from version 23.2, ReportPortal can monitor all activities (events) at both the project and instance levels."),(0,i.kt)("h2",{id:"project-level-event-monitoring"},"Project level event monitoring"),(0,i.kt)("p",null,'To view the list of all activities within your project, open the menu at the bottom of the page as an Administrator and select the "Administrate" option. All existing projects are listed on the "All Projects" page. Click on the ellipsis button next to the project and choose the "Monitoring" option from the dropdown.'),(0,i.kt)("p",null,"Here, you will find a table with the following columns: Time, User, Action, Object Type, Object Name, Old Value, and New Value."),(0,i.kt)("media-view",{src:n(56538),alt:"Event monitoring in our test report dashboard"}),(0,i.kt)("h3",{id:"time"},"Time"),(0,i.kt)("p",null,'This column displays the time in a "time ago" format (e.g., "10 minutes ago"). Hovering over it, the system should show the precise action time.'),(0,i.kt)("h3",{id:"user"},"User"),(0,i.kt)("p",null,"This column shows who acted. We track not only actions by specific users but also, for your convenience, actions performed by ReportPortal itself or certain ReportPortal services. For example, actions by Jobs Service (such as Launch deletions) are included."),(0,i.kt)("p",null,'If the activity was on behalf of a user, and their account was deleted, then there will be a "deleted user" entry in the "User" column.'),(0,i.kt)("h3",{id:"action"},"Action"),(0,i.kt)("p",null,"This column displays all events within this project."),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"Event actions:")," Create dashboard, Update dashboard, Delete dashboard, Create widget, Update widget, Delete widget, Create filter, Update filter, Delete filter, Create custom defect type, Update defect, Delete defect, Create integration, Update integration, Delete integration, Start launch, Finish launch, Delete launch, Update project, Update analyzer, Post issue, Link issue, Unlink issue, Generate index, Delete index, Start import, Finish import, Update item, AA linked issue, AA changed defect type, Create pattern rule, Update pattern rule, Delete pattern rule, PA find pattern."),(0,i.kt)("h3",{id:"object-type"},"Object Type"),(0,i.kt)("p",null,"This refers to the object on which the action was taken."),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"Event objects:")," Launch, Dashboard, Custom defect type, Notification rule, Filter, Import, Integration, Test item, Project, Ticket, User, Widget, Pattern Rule, index, Plugin."),(0,i.kt)("h3",{id:"object-name"},"Object Name"),(0,i.kt)("p",null,"This is the name of the widget, launch, etc."),(0,i.kt)("p",null,"The ",(0,i.kt)("strong",{parentName:"p"},"Old Value")," and ",(0,i.kt)("strong",{parentName:"p"},"New Value")," columns display the changes that were made."),(0,i.kt)("p",null,"You can filter activities by user, action, object type, and object name."),(0,i.kt)("media-view",{thumbnail:n(56538),src:"https://youtu.be/_Gz3s3PYYac",alt:"Event monitoring in our test automation dashboard",type:"video"}),(0,i.kt)("p",null,"Another way to view the event list in your project is by creating a ",(0,i.kt)("a",{parentName:"p",href:"/dashboards-and-widgets/ProjectActivityPanel"},'"Project Activity Panel" widget'),"."),(0,i.kt)("h2",{id:"instance-level-event-monitoring"},"Instance level event monitoring"),(0,i.kt)("p",null,"Instance level events are not displayed in the UI \u2013 they are stored in the database."),(0,i.kt)("p",null,(0,i.kt)("strong",{parentName:"p"},"Instance level events:")," Account deletion, Bulk account deletion, Administrator unassign, Provide Administrator permission for a user, Project creation, Bulk delete project by ReportPortal administrator, Delete project by ReportPortal administrator, Delete project by ReportPortal administrator, Delete Personal project when deleting user, Create Global Integration, Update Global Integration, Delete Global Integration, Bulk delete of Global Integration via API only, Manual plugin upload, Delete Plugin, Update Plugin (disable/enable), Create user in Administrate, Create user via auth service SAML."),(0,i.kt)("p",null,"Additionally, during instance setup, you can enable event storage in an audit log file. This data can be sent to a Security Information and Event Management (SIEM) system using tools like Fluentd, Fluentbit, or Filebeat. Logs and events are then checked and monitored within the SIEM system."),(0,i.kt)("p",null,"The primary advantage of the audit log file is that it preserves all records without alterations or deletions. In contrast, data in the database can be modified or deleted. For example, if launches or projects are deleted, the corresponding data is removed from the database. Deleting accounts leads to data obfuscation in the database."),(0,i.kt)("p",null,"Hence, if historical monitoring and strict accountability are required, enabling event storage in an audit log file is recommended. Financial companies, for example, are often mandated to retain all user actions in their services for 3 years."),(0,i.kt)("admonition",{type:"note"},(0,i.kt)("p",{parentName:"admonition"},"Administrators should ensure that log rotation is configured for the location where the audit log will be saved, as a substantial amount of data will accumulate.")),(0,i.kt)("p",null,"Event monitoring assists organizations, especially in industries like finance and healthcare, in maintaining the security of their systems and data."))}u.isMDXComponent=!0},56538:(e,t,n)=>{n.r(t),n.d(t,{default:()=>a});const a=n.p+"assets/images/EventMonitoring-28e4b40b2bd051e3237c69c40a05a573.png"}}]); \ No newline at end of file diff --git a/assets/js/c7dff32f.3f0cae1d.js b/assets/js/c7dff32f.3bc4612f.js similarity index 57% rename from assets/js/c7dff32f.3f0cae1d.js rename to assets/js/c7dff32f.3bc4612f.js index b3915f3c5..693de312e 100644 --- a/assets/js/c7dff32f.3f0cae1d.js +++ b/assets/js/c7dff32f.3bc4612f.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[6329],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>b});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),l=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},d=function(e){var t=l(e.components);return a.createElement(c.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,c=e.parentName,d=s(e,["components","mdxType","originalType","parentName"]),p=l(r),m=n,b=p["".concat(c,".").concat(m)]||p[m]||u[m]||i;return r?a.createElement(b,o(o({ref:t},d),{},{components:r})):a.createElement(b,o({ref:t},d))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,o=new Array(i);o[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[p]="string"==typeof e?e:n,o[1]=s;for(var l=2;l{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var a=r(87462),n=(r(67294),r(3905));const i={sidebar_position:9,sidebar_label:"Project activity panel"},o="Project activity panel",s={unversionedId:"dashboards-and-widgets/ProjectActivityPanel",id:"dashboards-and-widgets/ProjectActivityPanel",title:"Project activity panel",description:"The widget shows all activities occurring on the project.",source:"@site/docs/dashboards-and-widgets/ProjectActivityPanel.mdx",sourceDirName:"dashboards-and-widgets",slug:"/dashboards-and-widgets/ProjectActivityPanel",permalink:"/docs/dashboards-and-widgets/ProjectActivityPanel",draft:!1,editUrl:"https://github.com/reportportal/docs/blob/develop/docs/dashboards-and-widgets/ProjectActivityPanel.mdx",tags:[],version:"current",sidebarPosition:9,frontMatter:{sidebar_position:9,sidebar_label:"Project activity panel"},sidebar:"defaultSidebar",previous:{title:"Launch execution and issue statistic",permalink:"/docs/dashboards-and-widgets/LaunchExecutionAndIssueStatistic"},next:{title:"Test-cases growth trend chart",permalink:"/docs/dashboards-and-widgets/TestCasesGrowthTrendChart"}},c={},l=[],d={toc:l},p="wrapper";function u(e){let{components:t,...i}=e;return(0,n.kt)(p,(0,a.Z)({},d,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"project-activity-panel"},"Project activity panel"),(0,n.kt)("p",null,"The widget shows all activities occurring on the project."),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"Widget's parameters:")),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"The actions for the widget are as follows: Update Project Settings, Update Defect Types, Delete Launch, Start Launch, Finish Launch, Share Widget, Dashboard, Unshare Widget, Dashboard, Post Issue to BTS, Add, Register User, Update BTS. By default, all actions are checked.")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"Items: 1-150. The default meaning is 50.")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"Type user name: By default all user's activities."))),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"Widget view")),(0,n.kt)("p",null,"The actions on the widget are present in a table, separated by days. Action messages have the following format:"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"}," ",(0,n.kt)("em",{parentName:"p"},"Member (name) did action."),(0,n.kt)("br",{parentName:"p"}),"\n","",(0,n.kt)("em",{parentName:"p"},"Time - displayed in 'time ago' format (i.e. \"10 minutes ago\"). On mouse hover, the system should display accurate action time.)"))),(0,n.kt)("media-view",{src:r(18849),alt:"Dashboard to manage test results: Project Activity Panel Widget"}))}u.isMDXComponent=!0},18849:(e,t,r)=>{r.r(t),r.d(t,{default:()=>a});const a=r.p+"assets/images/ProjectActivityPanel-5b227d5782302f0aed9d8e49bd7bfc12.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[6329],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>b});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var c=a.createContext({}),l=function(e){var t=a.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},p=function(e){var t=l(e.components);return a.createElement(c.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=l(r),m=n,b=d["".concat(c,".").concat(m)]||d[m]||u[m]||i;return r?a.createElement(b,o(o({ref:t},p),{},{components:r})):a.createElement(b,o({ref:t},p))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,o=new Array(i);o[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[d]="string"==typeof e?e:n,o[1]=s;for(var l=2;l{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var a=r(87462),n=(r(67294),r(3905));const i={sidebar_position:9,sidebar_label:"Project activity panel"},o="Project activity panel",s={unversionedId:"dashboards-and-widgets/ProjectActivityPanel",id:"dashboards-and-widgets/ProjectActivityPanel",title:"Project activity panel",description:"The widget shows all activities occurring on the project.",source:"@site/docs/dashboards-and-widgets/ProjectActivityPanel.mdx",sourceDirName:"dashboards-and-widgets",slug:"/dashboards-and-widgets/ProjectActivityPanel",permalink:"/docs/dashboards-and-widgets/ProjectActivityPanel",draft:!1,editUrl:"https://github.com/reportportal/docs/blob/develop/docs/dashboards-and-widgets/ProjectActivityPanel.mdx",tags:[],version:"current",sidebarPosition:9,frontMatter:{sidebar_position:9,sidebar_label:"Project activity panel"},sidebar:"defaultSidebar",previous:{title:"Launch execution and issue statistic",permalink:"/docs/dashboards-and-widgets/LaunchExecutionAndIssueStatistic"},next:{title:"Test-cases growth trend chart",permalink:"/docs/dashboards-and-widgets/TestCasesGrowthTrendChart"}},c={},l=[],p={toc:l},d="wrapper";function u(e){let{components:t,...i}=e;return(0,n.kt)(d,(0,a.Z)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"project-activity-panel"},"Project activity panel"),(0,n.kt)("p",null,"The widget shows all activities occurring on the project."),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"Widget's parameters:")),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"The actions for the widget:")," Start launch, Finish launch, Delete launch, Actions with issues, Assign/Invite users, Unassign user, Change role, Update Dashboard, Update widget, Update Filter, Update integration, Update project settings, Update Auto-Analysis settings, Update defect types, Import, Update Pattern-Analysis settings, Create pattern, Update pattern, Delete pattern, Pattern matched, Create project.")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"Items:")," 1-150. The default value is 50.")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},(0,n.kt)("strong",{parentName:"p"},"Criteria for widget:")," By default, all user's activities."))),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"Widget view")),(0,n.kt)("p",null,"The actions on the widget are present in a table, separated by days. Action messages have the following format:"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"}," ",(0,n.kt)("em",{parentName:"p"},"Member (name) did action."),(0,n.kt)("br",{parentName:"p"}),"\n","",(0,n.kt)("em",{parentName:"p"},"Time - displayed in 'time ago' format (i.e. \"10 minutes ago\"). On mouse hover, the system should display accurate action time."))),(0,n.kt)("media-view",{src:r(18849),alt:"Dashboard to manage test results: Project Activity Panel Widget"}),(0,n.kt)("media-view",{thumbnail:r(18849),src:"https://youtu.be/8njOHQ4Xy2s",alt:"How to create Project Activity Panel widget in our test automation results dashboard ",type:"video"}))}u.isMDXComponent=!0},18849:(e,t,r)=>{r.r(t),r.d(t,{default:()=>a});const a=r.p+"assets/images/ProjectActivityPanel-ba14b62374b30284ee04cf2d002d63b1.png"}}]); \ No newline at end of file diff --git a/assets/js/caf5215e.2fdaaccd.js b/assets/js/caf5215e.2fdaaccd.js new file mode 100644 index 000000000..99eef390f --- /dev/null +++ b/assets/js/caf5215e.2fdaaccd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[6056],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>m});var r=n(67294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),c=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,a=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),d=c(n),f=o,m=d["".concat(l,".").concat(f)]||d[f]||p[f]||a;return n?r.createElement(m,i(i({ref:t},u),{},{components:n})):r.createElement(m,i({ref:t},u))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=n.length,i=new Array(a);i[0]=f;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:o,i[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>c});var r=n(87462),o=(n(67294),n(3905));const a={sidebar_position:4,sidebar_label:"Data retention procedure"},i="Data retention procedure",s={unversionedId:"user-account/DataRetentionProcedure",id:"user-account/DataRetentionProcedure",title:"Data retention procedure",description:"Starting from version 23.2, ReportPortal introduces an option to establish a retention period for collected Personally Identifiable Information (PII) data during instance configuration. This configuration allows for setting an individual retention duration for the instance in days, such as N=90, 180, 540 or any other number of days.",source:"@site/docs/user-account/DataRetentionProcedure.md",sourceDirName:"user-account",slug:"/user-account/DataRetentionProcedure",permalink:"/docs/user-account/DataRetentionProcedure",draft:!1,editUrl:"https://github.com/reportportal/docs/blob/develop/docs/user-account/DataRetentionProcedure.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4,sidebar_label:"Data retention procedure"},sidebar:"defaultSidebar",previous:{title:"Delete account",permalink:"/docs/user-account/DeleteAccount"},next:{title:"Log data in ReportPortal",permalink:"/docs/category/log-data-in-reportportal"}},l={},c=[],u={toc:c},d="wrapper";function p(e){let{components:t,...n}=e;return(0,o.kt)(d,(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"data-retention-procedure"},"Data retention procedure"),(0,o.kt)("p",null,"Starting from version 23.2, ReportPortal introduces an option to establish a retention period for collected Personally Identifiable Information (PII) data during instance configuration. This configuration allows for setting an individual retention duration for the instance in days, such as N=90, 180, 540 or any other number of days."),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Docker")),(0,o.kt)("p",null,"To activate data retention, add the following environment variables to Service Jobs:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"# Int (days)\nRP_ENVIRONMENT_VARIABLE_CLEAN_EXPIREDUSER_RETENTIONPERIOD:\n\n# CRON\nRP_ENVIRONMENT_VARIABLE_CLEAN_EXPIREDUSER_CRON:\nRP_ENVIRONMENT_VARIABLE_NOTIFICATION_EXPIREDUSER_CRON:\n")),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Kubernetes")),(0,o.kt)("p",null,"Fill in Service Jobs values in the ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/reportportal/kubernetes/blob/master/reportportal/values.yaml"},"values.yaml")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"servicejobs:\ncoreJobs:\n # Int (days) \n notifyExpiredUserCron: \n\n # CRON \n cleanExpiredUserCron: \n cleanExpiredUserRetention: \n")),(0,o.kt)("p",null,"If the data retention option is enabled but a specific number of days for deleting inactive users is not specified, no deletions will occur. In the case of specifying 0 or a negative value, an error will be displayed in the logs."),(0,o.kt)("p",null,"When the data retention option is activated, the job will run daily to identify inactive users and obfuscate their data."),(0,o.kt)("p",null,"Inactive users are defined as follows:"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Users who have not logged in for N days.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Users who have not reported testing data for N days."))),(0,o.kt)("p",null,"Users are only classified as inactive if both conditions are satisfied."),(0,o.kt)("p",null,"In cases where a user logs in but doesn\u2019t submit any reports, they are not deleted as the second condition isn\u2019t fulfilled. Similarly, if a user has not logged in but has submitted reports, they are still considered active."),(0,o.kt)("p",null,"Before performing deletions, the system sends out email notifications as follows: notification \u21161 is dispatched to inactive users N-60 days before deletion, notification \u21162 is sent N-30 days prior, and notification \u21163 is sent 1 day before obfuscation. Notifications about account deletion are also sent by the system."),(0,o.kt)("p",null,"Users will be able to return whenever they are invited to the project."),(0,o.kt)("p",null,"In summary, a data retention policy optimizes resources and helps create a more efficient, secure, and effective environment for data management, which fosters business success."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/e378912b.a94f7506.js b/assets/js/e378912b.a94f7506.js deleted file mode 100644 index a76e8c472..000000000 --- a/assets/js/e378912b.a94f7506.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[7811],{45202:e=>{e.exports=JSON.parse('{"title":"Plugins","slug":"/category/plugins","permalink":"/docs/category/plugins","navigation":{"previous":{"title":"All Users page","permalink":"/docs/admin-panel/AllUsersPage"},"next":{"title":"Manage plugins","permalink":"/docs/plugins/ManagePlugins"}}}')}}]); \ No newline at end of file diff --git a/assets/js/e378912b.c89adc31.js b/assets/js/e378912b.c89adc31.js new file mode 100644 index 000000000..0bf9d16b4 --- /dev/null +++ b/assets/js/e378912b.c89adc31.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[7811],{45202:n=>{n.exports=JSON.parse('{"title":"Plugins","slug":"/category/plugins","permalink":"/docs/category/plugins","navigation":{"previous":{"title":"Event monitoring","permalink":"/docs/admin-panel/EventMonitoring"},"next":{"title":"Manage plugins","permalink":"/docs/plugins/ManagePlugins"}}}')}}]); \ No newline at end of file diff --git a/assets/js/fb391353.9009efa3.js b/assets/js/fb391353.9009efa3.js new file mode 100644 index 000000000..c41096fc8 --- /dev/null +++ b/assets/js/fb391353.9009efa3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[3540],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>k});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var s=r.createContext({}),p=function(e){var t=r.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},m=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},d="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,s=e.parentName,m=o(e,["components","mdxType","originalType","parentName"]),d=p(a),u=n,k=d["".concat(s,".").concat(u)]||d[u]||c[u]||l;return a?r.createElement(k,i(i({ref:t},m),{},{components:a})):r.createElement(k,i({ref:t},m))}));function k(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=u;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[d]="string"==typeof e?e:n,i[1]=o;for(var p=2;p{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var r=a(87462),n=(a(67294),a(3905));const l={sidebar_position:2,sidebar_label:"All Users page"},i="All Users page",o={unversionedId:"admin-panel/AllUsersPage",id:"admin-panel/AllUsersPage",title:"All Users page",description:'The "All Users" page in "Administrate" section provides the access to see all available users in the our Testops system.',source:"@site/docs/admin-panel/AllUsersPage.mdx",sourceDirName:"admin-panel",slug:"/admin-panel/AllUsersPage",permalink:"/docs/admin-panel/AllUsersPage",draft:!1,editUrl:"https://github.com/reportportal/docs/blob/develop/docs/admin-panel/AllUsersPage.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,sidebar_label:"All Users page"},sidebar:"defaultSidebar",previous:{title:"All Projects page",permalink:"/docs/admin-panel/AllProjectsPage"},next:{title:"Event monitoring",permalink:"/docs/admin-panel/EventMonitoring"}},s={},p=[{value:"Add user",id:"add-user",level:2},{value:"Invite user on the "All Users" page",id:"invite-user-on-the-all-users-page",level:2},{value:"Assign user on project",id:"assign-user-on-project",level:2},{value:"Unassign user from the project",id:"unassign-user-from-the-project",level:2},{value:"Edit user's project role",id:"edit-users-project-role",level:2},{value:"Delete user",id:"delete-user",level:2},{value:"Edit user account role",id:"edit-user-account-role",level:2}],m={toc:p},d="wrapper";function c(e){let{components:t,...l}=e;return(0,n.kt)(d,(0,r.Z)({},m,l,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"all-users-page"},"All Users page"),(0,n.kt)("p",null,'The "All Users" page in "Administrate" section provides the access to see all available users in the our Testops system.'),(0,n.kt)("p",null,"The page provides next information:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"user's information: login, full name, email address"),(0,n.kt)("li",{parentName:"ul"},"last login date: in 'time ago' format"),(0,n.kt)("li",{parentName:"ul"},"projects on which users are assigned and roles on them"),(0,n.kt)("li",{parentName:"ul"},"Delete button: only Admin is able to delete user from the system")),(0,n.kt)("p",null,'"All Users" page allows:'),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"to add and invite new ReportPortal users."),(0,n.kt)("li",{parentName:"ul"},"to assign users to the projects with any project role."),(0,n.kt)("li",{parentName:"ul"},"to unassign users from projects."),(0,n.kt)("li",{parentName:"ul"},"to update project role"),(0,n.kt)("li",{parentName:"ul"},"to delete users from ReportPortal.")),(0,n.kt)("p",null,'ReportPortal allows to create a new user account on the "All Users" page in the "Administration" section.'),(0,n.kt)("h2",{id:"add-user"},"Add user"),(0,n.kt)("p",null,'To add a user on the "All Users" page, perform the following steps:'),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Login into ReportPortal instance as Administrator.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Navigate to the "Administrate" section -',">",' "All users" page.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click on the "Add User" button.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Fill all fields with valid data in the "Add user" form and click on the "Add" button. A new user will be added to\nthe system and assigned to the selected project, and to "Personal Project" with the\nPROJECT MANAGER project role. Message with authorization data will be sent to the user\'s email.'))),(0,n.kt)("media-view",{thumbnail:a(83044),src:"https://youtu.be/LBLeaIbYIKc",alt:"Add User From All Users Page in our test report dashboard",type:"video"}),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},'This is the only place in the system where an Administrator can be created\nfrom. "Project role" is disabled, if Administrator has been selected in the\n"Account role" field. The "ProjectRole" parameter is not specified for\nAdministrator, the Administrator has full privileges on the project.')),(0,n.kt)("h2",{id:"invite-user-on-the-all-users-page"},'Invite user on the "All Users" page'),(0,n.kt)("p",null,'To invite a user on the "All Users" page, perform the following steps:'),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Login into ReportPortal instance as Administrator.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Navigate to the "Administrate" section -',">",' "All users" page.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click on the "Invite User" button.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Fill all fields with valid data in the "Invite user" form and click on the "Invite" button. The invitation\nhas been sent. You can copy the link to the invitation from the "Link to\ninvitation" field.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"The user will receive an email with the link to the invitation. Registration\nlink will be active until the user registers in the system by this reference,\nbut not more than 24 hours. When the user clicks the link, he/she will see a registration form.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'The user needs to fill in the registration form and click the "Register" button to complete the registration.\nThe user will be assigned to the project that was specified by you during the invitation,\nand to "Personal Project" with the PROJECT MANAGER project role.'))),(0,n.kt)("media-view",{thumbnail:a(91889),src:"https://youtu.be/228C6lLEpDE",alt:"Invite User From All Users page",type:"video"}),(0,n.kt)("h2",{id:"assign-user-on-project"},"Assign user on project"),(0,n.kt)("p",null,'To assign user on the "All Users" page, perform the following\nsteps:'),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Login into ReportPortal instance as Administrator.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Navigate to the "Administrate" section -',">",' "All Users" page.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Find a user and their projects in the "Projects and roles" column.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Click on the name of any project.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click "Add project" button.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Fill the name of project.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Select a project role.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click on the "Tick" button. - The user will be assigned to the project.'))),(0,n.kt)("h2",{id:"unassign-user-from-the-project"},"Unassign user from the project"),(0,n.kt)("p",null,"To unassign a user from the project, perform the following steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Navigate to the "Administrate" section -',">",' "All Users" page.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Find a user and their project in the "Projects and roles" column.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Click on the name of project.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click on "Cross" icon near the needed project.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Confirm the action. - The user will be unassigned from the project."))),(0,n.kt)("media-view",{thumbnail:a(73404),src:"https://youtu.be/AMETdsGPg1g",alt:"Assign and Unassign User From All Users page",type:"video"}),(0,n.kt)("h2",{id:"edit-users-project-role"},"Edit user's project role"),(0,n.kt)("p",null,'To edit a user project role on the "All Users" page, perform the following\nsteps:'),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Login into ReportPortal instance as Administrator.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Navigate to the "Administrate" section -',">",' "All Users" page.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Find a user and their project in the "Projects and roles" column.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Click on the name of project.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Select a new value from the "Project Role" drop-down.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Click on the tick button."))),(0,n.kt)("media-view",{thumbnail:a(93917),src:"https://youtu.be/SPsn1Pw3Tno",alt:"Edit Project Role From All Users page",type:"video"}),(0,n.kt)("h2",{id:"delete-user"},"Delete user"),(0,n.kt)("p",null,"To delete a user from ReportPortal, perform the following steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Login into ReportPortal instance as Administrator.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Navigate to the "Administrate" section -',">",' "All Users" page.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Select a user and click the "Delete" button.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"The warning message will be displayed.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click the "Delete" button. The user will be deleted from the ReportPortal. All launches and shared data (filters,\ndashboards and widgets), that the user owns on the projects will be kept in ReportPortal.'))),(0,n.kt)("media-view",{thumbnail:a(83315),src:"https://youtu.be/T5PYG91iygU",alt:"Delete User",type:"video"}),(0,n.kt)("h2",{id:"edit-user-account-role"},"Edit user account role"),(0,n.kt)("p",null,"The only space in ReportPortal where user can get the Administrator rights is All Users page."),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"Give ADMINISTRATOR role")),(0,n.kt)("p",null,"To give Administrator role for any user, perform the following steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Login into the ReportPortal instance as Administrator.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Navigate to the "Administrate" section -',">",' "All Users" page.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Hover over user\'s name. - "Make admin" button will be displayed.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click on the "Make admin" button. - A confirmation message will be shown.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click "Change" button on pop-up window. Account role User will be changed to\nAdministrator. The user account will be marked with "admin" label.'))),(0,n.kt)("media-view",{thumbnail:a(24463),src:"https://youtu.be/ZkACZLc1wAk",alt:"Change Account Role to Administrator",type:"video"}),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"Take away ADMINISTRATOR role")),(0,n.kt)("p",null,"To take away Administrator account role, perform the following steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Login into ReportPortal instance as Administrator.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Navigate to the "Administrate" section -',">",' "All Users" page.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click on the "Admin" button near the user\'s name.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"A confirm message will be shown.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click "Change" button. Account role "Administrator" will be changed to\n"User".'))),(0,n.kt)("media-view",{thumbnail:a(58695),src:"https://youtu.be/pJbbmuXK2ZQ",alt:"Take away Administrator role",type:"video"}))}c.isMDXComponent=!0},83044:(e,t,a)=>{a.r(t),a.d(t,{default:()=>r});const r=a.p+"assets/images/AddUserAllUsersPage-f46da0b6c33a03ffb65177a1f401ba57.png"},73404:(e,t,a)=>{a.r(t),a.d(t,{default:()=>r});const r=a.p+"assets/images/AssignUnassignAllUsersPage-6174d091c52e23313530e122413560c4.png"},83315:(e,t,a)=>{a.r(t),a.d(t,{default:()=>r});const r=a.p+"assets/images/DeleteUserAllUsersPage-63dff28ee91c8b91376dd0d8024f5969.png"},93917:(e,t,a)=>{a.r(t),a.d(t,{default:()=>r});const r=a.p+"assets/images/EditUserProjectRoleAllUsersPage-78b81fb4bec99fd00df7b8c7ece9bf70.png"},91889:(e,t,a)=>{a.r(t),a.d(t,{default:()=>r});const r=a.p+"assets/images/InviteUserAllUsersPage-3a0c2e6eae499eaff9d9d5f3fbaa63ec.png"},24463:(e,t,a)=>{a.r(t),a.d(t,{default:()=>r});const r=a.p+"assets/images/MakeAdmin-cc199c6e2b5acae9bc6d790861e1f396.png"},58695:(e,t,a)=>{a.r(t),a.d(t,{default:()=>r});const r=a.p+"assets/images/TakeAwayAdminRole-9bb55695012275f356e17fba7aff33c4.png"}}]); \ No newline at end of file diff --git a/assets/js/fb391353.c9937d51.js b/assets/js/fb391353.c9937d51.js deleted file mode 100644 index 1a2484c34..000000000 --- a/assets/js/fb391353.c9937d51.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[3540],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>k});var r=a(67294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var s=r.createContext({}),p=function(e){var t=r.useContext(s),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},m=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},d="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,l=e.originalType,s=e.parentName,m=o(e,["components","mdxType","originalType","parentName"]),d=p(a),u=n,k=d["".concat(s,".").concat(u)]||d[u]||c[u]||l;return a?r.createElement(k,i(i({ref:t},m),{},{components:a})):r.createElement(k,i({ref:t},m))}));function k(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=a.length,i=new Array(l);i[0]=u;var o={};for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);o.originalType=e,o[d]="string"==typeof e?e:n,i[1]=o;for(var p=2;p{a.r(t),a.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var r=a(87462),n=(a(67294),a(3905));const l={sidebar_position:2,sidebar_label:"All Users page"},i="All Users page",o={unversionedId:"admin-panel/AllUsersPage",id:"admin-panel/AllUsersPage",title:"All Users page",description:'The "All Users" page in "Administrate" section provides the access to see all available users in the our Testops system.',source:"@site/docs/admin-panel/AllUsersPage.mdx",sourceDirName:"admin-panel",slug:"/admin-panel/AllUsersPage",permalink:"/docs/admin-panel/AllUsersPage",draft:!1,editUrl:"https://github.com/reportportal/docs/blob/develop/docs/admin-panel/AllUsersPage.mdx",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,sidebar_label:"All Users page"},sidebar:"defaultSidebar",previous:{title:"All Projects page",permalink:"/docs/admin-panel/AllProjectsPage"},next:{title:"Plugins",permalink:"/docs/category/plugins"}},s={},p=[{value:"Add user",id:"add-user",level:2},{value:"Invite user on the "All Users" page",id:"invite-user-on-the-all-users-page",level:2},{value:"Assign user on project",id:"assign-user-on-project",level:2},{value:"Unassign user from the project",id:"unassign-user-from-the-project",level:2},{value:"Edit user's project role",id:"edit-users-project-role",level:2},{value:"Delete user",id:"delete-user",level:2},{value:"Edit user account role",id:"edit-user-account-role",level:2}],m={toc:p},d="wrapper";function c(e){let{components:t,...l}=e;return(0,n.kt)(d,(0,r.Z)({},m,l,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"all-users-page"},"All Users page"),(0,n.kt)("p",null,'The "All Users" page in "Administrate" section provides the access to see all available users in the our Testops system.'),(0,n.kt)("p",null,"The page provides next information:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"user's information: login, full name, email address"),(0,n.kt)("li",{parentName:"ul"},"last login date: in 'time ago' format"),(0,n.kt)("li",{parentName:"ul"},"projects on which users are assigned and roles on them"),(0,n.kt)("li",{parentName:"ul"},"Delete button: only Admin is able to delete user from the system")),(0,n.kt)("p",null,'"All Users" page allows:'),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"to add and invite new ReportPortal users."),(0,n.kt)("li",{parentName:"ul"},"to assign users to the projects with any project role."),(0,n.kt)("li",{parentName:"ul"},"to unassign users from projects."),(0,n.kt)("li",{parentName:"ul"},"to update project role"),(0,n.kt)("li",{parentName:"ul"},"to delete users from ReportPortal.")),(0,n.kt)("p",null,'ReportPortal allows to create a new user account on the "All Users" page in the "Administration" section.'),(0,n.kt)("h2",{id:"add-user"},"Add user"),(0,n.kt)("p",null,'To add a user on the "All Users" page, perform the following steps:'),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Login into ReportPortal instance as Administrator.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Navigate to the "Administrate" section -',">",' "All users" page.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click on the "Add User" button.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Fill all fields with valid data in the "Add user" form and click on the "Add" button. A new user will be added to\nthe system and assigned to the selected project, and to "Personal Project" with the\nPROJECT MANAGER project role. Message with authorization data will be sent to the user\'s email.'))),(0,n.kt)("media-view",{thumbnail:a(83044),src:"https://youtu.be/LBLeaIbYIKc",alt:"Add User From All Users Page in our test report dashboard",type:"video"}),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},'This is the only place in the system where an Administrator can be created\nfrom. "Project role" is disabled, if Administrator has been selected in the\n"Account role" field. The "ProjectRole" parameter is not specified for\nAdministrator, the Administrator has full privileges on the project.')),(0,n.kt)("h2",{id:"invite-user-on-the-all-users-page"},'Invite user on the "All Users" page'),(0,n.kt)("p",null,'To invite a user on the "All Users" page, perform the following steps:'),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Login into ReportPortal instance as Administrator.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Navigate to the "Administrate" section -',">",' "All users" page.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click on the "Invite User" button.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Fill all fields with valid data in the "Invite user" form and click on the "Invite" button. The invitation\nhas been sent. You can copy the link to the invitation from the "Link to\ninvitation" field.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"The user will receive an email with the link to the invitation. Registration\nlink will be active until the user registers in the system by this reference,\nbut not more than 24 hours. When the user clicks the link, he/she will see a registration form.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'The user needs to fill in the registration form and click the "Register" button to complete the registration.\nThe user will be assigned to the project that was specified by you during the invitation,\nand to "Personal Project" with the PROJECT MANAGER project role.'))),(0,n.kt)("media-view",{thumbnail:a(91889),src:"https://youtu.be/228C6lLEpDE",alt:"Invite User From All Users page",type:"video"}),(0,n.kt)("h2",{id:"assign-user-on-project"},"Assign user on project"),(0,n.kt)("p",null,'To assign user on the "All Users" page, perform the following\nsteps:'),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Login into ReportPortal instance as Administrator.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Navigate to the "Administrate" section -',">",' "All Users" page.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Find a user and their projects in the "Projects and roles" column.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Click on the name of any project.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click "Add project" button.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Fill the name of project.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Select a project role.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click on the "Tick" button. - The user will be assigned to the project.'))),(0,n.kt)("h2",{id:"unassign-user-from-the-project"},"Unassign user from the project"),(0,n.kt)("p",null,"To unassign a user from the project, perform the following steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Navigate to the "Administrate" section -',">",' "All Users" page.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Find a user and their project in the "Projects and roles" column.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Click on the name of project.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click on "Cross" icon near the needed project.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Confirm the action. - The user will be unassigned from the project."))),(0,n.kt)("media-view",{thumbnail:a(73404),src:"https://youtu.be/AMETdsGPg1g",alt:"Assign and Unassign User From All Users page",type:"video"}),(0,n.kt)("h2",{id:"edit-users-project-role"},"Edit user's project role"),(0,n.kt)("p",null,'To edit a user project role on the "All Users" page, perform the following\nsteps:'),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Login into ReportPortal instance as Administrator.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Navigate to the "Administrate" section -',">",' "All Users" page.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Find a user and their project in the "Projects and roles" column.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Click on the name of project.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Select a new value from the "Project Role" drop-down.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Click on the tick button."))),(0,n.kt)("media-view",{thumbnail:a(93917),src:"https://youtu.be/SPsn1Pw3Tno",alt:"Edit Project Role From All Users page",type:"video"}),(0,n.kt)("h2",{id:"delete-user"},"Delete user"),(0,n.kt)("p",null,"To delete a user from ReportPortal, perform the following steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Login into ReportPortal instance as Administrator.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Navigate to the "Administrate" section -',">",' "All Users" page.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Select a user and click the "Delete" button.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"The warning message will be displayed.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click the "Delete" button. The user will be deleted from the ReportPortal. All launches and shared data (filters,\ndashboards and widgets), that the user owns on the projects will be kept in ReportPortal.'))),(0,n.kt)("media-view",{thumbnail:a(83315),src:"https://youtu.be/T5PYG91iygU",alt:"Delete User",type:"video"}),(0,n.kt)("h2",{id:"edit-user-account-role"},"Edit user account role"),(0,n.kt)("p",null,"The only space in ReportPortal where user can get the Administrator rights is All Users page."),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"Give ADMINISTRATOR role")),(0,n.kt)("p",null,"To give Administrator role for any user, perform the following steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Login into the ReportPortal instance as Administrator.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Navigate to the "Administrate" section -',">",' "All Users" page.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Hover over user\'s name. - "Make admin" button will be displayed.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click on the "Make admin" button. - A confirmation message will be shown.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click "Change" button on pop-up window. Account role User will be changed to\nAdministrator. The user account will be marked with "admin" label.'))),(0,n.kt)("media-view",{thumbnail:a(24463),src:"https://youtu.be/ZkACZLc1wAk",alt:"Change Account Role to Administrator",type:"video"}),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"Take away ADMINISTRATOR role")),(0,n.kt)("p",null,"To take away Administrator account role, perform the following steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Login into ReportPortal instance as Administrator.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Navigate to the "Administrate" section -',">",' "All Users" page.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click on the "Admin" button near the user\'s name.')),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"A confirm message will be shown.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'Click "Change" button. Account role "Administrator" will be changed to\n"User".'))),(0,n.kt)("media-view",{thumbnail:a(58695),src:"https://youtu.be/pJbbmuXK2ZQ",alt:"Take away Administrator role",type:"video"}))}c.isMDXComponent=!0},83044:(e,t,a)=>{a.r(t),a.d(t,{default:()=>r});const r=a.p+"assets/images/AddUserAllUsersPage-f46da0b6c33a03ffb65177a1f401ba57.png"},73404:(e,t,a)=>{a.r(t),a.d(t,{default:()=>r});const r=a.p+"assets/images/AssignUnassignAllUsersPage-6174d091c52e23313530e122413560c4.png"},83315:(e,t,a)=>{a.r(t),a.d(t,{default:()=>r});const r=a.p+"assets/images/DeleteUserAllUsersPage-63dff28ee91c8b91376dd0d8024f5969.png"},93917:(e,t,a)=>{a.r(t),a.d(t,{default:()=>r});const r=a.p+"assets/images/EditUserProjectRoleAllUsersPage-78b81fb4bec99fd00df7b8c7ece9bf70.png"},91889:(e,t,a)=>{a.r(t),a.d(t,{default:()=>r});const r=a.p+"assets/images/InviteUserAllUsersPage-3a0c2e6eae499eaff9d9d5f3fbaa63ec.png"},24463:(e,t,a)=>{a.r(t),a.d(t,{default:()=>r});const r=a.p+"assets/images/MakeAdmin-cc199c6e2b5acae9bc6d790861e1f396.png"},58695:(e,t,a)=>{a.r(t),a.d(t,{default:()=>r});const r=a.p+"assets/images/TakeAwayAdminRole-9bb55695012275f356e17fba7aff33c4.png"}}]); \ No newline at end of file diff --git a/assets/js/main.82d0423b.js b/assets/js/main.82d0423b.js new file mode 100644 index 000000000..f1d655aa1 --- /dev/null +++ b/assets/js/main.82d0423b.js @@ -0,0 +1,2 @@ +/*! For license information please see main.82d0423b.js.LICENSE.txt */ +(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[179],{20830:(e,t,n)=>{"use strict";n.d(t,{W:()=>a});var r=n(67294);function a(){return r.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},r.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}},57052:(e,t,n)=>{"use strict";n.d(t,{D:()=>a});var r=n(67294);function a(e){var t=e.isOpen,n=e.onOpen,a=e.onClose,o=e.onInput,i=e.searchButtonRef;r.useEffect((function(){function e(e){(27===e.keyCode&&t||"k"===e.key.toLowerCase()&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)&&(e.preventDefault(),t?a():document.body.classList.contains("DocSearch--active")||document.body.classList.contains("DocSearch--active")||n()),i&&i.current===document.activeElement&&o&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&o(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,a,o,i])}},723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(67294),a=n(87462),o=n(68356),i=n.n(o),s=n(16887);const l={"00685d85":[()=>n.e(9417).then(n.bind(n,25197)),"@site/docs/quality-gates/UploadQualityGateToReportPortal.mdx",25197],"00dd8e60":[()=>n.e(3466).then(n.bind(n,49737)),"@site/docs/reportportal-glossary/index.mdx",49737],"00e97bf6":[()=>n.e(4946).then(n.bind(n,93641)),"@site/docs/dashboards-and-widgets/TableComponentHealthCheck.mdx",93641],"0225d014":[()=>n.e(4587).then(n.bind(n,64621)),"@site/docs/dev-guides/ReportPortalAPI.mdx",64621],"027cf034":[()=>n.e(9168).then(n.bind(n,22090)),"@site/docs/log-data-in-reportportal/ImplementOwnIntegration.md",22090],"05bac479":[()=>n.e(5114).then(n.bind(n,47933)),"@site/docs/dev-guides/ReportingDevelopersGuide.md",47933],"066b0604":[()=>n.e(4665).then(n.t.bind(n,71621,19)),"~docs/default/category-docs-defaultsidebar-category-features-557.json",71621],"069ddc90":[()=>n.e(1006).then(n.bind(n,49656)),"@site/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/RestAssured.md",49656],"06de0160":[()=>n.e(2654).then(n.t.bind(n,14573,19)),"~docs/default/category-docs-defaultsidebar-category-reportportal-configuration-471.json",14573],"07801322":[()=>n.e(9413).then(n.bind(n,58516)),"@site/docs/issues-troubleshooting/IssuesWithLDAPSHowToResolve.md",58516],"07d78bf6":[()=>n.e(747).then(n.bind(n,5440)),"@site/docs/dashboards-and-widgets/MostTimeConsumingTestCasesWidgetTop20.mdx",5440],"086e8e8b":[()=>n.e(5296).then(n.bind(n,45257)),"@site/docs/issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingVacuumFull.md",45257],"0a099a4f":[()=>n.e(1995).then(n.bind(n,73255)),"@site/docs/work-with-reports/UniqueId.md",73255],"0e384e19":[()=>n.e(9671).then(n.bind(n,59881)),"@site/docs/intro.md",59881],"0e3ba2c6":[()=>n.e(9314).then(n.t.bind(n,13487,19)),"~docs/default/category-docs-defaultsidebar-category-user-account-a12.json",13487],"11ffa791":[()=>n.e(3969).then(n.bind(n,80060)),"@site/docs/dev-guides/RerunDevelopersGuide.mdx",80060],"145e5b9f":[()=>n.e(5106).then(n.bind(n,32333)),"@site/docs/log-data-in-reportportal/test-framework-integration/JavaScript/index.md",32333],"146035e7":[()=>n.e(8193).then(n.bind(n,44323)),"@site/docs/dev-guides/InteractionsBetweenAPIAndAnalyzer.mdx",44323],"14eb3368":[()=>Promise.all([n.e(532),n.e(9817)]).then(n.bind(n,34228)),"@theme/DocCategoryGeneratedIndexPage",34228],17896441:[()=>Promise.all([n.e(532),n.e(1949),n.e(7918)]).then(n.bind(n,34465)),"@theme/DocItem",34465],"17cee6e7":[()=>n.e(7810).then(n.bind(n,8988)),"@site/docs/issues-troubleshooting/HowToAvoidLocalExecutionReportedIntoProjectSpace.md",8988],"17e33bf8":[()=>n.e(4216).then(n.bind(n,80054)),"@site/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Nightwatch.md",80054],"18fa88f3":[()=>n.e(3099).then(n.bind(n,50487)),"@site/docs/releases/Version5.3.0.md",50487],"1a4e3797":[()=>Promise.all([n.e(532),n.e(7920)]).then(n.bind(n,56675)),"@theme/SearchPage",56675],"1a613e91":[()=>n.e(5398).then(n.t.bind(n,20618,19)),"~docs/default/category-docs-defaultsidebar-category-loggers-1-389.json",20618],"1be78505":[()=>Promise.all([n.e(532),n.e(8382),n.e(9514)]).then(n.bind(n,19963)),"@theme/DocPage",19963],"1d9da1f4":[()=>n.e(2387).then(n.bind(n,58957)),"@site/docs/features/UnifiedTestReporting.md",58957],"1da087e0":[()=>n.e(2297).then(n.t.bind(n,74909,19)),"~docs/default/category-docs-defaultsidebar-category-issues-troubleshooting-13a.json",74909],"1e1599cb":[()=>n.e(2630).then(n.bind(n,56951)),"@site/docs/log-data-in-reportportal/test-framework-integration/PHP/Behat.md",56951],"1f98178b":[()=>n.e(9714).then(n.bind(n,38238)),"@site/docs/quality-gates/IntegrationWithCICD/IntegrationWithJenkins.mdx",38238],"220207ff":[()=>n.e(2147).then(n.bind(n,83758)),"@site/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Cypress.md",83758],"223301d0":[()=>n.e(9709).then(n.bind(n,448)),"@site/docs/releases/Version5.7.2.md",448],"23a9762f":[()=>n.e(2253).then(n.bind(n,34234)),"@site/docs/dev-guides/AsynchronousReporting.mdx",34234],"24317c98":[()=>n.e(8010).then(n.bind(n,38980)),"@site/docs/installation-steps/BasicMonitoringConfiguration.md",38980],"247783bb":[()=>n.e(9334).then(n.t.bind(n,83769,19)),"/home/runner/work/docs/docs/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",83769],"24ad2548":[()=>n.e(5165).then(n.t.bind(n,99082,19)),"~docs/default/category-docs-defaultsidebar-category-saved-searches-filters-344.json",99082],"267ccbc6":[()=>n.e(2169).then(n.bind(n,94199)),"@site/docs/log-data-in-reportportal/test-framework-integration/Other/index.md",94199],"269e975a":[()=>n.e(3079).then(n.bind(n,31187)),"@site/docs/log-data-in-reportportal/test-framework-integration/Python/behave.md",31187],"28b23d2a":[()=>n.e(5711).then(n.t.bind(n,5446,19)),"~docs/default/category-docs-defaultsidebar-category-terms-conditions-559.json",5446],"295d89fa":[()=>n.e(452).then(n.bind(n,75272)),"@site/docs/dashboards-and-widgets/UniqueBugsTable.mdx",75272],"2a424e83":[()=>n.e(2310).then(n.bind(n,11046)),"@site/docs/quality-gates/QualityRulesConfiguration.mdx",11046],"2baa0d2f":[()=>n.e(5400).then(n.bind(n,4472)),"@site/docs/dashboards-and-widgets/ComponentHealthCheck.mdx",4472],"2c6eda14":[()=>n.e(9866).then(n.bind(n,43319)),"@site/docs/FAQ/index.md",43319],"2e91390a":[()=>n.e(9764).then(n.bind(n,2331)),"@site/docs/dashboards-and-widgets/MostFailedTestCasesTableTop20.mdx",2331],"306aee24":[()=>n.e(414).then(n.bind(n,35860)),"@site/docs/log-data-in-reportportal/test-framework-integration/Net/xUnit.md",35860],"33580f2e":[()=>n.e(2106).then(n.bind(n,49538)),"@site/docs/installation-steps/DeployWithDockerOnLinuxMac.md",49538],"338561f9":[()=>n.e(3885).then(n.bind(n,53510)),"@site/docs/dashboards-and-widgets/PassingRateSummary.mdx",53510],"35b6bff0":[()=>n.e(7819).then(n.bind(n,31426)),"@site/docs/case-studies/ImprovingTestAutomationStability.mdx",31426],"37a6abbb":[()=>n.e(742).then(n.bind(n,41146)),"@site/docs/analysis/SearchForTheSimilarToInvestigateItems.mdx",41146],"37e2c88f":[()=>n.e(1688).then(n.bind(n,66844)),"@site/docs/installation-steps/DeployOnUbuntuOS.md",66844],"3938886d":[()=>n.e(1434).then(n.bind(n,61490)),"@site/docs/dashboards-and-widgets/MostPopularPatternTableTop20.mdx",61490],"396f0464":[()=>n.e(2720).then(n.t.bind(n,14501,19)),"~docs/default/category-docs-defaultsidebar-category-loggers-48e.json",14501],"39df2a2d":[()=>n.e(9836).then(n.bind(n,30831)),"@site/docs/installation-steps/DeployWithKubernetes.md",30831],"3ac6333e":[()=>n.e(9998).then(n.t.bind(n,56373,19)),"~docs/default/category-docs-defaultsidebar-category-log-data-in-reportportal-f77.json",56373],"3c75ee7d":[()=>n.e(9222).then(n.bind(n,16619)),"@site/docs/installation-steps/MaintainCommandsCheatSheet.md",16619],"3d7d2ef4":[()=>n.e(4580).then(n.bind(n,43477)),"@site/docs/work-with-reports/TestCaseId.md",43477],"402a601e":[()=>n.e(1229).then(n.bind(n,2928)),"@site/docs/releases/Version5.0.0.md",2928],"40be41a9":[()=>n.e(6325).then(n.bind(n,3848)),"@site/docs/reportportal-configuration/authorization/SAMLProvider/AzureSAML.mdx",3848],"41a0b225":[()=>n.e(1392).then(n.bind(n,18057)),"@site/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/Log4J.md",18057],"4656db35":[()=>n.e(7260).then(n.bind(n,41639)),"@site/docs/log-data-in-reportportal/ReportingSDK.md",41639],"46ef8a18":[()=>n.e(5090).then(n.bind(n,11556)),"@site/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/ApacheHttpComponents.md",11556],"4779d29a":[()=>n.e(110).then(n.bind(n,25025)),"@site/docs/releases/Version4.3.md",25025],"47aa7b91":[()=>n.e(6365).then(n.bind(n,21274)),"@site/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Jest.md",21274],"4859ca05":[()=>n.e(5635).then(n.bind(n,98059)),"@site/docs/log-data-in-reportportal/test-framework-integration/Java/SoapUI.md",98059],"491e614f":[()=>n.e(7003).then(n.bind(n,63135)),"@site/docs/releases/Version5.7.0.md",63135],"4b05701a":[()=>n.e(2822).then(n.bind(n,32864)),"@site/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/TraceListener.md",32864],50343655:[()=>n.e(9878).then(n.bind(n,12803)),"@site/docs/plugins/AtlassianJiraServer.mdx",12803],"50df0f53":[()=>n.e(7778).then(n.bind(n,5396)),"@site/docs/features/RESTAPI.md",5396],"512e5a2f":[()=>n.e(8960).then(n.bind(n,672)),"@site/docs/releases/Version5.2.0.md",672],"5200637f":[()=>n.e(9106).then(n.bind(n,84855)),"@site/docs/log-data-in-reportportal/test-framework-integration/PHP/PHPUnit.md",84855],"525802b3":[()=>n.e(8934).then(n.bind(n,66465)),"@site/docs/user-account/RestoreAPassword.mdx",66465],"527a0828":[()=>n.e(104).then(n.bind(n,94696)),"@site/docs/plugins/Rally.mdx",94696],"53e81573":[()=>n.e(5421).then(n.bind(n,13651)),"@site/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Mocha.md",13651],"54146d47":[()=>n.e(150).then(n.bind(n,11710)),"@site/docs/analysis/UniqueErrorAnalysis.mdx",11710],"5668619f":[()=>n.e(225).then(n.bind(n,4636)),"@site/docs/reportportal-configuration/ProjectConfiguration.mdx",4636],"5718d6db":[()=>n.e(5222).then(n.bind(n,97937)),"@site/docs/issues-troubleshooting/HowToResolveIssuesWithMigrationToTheNewVersion.md",97937],"58f41459":[()=>n.e(8658).then(n.bind(n,30734)),"@site/docs/analysis/MLSuggestions.md",30734],"59b068d1":[()=>n.e(6385).then(n.t.bind(n,7085,19)),"/home/runner/work/docs/docs/.docusaurus/docusaurus-theme-search-algolia/default/plugin-route-context-module-100.json",7085],"5aa350ff":[()=>n.e(195).then(n.bind(n,5119)),"@site/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Jasmine.md",5119],"5c2df135":[()=>n.e(2629).then(n.bind(n,77737)),"@site/docs/plugins/SauceLabs.mdx",77737],"5ce704b9":[()=>n.e(2439).then(n.bind(n,78201)),"@site/docs/analysis/ManualAnalysis.mdx",78201],"5e24e3bc":[()=>n.e(2539).then(n.bind(n,31389)),"@site/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/OkHttp3.md",31389],"6063f56a":[()=>n.e(7543).then(n.bind(n,40046)),"@site/docs/dev-guides/APIDifferencesBetweenV4AndV5.md",40046],"60ab5c4c":[()=>n.e(8877).then(n.bind(n,44390)),"@site/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/Log4Net.md",44390],"61d84721":[()=>n.e(2813).then(n.bind(n,92928)),"@site/docs/log-data-in-reportportal/test-framework-integration/JavaScript/TestCafe.md",92928],"63a8a649":[()=>n.e(9145).then(n.bind(n,9421)),"@site/docs/log-data-in-reportportal/test-framework-integration/Java/Spock.md",9421],"6417b00a":[()=>n.e(39).then(n.bind(n,56779)),"@site/docs/quality-gates/HowToInstallQualityGates.md",56779],"661e81a0":[()=>n.e(2066).then(n.bind(n,36005)),"@site/docs/log-data-in-reportportal/test-framework-integration/PHP/index.md",36005],"67854d34":[()=>n.e(9944).then(n.bind(n,16373)),"@site/docs/quality-gates/QualityGatePurpose.mdx",16373],"67d29b54":[()=>n.e(7162).then(n.bind(n,59109)),"@site/docs/releases/Version4.2.0.md",59109],"68053dc3":[()=>n.e(2471).then(n.t.bind(n,16187,19)),"~docs/default/category-docs-defaultsidebar-category-work-with-reports-040.json",16187],"69c1213a":[()=>n.e(9052).then(n.bind(n,33967)),"@site/docs/analysis/AutoAnalysisOfLaunches.mdx",33967],"69cd44f6":[()=>n.e(8448).then(n.bind(n,83156)),"@site/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/NLog.md",83156],"6b0c725a":[()=>n.e(1992).then(n.t.bind(n,35981,19)),"~docs/default/category-docs-defaultsidebar-category-releases-267.json",35981],"6bc80c47":[()=>n.e(4021).then(n.bind(n,91197)),"@site/docs/log-data-in-reportportal/test-framework-integration/Net/index.md",91197],"6e16c901":[()=>n.e(1613).then(n.bind(n,61269)),"@site/docs/issues-troubleshooting/ResolveAnalyzerKnownIssues.mdx",61269],"6ef1a459":[()=>n.e(6027).then(n.bind(n,30383)),"@site/docs/reportportal-configuration/authorization/SAMLProvider/OktaSAML.mdx",30383],"6efd3b1f":[()=>n.e(1472).then(n.bind(n,48913)),"@site/docs/installation-steps/SetupTSLSSLInTraefik2.0.x.md",48913],"6f37af33":[()=>n.e(7971).then(n.bind(n,80411)),"@site/docs/releases/Version5.2.2.md",80411],"71498ad5":[()=>n.e(1413).then(n.bind(n,59715)),"@site/docs/log-data-in-reportportal/ImportDataToReportPortal.mdx",59715],"72119d79":[()=>n.e(5212).then(n.t.bind(n,15739,19)),"~docs/default/category-docs-defaultsidebar-category-quality-gates-e33.json",15739],"7236dcb4":[()=>n.e(7213).then(n.bind(n,10517)),"@site/docs/terms-and-conditions/GoogleAnalyticsUsageByReportPortal.mdx",10517],"73bb90fb":[()=>n.e(5326).then(n.bind(n,3514)),"@site/docs/quality-gates/IntegrationWithCICD/index.md",3514],"74cbe0b8":[()=>n.e(367).then(n.bind(n,79883)),"@site/docs/log-data-in-reportportal/test-framework-integration/JavaScript/CucumberJS.md",79883],"75581c38":[()=>n.e(130).then(n.bind(n,37410)),"@site/docs/releases/Version5.3.1..md",37410],"76c8ca36":[()=>n.e(3047).then(n.bind(n,48059)),"@site/docs/releases/Versionv23.1.md",48059],"781adc30":[()=>n.e(3761).then(n.bind(n,73395)),"@site/docs/releases/Version3.3.2.md",73395],"7821a10c":[()=>n.e(1490).then(n.bind(n,53654)),"@site/docs/issues-troubleshooting/TuningCITool.mdx",53654],"78dfb7e9":[()=>n.e(795).then(n.bind(n,24146)),"@site/docs/quality-gates/QualityGateEdit.md",24146],"7a3e07c8":[()=>n.e(288).then(n.bind(n,708)),"@site/docs/releases/Version5.4.0.md",708],"7a770024":[()=>n.e(562).then(n.bind(n,2166)),"@site/docs/work-with-reports/InvestigationOfFailure.md",2166],"7bbaf234":[()=>n.e(7318).then(n.bind(n,19820)),"@site/docs/user-role-guides/index.md",19820],"7bd95ec4":[()=>n.e(3360).then(n.bind(n,18593)),"@site/docs/reportportal-configuration/authorization/ActiveDirectory.md",18593],"7ce8e9eb":[()=>n.e(8939).then(n.bind(n,8117)),"@site/docs/releases/Version5.2.1.md",8117],"7d141066":[()=>n.e(3931).then(n.bind(n,22699)),"@site/docs/issues-troubleshooting/IssuesWithJIRABugTrackingSystemHowToResolve.md",22699],"7de4166c":[()=>n.e(3477).then(n.bind(n,53402)),"@site/docs/quality-gates/DeleteQualityGates.md",53402],"7ef0b1f8":[()=>n.e(8734).then(n.bind(n,32474)),"@site/docs/analysis/PatternAnalysis.mdx",32474],"7f9bbddb":[()=>n.e(4275).then(n.bind(n,47425)),"@site/docs/releases/Version4.1.0.md",47425],"81bc17b9":[()=>n.e(8069).then(n.bind(n,51293)),"@site/docs/reportportal-tutorial/index.mdx",51293],"8272edfd":[()=>n.e(8007).then(n.bind(n,4115)),"@site/docs/dashboards-and-widgets/DifferentLaunchesComparisonChart.mdx",4115],"838a8de2":[()=>n.e(8943).then(n.bind(n,23576)),"@site/docs/features/CategorisationOfFailures.md",23576],"84982dca":[()=>n.e(4472).then(n.bind(n,36861)),"@site/docs/dashboards-and-widgets/NonPassedTestCasesTrendChart.mdx",36861],"849f9212":[()=>n.e(1320).then(n.bind(n,89210)),"@site/docs/log-data-in-reportportal/test-framework-integration/Net/VSTest.md",89210],"84d47c34":[()=>n.e(5445).then(n.bind(n,13905)),"@site/docs/issues-troubleshooting/HowToAddATestStackTraceToADescriptionAutomatically.mdx",13905],"84e29575":[()=>n.e(6412).then(n.bind(n,69994)),"@site/docs/work-with-reports/ViewLaunches.mdx",69994],"855239bf":[()=>n.e(4695).then(n.bind(n,67322)),"@site/docs/dashboards-and-widgets/InvestigatedPercentageOfLaunches.mdx",67322],"855c8e88":[()=>n.e(102).then(n.bind(n,95537)),"@site/docs/dashboards-and-widgets/OverallStatistics.mdx",95537],"85d780d7":[()=>n.e(7762).then(n.bind(n,96183)),"@site/docs/dashboards-and-widgets/PossibleDashboardsInReportPortal.mdx",96183],"87014e7c":[()=>n.e(1168).then(n.bind(n,77985)),"@site/docs/releases/Version4.0.0.md",77985],"882bd5c3":[()=>n.e(6255).then(n.bind(n,55480)),"@site/docs/dashboards-and-widgets/FailedCasesTrendChart.mdx",55480],"89b4dc5b":[()=>n.e(5502).then(n.bind(n,15060)),"@site/docs/releases/Version5.0RC.md",15060],"8a0d7266":[()=>n.e(3608).then(n.bind(n,28347)),"@site/docs/saved-searches-filters/CreateFilters.mdx",28347],"8c63d4ea":[()=>n.e(9911).then(n.bind(n,42326)),"@site/docs/features/QualityGates.md",42326],"8dc7c7b8":[()=>n.e(4485).then(n.bind(n,63527)),"@site/docs/saved-searches-filters/FiltersPage.md",63527],"8f8fcdca":[()=>n.e(5618).then(n.bind(n,58807)),"@site/docs/user-account/DeleteAccount.mdx",58807],"8fda0747":[()=>n.e(8916).then(n.bind(n,79990)),"@site/docs/log-data-in-reportportal/test-framework-integration/Python/index.md",79990],"8ff8e535":[()=>n.e(1608).then(n.bind(n,25356)),"@site/docs/releases/Version5.6.2.md",25356],"90abdf6b":[()=>n.e(4571).then(n.bind(n,31716)),"@site/docs/releases/Version5.2.3.md",31716],"910d5a4e":[()=>n.e(6059).then(n.bind(n,81278)),"@site/docs/plugins/EmailServer.mdx",81278],"914c5fe7":[()=>n.e(7868).then(n.bind(n,94210)),"@site/docs/reportportal-configuration/authorization/index.md",94210],"925c0b5c":[()=>n.e(5355).then(n.bind(n,27172)),"@site/docs/installation-steps/OptimalPerformanceHardwareSetup.mdx",27172],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"97b6d501":[()=>n.e(9559).then(n.bind(n,79203)),"@site/docs/releases/Version5.1.0.md",79203],"98a1fcd9":[()=>n.e(2516).then(n.bind(n,66603)),"@site/docs/dashboards-and-widgets/ManageWidgets.mdx",66603],"98b03dc7":[()=>n.e(2719).then(n.bind(n,29800)),"@site/docs/log-data-in-reportportal/test-framework-integration/Java/TestNG.md",29800],"98ca32ed":[()=>n.e(1985).then(n.t.bind(n,16669,19)),"~docs/default/category-docs-defaultsidebar-category-admin-panel-ca1.json",16669],"9a364eec":[()=>n.e(3155).then(n.bind(n,43973)),"@site/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/Selenide.md",43973],"9bf2f1ad":[()=>n.e(26).then(n.bind(n,19692)),"@site/docs/dashboards-and-widgets/LaunchStatisticsChart.mdx",19692],"9bfb314f":[()=>n.e(3897).then(n.bind(n,87051)),"@site/docs/releases/Version5.6.1.md",87051],"9c874da5":[()=>n.e(2483).then(n.bind(n,71442)),"@site/docs/log-data-in-reportportal/test-framework-integration/JavaScript/WebdriverIO.md",71442],"9ce9f59c":[()=>n.e(757).then(n.bind(n,40877)),"@site/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/Serilog.md",40877],a0d375c1:[()=>n.e(5069).then(n.bind(n,89137)),"@site/docs/case-studies/IncreasingTestAutomationStabilityAndVisibility.mdx",89137],a11133f1:[()=>n.e(529).then(n.bind(n,43409)),"@site/docs/dashboards-and-widgets/LaunchesDurationChart.mdx",43409],a194bf09:[()=>n.e(7727).then(n.bind(n,4649)),"@site/docs/issues-troubleshooting/HowToCheckLDAPConnection.md",4649],a1e6466d:[()=>n.e(2580).then(n.bind(n,8584)),"@site/docs/releases/Version3.3.2-1.md",8584],a4179dd8:[()=>n.e(7537).then(n.bind(n,78686)),"@site/docs/log-data-in-reportportal/test-framework-integration/PHP/Codeception.md",78686],a573d8f7:[()=>n.e(3322).then(n.bind(n,5375)),"@site/docs/plugins/AzureDevOpsBTS.mdx",5375],a68ea571:[()=>n.e(6636).then(n.bind(n,50472)),"@site/docs/installation-steps/ReportPortal23.1FileStorageOptions.md",50472],a6ef86a7:[()=>n.e(9272).then(n.bind(n,69976)),"@site/docs/dashboards-and-widgets/CumulativeTrendChart.mdx",69976],a74ebc46:[()=>n.e(1510).then(n.bind(n,98051)),"@site/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Postman.md",98051],a76ff2eb:[()=>n.e(1904).then(n.bind(n,44512)),"@site/docs/reportportal-configuration/HowToGetAnAccessTokenInReportPortal.mdx",44512],a7c4da1a:[()=>n.e(8846).then(n.bind(n,96859)),"@site/docs/admin-panel/EventMonitoring.mdx",96859],a7f8e40f:[()=>n.e(570).then(n.bind(n,25614)),"@site/docs/log-data-in-reportportal/test-framework-integration/index.mdx",25614],a830598a:[()=>n.e(5414).then(n.bind(n,99759)),"@site/docs/reportportal-configuration/ReportPortalJobsConfiguration.md",99759],a89000ee:[()=>n.e(6002).then(n.bind(n,84302)),"@site/docs/saved-searches-filters/ManageFilters.mdx",84302],ab510b4f:[()=>n.e(2024).then(n.bind(n,57702)),"@site/docs/log-data-in-reportportal/test-framework-integration/Python/RobotFramework.md",57702],abf83c96:[()=>n.e(8633).then(n.bind(n,39056)),"@site/docs/dev-guides/AttachmentsGuide.mdx",39056],ac3f047d:[()=>n.e(1219).then(n.bind(n,42321)),"@site/docs/admin-panel/AllProjectsPage.mdx",42321],b02e6e62:[()=>n.e(38).then(n.bind(n,73733)),"@site/docs/dev-guides/RetriesReporting.mdx",73733],b3bfe149:[()=>n.e(6066).then(n.bind(n,9012)),"@site/docs/log-data-in-reportportal/HowToRunYourTests.md",9012],b8e550c7:[()=>n.e(7062).then(n.bind(n,78202)),"@site/docs/case-studies/ReducingRegressionTimeBy50.mdx",78202],b90e80fa:[()=>n.e(7312).then(n.bind(n,21935)),"@site/docs/releases/Version5.3.2.md",21935],ba4cd107:[()=>n.e(862).then(n.bind(n,9213)),"@site/docs/log-data-in-reportportal/test-framework-integration/Java/JBehave.md",9213],bc0c4574:[()=>n.e(6635).then(n.bind(n,94023)),"@site/docs/log-data-in-reportportal/test-framework-integration/Python/nosetests.md",94023],bc209e08:[()=>n.e(4772).then(n.t.bind(n,21061,19)),"~docs/default/category-docs-defaultsidebar-category-installation-steps-e47.json",21061],bc7fa033:[()=>n.e(2947).then(n.bind(n,8832)),"@site/docs/releases/Version5.3.5.md",8832],bc969540:[()=>n.e(1562).then(n.t.bind(n,64556,19)),"~docs/default/category-docs-defaultsidebar-category-case-studies-3f8.json",64556],bdb17ab6:[()=>n.e(5792).then(n.bind(n,79682)),"@site/docs/dashboards-and-widgets/WidgetCreation.mdx",79682],be477480:[()=>n.e(5170).then(n.bind(n,522)),"@site/docs/analysis/HowModelsAreRetrained.md",522],bebf2496:[()=>n.e(4612).then(n.bind(n,90146)),"@site/docs/quality-gates/IntegrationWithCICD/IntegrationWithGitLabCI.md",90146],befb6058:[()=>n.e(3197).then(n.bind(n,41705)),"@site/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Playwright.md",41705],bf044f46:[()=>n.e(8982).then(n.bind(n,39117)),"@site/docs/plugins/AtlassianJiraCloud.mdx",39117],bf477335:[()=>n.e(963).then(n.bind(n,75916)),"@site/docs/reportportal-configuration/CreationOfProjectAndAddingUsers.md",75916],c059af28:[()=>n.e(1078).then(n.bind(n,85784)),"@site/docs/features/AIFailureReasonDetection.md",85784],c3038888:[()=>n.e(7100).then(n.bind(n,94810)),"@site/docs/reportportal-configuration/IntegrationViaPlugin.mdx",94810],c3ddf248:[()=>n.e(4057).then(n.bind(n,88873)),"@site/docs/releases/Version5.6.0.md",88873],c60355ff:[()=>n.e(9063).then(n.bind(n,12e3)),"@site/docs/dashboards-and-widgets/WorkWithDashboards.mdx",12e3],c7b25a99:[()=>n.e(5449).then(n.bind(n,17696)),"@site/docs/work-with-reports/OperationsUnderLaunches.mdx",17696],c7dff32f:[()=>n.e(6329).then(n.bind(n,25202)),"@site/docs/dashboards-and-widgets/ProjectActivityPanel.mdx",25202],c84a9109:[()=>n.e(8760).then(n.bind(n,52587)),"@site/docs/log-data-in-reportportal/test-framework-integration/Net/NUnit.md",52587],c8588910:[()=>n.e(8834).then(n.bind(n,34419)),"@site/docs/dashboards-and-widgets/PassingRatePerLaunch.mdx",34419],c9eb37d0:[()=>n.e(376).then(n.bind(n,11223)),"@site/docs/quality-gates/AssessmentOfTestResultsUsingQualityGates.mdx",11223],ca88c6ba:[()=>n.e(9509).then(n.t.bind(n,92509,19)),"~docs/default/category-docs-defaultsidebar-category-developers-guides-baf.json",92509],caf5215e:[()=>n.e(6056).then(n.bind(n,65626)),"@site/docs/user-account/DataRetentionProcedure.md",65626],cdbcc403:[()=>n.e(2039).then(n.bind(n,7387)),"@site/docs/features/VisualisationOfTestResults.md",7387],ce42bfab:[()=>n.e(629).then(n.bind(n,28589)),"@site/docs/releases/Version5.6.3.md",28589],cf1f907d:[()=>n.e(3588).then(n.bind(n,62681)),"@site/docs/installation-steps/DeployWithoutDocker.md",62681],cf84801a:[()=>n.e(3962).then(n.t.bind(n,27507,19)),"~docs/default/category-docs-defaultsidebar-category-analysis-395.json",27507],d008ba81:[()=>n.e(3731).then(n.bind(n,66490)),"@site/docs/log-data-in-reportportal/test-framework-integration/Java/JUnit4.md",66490],d09084ee:[()=>n.e(3653).then(n.bind(n,37833)),"@site/docs/reportportal-configuration/authorization/GitHub.md",37833],d26eef7b:[()=>n.e(3082).then(n.bind(n,37122)),"@site/docs/user-account/EditPersonalInformation.mdx",37122],d331ba2f:[()=>n.e(4143).then(n.bind(n,92650)),"@site/docs/plugins/ManagePlugins.mdx",92650],d5397252:[()=>n.e(9292).then(n.bind(n,44904)),"@site/docs/installation-steps/AdditionalConfigurationParameters.md",44904],d9fb2f5f:[()=>n.e(8105).then(n.bind(n,59137)),"@site/docs/log-data-in-reportportal/test-framework-integration/Python/pytest.md",59137],da84d3ce:[()=>n.e(5261).then(n.bind(n,16448)),"@site/docs/log-data-in-reportportal/test-framework-integration/Java/Cucumber.md",16448],dadf679c:[()=>n.e(7330).then(n.bind(n,10949)),"@site/docs/log-data-in-reportportal/test-framework-integration/Java/JUnit5.md",10949],db699483:[()=>n.e(9721).then(n.bind(n,20588)),"@site/docs/installation-steps/DeployWithDockerOnWindows.md",20588],dbee08c0:[()=>n.e(6797).then(n.bind(n,30490)),"@site/docs/dashboards-and-widgets/LaunchExecutionAndIssueStatistic.mdx",30490],dc2f4bb3:[()=>n.e(4415).then(n.bind(n,58709)),"@site/docs/work-with-reports/HistoryOfLaunches.mdx",58709],dc8f36d8:[()=>n.e(6863).then(n.bind(n,24846)),"@site/docs/reportportal-configuration/authorization/SAMLProvider/index.mdx",24846],de98de14:[()=>n.e(4953).then(n.bind(n,21562)),"@site/docs/reportportal-configuration/authorization/LDAP.md",21562],dffd512f:[()=>n.e(720).then(n.bind(n,10830)),"@site/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Codecept.md",10830],e1b7d783:[()=>n.e(3892).then(n.bind(n,61182)),"@site/docs/dev-guides/PluginDevelopersGuide.mdx",61182],e2f45cda:[()=>n.e(4585).then(n.bind(n,38491)),"@site/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/Logback.md",38491],e378912b:[()=>n.e(7811).then(n.t.bind(n,45202,19)),"~docs/default/category-docs-defaultsidebar-category-plugins-0dd.json",45202],e3793912:[()=>n.e(2251).then(n.bind(n,5669)),"@site/docs/releases/Version5.7.4.md",5669],e4ce6935:[()=>n.e(666).then(n.bind(n,40363)),"@site/docs/features/RichArtifactsInTestReports.md",40363],e5386a75:[()=>n.e(6086).then(n.bind(n,55030)),"@site/docs/dashboards-and-widgets/FlakyTestCasesTableTop20.mdx",55030],e8be83b4:[()=>n.e(511).then(n.bind(n,61794)),"@site/docs/features/RealTimeReporting.md",61794],e9a76c81:[()=>n.e(7979).then(n.bind(n,64203)),"@site/docs/case-studies/ReducingRegressionAnalysisEfforts.mdx",64203],e9d600cd:[()=>n.e(3834).then(n.bind(n,68042)),"@site/docs/releases/Version5.5.0.md",68042],ea49187a:[()=>n.e(3854).then(n.bind(n,86530)),"@site/docs/terms-and-conditions/PremiumFeatures.md",86530],ea56d3e1:[()=>n.e(1451).then(n.bind(n,6673)),"@site/docs/reportportal-configuration/ComponentsOverview.md",6673],ec038b21:[()=>n.e(4735).then(n.bind(n,84828)),"@site/docs/dev-guides/BackEndJavaContributionGuide.mdx",84828],ed9ad71b:[()=>n.e(4708).then(n.t.bind(n,75344,19)),"~docs/default/category-docs-defaultsidebar-category-dashboards-and-widgets-de3.json",75344],eebb9f3e:[()=>n.e(7145).then(n.bind(n,46542)),"@site/docs/issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingPGRepack.md",46542],ef6e5522:[()=>n.e(2650).then(n.bind(n,17616)),"@site/docs/releases/Version5.3.3.md",17616],ef851841:[()=>n.e(1627).then(n.bind(n,94812)),"@site/docs/log-data-in-reportportal/test-framework-integration/Net/SpecFlow.md",94812],f7444008:[()=>n.e(973).then(n.bind(n,58079)),"@site/docs/dashboards-and-widgets/LaunchesTable.mdx",58079],fa7527f5:[()=>n.e(8125).then(n.bind(n,10666)),"@site/docs/releases/Version5.7.1.md",10666],fb2c10d0:[()=>n.e(9779).then(n.bind(n,93706)),"@site/docs/work-with-reports/FilteringLaunches.mdx",93706],fb391353:[()=>n.e(3540).then(n.bind(n,72972)),"@site/docs/admin-panel/AllUsersPage.mdx",72972],fbe4c47e:[()=>n.e(8893).then(n.bind(n,64866)),"@site/docs/dashboards-and-widgets/TestCasesGrowthTrendChart.mdx",64866],fd1dd87b:[()=>n.e(2510).then(n.bind(n,39858)),"@site/docs/releases/Version5.7.3.md",39858],fd64f10f:[()=>n.e(8467).then(n.bind(n,79906)),"@site/docs/log-data-in-reportportal/test-framework-integration/Java/index.md",79906],fea2b63c:[()=>n.e(3938).then(n.bind(n,4621)),"@site/docs/quality-gates/FeatureOverview.md",4621],ff6a9465:[()=>n.e(2346).then(n.bind(n,10413)),"@site/docs/installation-steps/DeployWithAWSECSFargate.md",10413]};function c(e){let{error:t,retry:n,pastDelay:a}=e;return t?r.createElement("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"}},r.createElement("p",null,String(t)),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},"Retry"))):a?r.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},r.createElement("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb"},r.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"8"},r.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null}var d=n(99670),u=n(30226);function p(e,t){if("*"===e)return i()({loading:c,loader:()=>Promise.all([n.e(532),n.e(8382),n.e(6798)]).then(n.bind(n,86798)),modules:["@theme/NotFound"],webpack:()=>[86798],render(e,t){const n=e.default;return r.createElement(u.z,{value:{plugin:{name:"native",id:"default"}}},r.createElement(n,t))}});const o=s[`${e}-${t}`],p={},f=[],m=[],g=(0,d.Z)(o);return Object.entries(g).forEach((e=>{let[t,n]=e;const r=l[n];r&&(p[t]=r[0],f.push(r[1]),m.push(r[2]))})),i().Map({loading:c,loader:p,modules:f,webpack:()=>m,render(t,n){const i=JSON.parse(JSON.stringify(o));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let o=i;const s=n.split(".");s.slice(0,-1).forEach((e=>{o=o[e]})),o[s[s.length-1]]=a}));const s=i.__comp;delete i.__comp;const l=i.__context;return delete i.__context,r.createElement(u.z,{value:l},r.createElement(s,(0,a.Z)({},i,n)))}})}const f=[{path:"/docs/search",component:p("/docs/search","d02"),exact:!0},{path:"/docs/",component:p("/docs/","bef"),routes:[{path:"/docs/",component:p("/docs/","157"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/admin-panel/AllProjectsPage",component:p("/docs/admin-panel/AllProjectsPage","cda"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/admin-panel/AllUsersPage",component:p("/docs/admin-panel/AllUsersPage","35a"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/admin-panel/EventMonitoring",component:p("/docs/admin-panel/EventMonitoring","c38"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/analysis/AutoAnalysisOfLaunches",component:p("/docs/analysis/AutoAnalysisOfLaunches","5c8"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/analysis/HowModelsAreRetrained",component:p("/docs/analysis/HowModelsAreRetrained","ed8"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/analysis/ManualAnalysis",component:p("/docs/analysis/ManualAnalysis","465"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/analysis/MLSuggestions",component:p("/docs/analysis/MLSuggestions","c8a"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/analysis/PatternAnalysis",component:p("/docs/analysis/PatternAnalysis","fcd"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/analysis/SearchForTheSimilarToInvestigateItems",component:p("/docs/analysis/SearchForTheSimilarToInvestigateItems","5ba"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/analysis/UniqueErrorAnalysis",component:p("/docs/analysis/UniqueErrorAnalysis","ec9"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/case-studies/ImprovingTestAutomationStability",component:p("/docs/case-studies/ImprovingTestAutomationStability","09e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/case-studies/IncreasingTestAutomationStabilityAndVisibility",component:p("/docs/case-studies/IncreasingTestAutomationStabilityAndVisibility","4af"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/case-studies/ReducingRegressionAnalysisEfforts",component:p("/docs/case-studies/ReducingRegressionAnalysisEfforts","e27"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/case-studies/ReducingRegressionTimeBy50",component:p("/docs/case-studies/ReducingRegressionTimeBy50","ef4"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/category/admin-panel",component:p("/docs/category/admin-panel","469"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/category/analysis",component:p("/docs/category/analysis","198"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/category/case-studies",component:p("/docs/category/case-studies","4fc"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/category/dashboards-and-widgets",component:p("/docs/category/dashboards-and-widgets","a92"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/category/developers-guides",component:p("/docs/category/developers-guides","72c"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/category/features",component:p("/docs/category/features","e44"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/category/installation-steps",component:p("/docs/category/installation-steps","fc2"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/category/issues-troubleshooting",component:p("/docs/category/issues-troubleshooting","d5d"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/category/log-data-in-reportportal",component:p("/docs/category/log-data-in-reportportal","696"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/category/loggers",component:p("/docs/category/loggers","64f"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/category/loggers-1",component:p("/docs/category/loggers-1","004"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/category/plugins",component:p("/docs/category/plugins","e50"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/category/quality-gates",component:p("/docs/category/quality-gates","3c6"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/category/releases",component:p("/docs/category/releases","0bf"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/category/reportportal-configuration",component:p("/docs/category/reportportal-configuration","7a6"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/category/saved-searches-filters",component:p("/docs/category/saved-searches-filters","d4c"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/category/terms--conditions",component:p("/docs/category/terms--conditions","13e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/category/user-account",component:p("/docs/category/user-account","0c6"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/category/work-with-reports",component:p("/docs/category/work-with-reports","a51"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/ComponentHealthCheck",component:p("/docs/dashboards-and-widgets/ComponentHealthCheck","656"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/CumulativeTrendChart",component:p("/docs/dashboards-and-widgets/CumulativeTrendChart","9c3"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/DifferentLaunchesComparisonChart",component:p("/docs/dashboards-and-widgets/DifferentLaunchesComparisonChart","d78"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/FailedCasesTrendChart",component:p("/docs/dashboards-and-widgets/FailedCasesTrendChart","c81"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/FlakyTestCasesTableTop20",component:p("/docs/dashboards-and-widgets/FlakyTestCasesTableTop20","ff5"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/InvestigatedPercentageOfLaunches",component:p("/docs/dashboards-and-widgets/InvestigatedPercentageOfLaunches","350"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/LaunchesDurationChart",component:p("/docs/dashboards-and-widgets/LaunchesDurationChart","9dd"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/LaunchesTable",component:p("/docs/dashboards-and-widgets/LaunchesTable","97c"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/LaunchExecutionAndIssueStatistic",component:p("/docs/dashboards-and-widgets/LaunchExecutionAndIssueStatistic","c39"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/LaunchStatisticsChart",component:p("/docs/dashboards-and-widgets/LaunchStatisticsChart","d0d"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/ManageWidgets",component:p("/docs/dashboards-and-widgets/ManageWidgets","1ac"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/MostFailedTestCasesTableTop20",component:p("/docs/dashboards-and-widgets/MostFailedTestCasesTableTop20","4f8"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/MostPopularPatternTableTop20",component:p("/docs/dashboards-and-widgets/MostPopularPatternTableTop20","601"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/MostTimeConsumingTestCasesWidgetTop20",component:p("/docs/dashboards-and-widgets/MostTimeConsumingTestCasesWidgetTop20","2ad"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/NonPassedTestCasesTrendChart",component:p("/docs/dashboards-and-widgets/NonPassedTestCasesTrendChart","a20"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/OverallStatistics",component:p("/docs/dashboards-and-widgets/OverallStatistics","056"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/PassingRatePerLaunch",component:p("/docs/dashboards-and-widgets/PassingRatePerLaunch","7ce"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/PassingRateSummary",component:p("/docs/dashboards-and-widgets/PassingRateSummary","29a"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/PossibleDashboardsInReportPortal",component:p("/docs/dashboards-and-widgets/PossibleDashboardsInReportPortal","1c3"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/ProjectActivityPanel",component:p("/docs/dashboards-and-widgets/ProjectActivityPanel","c5c"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/TableComponentHealthCheck",component:p("/docs/dashboards-and-widgets/TableComponentHealthCheck","ded"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/TestCasesGrowthTrendChart",component:p("/docs/dashboards-and-widgets/TestCasesGrowthTrendChart","6fa"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/UniqueBugsTable",component:p("/docs/dashboards-and-widgets/UniqueBugsTable","69e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/WidgetCreation",component:p("/docs/dashboards-and-widgets/WidgetCreation","b77"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dashboards-and-widgets/WorkWithDashboards",component:p("/docs/dashboards-and-widgets/WorkWithDashboards","1cb"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dev-guides/APIDifferencesBetweenV4AndV5",component:p("/docs/dev-guides/APIDifferencesBetweenV4AndV5","0d0"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dev-guides/AsynchronousReporting",component:p("/docs/dev-guides/AsynchronousReporting","fcd"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dev-guides/AttachmentsGuide",component:p("/docs/dev-guides/AttachmentsGuide","482"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dev-guides/BackEndJavaContributionGuide",component:p("/docs/dev-guides/BackEndJavaContributionGuide","a58"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dev-guides/InteractionsBetweenAPIAndAnalyzer",component:p("/docs/dev-guides/InteractionsBetweenAPIAndAnalyzer","eb2"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dev-guides/PluginDevelopersGuide",component:p("/docs/dev-guides/PluginDevelopersGuide","36a"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dev-guides/ReportingDevelopersGuide",component:p("/docs/dev-guides/ReportingDevelopersGuide","764"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dev-guides/ReportPortalAPI",component:p("/docs/dev-guides/ReportPortalAPI","a08"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dev-guides/RerunDevelopersGuide",component:p("/docs/dev-guides/RerunDevelopersGuide","7c3"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/dev-guides/RetriesReporting",component:p("/docs/dev-guides/RetriesReporting","164"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/FAQ/",component:p("/docs/FAQ/","a88"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/features/AIFailureReasonDetection",component:p("/docs/features/AIFailureReasonDetection","f8d"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/features/CategorisationOfFailures",component:p("/docs/features/CategorisationOfFailures","06a"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/features/QualityGates",component:p("/docs/features/QualityGates","470"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/features/RealTimeReporting",component:p("/docs/features/RealTimeReporting","96c"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/features/RESTAPI",component:p("/docs/features/RESTAPI","28b"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/features/RichArtifactsInTestReports",component:p("/docs/features/RichArtifactsInTestReports","52f"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/features/UnifiedTestReporting",component:p("/docs/features/UnifiedTestReporting","bbc"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/features/VisualisationOfTestResults",component:p("/docs/features/VisualisationOfTestResults","010"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/installation-steps/AdditionalConfigurationParameters",component:p("/docs/installation-steps/AdditionalConfigurationParameters","0da"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/installation-steps/BasicMonitoringConfiguration",component:p("/docs/installation-steps/BasicMonitoringConfiguration","46a"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/installation-steps/DeployOnUbuntuOS",component:p("/docs/installation-steps/DeployOnUbuntuOS","c1b"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/installation-steps/DeployWithAWSECSFargate",component:p("/docs/installation-steps/DeployWithAWSECSFargate","483"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/installation-steps/DeployWithDockerOnLinuxMac",component:p("/docs/installation-steps/DeployWithDockerOnLinuxMac","eca"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/installation-steps/DeployWithDockerOnWindows",component:p("/docs/installation-steps/DeployWithDockerOnWindows","80d"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/installation-steps/DeployWithKubernetes",component:p("/docs/installation-steps/DeployWithKubernetes","8e3"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/installation-steps/DeployWithoutDocker",component:p("/docs/installation-steps/DeployWithoutDocker","cc7"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/installation-steps/MaintainCommandsCheatSheet",component:p("/docs/installation-steps/MaintainCommandsCheatSheet","3eb"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/installation-steps/OptimalPerformanceHardwareSetup",component:p("/docs/installation-steps/OptimalPerformanceHardwareSetup","006"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/installation-steps/ReportPortal23.1FileStorageOptions",component:p("/docs/installation-steps/ReportPortal23.1FileStorageOptions","1a8"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/installation-steps/SetupTSLSSLInTraefik2.0.x",component:p("/docs/installation-steps/SetupTSLSSLInTraefik2.0.x","f85"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/issues-troubleshooting/HowToAddATestStackTraceToADescriptionAutomatically",component:p("/docs/issues-troubleshooting/HowToAddATestStackTraceToADescriptionAutomatically","9f1"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/issues-troubleshooting/HowToAvoidLocalExecutionReportedIntoProjectSpace",component:p("/docs/issues-troubleshooting/HowToAvoidLocalExecutionReportedIntoProjectSpace","363"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/issues-troubleshooting/HowToCheckLDAPConnection",component:p("/docs/issues-troubleshooting/HowToCheckLDAPConnection","d7d"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingPGRepack",component:p("/docs/issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingPGRepack","72a"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingVacuumFull",component:p("/docs/issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingVacuumFull","3cf"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/issues-troubleshooting/HowToResolveIssuesWithMigrationToTheNewVersion",component:p("/docs/issues-troubleshooting/HowToResolveIssuesWithMigrationToTheNewVersion","b11"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/issues-troubleshooting/IssuesWithJIRABugTrackingSystemHowToResolve",component:p("/docs/issues-troubleshooting/IssuesWithJIRABugTrackingSystemHowToResolve","099"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/issues-troubleshooting/IssuesWithLDAPSHowToResolve",component:p("/docs/issues-troubleshooting/IssuesWithLDAPSHowToResolve","616"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/issues-troubleshooting/ResolveAnalyzerKnownIssues",component:p("/docs/issues-troubleshooting/ResolveAnalyzerKnownIssues","60f"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/issues-troubleshooting/TuningCITool",component:p("/docs/issues-troubleshooting/TuningCITool","1be"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/HowToRunYourTests",component:p("/docs/log-data-in-reportportal/HowToRunYourTests","60e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/ImplementOwnIntegration",component:p("/docs/log-data-in-reportportal/ImplementOwnIntegration","b31"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/ImportDataToReportPortal",component:p("/docs/log-data-in-reportportal/ImportDataToReportPortal","0dd"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/ReportingSDK",component:p("/docs/log-data-in-reportportal/ReportingSDK","eee"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/",component:p("/docs/log-data-in-reportportal/test-framework-integration/","3dc"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Java/",component:p("/docs/log-data-in-reportportal/test-framework-integration/Java/","aac"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Java/Cucumber",component:p("/docs/log-data-in-reportportal/test-framework-integration/Java/Cucumber","d01"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Java/JBehave",component:p("/docs/log-data-in-reportportal/test-framework-integration/Java/JBehave","04b"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Java/JUnit4",component:p("/docs/log-data-in-reportportal/test-framework-integration/Java/JUnit4","779"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Java/JUnit5",component:p("/docs/log-data-in-reportportal/test-framework-integration/Java/JUnit5","3a8"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/ApacheHttpComponents",component:p("/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/ApacheHttpComponents","417"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/Log4J",component:p("/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/Log4J","1a1"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/Logback",component:p("/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/Logback","cdf"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/OkHttp3",component:p("/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/OkHttp3","b11"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/RestAssured",component:p("/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/RestAssured","934"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/Selenide",component:p("/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/Selenide","bd6"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Java/SoapUI",component:p("/docs/log-data-in-reportportal/test-framework-integration/Java/SoapUI","064"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Java/Spock",component:p("/docs/log-data-in-reportportal/test-framework-integration/Java/Spock","258"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Java/TestNG",component:p("/docs/log-data-in-reportportal/test-framework-integration/Java/TestNG","306"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/",component:p("/docs/log-data-in-reportportal/test-framework-integration/JavaScript/","792"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Codecept",component:p("/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Codecept","543"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/CucumberJS",component:p("/docs/log-data-in-reportportal/test-framework-integration/JavaScript/CucumberJS","4fc"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Cypress",component:p("/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Cypress","ff5"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Jasmine",component:p("/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Jasmine","657"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Jest",component:p("/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Jest","046"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Mocha",component:p("/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Mocha","b7f"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Nightwatch",component:p("/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Nightwatch","80b"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Playwright",component:p("/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Playwright","861"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Postman",component:p("/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Postman","442"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/TestCafe",component:p("/docs/log-data-in-reportportal/test-framework-integration/JavaScript/TestCafe","c03"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/WebdriverIO",component:p("/docs/log-data-in-reportportal/test-framework-integration/JavaScript/WebdriverIO","d4e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Net/",component:p("/docs/log-data-in-reportportal/test-framework-integration/Net/","c7f"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/Log4Net",component:p("/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/Log4Net","d61"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/NLog",component:p("/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/NLog","deb"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/Serilog",component:p("/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/Serilog","cba"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/TraceListener",component:p("/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/TraceListener","4bc"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Net/NUnit",component:p("/docs/log-data-in-reportportal/test-framework-integration/Net/NUnit","1e1"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Net/SpecFlow",component:p("/docs/log-data-in-reportportal/test-framework-integration/Net/SpecFlow","742"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Net/VSTest",component:p("/docs/log-data-in-reportportal/test-framework-integration/Net/VSTest","add"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Net/xUnit",component:p("/docs/log-data-in-reportportal/test-framework-integration/Net/xUnit","140"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Other/",component:p("/docs/log-data-in-reportportal/test-framework-integration/Other/","df0"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/PHP/",component:p("/docs/log-data-in-reportportal/test-framework-integration/PHP/","e46"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/PHP/Behat",component:p("/docs/log-data-in-reportportal/test-framework-integration/PHP/Behat","95a"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/PHP/Codeception",component:p("/docs/log-data-in-reportportal/test-framework-integration/PHP/Codeception","21f"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/PHP/PHPUnit",component:p("/docs/log-data-in-reportportal/test-framework-integration/PHP/PHPUnit","016"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Python/",component:p("/docs/log-data-in-reportportal/test-framework-integration/Python/","ef5"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Python/behave",component:p("/docs/log-data-in-reportportal/test-framework-integration/Python/behave","052"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Python/nosetests",component:p("/docs/log-data-in-reportportal/test-framework-integration/Python/nosetests","797"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Python/pytest",component:p("/docs/log-data-in-reportportal/test-framework-integration/Python/pytest","058"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/log-data-in-reportportal/test-framework-integration/Python/RobotFramework",component:p("/docs/log-data-in-reportportal/test-framework-integration/Python/RobotFramework","e76"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/plugins/AtlassianJiraCloud",component:p("/docs/plugins/AtlassianJiraCloud","150"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/plugins/AtlassianJiraServer",component:p("/docs/plugins/AtlassianJiraServer","514"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/plugins/AzureDevOpsBTS",component:p("/docs/plugins/AzureDevOpsBTS","d18"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/plugins/EmailServer",component:p("/docs/plugins/EmailServer","dd1"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/plugins/ManagePlugins",component:p("/docs/plugins/ManagePlugins","8e2"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/plugins/Rally",component:p("/docs/plugins/Rally","340"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/plugins/SauceLabs",component:p("/docs/plugins/SauceLabs","1aa"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/quality-gates/AssessmentOfTestResultsUsingQualityGates",component:p("/docs/quality-gates/AssessmentOfTestResultsUsingQualityGates","8d4"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/quality-gates/DeleteQualityGates",component:p("/docs/quality-gates/DeleteQualityGates","b60"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/quality-gates/FeatureOverview",component:p("/docs/quality-gates/FeatureOverview","f25"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/quality-gates/HowToInstallQualityGates",component:p("/docs/quality-gates/HowToInstallQualityGates","d16"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/quality-gates/IntegrationWithCICD/",component:p("/docs/quality-gates/IntegrationWithCICD/","7d8"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/quality-gates/IntegrationWithCICD/IntegrationWithGitLabCI",component:p("/docs/quality-gates/IntegrationWithCICD/IntegrationWithGitLabCI","c91"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/quality-gates/IntegrationWithCICD/IntegrationWithJenkins",component:p("/docs/quality-gates/IntegrationWithCICD/IntegrationWithJenkins","998"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/quality-gates/QualityGateEdit",component:p("/docs/quality-gates/QualityGateEdit","412"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/quality-gates/QualityGatePurpose",component:p("/docs/quality-gates/QualityGatePurpose","98b"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/quality-gates/QualityRulesConfiguration",component:p("/docs/quality-gates/QualityRulesConfiguration","fbe"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/quality-gates/UploadQualityGateToReportPortal",component:p("/docs/quality-gates/UploadQualityGateToReportPortal","bf7"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version3.3.2",component:p("/docs/releases/Version3.3.2","37d"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version3.3.2-1",component:p("/docs/releases/Version3.3.2-1","75b"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version4.0.0",component:p("/docs/releases/Version4.0.0","e0d"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version4.1.0",component:p("/docs/releases/Version4.1.0","383"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version4.2.0",component:p("/docs/releases/Version4.2.0","f2a"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version4.3",component:p("/docs/releases/Version4.3","4ac"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.0.0",component:p("/docs/releases/Version5.0.0","bee"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.0RC",component:p("/docs/releases/Version5.0RC","956"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.1.0",component:p("/docs/releases/Version5.1.0","132"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.2.0",component:p("/docs/releases/Version5.2.0","6f9"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.2.1",component:p("/docs/releases/Version5.2.1","ee4"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.2.2",component:p("/docs/releases/Version5.2.2","b48"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.2.3",component:p("/docs/releases/Version5.2.3","4b5"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.3.0",component:p("/docs/releases/Version5.3.0","9a2"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.3.1.",component:p("/docs/releases/Version5.3.1.","a41"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.3.2",component:p("/docs/releases/Version5.3.2","c4f"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.3.3",component:p("/docs/releases/Version5.3.3","44a"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.3.5",component:p("/docs/releases/Version5.3.5","59f"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.4.0",component:p("/docs/releases/Version5.4.0","917"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.5.0",component:p("/docs/releases/Version5.5.0","92d"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.6.0",component:p("/docs/releases/Version5.6.0","b1a"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.6.1",component:p("/docs/releases/Version5.6.1","5ee"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.6.2",component:p("/docs/releases/Version5.6.2","222"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.6.3",component:p("/docs/releases/Version5.6.3","a05"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.7.0",component:p("/docs/releases/Version5.7.0","40b"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.7.1",component:p("/docs/releases/Version5.7.1","392"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.7.2",component:p("/docs/releases/Version5.7.2","c6e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.7.3",component:p("/docs/releases/Version5.7.3","49a"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Version5.7.4",component:p("/docs/releases/Version5.7.4","68f"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/releases/Versionv23.1",component:p("/docs/releases/Versionv23.1","b03"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/reportportal-configuration/authorization/",component:p("/docs/reportportal-configuration/authorization/","253"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/reportportal-configuration/authorization/ActiveDirectory",component:p("/docs/reportportal-configuration/authorization/ActiveDirectory","721"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/reportportal-configuration/authorization/GitHub",component:p("/docs/reportportal-configuration/authorization/GitHub","1ca"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/reportportal-configuration/authorization/LDAP",component:p("/docs/reportportal-configuration/authorization/LDAP","991"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/reportportal-configuration/authorization/SAMLProvider/",component:p("/docs/reportportal-configuration/authorization/SAMLProvider/","554"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/reportportal-configuration/authorization/SAMLProvider/AzureSAML",component:p("/docs/reportportal-configuration/authorization/SAMLProvider/AzureSAML","366"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/reportportal-configuration/authorization/SAMLProvider/OktaSAML",component:p("/docs/reportportal-configuration/authorization/SAMLProvider/OktaSAML","cd2"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/reportportal-configuration/ComponentsOverview",component:p("/docs/reportportal-configuration/ComponentsOverview","7fc"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/reportportal-configuration/CreationOfProjectAndAddingUsers",component:p("/docs/reportportal-configuration/CreationOfProjectAndAddingUsers","390"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/reportportal-configuration/HowToGetAnAccessTokenInReportPortal",component:p("/docs/reportportal-configuration/HowToGetAnAccessTokenInReportPortal","6f4"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/reportportal-configuration/IntegrationViaPlugin",component:p("/docs/reportportal-configuration/IntegrationViaPlugin","568"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/reportportal-configuration/ProjectConfiguration",component:p("/docs/reportportal-configuration/ProjectConfiguration","27f"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/reportportal-configuration/ReportPortalJobsConfiguration",component:p("/docs/reportportal-configuration/ReportPortalJobsConfiguration","769"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/reportportal-glossary/",component:p("/docs/reportportal-glossary/","30f"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/reportportal-tutorial/",component:p("/docs/reportportal-tutorial/","0f9"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/saved-searches-filters/CreateFilters",component:p("/docs/saved-searches-filters/CreateFilters","357"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/saved-searches-filters/FiltersPage",component:p("/docs/saved-searches-filters/FiltersPage","f2c"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/saved-searches-filters/ManageFilters",component:p("/docs/saved-searches-filters/ManageFilters","636"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/terms-and-conditions/GoogleAnalyticsUsageByReportPortal",component:p("/docs/terms-and-conditions/GoogleAnalyticsUsageByReportPortal","2a2"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/terms-and-conditions/PremiumFeatures",component:p("/docs/terms-and-conditions/PremiumFeatures","721"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/user-account/DataRetentionProcedure",component:p("/docs/user-account/DataRetentionProcedure","73a"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/user-account/DeleteAccount",component:p("/docs/user-account/DeleteAccount","bc4"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/user-account/EditPersonalInformation",component:p("/docs/user-account/EditPersonalInformation","092"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/user-account/RestoreAPassword",component:p("/docs/user-account/RestoreAPassword","69e"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/user-role-guides/",component:p("/docs/user-role-guides/","840"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/work-with-reports/FilteringLaunches",component:p("/docs/work-with-reports/FilteringLaunches","a7d"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/work-with-reports/HistoryOfLaunches",component:p("/docs/work-with-reports/HistoryOfLaunches","1a1"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/work-with-reports/InvestigationOfFailure",component:p("/docs/work-with-reports/InvestigationOfFailure","c6a"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/work-with-reports/OperationsUnderLaunches",component:p("/docs/work-with-reports/OperationsUnderLaunches","27c"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/work-with-reports/TestCaseId",component:p("/docs/work-with-reports/TestCaseId","192"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/work-with-reports/UniqueId",component:p("/docs/work-with-reports/UniqueId","6ec"),exact:!0,sidebar:"defaultSidebar"},{path:"/docs/work-with-reports/ViewLaunches",component:p("/docs/work-with-reports/ViewLaunches","627"),exact:!0,sidebar:"defaultSidebar"}]},{path:"*",component:p("*")}]},98934:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>o});var r=n(67294);const a=r.createContext(!1);function o(e){let{children:t}=e;const[n,o]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{o(!0)}),[]),r.createElement(a.Provider,{value:n},t)}},49383:(e,t,n)=>{"use strict";var r=n(67294),a=n(73935),o=n(73727),i=n(70405),s=n(10412);const l=[n(32497),n(3310),n(18320),n(52295),n(61212)];var c=n(723),d=n(16550),u=n(18790);function p(e){let{children:t}=e;return r.createElement(r.Fragment,null,t)}var f=n(87462),m=n(35742),g=n(52263),h=n(44996),b=n(86668),v=n(10833),y=n(94711),w=n(19727),S=n(43320),k=n(90197);function E(){const{i18n:{defaultLocale:e,localeConfigs:t}}=(0,g.Z)(),n=(0,y.l)();return r.createElement(m.Z,null,Object.entries(t).map((e=>{let[t,{htmlLang:a}]=e;return r.createElement("link",{key:t,rel:"alternate",href:n.createUrl({locale:t,fullyQualified:!0}),hrefLang:a})})),r.createElement("link",{rel:"alternate",href:n.createUrl({locale:e,fullyQualified:!0}),hrefLang:"x-default"}))}function x(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.Z)(),a=function(){const{siteConfig:{url:e}}=(0,g.Z)(),{pathname:t}=(0,d.TH)();return e+(0,h.Z)(t)}(),o=t?`${n}${t}`:a;return r.createElement(m.Z,null,r.createElement("meta",{property:"og:url",content:o}),r.createElement("link",{rel:"canonical",href:o}))}function T(){const{i18n:{currentLocale:e}}=(0,g.Z)(),{metadata:t,image:n}=(0,b.L)();return r.createElement(r.Fragment,null,r.createElement(m.Z,null,r.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),r.createElement("body",{className:w.h})),n&&r.createElement(v.d,{image:n}),r.createElement(x,null),r.createElement(E,null),r.createElement(k.Z,{tag:S.HX,locale:e}),r.createElement(m.Z,null,t.map(((e,t)=>r.createElement("meta",(0,f.Z)({key:t},e))))))}const C=new Map;function _(e){if(C.has(e.pathname))return{...e,pathname:C.get(e.pathname)};if((0,u.f)(c.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return C.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return C.set(e.pathname,t),{...e,pathname:t}}var A=n(98934),P=n(58940);function R(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>a.forEach((e=>e?.()))}const L=function(e){let{children:t,location:n,previousLocation:a}=e;return(0,r.useLayoutEffect)((()=>{a!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:a}),R("onRouteDidUpdate",{previousLocation:a,location:n}))}),[a,n]),t};function I(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,u.f)(c.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class O extends r.Component{constructor(e){super(e),this.previousLocation=void 0,this.routeUpdateCleanupCb=void 0,this.previousLocation=null,this.routeUpdateCleanupCb=s.Z.canUseDOM?R("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=R("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),I(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return r.createElement(L,{previousLocation:this.previousLocation,location:t},r.createElement(d.AW,{location:t,render:()=>e}))}}const D=O,N="docusaurus-base-url-issue-banner-container",M="docusaurus-base-url-issue-banner",F="docusaurus-base-url-issue-banner-suggestion-container",B="__DOCUSAURUS_INSERT_BASEURL_BANNER";function U(e){return`\nwindow['${B}'] = true;\n\ndocument.addEventListener('DOMContentLoaded', maybeInsertBanner);\n\nfunction maybeInsertBanner() {\n var shouldInsert = window['${B}'];\n shouldInsert && insertBanner();\n}\n\nfunction insertBanner() {\n var bannerContainer = document.getElementById('${N}');\n if (!bannerContainer) {\n return;\n }\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{window[B]=!1}),[]),r.createElement(r.Fragment,null,!s.Z.canUseDOM&&r.createElement(m.Z,null,r.createElement("script",null,U(e))),r.createElement("div",{id:N}))}function z(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,g.Z)(),{pathname:n}=(0,d.TH)();return t&&n===e?r.createElement(j,null):null}function V(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,g.Z)(),i=(0,h.Z)(e),{htmlLang:s,direction:l}=o[a];return r.createElement(m.Z,null,r.createElement("html",{lang:s,dir:l}),r.createElement("title",null,t),r.createElement("meta",{property:"og:title",content:t}),r.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&r.createElement("meta",{name:"robots",content:"noindex, nofollow"}),e&&r.createElement("link",{rel:"icon",href:i}))}var H=n(44763);function G(){const e=(0,u.H)(c.Z),t=(0,d.TH)();return r.createElement(H.Z,null,r.createElement(P.M,null,r.createElement(A.t,null,r.createElement(p,null,r.createElement(V,null),r.createElement(T,null),r.createElement(z,null),r.createElement(D,{location:_(t)},e)))))}var q=n(16887);const $=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var W=n(99670);const J=new Set,Z=new Set,Q=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,K={prefetch(e){if(!(e=>!Q()&&!Z.has(e)&&!J.has(e))(e))return!1;J.add(e);const t=(0,u.f)(c.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(q).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,W.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?$(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!Q()&&!Z.has(e))(e)&&(Z.add(e),I(e))},Y=Object.freeze(K);if(s.Z.canUseDOM){window.docusaurus=Y;const e=a.hydrate;I(window.location.pathname).then((()=>{e(r.createElement(i.B6,null,r.createElement(o.VK,null,r.createElement(G,null))),document.getElementById("__docusaurus"))}))}},58940:(e,t,n)=>{"use strict";n.d(t,{_:()=>d,M:()=>u});var r=n(67294),a=n(36809);const o=JSON.parse('{"docusaurus-plugin-google-tag-manager":{"default":{"containerId":"GTM-MK7ZHTL","id":"default"}},"docusaurus-plugin-content-docs":{"default":{"path":"/docs/","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs/","mainDocId":"intro","docs":[{"id":"admin-panel/AllProjectsPage","path":"/docs/admin-panel/AllProjectsPage","sidebar":"defaultSidebar"},{"id":"admin-panel/AllUsersPage","path":"/docs/admin-panel/AllUsersPage","sidebar":"defaultSidebar"},{"id":"admin-panel/EventMonitoring","path":"/docs/admin-panel/EventMonitoring","sidebar":"defaultSidebar"},{"id":"analysis/AutoAnalysisOfLaunches","path":"/docs/analysis/AutoAnalysisOfLaunches","sidebar":"defaultSidebar"},{"id":"analysis/HowModelsAreRetrained","path":"/docs/analysis/HowModelsAreRetrained","sidebar":"defaultSidebar"},{"id":"analysis/ManualAnalysis","path":"/docs/analysis/ManualAnalysis","sidebar":"defaultSidebar"},{"id":"analysis/MLSuggestions","path":"/docs/analysis/MLSuggestions","sidebar":"defaultSidebar"},{"id":"analysis/PatternAnalysis","path":"/docs/analysis/PatternAnalysis","sidebar":"defaultSidebar"},{"id":"analysis/SearchForTheSimilarToInvestigateItems","path":"/docs/analysis/SearchForTheSimilarToInvestigateItems","sidebar":"defaultSidebar"},{"id":"analysis/UniqueErrorAnalysis","path":"/docs/analysis/UniqueErrorAnalysis","sidebar":"defaultSidebar"},{"id":"case-studies/ImprovingTestAutomationStability","path":"/docs/case-studies/ImprovingTestAutomationStability","sidebar":"defaultSidebar"},{"id":"case-studies/IncreasingTestAutomationStabilityAndVisibility","path":"/docs/case-studies/IncreasingTestAutomationStabilityAndVisibility","sidebar":"defaultSidebar"},{"id":"case-studies/ReducingRegressionAnalysisEfforts","path":"/docs/case-studies/ReducingRegressionAnalysisEfforts","sidebar":"defaultSidebar"},{"id":"case-studies/ReducingRegressionTimeBy50","path":"/docs/case-studies/ReducingRegressionTimeBy50","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/ComponentHealthCheck","path":"/docs/dashboards-and-widgets/ComponentHealthCheck","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/CumulativeTrendChart","path":"/docs/dashboards-and-widgets/CumulativeTrendChart","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/DifferentLaunchesComparisonChart","path":"/docs/dashboards-and-widgets/DifferentLaunchesComparisonChart","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/FailedCasesTrendChart","path":"/docs/dashboards-and-widgets/FailedCasesTrendChart","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/FlakyTestCasesTableTop20","path":"/docs/dashboards-and-widgets/FlakyTestCasesTableTop20","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/InvestigatedPercentageOfLaunches","path":"/docs/dashboards-and-widgets/InvestigatedPercentageOfLaunches","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/LaunchesDurationChart","path":"/docs/dashboards-and-widgets/LaunchesDurationChart","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/LaunchesTable","path":"/docs/dashboards-and-widgets/LaunchesTable","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/LaunchExecutionAndIssueStatistic","path":"/docs/dashboards-and-widgets/LaunchExecutionAndIssueStatistic","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/LaunchStatisticsChart","path":"/docs/dashboards-and-widgets/LaunchStatisticsChart","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/ManageWidgets","path":"/docs/dashboards-and-widgets/ManageWidgets","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/MostFailedTestCasesTableTop20","path":"/docs/dashboards-and-widgets/MostFailedTestCasesTableTop20","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/MostPopularPatternTableTop20","path":"/docs/dashboards-and-widgets/MostPopularPatternTableTop20","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/MostTimeConsumingTestCasesWidgetTop20","path":"/docs/dashboards-and-widgets/MostTimeConsumingTestCasesWidgetTop20","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/NonPassedTestCasesTrendChart","path":"/docs/dashboards-and-widgets/NonPassedTestCasesTrendChart","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/OverallStatistics","path":"/docs/dashboards-and-widgets/OverallStatistics","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/PassingRatePerLaunch","path":"/docs/dashboards-and-widgets/PassingRatePerLaunch","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/PassingRateSummary","path":"/docs/dashboards-and-widgets/PassingRateSummary","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/PossibleDashboardsInReportPortal","path":"/docs/dashboards-and-widgets/PossibleDashboardsInReportPortal","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/ProjectActivityPanel","path":"/docs/dashboards-and-widgets/ProjectActivityPanel","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/TableComponentHealthCheck","path":"/docs/dashboards-and-widgets/TableComponentHealthCheck","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/TestCasesGrowthTrendChart","path":"/docs/dashboards-and-widgets/TestCasesGrowthTrendChart","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/UniqueBugsTable","path":"/docs/dashboards-and-widgets/UniqueBugsTable","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/WidgetCreation","path":"/docs/dashboards-and-widgets/WidgetCreation","sidebar":"defaultSidebar"},{"id":"dashboards-and-widgets/WorkWithDashboards","path":"/docs/dashboards-and-widgets/WorkWithDashboards","sidebar":"defaultSidebar"},{"id":"dev-guides/APIDifferencesBetweenV4AndV5","path":"/docs/dev-guides/APIDifferencesBetweenV4AndV5","sidebar":"defaultSidebar"},{"id":"dev-guides/AsynchronousReporting","path":"/docs/dev-guides/AsynchronousReporting","sidebar":"defaultSidebar"},{"id":"dev-guides/AttachmentsGuide","path":"/docs/dev-guides/AttachmentsGuide","sidebar":"defaultSidebar"},{"id":"dev-guides/BackEndJavaContributionGuide","path":"/docs/dev-guides/BackEndJavaContributionGuide","sidebar":"defaultSidebar"},{"id":"dev-guides/InteractionsBetweenAPIAndAnalyzer","path":"/docs/dev-guides/InteractionsBetweenAPIAndAnalyzer","sidebar":"defaultSidebar"},{"id":"dev-guides/PluginDevelopersGuide","path":"/docs/dev-guides/PluginDevelopersGuide","sidebar":"defaultSidebar"},{"id":"dev-guides/ReportingDevelopersGuide","path":"/docs/dev-guides/ReportingDevelopersGuide","sidebar":"defaultSidebar"},{"id":"dev-guides/ReportPortalAPI","path":"/docs/dev-guides/ReportPortalAPI","sidebar":"defaultSidebar"},{"id":"dev-guides/RerunDevelopersGuide","path":"/docs/dev-guides/RerunDevelopersGuide","sidebar":"defaultSidebar"},{"id":"dev-guides/RetriesReporting","path":"/docs/dev-guides/RetriesReporting","sidebar":"defaultSidebar"},{"id":"FAQ/index","path":"/docs/FAQ/","sidebar":"defaultSidebar"},{"id":"features/AIFailureReasonDetection","path":"/docs/features/AIFailureReasonDetection","sidebar":"defaultSidebar"},{"id":"features/CategorisationOfFailures","path":"/docs/features/CategorisationOfFailures","sidebar":"defaultSidebar"},{"id":"features/QualityGates","path":"/docs/features/QualityGates","sidebar":"defaultSidebar"},{"id":"features/RealTimeReporting","path":"/docs/features/RealTimeReporting","sidebar":"defaultSidebar"},{"id":"features/RESTAPI","path":"/docs/features/RESTAPI","sidebar":"defaultSidebar"},{"id":"features/RichArtifactsInTestReports","path":"/docs/features/RichArtifactsInTestReports","sidebar":"defaultSidebar"},{"id":"features/UnifiedTestReporting","path":"/docs/features/UnifiedTestReporting","sidebar":"defaultSidebar"},{"id":"features/VisualisationOfTestResults","path":"/docs/features/VisualisationOfTestResults","sidebar":"defaultSidebar"},{"id":"installation-steps/AdditionalConfigurationParameters","path":"/docs/installation-steps/AdditionalConfigurationParameters","sidebar":"defaultSidebar"},{"id":"installation-steps/BasicMonitoringConfiguration","path":"/docs/installation-steps/BasicMonitoringConfiguration","sidebar":"defaultSidebar"},{"id":"installation-steps/DeployOnUbuntuOS","path":"/docs/installation-steps/DeployOnUbuntuOS","sidebar":"defaultSidebar"},{"id":"installation-steps/DeployWithAWSECSFargate","path":"/docs/installation-steps/DeployWithAWSECSFargate","sidebar":"defaultSidebar"},{"id":"installation-steps/DeployWithDockerOnLinuxMac","path":"/docs/installation-steps/DeployWithDockerOnLinuxMac","sidebar":"defaultSidebar"},{"id":"installation-steps/DeployWithDockerOnWindows","path":"/docs/installation-steps/DeployWithDockerOnWindows","sidebar":"defaultSidebar"},{"id":"installation-steps/DeployWithKubernetes","path":"/docs/installation-steps/DeployWithKubernetes","sidebar":"defaultSidebar"},{"id":"installation-steps/DeployWithoutDocker","path":"/docs/installation-steps/DeployWithoutDocker","sidebar":"defaultSidebar"},{"id":"installation-steps/MaintainCommandsCheatSheet","path":"/docs/installation-steps/MaintainCommandsCheatSheet","sidebar":"defaultSidebar"},{"id":"installation-steps/OptimalPerformanceHardwareSetup","path":"/docs/installation-steps/OptimalPerformanceHardwareSetup","sidebar":"defaultSidebar"},{"id":"installation-steps/ReportPortal23.1FileStorageOptions","path":"/docs/installation-steps/ReportPortal23.1FileStorageOptions","sidebar":"defaultSidebar"},{"id":"installation-steps/SetupTSLSSLInTraefik2.0.x","path":"/docs/installation-steps/SetupTSLSSLInTraefik2.0.x","sidebar":"defaultSidebar"},{"id":"intro","path":"/docs/","sidebar":"defaultSidebar"},{"id":"issues-troubleshooting/HowToAddATestStackTraceToADescriptionAutomatically","path":"/docs/issues-troubleshooting/HowToAddATestStackTraceToADescriptionAutomatically","sidebar":"defaultSidebar"},{"id":"issues-troubleshooting/HowToAvoidLocalExecutionReportedIntoProjectSpace","path":"/docs/issues-troubleshooting/HowToAvoidLocalExecutionReportedIntoProjectSpace","sidebar":"defaultSidebar"},{"id":"issues-troubleshooting/HowToCheckLDAPConnection","path":"/docs/issues-troubleshooting/HowToCheckLDAPConnection","sidebar":"defaultSidebar"},{"id":"issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingPGRepack","path":"/docs/issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingPGRepack","sidebar":"defaultSidebar"},{"id":"issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingVacuumFull","path":"/docs/issues-troubleshooting/HowToCleanUpTheReportPortalDatabaseUsingVacuumFull","sidebar":"defaultSidebar"},{"id":"issues-troubleshooting/HowToResolveIssuesWithMigrationToTheNewVersion","path":"/docs/issues-troubleshooting/HowToResolveIssuesWithMigrationToTheNewVersion","sidebar":"defaultSidebar"},{"id":"issues-troubleshooting/IssuesWithJIRABugTrackingSystemHowToResolve","path":"/docs/issues-troubleshooting/IssuesWithJIRABugTrackingSystemHowToResolve","sidebar":"defaultSidebar"},{"id":"issues-troubleshooting/IssuesWithLDAPSHowToResolve","path":"/docs/issues-troubleshooting/IssuesWithLDAPSHowToResolve","sidebar":"defaultSidebar"},{"id":"issues-troubleshooting/ResolveAnalyzerKnownIssues","path":"/docs/issues-troubleshooting/ResolveAnalyzerKnownIssues","sidebar":"defaultSidebar"},{"id":"issues-troubleshooting/TuningCITool","path":"/docs/issues-troubleshooting/TuningCITool","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/HowToRunYourTests","path":"/docs/log-data-in-reportportal/HowToRunYourTests","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/ImplementOwnIntegration","path":"/docs/log-data-in-reportportal/ImplementOwnIntegration","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/ImportDataToReportPortal","path":"/docs/log-data-in-reportportal/ImportDataToReportPortal","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/ReportingSDK","path":"/docs/log-data-in-reportportal/ReportingSDK","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/index","path":"/docs/log-data-in-reportportal/test-framework-integration/","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Java/Cucumber","path":"/docs/log-data-in-reportportal/test-framework-integration/Java/Cucumber","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Java/index","path":"/docs/log-data-in-reportportal/test-framework-integration/Java/","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Java/JBehave","path":"/docs/log-data-in-reportportal/test-framework-integration/Java/JBehave","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Java/JUnit4","path":"/docs/log-data-in-reportportal/test-framework-integration/Java/JUnit4","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Java/JUnit5","path":"/docs/log-data-in-reportportal/test-framework-integration/Java/JUnit5","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Java/Loggers/ApacheHttpComponents","path":"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/ApacheHttpComponents","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Java/Loggers/Log4J","path":"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/Log4J","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Java/Loggers/Logback","path":"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/Logback","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Java/Loggers/OkHttp3","path":"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/OkHttp3","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Java/Loggers/RestAssured","path":"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/RestAssured","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Java/Loggers/Selenide","path":"/docs/log-data-in-reportportal/test-framework-integration/Java/Loggers/Selenide","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Java/SoapUI","path":"/docs/log-data-in-reportportal/test-framework-integration/Java/SoapUI","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Java/Spock","path":"/docs/log-data-in-reportportal/test-framework-integration/Java/Spock","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Java/TestNG","path":"/docs/log-data-in-reportportal/test-framework-integration/Java/TestNG","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Codecept","path":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Codecept","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/CucumberJS","path":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/CucumberJS","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Cypress","path":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Cypress","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/index","path":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Jasmine","path":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Jasmine","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Jest","path":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Jest","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Mocha","path":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Mocha","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Nightwatch","path":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Nightwatch","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Playwright","path":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Playwright","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/Postman","path":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/Postman","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/TestCafe","path":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/TestCafe","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/JavaScript/WebdriverIO","path":"/docs/log-data-in-reportportal/test-framework-integration/JavaScript/WebdriverIO","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Net/index","path":"/docs/log-data-in-reportportal/test-framework-integration/Net/","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Net/Loggers/Log4Net","path":"/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/Log4Net","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Net/Loggers/NLog","path":"/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/NLog","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Net/Loggers/Serilog","path":"/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/Serilog","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Net/Loggers/TraceListener","path":"/docs/log-data-in-reportportal/test-framework-integration/Net/Loggers/TraceListener","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Net/NUnit","path":"/docs/log-data-in-reportportal/test-framework-integration/Net/NUnit","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Net/SpecFlow","path":"/docs/log-data-in-reportportal/test-framework-integration/Net/SpecFlow","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Net/VSTest","path":"/docs/log-data-in-reportportal/test-framework-integration/Net/VSTest","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Net/xUnit","path":"/docs/log-data-in-reportportal/test-framework-integration/Net/xUnit","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Other/index","path":"/docs/log-data-in-reportportal/test-framework-integration/Other/","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/PHP/Behat","path":"/docs/log-data-in-reportportal/test-framework-integration/PHP/Behat","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/PHP/Codeception","path":"/docs/log-data-in-reportportal/test-framework-integration/PHP/Codeception","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/PHP/index","path":"/docs/log-data-in-reportportal/test-framework-integration/PHP/","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/PHP/PHPUnit","path":"/docs/log-data-in-reportportal/test-framework-integration/PHP/PHPUnit","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Python/behave","path":"/docs/log-data-in-reportportal/test-framework-integration/Python/behave","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Python/index","path":"/docs/log-data-in-reportportal/test-framework-integration/Python/","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Python/nosetests","path":"/docs/log-data-in-reportportal/test-framework-integration/Python/nosetests","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Python/pytest","path":"/docs/log-data-in-reportportal/test-framework-integration/Python/pytest","sidebar":"defaultSidebar"},{"id":"log-data-in-reportportal/test-framework-integration/Python/RobotFramework","path":"/docs/log-data-in-reportportal/test-framework-integration/Python/RobotFramework","sidebar":"defaultSidebar"},{"id":"plugins/AtlassianJiraCloud","path":"/docs/plugins/AtlassianJiraCloud","sidebar":"defaultSidebar"},{"id":"plugins/AtlassianJiraServer","path":"/docs/plugins/AtlassianJiraServer","sidebar":"defaultSidebar"},{"id":"plugins/AzureDevOpsBTS","path":"/docs/plugins/AzureDevOpsBTS","sidebar":"defaultSidebar"},{"id":"plugins/EmailServer","path":"/docs/plugins/EmailServer","sidebar":"defaultSidebar"},{"id":"plugins/ManagePlugins","path":"/docs/plugins/ManagePlugins","sidebar":"defaultSidebar"},{"id":"plugins/Rally","path":"/docs/plugins/Rally","sidebar":"defaultSidebar"},{"id":"plugins/SauceLabs","path":"/docs/plugins/SauceLabs","sidebar":"defaultSidebar"},{"id":"quality-gates/AssessmentOfTestResultsUsingQualityGates","path":"/docs/quality-gates/AssessmentOfTestResultsUsingQualityGates","sidebar":"defaultSidebar"},{"id":"quality-gates/DeleteQualityGates","path":"/docs/quality-gates/DeleteQualityGates","sidebar":"defaultSidebar"},{"id":"quality-gates/FeatureOverview","path":"/docs/quality-gates/FeatureOverview","sidebar":"defaultSidebar"},{"id":"quality-gates/HowToInstallQualityGates","path":"/docs/quality-gates/HowToInstallQualityGates","sidebar":"defaultSidebar"},{"id":"quality-gates/IntegrationWithCICD/index","path":"/docs/quality-gates/IntegrationWithCICD/","sidebar":"defaultSidebar"},{"id":"quality-gates/IntegrationWithCICD/IntegrationWithGitLabCI","path":"/docs/quality-gates/IntegrationWithCICD/IntegrationWithGitLabCI","sidebar":"defaultSidebar"},{"id":"quality-gates/IntegrationWithCICD/IntegrationWithJenkins","path":"/docs/quality-gates/IntegrationWithCICD/IntegrationWithJenkins","sidebar":"defaultSidebar"},{"id":"quality-gates/QualityGateEdit","path":"/docs/quality-gates/QualityGateEdit","sidebar":"defaultSidebar"},{"id":"quality-gates/QualityGatePurpose","path":"/docs/quality-gates/QualityGatePurpose","sidebar":"defaultSidebar"},{"id":"quality-gates/QualityRulesConfiguration","path":"/docs/quality-gates/QualityRulesConfiguration","sidebar":"defaultSidebar"},{"id":"quality-gates/UploadQualityGateToReportPortal","path":"/docs/quality-gates/UploadQualityGateToReportPortal","sidebar":"defaultSidebar"},{"id":"releases/Version3.3.2","path":"/docs/releases/Version3.3.2","sidebar":"defaultSidebar"},{"id":"releases/Version3.3.2-1","path":"/docs/releases/Version3.3.2-1","sidebar":"defaultSidebar"},{"id":"releases/Version4.0.0","path":"/docs/releases/Version4.0.0","sidebar":"defaultSidebar"},{"id":"releases/Version4.1.0","path":"/docs/releases/Version4.1.0","sidebar":"defaultSidebar"},{"id":"releases/Version4.2.0","path":"/docs/releases/Version4.2.0","sidebar":"defaultSidebar"},{"id":"releases/Version4.3","path":"/docs/releases/Version4.3","sidebar":"defaultSidebar"},{"id":"releases/Version5.0.0","path":"/docs/releases/Version5.0.0","sidebar":"defaultSidebar"},{"id":"releases/Version5.0RC","path":"/docs/releases/Version5.0RC","sidebar":"defaultSidebar"},{"id":"releases/Version5.1.0","path":"/docs/releases/Version5.1.0","sidebar":"defaultSidebar"},{"id":"releases/Version5.2.0","path":"/docs/releases/Version5.2.0","sidebar":"defaultSidebar"},{"id":"releases/Version5.2.1","path":"/docs/releases/Version5.2.1","sidebar":"defaultSidebar"},{"id":"releases/Version5.2.2","path":"/docs/releases/Version5.2.2","sidebar":"defaultSidebar"},{"id":"releases/Version5.2.3","path":"/docs/releases/Version5.2.3","sidebar":"defaultSidebar"},{"id":"releases/Version5.3.0","path":"/docs/releases/Version5.3.0","sidebar":"defaultSidebar"},{"id":"releases/Version5.3.1.","path":"/docs/releases/Version5.3.1.","sidebar":"defaultSidebar"},{"id":"releases/Version5.3.2","path":"/docs/releases/Version5.3.2","sidebar":"defaultSidebar"},{"id":"releases/Version5.3.3","path":"/docs/releases/Version5.3.3","sidebar":"defaultSidebar"},{"id":"releases/Version5.3.5","path":"/docs/releases/Version5.3.5","sidebar":"defaultSidebar"},{"id":"releases/Version5.4.0","path":"/docs/releases/Version5.4.0","sidebar":"defaultSidebar"},{"id":"releases/Version5.5.0","path":"/docs/releases/Version5.5.0","sidebar":"defaultSidebar"},{"id":"releases/Version5.6.0","path":"/docs/releases/Version5.6.0","sidebar":"defaultSidebar"},{"id":"releases/Version5.6.1","path":"/docs/releases/Version5.6.1","sidebar":"defaultSidebar"},{"id":"releases/Version5.6.2","path":"/docs/releases/Version5.6.2","sidebar":"defaultSidebar"},{"id":"releases/Version5.6.3","path":"/docs/releases/Version5.6.3","sidebar":"defaultSidebar"},{"id":"releases/Version5.7.0","path":"/docs/releases/Version5.7.0","sidebar":"defaultSidebar"},{"id":"releases/Version5.7.1","path":"/docs/releases/Version5.7.1","sidebar":"defaultSidebar"},{"id":"releases/Version5.7.2","path":"/docs/releases/Version5.7.2","sidebar":"defaultSidebar"},{"id":"releases/Version5.7.3","path":"/docs/releases/Version5.7.3","sidebar":"defaultSidebar"},{"id":"releases/Version5.7.4","path":"/docs/releases/Version5.7.4","sidebar":"defaultSidebar"},{"id":"releases/Versionv23.1","path":"/docs/releases/Versionv23.1","sidebar":"defaultSidebar"},{"id":"reportportal-configuration/authorization/ActiveDirectory","path":"/docs/reportportal-configuration/authorization/ActiveDirectory","sidebar":"defaultSidebar"},{"id":"reportportal-configuration/authorization/GitHub","path":"/docs/reportportal-configuration/authorization/GitHub","sidebar":"defaultSidebar"},{"id":"reportportal-configuration/authorization/index","path":"/docs/reportportal-configuration/authorization/","sidebar":"defaultSidebar"},{"id":"reportportal-configuration/authorization/LDAP","path":"/docs/reportportal-configuration/authorization/LDAP","sidebar":"defaultSidebar"},{"id":"reportportal-configuration/authorization/SAMLProvider/AzureSAML","path":"/docs/reportportal-configuration/authorization/SAMLProvider/AzureSAML","sidebar":"defaultSidebar"},{"id":"reportportal-configuration/authorization/SAMLProvider/index","path":"/docs/reportportal-configuration/authorization/SAMLProvider/","sidebar":"defaultSidebar"},{"id":"reportportal-configuration/authorization/SAMLProvider/OktaSAML","path":"/docs/reportportal-configuration/authorization/SAMLProvider/OktaSAML","sidebar":"defaultSidebar"},{"id":"reportportal-configuration/ComponentsOverview","path":"/docs/reportportal-configuration/ComponentsOverview","sidebar":"defaultSidebar"},{"id":"reportportal-configuration/CreationOfProjectAndAddingUsers","path":"/docs/reportportal-configuration/CreationOfProjectAndAddingUsers","sidebar":"defaultSidebar"},{"id":"reportportal-configuration/HowToGetAnAccessTokenInReportPortal","path":"/docs/reportportal-configuration/HowToGetAnAccessTokenInReportPortal","sidebar":"defaultSidebar"},{"id":"reportportal-configuration/IntegrationViaPlugin","path":"/docs/reportportal-configuration/IntegrationViaPlugin","sidebar":"defaultSidebar"},{"id":"reportportal-configuration/ProjectConfiguration","path":"/docs/reportportal-configuration/ProjectConfiguration","sidebar":"defaultSidebar"},{"id":"reportportal-configuration/ReportPortalJobsConfiguration","path":"/docs/reportportal-configuration/ReportPortalJobsConfiguration","sidebar":"defaultSidebar"},{"id":"reportportal-glossary/index","path":"/docs/reportportal-glossary/","sidebar":"defaultSidebar"},{"id":"reportportal-tutorial/index","path":"/docs/reportportal-tutorial/","sidebar":"defaultSidebar"},{"id":"saved-searches-filters/CreateFilters","path":"/docs/saved-searches-filters/CreateFilters","sidebar":"defaultSidebar"},{"id":"saved-searches-filters/FiltersPage","path":"/docs/saved-searches-filters/FiltersPage","sidebar":"defaultSidebar"},{"id":"saved-searches-filters/ManageFilters","path":"/docs/saved-searches-filters/ManageFilters","sidebar":"defaultSidebar"},{"id":"terms-and-conditions/GoogleAnalyticsUsageByReportPortal","path":"/docs/terms-and-conditions/GoogleAnalyticsUsageByReportPortal","sidebar":"defaultSidebar"},{"id":"terms-and-conditions/PremiumFeatures","path":"/docs/terms-and-conditions/PremiumFeatures","sidebar":"defaultSidebar"},{"id":"user-account/DataRetentionProcedure","path":"/docs/user-account/DataRetentionProcedure","sidebar":"defaultSidebar"},{"id":"user-account/DeleteAccount","path":"/docs/user-account/DeleteAccount","sidebar":"defaultSidebar"},{"id":"user-account/EditPersonalInformation","path":"/docs/user-account/EditPersonalInformation","sidebar":"defaultSidebar"},{"id":"user-account/RestoreAPassword","path":"/docs/user-account/RestoreAPassword","sidebar":"defaultSidebar"},{"id":"user-role-guides/index","path":"/docs/user-role-guides/","sidebar":"defaultSidebar"},{"id":"work-with-reports/FilteringLaunches","path":"/docs/work-with-reports/FilteringLaunches","sidebar":"defaultSidebar"},{"id":"work-with-reports/HistoryOfLaunches","path":"/docs/work-with-reports/HistoryOfLaunches","sidebar":"defaultSidebar"},{"id":"work-with-reports/InvestigationOfFailure","path":"/docs/work-with-reports/InvestigationOfFailure","sidebar":"defaultSidebar"},{"id":"work-with-reports/OperationsUnderLaunches","path":"/docs/work-with-reports/OperationsUnderLaunches","sidebar":"defaultSidebar"},{"id":"work-with-reports/TestCaseId","path":"/docs/work-with-reports/TestCaseId","sidebar":"defaultSidebar"},{"id":"work-with-reports/UniqueId","path":"/docs/work-with-reports/UniqueId","sidebar":"defaultSidebar"},{"id":"work-with-reports/ViewLaunches","path":"/docs/work-with-reports/ViewLaunches","sidebar":"defaultSidebar"},{"id":"/category/features","path":"/docs/category/features","sidebar":"defaultSidebar"},{"id":"/category/installation-steps","path":"/docs/category/installation-steps","sidebar":"defaultSidebar"},{"id":"/category/releases","path":"/docs/category/releases","sidebar":"defaultSidebar"},{"id":"/category/reportportal-configuration","path":"/docs/category/reportportal-configuration","sidebar":"defaultSidebar"},{"id":"/category/user-account","path":"/docs/category/user-account","sidebar":"defaultSidebar"},{"id":"/category/log-data-in-reportportal","path":"/docs/category/log-data-in-reportportal","sidebar":"defaultSidebar"},{"id":"/category/loggers","path":"/docs/category/loggers","sidebar":"defaultSidebar"},{"id":"/category/loggers-1","path":"/docs/category/loggers-1","sidebar":"defaultSidebar"},{"id":"/category/developers-guides","path":"/docs/category/developers-guides","sidebar":"defaultSidebar"},{"id":"/category/work-with-reports","path":"/docs/category/work-with-reports","sidebar":"defaultSidebar"},{"id":"/category/analysis","path":"/docs/category/analysis","sidebar":"defaultSidebar"},{"id":"/category/saved-searches-filters","path":"/docs/category/saved-searches-filters","sidebar":"defaultSidebar"},{"id":"/category/dashboards-and-widgets","path":"/docs/category/dashboards-and-widgets","sidebar":"defaultSidebar"},{"id":"/category/admin-panel","path":"/docs/category/admin-panel","sidebar":"defaultSidebar"},{"id":"/category/plugins","path":"/docs/category/plugins","sidebar":"defaultSidebar"},{"id":"/category/quality-gates","path":"/docs/category/quality-gates","sidebar":"defaultSidebar"},{"id":"/category/issues-troubleshooting","path":"/docs/category/issues-troubleshooting","sidebar":"defaultSidebar"},{"id":"/category/case-studies","path":"/docs/category/case-studies","sidebar":"defaultSidebar"},{"id":"/category/terms--conditions","path":"/docs/category/terms--conditions","sidebar":"defaultSidebar"}],"draftIds":[],"sidebars":{"defaultSidebar":{"link":{"path":"/docs/","label":"intro"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var s=n(57529);const l=JSON.parse('{"docusaurusVersion":"2.4.0","siteVersion":"2.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.4.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.4.0"},"docusaurus-plugin-google-tag-manager":{"type":"package","name":"@docusaurus/plugin-google-tag-manager","version":"2.4.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.4.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.4.0"},"docusaurus-theme-search-algolia":{"type":"package","name":"@docusaurus/theme-search-algolia","version":"2.4.0"},"plugin-cookie-pro":{"type":"project"}}}'),c={siteConfig:a.Z,siteMetadata:l,globalData:o,i18n:i,codeTranslations:s},d=r.createContext(c);function u(e){let{children:t}=e;return r.createElement(d.Provider,{value:c},t)}},44763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(67294),a=n(10412),o=n(35742),i=n(18780),s=n(47063);function l(e){let{error:t,tryAgain:n}=e;return r.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"}},r.createElement("h1",{style:{fontSize:"3rem"}},"This page crashed"),r.createElement("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"}},"Try again"),r.createElement(c,{error:t}))}function c(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{style:{whiteSpace:"pre-wrap"}},n)}function d(e){let{error:t,tryAgain:n}=e;return r.createElement(p,{fallback:()=>r.createElement(l,{error:t,tryAgain:n})},r.createElement(o.Z,null,r.createElement("title",null,"Page Error")),r.createElement(s.Z,null,r.createElement(l,{error:t,tryAgain:n})))}const u=e=>r.createElement(d,e);class p extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??u)(e)}return e??null}}},10412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},35742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(67294),a=n(70405);function o(e){return r.createElement(a.ql,e)}},39960:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(87462),a=n(67294),o=n(73727),i=n(18780),s=n(52263),l=n(13919),c=n(10412);const d=a.createContext({collectLink:()=>{}});var u=n(44996);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:g,"data-noBrokenLinkCheck":h,autoAddBaseUrl:b=!0,...v}=e;const{siteConfig:{trailingSlash:y,baseUrl:w}}=(0,s.Z)(),{withBaseUrl:S}=(0,u.C)(),k=(0,a.useContext)(d),E=(0,a.useRef)(null);(0,a.useImperativeHandle)(t,(()=>E.current));const x=p||f;const T=(0,l.Z)(x),C=x?.replace("pathname://","");let _=void 0!==C?(A=C,b&&(e=>e.startsWith("/"))(A)?S(A):A):void 0;var A;_&&T&&(_=(0,i.applyTrailingSlash)(_,{trailingSlash:y,baseUrl:w}));const P=(0,a.useRef)(!1),R=n?o.OL:o.rU,L=c.Z.canUseIntersectionObserver,I=(0,a.useRef)(),O=()=>{P.current||null==_||(window.docusaurus.preload(_),P.current=!0)};(0,a.useEffect)((()=>(!L&&T&&null!=_&&window.docusaurus.prefetch(_),()=>{L&&I.current&&I.current.disconnect()})),[I,_,L,T]);const D=_?.startsWith("#")??!1,N=!_||!T||D;return N||h||k.collectLink(_),N?a.createElement("a",(0,r.Z)({ref:E,href:_},x&&!T&&{target:"_blank",rel:"noopener noreferrer"},v)):a.createElement(R,(0,r.Z)({},v,{onMouseEnter:O,onTouchStart:O,innerRef:e=>{E.current=e,L&&e&&T&&(I.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(I.current.unobserve(e),I.current.disconnect(),null!=_&&window.docusaurus.prefetch(_))}))})),I.current.observe(e))},to:_},n&&{isActive:g,activeClassName:m}))}const f=a.forwardRef(p)},95999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l,I:()=>s});var r=n(67294);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var o=n(57529);function i(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return o[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return a(i({message:n,id:r}),t)}function l(e){let{children:t,id:n,values:o}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const s=i({message:t,id:n});return r.createElement(r.Fragment,null,a(s,o))}},29935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},13919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},44996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>s});var r=n(67294),a=n(52263),o=n(13919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const s=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+s:s}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},52263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(67294),a=n(58940);function o(){return(0,r.useContext)(a._)}},72389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(67294),a=n(98934);function o(){return(0,r.useContext)(a._)}},99670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const s=a?`${a}.${o}`:o;r(i)?e(i,s):t[s]=i}))}(e),t}},30226:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>o});var r=n(67294);const a=r.createContext(null);function o(e){let{children:t,value:n}=e;const o=r.useContext(a),i=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:o,value:n})),[o,n]);return r.createElement(a.Provider,{value:i},t)}},80143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>b,gA:()=>f,WS:()=>m,_r:()=>u,Jo:()=>v,zh:()=>p,yW:()=>h,gB:()=>g});var r=n(16550),a=n(52263),o=n(29935);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const s=e=>e.versions.find((e=>e.isLast));function l(e,t){const n=s(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}function c(e,t){const n=l(e,t),a=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const d={},u=()=>i("docusaurus-plugin-content-docs")??d,p=e=>function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0});function f(e){void 0===e&&(e={});const t=u(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function m(e){void 0===e&&(e={});const t=f(e),{pathname:n}=(0,r.TH)();if(!t)return;return{activePlugin:t,activeVersion:l(t.pluginData,n)}}function g(e){return p(e).versions}function h(e){const t=p(e);return s(t)}function b(e){const t=p(e),{pathname:n}=(0,r.TH)();return c(t,n)}function v(e){const t=p(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=s(e);return{latestDocSuggestion:c(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},18320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(74865),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},3310:(e,t,n)=>{"use strict";n.r(t);var r=n(87410),a=n(36809);!function(e){const{themeConfig:{prism:t}}=a.Z,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{n(6726)(`./prism-${e}`)})),delete globalThis.Prism}(r.Z)},39471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(67294);const a={iconExternalLink:"iconExternalLink_nPIU"};function o(e){let{width:t=13.5,height:n=13.5}=e;return r.createElement("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:a.iconExternalLink},r.createElement("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"}))}},47063:(e,t,n)=>{"use strict";n.d(t,{Z:()=>Lt});var r=n(67294),a=n(86010),o=n(44763),i=n(10833),s=n(87462),l=n(16550),c=n(95999),d=n(85936);const u="docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,l.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(u);t&&p(t)}),[]);return(0,d.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const m=(0,c.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function g(e){const t=e.children??m,{containerRef:n,onClick:a}=f();return r.createElement("div",{ref:n,role:"region","aria-label":m},r.createElement("a",(0,s.Z)({},e,{href:`#${u}`,onClick:a}),t))}var h=n(35281),b=n(19727);const v={skipToContent:"skipToContent_fXgn"};function y(){return r.createElement(g,{className:v.skipToContent})}var w=n(86668),S=n(59689);function k(e){let{width:t=21,height:n=21,color:a="currentColor",strokeWidth:o=1.2,className:i,...l}=e;return r.createElement("svg",(0,s.Z)({viewBox:"0 0 15 15",width:t,height:n},l),r.createElement("g",{stroke:a,strokeWidth:o},r.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}const E={closeButton:"closeButton_CVFx"};function x(e){return r.createElement("button",(0,s.Z)({type:"button","aria-label":(0,c.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},e,{className:(0,a.Z)("clean-btn close",E.closeButton,e.className)}),r.createElement(k,{width:14,height:14,strokeWidth:3.1}))}const T={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return r.createElement("div",(0,s.Z)({},e,{className:(0,a.Z)(T.content,e.className),dangerouslySetInnerHTML:{__html:n}}))}const _={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function A(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,S.nT)();if(!t)return null;const{backgroundColor:a,textColor:o,isCloseable:i}=e;return r.createElement("div",{className:_.announcementBar,style:{backgroundColor:a,color:o},role:"banner"},i&&r.createElement("div",{className:_.announcementBarPlaceholder}),r.createElement(C,{className:_.announcementBarContent}),i&&r.createElement(x,{onClick:n,className:_.announcementBarClose}))}var P=n(93163),R=n(12466);var L=n(902),I=n(13102);const O=r.createContext(null);function D(e){let{children:t}=e;const n=function(){const e=(0,P.e)(),t=(0,I.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,L.D9)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return r.createElement(O.Provider,{value:n},t)}function N(e){if(e.component){const t=e.component;return r.createElement(t,e.props)}}function M(){const e=(0,r.useContext)(O);if(!e)throw new L.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,I.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:N(o)})),[a,o,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:o}=e;const{shown:i}=M();return r.createElement("div",{className:"navbar-sidebar"},t,r.createElement("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i})},r.createElement("div",{className:"navbar-sidebar__item menu"},n),r.createElement("div",{className:"navbar-sidebar__item menu"},o)))}var B=n(92949),U=n(72389);function j(e){return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"}))}function z(e){return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"}))}const V={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function H(e){let{className:t,buttonClassName:n,value:o,onChange:i}=e;const s=(0,U.Z)(),l=(0,c.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===o?(0,c.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,c.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return r.createElement("div",{className:(0,a.Z)(V.toggle,t)},r.createElement("button",{className:(0,a.Z)("clean-btn",V.toggleButton,!s&&V.toggleButtonDisabled,n),type:"button",onClick:()=>i("dark"===o?"light":"dark"),disabled:!s,title:l,"aria-label":l,"aria-live":"polite"},r.createElement(j,{className:(0,a.Z)(V.toggleIcon,V.lightToggleIcon)}),r.createElement(z,{className:(0,a.Z)(V.toggleIcon,V.darkToggleIcon)})))}const G=r.memo(H),q={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function $(e){let{className:t}=e;const n=(0,w.L)().navbar.style,a=(0,w.L)().colorMode.disableSwitch,{colorMode:o,setColorMode:i}=(0,B.I)();return a?null:r.createElement(G,{className:t,buttonClassName:"dark"===n?q.darkNavbarColorModeToggle:void 0,value:o,onChange:i})}var W=n(21327);function J(){return r.createElement(W.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Z(){const e=(0,P.e)();return r.createElement("button",{type:"button","aria-label":(0,c.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle()},r.createElement(k,{color:"var(--ifm-color-emphasis-600)"}))}function Q(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(J,null),r.createElement($,{className:"margin-right--md"}),r.createElement(Z,null))}var K=n(39960),Y=n(44996),X=n(13919),ee=n(98022),te=n(39471);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:a,href:o,label:i,html:l,isDropdownLink:c,prependBaseUrlToHref:d,...u}=e;const p=(0,Y.Z)(a),f=(0,Y.Z)(t),m=(0,Y.Z)(o,{forcePrependBaseUrl:!0}),g=i&&o&&!(0,X.Z)(o),h=l?{dangerouslySetInnerHTML:{__html:l}}:{children:r.createElement(r.Fragment,null,i,g&&r.createElement(te.Z,c&&{width:12,height:12}))};return o?r.createElement(K.Z,(0,s.Z)({href:d?m:o},u,h)):r.createElement(K.Z,(0,s.Z)({to:p,isNavLink:!0},(t||n)&&{isActive:(e,t)=>n?(0,ee.F)(n,t.pathname):t.pathname.startsWith(f)},u,h))}function re(e){let{className:t,isDropdownItem:n=!1,...o}=e;const i=r.createElement(ne,(0,s.Z)({className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n},o));return n?r.createElement("li",null,i):i}function ae(e){let{className:t,isDropdownItem:n,...o}=e;return r.createElement("li",{className:"menu__list-item"},r.createElement(ne,(0,s.Z)({className:(0,a.Z)("menu__link",t)},o)))}function oe(e){let{mobile:t=!1,position:n,...a}=e;const o=t?ae:re;return r.createElement(o,(0,s.Z)({},a,{activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")}))}var ie=n(86043),se=n(48596),le=n(52263);function ce(e,t){return e.some((e=>function(e,t){return!!(0,se.Mg)(e.to,t)||!!(0,ee.F)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:o,onClick:i,...l}=e;const c=(0,r.useRef)(null),[d,u]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{c.current&&!c.current.contains(e.target)&&u(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[c]),r.createElement("div",{ref:c,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":d})},r.createElement(ne,(0,s.Z)({"aria-haspopup":"true","aria-expanded":d,role:"button",href:l.to?void 0:"#",className:(0,a.Z)("navbar__link",o)},l,{onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),u(!d))}}),l.children??l.label),r.createElement("ul",{className:"dropdown__menu"},t.map(((e,t)=>r.createElement(Ge,(0,s.Z)({isDropdownItem:!0,activeClassName:"dropdown__link--active"},e,{key:t}))))))}function ue(e){let{items:t,className:n,position:o,onClick:i,...c}=e;const d=function(){const{siteConfig:{baseUrl:e}}=(0,le.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),u=ce(t,d),{collapsed:p,toggleCollapsed:f,setCollapsed:m}=(0,ie.u)({initialState:()=>!u});return(0,r.useEffect)((()=>{u&&m(!u)}),[d,u,m]),r.createElement("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":p})},r.createElement(ne,(0,s.Z)({role:"button",className:(0,a.Z)("menu__link menu__link--sublist menu__link--sublist-caret",n)},c,{onClick:e=>{e.preventDefault(),f()}}),c.children??c.label),r.createElement(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:p},t.map(((e,t)=>r.createElement(Ge,(0,s.Z)({mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active"},e,{key:t}))))))}function pe(e){let{mobile:t=!1,...n}=e;const a=t?ue:de;return r.createElement(a,n)}var fe=n(94711);function me(e){let{width:t=20,height:n=20,...a}=e;return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0},a),r.createElement("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"}))}const ge="iconLanguage_nlXk";var he=n(57052);function be(){return r.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},r.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}var ve=n(20830),ye=["translations"];function we(){return we=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var xe="Ctrl";var Te=r.forwardRef((function(e,t){var n=e.translations,a=void 0===n?{}:n,o=Ee(e,ye),i=a.buttonText,s=void 0===i?"Search":i,l=a.buttonAriaLabel,c=void 0===l?"Search":l,d=Se((0,r.useState)(null),2),u=d[0],p=d[1];return(0,r.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?p("\u2318"):p(xe))}),[]),r.createElement("button",we({type:"button",className:"DocSearch DocSearch-Button","aria-label":c},o,{ref:t}),r.createElement("span",{className:"DocSearch-Button-Container"},r.createElement(ve.W,null),r.createElement("span",{className:"DocSearch-Button-Placeholder"},s)),r.createElement("span",{className:"DocSearch-Button-Keys"},null!==u&&r.createElement(r.Fragment,null,r.createElement("kbd",{className:"DocSearch-Button-Key"},u===xe?r.createElement(be,null):u),r.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))})),Ce=n(35742),_e=n(66177),Ae=n(239),Pe=n(37006),Re=n(73935),Le=n(28364);let Ie=null;function Oe(e){let{hit:t,children:n}=e;return r.createElement(K.Z,{to:t.url},n)}function De(e){let{state:t,onClose:n}=e;const a=(0,_e.M)();return r.createElement(K.Z,{to:a(t.query),onClick:n},r.createElement(c.Z,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits}},"See all {count} results"))}function Ne(e){let{contextualSearch:t,externalUrlRegex:a,...o}=e;const{siteMetadata:i}=(0,le.Z)(),c=(0,Ae.l)(),d=(0,Pe.r)(),u=o.searchParameters?.facetFilters??[],p=t?function(e,t){const n=e=>"string"==typeof e?[e]:e;return[...n(e),...n(t)]}(d,u):u,f={...o.searchParameters,facetFilters:p},m=(0,l.k6)(),g=(0,r.useRef)(null),h=(0,r.useRef)(null),[b,v]=(0,r.useState)(!1),[y,w]=(0,r.useState)(void 0),S=(0,r.useCallback)((()=>Ie?Promise.resolve():Promise.all([Promise.all([n.e(8382),n.e(4483)]).then(n.bind(n,84483)),Promise.all([n.e(532),n.e(6945)]).then(n.bind(n,46945)),Promise.all([n.e(532),n.e(8894)]).then(n.bind(n,18894))]).then((e=>{let[{DocSearchModal:t}]=e;Ie=t}))),[]),k=(0,r.useCallback)((()=>{S().then((()=>{g.current=document.createElement("div"),document.body.insertBefore(g.current,document.body.firstChild),v(!0)}))}),[S,v]),E=(0,r.useCallback)((()=>{v(!1),g.current?.remove()}),[v]),x=(0,r.useCallback)((e=>{S().then((()=>{v(!0),w(e.key)}))}),[S,v,w]),T=(0,r.useRef)({navigate(e){let{itemUrl:t}=e;(0,ee.F)(a,t)?window.location.href=t:m.push(t)}}).current,C=(0,r.useRef)((e=>o.transformItems?o.transformItems(e):e.map((e=>({...e,url:c(e.url)}))))).current,_=(0,r.useMemo)((()=>e=>r.createElement(De,(0,s.Z)({},e,{onClose:E}))),[E]),A=(0,r.useCallback)((e=>(e.addAlgoliaAgent("docusaurus",i.docusaurusVersion),e)),[i.docusaurusVersion]);return(0,he.D)({isOpen:b,onOpen:k,onClose:E,onInput:x,searchButtonRef:h}),r.createElement(r.Fragment,null,r.createElement(Ce.Z,null,r.createElement("link",{rel:"preconnect",href:`https://${o.appId}-dsn.algolia.net`,crossOrigin:"anonymous"})),r.createElement(Te,{onTouchStart:S,onFocus:S,onMouseOver:S,onClick:k,ref:h,translations:Le.Z.button}),b&&Ie&&g.current&&(0,Re.createPortal)(r.createElement(Ie,(0,s.Z)({onClose:E,initialScrollY:window.scrollY,initialQuery:y,navigator:T,transformItems:C,hitComponent:Oe,transformSearchClient:A},o.searchPagePath&&{resultsFooterComponent:_},o,{searchParameters:f,placeholder:Le.Z.placeholder,translations:Le.Z.modal})),g.current))}function Me(){const{siteConfig:e}=(0,le.Z)();return r.createElement(Ne,e.themeConfig.algolia)}const Fe={searchBox:"searchBox_ZlJk"};function Be(e){let{children:t,className:n}=e;return r.createElement("div",{className:(0,a.Z)(n,Fe.searchBox)},t)}var Ue=n(80143),je=n(52802);var ze=n(60373);const Ve=e=>e.docs.find((t=>t.id===e.mainDocId));const He={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:a,...o}=e;const{i18n:{currentLocale:i,locales:d,localeConfigs:u}}=(0,le.Z)(),p=(0,fe.l)(),{search:f,hash:m}=(0,l.TH)(),g=[...n,...d.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}`;return{label:u[e].label,lang:u[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...a],h=t?(0,c.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):u[i].label;return r.createElement(pe,(0,s.Z)({},o,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(me,{className:ge}),h),items:g}))},search:function(e){let{mobile:t,className:n}=e;return t?null:r.createElement(Be,{className:n},r.createElement(Me,null))},dropdown:pe,html:function(e){let{value:t,className:n,mobile:o=!1,isDropdownItem:i=!1}=e;const s=i?"li":"div";return r.createElement(s,{className:(0,a.Z)({navbar__item:!o&&!i,"menu__list-item":o},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,Ue.Iw)(a),l=(0,je.vY)(t,a);return null===l?null:r.createElement(oe,(0,s.Z)({exact:!0},o,{isActive:()=>i?.path===l.path||!!i?.sidebar&&i.sidebar===l.sidebar,label:n??l.id,to:l.path}))},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,Ue.Iw)(a),l=(0,je.oz)(t,a).link;if(!l)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return r.createElement(oe,(0,s.Z)({exact:!0},o,{isActive:()=>i?.sidebar===t,label:n??l.label,to:l.path}))},docsVersion:function(e){let{label:t,to:n,docsPluginId:a,...o}=e;const i=(0,je.lO)(a)[0],l=t??i.label,c=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(i).path;return r.createElement(oe,(0,s.Z)({},o,{label:l,to:c}))},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:a,dropdownItemsBefore:o,dropdownItemsAfter:i,...d}=e;const{search:u,hash:p}=(0,l.TH)(),f=(0,Ue.Iw)(n),m=(0,Ue.gB)(n),{savePreferredVersionName:g}=(0,ze.J)(n),h=[...o,...m.map((e=>{const t=f.alternateDocVersions[e.name]??Ve(e);return{label:e.label,to:`${t.path}${u}${p}`,isActive:()=>e===f.activeVersion,onClick:()=>g(e.name)}})),...i],b=(0,je.lO)(n)[0],v=t&&h.length>1?(0,c.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):b.label,y=t&&h.length>1?void 0:Ve(b).path;return h.length<=1?r.createElement(oe,(0,s.Z)({},d,{mobile:t,label:v,to:y,isActive:a?()=>!1:void 0})):r.createElement(pe,(0,s.Z)({},d,{mobile:t,label:v,to:y,items:h,isActive:a?()=>!1:void 0}))}};function Ge(e){let{type:t,...n}=e;const a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=He[a];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return r.createElement(o,n)}function qe(){const e=(0,P.e)(),t=(0,w.L)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map(((t,n)=>r.createElement(Ge,(0,s.Z)({mobile:!0},t,{onClick:()=>e.toggle(),key:n})))))}function $e(e){return r.createElement("button",(0,s.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),r.createElement(c.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"},"\u2190 Back to main menu"))}function We(){const e=0===(0,w.L)().navbar.items.length,t=M();return r.createElement(r.Fragment,null,!e&&r.createElement($e,{onClick:()=>t.hide()}),t.content)}function Je(){const e=(0,P.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?r.createElement(F,{header:r.createElement(Q,null),primaryMenu:r.createElement(qe,null),secondaryMenu:r.createElement(We,null)}):null}const Ze={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Qe(e){return r.createElement("div",(0,s.Z)({role:"presentation"},e,{className:(0,a.Z)("navbar-sidebar__backdrop",e.className)}))}function Ke(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,P.e)(),{navbarRef:s,isNavbarVisible:l}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,R.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=s?n(!1):i+c{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return r.createElement("nav",{ref:s,"aria-label":(0,c.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[Ze.navbarHideable,!l&&Ze.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown})},t,r.createElement(Qe,{onClick:i.toggle}),r.createElement(Je,null))}var Ye=n(18780);const Xe={errorBoundaryError:"errorBoundaryError_a6uf"};function et(e){return r.createElement("button",(0,s.Z)({type:"button"},e),r.createElement(c.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error"},"Try again"))}function tt(e){let{error:t}=e;const n=(0,Ye.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{className:Xe.errorBoundaryError},n)}class nt extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const rt="right";function at(e){let{width:t=30,height:n=30,className:a,...o}=e;return r.createElement("svg",(0,s.Z)({className:a,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true"},o),r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))}function ot(){const{toggle:e,shown:t}=(0,P.e)();return r.createElement("button",{onClick:e,"aria-label":(0,c.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button"},r.createElement(at,null))}const it={colorModeToggle:"colorModeToggle_DEke"};function st(e){let{items:t}=e;return r.createElement(r.Fragment,null,t.map(((e,t)=>r.createElement(nt,{key:t,onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t})},r.createElement(Ge,e)))))}function lt(e){let{left:t,right:n}=e;return r.createElement("div",{className:"navbar__inner"},r.createElement("div",{className:"navbar__items"},t),r.createElement("div",{className:"navbar__items navbar__items--right"},n))}function ct(){const e=(0,P.e)(),t=(0,w.L)().navbar.items,[n,a]=function(e){function t(e){return"left"===(e.position??rt)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return r.createElement(lt,{left:r.createElement(r.Fragment,null,!e.disabled&&r.createElement(ot,null),r.createElement(J,null),r.createElement(st,{items:n})),right:r.createElement(r.Fragment,null,r.createElement(st,{items:a}),r.createElement($,{className:it.colorModeToggle}),!o&&r.createElement(Be,null,r.createElement(Me,null)))})}function dt(){return r.createElement(Ke,null,r.createElement(ct,null))}function ut(e){let{item:t}=e;const{to:n,href:a,label:o,prependBaseUrlToHref:i,...l}=t,c=(0,Y.Z)(n),d=(0,Y.Z)(a,{forcePrependBaseUrl:!0});return r.createElement(K.Z,(0,s.Z)({className:"footer__link-item"},a?{href:i?d:a}:{to:c},l),o,a&&!(0,X.Z)(a)&&r.createElement(te.Z,null))}function pt(e){let{item:t}=e;return t.html?r.createElement("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement("li",{key:t.href??t.to,className:"footer__item"},r.createElement(ut,{item:t}))}function ft(e){let{column:t}=e;return r.createElement("div",{className:"col footer__col"},r.createElement("div",{className:"footer__title"},t.title),r.createElement("ul",{className:"footer__items clean-list"},t.items.map(((e,t)=>r.createElement(pt,{key:t,item:e})))))}function mt(e){let{columns:t}=e;return r.createElement("div",{className:"row footer__links"},t.map(((e,t)=>r.createElement(ft,{key:t,column:e}))))}function gt(){return r.createElement("span",{className:"footer__link-separator"},"\xb7")}function ht(e){let{item:t}=e;return t.html?r.createElement("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement(ut,{item:t})}function bt(e){let{links:t}=e;return r.createElement("div",{className:"footer__links text--center"},r.createElement("div",{className:"footer__links"},t.map(((e,n)=>r.createElement(r.Fragment,{key:n},r.createElement(ht,{item:e}),t.length!==n+1&&r.createElement(gt,null))))))}function vt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?r.createElement(mt,{columns:t}):r.createElement(bt,{links:t})}var yt=n(50941);const wt={footerLogoLink:"footerLogoLink_BH7S"};function St(e){let{logo:t}=e;const{withBaseUrl:n}=(0,Y.C)(),o={light:n(t.src),dark:n(t.srcDark??t.src)};return r.createElement(yt.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:o,width:t.width,height:t.height,style:t.style})}function kt(e){let{logo:t}=e;return t.href?r.createElement(K.Z,{href:t.href,className:wt.footerLogoLink,target:t.target},r.createElement(St,{logo:t})):r.createElement(St,{logo:t})}function Et(e){let{copyright:t}=e;return r.createElement("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function xt(e){let{style:t,links:n,logo:o,copyright:i}=e;return r.createElement("footer",{className:(0,a.Z)("footer",{"footer--dark":"dark"===t})},r.createElement("div",{className:"container container-fluid"},n,(o||i)&&r.createElement("div",{className:"footer__bottom text--center"},o&&r.createElement("div",{className:"margin-bottom--sm"},o),i)))}function Tt(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:a,style:o}=e;return r.createElement(xt,{style:o,links:n&&n.length>0&&r.createElement(vt,{links:n}),logo:a&&r.createElement(kt,{logo:a}),copyright:t&&r.createElement(Et,{copyright:t})})}const Ct=r.memo(Tt),_t=(0,L.Qc)([B.S,S.pl,R.OC,ze.L5,i.VC,function(e){let{children:t}=e;return r.createElement(I.n2,null,r.createElement(P.M,null,r.createElement(D,null,t)))}]);function At(e){let{children:t}=e;return r.createElement(_t,null,t)}function Pt(e){let{error:t,tryAgain:n}=e;return r.createElement("main",{className:"container margin-vert--xl"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--6 col--offset-3"},r.createElement("h1",{className:"hero__title"},r.createElement(c.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),r.createElement("div",{className:"margin-vert--lg"},r.createElement(et,{onClick:n,className:"button button--primary shadow--lw"})),r.createElement("hr",null),r.createElement("div",{className:"margin-vert--md"},r.createElement(tt,{error:t})))))}const Rt={mainWrapper:"mainWrapper_z2l0"};function Lt(e){const{children:t,noFooter:n,wrapperClassName:s,title:l,description:c}=e;return(0,b.t)(),r.createElement(At,null,r.createElement(i.d,{title:l,description:c}),r.createElement(y,null),r.createElement(A,null),r.createElement(dt,null),r.createElement("div",{id:u,className:(0,a.Z)(h.k.wrapper.main,Rt.mainWrapper,s)},r.createElement(o.Z,{fallback:e=>r.createElement(Pt,e)},t)),!n&&r.createElement(Ct,null))}},21327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(87462),a=n(67294),o=n(39960),i=n(44996),s=n(52263),l=n(86668),c=n(50941);function d(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,i.Z)(t.src),dark:(0,i.Z)(t.srcDark||t.src)},s=a.createElement(c.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?a.createElement("div",{className:r},s):s}function u(e){const{siteConfig:{title:t}}=(0,s.Z)(),{navbar:{title:n,logo:c}}=(0,l.L)(),{imageClassName:u,titleClassName:p,...f}=e,m=(0,i.Z)(c?.href||"/"),g=n?"":t,h=c?.alt??g;return a.createElement(o.Z,(0,r.Z)({to:m},f,c?.target&&{target:c.target}),c&&a.createElement(d,{logo:c,alt:h,imageClassName:u}),null!=n&&a.createElement("b",{className:p},n))}},90197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(67294),a=n(35742);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return r.createElement(a.Z,null,t&&r.createElement("meta",{name:"docusaurus_locale",content:t}),n&&r.createElement("meta",{name:"docusaurus_version",content:n}),o&&r.createElement("meta",{name:"docusaurus_tag",content:o}),i&&r.createElement("meta",{name:"docsearch:language",content:i}),n&&r.createElement("meta",{name:"docsearch:version",content:n}),o&&r.createElement("meta",{name:"docsearch:docusaurus_tag",content:o}))}},50941:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var r=n(87462),a=n(67294),o=n(86010),i=n(72389),s=n(92949);const l={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"};function c(e){const t=(0,i.Z)(),{colorMode:n}=(0,s.I)(),{sources:c,className:d,alt:u,...p}=e,f=t?"dark"===n?["dark"]:["light"]:["light","dark"];return a.createElement(a.Fragment,null,f.map((e=>a.createElement("img",(0,r.Z)({key:e,src:c[e],alt:u,className:(0,o.Z)(l.themedImage,l[`themedImage--${e}`],d)},p)))))}},86043:(e,t,n)=>{"use strict";n.d(t,{u:()=>s,z:()=>h});var r=n(87462),a=n(67294),o=n(10412);const i="ease-in-out";function s(e){let{initialState:t}=e;const[n,r]=(0,a.useState)(t??!1),o=(0,a.useCallback)((()=>{r((e=>!e))}),[]);return{collapsed:n,setCollapsed:r,toggleCollapsed:o}}const l={display:"none",overflow:"hidden",height:"0px"},c={display:"block",overflow:"visible",height:"auto"};function d(e,t){const n=t?l:c;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function u(e){if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return 0;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}function p(e){let{collapsibleRef:t,collapsed:n,animation:r}=e;const o=(0,a.useRef)(!1);(0,a.useEffect)((()=>{const e=t.current;function a(){const t=function(){const t=e.scrollHeight;return{transition:`height ${r?.duration??u(t)}ms ${r?.easing??i}`,height:`${t}px`}}();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return d(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(a(),requestAnimationFrame((()=>{e.style.height=l.height,e.style.overflow=l.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{a()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,r])}function f(e){if(!o.Z.canUseDOM)return e?l:c}function m(e){let{as:t="div",collapsed:n,children:r,animation:o,onCollapseTransitionEnd:i,className:s,disableSSRStyle:l}=e;const c=(0,a.useRef)(null);return p({collapsibleRef:c,collapsed:n,animation:o}),a.createElement(t,{ref:c,style:l?void 0:f(n),onTransitionEnd:e=>{"height"===e.propertyName&&(d(c.current,n),i?.(n))},className:s},r)}function g(e){let{collapsed:t,...n}=e;const[o,i]=(0,a.useState)(!t),[s,l]=(0,a.useState)(t);return(0,a.useLayoutEffect)((()=>{t||i(!0)}),[t]),(0,a.useLayoutEffect)((()=>{o&&l(t)}),[o,t]),o?a.createElement(m,(0,r.Z)({},n,{collapsed:s})):null}function h(e){let{lazy:t,...n}=e;const r=t?g:m;return a.createElement(r,n)}},59689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>m,pl:()=>f});var r=n(67294),a=n(72389),o=n(50012),i=n(902),s=n(86668);const l=(0,o.WA)("docusaurus.announcement.dismiss"),c=(0,o.WA)("docusaurus.announcement.id"),d=()=>"true"===l.get(),u=e=>l.set(String(e)),p=r.createContext(null);function f(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.L)(),t=(0,a.Z)(),[n,o]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{o(d())}),[]);const i=(0,r.useCallback)((()=>{u(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&u(!1),!r&&d()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return r.createElement(p.Provider,{value:n},t)}function m(){const e=(0,r.useContext)(p);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},92949:(e,t,n)=>{"use strict";n.d(t,{I:()=>h,S:()=>g});var r=n(67294),a=n(10412),o=n(902),i=n(50012),s=n(86668);const l=r.createContext(void 0),c="theme",d=(0,i.WA)(c),u={light:"light",dark:"dark"},p=e=>e===u.dark?u.dark:u.light,f=e=>a.Z.canUseDOM?p(document.documentElement.getAttribute("data-theme")):p(e),m=e=>{d.set(p(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.L)(),[a,o]=(0,r.useState)(f(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&m(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?u.dark:u.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",p(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=d.get();null!==t&&i(p(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===u.dark},setLightTheme(){i(u.light)},setDarkTheme(){i(u.dark)}})),[a,i])}();return r.createElement(l.Provider,{value:n},t)}function h(){const e=(0,r.useContext)(l);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},60373:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>h,Oh:()=>y});var r=n(67294),a=n(80143),o=n(29935),i=n(86668),s=n(52802),l=n(902),c=n(50012);const d=e=>`docs-preferred-version-${e}`,u={save:(e,t,n)=>{(0,c.WA)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,c.WA)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,c.WA)(d(e),{persistence:t}).del()}},p=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const f=r.createContext(null);function m(){const e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,s]=(0,r.useState)((()=>p(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=u.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(u.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){u.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function g(e){let{children:t}=e;const n=m();return r.createElement(f.Provider,{value:n},t)}function h(e){let{children:t}=e;return s.cE?r.createElement(g,null,t):r.createElement(r.Fragment,null,t)}function b(){const e=(0,r.useContext)(f);if(!e)throw new l.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=b(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function y(){const e=(0,a._r)(),[t]=b();function n(n){const r=e[n],{preferredVersionName:a}=t[n];return r.versions.find((e=>e.name===a))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,b:()=>s});var r=n(67294),a=n(902);const o=Symbol("EmptyContext"),i=r.createContext(o);function s(e){let{children:t,name:n,items:a}=e;const o=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return r.createElement(i.Provider,{value:o},t)}function l(){const e=(0,r.useContext)(i);if(e===o)throw new a.i6("DocsSidebarProvider");return e}},74477:(e,t,n)=>{"use strict";n.d(t,{E:()=>s,q:()=>i});var r=n(67294),a=n(902);const o=r.createContext(null);function i(e){let{children:t,version:n}=e;return r.createElement(o.Provider,{value:n},t)}function s(){const e=(0,r.useContext)(o);if(null===e)throw new a.i6("DocsVersionProvider");return e}},93163:(e,t,n)=>{"use strict";n.d(t,{M:()=>u,e:()=>p});var r=n(67294),a=n(13102),o=n(87524),i=n(91980),s=n(86668),l=n(902);const c=r.createContext(void 0);function d(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,s.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[l,c]=(0,r.useState)(!1);(0,i.Rb)((()=>{if(l)return c(!1),!1}));const d=(0,r.useCallback)((()=>{c((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&c(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:d,shown:l})),[e,n,d,l])}function u(e){let{children:t}=e;const n=d();return r.createElement(c.Provider,{value:n},t)}function p(){const e=r.useContext(c);if(void 0===e)throw new l.i6("NavbarMobileSidebarProvider");return e}},13102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>l,n2:()=>i});var r=n(67294),a=n(902);const o=r.createContext(null);function i(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return r.createElement(o.Provider,{value:n},t)}function s(){const e=(0,r.useContext)(o);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function l(e){let{component:t,props:n}=e;const i=(0,r.useContext)(o);if(!i)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,s]=i,l=(0,a.Ql)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},19727:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(67294);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},66177:(e,t,n)=>{"use strict";n.d(t,{K:()=>s,M:()=>l});var r=n(67294),a=n(52263),o=n(91980);const i="q";function s(){return(0,o.Nc)(i)}function l(){const{siteConfig:{baseUrl:e,themeConfig:t}}=(0,a.Z)(),{algolia:{searchPagePath:n}}=t;return(0,r.useCallback)((t=>`${e}${n}?${i}=${encodeURIComponent(t)}`),[e,n])}},87524:(e,t,n)=>{"use strict";n.d(t,{i:()=>c});var r=n(67294),a=n(10412);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(){return a.Z.canUseDOM?window.innerWidth>i?o.desktop:o.mobile:o.ssr}const l=!1;function c(){const[e,t]=(0,r.useState)((()=>l?"ssr":s()));return(0,r.useEffect)((()=>{function e(){t(s())}const n=l?window.setTimeout(e,1e3):void 0;return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearTimeout(n)}}),[]),e}},35281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},52802:(e,t,n)=>{"use strict";n.d(t,{MN:()=>T,Wl:()=>m,_F:()=>v,cE:()=>p,jA:()=>g,xz:()=>f,hI:()=>x,lO:()=>S,vY:()=>E,oz:()=>k,s1:()=>w});var r=n(67294),a=n(16550),o=n(18790),i=n(80143),s=n(60373),l=n(74477),c=n(1116);function d(e){return Array.from(new Set(e))}var u=n(48596);const p=!!i._r;function f(e){const t=(0,l.E)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function m(e){if(e.href)return e.href;for(const t of e.items){if("link"===t.type)return t.href;if("category"===t.type){const e=m(t);if(e)return e}}}function g(){const{pathname:e}=(0,a.TH)(),t=(0,c.V)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=y({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const h=(e,t)=>void 0!==e&&(0,u.Mg)(e,t),b=(e,t)=>e.some((e=>v(e,t)));function v(e,t){return"link"===e.type?h(e.href,t):"category"===e.type&&(h(e.href,t)||b(e.items,t))}function y(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,u.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,u.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function w(){const e=(0,c.V)(),{pathname:t}=(0,a.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?y({sidebarItems:e.items,pathname:t}):null}function S(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,s.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>d([t,n,a].filter(Boolean))),[t,n,a])}function k(e,t){const n=S(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${Object.keys(t).join("\n- ")}`);return r[1]}),[e,n])}function E(e,t){const n=S(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${d(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function x(e){let{route:t,versionMetadata:n}=e;const r=(0,a.TH)(),i=t.routes,s=i.find((e=>(0,a.LX)(r.pathname,e)));if(!s)return null;const l=s.sidebar,c=l?n.docsSidebars[l]:void 0;return{docElement:(0,o.H)(i),sidebarName:l,sidebarItems:c}}function T(e){return e.filter((e=>"category"!==e.type||!!m(e)))}},82128:(e,t,n)=>{"use strict";n.d(t,{p:()=>a});var r=n(52263);function a(e){const{siteConfig:t}=(0,r.Z)(),{title:n,titleDelimiter:a}=t;return e?.trim().length?`${e.trim()} ${a} ${n}`:n}},91980:(e,t,n)=>{"use strict";n.d(t,{Nc:()=>c,Rb:()=>s});var r=n(67294),a=n(16550),o=n(61688),i=n(902);function s(e){!function(e){const t=(0,a.k6)(),n=(0,i.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function l(e){return function(e){const t=(0,a.k6)();return(0,o.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}function c(e){const t=l(e)??"",n=function(){const e=(0,a.k6)();return(0,r.useCallback)(((t,n,r)=>{const a=new URLSearchParams(e.location.search);n?a.set(t,n):a.delete(t),(r?.push?e.push:e.replace)({search:a.toString()})}),[e])}();return[t,(0,r.useCallback)(((t,r)=>{n(e,t,r)}),[n,e])]}},10833:(e,t,n)=>{"use strict";n.d(t,{FG:()=>p,d:()=>d,VC:()=>f});var r=n(67294),a=n(86010),o=n(35742),i=n(30226);function s(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(44996),c=n(82128);function d(e){let{title:t,description:n,keywords:a,image:i,children:s}=e;const d=(0,c.p)(t),{withBaseUrl:u}=(0,l.C)(),p=i?u(i,{absolute:!0}):void 0;return r.createElement(o.Z,null,t&&r.createElement("title",null,d),t&&r.createElement("meta",{property:"og:title",content:d}),n&&r.createElement("meta",{name:"description",content:n}),n&&r.createElement("meta",{property:"og:description",content:n}),a&&r.createElement("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),p&&r.createElement("meta",{property:"og:image",content:p}),p&&r.createElement("meta",{name:"twitter:image",content:p}),s)}const u=r.createContext(void 0);function p(e){let{className:t,children:n}=e;const i=r.useContext(u),s=(0,a.Z)(i,t);return r.createElement(u.Provider,{value:s},r.createElement(o.Z,null,r.createElement("html",{className:s})),n)}function f(e){let{children:t}=e;const n=s(),o=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const i=`plugin-id-${n.plugin.id}`;return r.createElement(p,{className:(0,a.Z)(o,i)},t)}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>i,Qc:()=>c,Ql:()=>l,i6:()=>s,zX:()=>o});var r=n(67294);const a=n(10412).Z.canUseDOM?r.useLayoutEffect:r.useEffect;function o(e){const t=(0,r.useRef)(e);return a((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function i(e){const t=(0,r.useRef)();return a((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function l(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return r.createElement(r.Fragment,null,e.reduceRight(((e,t)=>r.createElement(t,null,e)),n))}}},98022:(e,t,n)=>{"use strict";function r(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{F:()=>r})},48596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>s});var r=n(67294),a=n(723),o=n(52263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,o.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.Z,baseUrl:e})),[e])}},12466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>p,OC:()=>l,RF:()=>u});var r=n(67294),a=n(10412),o=n(72389),i=n(902);const s=r.createContext(void 0);function l(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return r.createElement(s.Provider,{value:n},t)}function c(){const e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const d=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function u(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=c(),a=(0,r.useRef)(d()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function p(){const e=(0,r.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&at&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},43320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>i,_q:()=>l,os:()=>s});var r=n(80143),a=n(52263),o=n(60373);const i="default";function s(e,t){return`docs-${e}-${t}`}function l(){const{i18n:e}=(0,a.Z)(),t=(0,r._r)(),n=(0,r.WS)(),l=(0,o.Oh)();const c=[i,...Object.keys(t).map((function(e){const r=n?.activePlugin.pluginId===e?n.activeVersion:void 0,a=l[e],o=t[e].versions.find((e=>e.isLast));return s(e,(r??a??o).name)}))];return{locale:e.currentLocale,tags:c}}},50012:(e,t,n)=>{"use strict";n.d(t,{WA:()=>l});n(67294),n(61688);const r="localStorage";function a(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function o(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const s={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function l(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=o(t?.persistence);return null===n?s:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},94711:(e,t,n)=>{"use strict";n.d(t,{l:()=>o});var r=n(52263),a=n(16550);function o(){const{siteConfig:{baseUrl:e,url:t},i18n:{defaultLocale:n,currentLocale:o}}=(0,r.Z)(),{pathname:i}=(0,a.TH)(),s=o===n?e:e.replace(`/${o}/`,"/"),l=i.replace(e,"");return{createUrl:function(e){let{locale:r,fullyQualified:a}=e;return`${a?t:""}${function(e){return e===n?`${s}`:`${s}${e}/`}(r)}${l}`}}}},85936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(67294),a=n(16550),o=n(902);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},86668:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(52263);function a(){return(0,r.Z)().siteConfig.themeConfig}},37006:(e,t,n)=>{"use strict";n.d(t,{r:()=>a});var r=n(43320);function a(){const{locale:e,tags:t}=(0,r._q)();return[`language:${e}`,t.map((e=>`docusaurus_tag:${e}`))]}},6278:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(52263);function a(){const{siteConfig:{themeConfig:e}}=(0,r.Z)();return e}},239:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});var r=n(67294),a=n(98022),o=n(44996),i=n(6278);function s(){const{withBaseUrl:e}=(0,o.C)(),{algolia:{externalUrlRegex:t,replaceSearchResultPathname:n}}=(0,i.L)();return(0,r.useCallback)((r=>{const o=new URL(r);if((0,a.F)(t,o.href))return r;const i=`${o.pathname+o.hash}`;return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(i,n))}),[e,t,n])}},28364:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(95999);const a={button:{buttonText:(0,r.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,r.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,r.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,r.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,r.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,r.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,r.I)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,r.I)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,r.I)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,r.I)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,r.I)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,r.I)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,r.I)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,r.I)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,r.I)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,r.I)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,r.I)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,r.I)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,r.I)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,r.I)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,r.I)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,r.I)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,r.I)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,r.I)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,r.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,r.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,r.I)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},54143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},18780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="post-content";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var o=n(54143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},86010:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;ta});const a=function(){for(var e,t,n=0,a="";n{"use strict";n.d(t,{lX:()=>w,q_:()=>C,ob:()=>f,PP:()=>A,Ep:()=>p});var r=n(87462);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;p--){var f=i[p];"."===f?o(i,p):".."===f?(o(i,p),u++):u&&(o(i,p),u--)}if(!c)for(;u--;u)i.unshift("..");!c||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var s=n(38776);function l(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function d(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function u(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function f(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),u({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=f(e,t,g(),w.location);d.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,u({action:r,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(59864),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||a}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var c=Object.defineProperty,d=Object.getOwnPropertyNames,u=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=f(n);a&&a!==m&&e(t,a,r)}var i=d(n);u&&(i=i.concat(u(n)));for(var s=l(t),g=l(n),h=0;h{"use strict";e.exports=function(e,t,n,r,a,o,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,a,o,i,s],d=0;(l=new Error(t.replace(/%s/g,(function(){return c[d++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},32497:(e,t,n)=>{"use strict";n.r(t)},61212:(e,t,n)=>{"use strict";n.r(t)},52295:(e,t,n)=>{"use strict";n.r(t)},74865:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),c=o.querySelector(r.barSelector),d=r.speed,u=r.easing;return o.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(c,i(e,d,u)),1===e?(l(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){l(o,{transition:"all "+d+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),d)}),d)):setTimeout(t,d)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");d(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),s=e?"-100":o(n.status||0),c=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&f(a),c!=document.body&&d(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){u(document.documentElement,"nprogress-busy"),u(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function c(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function d(e,t){var n=p(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function u(e,t){var n,r=p(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},27418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(a){return!1}}()?Object.assign:function(e,a){for(var o,i,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l{var r=n(5826);e.exports=f,e.exports.parse=o,e.exports.compile=function(e,t){return s(o(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=p;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,i=0,s="",d=t&&t.delimiter||"/";null!=(n=a.exec(e));){var u=n[0],p=n[1],f=n.index;if(s+=e.slice(i,f),i=f+u.length,p)s+=p[1];else{var m=e[i],g=n[2],h=n[3],b=n[4],v=n[5],y=n[6],w=n[7];s&&(r.push(s),s="");var S=null!=g&&null!=m&&m!==g,k="+"===y||"*"===y,E="?"===y||"*"===y,x=n[2]||d,T=b||v;r.push({name:h||o++,prefix:g||"",delimiter:x,optional:E,repeat:k,partial:S,asterisk:!!w,pattern:T?c(T):w?".*":"[^"+l(x)+"]+?"})}}return i{"use strict";n.d(t,{Z:()=>o});var r=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=u.reach);E+=k.value.length,k=k.next){var x=k.value;if(t.length>e.length)return;if(!(x instanceof a)){var T,C=1;if(v){if(!(T=o(S,E,e,b))||T.index>=e.length)break;var _=T.index,A=T.index+T[0].length,P=E;for(P+=k.value.length;_>=P;)P+=(k=k.next).value.length;if(E=P-=k.value.length,k.value instanceof a)continue;for(var R=k;R!==t.tail&&(Pu.reach&&(u.reach=D);var N=k.prev;if(I&&(N=l(t,N,I),E+=I.length),c(t,N,C),k=l(t,N,new a(p,h?r.tokenize(L,h):L,y,L)),O&&l(t,k,O),C>1){var M={cause:p+","+m,reach:D};i(e,t,n,k.prev,E,M),u&&M.reach>u.reach&&(u.reach=M.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function c(e,t,n){for(var r=t.next,a=0;a"+o.content+""},r}(),a=r;r.default=r,a.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.languages.markup.doctype.inside["internal-subset"].inside=a.languages.markup,a.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(a.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:a.languages[t]},n.cdata=/^$/i;var r={"included-cdata":{pattern://i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:a.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},a.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(a.languages.markup.tag,"addAttribute",{value:function(e,t){a.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:a.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.xml=a.languages.extend("markup",{}),a.languages.ssml=a.languages.xml,a.languages.atom=a.languages.xml,a.languages.rss=a.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},a.languages.c=a.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),a.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),a.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},a.languages.c.string],char:a.languages.c.char,comment:a.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:a.languages.c}}}}),a.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete a.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(a),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(a),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},a={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:a,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:a})}(a),a.languages.javascript=a.languages.extend("clike",{"class-name":[a.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),a.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,a.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:a.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:a.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:a.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:a.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:a.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),a.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),a.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),a.languages.markup&&(a.languages.markup.tag.addInlined("script","javascript"),a.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),a.languages.js=a.languages.javascript,function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(a),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(a),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(//g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(a),a.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:a.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},a.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n0)){var s=p(/^\{$/,/^\}$/);if(-1===s)continue;for(var l=n;l=0&&f(c,"variable-input")}}}}function d(e){return t[n+e]}function u(e,t){t=t||0;for(var n=0;n?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function l(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function c(t){var n={};n["interpolation-punctuation"]=a;var o=e.tokenize(t,n);if(3===o.length){var i=[1,1];i.push.apply(i,l(o[1],e.languages.javascript,"javascript")),o.splice.apply(o,i)}return new e.Token("interpolation",o,r.alias,t)}function d(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),i=0,d={},u=l(a.map((function(e){if("string"==typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=s(i++,r)););return d[n]=a,n})).join(""),n,r),p=Object.keys(d);return i=0,function e(t){for(var n=0;n=p.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var a=p[i],o="string"==typeof r?r:r.content,s=o.indexOf(a);if(-1!==s){++i;var l=o.substring(0,s),u=c(d[a]),f=o.substring(s+a.length),m=[];if(l&&m.push(l),m.push(u),f){var g=[f];e(g),m.push.apply(m,g)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(m)),n+=m.length-1):r.content=m}}else{var h=r.content;Array.isArray(h)?e(h):e([h])}}}(u),new e.Token(r,u,"language-"+r,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var u={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function p(e){return"string"==typeof e?e:Array.isArray(e)?e.map(p).join(""):p(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in u&&function t(n){for(var r=0,a=n.length;r]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(a),function(e){function t(e,t){return RegExp(e.replace(//g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r*\.{3}(?:[^{}]|)*\})/.source;function o(e,t){return e=e.replace(//g,(function(){return n})).replace(//g,(function(){return r})).replace(//g,(function(){return a})),RegExp(e,t)}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?|))**\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""},s=function(t){for(var n=[],r=0;r0&&n[n.length-1].tagName===i(a.content[0].content[1])&&n.pop():"/>"===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&n.length>0&&0===n[n.length-1].openedBraces){var l=i(a);r0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(l=i(t[r-1])+l,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",l,null,l)}a.content&&"string"!=typeof a.content&&s(a.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||s(e.tokens)}))}(a),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],a=[];/^\w+$/.test(n)||a.push(/\w+/.exec(n)[0]),"diff"===n&&a.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(a),a.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},a.languages.go=a.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),a.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete a.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,s=i.length;-1!==n.code.indexOf(a=t(r,s));)++s;return i[s]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(s){for(var l=0;l=o.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var d=o[a],u=n.tokenStack[d],p="string"==typeof c?c:c.content,f=t(r,d),m=p.indexOf(f);if(m>-1){++a;var g=p.substring(0,m),h=new e.Token(r,e.tokenize(u,n.grammar),"language-"+r,u),b=p.substring(m+f.length),v=[];g&&v.push.apply(v,i([g])),v.push(h),b&&v.push.apply(v,i([b])),"string"==typeof c?s.splice.apply(s,[l,1].concat(v)):c.content=v}}else c.content&&i(c.content)}return s}(n.tokens)}}}})}(a),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(a),a.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},a.languages.webmanifest=a.languages.json,a.languages.less=a.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),a.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),a.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},a.languages.objectivec=a.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete a.languages.objectivec["class-name"],a.languages.objc=a.languages.objectivec,a.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},a.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},a.languages.python["string-interpolation"].inside.interpolation.inside.rest=a.languages.python,a.languages.py=a.languages.python,a.languages.reason=a.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),a.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete a.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(a),a.languages.scss=a.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),a.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),a.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),a.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),a.languages.scss.atrule.inside.rest=a.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(a),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(a),a.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};const o=a},29901:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},2885:(e,t,n)=>{const r=n(29901),a=n(39642),o=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...o,...Object.keys(Prism.languages)];a(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(16500).resolve(t)],delete Prism.languages[e],n(16500)(t),o.add(e)}))}i.silent=!1,e.exports=i},6726:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=6726},16500:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=16500},39642:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n "));var s={},l=e[r];if(l){function c(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in s))for(var i in a(t,o),s[t]=!0,n[t])s[i]=!0}t(l.require,c),t(l.optional,c),t(l.modify,c)}n[r]=s,o.pop()}}return function(e){var t=n[e];return t||(a(e,r),t=n[e]),t}}function a(e){for(var t in e)return!0;return!1}return function(o,i,s){var l=function(e){var t={};for(var n in e){var r=e[n];for(var a in r)if("meta"!=a){var o=r[a];t[a]="string"==typeof o?{title:o}:o}}return t}(o),c=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var a in n={},e){var o=e[a];t(o&&o.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+a+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+a+" because it is a component.");n[t]=a}))}return n[r]||r}}(l);i=i.map(c),s=(s||[]).map(c);var d=n(i),u=n(s);i.forEach((function e(n){var r=l[n];t(r&&r.require,(function(t){t in u||(d[t]=!0,e(t))}))}));for(var p,f=r(l),m=d;a(m);){for(var g in p={},m){var h=l[g];t(h&&h.modify,(function(e){e in u&&(p[e]=!0)}))}for(var b in u)if(!(b in d))for(var v in f(b))if(v in d){p[b]=!0;break}for(var y in m=p)d[y]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,a){var o=a?a.series:void 0,i=a?a.parallel:e,s={},l={};function c(e){if(e in s)return s[e];l[e]=!0;var a,d=[];for(var u in t(e))u in n&&d.push(u);if(0===d.length)a=r(e);else{var p=i(d.map((function(e){var t=c(e);return delete l[e],t})));o?a=o(p,(function(){return r(e)})):r(e)}return s[e]=a}for(var d in n)c(d);var u=[];for(var p in l)u.push(s[p]);return i(u)}(f,d,t,n)}};return w}}();e.exports=t},92703:(e,t,n)=>{"use strict";var r=n(50414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},45697:(e,t,n)=>{e.exports=n(92703)()},50414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},64448:(e,t,n)=>{"use strict";var r=n(67294),a=n(27418),o=n(63840);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n